<div class="footer">Datalove <i class="fa fa-heart" style="color:#D54F58"></i> TiddlyWiki ''<<version>>''</div>
{
"tiddlers": {
"$:/Acknowledgements": {
"title": "$:/Acknowledgements",
"type": "text/vnd.tiddlywiki",
"text": "TiddlyWiki incorporates code from these fine OpenSource projects:\n\n* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]\n* [[The Jasmine JavaScript Test Framework|http://pivotal.github.io/jasmine/]]\n* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]\n\nAnd media from these projects:\n\n* World flag icons from [[Wikipedia|http://commons.wikimedia.org/wiki/Category:SVG_flags_by_country]]\n"
},
"$:/core/copyright.txt": {
"title": "$:/core/copyright.txt",
"type": "text/plain",
"text": "TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright © Jeremy Ruston 2004-2007\nCopyright © UnaMesa Association 2007-2016\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this\nlist of conditions and the following disclaimer.\n\nRedistributions in binary form must reproduce the above copyright notice, this\nlist of conditions and the following disclaimer in the documentation and/or other\nmaterials provided with the distribution.\n\nNeither the name of the UnaMesa Association nor the names of its contributors may be\nused to endorse or promote products derived from this software without specific\nprior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\nSHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\nBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\nANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\nDAMAGE.\n"
},
"$:/core/icon": {
"title": "$:/core/icon",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path d=\"M64 0l54.56 32v64L64 128 9.44 96V32L64 0zm21.127 95.408c-3.578-.103-5.15-.094-6.974-3.152l-1.42.042c-1.653-.075-.964-.04-2.067-.097-1.844-.07-1.548-1.86-1.873-2.8-.52-3.202.687-6.43.65-9.632-.014-1.14-1.593-5.17-2.157-6.61-1.768.34-3.546.406-5.34.497-4.134-.01-8.24-.527-12.317-1.183-.8 3.35-3.16 8.036-1.21 11.44 2.37 3.52 4.03 4.495 6.61 4.707 2.572.212 3.16 3.18 2.53 4.242-.55.73-1.52.864-2.346 1.04l-1.65.08c-1.296-.046-2.455-.404-3.61-.955-1.93-1.097-3.925-3.383-5.406-5.024.345.658.55 1.938.24 2.53-.878 1.27-4.665 1.26-6.4.47-1.97-.89-6.73-7.162-7.468-11.86 1.96-3.78 4.812-7.07 6.255-11.186-3.146-2.05-4.83-5.384-4.61-9.16l.08-.44c-3.097.59-1.49.37-4.82.628-10.608-.032-19.935-7.37-14.68-18.774.34-.673.664-1.287 1.243-.994.466.237.4 1.18.166 2.227-3.005 13.627 11.67 13.732 20.69 11.21.89-.25 2.67-1.936 3.905-2.495 2.016-.91 4.205-1.282 6.376-1.55 5.4-.63 11.893 2.276 15.19 2.37 3.3.096 7.99-.805 10.87-.615 2.09.098 4.143.483 6.16 1.03 1.306-6.49 1.4-11.27 4.492-12.38 1.814.293 3.213 2.818 4.25 4.167 2.112-.086 4.12.46 6.115 1.066 3.61-.522 6.642-2.593 9.833-4.203-3.234 2.69-3.673 7.075-3.303 11.127.138 2.103-.444 4.386-1.164 6.54-1.348 3.507-3.95 7.204-6.97 7.014-1.14-.036-1.805-.695-2.653-1.4-.164 1.427-.81 2.7-1.434 3.96-1.44 2.797-5.203 4.03-8.687 7.016-3.484 2.985 1.114 13.65 2.23 15.594 1.114 1.94 4.226 2.652 3.02 4.406-.37.58-.936.785-1.54 1.01l-.82.11zm-40.097-8.85l.553.14c.694-.27 2.09.15 2.83.353-1.363-1.31-3.417-3.24-4.897-4.46-.485-1.47-.278-2.96-.174-4.46l.02-.123c-.582 1.205-1.322 2.376-1.72 3.645-.465 1.71 2.07 3.557 3.052 4.615l.336.3z\" fill-rule=\"evenodd\"/></svg>"
},
"$:/core/images/advanced-search-button": {
"title": "$:/core/images/advanced-search-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-advanced-search-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M74.5651535,87.9848361 C66.9581537,93.0488876 57.8237115,96 48,96 C21.490332,96 0,74.509668 0,48 C0,21.490332 21.490332,0 48,0 C74.509668,0 96,21.490332 96,48 C96,57.8541369 93.0305793,67.0147285 87.9377231,74.6357895 L122.284919,108.982985 C125.978897,112.676963 125.973757,118.65366 122.284271,122.343146 C118.593975,126.033442 112.613238,126.032921 108.92411,122.343793 L74.5651535,87.9848361 Z M48,80 C65.673112,80 80,65.673112 80,48 C80,30.326888 65.673112,16 48,16 C30.326888,16 16,30.326888 16,48 C16,65.673112 30.326888,80 48,80 Z\"></path>\n <circle cx=\"48\" cy=\"48\" r=\"8\"></circle>\n <circle cx=\"28\" cy=\"48\" r=\"8\"></circle>\n <circle cx=\"68\" cy=\"48\" r=\"8\"></circle>\n </g>\n</svg>"
},
"$:/core/images/auto-height": {
"title": "$:/core/images/auto-height",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-auto-height tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <path d=\"M67.9867828,114.356363 L67.9579626,99.8785426 C67.9550688,98.4248183 67.1636987,97.087107 65.8909901,96.3845863 L49.9251455,87.5716209 L47.992126,95.0735397 L79.8995411,95.0735397 C84.1215894,95.0735397 85.4638131,89.3810359 81.686497,87.4948823 L49.7971476,71.5713518 L48.0101917,79.1500092 L79.992126,79.1500092 C84.2093753,79.1500092 85.5558421,73.4676733 81.7869993,71.5753162 L49.805065,55.517008 L48.0101916,63.0917009 L79.9921259,63.0917015 C84.2035118,63.0917016 85.5551434,57.4217887 81.7966702,55.5218807 L65.7625147,47.4166161 L67.9579705,50.9864368 L67.9579705,35.6148245 L77.1715737,44.8284272 C78.7336709,46.3905243 81.2663308,46.3905243 82.8284279,44.8284271 C84.390525,43.2663299 84.390525,40.7336699 82.8284278,39.1715728 L66.8284271,23.1715728 C65.2663299,21.6094757 62.73367,21.6094757 61.1715729,23.1715729 L45.1715729,39.1715729 C43.6094757,40.73367 43.6094757,43.26633 45.1715729,44.8284271 C46.73367,46.3905243 49.26633,46.3905243 50.8284271,44.8284271 L59.9579705,35.6988837 L59.9579705,50.9864368 C59.9579705,52.495201 60.806922,53.8755997 62.1534263,54.5562576 L78.1875818,62.6615223 L79.9921261,55.0917015 L48.0101917,55.0917009 C43.7929424,55.0917008 42.4464755,60.7740368 46.2153183,62.6663939 L78.1972526,78.7247021 L79.992126,71.1500092 L48.0101917,71.1500092 C43.7881433,71.1500092 42.4459197,76.842513 46.2232358,78.7286665 L78.1125852,94.6521971 L79.8995411,87.0735397 L47.992126,87.0735397 C43.8588276,87.0735397 42.4404876,92.5780219 46.0591064,94.5754586 L62.024951,103.388424 L59.9579785,99.8944677 L59.9867142,114.32986 L50.8284271,105.171573 C49.26633,103.609476 46.73367,103.609476 45.1715729,105.171573 C43.6094757,106.73367 43.6094757,109.26633 45.1715729,110.828427 L61.1715729,126.828427 C62.73367,128.390524 65.2663299,128.390524 66.8284271,126.828427 L82.8284278,110.828427 C84.390525,109.26633 84.390525,106.73367 82.8284279,105.171573 C81.2663308,103.609476 78.7336709,103.609476 77.1715737,105.171573 L67.9867828,114.356363 L67.9867828,114.356363 Z M16,20 L112,20 C114.209139,20 116,18.209139 116,16 C116,13.790861 114.209139,12 112,12 L16,12 C13.790861,12 12,13.790861 12,16 C12,18.209139 13.790861,20 16,20 L16,20 Z\"></path>\n</svg>"
},
"$:/core/images/blank": {
"title": "$:/core/images/blank",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-blank tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\"></svg>"
},
"$:/core/images/bold": {
"title": "$:/core/images/bold",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-bold tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M41.1456583,51.8095238 L41.1456583,21.8711485 L67.4985994,21.8711485 C70.0084159,21.8711485 72.4285598,22.0802967 74.7591036,22.4985994 C77.0896475,22.9169022 79.1512515,23.6638602 80.9439776,24.7394958 C82.7367036,25.8151314 84.170863,27.3090474 85.2464986,29.2212885 C86.3221342,31.1335296 86.859944,33.5835518 86.859944,36.5714286 C86.859944,41.9496067 85.2465147,45.8337882 82.0196078,48.2240896 C78.792701,50.614391 74.6694929,51.8095238 69.6498599,51.8095238 L41.1456583,51.8095238 Z M13,0 L13,128 L75.0280112,128 C80.7647346,128 86.3519803,127.28292 91.789916,125.848739 C97.2278517,124.414559 102.068139,122.203563 106.310924,119.215686 C110.553709,116.22781 113.929959,112.373506 116.439776,107.652661 C118.949592,102.931816 120.204482,97.3445701 120.204482,90.8907563 C120.204482,82.8832466 118.262391,76.0411115 114.378151,70.3641457 C110.493911,64.6871798 104.607883,60.7133634 96.719888,58.442577 C102.456611,55.6937304 106.788968,52.1680887 109.717087,47.8655462 C112.645206,43.5630037 114.109244,38.1849062 114.109244,31.7310924 C114.109244,25.7553389 113.123259,20.7357813 111.151261,16.6722689 C109.179262,12.6087565 106.400578,9.35201972 102.815126,6.90196078 C99.2296739,4.45190185 94.927196,2.68908101 89.907563,1.61344538 C84.8879301,0.537809748 79.3305627,0 73.2352941,0 L13,0 Z M41.1456583,106.128852 L41.1456583,70.9915966 L71.8011204,70.9915966 C77.896389,70.9915966 82.7964334,72.3958776 86.5014006,75.2044818 C90.2063677,78.0130859 92.0588235,82.7039821 92.0588235,89.2773109 C92.0588235,92.6237329 91.4911355,95.3725383 90.3557423,97.5238095 C89.2203491,99.6750808 87.6965548,101.378145 85.7843137,102.633053 C83.8720726,103.887961 81.661077,104.784311 79.1512605,105.322129 C76.641444,105.859947 74.0121519,106.128852 71.2633053,106.128852 L41.1456583,106.128852 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/cancel-button": {
"title": "$:/core/images/cancel-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-cancel-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n\t<g fill-rule=\"evenodd\">\n\t <path d=\"M64,76.3137085 L47.0294734,93.2842351 C43.9038742,96.4098343 38.8399231,96.4084656 35.7157288,93.2842712 C32.5978915,90.166434 32.5915506,85.0947409 35.7157649,81.9705266 L52.6862915,65 L35.7157649,48.0294734 C32.5901657,44.9038742 32.5915344,39.8399231 35.7157288,36.7157288 C38.833566,33.5978915 43.9052591,33.5915506 47.0294734,36.7157649 L64,53.6862915 L80.9705266,36.7157649 C84.0961258,33.5901657 89.1600769,33.5915344 92.2842712,36.7157288 C95.4021085,39.833566 95.4084494,44.9052591 92.2842351,48.0294734 L75.3137085,65 L92.2842351,81.9705266 C95.4098343,85.0961258 95.4084656,90.1600769 92.2842712,93.2842712 C89.166434,96.4021085 84.0947409,96.4084494 80.9705266,93.2842351 L64,76.3137085 Z M64,129 C99.346224,129 128,100.346224 128,65 C128,29.653776 99.346224,1 64,1 C28.653776,1 1.13686838e-13,29.653776 1.13686838e-13,65 C1.13686838e-13,100.346224 28.653776,129 64,129 Z M64,113 C90.509668,113 112,91.509668 112,65 C112,38.490332 90.509668,17 64,17 C37.490332,17 16,38.490332 16,65 C16,91.509668 37.490332,113 64,113 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/chevron-down": {
"title": "$:/core/images/chevron-down",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-chevron-down tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\" transform=\"translate(64.000000, 40.500000) rotate(-270.000000) translate(-64.000000, -40.500000) translate(-22.500000, -26.500000)\">\n <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n\t</g>\n</svg>"
},
"$:/core/images/chevron-left": {
"title": "$:/core/images/chevron-left",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-chevron-left tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\" version=\"1.1\">\n <g fill-rule=\"evenodd\" transform=\"translate(92.500000, 64.000000) rotate(-180.000000) translate(-92.500000, -64.000000) translate(6.000000, -3.000000)\">\n <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n </g>\n</svg>"
},
"$:/core/images/chevron-right": {
"title": "$:/core/images/chevron-right",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-chevron-right tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\" transform=\"translate(-48.000000, -3.000000)\">\n <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n </g>\n</svg>"
},
"$:/core/images/chevron-up": {
"title": "$:/core/images/chevron-up",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-chevron-up tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\" transform=\"translate(64.000000, 89.500000) rotate(-90.000000) translate(-64.000000, -89.500000) translate(-22.500000, 22.500000)\">\n <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n\t</g>\n</svg>"
},
"$:/core/images/clone-button": {
"title": "$:/core/images/clone-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-clone-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M32.2650915,96 L32.2650915,120.002359 C32.2650915,124.419334 35.8432884,128 40.2627323,128 L120.002359,128 C124.419334,128 128,124.421803 128,120.002359 L128,40.2627323 C128,35.8457573 124.421803,32.2650915 120.002359,32.2650915 L96,32.2650915 L96,48 L108.858899,48 C110.519357,48 111.853018,49.3405131 111.853018,50.9941198 L111.853018,108.858899 C111.853018,110.519357 110.512505,111.853018 108.858899,111.853018 L50.9941198,111.853018 C49.333661,111.853018 48,110.512505 48,108.858899 L48,96 L32.2650915,96 Z\"></path>\n <path d=\"M40,56 L32.0070969,56 C27.5881712,56 24,52.418278 24,48 C24,43.5907123 27.5848994,40 32.0070969,40 L40,40 L40,32.0070969 C40,27.5881712 43.581722,24 48,24 C52.4092877,24 56,27.5848994 56,32.0070969 L56,40 L63.9929031,40 C68.4118288,40 72,43.581722 72,48 C72,52.4092877 68.4151006,56 63.9929031,56 L56,56 L56,63.9929031 C56,68.4118288 52.418278,72 48,72 C43.5907123,72 40,68.4151006 40,63.9929031 L40,56 Z M7.9992458,0 C3.58138434,0 0,3.5881049 0,7.9992458 L0,88.0007542 C0,92.4186157 3.5881049,96 7.9992458,96 L88.0007542,96 C92.4186157,96 96,92.4118951 96,88.0007542 L96,7.9992458 C96,3.58138434 92.4118951,0 88.0007542,0 L7.9992458,0 Z M19.0010118,16 C17.3435988,16 16,17.336731 16,19.0010118 L16,76.9989882 C16,78.6564012 17.336731,80 19.0010118,80 L76.9989882,80 C78.6564012,80 80,78.663269 80,76.9989882 L80,19.0010118 C80,17.3435988 78.663269,16 76.9989882,16 L19.0010118,16 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/close-all-button": {
"title": "$:/core/images/close-all-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-close-all-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\" transform=\"translate(-23.000000, -23.000000)\">\n <path d=\"M43,131 L22.9976794,131 C18.5827987,131 15,127.418278 15,123 C15,118.590712 18.5806831,115 22.9976794,115 L43,115 L43,94.9976794 C43,90.5827987 46.581722,87 51,87 C55.4092877,87 59,90.5806831 59,94.9976794 L59,115 L79.0023206,115 C83.4172013,115 87,118.581722 87,123 C87,127.409288 83.4193169,131 79.0023206,131 L59,131 L59,151.002321 C59,155.417201 55.418278,159 51,159 C46.5907123,159 43,155.419317 43,151.002321 L43,131 Z\" transform=\"translate(51.000000, 123.000000) rotate(-45.000000) translate(-51.000000, -123.000000) \"></path>\n <path d=\"M43,59 L22.9976794,59 C18.5827987,59 15,55.418278 15,51 C15,46.5907123 18.5806831,43 22.9976794,43 L43,43 L43,22.9976794 C43,18.5827987 46.581722,15 51,15 C55.4092877,15 59,18.5806831 59,22.9976794 L59,43 L79.0023206,43 C83.4172013,43 87,46.581722 87,51 C87,55.4092877 83.4193169,59 79.0023206,59 L59,59 L59,79.0023206 C59,83.4172013 55.418278,87 51,87 C46.5907123,87 43,83.4193169 43,79.0023206 L43,59 Z\" transform=\"translate(51.000000, 51.000000) rotate(-45.000000) translate(-51.000000, -51.000000) \"></path>\n <path d=\"M115,59 L94.9976794,59 C90.5827987,59 87,55.418278 87,51 C87,46.5907123 90.5806831,43 94.9976794,43 L115,43 L115,22.9976794 C115,18.5827987 118.581722,15 123,15 C127.409288,15 131,18.5806831 131,22.9976794 L131,43 L151.002321,43 C155.417201,43 159,46.581722 159,51 C159,55.4092877 155.419317,59 151.002321,59 L131,59 L131,79.0023206 C131,83.4172013 127.418278,87 123,87 C118.590712,87 115,83.4193169 115,79.0023206 L115,59 Z\" transform=\"translate(123.000000, 51.000000) rotate(-45.000000) translate(-123.000000, -51.000000) \"></path>\n <path d=\"M115,131 L94.9976794,131 C90.5827987,131 87,127.418278 87,123 C87,118.590712 90.5806831,115 94.9976794,115 L115,115 L115,94.9976794 C115,90.5827987 118.581722,87 123,87 C127.409288,87 131,90.5806831 131,94.9976794 L131,115 L151.002321,115 C155.417201,115 159,118.581722 159,123 C159,127.409288 155.419317,131 151.002321,131 L131,131 L131,151.002321 C131,155.417201 127.418278,159 123,159 C118.590712,159 115,155.419317 115,151.002321 L115,131 Z\" transform=\"translate(123.000000, 123.000000) rotate(-45.000000) translate(-123.000000, -123.000000) \"></path>\n </g>\n</svg>"
},
"$:/core/images/close-button": {
"title": "$:/core/images/close-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-close-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M65.0864256,75.4091629 L14.9727349,125.522854 C11.8515951,128.643993 6.78104858,128.64922 3.65685425,125.525026 C0.539017023,122.407189 0.5336324,117.334539 3.65902635,114.209145 L53.7727171,64.0954544 L3.65902635,13.9817637 C0.537886594,10.8606239 0.532659916,5.79007744 3.65685425,2.6658831 C6.77469148,-0.451954124 11.8473409,-0.457338747 14.9727349,2.66805521 L65.0864256,52.7817459 L115.200116,2.66805521 C118.321256,-0.453084553 123.391803,-0.458311231 126.515997,2.6658831 C129.633834,5.78372033 129.639219,10.8563698 126.513825,13.9817637 L76.4001341,64.0954544 L126.513825,114.209145 C129.634965,117.330285 129.640191,122.400831 126.515997,125.525026 C123.39816,128.642863 118.32551,128.648248 115.200116,125.522854 L65.0864256,75.4091629 L65.0864256,75.4091629 Z\"></path>\n </g>\n</svg>\n"
},
"$:/core/images/close-others-button": {
"title": "$:/core/images/close-others-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-close-others-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z M64,96 C81.673112,96 96,81.673112 96,64 C96,46.326888 81.673112,32 64,32 C46.326888,32 32,46.326888 32,64 C32,81.673112 46.326888,96 64,96 Z M64,80 C72.836556,80 80,72.836556 80,64 C80,55.163444 72.836556,48 64,48 C55.163444,48 48,55.163444 48,64 C48,72.836556 55.163444,80 64,80 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/delete-button": {
"title": "$:/core/images/delete-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-delete-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\" transform=\"translate(12.000000, 0.000000)\">\n <rect x=\"0\" y=\"11\" width=\"105\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"28\" y=\"0\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"8\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n <rect x=\"8\" y=\"112\" width=\"88\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"80\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n <rect x=\"56\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n <rect x=\"32\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n </g>\n</svg>"
},
"$:/core/images/done-button": {
"title": "$:/core/images/done-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-done-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M3.52445141,76.8322939 C2.07397484,75.3828178 1.17514421,73.3795385 1.17514421,71.1666288 L1.17514421,23.1836596 C1.17514421,18.7531992 4.75686621,15.1751442 9.17514421,15.1751442 C13.5844319,15.1751442 17.1751442,18.7606787 17.1751442,23.1836596 L17.1751442,63.1751442 L119.173716,63.1751442 C123.590457,63.1751442 127.175144,66.7568662 127.175144,71.1751442 C127.175144,75.5844319 123.592783,79.1751442 119.173716,79.1751442 L9.17657227,79.1751442 C6.96796403,79.1751442 4.9674142,78.279521 3.51911285,76.8315312 Z\" id=\"Rectangle-285\" transform=\"translate(64.175144, 47.175144) rotate(-45.000000) translate(-64.175144, -47.175144) \"></path>\n </g>\n</svg>"
},
"$:/core/images/down-arrow": {
"title": "$:/core/images/down-arrow",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-down-arrow tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <path d=\"M109.35638,81.3533152 C107.923899,82.7869182 105.94502,83.6751442 103.759224,83.6751442 L24.5910645,83.6751442 C20.225873,83.6751442 16.6751442,80.1307318 16.6751442,75.7584775 C16.6751442,71.3951199 20.2192225,67.8418109 24.5910645,67.8418109 L95.8418109,67.8418109 L95.8418109,-3.40893546 C95.8418109,-7.77412698 99.3862233,-11.3248558 103.758478,-11.3248558 C108.121835,-11.3248558 111.675144,-7.78077754 111.675144,-3.40893546 L111.675144,75.7592239 C111.675144,77.9416955 110.789142,79.9205745 109.356651,81.3538862 Z\" transform=\"translate(64.175144, 36.175144) rotate(45.000000) translate(-64.175144, -36.175144) \"></path>\n</svg>"
},
"$:/core/images/download-button": {
"title": "$:/core/images/download-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-download-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path class=\"tc-image-download-button-ring\" d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z\"/><path d=\"M34.3496823,66.4308767 L61.2415823,93.634668 C63.0411536,95.4551107 65.9588502,95.4551107 67.7584215,93.634668 L94.6503215,66.4308767 C96.4498928,64.610434 96.4498928,61.6588981 94.6503215,59.8384554 C93.7861334,58.9642445 92.6140473,58.4731195 91.3919019,58.4731195 L82.9324098,58.4731195 C80.3874318,58.4731195 78.3243078,56.3860674 78.3243078,53.8115729 L78.3243078,38.6615466 C78.3243078,36.0870521 76.2611837,34 73.7162058,34 L55.283798,34 C52.7388201,34 50.675696,36.0870521 50.675696,38.6615466 L50.675696,38.6615466 L50.675696,53.8115729 C50.675696,56.3860674 48.612572,58.4731195 46.0675941,58.4731195 L37.608102,58.4731195 C35.063124,58.4731195 33,60.5601716 33,63.134666 C33,64.3709859 33.4854943,65.5566658 34.3496823,66.4308767 L34.3496823,66.4308767 Z\"/></g></svg>"
},
"$:/core/images/edit-button": {
"title": "$:/core/images/edit-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-edit-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M116.870058,45.3431458 L108.870058,45.3431458 L108.870058,45.3431458 L108.870058,61.3431458 L116.870058,61.3431458 L116.870058,45.3431458 Z M124.870058,45.3431458 L127.649881,45.3431458 C132.066101,45.3431458 135.656854,48.9248678 135.656854,53.3431458 C135.656854,57.7524334 132.07201,61.3431458 127.649881,61.3431458 L124.870058,61.3431458 L124.870058,45.3431458 Z M100.870058,45.3431458 L15.6638275,45.3431458 C15.5064377,45.3431458 15.3501085,45.3476943 15.1949638,45.3566664 L15.1949638,45.3566664 C15.0628002,45.3477039 14.928279,45.3431458 14.7913977,45.3431458 C6.68160973,45.3431458 -8.34314575,53.3431458 -8.34314575,53.3431458 C-8.34314575,53.3431458 6.85614548,61.3431458 14.7913977,61.3431458 C14.9266533,61.3431458 15.0596543,61.3384973 15.190398,61.3293588 C15.3470529,61.3385075 15.5049057,61.3431458 15.6638275,61.3431458 L100.870058,61.3431458 L100.870058,45.3431458 L100.870058,45.3431458 Z\" transform=\"translate(63.656854, 53.343146) rotate(-45.000000) translate(-63.656854, -53.343146) \"></path>\n <path d=\"M35.1714596,124.189544 C41.9594858,123.613403 49.068777,121.917633 58.85987,118.842282 C60.6854386,118.268877 62.4306907,117.705515 65.1957709,116.802278 C81.1962861,111.575575 87.0734839,109.994907 93.9414474,109.655721 C102.29855,109.242993 107.795169,111.785371 111.520478,118.355045 C112.610163,120.276732 115.051363,120.951203 116.97305,119.861518 C118.894737,118.771832 119.569207,116.330633 118.479522,114.408946 C113.146151,105.003414 104.734907,101.112919 93.5468356,101.66546 C85.6716631,102.054388 79.4899908,103.716944 62.7116783,109.197722 C59.9734132,110.092199 58.2519873,110.64787 56.4625698,111.20992 C37.002649,117.322218 25.6914684,118.282267 16.8654804,112.957098 C14.9739614,111.815848 12.5154166,112.424061 11.3741667,114.31558 C10.2329168,116.207099 10.84113,118.665644 12.7326489,119.806894 C19.0655164,123.627836 26.4866335,124.926678 35.1714596,124.189544 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/erase": {
"title": "$:/core/images/erase",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-erase tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M60.0870401,127.996166 L123.102318,64.980888 C129.636723,58.4464827 129.629513,47.8655877 123.098967,41.3350425 L99.4657866,17.7018617 C92.927448,11.1635231 82.3486358,11.1698163 75.8199411,17.698511 L4.89768189,88.6207702 C-1.63672343,95.1551755 -1.6295126,105.736071 4.90103262,112.266616 L20.6305829,127.996166 L60.0870401,127.996166 Z M25.1375576,120.682546 L10.812569,106.357558 C7.5455063,103.090495 7.54523836,97.793808 10.8048093,94.5342371 L46.2691086,59.0699377 L81.7308914,94.5317205 L55.5800654,120.682546 L25.1375576,120.682546 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/excise": {
"title": "$:/core/images/excise",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-excise tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M56,107.313709 L53.6568542,109.656854 C50.5326599,112.781049 45.4673401,112.781049 42.3431457,109.656854 C39.2189514,106.53266 39.2189514,101.46734 42.3431458,98.3431457 L58.3431458,82.3431457 C61.4673401,79.2189514 66.5326599,79.2189514 69.6568542,82.3431458 L85.6568542,98.3431458 C88.7810486,101.46734 88.7810486,106.53266 85.6568542,109.656854 C82.5326599,112.781049 77.4673401,112.781049 74.3431458,109.656854 L72,107.313708 L72,121.597798 C72,125.133636 68.418278,128 64,128 C59.581722,128 56,125.133636 56,121.597798 L56,107.313709 Z M0,40.0070969 C0,35.5848994 3.59071231,32 8,32 C12.418278,32 16,35.5881712 16,40.0070969 L16,71.9929031 C16,76.4151006 12.4092877,80 8,80 C3.581722,80 0,76.4118288 0,71.9929031 L0,40.0070969 Z M32,40.0070969 C32,35.5848994 35.5907123,32 40,32 C44.418278,32 48,35.5881712 48,40.0070969 L48,71.9929031 C48,76.4151006 44.4092877,80 40,80 C35.581722,80 32,76.4118288 32,71.9929031 L32,40.0070969 Z M80,40.0070969 C80,35.5848994 83.5907123,32 88,32 C92.418278,32 96,35.5881712 96,40.0070969 L96,71.9929031 C96,76.4151006 92.4092877,80 88,80 C83.581722,80 80,76.4118288 80,71.9929031 L80,40.0070969 Z M56,8.00709688 C56,3.58489938 59.5907123,0 64,0 C68.418278,0 72,3.58817117 72,8.00709688 L72,39.9929031 C72,44.4151006 68.4092877,48 64,48 C59.581722,48 56,44.4118288 56,39.9929031 L56,8.00709688 Z M112,40.0070969 C112,35.5848994 115.590712,32 120,32 C124.418278,32 128,35.5881712 128,40.0070969 L128,71.9929031 C128,76.4151006 124.409288,80 120,80 C115.581722,80 112,76.4118288 112,71.9929031 L112,40.0070969 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/export-button": {
"title": "$:/core/images/export-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-export-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8.00348646,127.999999 C8.00464867,128 8.00581094,128 8.00697327,128 L119.993027,128 C122.205254,128 124.207939,127.101378 125.657096,125.651198 L125.656838,125.65759 C127.104563,124.210109 128,122.21009 128,119.999949 L128,56.0000511 C128,51.5817449 124.409288,48 120,48 C115.581722,48 112,51.5797863 112,56.0000511 L112,112 L16,112 L16,56.0000511 C16,51.5817449 12.4092877,48 8,48 C3.581722,48 7.10542736e-15,51.5797863 7.10542736e-15,56.0000511 L7.10542736e-15,119.999949 C7.10542736e-15,124.418255 3.59071231,128 8,128 C8.00116233,128 8.0023246,128 8.00348681,127.999999 Z M56.6235633,27.3113724 L47.6580188,36.2769169 C44.5333664,39.4015692 39.4634864,39.4061295 36.339292,36.2819351 C33.2214548,33.1640979 33.2173444,28.0901742 36.3443103,24.9632084 L58.9616908,2.34582788 C60.5248533,0.782665335 62.5748436,0.000361191261 64.624516,2.38225238e-14 L64.6193616,0.00151809229 C66.6695374,0.000796251595 68.7211167,0.781508799 70.2854358,2.34582788 L92.9028163,24.9632084 C96.0274686,28.0878607 96.0320289,33.1577408 92.9078345,36.2819351 C89.7899973,39.3997724 84.7160736,39.4038827 81.5891078,36.2769169 L72.6235633,27.3113724 L72.6235633,88.5669606 C72.6235633,92.9781015 69.0418413,96.5662064 64.6235633,96.5662064 C60.2142756,96.5662064 56.6235633,92.984822 56.6235633,88.5669606 L56.6235633,27.3113724 L56.6235633,27.3113724 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/file": {
"title": "$:/core/images/file",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-file tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"nonzero\">\n <path d=\"M111.96811,30.5 L112,30.5 L112,119.999079 C112,124.417866 108.419113,128 104.000754,128 L23.9992458,128 C19.5813843,128 16,124.417687 16,119.999079 L16,8.00092105 C16,3.58213437 19.5808867,0 23.9992458,0 L81,0 L81,0.0201838424 C83.1589869,-0.071534047 85.3482153,0.707077645 86.9982489,2.35711116 L109.625176,24.9840387 C111.151676,26.510538 111.932942,28.4998414 111.96811,30.5 L111.96811,30.5 Z M81,8 L24,8 L24,120 L104,120 L104,30.5 L89.0003461,30.5 C84.5818769,30.5 81,26.9216269 81,22.4996539 L81,8 Z\"></path>\n <rect x=\"32\" y=\"36\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"52\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"68\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"84\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"100\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n <rect x=\"32\" y=\"20\" width=\"40\" height=\"8\" rx=\"4\"></rect>\n </g>\n</svg>"
},
"$:/core/images/fixed-height": {
"title": "$:/core/images/fixed-height",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-fixed-height tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M60,35.6568542 L50.8284271,44.8284271 C49.26633,46.3905243 46.73367,46.3905243 45.1715729,44.8284271 C43.6094757,43.26633 43.6094757,40.73367 45.1715729,39.1715729 L61.1715729,23.1715729 C62.73367,21.6094757 65.2663299,21.6094757 66.8284271,23.1715728 L82.8284278,39.1715728 C84.390525,40.7336699 84.390525,43.2663299 82.8284279,44.8284271 C81.2663308,46.3905243 78.7336709,46.3905243 77.1715737,44.8284272 L68,35.6568539 L68,93.3431461 L77.1715737,84.1715728 C78.7336709,82.6094757 81.2663308,82.6094757 82.8284279,84.1715729 C84.390525,85.7336701 84.390525,88.2663301 82.8284278,89.8284272 L66.8284271,105.828427 C65.2663299,107.390524 62.73367,107.390524 61.1715729,105.828427 L45.1715729,89.8284271 C43.6094757,88.26633 43.6094757,85.73367 45.1715729,84.1715729 C46.73367,82.6094757 49.26633,82.6094757 50.8284271,84.1715729 L60,93.3431458 L60,35.6568542 L60,35.6568542 Z M16,116 L112,116 C114.209139,116 116,114.209139 116,112 C116,109.790861 114.209139,108 112,108 L16,108 C13.790861,108 12,109.790861 12,112 C12,114.209139 13.790861,116 16,116 L16,116 Z M16,20 L112,20 C114.209139,20 116,18.209139 116,16 C116,13.790861 114.209139,12 112,12 L16,12 C13.790861,12 12,13.790861 12,16 C12,18.209139 13.790861,20 16,20 L16,20 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/fold-all-button": {
"title": "$:/core/images/fold-all-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-fold-all tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"0\" y=\"64\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <path d=\"M64.0292774,58.6235628 C61.9791013,58.6242848 59.9275217,57.8435723 58.3632024,56.279253 L35.7458219,33.6618725 C32.6211696,30.5372202 32.6166093,25.4673401 35.7408036,22.3431458 C38.8586409,19.2253085 43.9325646,19.2211982 47.0595304,22.348164 L64.0250749,39.3137085 L80.9906194,22.348164 C84.1152717,19.2235117 89.1851518,19.2189514 92.3093461,22.3431458 C95.4271834,25.460983 95.4312937,30.5349067 92.3043279,33.6618725 L69.6869474,56.279253 C68.1237851,57.8424153 66.0737951,58.6247195 64.0241231,58.6250809 Z\" transform=\"translate(64.024316, 39.313708) scale(1, -1) translate(-64.024316, -39.313708) \"></path>\n <path d=\"M64.0292774,123.621227 C61.9791013,123.621949 59.9275217,122.841236 58.3632024,121.276917 L35.7458219,98.6595365 C32.6211696,95.5348842 32.6166093,90.4650041 35.7408036,87.3408098 C38.8586409,84.2229725 43.9325646,84.2188622 47.0595304,87.345828 L64.0250749,104.311373 L80.9906194,87.345828 C84.1152717,84.2211757 89.1851518,84.2166154 92.3093461,87.3408098 C95.4271834,90.458647 95.4312937,95.5325707 92.3043279,98.6595365 L69.6869474,121.276917 C68.1237851,122.840079 66.0737951,123.622383 64.0241231,123.622745 Z\" transform=\"translate(64.024316, 104.311372) scale(1, -1) translate(-64.024316, -104.311372) \"></path>\n </g>\n</svg>"
},
"$:/core/images/fold-button": {
"title": "$:/core/images/fold-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-fold tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <path d=\"M64.0292774,63.6235628 C61.9791013,63.6242848 59.9275217,62.8435723 58.3632024,61.279253 L35.7458219,38.6618725 C32.6211696,35.5372202 32.6166093,30.4673401 35.7408036,27.3431458 C38.8586409,24.2253085 43.9325646,24.2211982 47.0595304,27.348164 L64.0250749,44.3137085 L80.9906194,27.348164 C84.1152717,24.2235117 89.1851518,24.2189514 92.3093461,27.3431458 C95.4271834,30.460983 95.4312937,35.5349067 92.3043279,38.6618725 L69.6869474,61.279253 C68.1237851,62.8424153 66.0737951,63.6247195 64.0241231,63.6250809 Z\" transform=\"translate(64.024316, 44.313708) scale(1, -1) translate(-64.024316, -44.313708) \"></path>\n <path d=\"M64.0049614,105.998482 C61.9547853,105.999204 59.9032057,105.218491 58.3388864,103.654172 L35.7215059,81.0367916 C32.5968535,77.9121393 32.5922933,72.8422592 35.7164876,69.7180649 C38.8343248,66.6002276 43.9082485,66.5961173 47.0352144,69.7230831 L64.0007589,86.6886276 L80.9663034,69.7230831 C84.0909557,66.5984308 89.1608358,66.5938705 92.2850301,69.7180649 C95.4028673,72.8359021 95.4069777,77.9098258 92.2800119,81.0367916 L69.6626314,103.654172 C68.099469,105.217334 66.0494791,105.999639 63.999807,106 Z\" transform=\"translate(64.000000, 86.688628) scale(1, -1) translate(-64.000000, -86.688628) \"></path>\n </g>\n</svg>"
},
"$:/core/images/fold-others-button": {
"title": "$:/core/images/fold-others-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-fold-others tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <rect x=\"0\" y=\"56.0314331\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <path d=\"M101.657101,104.948818 C100.207918,103.498614 98.2051847,102.599976 95.9929031,102.599976 L72,102.599976 L72,78.6070725 C72,76.3964271 71.1036108,74.3936927 69.6545293,72.9441002 L69.6571005,72.9488183 C68.2079177,71.4986143 66.2051847,70.5999756 63.9929031,70.5999756 L32.0070969,70.5999756 C27.5881712,70.5999756 24,74.1816976 24,78.5999756 C24,83.0092633 27.5848994,86.5999756 32.0070969,86.5999756 L56,86.5999756 L56,110.592879 C56,112.803524 56.8963895,114.806259 58.3454713,116.255852 L58.3429,116.251133 C59.7920828,117.701337 61.7948156,118.599976 64.0070969,118.599976 L88,118.599976 L88,142.592879 C88,147.011804 91.581722,150.599976 96,150.599976 C100.409288,150.599976 104,147.015076 104,142.592879 L104,110.607072 C104,108.396427 103.103611,106.393693 101.654529,104.9441 Z\" transform=\"translate(64.000000, 110.599976) rotate(-45.000000) translate(-64.000000, -110.599976) \"></path>\n <path d=\"M101.725643,11.7488671 C100.27646,10.2986632 98.2737272,9.40002441 96.0614456,9.40002441 L72.0685425,9.40002441 L72.0685425,-14.5928787 C72.0685425,-16.8035241 71.1721533,-18.8062584 69.7230718,-20.255851 L69.725643,-20.2511329 C68.2764602,-21.7013368 66.2737272,-22.5999756 64.0614456,-22.5999756 L32.0756394,-22.5999756 C27.6567137,-22.5999756 24.0685425,-19.0182536 24.0685425,-14.5999756 C24.0685425,-10.1906879 27.6534419,-6.59997559 32.0756394,-6.59997559 L56.0685425,-6.59997559 L56.0685425,17.3929275 C56.0685425,19.6035732 56.964932,21.6063078 58.4140138,23.0559004 L58.4114425,23.0511823 C59.8606253,24.5013859 61.8633581,25.4000244 64.0756394,25.4000244 L88.0685425,25.4000244 L88.0685425,49.3929275 C88.0685425,53.8118532 91.6502645,57.4000244 96.0685425,57.4000244 C100.47783,57.4000244 104.068542,53.815125 104.068542,49.3929275 L104.068542,17.4071213 C104.068542,15.1964759 103.172153,13.1937416 101.723072,11.744149 Z\" transform=\"translate(64.068542, 17.400024) scale(1, -1) rotate(-45.000000) translate(-64.068542, -17.400024) \"></path>\n </g>\n</svg>"
},
"$:/core/images/folder": {
"title": "$:/core/images/folder",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-folder tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M55.6943257,128.000004 L7.99859666,128.000004 C3.5810937,128.000004 0,124.413822 0,119.996384 L0,48.0036243 C0,43.5833471 3.58387508,40.0000044 7.99859666,40.0000044 L16,40.0000044 L16,31.9999914 C16,27.5817181 19.5783731,24 24.0003461,24 L55.9996539,24 C60.4181231,24 64,27.5800761 64,31.9999914 L64,40.0000044 L104.001403,40.0000044 C108.418906,40.0000044 112,43.5861868 112,48.0036243 L112,59.8298353 L104,59.7475921 L104,51.9994189 C104,49.7887607 102.207895,48.0000044 99.9972215,48.0000044 L56,48.0000044 L56,36.0000255 C56,33.7898932 54.2072328,32 51.9957423,32 L28.0042577,32 C25.7890275,32 24,33.7908724 24,36.0000255 L24,48.0000044 L12.0027785,48.0000044 C9.78987688,48.0000044 8,49.7906032 8,51.9994189 L8,116.00059 C8,118.211248 9.79210499,120.000004 12.0027785,120.000004 L58.7630167,120.000004 L55.6943257,128.000004 L55.6943257,128.000004 Z\"></path>\n <path d=\"M23.8728955,55.5 L119.875702,55.5 C124.293205,55.5 126.87957,59.5532655 125.650111,64.5630007 L112.305967,118.936999 C111.077582,123.942356 106.497904,128 102.083183,128 L6.08037597,128 C1.66287302,128 -0.923492342,123.946735 0.305967145,118.936999 L13.650111,64.5630007 C14.878496,59.5576436 19.4581739,55.5 23.8728955,55.5 L23.8728955,55.5 L23.8728955,55.5 Z M25.6530124,64 L113.647455,64 C115.858129,64 117.151473,66.0930612 116.538306,68.6662267 L105.417772,115.333773 C104.803671,117.910859 102.515967,120 100.303066,120 L12.3086228,120 C10.0979492,120 8.8046054,117.906939 9.41777189,115.333773 L20.5383062,68.6662267 C21.1524069,66.0891409 23.4401107,64 25.6530124,64 L25.6530124,64 L25.6530124,64 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/full-screen-button": {
"title": "$:/core/images/full-screen-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-full-screen-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g>\n <g>\n <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n </g>\n <g transform=\"translate(104.000000, 104.000000) rotate(-180.000000) translate(-104.000000, -104.000000) translate(80.000000, 80.000000)\">\n <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n </g>\n <g transform=\"translate(24.000000, 104.000000) rotate(-90.000000) translate(-24.000000, -104.000000) translate(0.000000, 80.000000)\">\n <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n </g>\n <g transform=\"translate(104.000000, 24.000000) rotate(90.000000) translate(-104.000000, -24.000000) translate(80.000000, 0.000000)\">\n <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n </g>\n </g>\n</svg>"
},
"$:/core/images/github": {
"title": "$:/core/images/github",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-github tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M63.9383506,1.60695328 C28.6017227,1.60695328 -0.055756057,30.2970814 -0.055756057,65.6906208 C-0.055756057,94.003092 18.2804728,118.019715 43.7123154,126.493393 C46.9143781,127.083482 48.0812647,125.104717 48.0812647,123.405261 C48.0812647,121.886765 48.02626,117.85449 47.9948287,112.508284 C30.1929317,116.379268 26.4368926,103.916587 26.4368926,103.916587 C23.5255693,96.5129372 19.3294921,94.5420399 19.3294921,94.5420399 C13.5186324,90.5687739 19.7695302,90.6474524 19.7695302,90.6474524 C26.1933001,91.099854 29.5721638,97.2525155 29.5721638,97.2525155 C35.2808718,107.044059 44.5531024,104.215566 48.1991321,102.575118 C48.7806109,98.4366275 50.4346826,95.612068 52.2616263,94.0109598 C38.0507543,92.3941159 23.1091047,86.8944862 23.1091047,62.3389152 C23.1091047,55.3443933 25.6039634,49.6205298 29.6978889,45.1437211 C29.0378318,43.5229433 26.8415704,37.0044266 30.3265147,28.1845627 C30.3265147,28.1845627 35.6973364,26.4615028 47.9241083,34.7542205 C53.027764,33.330139 58.5046663,32.6220321 63.9462084,32.5944947 C69.3838216,32.6220321 74.856795,33.330139 79.9683085,34.7542205 C92.1872225,26.4615028 97.5501864,28.1845627 97.5501864,28.1845627 C101.042989,37.0044266 98.8467271,43.5229433 98.190599,45.1437211 C102.292382,49.6205298 104.767596,55.3443933 104.767596,62.3389152 C104.767596,86.9574291 89.8023734,92.3744463 75.5482834,93.9598188 C77.8427675,95.9385839 79.8897303,99.8489072 79.8897303,105.828476 C79.8897303,114.392635 79.8111521,121.304544 79.8111521,123.405261 C79.8111521,125.120453 80.966252,127.114954 84.2115327,126.489459 C109.623731,117.996111 127.944244,93.9952241 127.944244,65.6906208 C127.944244,30.2970814 99.2867652,1.60695328 63.9383506,1.60695328\"></path>\n </g>\n </svg>\n"
},
"$:/core/images/globe": {
"title": "$:/core/images/globe",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-globe tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M72.8111354,37.1275855 C72.8111354,37.9789875 72.8111354,38.8303894 72.8111354,39.6817913 C72.8111354,41.8784743 73.7885604,46.5631866 72.8111354,48.5143758 C71.3445471,51.4420595 68.1617327,52.0543531 66.4170946,54.3812641 C65.2352215,55.9575873 61.7987417,64.9821523 62.7262858,67.3005778 C66.6959269,77.2228204 74.26087,70.4881886 80.6887657,76.594328 C81.5527211,77.415037 83.5758191,78.8666631 83.985137,79.8899578 C87.2742852,88.1128283 76.4086873,94.8989524 87.7419325,106.189751 C88.9872885,107.430443 91.555495,102.372895 91.8205061,101.575869 C92.6726866,99.0129203 98.5458765,96.1267309 100.908882,94.5234439 C102.928056,93.1534443 105.782168,91.8557166 107.236936,89.7775886 C109.507391,86.5342557 108.717505,82.2640435 110.334606,79.0328716 C112.473794,74.7585014 114.163418,69.3979002 116.332726,65.0674086 C120.230862,57.2857361 121.054075,67.1596684 121.400359,67.5059523 C121.757734,67.8633269 122.411167,67.5059523 122.916571,67.5059523 C123.011132,67.5059523 124.364019,67.6048489 124.432783,67.5059523 C125.0832,66.5705216 123.390209,49.5852316 123.114531,48.2089091 C121.710578,41.1996597 116.17083,32.4278331 111.249523,27.7092761 C104.975994,21.6942076 104.160516,11.5121686 92.9912146,12.7547535 C92.7872931,12.7774397 87.906794,22.9027026 85.2136766,26.2672064 C81.486311,30.9237934 82.7434931,22.1144904 78.6876623,22.1144904 C78.6065806,22.1144904 77.5045497,22.0107615 77.4353971,22.1144904 C76.8488637,22.9942905 75.9952305,26.0101404 75.1288269,26.5311533 C74.8635477,26.6906793 73.4071369,26.2924966 73.2826811,26.5311533 C71.0401728,30.8313939 81.5394677,28.7427264 79.075427,34.482926 C76.7225098,39.9642538 72.747373,32.4860199 72.747373,43.0434079\"></path>\n <path d=\"M44.4668556,7.01044608 C54.151517,13.1403033 45.1489715,19.2084878 47.1611905,23.2253896 C48.8157833,26.5283781 51.4021933,28.6198851 48.8753629,33.038878 C46.8123257,36.6467763 42.0052989,37.0050492 39.251679,39.7621111 C36.2115749,42.8060154 33.7884281,48.7028116 32.4624592,52.6732691 C30.8452419,57.5158356 47.0088721,59.5388126 44.5246867,63.6811917 C43.1386839,65.9923513 37.7785192,65.1466282 36.0880227,63.8791519 C34.9234453,63.0059918 32.4946425,63.3331166 31.6713597,62.0997342 C29.0575851,58.1839669 29.4107339,54.0758543 28.0457962,49.9707786 C27.1076833,47.1493864 21.732611,47.8501656 20.2022714,49.3776393 C19.6790362,49.8998948 19.8723378,51.1703278 19.8723378,51.8829111 C19.8723378,57.1682405 26.9914913,55.1986414 26.9914913,58.3421973 C26.9914913,72.9792302 30.9191897,64.8771867 38.1313873,69.6793121 C48.1678018,76.3618966 45.9763926,76.981595 53.0777543,84.0829567 C56.7511941,87.7563965 60.8192437,87.7689005 62.503478,93.3767069 C64.1046972,98.7081071 53.1759798,98.7157031 50.786754,100.825053 C49.663965,101.816317 47.9736094,104.970571 46.5680513,105.439676 C44.7757187,106.037867 43.334221,105.93607 41.6242359,107.219093 C39.1967302,109.040481 37.7241465,112.151588 37.6034934,112.030935 C35.4555278,109.88297 34.0848666,96.5511248 33.7147244,93.7726273 C33.1258872,89.3524817 28.1241923,88.2337027 26.7275443,84.7420826 C25.1572737,80.8164061 28.2518481,75.223612 25.599097,70.9819941 C19.0797019,60.557804 13.7775712,56.4811506 10.2493953,44.6896152 C9.3074899,41.5416683 13.5912267,38.1609942 15.1264825,35.8570308 C17.0029359,33.0410312 17.7876232,30.0028946 19.8723378,27.2224065 C22.146793,24.1888519 40.8551166,9.46076832 43.8574051,8.63490613 L44.4668556,7.01044608 Z\"></path>\n <path d=\"M64,126 C98.2416545,126 126,98.2416545 126,64 C126,29.7583455 98.2416545,2 64,2 C29.7583455,2 2,29.7583455 2,64 C2,98.2416545 29.7583455,126 64,126 Z M64,120 C94.927946,120 120,94.927946 120,64 C120,33.072054 94.927946,8 64,8 C33.072054,8 8,33.072054 8,64 C8,94.927946 33.072054,120 64,120 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-1": {
"title": "$:/core/images/heading-1",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-1 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M14,30 L27.25,30 L27.25,60.104 L61.7,60.104 L61.7,30 L74.95,30 L74.95,105.684 L61.7,105.684 L61.7,71.552 L27.25,71.552 L27.25,105.684 L14,105.684 L14,30 Z M84.3350766,43.78 C86.8790893,43.78 89.3523979,43.5680021 91.7550766,43.144 C94.1577553,42.7199979 96.3307336,42.0133383 98.2740766,41.024 C100.21742,40.0346617 101.87807,38.7626744 103.256077,37.208 C104.634084,35.6533256 105.535075,33.7453446 105.959077,31.484 L115.817077,31.484 L115.817077,105.684 L102.567077,105.684 L102.567077,53.32 L84.3350766,53.32 L84.3350766,43.78 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-2": {
"title": "$:/core/images/heading-2",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-2 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M125.519077,105.684 L74.8510766,105.684 C74.9217436,99.5359693 76.4057288,94.1653563 79.3030766,89.572 C82.2004244,84.9786437 86.1577182,80.986017 91.1750766,77.594 C93.5777553,75.8273245 96.0863969,74.113675 98.7010766,72.453 C101.315756,70.792325 103.718399,69.0080095 105.909077,67.1 C108.099754,65.1919905 109.901736,63.1250111 111.315077,60.899 C112.728417,58.6729889 113.47041,56.1113478 113.541077,53.214 C113.541077,51.8713266 113.382078,50.4403409 113.064077,48.921 C112.746075,47.4016591 112.127748,45.9883399 111.209077,44.681 C110.290405,43.3736601 109.018418,42.2783377 107.393077,41.395 C105.767735,40.5116622 103.647756,40.07 101.033077,40.07 C98.6303979,40.07 96.6340846,40.5469952 95.0440766,41.501 C93.4540687,42.4550048 92.1820814,43.762325 91.2280766,45.423 C90.2740719,47.083675 89.5674123,49.0446554 89.1080766,51.306 C88.648741,53.5673446 88.3837436,56.0053203 88.3130766,58.62 L76.2290766,58.62 C76.2290766,54.5213128 76.7767378,50.7230175 77.8720766,47.225 C78.9674154,43.7269825 80.610399,40.7060127 82.8010766,38.162 C84.9917542,35.6179873 87.6593942,33.6216739 90.8040766,32.173 C93.948759,30.7243261 97.6057224,30 101.775077,30 C106.297766,30 110.078395,30.7419926 113.117077,32.226 C116.155758,33.7100074 118.611401,35.5826554 120.484077,37.844 C122.356753,40.1053446 123.681739,42.5609868 124.459077,45.211 C125.236414,47.8610133 125.625077,50.3873213 125.625077,52.79 C125.625077,55.7580148 125.165748,58.4433213 124.247077,60.846 C123.328405,63.2486787 122.091751,65.4569899 120.537077,67.471 C118.982402,69.4850101 117.215753,71.3399915 115.237077,73.036 C113.2584,74.7320085 111.209087,76.3219926 109.089077,77.806 C106.969066,79.2900074 104.849087,80.7033266 102.729077,82.046 C100.609066,83.3886734 98.6480856,84.7313266 96.8460766,86.074 C95.0440676,87.4166734 93.47175,88.8123261 92.1290766,90.261 C90.7864032,91.7096739 89.8677458,93.2466585 89.3730766,94.872 L125.519077,94.872 L125.519077,105.684 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-3": {
"title": "$:/core/images/heading-3",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-3 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M94.8850766,62.224 C96.8637532,62.294667 98.8424001,62.1533351 100.821077,61.8 C102.799753,61.4466649 104.566402,60.8283378 106.121077,59.945 C107.675751,59.0616623 108.930072,57.8426744 109.884077,56.288 C110.838081,54.7333256 111.315077,52.8253446 111.315077,50.564 C111.315077,47.3839841 110.237421,44.8400095 108.082077,42.932 C105.926733,41.0239905 103.153094,40.07 99.7610766,40.07 C97.641066,40.07 95.8037511,40.4939958 94.2490766,41.342 C92.6944022,42.1900042 91.4047484,43.3383261 90.3800766,44.787 C89.3554048,46.2356739 88.5957458,47.860991 88.1010766,49.663 C87.6064075,51.465009 87.3944096,53.3199905 87.4650766,55.228 L75.3810766,55.228 C75.5224107,51.623982 76.1937373,48.2850154 77.3950766,45.211 C78.596416,42.1369846 80.2393995,39.4693446 82.3240766,37.208 C84.4087537,34.9466554 86.9350618,33.1800064 89.9030766,31.908 C92.8710915,30.6359936 96.2277246,30 99.9730766,30 C102.870424,30 105.714729,30.4239958 108.506077,31.272 C111.297424,32.1200042 113.806065,33.3566585 116.032077,34.982 C118.258088,36.6073415 120.042403,38.6743208 121.385077,41.183 C122.72775,43.6916792 123.399077,46.5713171 123.399077,49.822 C123.399077,53.5673521 122.551085,56.8356527 120.855077,59.627 C119.159068,62.4183473 116.509095,64.4499936 112.905077,65.722 L112.905077,65.934 C117.145098,66.7820042 120.448731,68.8843166 122.816077,72.241 C125.183422,75.5976835 126.367077,79.6786426 126.367077,84.484 C126.367077,88.017351 125.660417,91.1796527 124.247077,93.971 C122.833736,96.7623473 120.925755,99.129657 118.523077,101.073 C116.120398,103.016343 113.329093,104.517995 110.149077,105.578 C106.969061,106.638005 103.612428,107.168 100.079077,107.168 C95.7683884,107.168 92.005426,106.549673 88.7900766,105.313 C85.5747272,104.076327 82.8894207,102.327345 80.7340766,100.066 C78.5787325,97.8046554 76.9357489,95.0840159 75.8050766,91.904 C74.6744043,88.7239841 74.0737436,85.1906861 74.0030766,81.304 L86.0870766,81.304 C85.9457426,85.8266893 87.0587315,89.5896517 89.4260766,92.593 C91.7934218,95.5963483 95.3443863,97.098 100.079077,97.098 C104.107097,97.098 107.481396,95.9496782 110.202077,93.653 C112.922757,91.3563219 114.283077,88.0880212 114.283077,83.848 C114.283077,80.9506522 113.717749,78.6540085 112.587077,76.958 C111.456404,75.2619915 109.972419,73.9723378 108.135077,73.089 C106.297734,72.2056623 104.230755,71.6580011 101.934077,71.446 C99.6373985,71.2339989 97.2877553,71.163333 94.8850766,71.234 L94.8850766,62.224 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-4": {
"title": "$:/core/images/heading-4",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-4 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8,30 L21.25,30 L21.25,60.104 L55.7,60.104 L55.7,30 L68.95,30 L68.95,105.684 L55.7,105.684 L55.7,71.552 L21.25,71.552 L21.25,105.684 L8,105.684 L8,30 Z M84.5890766,78.548 L107.061077,78.548 L107.061077,45.9 L106.849077,45.9 L84.5890766,78.548 Z M128.049077,88.088 L118.509077,88.088 L118.509077,105.684 L107.061077,105.684 L107.061077,88.088 L75.2610766,88.088 L75.2610766,76.11 L107.061077,31.484 L118.509077,31.484 L118.509077,78.548 L128.049077,78.548 L128.049077,88.088 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-5": {
"title": "$:/core/images/heading-5",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-5 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M83.7550766,31.484 L122.127077,31.484 L122.127077,42.296 L92.7650766,42.296 L88.9490766,61.164 L89.1610766,61.376 C90.7864181,59.5386575 92.8533974,58.1430048 95.3620766,57.189 C97.8707558,56.2349952 100.361731,55.758 102.835077,55.758 C106.509762,55.758 109.795729,56.3763272 112.693077,57.613 C115.590424,58.8496729 118.0284,60.5809889 120.007077,62.807 C121.985753,65.0330111 123.487405,67.6653181 124.512077,70.704 C125.536748,73.7426819 126.049077,77.028649 126.049077,80.562 C126.049077,83.5300148 125.572081,86.5863176 124.618077,89.731 C123.664072,92.8756824 122.144754,95.7376538 120.060077,98.317 C117.9754,100.896346 115.30776,103.016325 112.057077,104.677 C108.806394,106.337675 104.919766,107.168 100.397077,107.168 C96.7930586,107.168 93.454092,106.691005 90.3800766,105.737 C87.3060613,104.782995 84.6030883,103.35201 82.2710766,101.444 C79.939065,99.5359905 78.0840835,97.1863473 76.7060766,94.395 C75.3280697,91.6036527 74.5684107,88.3353521 74.4270766,84.59 L86.5110766,84.59 C86.8644117,88.6180201 88.2423979,91.7096559 90.6450766,93.865 C93.0477553,96.0203441 96.2277235,97.098 100.185077,97.098 C102.729089,97.098 104.884401,96.6740042 106.651077,95.826 C108.417752,94.9779958 109.848738,93.8120074 110.944077,92.328 C112.039415,90.8439926 112.816741,89.1126766 113.276077,87.134 C113.735412,85.1553234 113.965077,83.0353446 113.965077,80.774 C113.965077,78.7246564 113.682413,76.763676 113.117077,74.891 C112.55174,73.018324 111.703749,71.3753404 110.573077,69.962 C109.442404,68.5486596 107.976086,67.4180042 106.174077,66.57 C104.372068,65.7219958 102.269755,65.298 99.8670766,65.298 C97.3230639,65.298 94.9380878,65.7749952 92.7120766,66.729 C90.4860655,67.6830048 88.8784149,69.4673203 87.8890766,72.082 L75.8050766,72.082 L83.7550766,31.484 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/heading-6": {
"title": "$:/core/images/heading-6",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-heading-6 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M112.587077,50.246 C112.304409,47.2073181 111.226753,44.751676 109.354077,42.879 C107.481401,41.006324 104.955093,40.07 101.775077,40.07 C99.584399,40.07 97.6940846,40.4763293 96.1040766,41.289 C94.5140687,42.1016707 93.1714154,43.1793266 92.0760766,44.522 C90.9807378,45.8646734 90.0974133,47.401658 89.4260766,49.133 C88.7547399,50.864342 88.2070787,52.6839905 87.7830766,54.592 C87.3590745,56.5000095 87.0587442,58.390324 86.8820766,60.263 C86.7054091,62.135676 86.5464107,63.8846585 86.4050766,65.51 L86.6170766,65.722 C88.2424181,62.7539852 90.4860623,60.5456739 93.3480766,59.097 C96.2100909,57.6483261 99.3017267,56.924 102.623077,56.924 C106.297762,56.924 109.583729,57.5599936 112.481077,58.832 C115.378424,60.1040064 117.834067,61.8529889 119.848077,64.079 C121.862087,66.3050111 123.399071,68.9373181 124.459077,71.976 C125.519082,75.0146819 126.049077,78.300649 126.049077,81.834 C126.049077,85.438018 125.466082,88.7769846 124.300077,91.851 C123.134071,94.9250154 121.455754,97.6103219 119.265077,99.907 C117.074399,102.203678 114.459758,103.987994 111.421077,105.26 C108.382395,106.532006 105.025762,107.168 101.351077,107.168 C95.9097161,107.168 91.4400941,106.16101 87.9420766,104.147 C84.4440591,102.13299 81.6880867,99.3770175 79.6740766,95.879 C77.6600666,92.3809825 76.2644138,88.2823568 75.4870766,83.583 C74.7097394,78.8836432 74.3210766,73.8133605 74.3210766,68.372 C74.3210766,63.9199777 74.7980719,59.4326893 75.7520766,54.91 C76.7060814,50.3873107 78.278399,46.2710186 80.4690766,42.561 C82.6597542,38.8509815 85.5393921,35.8300117 89.1080766,33.498 C92.6767611,31.1659883 97.0757171,30 102.305077,30 C105.273091,30 108.064397,30.4946617 110.679077,31.484 C113.293756,32.4733383 115.608067,33.8513245 117.622077,35.618 C119.636087,37.3846755 121.27907,39.5046543 122.551077,41.978 C123.823083,44.4513457 124.529743,47.2073181 124.671077,50.246 L112.587077,50.246 Z M100.927077,97.098 C103.117754,97.098 105.025735,96.6563378 106.651077,95.773 C108.276418,94.8896623 109.636738,93.7413404 110.732077,92.328 C111.827415,90.9146596 112.640074,89.271676 113.170077,87.399 C113.700079,85.526324 113.965077,83.6006766 113.965077,81.622 C113.965077,79.6433234 113.700079,77.7353425 113.170077,75.898 C112.640074,74.0606575 111.827415,72.4530069 110.732077,71.075 C109.636738,69.6969931 108.276418,68.5840042 106.651077,67.736 C105.025735,66.8879958 103.117754,66.464 100.927077,66.464 C98.736399,66.464 96.8107516,66.8703293 95.1500766,67.683 C93.4894017,68.4956707 92.0937489,69.5909931 90.9630766,70.969 C89.8324043,72.3470069 88.9844128,73.9546575 88.4190766,75.792 C87.8537405,77.6293425 87.5710766,79.5726564 87.5710766,81.622 C87.5710766,83.6713436 87.8537405,85.6146575 88.4190766,87.452 C88.9844128,89.2893425 89.8324043,90.9323261 90.9630766,92.381 C92.0937489,93.8296739 93.4894017,94.9779958 95.1500766,95.826 C96.8107516,96.6740042 98.736399,97.098 100.927077,97.098 L100.927077,97.098 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/help": {
"title": "$:/core/images/help",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-help tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M36.0548906,111.44117 C30.8157418,115.837088 20.8865444,118.803477 9.5,118.803477 C7.86465619,118.803477 6.25937294,118.742289 4.69372699,118.624467 C12.612543,115.984876 18.7559465,110.02454 21.0611049,102.609942 C8.74739781,92.845129 1.04940554,78.9359851 1.04940554,63.5 C1.04940554,33.9527659 29.2554663,10 64.0494055,10 C98.8433448,10 127.049406,33.9527659 127.049406,63.5 C127.049406,93.0472341 98.8433448,117 64.0494055,117 C53.9936953,117 44.48824,114.999337 36.0548906,111.44117 L36.0548906,111.44117 Z M71.4042554,77.5980086 C71.406883,77.2865764 71.4095079,76.9382011 71.4119569,76.5610548 C71.4199751,75.3262169 71.4242825,74.0811293 71.422912,72.9158546 C71.4215244,71.736154 71.4143321,70.709635 71.4001396,69.8743525 C71.4078362,68.5173028 71.9951951,67.7870427 75.1273009,65.6385471 C75.2388969,65.5619968 76.2124091,64.8981068 76.5126553,64.6910879 C79.6062455,62.5580654 81.5345849,60.9050204 83.2750652,58.5038955 C85.6146327,55.2762841 86.8327108,51.426982 86.8327108,46.8554323 C86.8327108,33.5625756 76.972994,24.9029551 65.3778484,24.9029551 C54.2752771,24.9029551 42.8794554,34.5115163 41.3121702,47.1975534 C40.9043016,50.4989536 43.2499725,53.50591 46.5513726,53.9137786 C49.8527728,54.3216471 52.8597292,51.9759763 53.2675978,48.6745761 C54.0739246,42.1479456 60.2395837,36.9492759 65.3778484,36.9492759 C70.6427674,36.9492759 74.78639,40.5885487 74.78639,46.8554323 C74.78639,50.4892974 73.6853224,52.008304 69.6746221,54.7736715 C69.4052605,54.9593956 68.448509,55.6118556 68.3131127,55.7047319 C65.6309785,57.5445655 64.0858213,58.803255 62.6123358,60.6352315 C60.5044618,63.2559399 59.3714208,66.3518252 59.3547527,69.9487679 C59.3684999,70.8407274 59.3752803,71.8084521 59.3765995,72.9300232 C59.3779294,74.0607297 59.3737237,75.2764258 59.36589,76.482835 C59.3634936,76.8518793 59.3609272,77.1924914 59.3583633,77.4963784 C59.3568319,77.6778944 59.3556368,77.8074256 59.3549845,77.8730928 C59.3219814,81.1994287 61.9917551,83.9227111 65.318091,83.9557142 C68.644427,83.9887173 71.3677093,81.3189435 71.4007124,77.9926076 C71.4014444,77.9187458 71.402672,77.7856841 71.4042554,77.5980086 Z M65.3778489,102.097045 C69.5359735,102.097045 72.9067994,98.7262189 72.9067994,94.5680944 C72.9067994,90.4099698 69.5359735,87.0391439 65.3778489,87.0391439 C61.2197243,87.0391439 57.8488984,90.4099698 57.8488984,94.5680944 C57.8488984,98.7262189 61.2197243,102.097045 65.3778489,102.097045 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/home-button": {
"title": "$:/core/images/home-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-home-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M112.9847,119.501583 C112.99485,119.336814 113,119.170705 113,119.003406 L113,67.56802 C116.137461,70.5156358 121.076014,70.4518569 124.133985,67.3938855 C127.25818,64.2696912 127.260618,59.2068102 124.131541,56.0777326 L70.3963143,2.34250601 C68.8331348,0.779326498 66.7828947,-0.000743167069 64.7337457,1.61675364e-05 C62.691312,-0.00409949529 60.6426632,0.777559815 59.077717,2.34250601 L33,28.420223 L33,28.420223 L33,8.00697327 C33,3.58484404 29.4092877,0 25,0 C20.581722,0 17,3.59075293 17,8.00697327 L17,44.420223 L5.3424904,56.0777326 C2.21694607,59.2032769 2.22220878,64.2760483 5.34004601,67.3938855 C8.46424034,70.5180798 13.5271213,70.5205187 16.6561989,67.3914411 L17,67.04764 L17,119.993027 C17,119.994189 17.0000002,119.995351 17.0000007,119.996514 C17.0000002,119.997675 17,119.998838 17,120 C17,124.418278 20.5881049,128 24.9992458,128 L105.000754,128 C109.418616,128 113,124.409288 113,120 C113,119.832611 112.99485,119.666422 112.9847,119.501583 Z M97,112 L97,51.5736087 L97,51.5736087 L64.7370156,19.3106244 L33,51.04764 L33,112 L97,112 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/import-button": {
"title": "$:/core/images/import-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-import-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M105.449437,94.2138951 C105.449437,94.2138951 110.049457,94.1897106 110.049457,99.4026111 C110.049457,104.615512 105.163246,104.615511 105.163246,104.615511 L45.0075072,105.157833 C45.0075072,105.157833 0.367531803,106.289842 0.367532368,66.6449212 C0.367532934,27.0000003 45.0428249,27.0000003 45.0428249,27.0000003 L105.532495,27.0000003 C105.532495,27.0000003 138.996741,25.6734987 138.996741,55.1771866 C138.996741,84.6808745 105.727102,82.8457535 105.727102,82.8457535 L56.1735087,82.8457535 C56.1735087,82.8457535 22.6899229,85.1500223 22.6899229,66.0913753 C22.6899229,47.0327282 56.1735087,49.3383013 56.1735087,49.3383013 L105.727102,49.3383013 C105.727102,49.3383013 111.245209,49.3383024 111.245209,54.8231115 C111.245209,60.3079206 105.727102,60.5074524 105.727102,60.5074524 L56.1735087,60.5074524 C56.1735087,60.5074524 37.48913,60.5074528 37.48913,66.6449195 C37.48913,72.7823862 56.1735087,71.6766023 56.1735087,71.6766023 L105.727102,71.6766029 C105.727102,71.6766029 127.835546,73.1411469 127.835546,55.1771866 C127.835546,35.5304025 105.727102,38.3035317 105.727102,38.3035317 L45.0428249,38.3035317 C45.0428249,38.3035317 11.5287276,38.3035313 11.5287276,66.6449208 C11.5287276,94.9863103 45.0428244,93.9579678 45.0428244,93.9579678 L105.449437,94.2138951 Z\" transform=\"translate(69.367532, 66.000000) rotate(-45.000000) translate(-69.367532, -66.000000) \"></path>\n </g>\n</svg>"
},
"$:/core/images/info-button": {
"title": "$:/core/images/info-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-info-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <g transform=\"translate(0.049406, 0.000000)\">\n <path d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z\"></path>\n <circle cx=\"64\" cy=\"32\" r=\"8\"></circle>\n <rect x=\"56\" y=\"48\" width=\"16\" height=\"56\" rx=\"8\"></rect>\n </g>\n </g>\n</svg>"
},
"$:/core/images/italic": {
"title": "$:/core/images/italic",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-italic tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <polygon points=\"66.7114846 0 89.1204482 0 62.4089636 128 40 128\"></polygon>\n </g>\n</svg>"
},
"$:/core/images/left-arrow": {
"created": "20150315234410875",
"modified": "20150315235324760",
"tags": "$:/tags/Image",
"title": "$:/core/images/left-arrow",
"text": "<svg class=\"tc-image-left-arrow tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <path transform=\"rotate(135, 63.8945, 64.1752)\" d=\"m109.07576,109.35336c-1.43248,1.43361 -3.41136,2.32182 -5.59717,2.32182l-79.16816,0c-4.36519,0 -7.91592,-3.5444 -7.91592,-7.91666c0,-4.36337 3.54408,-7.91667 7.91592,-7.91667l71.25075,0l0,-71.25075c0,-4.3652 3.54442,-7.91592 7.91667,-7.91592c4.36336,0 7.91667,3.54408 7.91667,7.91592l0,79.16815c0,2.1825 -0.88602,4.16136 -2.3185,5.59467l-0.00027,-0.00056z\"/>\n</svg>\n"
},
"$:/core/images/line-width": {
"title": "$:/core/images/line-width",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-line-width tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M128,-97 L112.992786,-97 C112.452362,-97 112,-96.5522847 112,-96 C112,-95.4438648 112.444486,-95 112.992786,-95 L128,-95 L128,-97 Z M128,-78.6794919 L111.216185,-88.3696322 C110.748163,-88.6398444 110.132549,-88.4782926 109.856406,-88 C109.578339,-87.5183728 109.741342,-86.9117318 110.216185,-86.6375814 L128,-76.3700908 L128,-78.6794919 Z M78.6794919,-128 L88.3696322,-111.216185 C88.6437826,-110.741342 88.4816272,-110.134474 88,-109.856406 C87.5217074,-109.580264 86.9077936,-109.748163 86.6375814,-110.216185 L76.3700908,-128 L78.6794919,-128 Z M97,-128 L97,-112.992786 C97,-112.444486 96.5561352,-112 96,-112 C95.4477153,-112 95,-112.452362 95,-112.992786 L95,-128 L97,-128 Z M115.629909,-128 L105.362419,-110.216185 C105.088268,-109.741342 104.481627,-109.578339 104,-109.856406 C103.521707,-110.132549 103.360156,-110.748163 103.630368,-111.216185 L113.320508,-128 L115.629909,-128 Z M128,-113.320508 L111.216185,-103.630368 C110.741342,-103.356217 110.134474,-103.518373 109.856406,-104 C109.580264,-104.478293 109.748163,-105.092206 110.216185,-105.362419 L128,-115.629909 L128,-113.320508 Z M48,-96 C48,-96.5522847 48.4523621,-97 48.9927864,-97 L79.0072136,-97 C79.5555144,-97 80,-96.5561352 80,-96 C80,-95.4477153 79.5476379,-95 79.0072136,-95 L48.9927864,-95 C48.4444856,-95 48,-95.4438648 48,-96 Z M54.4307806,-120 C54.706923,-120.478293 55.3225377,-120.639844 55.7905589,-120.369632 L81.7838153,-105.362419 C82.2586577,-105.088268 82.4216611,-104.481627 82.1435935,-104 C81.8674512,-103.521707 81.2518365,-103.360156 80.7838153,-103.630368 L54.7905589,-118.637581 C54.3157165,-118.911732 54.152713,-119.518373 54.4307806,-120 Z M104,-82.1435935 C104.478293,-82.4197359 105.092206,-82.2518365 105.362419,-81.7838153 L120.369632,-55.7905589 C120.643783,-55.3157165 120.481627,-54.7088482 120,-54.4307806 C119.521707,-54.1546382 118.907794,-54.3225377 118.637581,-54.7905589 L103.630368,-80.7838153 C103.356217,-81.2586577 103.518373,-81.865526 104,-82.1435935 Z M96,-80 C96.5522847,-80 97,-79.5476379 97,-79.0072136 L97,-48.9927864 C97,-48.4444856 96.5561352,-48 96,-48 C95.4477153,-48 95,-48.4523621 95,-48.9927864 L95,-79.0072136 C95,-79.5555144 95.4438648,-80 96,-80 Z M88,-82.1435935 C88.4782926,-81.8674512 88.6398444,-81.2518365 88.3696322,-80.7838153 L73.3624186,-54.7905589 C73.0882682,-54.3157165 72.4816272,-54.152713 72,-54.4307806 C71.5217074,-54.706923 71.3601556,-55.3225377 71.6303678,-55.7905589 L86.6375814,-81.7838153 C86.9117318,-82.2586577 87.5183728,-82.4216611 88,-82.1435935 Z M82.1435935,-88 C82.4197359,-87.5217074 82.2518365,-86.9077936 81.7838153,-86.6375814 L55.7905589,-71.6303678 C55.3157165,-71.3562174 54.7088482,-71.5183728 54.4307806,-72 C54.1546382,-72.4782926 54.3225377,-73.0922064 54.7905589,-73.3624186 L80.7838153,-88.3696322 C81.2586577,-88.6437826 81.865526,-88.4816272 82.1435935,-88 Z M1.30626177e-08,-41.9868843 L15.0170091,-57.9923909 L20.7983821,-52.9749272 L44.7207091,-81.2095939 L73.4260467,-42.1002685 L85.984793,-56.6159488 L104.48741,-34.0310661 L127.969109,-47.4978019 L127.969109,7.99473128e-07 L1.30626177e-08,7.99473128e-07 L1.30626177e-08,-41.9868843 Z M96,-84 C102.627417,-84 108,-89.372583 108,-96 C108,-102.627417 102.627417,-108 96,-108 C89.372583,-108 84,-102.627417 84,-96 C84,-89.372583 89.372583,-84 96,-84 Z\"></path>\n <path d=\"M16,18 L112,18 C113.104569,18 114,17.1045695 114,16 C114,14.8954305 113.104569,14 112,14 L16,14 C14.8954305,14 14,14.8954305 14,16 C14,17.1045695 14.8954305,18 16,18 L16,18 Z M16,35 L112,35 C114.209139,35 116,33.209139 116,31 C116,28.790861 114.209139,27 112,27 L16,27 C13.790861,27 12,28.790861 12,31 C12,33.209139 13.790861,35 16,35 L16,35 Z M16,56 L112,56 C115.313708,56 118,53.3137085 118,50 C118,46.6862915 115.313708,44 112,44 L16,44 C12.6862915,44 10,46.6862915 10,50 C10,53.3137085 12.6862915,56 16,56 L16,56 Z M16,85 L112,85 C117.522847,85 122,80.5228475 122,75 C122,69.4771525 117.522847,65 112,65 L16,65 C10.4771525,65 6,69.4771525 6,75 C6,80.5228475 10.4771525,85 16,85 L16,85 Z M16,128 L112,128 C120.836556,128 128,120.836556 128,112 C128,103.163444 120.836556,96 112,96 L16,96 C7.163444,96 0,103.163444 0,112 C0,120.836556 7.163444,128 16,128 L16,128 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/link": {
"title": "$:/core/images/link",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-link tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M128.719999,57.568543 C130.219553,53.8628171 131.045202,49.8121445 131.045202,45.5685425 C131.045202,27.8915447 116.718329,13.5685425 99.0452364,13.5685425 L67.0451674,13.5685425 C49.3655063,13.5685425 35.0452019,27.8954305 35.0452019,45.5685425 C35.0452019,63.2455403 49.3720745,77.5685425 67.0451674,77.5685425 L99.0452364,77.5685425 C100.406772,77.5685425 101.748384,77.4835732 103.065066,77.3186499 C96.4792444,73.7895096 91.1190212,68.272192 87.7873041,61.5685425 L67.0506214,61.5685425 C58.2110723,61.5685425 51.0452019,54.4070414 51.0452019,45.5685425 C51.0452019,36.7319865 58.2005234,29.5685425 67.0506214,29.5685425 L99.0397824,29.5685425 C107.879331,29.5685425 115.045202,36.7300436 115.045202,45.5685425 C115.045202,48.9465282 113.99957,52.0800164 112.21335,54.6623005 C114.314383,56.4735917 117.050039,57.5685425 120.041423,57.5685425 L128.720003,57.5685425 Z\" transform=\"translate(83.045202, 45.568542) rotate(-225.000000) translate(-83.045202, -45.568542)\"></path>\n <path d=\"M-0.106255113,71.0452019 C-1.60580855,74.7509276 -2.43145751,78.8016001 -2.43145751,83.0452019 C-2.43145751,100.7222 11.8954151,115.045202 29.568508,115.045202 L61.568577,115.045202 C79.2482381,115.045202 93.5685425,100.718314 93.5685425,83.0452019 C93.5685425,65.3682041 79.2416699,51.0452019 61.568577,51.0452019 L29.568508,51.0452019 C28.206973,51.0452019 26.8653616,51.1301711 25.5486799,51.2950943 C32.1345,54.8242347 37.4947231,60.3415524 40.8264403,67.0452019 L61.563123,67.0452019 C70.4026721,67.0452019 77.5685425,74.206703 77.5685425,83.0452019 C77.5685425,91.8817579 70.413221,99.0452019 61.563123,99.0452019 L29.573962,99.0452019 C20.7344129,99.0452019 13.5685425,91.8837008 13.5685425,83.0452019 C13.5685425,79.6672162 14.6141741,76.533728 16.4003949,73.9514439 C14.2993609,72.1401527 11.5637054,71.0452019 8.5723215,71.0452019 L-0.106255113,71.0452019 Z\" transform=\"translate(45.568542, 83.045202) rotate(-225.000000) translate(-45.568542, -83.045202)\"></path>\n </g>\n</svg>"
},
"$:/core/images/list-bullet": {
"title": "$:/core/images/list-bullet",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-list-bullet tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M11.6363636,40.2727273 C18.0629498,40.2727273 23.2727273,35.0629498 23.2727273,28.6363636 C23.2727273,22.2097775 18.0629498,17 11.6363636,17 C5.20977746,17 0,22.2097775 0,28.6363636 C0,35.0629498 5.20977746,40.2727273 11.6363636,40.2727273 Z M11.6363636,75.1818182 C18.0629498,75.1818182 23.2727273,69.9720407 23.2727273,63.5454545 C23.2727273,57.1188684 18.0629498,51.9090909 11.6363636,51.9090909 C5.20977746,51.9090909 0,57.1188684 0,63.5454545 C0,69.9720407 5.20977746,75.1818182 11.6363636,75.1818182 Z M11.6363636,110.090909 C18.0629498,110.090909 23.2727273,104.881132 23.2727273,98.4545455 C23.2727273,92.0279593 18.0629498,86.8181818 11.6363636,86.8181818 C5.20977746,86.8181818 0,92.0279593 0,98.4545455 C0,104.881132 5.20977746,110.090909 11.6363636,110.090909 Z M34.9090909,22.8181818 L128,22.8181818 L128,34.4545455 L34.9090909,34.4545455 L34.9090909,22.8181818 Z M34.9090909,57.7272727 L128,57.7272727 L128,69.3636364 L34.9090909,69.3636364 L34.9090909,57.7272727 Z M34.9090909,92.6363636 L128,92.6363636 L128,104.272727 L34.9090909,104.272727 L34.9090909,92.6363636 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/list-number": {
"title": "$:/core/images/list-number",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-list-number tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M33.8390805,22.3563218 L128,22.3563218 L128,34.1264368 L33.8390805,34.1264368 L33.8390805,22.3563218 Z M33.8390805,57.6666667 L128,57.6666667 L128,69.4367816 L33.8390805,69.4367816 L33.8390805,57.6666667 Z M33.8390805,92.9770115 L128,92.9770115 L128,104.747126 L33.8390805,104.747126 L33.8390805,92.9770115 Z M0.379509711,42.6307008 L0.379509711,40.4082314 L1.37821948,40.4082314 C2.20382368,40.4082314 2.82301754,40.268077 3.23581964,39.9877642 C3.64862174,39.7074513 3.85501969,39.0400498 3.85501969,37.9855395 L3.85501969,22.7686318 C3.85501969,21.3270228 3.66193774,20.4327047 3.27576803,20.0856507 C2.88959832,19.7385967 1.79768657,19.5650723 0,19.5650723 L0,17.4226919 C3.50215975,17.2758613 6.25191314,16.4683055 8.24934266,15 L10.3666074,15 L10.3666074,37.865406 C10.3666074,38.786434 10.5164123,39.4404875 10.8160268,39.8275862 C11.1156412,40.2146849 11.764796,40.4082314 12.7635108,40.4082314 L13.7622206,40.4082314 L13.7622206,42.6307008 L0.379509711,42.6307008 Z M0.0798967812,77.9873934 L0.0798967812,76.0852799 C7.27064304,69.5312983 10.8659622,63.5046623 10.8659622,58.005191 C10.8659622,56.4434479 10.5397203,55.195407 9.88722667,54.2610308 C9.23473303,53.3266546 8.36253522,52.8594735 7.27060709,52.8594735 C6.3784219,52.8594735 5.61608107,53.1764892 4.98356173,53.8105302 C4.35104238,54.4445712 4.03478745,55.1753759 4.03478745,56.0029663 C4.03478745,56.9773871 4.28113339,57.8316611 4.77383268,58.5658139 C4.88036225,58.7259926 4.93362624,58.8461249 4.93362624,58.9262143 C4.93362624,59.0730449 4.77383427,59.2065252 4.45424555,59.3266593 C4.2411864,59.4067486 3.70188852,59.6336652 2.83633573,60.0074156 C1.99741533,60.3811661 1.47809145,60.5680386 1.2783485,60.5680386 C1.03865696,60.5680386 0.765679018,60.1976307 0.459406492,59.4568039 C0.153133966,58.715977 0,57.9184322 0,57.0641453 C0,55.1153036 0.848894811,53.5202138 2.5467099,52.2788283 C4.24452499,51.0374428 6.34512352,50.4167594 8.84856852,50.4167594 C11.3120649,50.4167594 13.3793735,51.0874979 15.0505562,52.4289952 C16.7217389,53.7704924 17.5573177,55.5224215 17.5573177,57.684835 C17.5573177,58.9662652 17.2743527,60.2076321 16.7084144,61.4089729 C16.142476,62.6103138 14.7875733,64.4623531 12.6436656,66.9651465 C10.4997579,69.4679398 8.40914641,71.7804862 6.3717683,73.902855 L17.8169822,73.902855 L16.7982982,79.6292176 L14.6810335,79.6292176 C14.7609307,79.3489048 14.8008787,79.0952922 14.8008787,78.8683723 C14.8008787,78.4812736 14.7010087,78.237672 14.5012658,78.1375603 C14.3015228,78.0374485 13.9020429,77.9873934 13.3028141,77.9873934 L0.0798967812,77.9873934 Z M12.2042333,97.1935484 C13.9486551,97.2335931 15.4400468,97.8309175 16.6784531,98.9855395 C17.9168594,100.140162 18.5360532,101.75861 18.5360532,103.840934 C18.5360532,106.830938 17.4041935,109.233584 15.14044,111.048943 C12.8766866,112.864303 10.1402492,113.771969 6.93104577,113.771969 C4.92030005,113.771969 3.26245842,113.388213 1.95747114,112.62069 C0.652483855,111.853166 0,110.848727 0,109.607341 C0,108.833144 0.26964894,108.209124 0.808954909,107.735261 C1.34826088,107.261399 1.93749375,107.024472 2.57667119,107.024472 C3.21584864,107.024472 3.73850152,107.224692 4.14464552,107.625139 C4.55078953,108.025586 4.92696644,108.67964 5.27318756,109.587319 C5.73925445,110.855401 6.51158227,111.489433 7.59019421,111.489433 C8.85523291,111.489433 9.87723568,111.012241 10.6562332,110.057842 C11.4352307,109.103444 11.8247236,107.371536 11.8247236,104.862069 C11.8247236,103.153495 11.7048796,101.838714 11.4651881,100.917686 C11.2254966,99.9966584 10.6728827,99.5361513 9.80732989,99.5361513 C9.22141723,99.5361513 8.62219737,99.843156 8.00965231,100.457175 C7.51695303,100.951059 7.07752513,101.197998 6.69135542,101.197998 C6.3584505,101.197998 6.08880156,101.051169 5.88240051,100.757508 C5.67599946,100.463847 5.57280049,100.183539 5.57280049,99.916574 C5.57280049,99.5962164 5.67599946,99.3225818 5.88240051,99.0956618 C6.08880156,98.8687419 6.57150646,98.5016711 7.33052967,97.9944383 C10.2068282,96.0722929 11.6449559,93.9766521 11.6449559,91.7074527 C11.6449559,90.5194601 11.3386879,89.615131 10.7261429,88.9944383 C10.1135978,88.3737455 9.37455999,88.0634038 8.5090072,88.0634038 C7.71003539,88.0634038 6.98431355,88.3270274 6.33181991,88.8542825 C5.67932627,89.3815377 5.35308434,90.0122321 5.35308434,90.7463849 C5.35308434,91.3871 5.60608828,91.9810874 6.11210376,92.5283648 C6.28521432,92.7285883 6.3717683,92.8954387 6.3717683,93.028921 C6.3717683,93.1490551 5.80250943,93.4560598 4.6639746,93.9499444 C3.52543978,94.4438289 2.80970494,94.6907675 2.51674861,94.6907675 C2.10394651,94.6907675 1.76771758,94.3570667 1.50805174,93.6896552 C1.24838591,93.0222436 1.11855494,92.4082342 1.11855494,91.8476085 C1.11855494,90.0989901 2.04734573,88.6240327 3.90495518,87.4226919 C5.76256463,86.2213511 7.86982116,85.6206897 10.226788,85.6206897 C12.2907985,85.6206897 14.0784711,86.0678487 15.5898594,86.9621802 C17.1012478,87.8565117 17.8569306,89.0778566 17.8569306,90.6262514 C17.8569306,91.987771 17.2876717,93.2491599 16.1491369,94.4104561 C15.0106021,95.5717522 13.6956474,96.4994404 12.2042333,97.1935484 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/locked-padlock": {
"title": "$:/core/images/locked-padlock",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-locked-padlock tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M96.4723753,64 L105,64 L105,96.0097716 C105,113.673909 90.6736461,128 73.001193,128 L55.998807,128 C38.3179793,128 24,113.677487 24,96.0097716 L24,64 L32.0000269,64 C32.0028554,48.2766389 32.3030338,16.2688026 64.1594984,16.2688041 C95.9543927,16.2688056 96.4648869,48.325931 96.4723753,64 Z M80.5749059,64 L48.4413579,64 C48.4426205,47.71306 48.5829272,31.9999996 64.1595001,31.9999996 C79.8437473,31.9999996 81.1369461,48.1359182 80.5749059,64 Z M67.7315279,92.3641717 C70.8232551,91.0923621 73,88.0503841 73,84.5 C73,79.8055796 69.1944204,76 64.5,76 C59.8055796,76 56,79.8055796 56,84.5 C56,87.947435 58.0523387,90.9155206 61.0018621,92.2491029 L55.9067479,115.020857 L72.8008958,115.020857 L67.7315279,92.3641717 L67.7315279,92.3641717 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/mail": {
"title": "$:/core/images/mail",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-mail tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M122.826782,104.894066 C121.945525,105.22777 120.990324,105.41043 119.993027,105.41043 L8.00697327,105.41043 C7.19458381,105.41043 6.41045219,105.289614 5.67161357,105.064967 L5.67161357,105.064967 L39.8346483,70.9019325 L60.6765759,91.7438601 C61.6118278,92.679112 62.8865166,93.0560851 64.0946097,92.8783815 C65.2975108,93.0473238 66.5641085,92.6696979 67.4899463,91.7438601 L88.5941459,70.6396605 C88.6693095,70.7292352 88.7490098,70.8162939 88.8332479,70.9005321 L122.826782,104.894066 Z M127.903244,98.6568194 C127.966933,98.2506602 128,97.8343714 128,97.4103789 L128,33.410481 C128,32.7414504 127.917877,32.0916738 127.763157,31.4706493 L94.2292399,65.0045665 C94.3188145,65.0797417 94.4058701,65.1594458 94.4901021,65.2436778 L127.903244,98.6568194 Z M0.205060636,99.2178117 C0.0709009529,98.6370366 0,98.0320192 0,97.4103789 L0,33.410481 C0,32.694007 0.0944223363,31.9995312 0.27147538,31.3387595 L0.27147538,31.3387595 L34.1777941,65.2450783 L0.205060636,99.2178117 L0.205060636,99.2178117 Z M5.92934613,25.6829218 C6.59211333,25.5051988 7.28862283,25.4104299 8.00697327,25.4104299 L119.993027,25.4104299 C120.759109,25.4104299 121.500064,25.5178649 122.201605,25.7184927 L122.201605,25.7184927 L64.0832611,83.8368368 L5.92934613,25.6829218 L5.92934613,25.6829218 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/menu-button": {
"title": "$:/core/images/menu-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-menu-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <rect x=\"0\" y=\"16\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"0\" y=\"56\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"0\" y=\"96\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n</svg>"
},
"$:/core/images/mono-block": {
"title": "$:/core/images/mono-block",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-mono-block tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M23.9653488,32.9670593 L24.3217888,32.9670593 C25.0766067,32.9670593 25.6497006,33.1592554 26.0410876,33.5436534 C26.4324747,33.9280514 26.6281653,34.4906619 26.6281653,35.2315017 C26.6281653,36.0562101 26.4219913,36.6502709 26.009637,37.0137017 C25.5972828,37.3771326 24.9158602,37.5588453 23.9653488,37.5588453 L17.6542639,37.5588453 C16.6897744,37.5588453 16.0048573,37.380627 15.5994921,37.0241852 C15.1941269,36.6677435 14.9914474,36.0701882 14.9914474,35.2315017 C14.9914474,34.4207713 15.1941269,33.8406885 15.5994921,33.4912358 C16.0048573,33.141783 16.6897744,32.9670593 17.6542639,32.9670593 L18.388111,32.9670593 L17.5284616,30.5139133 L8.47069195,30.5139133 L7.5691084,32.9670593 L8.30295547,32.9670593 C9.25346691,32.9670593 9.93488953,33.1452775 10.3472438,33.5017193 C10.759598,33.8581611 10.965772,34.4347494 10.965772,35.2315017 C10.965772,36.0562101 10.759598,36.6502709 10.3472438,37.0137017 C9.93488953,37.3771326 9.25346691,37.5588453 8.30295547,37.5588453 L2.89345418,37.5588453 C1.92896463,37.5588453 1.24404754,37.3771326 0.838682371,37.0137017 C0.433317198,36.6502709 0.230637652,36.0562101 0.230637652,35.2315017 C0.230637652,34.4906619 0.426328248,33.9280514 0.817715312,33.5436534 C1.20910238,33.1592554 1.78219626,32.9670593 2.53701417,32.9670593 L2.89345418,32.9670593 L8.51262607,17.3256331 L6.83526132,17.3256331 C5.88474988,17.3256331 5.20332727,17.1439204 4.79097304,16.7804895 C4.37861882,16.4170587 4.1724448,15.8299869 4.1724448,15.0192565 C4.1724448,14.1945481 4.37861882,13.6004873 4.79097304,13.2370565 C5.20332727,12.8736257 5.88474988,12.691913 6.83526132,12.691913 L14.6979086,12.691913 C15.9419603,12.691913 16.815579,13.3628521 17.318791,14.7047506 L17.318791,14.7676518 L23.9653488,32.9670593 Z M12.9786097,17.3256331 L9.9383861,26.1737321 L16.0188333,26.1737321 L12.9786097,17.3256331 Z M35.3809383,26.6979086 L35.3809383,33.0928616 L38.5259972,33.0928616 C40.7485166,33.0928616 42.3140414,32.8482484 43.2226185,32.3590146 C44.1311956,31.8697807 44.5854773,31.0520736 44.5854773,29.9058686 C44.5854773,28.7456855 44.1521624,27.9209895 43.2855197,27.4317556 C42.4188769,26.9425218 40.9022748,26.6979086 38.7356678,26.6979086 L35.3809383,26.6979086 Z M46.0741385,24.370565 C47.5977525,24.9296893 48.7159844,25.6949794 49.428868,26.666458 C50.1417516,27.6379366 50.498188,28.8784752 50.498188,30.388111 C50.498188,31.6601189 50.1906743,32.8202846 49.5756374,33.8686428 C48.9606006,34.917001 48.0799929,35.7766419 46.933788,36.4475911 C46.2628387,36.8389782 45.5115266,37.1220307 44.6798291,37.296757 C43.8481316,37.4714834 42.6704935,37.5588453 41.1468796,37.5588453 L39.3856466,37.5588453 L30.2020747,37.5588453 C29.2795194,37.5588453 28.6190637,37.3771326 28.2206876,37.0137017 C27.8223114,36.6502709 27.6231264,36.0562101 27.6231264,35.2315017 C27.6231264,34.4906619 27.811828,33.9280514 28.189237,33.5436534 C28.5666459,33.1592554 29.118773,32.9670593 29.8456347,32.9670593 L30.2020747,32.9670593 L30.2020747,17.3256331 L29.8456347,17.3256331 C29.118773,17.3256331 28.5666459,17.1299425 28.189237,16.7385554 C27.811828,16.3471683 27.6231264,15.7740744 27.6231264,15.0192565 C27.6231264,14.2085262 27.8258059,13.6179599 28.2311711,13.24754 C28.6365363,12.8771201 29.2934976,12.691913 30.2020747,12.691913 L39.8469219,12.691913 C42.796303,12.691913 45.0362615,13.2650068 46.5668644,14.4112118 C48.0974674,15.5574168 48.8627574,17.2347648 48.8627574,19.443306 C48.8627574,20.5335986 48.6286276,21.4945792 48.1603609,22.3262767 C47.6920943,23.1579742 46.9966938,23.8393968 46.0741385,24.370565 L46.0741385,24.370565 Z M35.3809383,17.1998307 L35.3809383,22.4835296 L38.2114913,22.4835296 C39.9307988,22.4835296 41.1433816,22.2808501 41.8492761,21.8754849 C42.5551706,21.4701197 42.9081126,20.7852027 42.9081126,19.8207131 C42.9081126,18.912136 42.5901154,18.2481858 41.9541114,17.8288425 C41.3181074,17.4094992 40.2872373,17.1998307 38.8614701,17.1998307 L35.3809383,17.1998307 Z M71.244119,13.3838259 C71.5236812,12.880614 71.8102281,12.5241775 72.1037684,12.3145059 C72.3973087,12.1048342 72.7677231,12 73.2150226,12 C73.8999499,12 74.3856819,12.1817127 74.6722332,12.5451435 C74.9587844,12.9085744 75.1020579,13.5305909 75.1020579,14.4112118 L75.143992,19.8626472 C75.143992,20.8271368 74.9867406,21.4771091 74.6722332,21.8125837 C74.3577257,22.1480584 73.7881263,22.3157932 72.9634178,22.3157932 C72.3763372,22.3157932 71.92555,22.1760142 71.6110425,21.896452 C71.2965351,21.6168898 71.0274605,21.0997075 70.8038107,20.3448896 C70.4403799,19.0169692 69.8602971,18.0629775 69.0635448,17.482886 C68.2667926,16.9027945 67.1625385,16.612753 65.7507494,16.612753 C63.5981206,16.612753 61.9487284,17.3396038 60.8025235,18.7933272 C59.6563185,20.2470506 59.0832246,22.3507245 59.0832246,25.104412 C59.0832246,27.8441215 59.6633074,29.9477954 60.8234905,31.4154969 C61.9836736,32.8831984 63.6400547,33.6170381 65.7926836,33.6170381 C67.2603851,33.6170381 68.878327,33.1278116 70.6465578,32.149344 C72.4147886,31.1708763 73.5295261,30.6816498 73.9908037,30.6816498 C74.53595,30.6816498 74.9937262,30.9122852 75.3641461,31.3735628 C75.734566,31.8348404 75.9197732,32.4079343 75.9197732,33.0928616 C75.9197732,34.3229353 74.836486,35.4831009 72.669879,36.5733935 C70.5032721,37.663686 68.0641285,38.2088241 65.3523753,38.2088241 C61.6901107,38.2088241 58.7267959,36.9997358 56.4623422,34.5815228 C54.1978885,32.1633099 53.0656786,29.0043046 53.0656786,25.104412 C53.0656786,21.3443006 54.2118664,18.22024 56.5042763,15.7321366 C58.7966863,13.2440331 61.7040894,12 65.226573,12 C66.2190187,12 67.1974717,12.1118232 68.1619613,12.3354729 C69.1264508,12.5591227 70.1538264,12.9085702 71.244119,13.3838259 L71.244119,13.3838259 Z M81.4645862,32.9670593 L81.4645862,17.3256331 L81.1081461,17.3256331 C80.3533282,17.3256331 79.7802344,17.1299425 79.3888473,16.7385554 C78.9974602,16.3471683 78.8017696,15.7740744 78.8017696,15.0192565 C78.8017696,14.2085262 79.0114381,13.6179599 79.4307814,13.24754 C79.8501247,12.8771201 80.5280528,12.691913 81.4645862,12.691913 L85.4063933,12.691913 L86.6434498,12.691913 C89.5648747,12.691913 91.7034933,12.8177141 93.0593699,13.06932 C94.4152465,13.320926 95.5684233,13.740263 96.5189347,14.3273436 C98.210286,15.3337675 99.5067362,16.7699967 100.408324,18.6360743 C101.309912,20.5021519 101.7607,22.6582429 101.7607,25.104412 C101.7607,27.6903623 101.247012,29.9512876 100.219621,31.8872557 C99.1922296,33.8232239 97.7350336,35.2874089 95.8479888,36.2798546 C94.9953241,36.7271541 93.9959043,37.0521403 92.8496993,37.2548229 C91.7034944,37.4575055 89.9981906,37.5588453 87.7337369,37.5588453 L85.4063933,37.5588453 L81.4645862,37.5588453 C80.5000966,37.5588453 79.8151795,37.380627 79.4098143,37.0241852 C79.0044492,36.6677435 78.8017696,36.0701882 78.8017696,35.2315017 C78.8017696,34.4906619 78.9974602,33.9280514 79.3888473,33.5436534 C79.7802344,33.1592554 80.3533282,32.9670593 81.1081461,32.9670593 L81.4645862,32.9670593 Z M86.8740874,17.2417648 L86.8740874,32.9670593 L88.0692098,32.9670593 C90.7110725,32.9670593 92.6609895,32.3205814 93.9190194,31.0276063 C95.1770492,29.7346312 95.8060547,27.7462749 95.8060547,25.0624779 C95.8060547,22.4206153 95.1665658,20.4497314 93.8875688,19.1497672 C92.6085718,17.849803 90.6831161,17.1998307 88.1111439,17.1998307 C87.7756693,17.1998307 87.5205727,17.2033252 87.3458463,17.2103142 C87.1711199,17.2173033 87.0138685,17.2277867 86.8740874,17.2417648 L86.8740874,17.2417648 Z M121.94052,17.1159625 L112.190837,17.1159625 L112.190837,22.4835296 L115.88104,22.4835296 L115.88104,22.2319249 C115.88104,21.4351727 116.055763,20.841112 116.405216,20.4497249 C116.754669,20.0583378 117.285829,19.8626472 117.998713,19.8626472 C118.627728,19.8626472 119.141415,20.0408655 119.539792,20.3973072 C119.938168,20.753749 120.137353,21.2045363 120.137353,21.7496826 C120.137353,21.7776388 120.144342,21.8684951 120.15832,22.0222543 C120.172298,22.1760135 120.179287,22.3297704 120.179287,22.4835296 L120.179287,26.8237109 C120.179287,27.7602442 120.011552,28.4311834 119.676077,28.8365486 C119.340603,29.2419138 118.795465,29.4445933 118.040647,29.4445933 C117.327763,29.4445933 116.789614,29.2558917 116.426183,28.8784827 C116.062752,28.5010738 115.88104,27.9419578 115.88104,27.201118 L115.88104,26.8237109 L112.190837,26.8237109 L112.190837,33.0928616 L121.94052,33.0928616 L121.94052,30.5977816 C121.94052,29.6612482 122.118738,28.9903091 122.47518,28.5849439 C122.831622,28.1795787 123.415199,27.9768992 124.225929,27.9768992 C125.022682,27.9768992 125.592281,28.1760842 125.934745,28.5744604 C126.277208,28.9728365 126.448438,29.6472701 126.448438,30.5977816 L126.448438,35.6718099 C126.448438,36.4266278 126.30167,36.9298322 126.008129,37.1814382 C125.714589,37.4330442 125.134506,37.5588453 124.267863,37.5588453 L107.095842,37.5588453 C106.173287,37.5588453 105.512831,37.3771326 105.114455,37.0137017 C104.716079,36.6502709 104.516894,36.0562101 104.516894,35.2315017 C104.516894,34.4906619 104.705595,33.9280514 105.083004,33.5436534 C105.460413,33.1592554 106.01254,32.9670593 106.739402,32.9670593 L107.095842,32.9670593 L107.095842,17.3256331 L106.739402,17.3256331 C106.026518,17.3256331 105.477886,17.126448 105.093488,16.7280719 C104.70909,16.3296957 104.516894,15.7600963 104.516894,15.0192565 C104.516894,14.2085262 104.719573,13.6179599 105.124938,13.24754 C105.530304,12.8771201 106.187265,12.691913 107.095842,12.691913 L124.267863,12.691913 C125.120528,12.691913 125.697116,12.8212085 125.997646,13.0798036 C126.298175,13.3383986 126.448438,13.8520864 126.448438,14.6208824 L126.448438,19.3175037 C126.448438,20.2680151 126.273714,20.9494377 125.924261,21.361792 C125.574808,21.7741462 125.008703,21.9803202 124.225929,21.9803202 C123.415199,21.9803202 122.831622,21.7706517 122.47518,21.3513084 C122.118738,20.9319652 121.94052,20.254037 121.94052,19.3175037 L121.94052,17.1159625 Z M19.7719369,47.6405477 C20.037521,47.1373358 20.3205734,46.7808993 20.6211028,46.5712277 C20.9216322,46.361556 21.295541,46.2567218 21.7428405,46.2567218 C22.4277678,46.2567218 22.9134998,46.4384345 23.2000511,46.8018653 C23.4866023,47.1652962 23.6298758,47.7873127 23.6298758,48.6679336 L23.6718099,54.119369 C23.6718099,55.0838586 23.5145586,55.7338309 23.2000511,56.0693055 C22.8855436,56.4047802 22.3089553,56.572515 21.4702687,56.572515 C20.8831881,56.572515 20.4254119,56.4292415 20.0969263,56.1426902 C19.7684407,55.856139 19.4993662,55.3424512 19.2896945,54.6016114 C18.9122856,53.2597129 18.3322027,52.3022267 17.5494286,51.7291243 C16.7666545,51.1560218 15.6693894,50.8694748 14.2576003,50.8694748 C12.1049715,50.8694748 10.4590738,51.5963256 9.31985785,53.050049 C8.18064193,54.5037724 7.61104252,56.6074463 7.61104252,59.3611338 C7.61104252,62.1148214 8.20859773,64.2429566 9.40372609,65.7456034 C10.5988544,67.2482501 12.2936748,67.9995623 14.488238,67.9995623 C14.9914499,67.9995623 15.5645438,67.9401562 16.2075368,67.8213423 C16.8505299,67.7025283 17.6053364,67.5173212 18.4719792,67.2657152 L18.4719792,63.9529198 L16.1027015,63.9529198 C15.1521901,63.9529198 14.4777564,63.7781961 14.0793803,63.4287433 C13.6810042,63.0792906 13.4818191,62.4992078 13.4818191,61.6884774 C13.4818191,60.8497908 13.6810042,60.2522356 14.0793803,59.8957938 C14.4777564,59.5393521 15.1521901,59.3611338 16.1027015,59.3611338 L23.6718099,59.3611338 C24.6502776,59.3611338 25.3386891,59.5358576 25.7370653,59.8853103 C26.1354414,60.2347631 26.3346265,60.8218348 26.3346265,61.6465433 C26.3346265,62.3873831 26.1354414,62.9569825 25.7370653,63.3553586 C25.3386891,63.7537347 24.7621008,63.9529198 24.0072829,63.9529198 L23.6718099,63.9529198 L23.6718099,68.9430799 L23.6718099,69.1946846 C23.6718099,69.6419841 23.6228873,69.9529924 23.5250405,70.1277188 C23.4271937,70.3024451 23.2315031,70.4806634 22.9379628,70.6623788 C22.1412106,71.1376345 20.8762107,71.5569715 19.1429251,71.9204023 C17.4096396,72.2838332 15.6554131,72.4655459 13.8801932,72.4655459 C10.2179286,72.4655459 7.25461383,71.2564576 4.99016011,68.8382446 C2.72570638,66.4200317 1.59349651,63.2610264 1.59349651,59.3611338 C1.59349651,55.6010224 2.73968428,52.4769618 5.03209423,49.9888583 C7.32450417,47.5007549 10.2319073,46.2567218 13.7543909,46.2567218 C14.7328585,46.2567218 15.7078171,46.368545 16.6792957,46.5921947 C17.6507743,46.8158445 18.6816444,47.165292 19.7719369,47.6405477 L19.7719369,47.6405477 Z M35.611576,51.5823548 L35.611576,56.4047785 L42.4678043,56.4047785 L42.4678043,51.5823548 L42.1323314,51.5823548 C41.3775135,51.5823548 40.8009251,51.3866642 40.402549,50.9952772 C40.0041729,50.6038901 39.8049878,50.0307962 39.8049878,49.2759783 C39.8049878,48.4512699 40.0111618,47.8572091 40.4235161,47.4937783 C40.8358703,47.1303474 41.5172929,46.9486347 42.4678043,46.9486347 L47.8773056,46.9486347 C48.8278171,46.9486347 49.5022507,47.1303474 49.9006269,47.4937783 C50.299003,47.8572091 50.498188,48.4512699 50.498188,49.2759783 C50.498188,50.0307962 50.3059919,50.6038901 49.9215939,50.9952772 C49.5371959,51.3866642 48.9745854,51.5823548 48.2337456,51.5823548 L47.8773056,51.5823548 L47.8773056,67.2237811 L48.2337456,67.2237811 C48.9885636,67.2237811 49.5616574,67.4159772 49.9530445,67.8003752 C50.3444316,68.1847732 50.5401222,68.7473837 50.5401222,69.4882235 C50.5401222,70.3129319 50.3374426,70.9069927 49.9320774,71.2704235 C49.5267123,71.6338543 48.8417952,71.815567 47.8773056,71.815567 L42.4678043,71.815567 C41.5033148,71.815567 40.8183977,71.6373488 40.4130325,71.280907 C40.0076674,70.9244652 39.8049878,70.32691 39.8049878,69.4882235 C39.8049878,68.7473837 40.0041729,68.1847732 40.402549,67.8003752 C40.8009251,67.4159772 41.3775135,67.2237811 42.1323314,67.2237811 L42.4678043,67.2237811 L42.4678043,61.0384986 L35.611576,61.0384986 L35.611576,67.2237811 L35.9470489,67.2237811 C36.7018668,67.2237811 37.2784552,67.4159772 37.6768313,67.8003752 C38.0752074,68.1847732 38.2743925,68.7473837 38.2743925,69.4882235 C38.2743925,70.3129319 38.0682185,70.9069927 37.6558642,71.2704235 C37.24351,71.6338543 36.5620874,71.815567 35.611576,71.815567 L30.2020747,71.815567 C29.2375851,71.815567 28.552668,71.6373488 28.1473029,71.280907 C27.7419377,70.9244652 27.5392581,70.32691 27.5392581,69.4882235 C27.5392581,68.7473837 27.7349487,68.1847732 28.1263358,67.8003752 C28.5177229,67.4159772 29.0908168,67.2237811 29.8456347,67.2237811 L30.2020747,67.2237811 L30.2020747,51.5823548 L29.8456347,51.5823548 C29.1047949,51.5823548 28.5421844,51.3866642 28.1577864,50.9952772 C27.7733884,50.6038901 27.5811923,50.0307962 27.5811923,49.2759783 C27.5811923,48.4512699 27.7803773,47.8572091 28.1787534,47.4937783 C28.5771296,47.1303474 29.2515632,46.9486347 30.2020747,46.9486347 L35.611576,46.9486347 C36.5481093,46.9486347 37.2260374,47.1303474 37.6453807,47.4937783 C38.064724,47.8572091 38.2743925,48.4512699 38.2743925,49.2759783 C38.2743925,50.0307962 38.0752074,50.6038901 37.6768313,50.9952772 C37.2784552,51.3866642 36.7018668,51.5823548 35.9470489,51.5823548 L35.611576,51.5823548 Z M67.365213,51.5823548 L67.365213,67.2237811 L70.887679,67.2237811 C71.8381904,67.2237811 72.519613,67.4019993 72.9319673,67.7584411 C73.3443215,68.1148829 73.5504955,68.6914712 73.5504955,69.4882235 C73.5504955,70.2989538 73.340827,70.8895201 72.9214837,71.25994 C72.5021404,71.6303599 71.8242123,71.815567 70.887679,71.815567 L58.4332458,71.815567 C57.4827343,71.815567 56.8013117,71.6338543 56.3889575,71.2704235 C55.9766033,70.9069927 55.7704292,70.3129319 55.7704292,69.4882235 C55.7704292,68.6774931 55.9731088,68.0974103 56.378474,67.7479575 C56.7838391,67.3985048 57.4687562,67.2237811 58.4332458,67.2237811 L61.9557117,67.2237811 L61.9557117,51.5823548 L58.4332458,51.5823548 C57.4827343,51.5823548 56.8013117,51.4006421 56.3889575,51.0372113 C55.9766033,50.6737805 55.7704292,50.0867087 55.7704292,49.2759783 C55.7704292,48.4512699 55.9731088,47.8641981 56.378474,47.5147453 C56.7838391,47.1652926 57.4687562,46.9905689 58.4332458,46.9905689 L70.887679,46.9905689 C71.8801247,46.9905689 72.5720308,47.1652926 72.9634178,47.5147453 C73.3548049,47.8641981 73.5504955,48.4512699 73.5504955,49.2759783 C73.5504955,50.0867087 73.347816,50.6737805 72.9424508,51.0372113 C72.5370856,51.4006421 71.8521685,51.5823548 70.887679,51.5823548 L67.365213,51.5823548 Z M97.8608265,51.5823548 L97.8608265,63.1771386 L97.8608265,63.5755127 C97.8608265,65.4485794 97.7385199,66.8044357 97.493903,67.6431222 C97.2492861,68.4818088 96.8404325,69.2296264 96.26733,69.8865976 C95.5264902,70.7392623 94.4991146,71.3822457 93.1851723,71.815567 C91.87123,72.2488884 90.2917273,72.4655459 88.4466169,72.4655459 C87.1466527,72.4655459 85.8921362,72.3397448 84.6830298,72.0881388 C83.4739233,71.8365328 82.3102631,71.4591296 81.1920144,70.9559176 C80.5769776,70.6763554 80.175113,70.31293 79.9864085,69.8656305 C79.797704,69.418331 79.7033532,68.6914802 79.7033532,67.6850564 L79.7033532,63.3658422 C79.7033532,62.1637247 79.8780769,61.3250508 80.2275297,60.849795 C80.5769824,60.3745393 81.185021,60.136915 82.0516638,60.136915 C83.2957156,60.136915 83.9806326,61.0524675 84.1064356,62.8835998 C84.1204137,63.2050963 84.1413806,63.4497096 84.1693368,63.6174469 C84.3370741,65.2389076 84.7144774,66.3466561 85.301558,66.9407258 C85.8886386,67.5347954 86.8251579,67.8318258 88.1111439,67.8318258 C89.7046484,67.8318258 90.8263749,67.4089943 91.476357,66.5633187 C92.126339,65.7176431 92.4513252,64.1765796 92.4513252,61.9400821 L92.4513252,51.5823548 L88.9288593,51.5823548 C87.9783478,51.5823548 87.2969252,51.4006421 86.884571,51.0372113 C86.4722168,50.6737805 86.2660427,50.0867087 86.2660427,49.2759783 C86.2660427,48.4512699 86.4652278,47.8641981 86.8636039,47.5147453 C87.26198,47.1652926 87.9503916,46.9905689 88.9288593,46.9905689 L99.6220595,46.9905689 C100.600527,46.9905689 101.288939,47.1652926 101.687315,47.5147453 C102.085691,47.8641981 102.284876,48.4512699 102.284876,49.2759783 C102.284876,50.0867087 102.078702,50.6737805 101.666348,51.0372113 C101.253994,51.4006421 100.572571,51.5823548 99.6220595,51.5823548 L97.8608265,51.5823548 Z M112.505343,51.5823548 L112.505343,57.9353738 L118.984165,51.4565525 C118.257303,51.3726838 117.747109,51.1665098 117.453569,50.8380242 C117.160029,50.5095387 117.013261,49.9888619 117.013261,49.2759783 C117.013261,48.4512699 117.212446,47.8572091 117.610822,47.4937783 C118.009198,47.1303474 118.683632,46.9486347 119.634143,46.9486347 L124.771073,46.9486347 C125.721584,46.9486347 126.396018,47.1303474 126.794394,47.4937783 C127.19277,47.8572091 127.391955,48.4512699 127.391955,49.2759783 C127.391955,50.0447743 127.19277,50.6213627 126.794394,51.0057607 C126.396018,51.3901587 125.812441,51.5823548 125.043645,51.5823548 L124.561402,51.5823548 L118.459988,57.641835 C119.592215,58.4805215 120.626579,59.5812811 121.563113,60.9441468 C122.499646,62.3070125 123.596911,64.400203 124.854941,67.2237811 L125.127513,67.2237811 L125.546854,67.2237811 C126.371563,67.2237811 126.98659,67.4124827 127.391955,67.7898917 C127.79732,68.1673006 128,68.7334056 128,69.4882235 C128,70.3129319 127.793826,70.9069927 127.381472,71.2704235 C126.969118,71.6338543 126.287695,71.815567 125.337183,71.815567 L122.758235,71.815567 C121.626008,71.815567 120.710456,71.0537715 120.01155,69.5301576 C119.885747,69.2505954 119.787902,69.026949 119.718012,68.8592117 C118.795456,66.9022764 117.949793,65.3926632 117.180997,64.3303269 C116.412201,63.2679906 115.510627,62.2965265 114.476247,61.4159056 L112.505343,63.302941 L112.505343,67.2237811 L112.840816,67.2237811 C113.595634,67.2237811 114.172222,67.4159772 114.570599,67.8003752 C114.968975,68.1847732 115.16816,68.7473837 115.16816,69.4882235 C115.16816,70.3129319 114.961986,70.9069927 114.549631,71.2704235 C114.137277,71.6338543 113.455855,71.815567 112.505343,71.815567 L107.095842,71.815567 C106.131352,71.815567 105.446435,71.6373488 105.04107,71.280907 C104.635705,70.9244652 104.433025,70.32691 104.433025,69.4882235 C104.433025,68.7473837 104.628716,68.1847732 105.020103,67.8003752 C105.41149,67.4159772 105.984584,67.2237811 106.739402,67.2237811 L107.095842,67.2237811 L107.095842,51.5823548 L106.739402,51.5823548 C105.998562,51.5823548 105.435952,51.3866642 105.051554,50.9952772 C104.667156,50.6038901 104.474959,50.0307962 104.474959,49.2759783 C104.474959,48.4512699 104.674145,47.8572091 105.072521,47.4937783 C105.470897,47.1303474 106.14533,46.9486347 107.095842,46.9486347 L112.505343,46.9486347 C113.441877,46.9486347 114.119805,47.1303474 114.539148,47.4937783 C114.958491,47.8572091 115.16816,48.4512699 115.16816,49.2759783 C115.16816,50.0307962 114.968975,50.6038901 114.570599,50.9952772 C114.172222,51.3866642 113.595634,51.5823548 112.840816,51.5823548 L112.505343,51.5823548 Z M13.439885,96.325622 L17.4445933,84.4372993 C17.6961993,83.6545252 18.0456468,83.0849258 18.4929463,82.728484 C18.9402458,82.3720422 19.5343065,82.193824 20.2751463,82.193824 L23.5460076,82.193824 C24.496519,82.193824 25.1779416,82.3755367 25.5902958,82.7389675 C26.0026501,83.1023984 26.2088241,83.6964591 26.2088241,84.5211676 C26.2088241,85.2759855 26.009639,85.8490794 25.6112629,86.2404664 C25.2128868,86.6318535 24.6362984,86.8275441 23.8814805,86.8275441 L23.5460076,86.8275441 L24.1330852,102.46897 L24.4895252,102.46897 C25.2443431,102.46897 25.8104481,102.661166 26.187857,103.045564 C26.565266,103.429962 26.7539676,103.992573 26.7539676,104.733413 C26.7539676,105.558121 26.5547826,106.152182 26.1564064,106.515613 C25.7580303,106.879044 25.0835967,107.060756 24.1330852,107.060756 L19.4154969,107.060756 C18.4649855,107.060756 17.7905518,106.882538 17.3921757,106.526096 C16.9937996,106.169654 16.7946145,105.572099 16.7946145,104.733413 C16.7946145,103.992573 16.9868106,103.429962 17.3712086,103.045564 C17.7556066,102.661166 18.325206,102.46897 19.0800239,102.46897 L19.4154969,102.46897 L19.1219581,89.6790642 L16.0607674,99.1981091 C15.8371177,99.9109927 15.5191204,100.42468 15.1067662,100.739188 C14.694412,101.053695 14.1248126,101.210947 13.3979509,101.210947 C12.6710892,101.210947 12.0945008,101.053695 11.6681685,100.739188 C11.2418362,100.42468 10.91685,99.9109927 10.6932002,99.1981091 L7.65297664,89.6790642 L7.35943781,102.46897 L7.69491075,102.46897 C8.44972866,102.46897 9.01932808,102.661166 9.40372609,103.045564 C9.78812409,103.429962 9.98032022,103.992573 9.98032022,104.733413 C9.98032022,105.558121 9.77764067,106.152182 9.3722755,106.515613 C8.96691032,106.879044 8.29597114,107.060756 7.35943781,107.060756 L2.62088241,107.060756 C1.68434908,107.060756 1.01340989,106.879044 0.608044719,106.515613 C0.202679546,106.152182 0,105.558121 0,104.733413 C0,103.992573 0.192196121,103.429962 0.57659413,103.045564 C0.960992139,102.661166 1.53059155,102.46897 2.28540946,102.46897 L2.62088241,102.46897 L3.22892713,86.8275441 L2.89345418,86.8275441 C2.13863627,86.8275441 1.56204791,86.6318535 1.16367179,86.2404664 C0.765295672,85.8490794 0.5661106,85.2759855 0.5661106,84.5211676 C0.5661106,83.6964591 0.772284622,83.1023984 1.18463885,82.7389675 C1.59699308,82.3755367 2.27841569,82.193824 3.22892713,82.193824 L6.49978838,82.193824 C7.22665007,82.193824 7.81022738,82.3685477 8.25053783,82.7180005 C8.69084827,83.0674532 9.05077919,83.6405471 9.33034138,84.4372993 L13.439885,96.325622 Z M43.8935644,98.3803938 L43.8935644,86.8275441 L42.7403761,86.8275441 C41.8178209,86.8275441 41.1573651,86.6458314 40.758989,86.2824006 C40.3606129,85.9189697 40.1614278,85.3318979 40.1614278,84.5211676 C40.1614278,83.7104372 40.3606129,83.119871 40.758989,82.7494511 C41.1573651,82.3790312 41.8178209,82.193824 42.7403761,82.193824 L48.6950209,82.193824 C49.6035981,82.193824 50.2605593,82.3790312 50.6659245,82.7494511 C51.0712897,83.119871 51.2739692,83.7104372 51.2739692,84.5211676 C51.2739692,85.2620074 51.0817731,85.8316068 50.6973751,86.2299829 C50.3129771,86.628359 49.7643445,86.8275441 49.051461,86.8275441 L48.6950209,86.8275441 L48.6950209,105.865634 C48.6950209,106.522605 48.6251315,106.934953 48.4853504,107.10269 C48.3455693,107.270428 48.0310665,107.354295 47.5418327,107.354295 L45.4451268,107.354295 C44.7741775,107.354295 44.3024234,107.284406 44.0298503,107.144625 C43.7572771,107.004843 43.5231473,106.76023 43.3274538,106.410777 L34.6051571,91.0838571 L34.6051571,102.46897 L35.8212466,102.46897 C36.7298237,102.46897 37.379796,102.643694 37.7711831,102.993147 C38.1625701,103.3426 38.3582607,103.922682 38.3582607,104.733413 C38.3582607,105.558121 38.1590757,106.152182 37.7606995,106.515613 C37.3623234,106.879044 36.7158456,107.060756 35.8212466,107.060756 L29.8037005,107.060756 C28.8951234,107.060756 28.2381621,106.879044 27.832797,106.515613 C27.4274318,106.152182 27.2247522,105.558121 27.2247522,104.733413 C27.2247522,103.992573 27.4134539,103.429962 27.7908629,103.045564 C28.1682718,102.661166 28.7273878,102.46897 29.4682276,102.46897 L29.8037005,102.46897 L29.8037005,86.8275441 L29.4682276,86.8275441 C28.755344,86.8275441 28.203217,86.628359 27.8118299,86.2299829 C27.4204428,85.8316068 27.2247522,85.2620074 27.2247522,84.5211676 C27.2247522,83.7104372 27.4309263,83.119871 27.8432805,82.7494511 C28.2556347,82.3790312 28.9091015,82.193824 29.8037005,82.193824 L33.2422983,82.193824 C34.0670067,82.193824 34.6261227,82.3021527 34.919663,82.5188134 C35.2132033,82.7354741 35.5416839,83.1722835 35.9051148,83.8292546 L43.8935644,98.3803938 Z M64.6604624,86.3662688 C62.8572863,86.3662688 61.4420239,87.0931196 60.4146329,88.546843 C59.3872418,90.0005663 58.873554,92.0203728 58.873554,94.6063231 C58.873554,97.1922733 59.3907363,99.2190688 60.4251164,100.68677 C61.4594965,102.154472 62.8712644,102.888312 64.6604624,102.888312 C66.4636385,102.888312 67.8823953,102.157966 68.9167754,100.697254 C69.9511555,99.2365414 70.4683378,97.2062514 70.4683378,94.6063231 C70.4683378,92.0203728 69.95465,90.0005663 68.9272589,88.546843 C67.8998679,87.0931196 66.4776166,86.3662688 64.6604624,86.3662688 L64.6604624,86.3662688 Z M64.6604624,81.501911 C68.0990773,81.501911 70.929602,82.7319662 73.1521214,85.1921135 C75.3746408,87.6522607 76.4858838,90.7902992 76.4858838,94.6063231 C76.4858838,98.4503032 75.3816297,101.595331 73.1730884,104.0415 C70.9645471,106.487669 68.1270335,107.710735 64.6604624,107.710735 C61.2358256,107.710735 58.4053009,106.477185 56.1688034,104.010049 C53.9323059,101.542913 52.8140739,98.4083688 52.8140739,94.6063231 C52.8140739,90.7763211 53.9218224,87.6347881 56.1373528,85.1816299 C58.3528831,82.7284717 61.1938912,81.501911 64.6604624,81.501911 L64.6604624,81.501911 Z M87.4611651,98.1707232 L87.4611651,102.46897 L89.6207722,102.46897 C90.5293493,102.46897 91.1758272,102.643694 91.5602252,102.993147 C91.9446232,103.3426 92.1368193,103.922682 92.1368193,104.733413 C92.1368193,105.558121 91.9411287,106.152182 91.5497417,106.515613 C91.1583546,106.879044 90.5153712,107.060756 89.6207722,107.060756 L82.3661697,107.060756 C81.4436145,107.060756 80.7831587,106.879044 80.3847826,106.515613 C79.9864065,106.152182 79.7872214,105.558121 79.7872214,104.733413 C79.7872214,103.992573 79.9759231,103.429962 80.353332,103.045564 C80.730741,102.661166 81.282868,102.46897 82.0097297,102.46897 L82.3661697,102.46897 L82.3661697,86.8275441 L82.0097297,86.8275441 C81.2968461,86.8275441 80.7482136,86.628359 80.3638155,86.2299829 C79.9794175,85.8316068 79.7872214,85.2620074 79.7872214,84.5211676 C79.7872214,83.7104372 79.989901,83.119871 80.3952661,82.7494511 C80.8006313,82.3790312 81.4575926,82.193824 82.3661697,82.193824 L91.0255652,82.193824 C94.450202,82.193824 97.0396079,82.8507853 98.7938606,84.1647276 C100.548113,85.4786699 101.425227,87.414609 101.425227,89.972603 C101.425227,92.6703781 100.551608,94.7111515 98.8043442,96.0949843 C97.0570805,97.4788171 94.4641801,98.1707232 91.0255652,98.1707232 L87.4611651,98.1707232 Z M87.4611651,86.8275441 L87.4611651,93.4531348 L90.4384875,93.4531348 C92.0879044,93.4531348 93.328443,93.1735768 94.1601405,92.6144525 C94.9918381,92.0553281 95.4076806,91.2166541 95.4076806,90.0984053 C95.4076806,89.0500471 94.9778602,88.2428234 94.1182064,87.67671 C93.2585527,87.1105966 92.031992,86.8275441 90.4384875,86.8275441 L87.4611651,86.8275441 Z M114.727851,107.396229 L113.092421,109.03166 C113.69348,108.835966 114.284046,108.689198 114.864137,108.591352 C115.444229,108.493505 116.013828,108.444582 116.572953,108.444582 C117.677223,108.444582 118.840883,108.608823 120.063968,108.937308 C121.287053,109.265794 122.031376,109.430034 122.29696,109.430034 C122.744259,109.430034 123.327837,109.279772 124.047709,108.979242 C124.767582,108.678713 125.253314,108.52845 125.50492,108.52845 C126.02211,108.52845 126.45193,108.727636 126.794394,109.126012 C127.136858,109.524388 127.308087,110.024098 127.308087,110.625156 C127.308087,111.421909 126.836333,112.099837 125.892811,112.658961 C124.949288,113.218086 123.792617,113.497643 122.422762,113.497643 C121.486229,113.497643 120.28413,113.277492 118.816428,112.837181 C117.348727,112.396871 116.286406,112.176719 115.629435,112.176719 C114.636989,112.176719 113.518757,112.449288 112.274706,112.994434 C111.030654,113.53958 110.261869,113.812149 109.968329,113.812149 C109.36727,113.812149 108.857077,113.612964 108.437734,113.214588 C108.01839,112.816212 107.808722,112.337469 107.808722,111.778345 C107.808722,111.386958 107.941512,110.971115 108.207096,110.530805 C108.47268,110.090494 108.94094,109.520895 109.611889,108.821989 L111.729562,106.683349 C109.395218,105.830685 107.536157,104.29661 106.152324,102.08108 C104.768491,99.8655494 104.076585,97.3180772 104.076585,94.4385866 C104.076585,90.6365409 105.180839,87.5299526 107.389381,85.1187288 C109.597922,82.7075049 112.442425,81.501911 115.922974,81.501911 C119.389545,81.501911 122.227059,82.7109994 124.4356,85.1292123 C126.644141,87.5474252 127.748395,90.650519 127.748395,94.4385866 C127.748395,98.2126762 126.65113,101.322759 124.456567,103.768928 C122.262004,106.215097 119.480402,107.438163 116.111677,107.438163 C115.888028,107.438163 115.660887,107.434669 115.430248,107.42768 C115.199609,107.420691 114.965479,107.410207 114.727851,107.396229 L114.727851,107.396229 Z M115.922974,86.3662688 C114.119798,86.3662688 112.704535,87.0931196 111.677144,88.546843 C110.649753,90.0005663 110.136065,92.0203728 110.136065,94.6063231 C110.136065,97.1922733 110.653248,99.2190688 111.687628,100.68677 C112.722008,102.154472 114.133776,102.888312 115.922974,102.888312 C117.72615,102.888312 119.144907,102.157966 120.179287,100.697254 C121.213667,99.2365414 121.730849,97.2062514 121.730849,94.6063231 C121.730849,92.0203728 121.217161,90.0005663 120.18977,88.546843 C119.162379,87.0931196 117.740128,86.3662688 115.922974,86.3662688 L115.922974,86.3662688 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/mono-line": {
"title": "$:/core/images/mono-line",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-mono-line tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M60.4374591,84.522627 L61.3450888,84.522627 C63.2671377,84.522627 64.7264493,85.0120303 65.7230673,85.9908515 C66.7196852,86.9696727 67.2179868,88.4022896 67.2179868,90.288745 C67.2179868,92.3887615 66.6929905,93.9014625 65.6429823,94.8268935 C64.5929741,95.7523244 62.857817,96.215033 60.4374591,96.215033 L44.3670747,96.215033 C41.9111232,96.215033 40.1670679,95.7612227 39.1348565,94.8535884 C38.102645,93.9459542 37.586547,92.424355 37.586547,90.288745 C37.586547,88.2243221 38.102645,86.747214 39.1348565,85.8573766 C40.1670679,84.9675391 41.9111232,84.522627 44.3670747,84.522627 L46.235724,84.522627 L44.0467348,78.2759992 L20.9822627,78.2759992 L18.6864935,84.522627 L20.5551429,84.522627 C22.9755008,84.522627 24.7106579,84.9764373 25.7606661,85.8840716 C26.8106743,86.7917058 27.3356705,88.2599156 27.3356705,90.288745 C27.3356705,92.3887615 26.8106743,93.9014625 25.7606661,94.8268935 C24.7106579,95.7523244 22.9755008,96.215033 20.5551429,96.215033 L6.78052766,96.215033 C4.32457622,96.215033 2.58052094,95.7523244 1.54830946,94.8268935 C0.516097994,93.9014625 0,92.3887615 0,90.288745 C0,88.4022896 0.498301511,86.9696727 1.49491948,85.9908515 C2.49153745,85.0120303 3.95084902,84.522627 5.87289797,84.522627 L6.78052766,84.522627 L21.0890427,44.6937008 L16.8178442,44.6937008 C14.3974863,44.6937008 12.6623292,44.2309922 11.612321,43.3055613 C10.5623128,42.3801303 10.0373165,40.8852258 10.0373165,38.8208028 C10.0373165,36.7207864 10.5623128,35.2080854 11.612321,34.2826544 C12.6623292,33.3572234 14.3974863,32.8945149 16.8178442,32.8945149 L36.8390873,32.8945149 C40.0069087,32.8945149 42.231469,34.6029772 43.512835,38.0199531 L43.512835,38.180123 L60.4374591,84.522627 Z M32.4611088,44.6937008 L24.7195615,67.224273 L40.2026561,67.224273 L32.4611088,44.6937008 Z M89.5058233,68.5590225 L89.5058233,84.8429669 L97.5143205,84.8429669 C103.173687,84.8429669 107.160099,84.22009 109.473676,82.9743176 C111.787254,81.7285451 112.944025,79.6463566 112.944025,76.7276897 C112.944025,73.7734293 111.840643,71.6734444 109.633846,70.4276719 C107.427049,69.1818994 103.565213,68.5590225 98.0482204,68.5590225 L89.5058233,68.5590225 Z M116.734714,62.6327346 C120.614405,64.0564746 123.461842,66.0051894 125.277111,68.4789376 C127.092379,70.9526857 128,74.1115614 128,77.9556593 C128,81.1946677 127.216955,84.1488838 125.650841,86.8183962 C124.084727,89.4879087 121.84237,91.676876 118.923703,93.385364 C117.215215,94.3819819 115.302093,95.1027395 113.18428,95.5476582 C111.066467,95.9925769 108.06776,96.215033 104.188068,96.215033 L99.7033098,96.215033 L76.3184979,96.215033 C73.9693269,96.215033 72.2875593,95.7523244 71.2731446,94.8268935 C70.2587299,93.9014625 69.7515301,92.3887615 69.7515301,90.288745 C69.7515301,88.4022896 70.2320352,86.9696727 71.1930596,85.9908515 C72.1540841,85.0120303 73.5600062,84.522627 75.4108682,84.522627 L76.3184979,84.522627 L76.3184979,44.6937008 L75.4108682,44.6937008 C73.5600062,44.6937008 72.1540841,44.1953993 71.1930596,43.1987813 C70.2320352,42.2021633 69.7515301,40.7428518 69.7515301,38.8208028 C69.7515301,36.7563799 70.2676281,35.2525771 71.2998396,34.3093494 C72.3320511,33.3661217 74.0049204,32.8945149 76.3184979,32.8945149 L100.877889,32.8945149 C108.388118,32.8945149 114.09189,34.3538264 117.989378,37.2724934 C121.886867,40.1911603 123.835581,44.4623161 123.835581,50.0860889 C123.835581,52.8623819 123.239399,55.3093982 122.047017,57.4272114 C120.854635,59.5450246 119.083885,61.2801816 116.734714,62.6327346 L116.734714,62.6327346 Z M89.5058233,44.3733609 L89.5058233,57.8276363 L96.7134708,57.8276363 C101.091471,57.8276363 104.179161,57.3115383 105.976633,56.2793268 C107.774104,55.2471153 108.672827,53.50306 108.672827,51.0471086 C108.672827,48.7335312 107.863087,47.0428653 106.243583,45.9750604 C104.624078,44.9072554 101.999097,44.3733609 98.3685602,44.3733609 L89.5058233,44.3733609 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/new-button": {
"title": "$:/core/images/new-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M56,72 L8.00697327,72 C3.59075293,72 0,68.418278 0,64 C0,59.5907123 3.58484404,56 8.00697327,56 L56,56 L56,8.00697327 C56,3.59075293 59.581722,0 64,0 C68.4092877,0 72,3.58484404 72,8.00697327 L72,56 L119.993027,56 C124.409247,56 128,59.581722 128,64 C128,68.4092877 124.415156,72 119.993027,72 L72,72 L72,119.993027 C72,124.409247 68.418278,128 64,128 C59.5907123,128 56,124.415156 56,119.993027 L56,72 L56,72 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/new-here-button": {
"title": "$:/core/images/new-here-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-here-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n \t<g transform=\"translate(52.233611, 64.389922) rotate(75.000000) translate(-52.233611, -64.389922) translate(-7.734417, 3.702450)\">\n\t <path d=\"M18.9270186,45.959338 L18.9080585,49.6521741 C18.8884833,53.4648378 21.0574548,58.7482162 23.7526408,61.4434022 L78.5671839,116.257945 C81.2617332,118.952495 85.6348701,118.950391 88.3334363,116.251825 L115.863237,88.7220241 C118.555265,86.0299959 118.564544,81.6509578 115.869358,78.9557717 L61.0548144,24.1412286 C58.3602652,21.4466794 53.0787224,19.2788426 49.2595808,19.3006519 L25.9781737,19.4336012 C22.1633003,19.4553862 19.0471195,22.5673232 19.0275223,26.3842526 L18.9871663,34.2443819 C19.0818862,34.255617 19.1779758,34.2665345 19.2754441,34.2771502 C22.6891275,34.6489512 27.0485594,34.2348566 31.513244,33.2285542 C31.7789418,32.8671684 32.075337,32.5211298 32.4024112,32.1940556 C34.8567584,29.7397084 38.3789778,29.0128681 41.4406288,30.0213822 C41.5958829,29.9543375 41.7503946,29.8866669 41.9041198,29.8183808 L42.1110981,30.2733467 C43.1114373,30.6972371 44.0473796,31.3160521 44.8614145,32.1300869 C48.2842088,35.5528813 48.2555691,41.130967 44.7974459,44.5890903 C41.4339531,47.952583 36.0649346,48.0717177 32.6241879,44.9262969 C27.8170558,45.8919233 23.0726921,46.2881596 18.9270186,45.959338 Z\"></path>\n\t <path d=\"M45.4903462,38.8768094 C36.7300141,42.6833154 26.099618,44.7997354 18.1909048,43.9383587 C7.2512621,42.7468685 1.50150083,35.8404432 4.66865776,24.7010202 C7.51507386,14.6896965 15.4908218,6.92103848 24.3842626,4.38423012 C34.1310219,1.60401701 42.4070208,6.15882777 42.4070209,16.3101169 L34.5379395,16.310117 C34.5379394,11.9285862 31.728784,10.3825286 26.5666962,11.8549876 C20.2597508,13.6540114 14.3453742,19.4148216 12.2444303,26.8041943 C10.4963869,32.9523565 12.6250796,35.5092726 19.0530263,36.2093718 C25.5557042,36.9176104 35.0513021,34.9907189 42.7038419,31.5913902 L42.7421786,31.6756595 C44.3874154,31.5384763 47.8846101,37.3706354 45.9274416,38.6772897 L45.9302799,38.6835285 C45.9166992,38.6895612 45.9031139,38.6955897 45.8895238,38.7016142 C45.8389288,38.7327898 45.7849056,38.7611034 45.7273406,38.7863919 C45.6506459,38.8200841 45.571574,38.8501593 45.4903462,38.8768094 Z\"></path>\n </g>\n <rect x=\"96\" y=\"80\" width=\"16\" height=\"48\" rx=\"8\"></rect>\n <rect x=\"80\" y=\"96\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n </g>\n </g>\n</svg>"
},
"$:/core/images/new-image-button": {
"title": "$:/core/images/new-image-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-image-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M81.3619177,73.6270062 L97.1875317,46.2162388 C97.91364,44.9585822 97.4824378,43.3533085 96.2260476,42.6279312 L46.2162388,13.7547547 C44.9585822,13.0286463 43.3533085,13.4598485 42.6279312,14.7162388 L30.0575956,36.4886988 L40.0978909,31.2276186 C43.1404959,29.6333041 46.8692155,31.3421319 47.6479264,34.6877101 L51.2545483,52.3903732 L61.1353556,53.2399953 C63.2899974,53.4346096 65.1046382,54.9309951 65.706105,57.0091178 C65.7395572,57.1246982 65.8069154,57.3539875 65.9047035,57.6813669 C66.0696435,58.2335608 66.2581528,58.852952 66.4667073,59.5238092 C67.0618822,61.4383079 67.6960725,63.3742727 68.3393254,65.2021174 C68.5462918,65.7902259 68.7511789,66.3583016 68.953259,66.9034738 C69.5777086,68.5881157 70.1617856,70.0172008 70.6783305,71.110045 C70.9334784,71.6498566 71.1627732,72.0871602 71.4035746,72.5373068 C71.6178999,72.7492946 71.9508843,72.9623307 72.4151452,73.1586945 C73.5561502,73.6412938 75.1990755,73.899146 77.0720271,73.9171651 C77.9355886,73.9254732 78.7819239,73.8832103 79.5638842,73.8072782 C80.0123946,73.7637257 80.3172916,73.7224469 80.4352582,73.7027375 C80.7503629,73.6500912 81.0598053,73.6256267 81.3619177,73.6270062 L81.3619177,73.6270062 L81.3619177,73.6270062 L81.3619177,73.6270062 Z M37.4707881,2.64867269 C38.9217993,0.135447653 42.1388058,-0.723707984 44.6486727,0.725364314 L108.293614,37.4707881 C110.806839,38.9217993 111.665994,42.1388058 110.216922,44.6486727 L73.4714982,108.293614 C72.0204871,110.806839 68.8034805,111.665994 66.2936136,110.216922 L2.64867269,73.4714982 C0.135447653,72.0204871 -0.723707984,68.8034805 0.725364314,66.2936136 L37.4707881,2.64867269 L37.4707881,2.64867269 L37.4707881,2.64867269 L37.4707881,2.64867269 Z M80.3080975,53.1397764 C82.8191338,54.5895239 86.0299834,53.7291793 87.4797308,51.218143 C88.9294783,48.7071068 88.0691338,45.4962571 85.5580975,44.0465097 C83.0470612,42.5967622 79.8362116,43.4571068 78.3864641,45.968143 C76.9367166,48.4791793 77.7970612,51.6900289 80.3080975,53.1397764 L80.3080975,53.1397764 L80.3080975,53.1397764 L80.3080975,53.1397764 Z M96,112 L88.0070969,112 C83.5881712,112 80,108.418278 80,104 C80,99.5907123 83.5848994,96 88.0070969,96 L96,96 L96,88.0070969 C96,83.5881712 99.581722,80 104,80 C108.409288,80 112,83.5848994 112,88.0070969 L112,96 L119.992903,96 C124.411829,96 128,99.581722 128,104 C128,108.409288 124.415101,112 119.992903,112 L112,112 L112,119.992903 C112,124.411829 108.418278,128 104,128 C99.5907123,128 96,124.415101 96,119.992903 L96,112 L96,112 Z M33.3471097,51.7910932 C40.7754579,59.7394511 42.3564368,62.4818351 40.7958321,65.1848818 C39.2352273,67.8879286 26.9581062,62.8571718 24.7019652,66.7649227 C22.4458242,70.6726735 23.7947046,70.0228006 22.2648667,72.6725575 L41.9944593,84.0634431 C41.9944593,84.0634431 36.3904568,75.8079231 37.7602356,73.4353966 C40.2754811,69.0788636 46.5298923,72.1787882 48.1248275,69.4162793 C50.538989,65.234829 43.0222016,59.7770885 33.3471097,51.7910932 L33.3471097,51.7910932 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/new-journal-button": {
"title": "$:/core/images/new-journal-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-journal-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M102.545455,112.818182 L102.545455,124.636364 L102.545455,124.636364 L102.545455,124.636364 C102.545455,125.941761 103.630828,127 104.969697,127 L111.030303,127 C112.369172,127 113.454545,125.941761 113.454545,124.636364 L113.454545,112.818182 L125.575758,112.818182 C126.914626,112.818182 128,111.759982 128,110.454545 L128,104.545455 C128,103.240018 126.914626,102.181818 125.575758,102.181818 L113.454545,102.181818 L113.454545,90.3636364 C113.454545,89.0582 112.369172,88 111.030303,88 L104.969697,88 L104.969697,88 C103.630828,88 102.545455,89.0582 102.545455,90.3636364 L102.545455,102.181818 L90.4242424,102.181818 L90.4242424,102.181818 C89.0853705,102.181818 88,103.240018 88,104.545455 L88,110.454545 L88,110.454545 L88,110.454545 C88,111.759982 89.0853705,112.818182 90.4242424,112.818182 L102.545455,112.818182 Z\"></path>\n <g transform=\"translate(59.816987, 64.316987) rotate(30.000000) translate(-59.816987, -64.316987) translate(20.316987, 12.816987)\">\n <g transform=\"translate(0.000000, 0.000000)\">\n <path d=\"M9.99631148,0 C4.4755011,0 -2.27373675e-13,4.48070044 -2.27373675e-13,9.99759461 L-2.27373675e-13,91.6128884 C-2.27373675e-13,97.1344074 4.46966773,101.610483 9.99631148,101.610483 L68.9318917,101.610483 C74.4527021,101.610483 78.9282032,97.1297826 78.9282032,91.6128884 L78.9282032,9.99759461 C78.9282032,4.47607557 74.4585355,0 68.9318917,0 L9.99631148,0 Z M20.8885263,26 C24.2022348,26 26.8885263,23.3137085 26.8885263,20 C26.8885263,16.6862915 24.2022348,14 20.8885263,14 C17.5748178,14 14.8885263,16.6862915 14.8885263,20 C14.8885263,23.3137085 17.5748178,26 20.8885263,26 Z M57.3033321,25.6783342 C60.6170406,25.6783342 63.3033321,22.9920427 63.3033321,19.6783342 C63.3033321,16.3646258 60.6170406,13.6783342 57.3033321,13.6783342 C53.9896236,13.6783342 51.3033321,16.3646258 51.3033321,19.6783342 C51.3033321,22.9920427 53.9896236,25.6783342 57.3033321,25.6783342 Z\"></path>\n <text font-family=\"Helvetica\" font-size=\"47.1724138\" font-weight=\"bold\" fill=\"#FFFFFF\">\n <tspan x=\"42\" y=\"77.4847912\" text-anchor=\"middle\"><<now \"DD\">></tspan>\n </text>\n </g>\n </g>\n </g>\n</svg>"
},
"$:/core/images/opacity": {
"title": "$:/core/images/opacity",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-opacity tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M102.361773,65 C101.833691,67.051742 101.183534,69.0544767 100.419508,71 L82.5835324,71 C83.7602504,69.1098924 84.7666304,67.1027366 85.581205,65 L102.361773,65 Z M102.834311,63 C103.256674,61.0388326 103.568427,59.0365486 103.762717,57 L87.6555706,57 C87.3692052,59.0609452 86.9083652,61.0660782 86.2884493,63 L102.834311,63 Z M99.5852583,73 C98.6682925,75.0747721 97.6196148,77.0783056 96.4498253,79 L75.8124196,79 C77.8387053,77.2115633 79.6621163,75.1985844 81.2437158,73 L99.5852583,73 Z M95.1689122,81 C93.7449202,83.1155572 92.1695234,85.1207336 90.458251,87 L60.4614747,87 C65.1836162,85.86248 69.5430327,83.794147 73.3347255,81 L95.1689122,81 Z M87.6555706,47 L103.762717,47 C101.246684,20.6269305 79.0321807,0 52,0 C23.281193,0 0,23.281193 0,52 C0,77.2277755 17.9651296,98.2595701 41.8000051,103 L62.1999949,103 C67.8794003,101.870444 73.2255333,99.8158975 78.074754,97 L39,97 L39,95 L81.2493857,95 C83.8589242,93.2215015 86.2981855,91.2116653 88.5376609,89 L39,89 L39,87 L43.5385253,87 C27.7389671,83.1940333 16,68.967908 16,52 C16,32.117749 32.117749,16 52,16 C70.1856127,16 85.2217929,29.4843233 87.6555706,47 Z M87.8767787,49 L103.914907,49 C103.971379,49.9928025 104,50.9930589 104,52 C104,53.0069411 103.971379,54.0071975 103.914907,55 L87.8767787,55 C87.958386,54.0107999 88,53.0102597 88,52 C88,50.9897403 87.958386,49.9892001 87.8767787,49 Z\"></path>\n <path d=\"M76,128 C104.718807,128 128,104.718807 128,76 C128,47.281193 104.718807,24 76,24 C47.281193,24 24,47.281193 24,76 C24,104.718807 47.281193,128 76,128 L76,128 Z M76,112 C95.882251,112 112,95.882251 112,76 C112,56.117749 95.882251,40 76,40 C56.117749,40 40,56.117749 40,76 C40,95.882251 56.117749,112 76,112 L76,112 Z\"></path>\n <path d=\"M37,58 L90,58 L90,62 L37,62 L37,58 L37,58 Z M40,50 L93,50 L93,54 L40,54 L40,50 L40,50 Z M40,42 L93,42 L93,46 L40,46 L40,42 L40,42 Z M32,66 L85,66 L85,70 L32,70 L32,66 L32,66 Z M30,74 L83,74 L83,78 L30,78 L30,74 L30,74 Z M27,82 L80,82 L80,86 L27,86 L27,82 L27,82 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/open-window": {
"title": "$:/core/images/open-window",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-open-window tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M16,112 L104.993898,112 C108.863261,112 112,115.590712 112,120 C112,124.418278 108.858091,128 104.993898,128 L7.00610161,128 C3.13673853,128 0,124.409288 0,120 C0,119.998364 4.30952878e-07,119.996727 1.29273572e-06,119.995091 C4.89579306e-07,119.993456 0,119.99182 0,119.990183 L0,24.0098166 C0,19.586117 3.59071231,16 8,16 C12.418278,16 16,19.5838751 16,24.0098166 L16,112 Z\"></path>\n <path d=\"M96,43.1959595 L96,56 C96,60.418278 99.581722,64 104,64 C108.418278,64 112,60.418278 112,56 L112,24 C112,19.5907123 108.415101,16 103.992903,16 L72.0070969,16 C67.5881712,16 64,19.581722 64,24 C64,28.4092877 67.5848994,32 72.0070969,32 L84.5685425,32 L48.2698369,68.2987056 C45.1421332,71.4264093 45.1434327,76.4904296 48.267627,79.614624 C51.3854642,82.7324612 56.4581306,82.7378289 59.5835454,79.6124141 L96,43.1959595 Z M32,7.9992458 C32,3.58138434 35.5881049,0 39.9992458,0 L120.000754,0 C124.418616,0 128,3.5881049 128,7.9992458 L128,88.0007542 C128,92.4186157 124.411895,96 120.000754,96 L39.9992458,96 C35.5813843,96 32,92.4118951 32,88.0007542 L32,7.9992458 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/options-button": {
"title": "$:/core/images/options-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-options-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M110.48779,76.0002544 C109.354214,80.4045063 107.611262,84.5641217 105.354171,88.3838625 L105.354171,88.3838625 L112.07833,95.1080219 C115.20107,98.2307613 115.210098,103.299824 112.089164,106.420759 L106.420504,112.089418 C103.301049,115.208874 98.2346851,115.205502 95.1077675,112.078585 L88.3836082,105.354425 C84.5638673,107.611516 80.4042519,109.354468 76,110.488045 L76,110.488045 L76,119.993281 C76,124.409501 72.4220153,128.000254 68.0083475,128.000254 L59.9916525,128.000254 C55.5800761,128.000254 52,124.41541 52,119.993281 L52,110.488045 C47.5957481,109.354468 43.4361327,107.611516 39.6163918,105.354425 L32.8922325,112.078585 C29.7694931,115.201324 24.7004301,115.210353 21.5794957,112.089418 L15.9108363,106.420759 C12.7913807,103.301303 12.7947522,98.2349395 15.9216697,95.1080219 L22.6458291,88.3838625 C20.3887383,84.5641217 18.6457859,80.4045063 17.5122098,76.0002544 L8.00697327,76.0002544 C3.59075293,76.0002544 2.19088375e-16,72.4222697 4.89347582e-16,68.0086019 L9.80228577e-16,59.9919069 C1.25035972e-15,55.5803305 3.58484404,52.0002544 8.00697327,52.0002544 L17.5122098,52.0002544 C18.6457859,47.5960025 20.3887383,43.4363871 22.6458291,39.6166462 L15.9216697,32.8924868 C12.7989304,29.7697475 12.7899019,24.7006845 15.9108363,21.5797501 L21.5794957,15.9110907 C24.6989513,12.7916351 29.7653149,12.7950065 32.8922325,15.9219241 L39.6163918,22.6460835 C43.4361327,20.3889927 47.5957481,18.6460403 52,17.5124642 L52,8.00722764 C52,3.5910073 55.5779847,0.000254375069 59.9916525,0.000254375069 L68.0083475,0.000254375069 C72.4199239,0.000254375069 76,3.58509841 76,8.00722764 L76,17.5124642 C80.4042519,18.6460403 84.5638673,20.3889927 88.3836082,22.6460835 L95.1077675,15.9219241 C98.2305069,12.7991848 103.29957,12.7901562 106.420504,15.9110907 L112.089164,21.5797501 C115.208619,24.6992057 115.205248,29.7655693 112.07833,32.8924868 L105.354171,39.6166462 L105.354171,39.6166462 C107.611262,43.4363871 109.354214,47.5960025 110.48779,52.0002544 L119.993027,52.0002544 C124.409247,52.0002544 128,55.5782391 128,59.9919069 L128,68.0086019 C128,72.4201783 124.415156,76.0002544 119.993027,76.0002544 L110.48779,76.0002544 L110.48779,76.0002544 Z M64,96.0002544 C81.673112,96.0002544 96,81.6733664 96,64.0002544 C96,46.3271424 81.673112,32.0002544 64,32.0002544 C46.326888,32.0002544 32,46.3271424 32,64.0002544 C32,81.6733664 46.326888,96.0002544 64,96.0002544 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/paint": {
"title": "$:/core/images/paint",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-paint tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M83.5265806,76.1907935 C90.430962,69.2864121 91.8921169,59.0000433 87.9100453,50.6642209 L125.812763,12.7615036 C128.732035,9.84223095 128.72611,5.10322984 125.812796,2.18991592 C122.893542,-0.729338085 118.161775,-0.730617045 115.241209,2.18994966 L77.3384914,40.092667 C69.002669,36.1105954 58.7163002,37.5717503 51.8119188,44.4761317 L83.5265806,76.1907935 L83.5265806,76.1907935 L83.5265806,76.1907935 L83.5265806,76.1907935 Z M80.8836921,78.8336819 L49.1690303,47.1190201 C49.1690303,47.1190201 8.50573364,81.242543 0,80.2820711 C0,80.2820711 3.78222974,85.8744423 6.82737483,88.320684 C20.8514801,82.630792 44.1526049,63.720771 44.1526049,63.720771 L44.8144806,64.3803375 C44.8144806,64.3803375 19.450356,90.2231043 9.18040433,92.0477601 C10.4017154,93.4877138 13.5343883,96.1014812 15.4269991,97.8235871 C20.8439164,96.3356979 50.1595367,69.253789 50.1595367,69.253789 L50.8214124,69.9133555 L18.4136144,100.936036 L23.6993903,106.221812 L56.1060358,75.2002881 L56.7679115,75.8598546 C56.7679115,75.8598546 28.9040131,106.396168 28.0841366,108.291555 C28.0841366,108.291555 34.1159238,115.144621 35.6529617,116.115796 C36.3545333,113.280171 63.5365402,82.6307925 63.5365402,82.6307925 L64.1984159,83.290359 C64.1984159,83.290359 43.6013016,107.04575 39.2343772,120.022559 C42.443736,123.571575 46.7339155,125.159692 50.1595362,126.321151 C47.9699978,114.504469 80.8836921,78.8336819 80.8836921,78.8336819 L80.8836921,78.8336819 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/palette": {
"title": "$:/core/images/palette",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-palette tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M80.2470434,39.1821571 C75.0645698,38.2680897 69.6261555,37.7814854 64.0193999,37.7814854 C28.6624616,37.7814854 0,57.1324214 0,81.0030106 C0,90.644534 4.67604329,99.5487133 12.5805659,106.738252 C23.5031767,91.1899067 26.3405471,72.3946229 36.8885698,63.5622337 C52.0716764,50.8486559 63.4268694,55.7343343 63.4268694,55.7343343 L80.2470434,39.1821571 Z M106.781666,48.8370714 C119.830962,56.749628 128.0388,68.229191 128.0388,81.0030106 C128.0388,90.3534932 128.557501,98.4142085 116.165191,106.082518 C105.367708,112.763955 112.341384,99.546808 104.321443,95.1851533 C96.3015017,90.8234987 84.3749007,96.492742 86.1084305,103.091059 C89.3087234,115.272303 105.529892,114.54645 92.4224435,119.748569 C79.3149955,124.950687 74.2201582,124.224536 64.0193999,124.224536 C56.1979176,124.224536 48.7040365,123.277578 41.7755684,121.544216 C51.620343,117.347916 69.6563669,109.006202 75.129737,102.088562 C82.7876655,92.4099199 87.3713218,80.0000002 83.3235694,72.4837191 C83.1303943,72.1250117 94.5392656,60.81569 106.781666,48.8370714 Z M1.13430476,123.866563 C0.914084026,123.867944 0.693884185,123.868637 0.473712455,123.868637 C33.9526848,108.928928 22.6351223,59.642592 59.2924543,59.6425917 C59.6085574,61.0606542 59.9358353,62.5865065 60.3541977,64.1372318 C34.4465025,59.9707319 36.7873124,112.168427 1.13429588,123.866563 L1.13430476,123.866563 Z M1.84669213,123.859694 C40.7185279,123.354338 79.9985412,101.513051 79.9985401,79.0466836 C70.7284906,79.0466835 65.9257264,75.5670082 63.1833375,71.1051511 C46.585768,64.1019718 32.81846,116.819636 1.84665952,123.859695 L1.84669213,123.859694 Z M67.1980193,59.8524981 C62.748213,63.9666823 72.0838429,76.2846822 78.5155805,71.1700593 C89.8331416,59.8524993 112.468264,37.2173758 123.785825,25.8998146 C135.103386,14.5822535 123.785825,3.26469247 112.468264,14.5822535 C101.150703,25.8998144 78.9500931,48.9868127 67.1980193,59.8524981 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/permalink-button": {
"title": "$:/core/images/permalink-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-permalink-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M80.4834582,48 L73.0956761,80 L73.0956761,80 L47.5165418,80 L54.9043239,48 L80.4834582,48 Z M84.1773493,32 L89.8007299,7.64246248 C90.7941633,3.33942958 95.0918297,0.64641956 99.3968675,1.64031585 C103.693145,2.63218977 106.385414,6.93288901 105.390651,11.2416793 L100.598215,32 L104.000754,32 C108.411895,32 112,35.581722 112,40 C112,44.4092877 108.418616,48 104.000754,48 L96.9043239,48 L89.5165418,80 L104.000754,80 C108.411895,80 112,83.581722 112,88 C112,92.4092877 108.418616,96 104.000754,96 L85.8226507,96 L80.1992701,120.357538 C79.2058367,124.66057 74.9081703,127.35358 70.6031325,126.359684 C66.3068546,125.36781 63.6145865,121.067111 64.6093491,116.758321 L69.401785,96 L43.8226507,96 L38.1992701,120.357538 C37.2058367,124.66057 32.9081703,127.35358 28.6031325,126.359684 C24.3068546,125.36781 21.6145865,121.067111 22.6093491,116.758321 L27.401785,96 L23.9992458,96 C19.5881049,96 16,92.418278 16,88 C16,83.5907123 19.5813843,80 23.9992458,80 L31.0956761,80 L38.4834582,48 L23.9992458,48 C19.5881049,48 16,44.418278 16,40 C16,35.5907123 19.5813843,32 23.9992458,32 L42.1773493,32 L47.8007299,7.64246248 C48.7941633,3.33942958 53.0918297,0.64641956 57.3968675,1.64031585 C61.6931454,2.63218977 64.3854135,6.93288901 63.3906509,11.2416793 L58.598215,32 L84.1773493,32 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/permaview-button": {
"title": "$:/core/images/permaview-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-permaview-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M81.4834582,48 L79.6365127,56 L79.6365127,56 L74.0573784,56 L75.9043239,48 L81.4834582,48 Z M85.1773493,32 L90.8007299,7.64246248 C91.7941633,3.33942958 96.0918297,0.64641956 100.396867,1.64031585 C104.693145,2.63218977 107.385414,6.93288901 106.390651,11.2416793 L101.598215,32 L104.000754,32 C108.411895,32 112,35.581722 112,40 C112,44.4092877 108.418616,48 104.000754,48 L97.9043239,48 L96.0573784,56 L104.000754,56 C108.411895,56 112,59.581722 112,64 C112,68.4092877 108.418616,72 104.000754,72 L92.3634873,72 L90.5165418,80 L104.000754,80 C108.411895,80 112,83.581722 112,88 C112,92.4092877 108.418616,96 104.000754,96 L86.8226507,96 L81.1992701,120.357538 C80.2058367,124.66057 75.9081703,127.35358 71.6031325,126.359684 C67.3068546,125.36781 64.6145865,121.067111 65.6093491,116.758321 L70.401785,96 L64.8226507,96 L59.1992701,120.357538 C58.2058367,124.66057 53.9081703,127.35358 49.6031325,126.359684 C45.3068546,125.36781 42.6145865,121.067111 43.6093491,116.758321 L48.401785,96 L42.8226507,96 L37.1992701,120.357538 C36.2058367,124.66057 31.9081703,127.35358 27.6031325,126.359684 C23.3068546,125.36781 20.6145865,121.067111 21.6093491,116.758321 L26.401785,96 L23.9992458,96 C19.5881049,96 16,92.418278 16,88 C16,83.5907123 19.5813843,80 23.9992458,80 L30.0956761,80 L31.9426216,72 L23.9992458,72 C19.5881049,72 16,68.418278 16,64 C16,59.5907123 19.5813843,56 23.9992458,56 L35.6365127,56 L37.4834582,48 L23.9992458,48 C19.5881049,48 16,44.418278 16,40 C16,35.5907123 19.5813843,32 23.9992458,32 L41.1773493,32 L46.8007299,7.64246248 C47.7941633,3.33942958 52.0918297,0.64641956 56.3968675,1.64031585 C60.6931454,2.63218977 63.3854135,6.93288901 62.3906509,11.2416793 L57.598215,32 L63.1773493,32 L68.8007299,7.64246248 C69.7941633,3.33942958 74.0918297,0.64641956 78.3968675,1.64031585 C82.6931454,2.63218977 85.3854135,6.93288901 84.3906509,11.2416793 L79.598215,32 L85.1773493,32 Z M53.9043239,48 L52.0573784,56 L57.6365127,56 L59.4834582,48 L53.9043239,48 Z M75.9426216,72 L74.0956761,80 L74.0956761,80 L68.5165418,80 L70.3634873,72 L75.9426216,72 L75.9426216,72 Z M48.3634873,72 L46.5165418,80 L52.0956761,80 L53.9426216,72 L48.3634873,72 L48.3634873,72 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/picture": {
"title": "$:/core/images/picture",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-picture tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M112,68.2332211 L112,20.0027785 C112,17.7898769 110.207895,16 107.997221,16 L20.0027785,16 C17.7898769,16 16,17.792105 16,20.0027785 L16,58.312373 L25.2413115,43.7197989 C28.041793,39.297674 34.2643908,38.7118128 37.8410347,42.5335275 L56.0882845,63.1470817 L69.7748997,56.7400579 C72.766567,55.3552503 76.3013751,55.9473836 78.678437,58.2315339 C78.8106437,58.3585731 79.0742301,58.609836 79.4527088,58.9673596 C80.0910923,59.570398 80.8117772,60.2441563 81.598127,60.9705595 C83.8422198,63.043576 86.1541548,65.1151944 88.3956721,67.0372264 C89.1168795,67.6556396 89.8200801,68.2492007 90.5021258,68.8146755 C92.6097224,70.5620551 94.4693308,72.0029474 95.9836366,73.0515697 C96.7316295,73.5695379 97.3674038,73.9719282 98.0281481,74.3824999 C98.4724987,74.4989557 99.0742374,74.5263881 99.8365134,74.4317984 C101.709944,74.1993272 104.074502,73.2878514 106.559886,71.8846196 C107.705822,71.2376318 108.790494,70.5370325 109.764561,69.8410487 C110.323259,69.4418522 110.694168,69.1550757 110.834827,69.0391868 C111.210545,68.7296319 111.600264,68.4615815 112,68.2332211 L112,68.2332211 Z M0,8.00697327 C0,3.58484404 3.59075293,0 8.00697327,0 L119.993027,0 C124.415156,0 128,3.59075293 128,8.00697327 L128,119.993027 C128,124.415156 124.409247,128 119.993027,128 L8.00697327,128 C3.58484404,128 0,124.409247 0,119.993027 L0,8.00697327 L0,8.00697327 Z M95,42 C99.418278,42 103,38.418278 103,34 C103,29.581722 99.418278,26 95,26 C90.581722,26 87,29.581722 87,34 C87,38.418278 90.581722,42 95,42 L95,42 Z M32,76 C47.8587691,80.8294182 52.0345556,83.2438712 52.0345556,88 C52.0345556,92.7561288 32,95.4712486 32,102.347107 C32,109.222965 33.2849191,107.337637 33.2849191,112 L67.999999,112 C67.999999,112 54.3147136,105.375255 54.3147136,101.200691 C54.3147136,93.535181 64.9302432,92.860755 64.9302432,88 C64.9302432,80.6425555 50.8523779,79.167282 32,76 L32,76 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/plugin-generic-language": {
"title": "$:/core/images/plugin-generic-language",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M61.2072232,68.1369825 C56.8829239,70.9319564 54.2082892,74.793177 54.2082892,79.0581634 C54.2082892,86.9638335 63.3980995,93.4821994 75.2498076,94.3940006 C77.412197,98.2964184 83.8475284,101.178858 91.5684735,101.403106 C86.4420125,100.27851 82.4506393,97.6624107 80.9477167,94.3948272 C92.8046245,93.4861461 102,86.9662269 102,79.0581634 C102,70.5281905 91.3014611,63.6132813 78.1041446,63.6132813 C71.5054863,63.6132813 65.5315225,65.3420086 61.2072232,68.1369825 Z M74.001066,53.9793443 C69.6767667,56.7743182 63.7028029,58.5030456 57.1041446,58.5030456 C54.4851745,58.5030456 51.9646095,58.2307276 49.6065315,57.7275105 C46.2945155,59.9778212 41.2235699,61.4171743 35.5395922,61.4171743 C35.4545771,61.4171743 35.3696991,61.4168523 35.2849622,61.4162104 C39.404008,60.5235193 42.7961717,58.6691298 44.7630507,56.286533 C37.8379411,53.5817651 33.2082892,48.669413 33.2082892,43.0581634 C33.2082892,34.5281905 43.9068281,27.6132812 57.1041446,27.6132812 C70.3014611,27.6132812 81,34.5281905 81,43.0581634 C81,47.3231498 78.3253653,51.1843704 74.001066,53.9793443 Z M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/plugin-generic-plugin": {
"title": "$:/core/images/plugin-generic-plugin",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M40.3972881,76.4456988 L40.3972881,95.3404069 L54.5170166,95.3404069 L54.5170166,95.3404069 C54.5165526,95.3385183 54.516089,95.3366295 54.515626,95.3347404 C54.6093153,95.3385061 54.7034848,95.3404069 54.7980982,95.3404069 C58.6157051,95.3404069 61.710487,92.245625 61.710487,88.4280181 C61.710487,86.6197822 61.01617,84.9737128 59.8795929,83.7418666 L59.8795929,83.7418666 C59.8949905,83.7341665 59.9104102,83.7265043 59.925852,83.7188798 C58.8840576,82.5086663 58.2542926,80.9336277 58.2542926,79.2114996 C58.2542926,75.3938927 61.3490745,72.2991108 65.1666814,72.2991108 C68.9842884,72.2991108 72.0790703,75.3938927 72.0790703,79.2114996 C72.0790703,81.1954221 71.2432806,82.9841354 69.9045961,84.2447446 L69.9045961,84.2447446 C69.9333407,84.2629251 69.9619885,84.281245 69.9905383,84.2997032 L69.9905383,84.2997032 C69.1314315,85.4516923 68.6228758,86.8804654 68.6228758,88.4280181 C68.6228758,91.8584969 71.1218232,94.7053153 74.3986526,95.2474079 C74.3913315,95.2784624 74.3838688,95.3094624 74.3762652,95.3404069 L95.6963988,95.3404069 L95.6963988,75.5678578 L95.6963988,75.5678578 C95.6466539,75.5808558 95.5967614,75.5934886 95.5467242,75.6057531 C95.5504899,75.5120637 95.5523907,75.4178943 95.5523907,75.3232809 C95.5523907,71.505674 92.4576088,68.4108921 88.6400019,68.4108921 C86.831766,68.4108921 85.1856966,69.105209 83.9538504,70.2417862 L83.9538504,70.2417862 C83.9461503,70.2263886 83.938488,70.2109688 83.9308636,70.1955271 C82.7206501,71.2373215 81.1456115,71.8670865 79.4234834,71.8670865 C75.6058765,71.8670865 72.5110946,68.7723046 72.5110946,64.9546976 C72.5110946,61.1370907 75.6058765,58.0423088 79.4234834,58.0423088 C81.4074059,58.0423088 83.1961192,58.8780985 84.4567284,60.2167829 L84.4567284,60.2167829 C84.4749089,60.1880383 84.4932288,60.1593906 84.511687,60.1308407 L84.511687,60.1308407 C85.6636761,60.9899475 87.0924492,61.4985032 88.6400019,61.4985032 C92.0704807,61.4985032 94.9172991,58.9995558 95.4593917,55.7227265 C95.538755,55.7414363 95.6177614,55.761071 95.6963988,55.7816184 L95.6963988,40.0412962 L74.3762652,40.0412962 L74.3762652,40.0412962 C74.3838688,40.0103516 74.3913315,39.9793517 74.3986526,39.9482971 L74.3986526,39.9482971 C71.1218232,39.4062046 68.6228758,36.5593862 68.6228758,33.1289073 C68.6228758,31.5813547 69.1314315,30.1525815 69.9905383,29.0005925 C69.9619885,28.9821342 69.9333407,28.9638143 69.9045961,28.9456339 C71.2432806,27.6850247 72.0790703,25.8963113 72.0790703,23.9123888 C72.0790703,20.0947819 68.9842884,17 65.1666814,17 C61.3490745,17 58.2542926,20.0947819 58.2542926,23.9123888 C58.2542926,25.6345169 58.8840576,27.2095556 59.925852,28.419769 L59.925852,28.419769 C59.9104102,28.4273935 59.8949905,28.4350558 59.8795929,28.4427558 C61.01617,29.674602 61.710487,31.3206715 61.710487,33.1289073 C61.710487,36.9465143 58.6157051,40.0412962 54.7980982,40.0412962 C54.7034848,40.0412962 54.6093153,40.0393953 54.515626,40.0356296 L54.515626,40.0356296 C54.516089,40.0375187 54.5165526,40.0394075 54.5170166,40.0412962 L40.3972881,40.0412962 L40.3972881,52.887664 L40.3972881,52.887664 C40.4916889,53.3430132 40.5412962,53.8147625 40.5412962,54.2980982 C40.5412962,58.1157051 37.4465143,61.210487 33.6289073,61.210487 C32.0813547,61.210487 30.6525815,60.7019313 29.5005925,59.8428245 C29.4821342,59.8713744 29.4638143,59.9000221 29.4456339,59.9287667 C28.1850247,58.5900823 26.3963113,57.7542926 24.4123888,57.7542926 C20.5947819,57.7542926 17.5,60.8490745 17.5,64.6666814 C17.5,68.4842884 20.5947819,71.5790703 24.4123888,71.5790703 C26.134517,71.5790703 27.7095556,70.9493053 28.919769,69.9075109 L28.919769,69.9075109 C28.9273935,69.9229526 28.9350558,69.9383724 28.9427558,69.95377 C30.174602,68.8171928 31.8206715,68.1228758 33.6289073,68.1228758 C37.4465143,68.1228758 40.5412962,71.2176578 40.5412962,75.0352647 C40.5412962,75.5186004 40.4916889,75.9903496 40.3972881,76.4456988 Z M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/plugin-generic-theme": {
"title": "$:/core/images/plugin-generic-theme",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M29.4078519,91.4716406 L51.4693474,69.4101451 L51.4646675,69.4054652 C50.5969502,68.5377479 50.5929779,67.1348725 51.4693474,66.2585029 C52.3396494,65.3882009 53.7499654,65.3874786 54.6163097,66.2538229 L64.0805963,75.7181095 C64.9483136,76.5858268 64.9522859,77.9887022 64.0759163,78.8650718 C63.2056143,79.7353737 61.7952984,79.736096 60.9289541,78.8697517 L60.9242741,78.8650718 L60.9242741,78.8650718 L38.8627786,100.926567 C36.2518727,103.537473 32.0187578,103.537473 29.4078519,100.926567 C26.796946,98.3156614 26.796946,94.0825465 29.4078519,91.4716406 Z M60.8017407,66.3810363 C58.3659178,63.6765806 56.3370667,61.2899536 54.9851735,59.5123615 C48.1295381,50.4979488 44.671561,55.2444054 40.7586738,59.5123614 C36.8457866,63.7803174 41.789473,67.2384487 38.0759896,70.2532832 C34.3625062,73.2681177 34.5917646,74.3131575 28.3243876,68.7977024 C22.0570105,63.2822473 21.6235306,61.7636888 24.5005999,58.6166112 C27.3776691,55.4695337 29.7823103,60.4247912 35.6595047,54.8320442 C41.5366991,49.2392972 36.5996215,44.2825646 36.5996215,44.2825646 C36.5996215,44.2825646 48.8365511,19.267683 65.1880231,21.1152173 C81.5394952,22.9627517 59.0022276,18.7228947 53.3962199,38.3410355 C50.9960082,46.7405407 53.8429162,44.7613399 58.3941742,48.3090467 C59.7875202,49.3951602 64.4244828,52.7100463 70.1884353,56.9943417 L90.8648751,36.3179019 L92.4795866,31.5515482 L100.319802,26.8629752 L103.471444,30.0146174 L98.782871,37.8548326 L94.0165173,39.4695441 L73.7934912,59.6925702 C86.4558549,69.2403631 102.104532,81.8392557 102.104532,86.4016913 C102.104533,93.6189834 99.0337832,97.9277545 92.5695848,95.5655717 C87.8765989,93.8506351 73.8015497,80.3744087 63.8173444,69.668717 L60.9242741,72.5617873 L57.7726319,69.4101451 L60.8017407,66.3810363 L60.8017407,66.3810363 Z M63.9533761,1.42108547e-13 L118.512977,32 L118.512977,96 L63.9533761,128 L9.39377563,96 L9.39377563,32 L63.9533761,1.42108547e-13 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/preview-closed": {
"title": "$:/core/images/preview-closed",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-preview-closed tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M0.0881363238,64 C-0.210292223,65.8846266 0.249135869,67.8634737 1.4664206,69.4579969 C16.2465319,88.8184886 39.1692554,100.414336 64,100.414336 C88.8307446,100.414336 111.753468,88.8184886 126.533579,69.4579969 C127.750864,67.8634737 128.210292,65.8846266 127.911864,64 C110.582357,78.4158332 88.3036732,87.0858436 64,87.0858436 C39.6963268,87.0858436 17.4176431,78.4158332 0.0881363238,64 Z\"></path>\n <rect x=\"62\" y=\"96\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(80.000000, 101.000000) rotate(-5.000000) translate(-80.000000, -101.000000) \" x=\"78\" y=\"93\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(48.000000, 101.000000) rotate(-355.000000) translate(-48.000000, -101.000000) \" x=\"46\" y=\"93\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(32.000000, 96.000000) rotate(-350.000000) translate(-32.000000, -96.000000) \" x=\"30\" y=\"88\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(96.000000, 96.000000) rotate(-10.000000) translate(-96.000000, -96.000000) \" x=\"94\" y=\"88\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(112.000000, 88.000000) rotate(-20.000000) translate(-112.000000, -88.000000) \" x=\"110\" y=\"80\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n <rect transform=\"translate(16.000000, 88.000000) rotate(-340.000000) translate(-16.000000, -88.000000) \" x=\"14\" y=\"80\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n </g>\n</svg>"
},
"$:/core/images/preview-open": {
"title": "$:/core/images/preview-open",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-preview-open tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M64.1099282,99.5876785 C39.2791836,99.5876785 16.3564602,87.9918313 1.57634884,68.6313396 C-0.378878622,66.070184 -0.378878622,62.5174945 1.57634884,59.9563389 C16.3564602,40.5958472 39.2791836,29 64.1099282,29 C88.9406729,29 111.863396,40.5958472 126.643508,59.9563389 C128.598735,62.5174945 128.598735,66.070184 126.643508,68.6313396 C111.863396,87.9918313 88.9406729,99.5876785 64.1099282,99.5876785 Z M110.213805,67.5808331 C111.654168,66.0569335 111.654168,63.9430665 110.213805,62.4191669 C99.3257042,50.8995835 82.4391647,44 64.1470385,44 C45.8549124,44 28.9683729,50.8995835 18.0802717,62.4191669 C16.6399094,63.9430665 16.6399094,66.0569335 18.0802717,67.5808331 C28.9683729,79.1004165 45.8549124,86 64.1470385,86 C82.4391647,86 99.3257042,79.1004165 110.213805,67.5808331 Z\"></path>\n <path d=\"M63.5,88 C76.4786916,88 87,77.4786916 87,64.5 C87,51.5213084 76.4786916,41 63.5,41 C50.5213084,41 40,51.5213084 40,64.5 C40,77.4786916 50.5213084,88 63.5,88 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/quote": {
"title": "$:/core/images/quote",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-quote tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M51.2188077,117.712501 L51.2188077,62.1993386 L27.4274524,62.1993386 C27.4274524,53.3075754 29.1096526,45.797753 32.4741035,39.669646 C35.8385544,33.541539 42.0867267,28.9154883 51.2188077,25.7913554 L51.2188077,2 C43.7689521,2.96127169 36.8599155,5.18417913 30.4914905,8.668789 C24.1230656,12.1533989 18.6559149,16.5391352 14.0898743,21.8261295 C9.52383382,27.1131238 5.97919764,33.2411389 3.45585945,40.2103586 C0.932521268,47.1795784 -0.208971741,54.6293222 0.0313461819,62.5598136 L0.0313461819,117.712501 L51.2188077,117.712501 Z M128,117.712501 L128,62.1993386 L104.208645,62.1993386 C104.208645,53.3075754 105.890845,45.797753 109.255296,39.669646 C112.619747,33.541539 118.867919,28.9154883 128,25.7913554 L128,2 C120.550144,2.96127169 113.641108,5.18417913 107.272683,8.668789 C100.904258,12.1533989 95.4371072,16.5391352 90.8710666,21.8261295 C86.3050261,27.1131238 82.7603899,33.2411389 80.2370517,40.2103586 C77.7137136,47.1795784 76.5722206,54.6293222 76.8125385,62.5598136 L76.8125385,117.712501 L128,117.712501 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/refresh-button": {
"title": "$:/core/images/refresh-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-refresh-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M106.369002,39.4325143 C116.529932,60.3119371 112.939592,86.1974934 95.5979797,103.539105 C73.7286194,125.408466 38.2713806,125.408466 16.4020203,103.539105 C-5.46734008,81.6697449 -5.46734008,46.2125061 16.4020203,24.3431458 C19.5262146,21.2189514 24.5915344,21.2189514 27.7157288,24.3431458 C30.8399231,27.4673401 30.8399231,32.5326599 27.7157288,35.6568542 C12.0947571,51.2778259 12.0947571,76.6044251 27.7157288,92.2253967 C43.3367004,107.846368 68.6632996,107.846368 84.2842712,92.2253967 C97.71993,78.7897379 99.5995262,58.1740623 89.9230597,42.729491 L83.4844861,54.9932839 C81.4307001,58.9052072 76.5945372,60.4115251 72.682614,58.3577391 C68.7706907,56.3039532 67.2643728,51.4677903 69.3181587,47.555867 L84.4354914,18.7613158 C86.4966389,14.8353707 91.3577499,13.3347805 95.273202,15.415792 L124.145886,30.7612457 C128.047354,32.8348248 129.52915,37.6785572 127.455571,41.5800249 C125.381992,45.4814927 120.53826,46.9632892 116.636792,44.8897102 L106.369002,39.4325143 Z M98.1470904,27.0648707 C97.9798954,26.8741582 97.811187,26.6843098 97.6409651,26.4953413 L98.6018187,26.1987327 L98.1470904,27.0648707 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/right-arrow": {
"title": "$:/core/images/right-arrow",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-right-arrow tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <path d=\"M80.3563798,109.353315 C78.9238993,110.786918 76.9450203,111.675144 74.7592239,111.675144 L-4.40893546,111.675144 C-8.77412698,111.675144 -12.3248558,108.130732 -12.3248558,103.758478 C-12.3248558,99.3951199 -8.78077754,95.8418109 -4.40893546,95.8418109 L66.8418109,95.8418109 L66.8418109,24.5910645 C66.8418109,20.225873 70.3862233,16.6751442 74.7584775,16.6751442 C79.1218352,16.6751442 82.6751442,20.2192225 82.6751442,24.5910645 L82.6751442,103.759224 C82.6751442,105.941695 81.7891419,107.920575 80.3566508,109.353886 Z\" transform=\"translate(35.175144, 64.175144) rotate(-45.000000) translate(-35.175144, -64.175144) \"></path>\n</svg>"
},
"$:/core/images/save-button": {
"title": "$:/core/images/save-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-save-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M120.78304,34.329058 C125.424287,43.1924006 128.049406,53.2778608 128.049406,63.9764502 C128.049406,99.3226742 99.3956295,127.97645 64.0494055,127.97645 C28.7031816,127.97645 0.0494055385,99.3226742 0.0494055385,63.9764502 C0.0494055385,28.6302262 28.7031816,-0.0235498012 64.0494055,-0.0235498012 C82.8568763,-0.0235498012 99.769563,8.08898558 111.479045,21.0056358 L114.159581,18.3250998 C117.289194,15.1954866 122.356036,15.1939641 125.480231,18.3181584 C128.598068,21.4359957 128.601317,26.5107804 125.473289,29.6388083 L120.78304,34.329058 Z M108.72451,46.3875877 C110.870571,51.8341374 112.049406,57.767628 112.049406,63.9764502 C112.049406,90.4861182 90.5590735,111.97645 64.0494055,111.97645 C37.5397375,111.97645 16.0494055,90.4861182 16.0494055,63.9764502 C16.0494055,37.4667822 37.5397375,15.9764502 64.0494055,15.9764502 C78.438886,15.9764502 91.3495036,22.308215 100.147097,32.3375836 L58.9411255,73.5435552 L41.975581,56.5780107 C38.8486152,53.4510448 33.7746915,53.4551552 30.6568542,56.5729924 C27.5326599,59.6971868 27.5372202,64.7670668 30.6618725,67.8917192 L53.279253,90.5090997 C54.8435723,92.073419 56.8951519,92.8541315 58.9380216,92.8558261 C60.987971,92.8559239 63.0389578,92.0731398 64.6049211,90.5071765 L108.72451,46.3875877 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/size": {
"title": "$:/core/images/size",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-size tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <path d=\"M92.3431458,26 L83.1715729,35.1715729 C81.6094757,36.73367 81.6094757,39.26633 83.1715729,40.8284271 C84.73367,42.3905243 87.26633,42.3905243 88.8284271,40.8284271 L104.828427,24.8284271 C106.390524,23.26633 106.390524,20.73367 104.828427,19.1715729 L88.8284271,3.17157288 C87.26633,1.60947571 84.73367,1.60947571 83.1715729,3.17157288 C81.6094757,4.73367004 81.6094757,7.26632996 83.1715729,8.82842712 L92.3431457,18 L22,18 C19.790861,18 18,19.790861 18,22 L18,92.3431458 L8.82842712,83.1715729 C7.26632996,81.6094757 4.73367004,81.6094757 3.17157288,83.1715729 C1.60947571,84.73367 1.60947571,87.26633 3.17157288,88.8284271 L19.1715729,104.828427 C20.73367,106.390524 23.26633,106.390524 24.8284271,104.828427 L40.8284271,88.8284271 C42.3905243,87.26633 42.3905243,84.73367 40.8284271,83.1715729 C39.26633,81.6094757 36.73367,81.6094757 35.1715729,83.1715729 L26,92.3431458 L26,22 L22,26 L92.3431458,26 L92.3431458,26 Z M112,52 L112,116 L116,112 L52,112 C49.790861,112 48,113.790861 48,116 C48,118.209139 49.790861,120 52,120 L116,120 C118.209139,120 120,118.209139 120,116 L120,52 C120,49.790861 118.209139,48 116,48 C113.790861,48 112,49.790861 112,52 L112,52 Z\"></path>\n</svg>"
},
"$:/core/images/spiral": {
"title": "$:/core/images/spiral",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-spiral tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"nonzero\">\n <path d=\"M64.534 68.348c3.39 0 6.097-2.62 6.476-5.968l-4.755-.538 4.75.583c.377-3.07-1.194-6.054-3.89-7.78-2.757-1.773-6.34-2.01-9.566-.7-3.46 1.403-6.14 4.392-7.35 8.148l-.01.026c-1.3 4.08-.72 8.64 1.58 12.52 2.5 4.2 6.77 7.2 11.76 8.27 5.37 1.15 11.11-.05 15.83-3.31 5.04-3.51 8.46-9.02 9.45-15.3 1.05-6.7-.72-13.63-4.92-19.19l.02.02c-4.42-5.93-11.2-9.82-18.78-10.78-7.96-1.01-16.13 1.31-22.59 6.43-6.81 5.39-11.18 13.41-12.11 22.26-.98 9.27 1.87 18.65 7.93 26.02 6.32 7.69 15.6 12.56 25.74 13.48 10.54.96 21.15-2.42 29.45-9.4l.01-.01c8.58-7.25 13.94-17.78 14.86-29.21.94-11.84-2.96-23.69-10.86-32.9-8.19-9.5-19.95-15.36-32.69-16.27-13.16-.94-26.24 3.49-36.34 12.34l.01-.01c-10.41 9.08-16.78 22.1-17.68 36.15-.93 14.44 4.03 28.77 13.79 39.78 10.03 11.32 24.28 18.2 39.6 19.09 15.73.92 31.31-4.56 43.24-15.234 12.23-10.954 19.61-26.44 20.5-43.074.14-2.64-1.89-4.89-4.52-5.03-2.64-.14-4.89 1.88-5.03 4.52-.75 14.1-7 27.2-17.33 36.45-10.03 8.98-23.11 13.58-36.3 12.81-12.79-.75-24.67-6.48-33-15.89-8.07-9.11-12.17-20.94-11.41-32.827.74-11.52 5.942-22.15 14.43-29.54l.01-.01c8.18-7.17 18.74-10.75 29.35-9.998 10.21.726 19.6 5.41 26.11 12.96 6.24 7.273 9.32 16.61 8.573 25.894-.718 8.9-4.88 17.064-11.504 22.66l.01-.007c-6.36 5.342-14.44 7.92-22.425 7.19-7.604-.68-14.52-4.314-19.21-10.027-4.44-5.4-6.517-12.23-5.806-18.94.67-6.3 3.76-11.977 8.54-15.766 4.46-3.54 10.05-5.128 15.44-4.44 5.03.63 9.46 3.18 12.32 7.01l.02.024c2.65 3.5 3.75 7.814 3.1 11.92-.59 3.71-2.58 6.925-5.45 8.924-2.56 1.767-5.61 2.403-8.38 1.81-2.42-.516-4.42-1.92-5.53-3.79-.93-1.56-1.15-3.3-.69-4.75l-4.56-1.446L59.325 65c.36-1.12 1.068-1.905 1.84-2.22.25-.103.48-.14.668-.13.06.006.11.015.14.025.01 0 .01 0-.01-.01-.02-.015-.054-.045-.094-.088-.06-.064-.12-.145-.17-.244-.15-.29-.23-.678-.18-1.11l-.005.04c.15-1.332 1.38-2.523 3.035-2.523-2.65 0-4.79 2.144-4.79 4.787s2.14 4.785 4.78 4.785z\"></path>\n </g>\n</svg>"
},
"$:/core/images/stamp": {
"title": "$:/core/images/stamp",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-stamp tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M49.7334301,64 L16.0098166,64 C11.5838751,64 8,67.5829053 8,72.002643 L8,74.4986785 L8,97 L120,97 L120,74.4986785 L120,72.002643 C120,67.5737547 116.413883,64 111.990183,64 L78.2665699,64 C76.502049,60.7519149 75.5,57.0311962 75.5,53.0769231 C75.5,46.6017951 78.1869052,40.7529228 82.5087769,36.5800577 C85.3313113,32.7688808 87,28.0549983 87,22.952183 C87,10.2760423 76.7025492,0 64,0 C51.2974508,0 41,10.2760423 41,22.952183 C41,28.0549983 42.6686887,32.7688808 45.4912231,36.5800577 C49.8130948,40.7529228 52.5,46.6017951 52.5,53.0769231 C52.5,57.0311962 51.497951,60.7519149 49.7334301,64 Z M8,104 L120,104 L120,112 L8,112 L8,104 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/star-filled": {
"title": "$:/core/images/star-filled",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-star-filled tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"nonzero\">\n <path d=\"M61.8361286,96.8228569 L99.1627704,124.110219 C101.883827,126.099427 105.541968,123.420868 104.505636,120.198072 L90.2895569,75.9887263 L89.0292911,79.8977279 L126.314504,52.5528988 C129.032541,50.5595011 127.635256,46.2255025 124.273711,46.2229134 L78.1610486,46.1873965 L81.4604673,48.6032923 L67.1773543,4.41589688 C66.1361365,1.19470104 61.6144265,1.19470104 60.5732087,4.41589688 L46.2900957,48.6032923 L49.5895144,46.1873965 L3.47685231,46.2229134 C0.115307373,46.2255025 -1.28197785,50.5595011 1.43605908,52.5528988 L38.7212719,79.8977279 L37.4610061,75.9887263 L23.2449266,120.198072 C22.2085954,123.420868 25.8667356,126.099427 28.5877926,124.110219 L65.9144344,96.8228569 L61.8361286,96.8228569 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/storyview-classic": {
"title": "$:/core/images/storyview-classic",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-storyview-classic tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.5776607 16,23.9924054 L16,40.0075946 C16,44.4216782 19.5881049,48 23.9992458,48 L104.000754,48 C108.418616,48 112,44.4223393 112,40.0075946 L112,23.9924054 C112,19.5783218 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z M23.9992458,64 C19.5813843,64 16,67.5907123 16,72 C16,76.418278 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.4092877 112,72 C112,67.581722 108.411895,64 104.000754,64 L23.9992458,64 L23.9992458,64 Z M23.9992458,96 C19.5813843,96 16,99.5907123 16,104 C16,108.418278 19.5881049,112 23.9992458,112 L104.000754,112 C108.418616,112 112,108.409288 112,104 C112,99.581722 108.411895,96 104.000754,96 L23.9992458,96 L23.9992458,96 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/storyview-pop": {
"title": "$:/core/images/storyview-pop",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-storyview-pop tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.5776607 16,23.9924054 L16,40.0075946 C16,44.4216782 19.5881049,48 23.9992458,48 L104.000754,48 C108.418616,48 112,44.4223393 112,40.0075946 L112,23.9924054 C112,19.5783218 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z M16.0098166,56 C11.586117,56 8,59.5776607 8,63.9924054 L8,80.0075946 C8,84.4216782 11.5838751,88 16.0098166,88 L111.990183,88 C116.413883,88 120,84.4223393 120,80.0075946 L120,63.9924054 C120,59.5783218 116.416125,56 111.990183,56 L16.0098166,56 L16.0098166,56 Z M23.9992458,96 C19.5813843,96 16,99.5907123 16,104 C16,108.418278 19.5881049,112 23.9992458,112 L104.000754,112 C108.418616,112 112,108.409288 112,104 C112,99.581722 108.411895,96 104.000754,96 L23.9992458,96 L23.9992458,96 Z M23.9992458,64 C19.5813843,64 16,67.5907123 16,72 C16,76.418278 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.4092877 112,72 C112,67.581722 108.411895,64 104.000754,64 L23.9992458,64 L23.9992458,64 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/storyview-zoomin": {
"title": "$:/core/images/storyview-zoomin",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-storyview-zoomin tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.578055 16,24.0085154 L16,71.9914846 C16,76.4144655 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.421945 112,71.9914846 L112,24.0085154 C112,19.5855345 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/strikethrough": {
"title": "$:/core/images/strikethrough",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-strikethrough tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M92.793842,38.7255689 L108.215529,38.7255689 C107.987058,31.985687 106.70193,26.1883331 104.360107,21.3333333 C102.018284,16.4783336 98.8197436,12.4516001 94.7643909,9.25301205 C90.7090382,6.05442399 85.9969032,3.71263572 80.6278447,2.22757697 C75.2587862,0.742518233 69.4328739,0 63.1499331,0 C57.552404,0 52.0977508,0.713959839 46.7858099,2.14190094 C41.473869,3.56984203 36.7331757,5.74027995 32.5635877,8.65327979 C28.3939997,11.5662796 25.0526676,15.2788708 22.5394913,19.7911647 C20.026315,24.3034585 18.7697456,29.6438781 18.7697456,35.8125837 C18.7697456,41.4101128 19.883523,46.0651309 22.1111111,49.7777778 C24.3386992,53.4904246 27.3087722,56.5176144 31.021419,58.8594378 C34.7340659,61.2012612 38.9321497,63.0861151 43.6157965,64.5140562 C48.2994433,65.9419973 53.068695,67.1985666 57.9236948,68.2838019 C62.7786945,69.3690371 67.5479462,70.4256977 72.231593,71.4538153 C76.9152398,72.4819329 81.1133237,73.8241773 84.8259705,75.480589 C88.5386174,77.1370007 91.5086903,79.2788802 93.7362784,81.9062918 C95.9638666,84.5337035 97.0776439,87.9607107 97.0776439,92.1874163 C97.0776439,96.6425926 96.1637753,100.298067 94.3360107,103.153949 C92.5082461,106.009831 90.109341,108.265944 87.1392236,109.922356 C84.1691061,111.578768 80.827774,112.749662 77.1151272,113.435074 C73.4024803,114.120485 69.7184476,114.463186 66.0629183,114.463186 C61.4935068,114.463186 57.0383974,113.892018 52.6974565,112.749665 C48.3565156,111.607312 44.5582492,109.836692 41.3025435,107.437751 C38.0468378,105.03881 35.4194656,101.983062 33.4203481,98.270415 C31.4212305,94.5577681 30.4216867,90.1312171 30.4216867,84.9906292 L15,84.9906292 C15,92.4159229 16.3422445,98.8415614 19.0267738,104.267738 C21.711303,109.693914 25.3667774,114.149023 29.9933066,117.633199 C34.6198357,121.117376 39.9888137,123.71619 46.1004016,125.429719 C52.2119895,127.143248 58.6947448,128 65.5488621,128 C71.1463912,128 76.7723948,127.343157 82.4270415,126.029451 C88.0816882,124.715745 93.1936407,122.602424 97.7630522,119.689424 C102.332464,116.776425 106.073613,113.006717 108.986613,108.380187 C111.899613,103.753658 113.356091,98.1847715 113.356091,91.6733601 C113.356091,85.6188899 112.242314,80.5926126 110.014726,76.5943775 C107.787137,72.5961424 104.817065,69.2833688 101.104418,66.6559572 C97.3917708,64.0285455 93.193687,61.9437828 88.5100402,60.4016064 C83.8263934,58.85943 79.0571416,57.5171855 74.2021419,56.3748327 C69.3471422,55.2324798 64.5778904,54.1758192 59.8942436,53.2048193 C55.2105968,52.2338193 51.012513,51.0058084 47.2998661,49.5207497 C43.5872193,48.0356909 40.6171463,46.1222786 38.3895582,43.7804552 C36.1619701,41.4386318 35.0481928,38.3828836 35.0481928,34.6131191 C35.0481928,30.6148841 35.8192694,27.273552 37.3614458,24.5890228 C38.9036222,21.9044935 40.9598265,19.762614 43.5301205,18.1633199 C46.1004145,16.5640259 49.041929,15.4216902 52.3547523,14.7362784 C55.6675757,14.0508667 59.0374661,13.708166 62.4645248,13.708166 C70.9179361,13.708166 77.8576257,15.6786952 83.2838019,19.6198126 C88.709978,23.56093 91.8799597,29.9294518 92.793842,38.7255689 L92.793842,38.7255689 Z\"></path>\n <rect x=\"5\" y=\"54\" width=\"118\" height=\"16\"></rect>\n </g>\n</svg>"
},
"$:/core/images/subscript": {
"title": "$:/core/images/subscript",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-subscript tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M2.27170276,16 L22.1825093,16 L43.8305003,49.6746527 L66.4138983,16 L85.1220387,16 L53.5854592,61.9685735 L87.3937414,111.411516 L67.0820462,111.411516 L43.295982,74.9306422 L19.1090291,111.411516 L0,111.411516 L33.8082822,61.9685735 L2.27170276,16 Z M127.910914,128.411516 L85.3276227,128.411516 C85.3870139,123.24448 86.6342108,118.730815 89.0692508,114.870386 C91.5042907,111.009956 94.8301491,107.654403 99.0469256,104.803624 C101.066227,103.318844 103.174584,101.878629 105.372059,100.482935 C107.569534,99.0872413 109.588805,97.5876355 111.429933,95.9840726 C113.271061,94.3805097 114.785514,92.6433426 115.973338,90.7725192 C117.161163,88.9016958 117.784761,86.7487964 117.844152,84.3137564 C117.844152,83.1853233 117.710524,81.9826691 117.443264,80.7057579 C117.176003,79.4288467 116.656338,78.2410402 115.884252,77.1423026 C115.112166,76.0435651 114.04314,75.123015 112.677142,74.3806248 C111.311144,73.6382345 109.529434,73.267045 107.331959,73.267045 C105.312658,73.267045 103.634881,73.6679297 102.298579,74.4697112 C100.962276,75.2714926 99.8932503,76.3702137 99.0914688,77.7659073 C98.2896874,79.161601 97.6957841,80.8096826 97.3097412,82.7102016 C96.9236982,84.6107206 96.7009845,86.6596869 96.6415933,88.857162 L86.4857457,88.857162 C86.4857457,85.4124713 86.9460207,82.2202411 87.8665846,79.2803758 C88.7871485,76.3405105 90.1679736,73.801574 92.0091014,71.6634901 C93.8502292,69.5254062 96.092214,67.8476295 98.7351233,66.6301095 C101.378033,65.4125895 104.451482,64.8038386 107.955564,64.8038386 C111.756602,64.8038386 114.933984,65.4274371 117.487807,66.6746527 C120.041629,67.9218683 122.105443,69.4957119 123.67931,71.3962309 C125.253178,73.2967499 126.366746,75.3605638 127.02005,77.5877345 C127.673353,79.8149053 128,81.9381095 128,83.9574109 C128,86.4518421 127.613963,88.7086746 126.841877,90.727976 C126.069791,92.7472774 125.03046,94.6032252 123.723854,96.2958749 C122.417247,97.9885247 120.932489,99.5475208 119.269534,100.97291 C117.60658,102.398299 115.884261,103.734582 114.102524,104.981797 C112.320788,106.229013 110.539078,107.416819 108.757341,108.545253 C106.975605,109.673686 105.327523,110.802102 103.813047,111.930535 C102.298571,113.058968 100.977136,114.231927 99.8487031,115.449447 C98.7202699,116.666967 97.9481956,117.958707 97.5324571,119.324705 L127.910914,119.324705 L127.910914,128.411516 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/superscript": {
"title": "$:/core/images/superscript",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-superscript tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M2.27170276,16 L22.1825093,16 L43.8305003,49.6746527 L66.4138983,16 L85.1220387,16 L53.5854592,61.9685735 L87.3937414,111.411516 L67.0820462,111.411516 L43.295982,74.9306422 L19.1090291,111.411516 L0,111.411516 L33.8082822,61.9685735 L2.27170276,16 Z M127.910914,63.4115159 L85.3276227,63.4115159 C85.3870139,58.2444799 86.6342108,53.7308149 89.0692508,49.8703857 C91.5042907,46.0099565 94.8301491,42.654403 99.0469256,39.8036245 C101.066227,38.318844 103.174584,36.8786285 105.372059,35.4829349 C107.569534,34.0872413 109.588805,32.5876355 111.429933,30.9840726 C113.271061,29.3805097 114.785514,27.6433426 115.973338,25.7725192 C117.161163,23.9016958 117.784761,21.7487964 117.844152,19.3137564 C117.844152,18.1853233 117.710524,16.9826691 117.443264,15.7057579 C117.176003,14.4288467 116.656338,13.2410402 115.884252,12.1423026 C115.112166,11.0435651 114.04314,10.123015 112.677142,9.38062477 C111.311144,8.63823453 109.529434,8.26704499 107.331959,8.26704499 C105.312658,8.26704499 103.634881,8.6679297 102.298579,9.46971115 C100.962276,10.2714926 99.8932503,11.3702137 99.0914688,12.7659073 C98.2896874,14.161601 97.6957841,15.8096826 97.3097412,17.7102016 C96.9236982,19.6107206 96.7009845,21.6596869 96.6415933,23.857162 L86.4857457,23.857162 C86.4857457,20.4124713 86.9460207,17.2202411 87.8665846,14.2803758 C88.7871485,11.3405105 90.1679736,8.80157397 92.0091014,6.6634901 C93.8502292,4.52540622 96.092214,2.84762946 98.7351233,1.63010947 C101.378033,0.412589489 104.451482,-0.196161372 107.955564,-0.196161372 C111.756602,-0.196161372 114.933984,0.427437071 117.487807,1.67465266 C120.041629,2.92186826 122.105443,4.49571195 123.67931,6.39623095 C125.253178,8.29674995 126.366746,10.3605638 127.02005,12.5877345 C127.673353,14.8149053 128,16.9381095 128,18.9574109 C128,21.4518421 127.613963,23.7086746 126.841877,25.727976 C126.069791,27.7472774 125.03046,29.6032252 123.723854,31.2958749 C122.417247,32.9885247 120.932489,34.5475208 119.269534,35.97291 C117.60658,37.3982993 115.884261,38.7345816 114.102524,39.9817972 C112.320788,41.2290128 110.539078,42.4168194 108.757341,43.5452525 C106.975605,44.6736857 105.327523,45.8021019 103.813047,46.9305351 C102.298571,48.0589682 100.977136,49.2319272 99.8487031,50.4494472 C98.7202699,51.6669672 97.9481956,52.9587068 97.5324571,54.3247048 L127.910914,54.3247048 L127.910914,63.4115159 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/tag-button": {
"title": "$:/core/images/tag-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-tag-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M18.1643182,47.6600756 L18.1677196,51.7651887 C18.1708869,55.5878829 20.3581578,60.8623899 23.0531352,63.5573673 L84.9021823,125.406414 C87.5996731,128.103905 91.971139,128.096834 94.6717387,125.396234 L125.766905,94.3010679 C128.473612,91.5943612 128.472063,87.2264889 125.777085,84.5315115 L63.9280381,22.6824644 C61.2305472,19.9849735 55.9517395,17.801995 52.1318769,17.8010313 L25.0560441,17.7942007 C21.2311475,17.7932358 18.1421354,20.8872832 18.1452985,24.7049463 L18.1535504,34.6641936 C18.2481119,34.6754562 18.3439134,34.6864294 18.4409623,34.6971263 C22.1702157,35.1081705 26.9295004,34.6530132 31.806204,33.5444844 C32.1342781,33.0700515 32.5094815,32.6184036 32.9318197,32.1960654 C35.6385117,29.4893734 39.5490441,28.718649 42.94592,29.8824694 C43.0432142,29.8394357 43.1402334,29.7961748 43.2369683,29.7526887 L43.3646982,30.0368244 C44.566601,30.5115916 45.6933052,31.2351533 46.6655958,32.2074439 C50.4612154,36.0030635 50.4663097,42.1518845 46.6769742,45.94122 C43.0594074,49.5587868 37.2914155,49.7181264 33.4734256,46.422636 C28.1082519,47.5454734 22.7987486,48.0186448 18.1643182,47.6600756 Z\"></path>\n <path d=\"M47.6333528,39.5324628 L47.6562932,39.5834939 C37.9670934,43.9391617 26.0718874,46.3819521 17.260095,45.4107025 C5.27267473,44.0894301 -1.02778744,36.4307276 2.44271359,24.0779512 C5.56175386,12.9761516 14.3014034,4.36129832 24.0466405,1.54817001 C34.7269254,-1.53487574 43.7955833,3.51606438 43.7955834,14.7730751 L35.1728168,14.7730752 C35.1728167,9.91428944 32.0946059,8.19982862 26.4381034,9.83267419 C19.5270911,11.8276553 13.046247,18.2159574 10.7440788,26.4102121 C8.82861123,33.2280582 11.161186,36.0634845 18.2047888,36.8398415 C25.3302805,37.6252244 35.7353482,35.4884477 44.1208333,31.7188498 L44.1475077,31.7781871 C44.159701,31.7725635 44.1718402,31.7671479 44.1839238,31.7619434 C45.9448098,31.0035157 50.4503245,38.3109156 47.7081571,39.5012767 C47.6834429,39.512005 47.6585061,39.5223987 47.6333528,39.5324628 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/theme-button": {
"title": "$:/core/images/theme-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-theme-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M55.854113,66.9453198 C54.3299482,65.1432292 53.0133883,63.518995 51.9542746,62.1263761 C40.8899947,47.578055 35.3091807,55.2383404 28.9941893,62.1263758 C22.6791979,69.0144112 30.6577916,74.5954741 24.6646171,79.4611023 C18.6714426,84.3267304 19.0414417,86.0133155 8.92654943,77.1119468 C-1.18834284,68.2105781 -1.88793412,65.7597832 2.7553553,60.6807286 C7.39864472,55.601674 11.2794845,63.5989423 20.7646627,54.5728325 C30.2498409,45.5467226 22.2819131,37.5470737 22.2819131,37.5470737 C22.2819131,37.5470737 42.0310399,-2.82433362 68.4206088,0.157393922 C94.8101776,3.13912147 58.4373806,-3.70356506 49.3898693,27.958066 C45.5161782,41.5139906 50.1107906,38.3197672 57.4560458,44.0453955 C59.1625767,45.3756367 63.8839488,48.777453 70.127165,53.3625321 C63.9980513,59.2416709 58.9704753,64.0315459 55.854113,66.9453198 Z M67.4952439,79.8919946 C83.5082212,96.9282402 105.237121,117.617674 112.611591,120.312493 C123.044132,124.12481 128.000001,117.170903 128,105.522947 C127.999999,98.3705516 104.170675,78.980486 84.0760493,63.7529565 C76.6683337,70.9090328 70.7000957,76.7055226 67.4952439,79.8919946 Z\"></path>\n <path d=\"M58.2852966,138.232794 L58.2852966,88.3943645 C56.318874,88.3923153 54.7254089,86.7952906 54.7254089,84.8344788 C54.7254089,82.8684071 56.3175932,81.2745911 58.2890859,81.2745911 L79.6408336,81.2745911 C81.608998,81.2745911 83.2045105,82.8724076 83.2045105,84.8344788 C83.2045105,86.7992907 81.614366,88.3923238 79.6446228,88.3943645 L79.6446228,88.3943646 L79.6446228,138.232794 C79.6446228,144.131009 74.8631748,148.912457 68.9649597,148.912457 C63.0667446,148.912457 58.2852966,144.131009 58.2852966,138.232794 Z M65.405072,-14.8423767 L72.5248474,-14.8423767 L76.0847351,-0.690681892 L72.5248474,6.51694947 L72.5248474,81.2745911 L65.405072,81.2745911 L65.405072,6.51694947 L61.8451843,-0.690681892 L65.405072,-14.8423767 Z\" transform=\"translate(68.964960, 67.035040) rotate(45.000000) translate(-68.964960, -67.035040) \"></path>\n </g>\n</svg>"
},
"$:/core/images/tip": {
"title": "$:/core/images/tip",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-tip tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M64,128.241818 C99.346224,128.241818 128,99.5880417 128,64.2418177 C128,28.8955937 99.346224,0.241817675 64,0.241817675 C28.653776,0.241817675 0,28.8955937 0,64.2418177 C0,99.5880417 28.653776,128.241818 64,128.241818 Z M75.9358659,91.4531941 C75.3115438,95.581915 70.2059206,98.8016748 64,98.8016748 C57.7940794,98.8016748 52.6884562,95.581915 52.0641341,91.4531941 C54.3299053,94.0502127 58.8248941,95.8192805 64,95.8192805 C69.1751059,95.8192805 73.6700947,94.0502127 75.9358659,91.4531941 L75.9358659,91.4531941 Z M75.9358659,95.9453413 C75.3115438,100.074062 70.2059206,103.293822 64,103.293822 C57.7940794,103.293822 52.6884562,100.074062 52.0641341,95.9453413 C54.3299053,98.5423599 58.8248941,100.311428 64,100.311428 C69.1751059,100.311428 73.6700947,98.5423599 75.9358659,95.9453413 L75.9358659,95.9453413 Z M75.9358659,100.40119 C75.3115438,104.529911 70.2059206,107.74967 64,107.74967 C57.7940794,107.74967 52.6884562,104.529911 52.0641341,100.40119 C54.3299053,102.998208 58.8248941,104.767276 64,104.767276 C69.1751059,104.767276 73.6700947,102.998208 75.9358659,100.40119 L75.9358659,100.40119 Z M75.9358659,104.893337 C75.3115438,109.022058 70.2059206,112.241818 64,112.241818 C57.7940794,112.241818 52.6884562,109.022058 52.0641341,104.893337 C54.3299053,107.490356 58.8248941,109.259423 64,109.259423 C69.1751059,109.259423 73.6700947,107.490356 75.9358659,104.893337 L75.9358659,104.893337 Z M64.3010456,24.2418177 C75.9193117,24.2418188 88.0000013,32.0619847 88,48.4419659 C87.9999987,64.8219472 75.9193018,71.7540963 75.9193021,83.5755932 C75.9193022,89.4486648 70.0521957,92.8368862 63.9999994,92.8368862 C57.947803,92.8368862 51.9731007,89.8295115 51.9731007,83.5755932 C51.9731007,71.1469799 39.9999998,65.4700602 40,48.4419647 C40.0000002,31.4138691 52.6827796,24.2418166 64.3010456,24.2418177 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/twitter": {
"title": "$:/core/images/twitter",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-twitter tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M41.6263422,115.803477 C27.0279663,115.803477 13.4398394,111.540813 1.99987456,104.234833 C4.02221627,104.472643 6.08004574,104.594302 8.16644978,104.594302 C20.277456,104.594302 31.4238403,100.47763 40.270894,93.5715185 C28.9590538,93.3635501 19.4123842,85.9189246 16.1230832,75.6885328 C17.7011365,75.9892376 19.320669,76.1503787 20.9862896,76.1503787 C23.344152,76.1503787 25.6278127,75.8359011 27.7971751,75.247346 C15.9709927,72.8821073 7.06079851,62.4745062 7.06079851,49.9982394 C7.06079851,49.8898938 7.06079851,49.7820074 7.06264203,49.67458 C10.5482779,51.6032228 14.5339687,52.7615103 18.7717609,52.8951059 C11.8355159,48.277565 7.2714207,40.3958845 7.2714207,31.4624258 C7.2714207,26.7434257 8.54621495,22.3200804 10.7713439,18.5169676 C23.5211299,34.0957738 42.568842,44.3472839 64.0532269,45.4210985 C63.6126256,43.5365285 63.3835682,41.5711584 63.3835682,39.5529928 C63.3835682,25.3326379 74.95811,13.8034766 89.2347917,13.8034766 C96.6697089,13.8034766 103.387958,16.930807 108.103682,21.9353619 C113.991886,20.780288 119.52429,18.6372496 124.518847,15.6866694 C122.588682,21.6993889 118.490075,26.7457211 113.152623,29.9327334 C118.381769,29.3102055 123.363882,27.926045 127.999875,25.8780385 C124.534056,31.0418981 120.151087,35.5772616 115.100763,39.2077561 C115.150538,40.3118708 115.175426,41.4224128 115.175426,42.538923 C115.175426,76.5663154 89.1744164,115.803477 41.6263422,115.803477\"></path>\n </g>\n</svg>\n"
},
"$:/core/images/underline": {
"title": "$:/core/images/underline",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-underline tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M7,117.421488 L121.247934,117.421488 L121.247934,128 L7,128 L7,117.421488 Z M104.871212,98.8958333 L104.871212,0 L88.6117424,0 L88.6117424,55.8560606 C88.6117424,60.3194668 88.0060035,64.432115 86.7945076,68.1941288 C85.5830116,71.9561425 83.7657949,75.239885 81.342803,78.0454545 C78.9198111,80.8510241 75.8911167,83.0189317 72.2566288,84.5492424 C68.6221409,86.0795531 64.3182067,86.844697 59.344697,86.844697 C53.0959284,86.844697 48.1862552,85.0593613 44.6155303,81.4886364 C41.0448054,77.9179114 39.2594697,73.0720003 39.2594697,66.9507576 L39.2594697,0 L23,0 L23,65.0378788 C23,70.3939662 23.5419769,75.2717583 24.625947,79.6714015 C25.709917,84.0710447 27.5908957,87.864883 30.2689394,91.0530303 C32.9469831,94.2411776 36.4538925,96.6960141 40.7897727,98.4176136 C45.125653,100.139213 50.545422,101 57.0492424,101 C64.3182182,101 70.630655,99.5653553 75.9867424,96.6960227 C81.3428298,93.8266902 85.742407,89.33147 89.1856061,83.2102273 L89.5681818,83.2102273 L89.5681818,98.8958333 L104.871212,98.8958333 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/unfold-all-button": {
"title": "$:/core/images/unfold-all-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-unfold-all tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"0\" y=\"64\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <path d=\"M85.598226,8.34884273 C84.1490432,6.89863875 82.1463102,6 79.9340286,6 L47.9482224,6 C43.5292967,6 39.9411255,9.581722 39.9411255,14 C39.9411255,18.4092877 43.5260249,22 47.9482224,22 L71.9411255,22 L71.9411255,45.9929031 C71.9411255,50.4118288 75.5228475,54 79.9411255,54 C84.3504132,54 87.9411255,50.4151006 87.9411255,45.9929031 L87.9411255,14.0070969 C87.9411255,11.7964515 87.0447363,9.79371715 85.5956548,8.34412458 Z\" transform=\"translate(63.941125, 30.000000) scale(1, -1) rotate(-45.000000) translate(-63.941125, -30.000000) \"></path>\n <path d=\"M85.6571005,72.2899682 C84.2079177,70.8397642 82.2051847,69.9411255 79.9929031,69.9411255 L48.0070969,69.9411255 C43.5881712,69.9411255 40,73.5228475 40,77.9411255 C40,82.3504132 43.5848994,85.9411255 48.0070969,85.9411255 L72,85.9411255 L72,109.934029 C72,114.352954 75.581722,117.941125 80,117.941125 C84.4092877,117.941125 88,114.356226 88,109.934029 L88,77.9482224 C88,75.737577 87.1036108,73.7348426 85.6545293,72.2852501 Z\" transform=\"translate(64.000000, 93.941125) scale(1, -1) rotate(-45.000000) translate(-64.000000, -93.941125) \"></path>\n </g>\n</svg>"
},
"$:/core/images/unfold-button": {
"title": "$:/core/images/unfold-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-unfold tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <path d=\"M85.598226,11.3488427 C84.1490432,9.89863875 82.1463102,9 79.9340286,9 L47.9482224,9 C43.5292967,9 39.9411255,12.581722 39.9411255,17 C39.9411255,21.4092877 43.5260249,25 47.9482224,25 L71.9411255,25 L71.9411255,48.9929031 C71.9411255,53.4118288 75.5228475,57 79.9411255,57 C84.3504132,57 87.9411255,53.4151006 87.9411255,48.9929031 L87.9411255,17.0070969 C87.9411255,14.7964515 87.0447363,12.7937171 85.5956548,11.3441246 Z\" transform=\"translate(63.941125, 33.000000) scale(1, -1) rotate(-45.000000) translate(-63.941125, -33.000000) \"></path>\n <path d=\"M85.6571005,53.4077172 C84.2079177,51.9575133 82.2051847,51.0588745 79.9929031,51.0588745 L48.0070969,51.0588745 C43.5881712,51.0588745 40,54.6405965 40,59.0588745 C40,63.4681622 43.5848994,67.0588745 48.0070969,67.0588745 L72,67.0588745 L72,91.0517776 C72,95.4707033 75.581722,99.0588745 80,99.0588745 C84.4092877,99.0588745 88,95.4739751 88,91.0517776 L88,59.0659714 C88,56.855326 87.1036108,54.8525917 85.6545293,53.4029991 Z\" transform=\"translate(64.000000, 75.058875) scale(1, -1) rotate(-45.000000) translate(-64.000000, -75.058875) \"></path>\n </g>\n</svg>"
},
"$:/core/images/unlocked-padlock": {
"title": "$:/core/images/unlocked-padlock",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-unlocked-padlock tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M48.6266053,64 L105,64 L105,96.0097716 C105,113.673909 90.6736461,128 73.001193,128 L55.998807,128 C38.3179793,128 24,113.677487 24,96.0097716 L24,64 L30.136303,64 C19.6806213,51.3490406 2.77158986,28.2115132 25.8366966,8.85759246 C50.4723026,-11.8141335 71.6711028,13.2108337 81.613302,25.0594855 C91.5555012,36.9081373 78.9368488,47.4964439 69.1559674,34.9513593 C59.375086,22.4062748 47.9893192,10.8049522 35.9485154,20.9083862 C23.9077117,31.0118202 34.192312,43.2685325 44.7624679,55.8655518 C47.229397,58.805523 48.403443,61.5979188 48.6266053,64 Z M67.7315279,92.3641717 C70.8232551,91.0923621 73,88.0503841 73,84.5 C73,79.8055796 69.1944204,76 64.5,76 C59.8055796,76 56,79.8055796 56,84.5 C56,87.947435 58.0523387,90.9155206 61.0018621,92.2491029 L55.9067479,115.020857 L72.8008958,115.020857 L67.7315279,92.3641717 L67.7315279,92.3641717 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/up-arrow": {
"created": "20150316000544368",
"modified": "20150316000831867",
"tags": "$:/tags/Image",
"title": "$:/core/images/up-arrow",
"text": "<svg class=\"tc-image-up-arrow tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n<path transform=\"rotate(-135, 63.8945, 64.1752)\" d=\"m109.07576,109.35336c-1.43248,1.43361 -3.41136,2.32182 -5.59717,2.32182l-79.16816,0c-4.36519,0 -7.91592,-3.5444 -7.91592,-7.91666c0,-4.36337 3.54408,-7.91667 7.91592,-7.91667l71.25075,0l0,-71.25074c0,-4.3652 3.54442,-7.91592 7.91667,-7.91592c4.36336,0 7.91667,3.54408 7.91667,7.91592l0,79.16815c0,2.1825 -0.88602,4.16136 -2.3185,5.59467l-0.00027,-0.00056l0.00001,-0.00001z\" />\n</svg>\n \n"
},
"$:/core/images/video": {
"title": "$:/core/images/video",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-video tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M64,12 C29.0909091,12 8.72727273,14.9166667 5.81818182,17.8333333 C2.90909091,20.75 1.93784382e-15,41.1666667 0,64.5 C1.93784382e-15,87.8333333 2.90909091,108.25 5.81818182,111.166667 C8.72727273,114.083333 29.0909091,117 64,117 C98.9090909,117 119.272727,114.083333 122.181818,111.166667 C125.090909,108.25 128,87.8333333 128,64.5 C128,41.1666667 125.090909,20.75 122.181818,17.8333333 C119.272727,14.9166667 98.9090909,12 64,12 Z M54.9161194,44.6182253 C51.102648,42.0759111 48.0112186,43.7391738 48.0112186,48.3159447 L48.0112186,79.6840553 C48.0112186,84.2685636 51.109784,85.9193316 54.9161194,83.3817747 L77.0838806,68.6032672 C80.897352,66.0609529 80.890216,61.9342897 77.0838806,59.3967328 L54.9161194,44.6182253 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/warning": {
"title": "$:/core/images/warning",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-warning tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M57.0717968,11 C60.1509982,5.66666667 67.8490018,5.66666667 70.9282032,11 L126.353829,107 C129.433031,112.333333 125.584029,119 119.425626,119 L8.57437416,119 C2.41597129,119 -1.43303051,112.333333 1.64617093,107 L57.0717968,11 Z M64,37 C59.581722,37 56,40.5820489 56,44.9935776 L56,73.0064224 C56,77.4211534 59.5907123,81 64,81 C68.418278,81 72,77.4179511 72,73.0064224 L72,44.9935776 C72,40.5788466 68.4092877,37 64,37 Z M64,104 C68.418278,104 72,100.418278 72,96 C72,91.581722 68.418278,88 64,88 C59.581722,88 56,91.581722 56,96 C56,100.418278 59.581722,104 64,104 Z\"></path>\n </g>\n</svg>"
},
"$:/language/Buttons/AdvancedSearch/Caption": {
"title": "$:/language/Buttons/AdvancedSearch/Caption",
"text": "advanced search"
},
"$:/language/Buttons/AdvancedSearch/Hint": {
"title": "$:/language/Buttons/AdvancedSearch/Hint",
"text": "Advanced search"
},
"$:/language/Buttons/Cancel/Caption": {
"title": "$:/language/Buttons/Cancel/Caption",
"text": "cancel"
},
"$:/language/Buttons/Cancel/Hint": {
"title": "$:/language/Buttons/Cancel/Hint",
"text": "Discard changes to this tiddler"
},
"$:/language/Buttons/Clone/Caption": {
"title": "$:/language/Buttons/Clone/Caption",
"text": "clone"
},
"$:/language/Buttons/Clone/Hint": {
"title": "$:/language/Buttons/Clone/Hint",
"text": "Clone this tiddler"
},
"$:/language/Buttons/Close/Caption": {
"title": "$:/language/Buttons/Close/Caption",
"text": "close"
},
"$:/language/Buttons/Close/Hint": {
"title": "$:/language/Buttons/Close/Hint",
"text": "Close this tiddler"
},
"$:/language/Buttons/CloseAll/Caption": {
"title": "$:/language/Buttons/CloseAll/Caption",
"text": "close all"
},
"$:/language/Buttons/CloseAll/Hint": {
"title": "$:/language/Buttons/CloseAll/Hint",
"text": "Close all tiddlers"
},
"$:/language/Buttons/CloseOthers/Caption": {
"title": "$:/language/Buttons/CloseOthers/Caption",
"text": "close others"
},
"$:/language/Buttons/CloseOthers/Hint": {
"title": "$:/language/Buttons/CloseOthers/Hint",
"text": "Close other tiddlers"
},
"$:/language/Buttons/ControlPanel/Caption": {
"title": "$:/language/Buttons/ControlPanel/Caption",
"text": "control panel"
},
"$:/language/Buttons/ControlPanel/Hint": {
"title": "$:/language/Buttons/ControlPanel/Hint",
"text": "Open control panel"
},
"$:/language/Buttons/Delete/Caption": {
"title": "$:/language/Buttons/Delete/Caption",
"text": "delete"
},
"$:/language/Buttons/Delete/Hint": {
"title": "$:/language/Buttons/Delete/Hint",
"text": "Delete this tiddler"
},
"$:/language/Buttons/Edit/Caption": {
"title": "$:/language/Buttons/Edit/Caption",
"text": "edit"
},
"$:/language/Buttons/Edit/Hint": {
"title": "$:/language/Buttons/Edit/Hint",
"text": "Edit this tiddler"
},
"$:/language/Buttons/Encryption/Caption": {
"title": "$:/language/Buttons/Encryption/Caption",
"text": "encryption"
},
"$:/language/Buttons/Encryption/Hint": {
"title": "$:/language/Buttons/Encryption/Hint",
"text": "Set or clear a password for saving this wiki"
},
"$:/language/Buttons/Encryption/ClearPassword/Caption": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Caption",
"text": "clear password"
},
"$:/language/Buttons/Encryption/ClearPassword/Hint": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Hint",
"text": "Clear the password and save this wiki without encryption"
},
"$:/language/Buttons/Encryption/SetPassword/Caption": {
"title": "$:/language/Buttons/Encryption/SetPassword/Caption",
"text": "set password"
},
"$:/language/Buttons/Encryption/SetPassword/Hint": {
"title": "$:/language/Buttons/Encryption/SetPassword/Hint",
"text": "Set a password for saving this wiki with encryption"
},
"$:/language/Buttons/ExportPage/Caption": {
"title": "$:/language/Buttons/ExportPage/Caption",
"text": "export all"
},
"$:/language/Buttons/ExportPage/Hint": {
"title": "$:/language/Buttons/ExportPage/Hint",
"text": "Export all tiddlers"
},
"$:/language/Buttons/ExportTiddler/Caption": {
"title": "$:/language/Buttons/ExportTiddler/Caption",
"text": "export tiddler"
},
"$:/language/Buttons/ExportTiddler/Hint": {
"title": "$:/language/Buttons/ExportTiddler/Hint",
"text": "Export tiddler"
},
"$:/language/Buttons/ExportTiddlers/Caption": {
"title": "$:/language/Buttons/ExportTiddlers/Caption",
"text": "export tiddlers"
},
"$:/language/Buttons/ExportTiddlers/Hint": {
"title": "$:/language/Buttons/ExportTiddlers/Hint",
"text": "Export tiddlers"
},
"$:/language/Buttons/Fold/Caption": {
"title": "$:/language/Buttons/Fold/Caption",
"text": "fold tiddler"
},
"$:/language/Buttons/Fold/Hint": {
"title": "$:/language/Buttons/Fold/Hint",
"text": "Fold the body of this tiddler"
},
"$:/language/Buttons/Fold/FoldBar/Caption": {
"title": "$:/language/Buttons/Fold/FoldBar/Caption",
"text": "fold-bar"
},
"$:/language/Buttons/Fold/FoldBar/Hint": {
"title": "$:/language/Buttons/Fold/FoldBar/Hint",
"text": "Optional bars to fold and unfold tiddlers"
},
"$:/language/Buttons/Unfold/Caption": {
"title": "$:/language/Buttons/Unfold/Caption",
"text": "unfold tiddler"
},
"$:/language/Buttons/Unfold/Hint": {
"title": "$:/language/Buttons/Unfold/Hint",
"text": "Unfold the body of this tiddler"
},
"$:/language/Buttons/FoldOthers/Caption": {
"title": "$:/language/Buttons/FoldOthers/Caption",
"text": "fold other tiddlers"
},
"$:/language/Buttons/FoldOthers/Hint": {
"title": "$:/language/Buttons/FoldOthers/Hint",
"text": "Fold the bodies of other opened tiddlers"
},
"$:/language/Buttons/FoldAll/Caption": {
"title": "$:/language/Buttons/FoldAll/Caption",
"text": "fold all tiddlers"
},
"$:/language/Buttons/FoldAll/Hint": {
"title": "$:/language/Buttons/FoldAll/Hint",
"text": "Fold the bodies of all opened tiddlers"
},
"$:/language/Buttons/UnfoldAll/Caption": {
"title": "$:/language/Buttons/UnfoldAll/Caption",
"text": "unfold all tiddlers"
},
"$:/language/Buttons/UnfoldAll/Hint": {
"title": "$:/language/Buttons/UnfoldAll/Hint",
"text": "Unfold the bodies of all opened tiddlers"
},
"$:/language/Buttons/FullScreen/Caption": {
"title": "$:/language/Buttons/FullScreen/Caption",
"text": "full-screen"
},
"$:/language/Buttons/FullScreen/Hint": {
"title": "$:/language/Buttons/FullScreen/Hint",
"text": "Enter or leave full-screen mode"
},
"$:/language/Buttons/Help/Caption": {
"title": "$:/language/Buttons/Help/Caption",
"text": "help"
},
"$:/language/Buttons/Help/Hint": {
"title": "$:/language/Buttons/Help/Hint",
"text": "Show help panel"
},
"$:/language/Buttons/Import/Caption": {
"title": "$:/language/Buttons/Import/Caption",
"text": "import"
},
"$:/language/Buttons/Import/Hint": {
"title": "$:/language/Buttons/Import/Hint",
"text": "Import many types of file including text, image, TiddlyWiki or JSON"
},
"$:/language/Buttons/Info/Caption": {
"title": "$:/language/Buttons/Info/Caption",
"text": "info"
},
"$:/language/Buttons/Info/Hint": {
"title": "$:/language/Buttons/Info/Hint",
"text": "Show information for this tiddler"
},
"$:/language/Buttons/Home/Caption": {
"title": "$:/language/Buttons/Home/Caption",
"text": "home"
},
"$:/language/Buttons/Home/Hint": {
"title": "$:/language/Buttons/Home/Hint",
"text": "Open the default tiddlers"
},
"$:/language/Buttons/Language/Caption": {
"title": "$:/language/Buttons/Language/Caption",
"text": "language"
},
"$:/language/Buttons/Language/Hint": {
"title": "$:/language/Buttons/Language/Hint",
"text": "Choose the user interface language"
},
"$:/language/Buttons/More/Caption": {
"title": "$:/language/Buttons/More/Caption",
"text": "more"
},
"$:/language/Buttons/More/Hint": {
"title": "$:/language/Buttons/More/Hint",
"text": "More actions"
},
"$:/language/Buttons/NewHere/Caption": {
"title": "$:/language/Buttons/NewHere/Caption",
"text": "new here"
},
"$:/language/Buttons/NewHere/Hint": {
"title": "$:/language/Buttons/NewHere/Hint",
"text": "Create a new tiddler tagged with this one"
},
"$:/language/Buttons/NewJournal/Caption": {
"title": "$:/language/Buttons/NewJournal/Caption",
"text": "new journal"
},
"$:/language/Buttons/NewJournal/Hint": {
"title": "$:/language/Buttons/NewJournal/Hint",
"text": "Create a new journal tiddler"
},
"$:/language/Buttons/NewJournalHere/Caption": {
"title": "$:/language/Buttons/NewJournalHere/Caption",
"text": "new journal here"
},
"$:/language/Buttons/NewJournalHere/Hint": {
"title": "$:/language/Buttons/NewJournalHere/Hint",
"text": "Create a new journal tiddler tagged with this one"
},
"$:/language/Buttons/NewImage/Caption": {
"title": "$:/language/Buttons/NewImage/Caption",
"text": "new image"
},
"$:/language/Buttons/NewImage/Hint": {
"title": "$:/language/Buttons/NewImage/Hint",
"text": "Create a new image tiddler"
},
"$:/language/Buttons/NewMarkdown/Caption": {
"title": "$:/language/Buttons/NewMarkdown/Caption",
"text": "new Markdown tiddler"
},
"$:/language/Buttons/NewMarkdown/Hint": {
"title": "$:/language/Buttons/NewMarkdown/Hint",
"text": "Create a new Markdown tiddler"
},
"$:/language/Buttons/NewTiddler/Caption": {
"title": "$:/language/Buttons/NewTiddler/Caption",
"text": "new tiddler"
},
"$:/language/Buttons/NewTiddler/Hint": {
"title": "$:/language/Buttons/NewTiddler/Hint",
"text": "Create a new tiddler"
},
"$:/language/Buttons/OpenWindow/Caption": {
"title": "$:/language/Buttons/OpenWindow/Caption",
"text": "open in new window"
},
"$:/language/Buttons/OpenWindow/Hint": {
"title": "$:/language/Buttons/OpenWindow/Hint",
"text": "Open tiddler in new window"
},
"$:/language/Buttons/Palette/Caption": {
"title": "$:/language/Buttons/Palette/Caption",
"text": "palette"
},
"$:/language/Buttons/Palette/Hint": {
"title": "$:/language/Buttons/Palette/Hint",
"text": "Choose the colour palette"
},
"$:/language/Buttons/Permalink/Caption": {
"title": "$:/language/Buttons/Permalink/Caption",
"text": "permalink"
},
"$:/language/Buttons/Permalink/Hint": {
"title": "$:/language/Buttons/Permalink/Hint",
"text": "Set browser address bar to a direct link to this tiddler"
},
"$:/language/Buttons/Permaview/Caption": {
"title": "$:/language/Buttons/Permaview/Caption",
"text": "permaview"
},
"$:/language/Buttons/Permaview/Hint": {
"title": "$:/language/Buttons/Permaview/Hint",
"text": "Set browser address bar to a direct link to all the tiddlers in this story"
},
"$:/language/Buttons/Refresh/Caption": {
"title": "$:/language/Buttons/Refresh/Caption",
"text": "refresh"
},
"$:/language/Buttons/Refresh/Hint": {
"title": "$:/language/Buttons/Refresh/Hint",
"text": "Perform a full refresh of the wiki"
},
"$:/language/Buttons/Save/Caption": {
"title": "$:/language/Buttons/Save/Caption",
"text": "ok"
},
"$:/language/Buttons/Save/Hint": {
"title": "$:/language/Buttons/Save/Hint",
"text": "Confirm changes to this tiddler"
},
"$:/language/Buttons/SaveWiki/Caption": {
"title": "$:/language/Buttons/SaveWiki/Caption",
"text": "save changes"
},
"$:/language/Buttons/SaveWiki/Hint": {
"title": "$:/language/Buttons/SaveWiki/Hint",
"text": "Save changes"
},
"$:/language/Buttons/StoryView/Caption": {
"title": "$:/language/Buttons/StoryView/Caption",
"text": "storyview"
},
"$:/language/Buttons/StoryView/Hint": {
"title": "$:/language/Buttons/StoryView/Hint",
"text": "Choose the story visualisation"
},
"$:/language/Buttons/HideSideBar/Caption": {
"title": "$:/language/Buttons/HideSideBar/Caption",
"text": "hide sidebar"
},
"$:/language/Buttons/HideSideBar/Hint": {
"title": "$:/language/Buttons/HideSideBar/Hint",
"text": "Hide sidebar"
},
"$:/language/Buttons/ShowSideBar/Caption": {
"title": "$:/language/Buttons/ShowSideBar/Caption",
"text": "show sidebar"
},
"$:/language/Buttons/ShowSideBar/Hint": {
"title": "$:/language/Buttons/ShowSideBar/Hint",
"text": "Show sidebar"
},
"$:/language/Buttons/TagManager/Caption": {
"title": "$:/language/Buttons/TagManager/Caption",
"text": "tag manager"
},
"$:/language/Buttons/TagManager/Hint": {
"title": "$:/language/Buttons/TagManager/Hint",
"text": "Open tag manager"
},
"$:/language/Buttons/Theme/Caption": {
"title": "$:/language/Buttons/Theme/Caption",
"text": "theme"
},
"$:/language/Buttons/Theme/Hint": {
"title": "$:/language/Buttons/Theme/Hint",
"text": "Choose the display theme"
},
"$:/language/Buttons/Bold/Caption": {
"title": "$:/language/Buttons/Bold/Caption",
"text": "bold"
},
"$:/language/Buttons/Bold/Hint": {
"title": "$:/language/Buttons/Bold/Hint",
"text": "Apply bold formatting to selection"
},
"$:/language/Buttons/Clear/Caption": {
"title": "$:/language/Buttons/Clear/Caption",
"text": "clear"
},
"$:/language/Buttons/Clear/Hint": {
"title": "$:/language/Buttons/Clear/Hint",
"text": "Clear image to solid colour"
},
"$:/language/Buttons/EditorHeight/Caption": {
"title": "$:/language/Buttons/EditorHeight/Caption",
"text": "editor height"
},
"$:/language/Buttons/EditorHeight/Caption/Auto": {
"title": "$:/language/Buttons/EditorHeight/Caption/Auto",
"text": "Automatically adjust height to fit content"
},
"$:/language/Buttons/EditorHeight/Caption/Fixed": {
"title": "$:/language/Buttons/EditorHeight/Caption/Fixed",
"text": "Fixed height:"
},
"$:/language/Buttons/EditorHeight/Hint": {
"title": "$:/language/Buttons/EditorHeight/Hint",
"text": "Choose the height of the text editor"
},
"$:/language/Buttons/Excise/Caption": {
"title": "$:/language/Buttons/Excise/Caption",
"text": "excise"
},
"$:/language/Buttons/Excise/Caption/Excise": {
"title": "$:/language/Buttons/Excise/Caption/Excise",
"text": "Perform excision"
},
"$:/language/Buttons/Excise/Caption/MacroName": {
"title": "$:/language/Buttons/Excise/Caption/MacroName",
"text": "Macro name:"
},
"$:/language/Buttons/Excise/Caption/NewTitle": {
"title": "$:/language/Buttons/Excise/Caption/NewTitle",
"text": "Title of new tiddler:"
},
"$:/language/Buttons/Excise/Caption/Replace": {
"title": "$:/language/Buttons/Excise/Caption/Replace",
"text": "Replace excised text with:"
},
"$:/language/Buttons/Excise/Caption/Replace/Macro": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Macro",
"text": "macro"
},
"$:/language/Buttons/Excise/Caption/Replace/Link": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Link",
"text": "link"
},
"$:/language/Buttons/Excise/Caption/Replace/Transclusion": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Transclusion",
"text": "transclusion"
},
"$:/language/Buttons/Excise/Caption/Tag": {
"title": "$:/language/Buttons/Excise/Caption/Tag",
"text": "Tag new tiddler with the title of this tiddler"
},
"$:/language/Buttons/Excise/Caption/TiddlerExists": {
"title": "$:/language/Buttons/Excise/Caption/TiddlerExists",
"text": "Warning: tiddler already exists"
},
"$:/language/Buttons/Excise/Hint": {
"title": "$:/language/Buttons/Excise/Hint",
"text": "Excise the selected text into a new tiddler"
},
"$:/language/Buttons/Heading1/Caption": {
"title": "$:/language/Buttons/Heading1/Caption",
"text": "heading 1"
},
"$:/language/Buttons/Heading1/Hint": {
"title": "$:/language/Buttons/Heading1/Hint",
"text": "Apply heading level 1 formatting to lines containing selection"
},
"$:/language/Buttons/Heading2/Caption": {
"title": "$:/language/Buttons/Heading2/Caption",
"text": "heading 2"
},
"$:/language/Buttons/Heading2/Hint": {
"title": "$:/language/Buttons/Heading2/Hint",
"text": "Apply heading level 2 formatting to lines containing selection"
},
"$:/language/Buttons/Heading3/Caption": {
"title": "$:/language/Buttons/Heading3/Caption",
"text": "heading 3"
},
"$:/language/Buttons/Heading3/Hint": {
"title": "$:/language/Buttons/Heading3/Hint",
"text": "Apply heading level 3 formatting to lines containing selection"
},
"$:/language/Buttons/Heading4/Caption": {
"title": "$:/language/Buttons/Heading4/Caption",
"text": "heading 4"
},
"$:/language/Buttons/Heading4/Hint": {
"title": "$:/language/Buttons/Heading4/Hint",
"text": "Apply heading level 4 formatting to lines containing selection"
},
"$:/language/Buttons/Heading5/Caption": {
"title": "$:/language/Buttons/Heading5/Caption",
"text": "heading 5"
},
"$:/language/Buttons/Heading5/Hint": {
"title": "$:/language/Buttons/Heading5/Hint",
"text": "Apply heading level 5 formatting to lines containing selection"
},
"$:/language/Buttons/Heading6/Caption": {
"title": "$:/language/Buttons/Heading6/Caption",
"text": "heading 6"
},
"$:/language/Buttons/Heading6/Hint": {
"title": "$:/language/Buttons/Heading6/Hint",
"text": "Apply heading level 6 formatting to lines containing selection"
},
"$:/language/Buttons/Italic/Caption": {
"title": "$:/language/Buttons/Italic/Caption",
"text": "italic"
},
"$:/language/Buttons/Italic/Hint": {
"title": "$:/language/Buttons/Italic/Hint",
"text": "Apply italic formatting to selection"
},
"$:/language/Buttons/LineWidth/Caption": {
"title": "$:/language/Buttons/LineWidth/Caption",
"text": "line width"
},
"$:/language/Buttons/LineWidth/Hint": {
"title": "$:/language/Buttons/LineWidth/Hint",
"text": "Set line width for painting"
},
"$:/language/Buttons/Link/Caption": {
"title": "$:/language/Buttons/Link/Caption",
"text": "link"
},
"$:/language/Buttons/Link/Hint": {
"title": "$:/language/Buttons/Link/Hint",
"text": "Create wikitext link"
},
"$:/language/Buttons/ListBullet/Caption": {
"title": "$:/language/Buttons/ListBullet/Caption",
"text": "bulleted list"
},
"$:/language/Buttons/ListBullet/Hint": {
"title": "$:/language/Buttons/ListBullet/Hint",
"text": "Apply bulleted list formatting to lines containing selection"
},
"$:/language/Buttons/ListNumber/Caption": {
"title": "$:/language/Buttons/ListNumber/Caption",
"text": "numbered list"
},
"$:/language/Buttons/ListNumber/Hint": {
"title": "$:/language/Buttons/ListNumber/Hint",
"text": "Apply numbered list formatting to lines containing selection"
},
"$:/language/Buttons/MonoBlock/Caption": {
"title": "$:/language/Buttons/MonoBlock/Caption",
"text": "monospaced block"
},
"$:/language/Buttons/MonoBlock/Hint": {
"title": "$:/language/Buttons/MonoBlock/Hint",
"text": "Apply monospaced block formatting to lines containing selection"
},
"$:/language/Buttons/MonoLine/Caption": {
"title": "$:/language/Buttons/MonoLine/Caption",
"text": "monospaced"
},
"$:/language/Buttons/MonoLine/Hint": {
"title": "$:/language/Buttons/MonoLine/Hint",
"text": "Apply monospaced character formatting to selection"
},
"$:/language/Buttons/Opacity/Caption": {
"title": "$:/language/Buttons/Opacity/Caption",
"text": "opacity"
},
"$:/language/Buttons/Opacity/Hint": {
"title": "$:/language/Buttons/Opacity/Hint",
"text": "Set painting opacity"
},
"$:/language/Buttons/Paint/Caption": {
"title": "$:/language/Buttons/Paint/Caption",
"text": "paint colour"
},
"$:/language/Buttons/Paint/Hint": {
"title": "$:/language/Buttons/Paint/Hint",
"text": "Set painting colour"
},
"$:/language/Buttons/Picture/Caption": {
"title": "$:/language/Buttons/Picture/Caption",
"text": "picture"
},
"$:/language/Buttons/Picture/Hint": {
"title": "$:/language/Buttons/Picture/Hint",
"text": "Insert picture"
},
"$:/language/Buttons/Preview/Caption": {
"title": "$:/language/Buttons/Preview/Caption",
"text": "preview"
},
"$:/language/Buttons/Preview/Hint": {
"title": "$:/language/Buttons/Preview/Hint",
"text": "Show preview pane"
},
"$:/language/Buttons/PreviewType/Caption": {
"title": "$:/language/Buttons/PreviewType/Caption",
"text": "preview type"
},
"$:/language/Buttons/PreviewType/Hint": {
"title": "$:/language/Buttons/PreviewType/Hint",
"text": "Choose preview type"
},
"$:/language/Buttons/Quote/Caption": {
"title": "$:/language/Buttons/Quote/Caption",
"text": "quote"
},
"$:/language/Buttons/Quote/Hint": {
"title": "$:/language/Buttons/Quote/Hint",
"text": "Apply quoted text formatting to lines containing selection"
},
"$:/language/Buttons/Size/Caption": {
"title": "$:/language/Buttons/Size/Caption",
"text": "image size"
},
"$:/language/Buttons/Size/Caption/Height": {
"title": "$:/language/Buttons/Size/Caption/Height",
"text": "Height:"
},
"$:/language/Buttons/Size/Caption/Resize": {
"title": "$:/language/Buttons/Size/Caption/Resize",
"text": "Resize image"
},
"$:/language/Buttons/Size/Caption/Width": {
"title": "$:/language/Buttons/Size/Caption/Width",
"text": "Width:"
},
"$:/language/Buttons/Size/Hint": {
"title": "$:/language/Buttons/Size/Hint",
"text": "Set image size"
},
"$:/language/Buttons/Stamp/Caption": {
"title": "$:/language/Buttons/Stamp/Caption",
"text": "stamp"
},
"$:/language/Buttons/Stamp/Caption/New": {
"title": "$:/language/Buttons/Stamp/Caption/New",
"text": "Add your own"
},
"$:/language/Buttons/Stamp/Hint": {
"title": "$:/language/Buttons/Stamp/Hint",
"text": "Insert a preconfigured snippet of text"
},
"$:/language/Buttons/Stamp/New/Title": {
"title": "$:/language/Buttons/Stamp/New/Title",
"text": "Name as shown in menu"
},
"$:/language/Buttons/Stamp/New/Text": {
"title": "$:/language/Buttons/Stamp/New/Text",
"text": "Text of snippet. (Remember to add a descriptive title in the caption field)."
},
"$:/language/Buttons/Strikethrough/Caption": {
"title": "$:/language/Buttons/Strikethrough/Caption",
"text": "strikethrough"
},
"$:/language/Buttons/Strikethrough/Hint": {
"title": "$:/language/Buttons/Strikethrough/Hint",
"text": "Apply strikethrough formatting to selection"
},
"$:/language/Buttons/Subscript/Caption": {
"title": "$:/language/Buttons/Subscript/Caption",
"text": "subscript"
},
"$:/language/Buttons/Subscript/Hint": {
"title": "$:/language/Buttons/Subscript/Hint",
"text": "Apply subscript formatting to selection"
},
"$:/language/Buttons/Superscript/Caption": {
"title": "$:/language/Buttons/Superscript/Caption",
"text": "superscript"
},
"$:/language/Buttons/Superscript/Hint": {
"title": "$:/language/Buttons/Superscript/Hint",
"text": "Apply superscript formatting to selection"
},
"$:/language/Buttons/Underline/Caption": {
"title": "$:/language/Buttons/Underline/Caption",
"text": "underline"
},
"$:/language/Buttons/Underline/Hint": {
"title": "$:/language/Buttons/Underline/Hint",
"text": "Apply underline formatting to selection"
},
"$:/language/ControlPanel/Advanced/Caption": {
"title": "$:/language/ControlPanel/Advanced/Caption",
"text": "Advanced"
},
"$:/language/ControlPanel/Advanced/Hint": {
"title": "$:/language/ControlPanel/Advanced/Hint",
"text": "Internal information about this TiddlyWiki"
},
"$:/language/ControlPanel/Appearance/Caption": {
"title": "$:/language/ControlPanel/Appearance/Caption",
"text": "Appearance"
},
"$:/language/ControlPanel/Appearance/Hint": {
"title": "$:/language/ControlPanel/Appearance/Hint",
"text": "Ways to customise the appearance of your TiddlyWiki."
},
"$:/language/ControlPanel/Basics/AnimDuration/Prompt": {
"title": "$:/language/ControlPanel/Basics/AnimDuration/Prompt",
"text": "Animation duration:"
},
"$:/language/ControlPanel/Basics/Caption": {
"title": "$:/language/ControlPanel/Basics/Caption",
"text": "Basics"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint",
"text": "Use [[double square brackets]] for titles with spaces. Or you can choose to <$button set=\"$:/DefaultTiddlers\" setTo=\"[list[$:/StoryList]]\">retain story ordering</$button>"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt",
"text": "Default tiddlers:"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint",
"text": "Choose which tiddlers are displayed at startup:"
},
"$:/language/ControlPanel/Basics/Language/Prompt": {
"title": "$:/language/ControlPanel/Basics/Language/Prompt",
"text": "Hello! Current language:"
},
"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt",
"text": "Title of new journal tiddlers"
},
"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt",
"text": "Tags for new journal tiddlers"
},
"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt",
"text": "Number of overridden shadow tiddlers:"
},
"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt",
"text": "Number of shadow tiddlers:"
},
"$:/language/ControlPanel/Basics/Subtitle/Prompt": {
"title": "$:/language/ControlPanel/Basics/Subtitle/Prompt",
"text": "Subtitle:"
},
"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt",
"text": "Number of system tiddlers:"
},
"$:/language/ControlPanel/Basics/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tags/Prompt",
"text": "Number of tags:"
},
"$:/language/ControlPanel/Basics/Tiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tiddlers/Prompt",
"text": "Number of tiddlers:"
},
"$:/language/ControlPanel/Basics/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/Title/Prompt",
"text": "Title of this ~TiddlyWiki:"
},
"$:/language/ControlPanel/Basics/Username/Prompt": {
"title": "$:/language/ControlPanel/Basics/Username/Prompt",
"text": "Username for signing edits:"
},
"$:/language/ControlPanel/Basics/Version/Prompt": {
"title": "$:/language/ControlPanel/Basics/Version/Prompt",
"text": "~TiddlyWiki version:"
},
"$:/language/ControlPanel/EditorTypes/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Caption",
"text": "Editor Types"
},
"$:/language/ControlPanel/EditorTypes/Editor/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Editor/Caption",
"text": "Editor"
},
"$:/language/ControlPanel/EditorTypes/Hint": {
"title": "$:/language/ControlPanel/EditorTypes/Hint",
"text": "These tiddlers determine which editor is used to edit specific tiddler types."
},
"$:/language/ControlPanel/EditorTypes/Type/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Type/Caption",
"text": "Type"
},
"$:/language/ControlPanel/Info/Caption": {
"title": "$:/language/ControlPanel/Info/Caption",
"text": "Info"
},
"$:/language/ControlPanel/Info/Hint": {
"title": "$:/language/ControlPanel/Info/Hint",
"text": "Information about this TiddlyWiki"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt",
"text": "Type shortcut here"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption",
"text": "add shortcut"
},
"$:/language/ControlPanel/KeyboardShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Caption",
"text": "Keyboard Shortcuts"
},
"$:/language/ControlPanel/KeyboardShortcuts/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Hint",
"text": "Manage keyboard shortcut assignments"
},
"$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption",
"text": "No keyboard shortcuts assigned"
},
"$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint",
"text": "remove keyboard shortcut"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/All": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/All",
"text": "All platforms"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac",
"text": "Macintosh platform only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac",
"text": "Non-Macintosh platforms only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux",
"text": "Linux platform only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux",
"text": "Non-Linux platforms only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows",
"text": "Windows platform only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows",
"text": "Non-Windows platforms only"
},
"$:/language/ControlPanel/LoadedModules/Caption": {
"title": "$:/language/ControlPanel/LoadedModules/Caption",
"text": "Loaded Modules"
},
"$:/language/ControlPanel/LoadedModules/Hint": {
"title": "$:/language/ControlPanel/LoadedModules/Hint",
"text": "These are the currently loaded tiddler modules linked to their source tiddlers. Any italicised modules lack a source tiddler, typically because they were setup during the boot process."
},
"$:/language/ControlPanel/Palette/Caption": {
"title": "$:/language/ControlPanel/Palette/Caption",
"text": "Palette"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Caption",
"text": "clone"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Prompt",
"text": "It is recommended that you clone this shadow palette before editing it"
},
"$:/language/ControlPanel/Palette/Editor/Prompt/Modified": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt/Modified",
"text": "This shadow palette has been modified"
},
"$:/language/ControlPanel/Palette/Editor/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt",
"text": "Editing"
},
"$:/language/ControlPanel/Palette/Editor/Reset/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Reset/Caption",
"text": "reset"
},
"$:/language/ControlPanel/Palette/HideEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/HideEditor/Caption",
"text": "hide editor"
},
"$:/language/ControlPanel/Palette/Prompt": {
"title": "$:/language/ControlPanel/Palette/Prompt",
"text": "Current palette:"
},
"$:/language/ControlPanel/Palette/ShowEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/ShowEditor/Caption",
"text": "show editor"
},
"$:/language/ControlPanel/Parsing/Caption": {
"title": "$:/language/ControlPanel/Parsing/Caption",
"text": "Parsing"
},
"$:/language/ControlPanel/Parsing/Hint": {
"title": "$:/language/ControlPanel/Parsing/Hint",
"text": "Here you can globally disable individual wiki parser rules. Take care as disabling some parser rules can prevent ~TiddlyWiki functioning correctly (you can restore normal operation with [[safe mode|http://tiddlywiki.com/#SafeMode]] )"
},
"$:/language/ControlPanel/Parsing/Block/Caption": {
"title": "$:/language/ControlPanel/Parsing/Block/Caption",
"text": "Block Parse Rules"
},
"$:/language/ControlPanel/Parsing/Inline/Caption": {
"title": "$:/language/ControlPanel/Parsing/Inline/Caption",
"text": "Inline Parse Rules"
},
"$:/language/ControlPanel/Parsing/Pragma/Caption": {
"title": "$:/language/ControlPanel/Parsing/Pragma/Caption",
"text": "Pragma Parse Rules"
},
"$:/language/ControlPanel/Plugins/Add/Caption": {
"title": "$:/language/ControlPanel/Plugins/Add/Caption",
"text": "Get more plugins"
},
"$:/language/ControlPanel/Plugins/Add/Hint": {
"title": "$:/language/ControlPanel/Plugins/Add/Hint",
"text": "Install plugins from the official library"
},
"$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint",
"text": "This plugin is already installed at version <$text text=<<installedVersion>>/>"
},
"$:/language/ControlPanel/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Caption",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Disable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Disable/Caption",
"text": "disable"
},
"$:/language/ControlPanel/Plugins/Disable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Disable/Hint",
"text": "Disable this plugin when reloading page"
},
"$:/language/ControlPanel/Plugins/Disabled/Status": {
"title": "$:/language/ControlPanel/Plugins/Disabled/Status",
"text": "(disabled)"
},
"$:/language/ControlPanel/Plugins/Empty/Hint": {
"title": "$:/language/ControlPanel/Plugins/Empty/Hint",
"text": "None"
},
"$:/language/ControlPanel/Plugins/Enable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Enable/Caption",
"text": "enable"
},
"$:/language/ControlPanel/Plugins/Enable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Enable/Hint",
"text": "Enable this plugin when reloading page"
},
"$:/language/ControlPanel/Plugins/Install/Caption": {
"title": "$:/language/ControlPanel/Plugins/Install/Caption",
"text": "install"
},
"$:/language/ControlPanel/Plugins/Installed/Hint": {
"title": "$:/language/ControlPanel/Plugins/Installed/Hint",
"text": "Currently installed plugins:"
},
"$:/language/ControlPanel/Plugins/Languages/Caption": {
"title": "$:/language/ControlPanel/Plugins/Languages/Caption",
"text": "Languages"
},
"$:/language/ControlPanel/Plugins/Languages/Hint": {
"title": "$:/language/ControlPanel/Plugins/Languages/Hint",
"text": "Language pack plugins"
},
"$:/language/ControlPanel/Plugins/NoInfoFound/Hint": {
"title": "$:/language/ControlPanel/Plugins/NoInfoFound/Hint",
"text": "No ''\"<$text text=<<currentTab>>/>\"'' found"
},
"$:/language/ControlPanel/Plugins/NoInformation/Hint": {
"title": "$:/language/ControlPanel/Plugins/NoInformation/Hint",
"text": "No information provided"
},
"$:/language/ControlPanel/Plugins/NotInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/NotInstalled/Hint",
"text": "This plugin is not currently installed"
},
"$:/language/ControlPanel/Plugins/OpenPluginLibrary": {
"title": "$:/language/ControlPanel/Plugins/OpenPluginLibrary",
"text": "open plugin library"
},
"$:/language/ControlPanel/Plugins/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Caption",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Plugins/Hint": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Hint",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Reinstall/Caption": {
"title": "$:/language/ControlPanel/Plugins/Reinstall/Caption",
"text": "reinstall"
},
"$:/language/ControlPanel/Plugins/Themes/Caption": {
"title": "$:/language/ControlPanel/Plugins/Themes/Caption",
"text": "Themes"
},
"$:/language/ControlPanel/Plugins/Themes/Hint": {
"title": "$:/language/ControlPanel/Plugins/Themes/Hint",
"text": "Theme plugins"
},
"$:/language/ControlPanel/Saving/Caption": {
"title": "$:/language/ControlPanel/Saving/Caption",
"text": "Saving"
},
"$:/language/ControlPanel/Saving/Heading": {
"title": "$:/language/ControlPanel/Saving/Heading",
"text": "Saving"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading",
"text": "Advanced Settings"
},
"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir",
"text": "Backup Directory"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Backups": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Backups",
"text": "Backups"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Description": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Description",
"text": "These settings are only used when saving to http://tiddlyspot.com or a compatible remote server"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Filename": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Filename",
"text": "Upload Filename"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Heading",
"text": "~TiddlySpot"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Hint": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Hint",
"text": "//The server URL defaults to `http://<wikiname>.tiddlyspot.com/store.cgi` and can be changed to use a custom server address, e.g. `http://example.com/store.php`.//"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Password": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Password",
"text": "Password"
},
"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL",
"text": "Server URL"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir",
"text": "Upload Directory"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UserName": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UserName",
"text": "Wiki Name"
},
"$:/language/ControlPanel/Settings/AutoSave/Caption": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Caption",
"text": "Autosave"
},
"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description",
"text": "Do not save changes automatically"
},
"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description",
"text": "Save changes automatically"
},
"$:/language/ControlPanel/Settings/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Hint",
"text": "Automatically save changes during editing"
},
"$:/language/ControlPanel/Settings/CamelCase/Caption": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Caption",
"text": "Camel Case Wiki Links"
},
"$:/language/ControlPanel/Settings/CamelCase/Hint": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Hint",
"text": "You can globally disable automatic linking of ~CamelCase phrases. Requires reload to take effect"
},
"$:/language/ControlPanel/Settings/CamelCase/Description": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Description",
"text": "Enable automatic ~CamelCase linking"
},
"$:/language/ControlPanel/Settings/Caption": {
"title": "$:/language/ControlPanel/Settings/Caption",
"text": "Settings"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Caption",
"text": "Editor Toolbar"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Hint",
"text": "Enable or disable the editor toolbar:"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Description": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Description",
"text": "Show editor toolbar"
},
"$:/language/ControlPanel/Settings/Hint": {
"title": "$:/language/ControlPanel/Settings/Hint",
"text": "These settings let you customise the behaviour of TiddlyWiki."
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption",
"text": "Navigation Address Bar"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint",
"text": "Behaviour of the browser address bar when navigating to a tiddler:"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description",
"text": "Do not update the address bar"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description",
"text": "Include the target tiddler"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description",
"text": "Include the target tiddler and the current story sequence"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Caption",
"text": "Navigation History"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Hint",
"text": "Update browser history when navigating to a tiddler:"
},
"$:/language/ControlPanel/Settings/NavigationHistory/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/No/Description",
"text": "Do not update history"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description",
"text": "Update history"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption",
"text": "Performance Instrumentation"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint",
"text": "Displays performance statistics in the browser developer console. Requires reload to take effect"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description",
"text": "Enable performance instrumentation"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption",
"text": "Toolbar Button Style"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint",
"text": "Choose the style for toolbar buttons:"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless",
"text": "Borderless"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed",
"text": "Boxed"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded",
"text": "Rounded"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Caption",
"text": "Toolbar Buttons"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Hint",
"text": "Default toolbar button appearance:"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description",
"text": "Include icon"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description",
"text": "Include text"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption",
"text": "Default Sidebar Tab"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint",
"text": "Specify which sidebar tab is displayed by default"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/Caption": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption",
"text": "Tiddler Opening Behaviour"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint",
"text": "Navigation from //within// the story river"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint",
"text": "Navigation from //outside// the story river"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove",
"text": "Open above the current tiddler"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow",
"text": "Open below the current tiddler"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop",
"text": "Open at the top of the story river"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom",
"text": "Open at the bottom of the story river"
},
"$:/language/ControlPanel/Settings/TitleLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Caption",
"text": "Tiddler Titles"
},
"$:/language/ControlPanel/Settings/TitleLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Hint",
"text": "Optionally display tiddler titles as links"
},
"$:/language/ControlPanel/Settings/TitleLinks/No/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/No/Description",
"text": "Do not display tiddler titles as links"
},
"$:/language/ControlPanel/Settings/TitleLinks/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description",
"text": "Display tiddler titles as links"
},
"$:/language/ControlPanel/Settings/MissingLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Caption",
"text": "Wiki Links"
},
"$:/language/ControlPanel/Settings/MissingLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Hint",
"text": "Choose whether to link to tiddlers that do not exist yet"
},
"$:/language/ControlPanel/Settings/MissingLinks/Description": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Description",
"text": "Enable links to missing tiddlers"
},
"$:/language/ControlPanel/StoryView/Caption": {
"title": "$:/language/ControlPanel/StoryView/Caption",
"text": "Story View"
},
"$:/language/ControlPanel/StoryView/Prompt": {
"title": "$:/language/ControlPanel/StoryView/Prompt",
"text": "Current view:"
},
"$:/language/ControlPanel/Theme/Caption": {
"title": "$:/language/ControlPanel/Theme/Caption",
"text": "Theme"
},
"$:/language/ControlPanel/Theme/Prompt": {
"title": "$:/language/ControlPanel/Theme/Prompt",
"text": "Current theme:"
},
"$:/language/ControlPanel/TiddlerFields/Caption": {
"title": "$:/language/ControlPanel/TiddlerFields/Caption",
"text": "Tiddler Fields"
},
"$:/language/ControlPanel/TiddlerFields/Hint": {
"title": "$:/language/ControlPanel/TiddlerFields/Hint",
"text": "This is the full set of TiddlerFields in use in this wiki (including system tiddlers but excluding shadow tiddlers)."
},
"$:/language/ControlPanel/Toolbars/Caption": {
"title": "$:/language/ControlPanel/Toolbars/Caption",
"text": "Toolbars"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Caption",
"text": "Edit Toolbar"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Hint",
"text": "Choose which buttons are displayed for tiddlers in edit mode"
},
"$:/language/ControlPanel/Toolbars/Hint": {
"title": "$:/language/ControlPanel/Toolbars/Hint",
"text": "Select which toolbar buttons are displayed"
},
"$:/language/ControlPanel/Toolbars/PageControls/Caption": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Caption",
"text": "Page Toolbar"
},
"$:/language/ControlPanel/Toolbars/PageControls/Hint": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Hint",
"text": "Choose which buttons are displayed on the main page toolbar"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption",
"text": "Editor Toolbar"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint",
"text": "Choose which buttons are displayed in the editor toolbar. Note that some buttons will only appear when editing tiddlers of a certain type"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption",
"text": "View Toolbar"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint",
"text": "Choose which buttons are displayed for tiddlers in view mode"
},
"$:/language/ControlPanel/Tools/Download/Full/Caption": {
"title": "$:/language/ControlPanel/Tools/Download/Full/Caption",
"text": "Download full wiki"
},
"$:/language/Date/DaySuffix/1": {
"title": "$:/language/Date/DaySuffix/1",
"text": "st"
},
"$:/language/Date/DaySuffix/2": {
"title": "$:/language/Date/DaySuffix/2",
"text": "nd"
},
"$:/language/Date/DaySuffix/3": {
"title": "$:/language/Date/DaySuffix/3",
"text": "rd"
},
"$:/language/Date/DaySuffix/4": {
"title": "$:/language/Date/DaySuffix/4",
"text": "th"
},
"$:/language/Date/DaySuffix/5": {
"title": "$:/language/Date/DaySuffix/5",
"text": "th"
},
"$:/language/Date/DaySuffix/6": {
"title": "$:/language/Date/DaySuffix/6",
"text": "th"
},
"$:/language/Date/DaySuffix/7": {
"title": "$:/language/Date/DaySuffix/7",
"text": "th"
},
"$:/language/Date/DaySuffix/8": {
"title": "$:/language/Date/DaySuffix/8",
"text": "th"
},
"$:/language/Date/DaySuffix/9": {
"title": "$:/language/Date/DaySuffix/9",
"text": "th"
},
"$:/language/Date/DaySuffix/10": {
"title": "$:/language/Date/DaySuffix/10",
"text": "th"
},
"$:/language/Date/DaySuffix/11": {
"title": "$:/language/Date/DaySuffix/11",
"text": "th"
},
"$:/language/Date/DaySuffix/12": {
"title": "$:/language/Date/DaySuffix/12",
"text": "th"
},
"$:/language/Date/DaySuffix/13": {
"title": "$:/language/Date/DaySuffix/13",
"text": "th"
},
"$:/language/Date/DaySuffix/14": {
"title": "$:/language/Date/DaySuffix/14",
"text": "th"
},
"$:/language/Date/DaySuffix/15": {
"title": "$:/language/Date/DaySuffix/15",
"text": "th"
},
"$:/language/Date/DaySuffix/16": {
"title": "$:/language/Date/DaySuffix/16",
"text": "th"
},
"$:/language/Date/DaySuffix/17": {
"title": "$:/language/Date/DaySuffix/17",
"text": "th"
},
"$:/language/Date/DaySuffix/18": {
"title": "$:/language/Date/DaySuffix/18",
"text": "th"
},
"$:/language/Date/DaySuffix/19": {
"title": "$:/language/Date/DaySuffix/19",
"text": "th"
},
"$:/language/Date/DaySuffix/20": {
"title": "$:/language/Date/DaySuffix/20",
"text": "th"
},
"$:/language/Date/DaySuffix/21": {
"title": "$:/language/Date/DaySuffix/21",
"text": "st"
},
"$:/language/Date/DaySuffix/22": {
"title": "$:/language/Date/DaySuffix/22",
"text": "nd"
},
"$:/language/Date/DaySuffix/23": {
"title": "$:/language/Date/DaySuffix/23",
"text": "rd"
},
"$:/language/Date/DaySuffix/24": {
"title": "$:/language/Date/DaySuffix/24",
"text": "th"
},
"$:/language/Date/DaySuffix/25": {
"title": "$:/language/Date/DaySuffix/25",
"text": "th"
},
"$:/language/Date/DaySuffix/26": {
"title": "$:/language/Date/DaySuffix/26",
"text": "th"
},
"$:/language/Date/DaySuffix/27": {
"title": "$:/language/Date/DaySuffix/27",
"text": "th"
},
"$:/language/Date/DaySuffix/28": {
"title": "$:/language/Date/DaySuffix/28",
"text": "th"
},
"$:/language/Date/DaySuffix/29": {
"title": "$:/language/Date/DaySuffix/29",
"text": "th"
},
"$:/language/Date/DaySuffix/30": {
"title": "$:/language/Date/DaySuffix/30",
"text": "th"
},
"$:/language/Date/DaySuffix/31": {
"title": "$:/language/Date/DaySuffix/31",
"text": "st"
},
"$:/language/Date/Long/Day/0": {
"title": "$:/language/Date/Long/Day/0",
"text": "Sunday"
},
"$:/language/Date/Long/Day/1": {
"title": "$:/language/Date/Long/Day/1",
"text": "Monday"
},
"$:/language/Date/Long/Day/2": {
"title": "$:/language/Date/Long/Day/2",
"text": "Tuesday"
},
"$:/language/Date/Long/Day/3": {
"title": "$:/language/Date/Long/Day/3",
"text": "Wednesday"
},
"$:/language/Date/Long/Day/4": {
"title": "$:/language/Date/Long/Day/4",
"text": "Thursday"
},
"$:/language/Date/Long/Day/5": {
"title": "$:/language/Date/Long/Day/5",
"text": "Friday"
},
"$:/language/Date/Long/Day/6": {
"title": "$:/language/Date/Long/Day/6",
"text": "Saturday"
},
"$:/language/Date/Long/Month/1": {
"title": "$:/language/Date/Long/Month/1",
"text": "January"
},
"$:/language/Date/Long/Month/2": {
"title": "$:/language/Date/Long/Month/2",
"text": "February"
},
"$:/language/Date/Long/Month/3": {
"title": "$:/language/Date/Long/Month/3",
"text": "March"
},
"$:/language/Date/Long/Month/4": {
"title": "$:/language/Date/Long/Month/4",
"text": "April"
},
"$:/language/Date/Long/Month/5": {
"title": "$:/language/Date/Long/Month/5",
"text": "May"
},
"$:/language/Date/Long/Month/6": {
"title": "$:/language/Date/Long/Month/6",
"text": "June"
},
"$:/language/Date/Long/Month/7": {
"title": "$:/language/Date/Long/Month/7",
"text": "July"
},
"$:/language/Date/Long/Month/8": {
"title": "$:/language/Date/Long/Month/8",
"text": "August"
},
"$:/language/Date/Long/Month/9": {
"title": "$:/language/Date/Long/Month/9",
"text": "September"
},
"$:/language/Date/Long/Month/10": {
"title": "$:/language/Date/Long/Month/10",
"text": "October"
},
"$:/language/Date/Long/Month/11": {
"title": "$:/language/Date/Long/Month/11",
"text": "November"
},
"$:/language/Date/Long/Month/12": {
"title": "$:/language/Date/Long/Month/12",
"text": "December"
},
"$:/language/Date/Period/am": {
"title": "$:/language/Date/Period/am",
"text": "am"
},
"$:/language/Date/Period/pm": {
"title": "$:/language/Date/Period/pm",
"text": "pm"
},
"$:/language/Date/Short/Day/0": {
"title": "$:/language/Date/Short/Day/0",
"text": "Sun"
},
"$:/language/Date/Short/Day/1": {
"title": "$:/language/Date/Short/Day/1",
"text": "Mon"
},
"$:/language/Date/Short/Day/2": {
"title": "$:/language/Date/Short/Day/2",
"text": "Tue"
},
"$:/language/Date/Short/Day/3": {
"title": "$:/language/Date/Short/Day/3",
"text": "Wed"
},
"$:/language/Date/Short/Day/4": {
"title": "$:/language/Date/Short/Day/4",
"text": "Thu"
},
"$:/language/Date/Short/Day/5": {
"title": "$:/language/Date/Short/Day/5",
"text": "Fri"
},
"$:/language/Date/Short/Day/6": {
"title": "$:/language/Date/Short/Day/6",
"text": "Sat"
},
"$:/language/Date/Short/Month/1": {
"title": "$:/language/Date/Short/Month/1",
"text": "Jan"
},
"$:/language/Date/Short/Month/2": {
"title": "$:/language/Date/Short/Month/2",
"text": "Feb"
},
"$:/language/Date/Short/Month/3": {
"title": "$:/language/Date/Short/Month/3",
"text": "Mar"
},
"$:/language/Date/Short/Month/4": {
"title": "$:/language/Date/Short/Month/4",
"text": "Apr"
},
"$:/language/Date/Short/Month/5": {
"title": "$:/language/Date/Short/Month/5",
"text": "May"
},
"$:/language/Date/Short/Month/6": {
"title": "$:/language/Date/Short/Month/6",
"text": "Jun"
},
"$:/language/Date/Short/Month/7": {
"title": "$:/language/Date/Short/Month/7",
"text": "Jul"
},
"$:/language/Date/Short/Month/8": {
"title": "$:/language/Date/Short/Month/8",
"text": "Aug"
},
"$:/language/Date/Short/Month/9": {
"title": "$:/language/Date/Short/Month/9",
"text": "Sep"
},
"$:/language/Date/Short/Month/10": {
"title": "$:/language/Date/Short/Month/10",
"text": "Oct"
},
"$:/language/Date/Short/Month/11": {
"title": "$:/language/Date/Short/Month/11",
"text": "Nov"
},
"$:/language/Date/Short/Month/12": {
"title": "$:/language/Date/Short/Month/12",
"text": "Dec"
},
"$:/language/RelativeDate/Future/Days": {
"title": "$:/language/RelativeDate/Future/Days",
"text": "<<period>> days from now"
},
"$:/language/RelativeDate/Future/Hours": {
"title": "$:/language/RelativeDate/Future/Hours",
"text": "<<period>> hours from now"
},
"$:/language/RelativeDate/Future/Minutes": {
"title": "$:/language/RelativeDate/Future/Minutes",
"text": "<<period>> minutes from now"
},
"$:/language/RelativeDate/Future/Months": {
"title": "$:/language/RelativeDate/Future/Months",
"text": "<<period>> months from now"
},
"$:/language/RelativeDate/Future/Second": {
"title": "$:/language/RelativeDate/Future/Second",
"text": "1 second from now"
},
"$:/language/RelativeDate/Future/Seconds": {
"title": "$:/language/RelativeDate/Future/Seconds",
"text": "<<period>> seconds from now"
},
"$:/language/RelativeDate/Future/Years": {
"title": "$:/language/RelativeDate/Future/Years",
"text": "<<period>> years from now"
},
"$:/language/RelativeDate/Past/Days": {
"title": "$:/language/RelativeDate/Past/Days",
"text": "<<period>> days ago"
},
"$:/language/RelativeDate/Past/Hours": {
"title": "$:/language/RelativeDate/Past/Hours",
"text": "<<period>> hours ago"
},
"$:/language/RelativeDate/Past/Minutes": {
"title": "$:/language/RelativeDate/Past/Minutes",
"text": "<<period>> minutes ago"
},
"$:/language/RelativeDate/Past/Months": {
"title": "$:/language/RelativeDate/Past/Months",
"text": "<<period>> months ago"
},
"$:/language/RelativeDate/Past/Second": {
"title": "$:/language/RelativeDate/Past/Second",
"text": "1 second ago"
},
"$:/language/RelativeDate/Past/Seconds": {
"title": "$:/language/RelativeDate/Past/Seconds",
"text": "<<period>> seconds ago"
},
"$:/language/RelativeDate/Past/Years": {
"title": "$:/language/RelativeDate/Past/Years",
"text": "<<period>> years ago"
},
"$:/language/Docs/ModuleTypes/animation": {
"title": "$:/language/Docs/ModuleTypes/animation",
"text": "Animations that may be used with the RevealWidget."
},
"$:/language/Docs/ModuleTypes/command": {
"title": "$:/language/Docs/ModuleTypes/command",
"text": "Commands that can be executed under Node.js."
},
"$:/language/Docs/ModuleTypes/config": {
"title": "$:/language/Docs/ModuleTypes/config",
"text": "Data to be inserted into `$tw.config`."
},
"$:/language/Docs/ModuleTypes/filteroperator": {
"title": "$:/language/Docs/ModuleTypes/filteroperator",
"text": "Individual filter operator methods."
},
"$:/language/Docs/ModuleTypes/global": {
"title": "$:/language/Docs/ModuleTypes/global",
"text": "Global data to be inserted into `$tw`."
},
"$:/language/Docs/ModuleTypes/isfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/isfilteroperator",
"text": "Operands for the ''is'' filter operator."
},
"$:/language/Docs/ModuleTypes/macro": {
"title": "$:/language/Docs/ModuleTypes/macro",
"text": "JavaScript macro definitions."
},
"$:/language/Docs/ModuleTypes/parser": {
"title": "$:/language/Docs/ModuleTypes/parser",
"text": "Parsers for different content types."
},
"$:/language/Docs/ModuleTypes/saver": {
"title": "$:/language/Docs/ModuleTypes/saver",
"text": "Savers handle different methods for saving files from the browser."
},
"$:/language/Docs/ModuleTypes/startup": {
"title": "$:/language/Docs/ModuleTypes/startup",
"text": "Startup functions."
},
"$:/language/Docs/ModuleTypes/storyview": {
"title": "$:/language/Docs/ModuleTypes/storyview",
"text": "Story views customise the animation and behaviour of list widgets."
},
"$:/language/Docs/ModuleTypes/tiddlerdeserializer": {
"title": "$:/language/Docs/ModuleTypes/tiddlerdeserializer",
"text": "Converts different content types into tiddlers."
},
"$:/language/Docs/ModuleTypes/tiddlerfield": {
"title": "$:/language/Docs/ModuleTypes/tiddlerfield",
"text": "Defines the behaviour of an individual tiddler field."
},
"$:/language/Docs/ModuleTypes/tiddlermethod": {
"title": "$:/language/Docs/ModuleTypes/tiddlermethod",
"text": "Adds methods to the `$tw.Tiddler` prototype."
},
"$:/language/Docs/ModuleTypes/upgrader": {
"title": "$:/language/Docs/ModuleTypes/upgrader",
"text": "Applies upgrade processing to tiddlers during an upgrade/import."
},
"$:/language/Docs/ModuleTypes/utils": {
"title": "$:/language/Docs/ModuleTypes/utils",
"text": "Adds methods to `$tw.utils`."
},
"$:/language/Docs/ModuleTypes/utils-node": {
"title": "$:/language/Docs/ModuleTypes/utils-node",
"text": "Adds Node.js-specific methods to `$tw.utils`."
},
"$:/language/Docs/ModuleTypes/widget": {
"title": "$:/language/Docs/ModuleTypes/widget",
"text": "Widgets encapsulate DOM rendering and refreshing."
},
"$:/language/Docs/ModuleTypes/wikimethod": {
"title": "$:/language/Docs/ModuleTypes/wikimethod",
"text": "Adds methods to `$tw.Wiki`."
},
"$:/language/Docs/ModuleTypes/wikirule": {
"title": "$:/language/Docs/ModuleTypes/wikirule",
"text": "Individual parser rules for the main WikiText parser."
},
"$:/language/Docs/PaletteColours/alert-background": {
"title": "$:/language/Docs/PaletteColours/alert-background",
"text": "Alert background"
},
"$:/language/Docs/PaletteColours/alert-border": {
"title": "$:/language/Docs/PaletteColours/alert-border",
"text": "Alert border"
},
"$:/language/Docs/PaletteColours/alert-highlight": {
"title": "$:/language/Docs/PaletteColours/alert-highlight",
"text": "Alert highlight"
},
"$:/language/Docs/PaletteColours/alert-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/alert-muted-foreground",
"text": "Alert muted foreground"
},
"$:/language/Docs/PaletteColours/background": {
"title": "$:/language/Docs/PaletteColours/background",
"text": "General background"
},
"$:/language/Docs/PaletteColours/blockquote-bar": {
"title": "$:/language/Docs/PaletteColours/blockquote-bar",
"text": "Blockquote bar"
},
"$:/language/Docs/PaletteColours/button-background": {
"title": "$:/language/Docs/PaletteColours/button-background",
"text": "Default button background"
},
"$:/language/Docs/PaletteColours/button-border": {
"title": "$:/language/Docs/PaletteColours/button-border",
"text": "Default button border"
},
"$:/language/Docs/PaletteColours/button-foreground": {
"title": "$:/language/Docs/PaletteColours/button-foreground",
"text": "Default button foreground"
},
"$:/language/Docs/PaletteColours/dirty-indicator": {
"title": "$:/language/Docs/PaletteColours/dirty-indicator",
"text": "Unsaved changes indicator"
},
"$:/language/Docs/PaletteColours/code-background": {
"title": "$:/language/Docs/PaletteColours/code-background",
"text": "Code background"
},
"$:/language/Docs/PaletteColours/code-border": {
"title": "$:/language/Docs/PaletteColours/code-border",
"text": "Code border"
},
"$:/language/Docs/PaletteColours/code-foreground": {
"title": "$:/language/Docs/PaletteColours/code-foreground",
"text": "Code foreground"
},
"$:/language/Docs/PaletteColours/download-background": {
"title": "$:/language/Docs/PaletteColours/download-background",
"text": "Download button background"
},
"$:/language/Docs/PaletteColours/download-foreground": {
"title": "$:/language/Docs/PaletteColours/download-foreground",
"text": "Download button foreground"
},
"$:/language/Docs/PaletteColours/dragger-background": {
"title": "$:/language/Docs/PaletteColours/dragger-background",
"text": "Dragger background"
},
"$:/language/Docs/PaletteColours/dragger-foreground": {
"title": "$:/language/Docs/PaletteColours/dragger-foreground",
"text": "Dragger foreground"
},
"$:/language/Docs/PaletteColours/dropdown-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-background",
"text": "Dropdown background"
},
"$:/language/Docs/PaletteColours/dropdown-border": {
"title": "$:/language/Docs/PaletteColours/dropdown-border",
"text": "Dropdown border"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background-selected",
"text": "Dropdown tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background",
"text": "Dropdown tab background"
},
"$:/language/Docs/PaletteColours/dropzone-background": {
"title": "$:/language/Docs/PaletteColours/dropzone-background",
"text": "Dropzone background"
},
"$:/language/Docs/PaletteColours/external-link-background-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-background-hover",
"text": "External link background hover"
},
"$:/language/Docs/PaletteColours/external-link-background-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-background-visited",
"text": "External link background visited"
},
"$:/language/Docs/PaletteColours/external-link-background": {
"title": "$:/language/Docs/PaletteColours/external-link-background",
"text": "External link background"
},
"$:/language/Docs/PaletteColours/external-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-hover",
"text": "External link foreground hover"
},
"$:/language/Docs/PaletteColours/external-link-foreground-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-visited",
"text": "External link foreground visited"
},
"$:/language/Docs/PaletteColours/external-link-foreground": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground",
"text": "External link foreground"
},
"$:/language/Docs/PaletteColours/foreground": {
"title": "$:/language/Docs/PaletteColours/foreground",
"text": "General foreground"
},
"$:/language/Docs/PaletteColours/message-background": {
"title": "$:/language/Docs/PaletteColours/message-background",
"text": "Message box background"
},
"$:/language/Docs/PaletteColours/message-border": {
"title": "$:/language/Docs/PaletteColours/message-border",
"text": "Message box border"
},
"$:/language/Docs/PaletteColours/message-foreground": {
"title": "$:/language/Docs/PaletteColours/message-foreground",
"text": "Message box foreground"
},
"$:/language/Docs/PaletteColours/modal-backdrop": {
"title": "$:/language/Docs/PaletteColours/modal-backdrop",
"text": "Modal backdrop"
},
"$:/language/Docs/PaletteColours/modal-background": {
"title": "$:/language/Docs/PaletteColours/modal-background",
"text": "Modal background"
},
"$:/language/Docs/PaletteColours/modal-border": {
"title": "$:/language/Docs/PaletteColours/modal-border",
"text": "Modal border"
},
"$:/language/Docs/PaletteColours/modal-footer-background": {
"title": "$:/language/Docs/PaletteColours/modal-footer-background",
"text": "Modal footer background"
},
"$:/language/Docs/PaletteColours/modal-footer-border": {
"title": "$:/language/Docs/PaletteColours/modal-footer-border",
"text": "Modal footer border"
},
"$:/language/Docs/PaletteColours/modal-header-border": {
"title": "$:/language/Docs/PaletteColours/modal-header-border",
"text": "Modal header border"
},
"$:/language/Docs/PaletteColours/muted-foreground": {
"title": "$:/language/Docs/PaletteColours/muted-foreground",
"text": "General muted foreground"
},
"$:/language/Docs/PaletteColours/notification-background": {
"title": "$:/language/Docs/PaletteColours/notification-background",
"text": "Notification background"
},
"$:/language/Docs/PaletteColours/notification-border": {
"title": "$:/language/Docs/PaletteColours/notification-border",
"text": "Notification border"
},
"$:/language/Docs/PaletteColours/page-background": {
"title": "$:/language/Docs/PaletteColours/page-background",
"text": "Page background"
},
"$:/language/Docs/PaletteColours/pre-background": {
"title": "$:/language/Docs/PaletteColours/pre-background",
"text": "Preformatted code background"
},
"$:/language/Docs/PaletteColours/pre-border": {
"title": "$:/language/Docs/PaletteColours/pre-border",
"text": "Preformatted code border"
},
"$:/language/Docs/PaletteColours/primary": {
"title": "$:/language/Docs/PaletteColours/primary",
"text": "General primary"
},
"$:/language/Docs/PaletteColours/sidebar-button-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-button-foreground",
"text": "Sidebar button foreground"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover",
"text": "Sidebar controls foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground",
"text": "Sidebar controls foreground"
},
"$:/language/Docs/PaletteColours/sidebar-foreground-shadow": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground-shadow",
"text": "Sidebar foreground shadow"
},
"$:/language/Docs/PaletteColours/sidebar-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground",
"text": "Sidebar foreground"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover",
"text": "Sidebar muted foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground",
"text": "Sidebar muted foreground"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background-selected",
"text": "Sidebar tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background",
"text": "Sidebar tab background"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border-selected",
"text": "Sidebar tab border for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border",
"text": "Sidebar tab border"
},
"$:/language/Docs/PaletteColours/sidebar-tab-divider": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-divider",
"text": "Sidebar tab divider"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected",
"text": "Sidebar tab foreground for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground",
"text": "Sidebar tab foreground"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover",
"text": "Sidebar tiddler link foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground",
"text": "Sidebar tiddler link foreground"
},
"$:/language/Docs/PaletteColours/site-title-foreground": {
"title": "$:/language/Docs/PaletteColours/site-title-foreground",
"text": "Site title foreground"
},
"$:/language/Docs/PaletteColours/static-alert-foreground": {
"title": "$:/language/Docs/PaletteColours/static-alert-foreground",
"text": "Static alert foreground"
},
"$:/language/Docs/PaletteColours/tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/tab-background-selected",
"text": "Tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-background": {
"title": "$:/language/Docs/PaletteColours/tab-background",
"text": "Tab background"
},
"$:/language/Docs/PaletteColours/tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/tab-border-selected",
"text": "Tab border for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-border": {
"title": "$:/language/Docs/PaletteColours/tab-border",
"text": "Tab border"
},
"$:/language/Docs/PaletteColours/tab-divider": {
"title": "$:/language/Docs/PaletteColours/tab-divider",
"text": "Tab divider"
},
"$:/language/Docs/PaletteColours/tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tab-foreground-selected",
"text": "Tab foreground for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-foreground": {
"title": "$:/language/Docs/PaletteColours/tab-foreground",
"text": "Tab foreground"
},
"$:/language/Docs/PaletteColours/table-border": {
"title": "$:/language/Docs/PaletteColours/table-border",
"text": "Table border"
},
"$:/language/Docs/PaletteColours/table-footer-background": {
"title": "$:/language/Docs/PaletteColours/table-footer-background",
"text": "Table footer background"
},
"$:/language/Docs/PaletteColours/table-header-background": {
"title": "$:/language/Docs/PaletteColours/table-header-background",
"text": "Table header background"
},
"$:/language/Docs/PaletteColours/tag-background": {
"title": "$:/language/Docs/PaletteColours/tag-background",
"text": "Tag background"
},
"$:/language/Docs/PaletteColours/tag-foreground": {
"title": "$:/language/Docs/PaletteColours/tag-foreground",
"text": "Tag foreground"
},
"$:/language/Docs/PaletteColours/tiddler-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-background",
"text": "Tiddler background"
},
"$:/language/Docs/PaletteColours/tiddler-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-border",
"text": "Tiddler border"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover",
"text": "Tiddler controls foreground hover"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected",
"text": "Tiddler controls foreground for selected controls"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground",
"text": "Tiddler controls foreground"
},
"$:/language/Docs/PaletteColours/tiddler-editor-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-background",
"text": "Tiddler editor background"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border-image": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border-image",
"text": "Tiddler editor border image"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border",
"text": "Tiddler editor border"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-even": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-even",
"text": "Tiddler editor background for even fields"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd",
"text": "Tiddler editor background for odd fields"
},
"$:/language/Docs/PaletteColours/tiddler-info-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-background",
"text": "Tiddler info panel background"
},
"$:/language/Docs/PaletteColours/tiddler-info-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-border",
"text": "Tiddler info panel border"
},
"$:/language/Docs/PaletteColours/tiddler-info-tab-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-tab-background",
"text": "Tiddler info panel tab background"
},
"$:/language/Docs/PaletteColours/tiddler-link-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-background",
"text": "Tiddler link background"
},
"$:/language/Docs/PaletteColours/tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-foreground",
"text": "Tiddler link foreground"
},
"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground",
"text": "Tiddler subtitle foreground"
},
"$:/language/Docs/PaletteColours/tiddler-title-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-title-foreground",
"text": "Tiddler title foreground"
},
"$:/language/Docs/PaletteColours/toolbar-new-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-new-button",
"text": "Toolbar 'new tiddler' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-options-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-options-button",
"text": "Toolbar 'options' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-save-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-save-button",
"text": "Toolbar 'save' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-info-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-info-button",
"text": "Toolbar 'info' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-edit-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-edit-button",
"text": "Toolbar 'edit' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-close-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-close-button",
"text": "Toolbar 'close' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-delete-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-delete-button",
"text": "Toolbar 'delete' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-cancel-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-cancel-button",
"text": "Toolbar 'cancel' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-done-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-done-button",
"text": "Toolbar 'done' button foreground"
},
"$:/language/Docs/PaletteColours/untagged-background": {
"title": "$:/language/Docs/PaletteColours/untagged-background",
"text": "Untagged pill background"
},
"$:/language/Docs/PaletteColours/very-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/very-muted-foreground",
"text": "Very muted foreground"
},
"$:/language/EditTemplate/Body/External/Hint": {
"title": "$:/language/EditTemplate/Body/External/Hint",
"text": "This is an external tiddler stored outside of the main TiddlyWiki file. You can edit the tags and fields but cannot directly edit the content itself"
},
"$:/language/EditTemplate/Body/Placeholder": {
"title": "$:/language/EditTemplate/Body/Placeholder",
"text": "Type the text for this tiddler"
},
"$:/language/EditTemplate/Body/Preview/Type/Output": {
"title": "$:/language/EditTemplate/Body/Preview/Type/Output",
"text": "output"
},
"$:/language/EditTemplate/Field/Remove/Caption": {
"title": "$:/language/EditTemplate/Field/Remove/Caption",
"text": "remove field"
},
"$:/language/EditTemplate/Field/Remove/Hint": {
"title": "$:/language/EditTemplate/Field/Remove/Hint",
"text": "Remove field"
},
"$:/language/EditTemplate/Fields/Add/Button": {
"title": "$:/language/EditTemplate/Fields/Add/Button",
"text": "add"
},
"$:/language/EditTemplate/Fields/Add/Name/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Name/Placeholder",
"text": "field name"
},
"$:/language/EditTemplate/Fields/Add/Prompt": {
"title": "$:/language/EditTemplate/Fields/Add/Prompt",
"text": "Add a new field:"
},
"$:/language/EditTemplate/Fields/Add/Value/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Value/Placeholder",
"text": "field value"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/System": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/System",
"text": "System fields"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/User": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/User",
"text": "User fields"
},
"$:/language/EditTemplate/Shadow/Warning": {
"title": "$:/language/EditTemplate/Shadow/Warning",
"text": "This is a shadow tiddler. Any changes you make will override the default version from the plugin <<pluginLink>>"
},
"$:/language/EditTemplate/Shadow/OverriddenWarning": {
"title": "$:/language/EditTemplate/Shadow/OverriddenWarning",
"text": "This is a modified shadow tiddler. You can revert to the default version in the plugin <<pluginLink>> by deleting this tiddler"
},
"$:/language/EditTemplate/Tags/Add/Button": {
"title": "$:/language/EditTemplate/Tags/Add/Button",
"text": "add"
},
"$:/language/EditTemplate/Tags/Add/Placeholder": {
"title": "$:/language/EditTemplate/Tags/Add/Placeholder",
"text": "tag name"
},
"$:/language/EditTemplate/Tags/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Caption",
"text": "tag list"
},
"$:/language/EditTemplate/Tags/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Hint",
"text": "Show tag list"
},
"$:/language/EditTemplate/Title/BadCharacterWarning": {
"title": "$:/language/EditTemplate/Title/BadCharacterWarning",
"text": "Warning: avoid using any of the characters <<bad-chars>> in tiddler titles"
},
"$:/language/EditTemplate/Type/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Type/Dropdown/Caption",
"text": "content type list"
},
"$:/language/EditTemplate/Type/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Type/Dropdown/Hint",
"text": "Show content type list"
},
"$:/language/EditTemplate/Type/Delete/Caption": {
"title": "$:/language/EditTemplate/Type/Delete/Caption",
"text": "delete content type"
},
"$:/language/EditTemplate/Type/Delete/Hint": {
"title": "$:/language/EditTemplate/Type/Delete/Hint",
"text": "Delete content type"
},
"$:/language/EditTemplate/Type/Placeholder": {
"title": "$:/language/EditTemplate/Type/Placeholder",
"text": "content type"
},
"$:/language/EditTemplate/Type/Prompt": {
"title": "$:/language/EditTemplate/Type/Prompt",
"text": "Type:"
},
"$:/language/Exporters/StaticRiver": {
"title": "$:/language/Exporters/StaticRiver",
"text": "Static HTML"
},
"$:/language/Exporters/JsonFile": {
"title": "$:/language/Exporters/JsonFile",
"text": "JSON file"
},
"$:/language/Exporters/CsvFile": {
"title": "$:/language/Exporters/CsvFile",
"text": "CSV file"
},
"$:/language/Exporters/TidFile": {
"title": "$:/language/Exporters/TidFile",
"text": "\".tid\" file"
},
"$:/language/Docs/Fields/_canonical_uri": {
"title": "$:/language/Docs/Fields/_canonical_uri",
"text": "The full URI of an external image tiddler"
},
"$:/language/Docs/Fields/bag": {
"title": "$:/language/Docs/Fields/bag",
"text": "The name of the bag from which a tiddler came"
},
"$:/language/Docs/Fields/caption": {
"title": "$:/language/Docs/Fields/caption",
"text": "The text to be displayed on a tab or button"
},
"$:/language/Docs/Fields/color": {
"title": "$:/language/Docs/Fields/color",
"text": "The CSS color value associated with a tiddler"
},
"$:/language/Docs/Fields/component": {
"title": "$:/language/Docs/Fields/component",
"text": "The name of the component responsible for an [[alert tiddler|AlertMechanism]]"
},
"$:/language/Docs/Fields/current-tiddler": {
"title": "$:/language/Docs/Fields/current-tiddler",
"text": "Used to cache the top tiddler in a [[history list|HistoryMechanism]]"
},
"$:/language/Docs/Fields/created": {
"title": "$:/language/Docs/Fields/created",
"text": "The date a tiddler was created"
},
"$:/language/Docs/Fields/creator": {
"title": "$:/language/Docs/Fields/creator",
"text": "The name of the person who created a tiddler"
},
"$:/language/Docs/Fields/dependents": {
"title": "$:/language/Docs/Fields/dependents",
"text": "For a plugin, lists the dependent plugin titles"
},
"$:/language/Docs/Fields/description": {
"title": "$:/language/Docs/Fields/description",
"text": "The descriptive text for a plugin, or a modal dialogue"
},
"$:/language/Docs/Fields/draft.of": {
"title": "$:/language/Docs/Fields/draft.of",
"text": "For draft tiddlers, contains the title of the tiddler of which this is a draft"
},
"$:/language/Docs/Fields/draft.title": {
"title": "$:/language/Docs/Fields/draft.title",
"text": "For draft tiddlers, contains the proposed new title of the tiddler"
},
"$:/language/Docs/Fields/footer": {
"title": "$:/language/Docs/Fields/footer",
"text": "The footer text for a wizard"
},
"$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against": {
"title": "$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against",
"text": "A temporary storage field used in [[$:/core/templates/static.content]]"
},
"$:/language/Docs/Fields/icon": {
"title": "$:/language/Docs/Fields/icon",
"text": "The title of the tiddler containing the icon associated with a tiddler"
},
"$:/language/Docs/Fields/library": {
"title": "$:/language/Docs/Fields/library",
"text": "If set to \"yes\" indicates that a tiddler should be saved as a JavaScript library"
},
"$:/language/Docs/Fields/list": {
"title": "$:/language/Docs/Fields/list",
"text": "An ordered list of tiddler titles associated with a tiddler"
},
"$:/language/Docs/Fields/list-before": {
"title": "$:/language/Docs/Fields/list-before",
"text": "If set, the title of a tiddler before which this tiddler should be added to the ordered list of tiddler titles, or at the start of the list if this field is present but empty"
},
"$:/language/Docs/Fields/list-after": {
"title": "$:/language/Docs/Fields/list-after",
"text": "If set, the title of the tiddler after which this tiddler should be added to the ordered list of tiddler titles"
},
"$:/language/Docs/Fields/modified": {
"title": "$:/language/Docs/Fields/modified",
"text": "The date and time at which a tiddler was last modified"
},
"$:/language/Docs/Fields/modifier": {
"title": "$:/language/Docs/Fields/modifier",
"text": "The tiddler title associated with the person who last modified a tiddler"
},
"$:/language/Docs/Fields/name": {
"title": "$:/language/Docs/Fields/name",
"text": "The human readable name associated with a plugin tiddler"
},
"$:/language/Docs/Fields/plugin-priority": {
"title": "$:/language/Docs/Fields/plugin-priority",
"text": "A numerical value indicating the priority of a plugin tiddler"
},
"$:/language/Docs/Fields/plugin-type": {
"title": "$:/language/Docs/Fields/plugin-type",
"text": "The type of plugin in a plugin tiddler"
},
"$:/language/Docs/Fields/revision": {
"title": "$:/language/Docs/Fields/revision",
"text": "The revision of the tiddler held at the server"
},
"$:/language/Docs/Fields/released": {
"title": "$:/language/Docs/Fields/released",
"text": "Date of a TiddlyWiki release"
},
"$:/language/Docs/Fields/source": {
"title": "$:/language/Docs/Fields/source",
"text": "The source URL associated with a tiddler"
},
"$:/language/Docs/Fields/subtitle": {
"title": "$:/language/Docs/Fields/subtitle",
"text": "The subtitle text for a wizard"
},
"$:/language/Docs/Fields/tags": {
"title": "$:/language/Docs/Fields/tags",
"text": "A list of tags associated with a tiddler"
},
"$:/language/Docs/Fields/text": {
"title": "$:/language/Docs/Fields/text",
"text": "The body text of a tiddler"
},
"$:/language/Docs/Fields/title": {
"title": "$:/language/Docs/Fields/title",
"text": "The unique name of a tiddler"
},
"$:/language/Docs/Fields/type": {
"title": "$:/language/Docs/Fields/type",
"text": "The content type of a tiddler"
},
"$:/language/Docs/Fields/version": {
"title": "$:/language/Docs/Fields/version",
"text": "Version information for a plugin"
},
"$:/language/Filters/AllTiddlers": {
"title": "$:/language/Filters/AllTiddlers",
"text": "All tiddlers except system tiddlers"
},
"$:/language/Filters/RecentSystemTiddlers": {
"title": "$:/language/Filters/RecentSystemTiddlers",
"text": "Recently modified tiddlers, including system tiddlers"
},
"$:/language/Filters/RecentTiddlers": {
"title": "$:/language/Filters/RecentTiddlers",
"text": "Recently modified tiddlers"
},
"$:/language/Filters/AllTags": {
"title": "$:/language/Filters/AllTags",
"text": "All tags except system tags"
},
"$:/language/Filters/Missing": {
"title": "$:/language/Filters/Missing",
"text": "Missing tiddlers"
},
"$:/language/Filters/Drafts": {
"title": "$:/language/Filters/Drafts",
"text": "Draft tiddlers"
},
"$:/language/Filters/Orphans": {
"title": "$:/language/Filters/Orphans",
"text": "Orphan tiddlers"
},
"$:/language/Filters/SystemTiddlers": {
"title": "$:/language/Filters/SystemTiddlers",
"text": "System tiddlers"
},
"$:/language/Filters/ShadowTiddlers": {
"title": "$:/language/Filters/ShadowTiddlers",
"text": "Shadow tiddlers"
},
"$:/language/Filters/OverriddenShadowTiddlers": {
"title": "$:/language/Filters/OverriddenShadowTiddlers",
"text": "Overridden shadow tiddlers"
},
"$:/language/Filters/SystemTags": {
"title": "$:/language/Filters/SystemTags",
"text": "System tags"
},
"$:/language/Filters/TypedTiddlers": {
"title": "$:/language/Filters/TypedTiddlers",
"text": "Non wiki-text tiddlers"
},
"GettingStarted": {
"title": "GettingStarted",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\nWelcome to ~TiddlyWiki and the ~TiddlyWiki community\n\nBefore you start storing important information in ~TiddlyWiki it is important to make sure that you can reliably save changes. See http://tiddlywiki.com/#GettingStarted for details\n\n!! Set up this ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"
},
"$:/language/Help/build": {
"title": "$:/language/Help/build",
"description": "Automatically run configured commands",
"text": "Build the specified build targets for the current wiki. If no build targets are specified then all available targets will be built.\n\n```\n--build <target> [<target> ...]\n```\n\nBuild targets are defined in the `tiddlywiki.info` file of a wiki folder.\n\n"
},
"$:/language/Help/clearpassword": {
"title": "$:/language/Help/clearpassword",
"description": "Clear a password for subsequent crypto operations",
"text": "Clear the password for subsequent crypto operations\n\n```\n--clearpassword\n```\n"
},
"$:/language/Help/default": {
"title": "$:/language/Help/default",
"text": "\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nAvailable commands:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nTo get detailed help on a command:\n\n```\ntiddlywiki --help <command>\n```\n"
},
"$:/language/Help/editions": {
"title": "$:/language/Help/editions",
"description": "Lists the available editions of TiddlyWiki",
"text": "Lists the names and descriptions of the available editions. You can create a new wiki of a specified edition with the `--init` command.\n\n```\n--editions\n```\n"
},
"$:/language/Help/help": {
"title": "$:/language/Help/help",
"description": "Display help for TiddlyWiki commands",
"text": "Displays help text for a command:\n\n```\n--help [<command>]\n```\n\nIf the command name is omitted then a list of available commands is displayed.\n"
},
"$:/language/Help/init": {
"title": "$:/language/Help/init",
"description": "Initialise a new wiki folder",
"text": "Initialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition.\n\n```\n--init <edition> [<edition> ...]\n```\n\nFor example:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNote:\n\n* The wiki folder directory will be created if necessary\n* The \"edition\" defaults to ''empty''\n* The init command will fail if the wiki folder is not empty\n* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file\n* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)\n* `--editions` returns a list of available editions\n"
},
"$:/language/Help/load": {
"title": "$:/language/Help/load",
"description": "Load tiddlers from a file",
"text": "Load tiddlers from 2.x.x TiddlyWiki files (`.html`), `.tiddler`, `.tid`, `.json` or other files\n\n```\n--load <filepath>\n```\n\nTo load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nNote that TiddlyWiki will not load an older version of an already loaded plugin.\n"
},
"$:/language/Help/makelibrary": {
"title": "$:/language/Help/makelibrary",
"description": "Construct library plugin required by upgrade process",
"text": "Constructs the `$:/UpgradeLibrary` tiddler for the upgrade process.\n\nThe upgrade library is formatted as an ordinary plugin tiddler with the plugin type `library`. It contains a copy of each of the plugins, themes and language packs available within the TiddlyWiki5 repository.\n\nThis command is intended for internal use; it is only relevant to users constructing a custom upgrade procedure.\n\n```\n--makelibrary <title>\n```\n\nThe title argument defaults to `$:/UpgradeLibrary`.\n"
},
"$:/language/Help/notfound": {
"title": "$:/language/Help/notfound",
"text": "No such help item"
},
"$:/language/Help/output": {
"title": "$:/language/Help/output",
"description": "Set the base output directory for subsequent commands",
"text": "Sets the base output directory for subsequent commands. The default output directory is the `output` subdirectory of the edition directory.\n\n```\n--output <pathname>\n```\n\nIf the specified pathname is relative then it is resolved relative to the current working directory. For example `--output .` sets the output directory to the current working directory.\n\n"
},
"$:/language/Help/password": {
"title": "$:/language/Help/password",
"description": "Set a password for subsequent crypto operations",
"text": "Set a password for subsequent crypto operations\n\n```\n--password <password>\n```\n\n''Note'': This should not be used for serving TiddlyWiki with password protection. Instead, see the password option under the [[ServerCommand]].\n"
},
"$:/language/Help/rendertiddler": {
"title": "$:/language/Help/rendertiddler",
"description": "Render an individual tiddler as a specified ContentType",
"text": "Render an individual tiddler as a specified ContentType, defaulting to `text/html` and save it to the specified filename. Optionally a template can be specified, in which case the template tiddler is rendered with the \"currentTiddler\" variable set to the tiddler that is being rendered (the first parameter value).\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>]\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n"
},
"$:/language/Help/rendertiddlers": {
"title": "$:/language/Help/rendertiddlers",
"description": "Render tiddlers matching a filter to a specified ContentType",
"text": "Render a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nFor example:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny files in the target directory are deleted unless the ''noclean'' flag is specified. The target directory is recursively created if it is missing.\n"
},
"$:/language/Help/savetiddler": {
"title": "$:/language/Help/savetiddler",
"description": "Saves a raw tiddler to a file",
"text": "Saves an individual tiddler in its raw text or binary format to the specified filename.\n\n```\n--savetiddler <title> <filename>\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n"
},
"$:/language/Help/savetiddlers": {
"title": "$:/language/Help/savetiddlers",
"description": "Saves a group of raw tiddlers to a directory",
"text": "Saves a group of tiddlers in their raw text or binary format to the specified directory.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nThe output directory is cleared of existing files before saving the specified files. The deletion can be disabled by specifying the ''noclean'' flag.\n\nAny missing directories in the pathname are automatically created.\n"
},
"$:/language/Help/server": {
"title": "$:/language/Help/server",
"description": "Provides an HTTP server interface to TiddlyWiki",
"text": "The server built in to TiddlyWiki5 is very simple. Although compatible with TiddlyWeb it doesn't support many of the features needed for robust Internet-facing usage.\n\nAt the root, it serves a rendering of a specified tiddler. Away from the root, it serves individual tiddlers encoded in JSON, and supports the basic HTTP operations for `GET`, `PUT` and `DELETE`.\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix>\n```\n\nThe parameters are:\n\n* ''port'' - port number to serve from (defaults to \"8080\")\n* ''roottiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''rendertype'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''servetype'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''username'' - the default username for signing edits\n* ''password'' - optional password for basic authentication\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''pathprefix'' - optional prefix for paths\n\nIf the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation isn't suitable for general use.\n\nFor example:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nThe username and password can be specified as empty strings if you need to set the hostname or pathprefix and don't want to require a password:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nTo run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port.\n"
},
"$:/language/Help/setfield": {
"title": "$:/language/Help/setfield",
"description": "Prepares external tiddlers for use",
"text": "//Note that this command is experimental and may change or be replaced before being finalised//\n\nSets the specified field of a group of tiddlers to the result of wikifying a template tiddler with the `currentTiddler` variable set to the tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''filter'' - filter identifying the tiddlers to be affected\n* ''fieldname'' - the field to modify (defaults to \"text\")\n* ''templatetitle'' - the tiddler to wikify into the specified field. If blank or missing then the specified field is deleted\n* ''rendertype'' - the text type to render (defaults to \"text/plain\"; \"text/html\" can be used to include HTML tags)\n"
},
"$:/language/Help/unpackplugin": {
"title": "$:/language/Help/unpackplugin",
"description": "Unpack the payload tiddlers from a plugin",
"text": "Extract the payload tiddlers from a plugin, creating them as ordinary tiddlers:\n\n```\n--unpackplugin <title>\n```\n"
},
"$:/language/Help/verbose": {
"title": "$:/language/Help/verbose",
"description": "Triggers verbose output mode",
"text": "Triggers verbose output, useful for debugging\n\n```\n--verbose\n```\n"
},
"$:/language/Help/version": {
"title": "$:/language/Help/version",
"description": "Displays the version number of TiddlyWiki",
"text": "Displays the version number of TiddlyWiki.\n\n```\n--version\n```\n"
},
"$:/language/Import/Imported/Hint": {
"title": "$:/language/Import/Imported/Hint",
"text": "The following tiddlers were imported:"
},
"$:/language/Import/Listing/Cancel/Caption": {
"title": "$:/language/Import/Listing/Cancel/Caption",
"text": "Cancel"
},
"$:/language/Import/Listing/Hint": {
"title": "$:/language/Import/Listing/Hint",
"text": "These tiddlers are ready to import:"
},
"$:/language/Import/Listing/Import/Caption": {
"title": "$:/language/Import/Listing/Import/Caption",
"text": "Import"
},
"$:/language/Import/Listing/Select/Caption": {
"title": "$:/language/Import/Listing/Select/Caption",
"text": "Select"
},
"$:/language/Import/Listing/Status/Caption": {
"title": "$:/language/Import/Listing/Status/Caption",
"text": "Status"
},
"$:/language/Import/Listing/Title/Caption": {
"title": "$:/language/Import/Listing/Title/Caption",
"text": "Title"
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible",
"text": "Blocked incompatible or obsolete plugin"
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Version": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Version",
"text": "Blocked plugin (due to incoming <<incoming>> being older than existing <<existing>>)"
},
"$:/language/Import/Upgrader/Plugins/Upgraded": {
"title": "$:/language/Import/Upgrader/Plugins/Upgraded",
"text": "Upgraded plugin from <<incoming>> to <<upgraded>>"
},
"$:/language/Import/Upgrader/State/Suppressed": {
"title": "$:/language/Import/Upgrader/State/Suppressed",
"text": "Blocked temporary state tiddler"
},
"$:/language/Import/Upgrader/System/Suppressed": {
"title": "$:/language/Import/Upgrader/System/Suppressed",
"text": "Blocked system tiddler"
},
"$:/language/Import/Upgrader/ThemeTweaks/Created": {
"title": "$:/language/Import/Upgrader/ThemeTweaks/Created",
"text": "Migrated theme tweak from <$text text=<<from>>/>"
},
"$:/language/AboveStory/ClassicPlugin/Warning": {
"title": "$:/language/AboveStory/ClassicPlugin/Warning",
"text": "It looks like you are trying to load a plugin designed for ~TiddlyWiki Classic. Please note that [[these plugins do not work with TiddlyWiki version 5.x.x|http://tiddlywiki.com/#TiddlyWikiClassic]]. ~TiddlyWiki Classic plugins detected:"
},
"$:/language/BinaryWarning/Prompt": {
"title": "$:/language/BinaryWarning/Prompt",
"text": "This tiddler contains binary data"
},
"$:/language/ClassicWarning/Hint": {
"title": "$:/language/ClassicWarning/Hint",
"text": "This tiddler is written in TiddlyWiki Classic wiki text format, which is not fully compatible with TiddlyWiki version 5. See http://tiddlywiki.com/static/Upgrading.html for more details."
},
"$:/language/ClassicWarning/Upgrade/Caption": {
"title": "$:/language/ClassicWarning/Upgrade/Caption",
"text": "upgrade"
},
"$:/language/CloseAll/Button": {
"title": "$:/language/CloseAll/Button",
"text": "close all"
},
"$:/language/ColourPicker/Recent": {
"title": "$:/language/ColourPicker/Recent",
"text": "Recent:"
},
"$:/language/ConfirmCancelTiddler": {
"title": "$:/language/ConfirmCancelTiddler",
"text": "Do you wish to discard changes to the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmDeleteTiddler": {
"title": "$:/language/ConfirmDeleteTiddler",
"text": "Do you wish to delete the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmOverwriteTiddler": {
"title": "$:/language/ConfirmOverwriteTiddler",
"text": "Do you wish to overwrite the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmEditShadowTiddler": {
"title": "$:/language/ConfirmEditShadowTiddler",
"text": "You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit \"<$text text=<<title>>/>\"?"
},
"$:/language/Count": {
"title": "$:/language/Count",
"text": "count"
},
"$:/language/DefaultNewTiddlerTitle": {
"title": "$:/language/DefaultNewTiddlerTitle",
"text": "New Tiddler"
},
"$:/language/DropMessage": {
"title": "$:/language/DropMessage",
"text": "Drop here (or use the 'Escape' key to cancel)"
},
"$:/language/Encryption/Cancel": {
"title": "$:/language/Encryption/Cancel",
"text": "Cancel"
},
"$:/language/Encryption/ConfirmClearPassword": {
"title": "$:/language/Encryption/ConfirmClearPassword",
"text": "Do you wish to clear the password? This will remove the encryption applied when saving this wiki"
},
"$:/language/Encryption/PromptSetPassword": {
"title": "$:/language/Encryption/PromptSetPassword",
"text": "Set a new password for this TiddlyWiki"
},
"$:/language/Encryption/Username": {
"title": "$:/language/Encryption/Username",
"text": "Username"
},
"$:/language/Encryption/Password": {
"title": "$:/language/Encryption/Password",
"text": "Password"
},
"$:/language/Encryption/RepeatPassword": {
"title": "$:/language/Encryption/RepeatPassword",
"text": "Repeat password"
},
"$:/language/Encryption/PasswordNoMatch": {
"title": "$:/language/Encryption/PasswordNoMatch",
"text": "Passwords do not match"
},
"$:/language/Encryption/SetPassword": {
"title": "$:/language/Encryption/SetPassword",
"text": "Set password"
},
"$:/language/Error/Caption": {
"title": "$:/language/Error/Caption",
"text": "Error"
},
"$:/language/Error/Filter": {
"title": "$:/language/Error/Filter",
"text": "Filter error"
},
"$:/language/Error/FilterSyntax": {
"title": "$:/language/Error/FilterSyntax",
"text": "Syntax error in filter expression"
},
"$:/language/Error/IsFilterOperator": {
"title": "$:/language/Error/IsFilterOperator",
"text": "Filter Error: Unknown operand for the 'is' filter operator"
},
"$:/language/Error/LoadingPluginLibrary": {
"title": "$:/language/Error/LoadingPluginLibrary",
"text": "Error loading plugin library"
},
"$:/language/Error/RecursiveTransclusion": {
"title": "$:/language/Error/RecursiveTransclusion",
"text": "Recursive transclusion error in transclude widget"
},
"$:/language/Error/RetrievingSkinny": {
"title": "$:/language/Error/RetrievingSkinny",
"text": "Error retrieving skinny tiddler list"
},
"$:/language/Error/SavingToTWEdit": {
"title": "$:/language/Error/SavingToTWEdit",
"text": "Error saving to TWEdit"
},
"$:/language/Error/WhileSaving": {
"title": "$:/language/Error/WhileSaving",
"text": "Error while saving"
},
"$:/language/Error/XMLHttpRequest": {
"title": "$:/language/Error/XMLHttpRequest",
"text": "XMLHttpRequest error code"
},
"$:/language/InternalJavaScriptError/Title": {
"title": "$:/language/InternalJavaScriptError/Title",
"text": "Internal JavaScript Error"
},
"$:/language/InternalJavaScriptError/Hint": {
"title": "$:/language/InternalJavaScriptError/Hint",
"text": "Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser"
},
"$:/language/InvalidFieldName": {
"title": "$:/language/InvalidFieldName",
"text": "Illegal characters in field name \"<$text text=<<fieldName>>/>\". Fields can only contain lowercase letters, digits and the characters underscore (`_`), hyphen (`-`) and period (`.`)"
},
"$:/language/LazyLoadingWarning": {
"title": "$:/language/LazyLoadingWarning",
"text": "<p>Loading external text from ''<$text text={{!!_canonical_uri}}/>''</p><p>If this message doesn't disappear you may be using a browser that doesn't support external text in this configuration. See http://tiddlywiki.com/#ExternalText</p>"
},
"$:/language/LoginToTiddlySpace": {
"title": "$:/language/LoginToTiddlySpace",
"text": "Login to TiddlySpace"
},
"$:/language/MissingTiddler/Hint": {
"title": "$:/language/MissingTiddler/Hint",
"text": "Missing tiddler \"<$text text=<<currentTiddler>>/>\" - click {{$:/core/images/edit-button}} to create"
},
"$:/language/No": {
"title": "$:/language/No",
"text": "No"
},
"$:/language/OfficialPluginLibrary": {
"title": "$:/language/OfficialPluginLibrary",
"text": "Official ~TiddlyWiki Plugin Library"
},
"$:/language/OfficialPluginLibrary/Hint": {
"title": "$:/language/OfficialPluginLibrary/Hint",
"text": "The official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team."
},
"$:/language/PluginReloadWarning": {
"title": "$:/language/PluginReloadWarning",
"text": "Please save {{$:/core/ui/Buttons/save-wiki}} and reload {{$:/core/ui/Buttons/refresh}} to allow changes to plugins to take effect"
},
"$:/language/RecentChanges/DateFormat": {
"title": "$:/language/RecentChanges/DateFormat",
"text": "DDth MMM YYYY"
},
"$:/language/SystemTiddler/Tooltip": {
"title": "$:/language/SystemTiddler/Tooltip",
"text": "This is a system tiddler"
},
"$:/language/TagManager/Colour/Heading": {
"title": "$:/language/TagManager/Colour/Heading",
"text": "Colour"
},
"$:/language/TagManager/Count/Heading": {
"title": "$:/language/TagManager/Count/Heading",
"text": "Count"
},
"$:/language/TagManager/Icon/Heading": {
"title": "$:/language/TagManager/Icon/Heading",
"text": "Icon"
},
"$:/language/TagManager/Info/Heading": {
"title": "$:/language/TagManager/Info/Heading",
"text": "Info"
},
"$:/language/TagManager/Tag/Heading": {
"title": "$:/language/TagManager/Tag/Heading",
"text": "Tag"
},
"$:/language/Tiddler/DateFormat": {
"title": "$:/language/Tiddler/DateFormat",
"text": "DDth MMM YYYY at hh12:0mmam"
},
"$:/language/UnsavedChangesWarning": {
"title": "$:/language/UnsavedChangesWarning",
"text": "You have unsaved changes in TiddlyWiki"
},
"$:/language/Yes": {
"title": "$:/language/Yes",
"text": "Yes"
},
"$:/language/Modals/Download": {
"title": "$:/language/Modals/Download",
"type": "text/vnd.tiddlywiki",
"subtitle": "Download changes",
"footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
"help": "http://tiddlywiki.com/static/DownloadingChanges.html",
"text": "Your browser only supports manual saving.\n\nTo save your modified wiki, right click on the download link below and select \"Download file\" or \"Save file\", and then choose the folder and filename.\n\n//You can marginally speed things up by clicking the link with the control key (Windows) or the options/alt key (Mac OS X). You will not be prompted for the folder or filename, but your browser is likely to give it an unrecognisable name -- you may need to rename the file to include an `.html` extension before you can do anything useful with it.//\n\nOn smartphones that do not allow files to be downloaded you can instead bookmark the link, and then sync your bookmarks to a desktop computer from where the wiki can be saved normally.\n"
},
"$:/language/Modals/SaveInstructions": {
"title": "$:/language/Modals/SaveInstructions",
"type": "text/vnd.tiddlywiki",
"subtitle": "Save your work",
"footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
"help": "http://tiddlywiki.com/static/SavingChanges.html",
"text": "Your changes to this wiki need to be saved as a ~TiddlyWiki HTML file.\n\n!!! Desktop browsers\n\n# Select ''Save As'' from the ''File'' menu\n# Choose a filename and location\n#* Some browsers also require you to explicitly specify the file saving format as ''Webpage, HTML only'' or similar\n# Close this tab\n\n!!! Smartphone browsers\n\n# Create a bookmark to this page\n#* If you've got iCloud or Google Sync set up then the bookmark will automatically sync to your desktop where you can open it and save it as above\n# Close this tab\n\n//If you open the bookmark again in Mobile Safari you will see this message again. If you want to go ahead and use the file, just click the ''close'' button below//\n"
},
"$:/config/NewJournal/Title": {
"title": "$:/config/NewJournal/Title",
"text": "DDth MMM YYYY"
},
"$:/config/NewJournal/Tags": {
"title": "$:/config/NewJournal/Tags",
"text": "Journal"
},
"$:/language/Notifications/Save/Done": {
"title": "$:/language/Notifications/Save/Done",
"text": "Saved wiki"
},
"$:/language/Notifications/Save/Starting": {
"title": "$:/language/Notifications/Save/Starting",
"text": "Starting to save wiki"
},
"$:/language/Search/DefaultResults/Caption": {
"title": "$:/language/Search/DefaultResults/Caption",
"text": "List"
},
"$:/language/Search/Filter/Caption": {
"title": "$:/language/Search/Filter/Caption",
"text": "Filter"
},
"$:/language/Search/Filter/Hint": {
"title": "$:/language/Search/Filter/Hint",
"text": "Search via a [[filter expression|http://tiddlywiki.com/static/Filters.html]]"
},
"$:/language/Search/Filter/Matches": {
"title": "$:/language/Search/Filter/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Matches": {
"title": "$:/language/Search/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Matches/All": {
"title": "$:/language/Search/Matches/All",
"text": "All matches:"
},
"$:/language/Search/Matches/Title": {
"title": "$:/language/Search/Matches/Title",
"text": "Title matches:"
},
"$:/language/Search/Search": {
"title": "$:/language/Search/Search",
"text": "Search"
},
"$:/language/Search/Shadows/Caption": {
"title": "$:/language/Search/Shadows/Caption",
"text": "Shadows"
},
"$:/language/Search/Shadows/Hint": {
"title": "$:/language/Search/Shadows/Hint",
"text": "Search for shadow tiddlers"
},
"$:/language/Search/Shadows/Matches": {
"title": "$:/language/Search/Shadows/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Standard/Caption": {
"title": "$:/language/Search/Standard/Caption",
"text": "Standard"
},
"$:/language/Search/Standard/Hint": {
"title": "$:/language/Search/Standard/Hint",
"text": "Search for standard tiddlers"
},
"$:/language/Search/Standard/Matches": {
"title": "$:/language/Search/Standard/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/System/Caption": {
"title": "$:/language/Search/System/Caption",
"text": "System"
},
"$:/language/Search/System/Hint": {
"title": "$:/language/Search/System/Hint",
"text": "Search for system tiddlers"
},
"$:/language/Search/System/Matches": {
"title": "$:/language/Search/System/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/SideBar/All/Caption": {
"title": "$:/language/SideBar/All/Caption",
"text": "All"
},
"$:/language/SideBar/Contents/Caption": {
"title": "$:/language/SideBar/Contents/Caption",
"text": "Contents"
},
"$:/language/SideBar/Drafts/Caption": {
"title": "$:/language/SideBar/Drafts/Caption",
"text": "Drafts"
},
"$:/language/SideBar/Missing/Caption": {
"title": "$:/language/SideBar/Missing/Caption",
"text": "Missing"
},
"$:/language/SideBar/More/Caption": {
"title": "$:/language/SideBar/More/Caption",
"text": "More"
},
"$:/language/SideBar/Open/Caption": {
"title": "$:/language/SideBar/Open/Caption",
"text": "Open"
},
"$:/language/SideBar/Orphans/Caption": {
"title": "$:/language/SideBar/Orphans/Caption",
"text": "Orphans"
},
"$:/language/SideBar/Recent/Caption": {
"title": "$:/language/SideBar/Recent/Caption",
"text": "Recent"
},
"$:/language/SideBar/Shadows/Caption": {
"title": "$:/language/SideBar/Shadows/Caption",
"text": "Shadows"
},
"$:/language/SideBar/System/Caption": {
"title": "$:/language/SideBar/System/Caption",
"text": "System"
},
"$:/language/SideBar/Tags/Caption": {
"title": "$:/language/SideBar/Tags/Caption",
"text": "Tags"
},
"$:/language/SideBar/Tags/Untagged/Caption": {
"title": "$:/language/SideBar/Tags/Untagged/Caption",
"text": "untagged"
},
"$:/language/SideBar/Tools/Caption": {
"title": "$:/language/SideBar/Tools/Caption",
"text": "Tools"
},
"$:/language/SideBar/Types/Caption": {
"title": "$:/language/SideBar/Types/Caption",
"text": "Types"
},
"$:/SiteSubtitle": {
"title": "$:/SiteSubtitle",
"text": "a non-linear personal web notebook"
},
"$:/SiteTitle": {
"title": "$:/SiteTitle",
"text": "My ~TiddlyWiki"
},
"$:/language/Snippets/ListByTag": {
"title": "$:/language/Snippets/ListByTag",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "List of tiddlers by tag",
"text": "<<list-links \"[tag[task]sort[title]]\">>\n"
},
"$:/language/Snippets/MacroDefinition": {
"title": "$:/language/Snippets/MacroDefinition",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Macro definition",
"text": "\\define macroName(param1:\"default value\",param2)\nText of the macro\n\\end\n"
},
"$:/language/Snippets/Table4x3": {
"title": "$:/language/Snippets/Table4x3",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Table with 4 columns by 3 rows",
"text": "|! |!Alpha |!Beta |!Gamma |!Delta |\n|!One | | | | |\n|!Two | | | | |\n|!Three | | | | |\n"
},
"$:/language/Snippets/TableOfContents": {
"title": "$:/language/Snippets/TableOfContents",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Table of Contents",
"text": "<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
},
"$:/language/ThemeTweaks/ThemeTweaks": {
"title": "$:/language/ThemeTweaks/ThemeTweaks",
"text": "Theme Tweaks"
},
"$:/language/ThemeTweaks/ThemeTweaks/Hint": {
"title": "$:/language/ThemeTweaks/ThemeTweaks/Hint",
"text": "You can tweak certain aspects of the ''Vanilla'' theme."
},
"$:/language/ThemeTweaks/Options": {
"title": "$:/language/ThemeTweaks/Options",
"text": "Options"
},
"$:/language/ThemeTweaks/Options/SidebarLayout": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout",
"text": "Sidebar layout"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid",
"text": "Fixed story, fluid sidebar"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed",
"text": "Fluid story, fixed sidebar"
},
"$:/language/ThemeTweaks/Options/StickyTitles": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles",
"text": "Sticky titles"
},
"$:/language/ThemeTweaks/Options/StickyTitles/Hint": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles/Hint",
"text": "Causes tiddler titles to \"stick\" to the top of the browser window. Caution: Does not work at all with Chrome, and causes some layout issues in Firefox"
},
"$:/language/ThemeTweaks/Options/CodeWrapping": {
"title": "$:/language/ThemeTweaks/Options/CodeWrapping",
"text": "Wrap long lines in code blocks"
},
"$:/language/ThemeTweaks/Settings": {
"title": "$:/language/ThemeTweaks/Settings",
"text": "Settings"
},
"$:/language/ThemeTweaks/Settings/FontFamily": {
"title": "$:/language/ThemeTweaks/Settings/FontFamily",
"text": "Font family"
},
"$:/language/ThemeTweaks/Settings/CodeFontFamily": {
"title": "$:/language/ThemeTweaks/Settings/CodeFontFamily",
"text": "Code font family"
},
"$:/language/ThemeTweaks/Settings/BackgroundImage": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImage",
"text": "Page background image"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment",
"text": "Page background image attachment"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll",
"text": "Scroll with tiddlers"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed",
"text": "Fixed to window"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize",
"text": "Page background image size"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto",
"text": "Auto"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover",
"text": "Cover"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain",
"text": "Contain"
},
"$:/language/ThemeTweaks/Metrics": {
"title": "$:/language/ThemeTweaks/Metrics",
"text": "Sizes"
},
"$:/language/ThemeTweaks/Metrics/FontSize": {
"title": "$:/language/ThemeTweaks/Metrics/FontSize",
"text": "Font size"
},
"$:/language/ThemeTweaks/Metrics/LineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/LineHeight",
"text": "Line height"
},
"$:/language/ThemeTweaks/Metrics/BodyFontSize": {
"title": "$:/language/ThemeTweaks/Metrics/BodyFontSize",
"text": "Font size for tiddler body"
},
"$:/language/ThemeTweaks/Metrics/BodyLineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/BodyLineHeight",
"text": "Line height for tiddler body"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft",
"text": "Story left position"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint",
"text": "how far the left margin of the story river<br>(tiddler area) is from the left of the page"
},
"$:/language/ThemeTweaks/Metrics/StoryTop": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop",
"text": "Story top position"
},
"$:/language/ThemeTweaks/Metrics/StoryTop/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop/Hint",
"text": "how far the top margin of the story river<br>is from the top of the page"
},
"$:/language/ThemeTweaks/Metrics/StoryRight": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight",
"text": "Story right"
},
"$:/language/ThemeTweaks/Metrics/StoryRight/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight/Hint",
"text": "how far the left margin of the sidebar <br>is from the left of the page"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth",
"text": "Story width"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint",
"text": "the overall width of the story river"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth",
"text": "Tiddler width"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint",
"text": "within the story river"
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint",
"text": "Sidebar breakpoint"
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint",
"text": "the minimum page width at which the story<br>river and sidebar will appear side by side"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth",
"text": "Sidebar width"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint",
"text": "the width of the sidebar in fluid-fixed layout"
},
"$:/language/TiddlerInfo/Advanced/Caption": {
"title": "$:/language/TiddlerInfo/Advanced/Caption",
"text": "Advanced"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint",
"text": "none"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading",
"text": "Plugin Details"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint",
"text": "This plugin contains the following shadow tiddlers:"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading",
"text": "Shadow Status"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint",
"text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is not a shadow tiddler"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint",
"text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is a shadow tiddler"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source",
"text": "It is defined in the plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint",
"text": "It is overridden by an ordinary tiddler"
},
"$:/language/TiddlerInfo/Fields/Caption": {
"title": "$:/language/TiddlerInfo/Fields/Caption",
"text": "Fields"
},
"$:/language/TiddlerInfo/List/Caption": {
"title": "$:/language/TiddlerInfo/List/Caption",
"text": "List"
},
"$:/language/TiddlerInfo/List/Empty": {
"title": "$:/language/TiddlerInfo/List/Empty",
"text": "This tiddler does not have a list"
},
"$:/language/TiddlerInfo/Listed/Caption": {
"title": "$:/language/TiddlerInfo/Listed/Caption",
"text": "Listed"
},
"$:/language/TiddlerInfo/Listed/Empty": {
"title": "$:/language/TiddlerInfo/Listed/Empty",
"text": "This tiddler is not listed by any others"
},
"$:/language/TiddlerInfo/References/Caption": {
"title": "$:/language/TiddlerInfo/References/Caption",
"text": "References"
},
"$:/language/TiddlerInfo/References/Empty": {
"title": "$:/language/TiddlerInfo/References/Empty",
"text": "No tiddlers link to this one"
},
"$:/language/TiddlerInfo/Tagging/Caption": {
"title": "$:/language/TiddlerInfo/Tagging/Caption",
"text": "Tagging"
},
"$:/language/TiddlerInfo/Tagging/Empty": {
"title": "$:/language/TiddlerInfo/Tagging/Empty",
"text": "No tiddlers are tagged with this one"
},
"$:/language/TiddlerInfo/Tools/Caption": {
"title": "$:/language/TiddlerInfo/Tools/Caption",
"text": "Tools"
},
"$:/language/Docs/Types/application/javascript": {
"title": "$:/language/Docs/Types/application/javascript",
"description": "JavaScript code",
"name": "application/javascript",
"group": "Developer"
},
"$:/language/Docs/Types/application/json": {
"title": "$:/language/Docs/Types/application/json",
"description": "JSON data",
"name": "application/json",
"group": "Developer"
},
"$:/language/Docs/Types/application/x-tiddler-dictionary": {
"title": "$:/language/Docs/Types/application/x-tiddler-dictionary",
"description": "Data dictionary",
"name": "application/x-tiddler-dictionary",
"group": "Developer"
},
"$:/language/Docs/Types/image/gif": {
"title": "$:/language/Docs/Types/image/gif",
"description": "GIF image",
"name": "image/gif",
"group": "Image"
},
"$:/language/Docs/Types/image/jpeg": {
"title": "$:/language/Docs/Types/image/jpeg",
"description": "JPEG image",
"name": "image/jpeg",
"group": "Image"
},
"$:/language/Docs/Types/image/png": {
"title": "$:/language/Docs/Types/image/png",
"description": "PNG image",
"name": "image/png",
"group": "Image"
},
"$:/language/Docs/Types/image/svg+xml": {
"title": "$:/language/Docs/Types/image/svg+xml",
"description": "Structured Vector Graphics image",
"name": "image/svg+xml",
"group": "Image"
},
"$:/language/Docs/Types/image/x-icon": {
"title": "$:/language/Docs/Types/image/x-icon",
"description": "ICO format icon file",
"name": "image/x-icon",
"group": "Image"
},
"$:/language/Docs/Types/text/css": {
"title": "$:/language/Docs/Types/text/css",
"description": "Static stylesheet",
"name": "text/css",
"group": "Developer"
},
"$:/language/Docs/Types/text/html": {
"title": "$:/language/Docs/Types/text/html",
"description": "HTML markup",
"name": "text/html",
"group": "Text"
},
"$:/language/Docs/Types/text/plain": {
"title": "$:/language/Docs/Types/text/plain",
"description": "Plain text",
"name": "text/plain",
"group": "Text"
},
"$:/language/Docs/Types/text/vnd.tiddlywiki": {
"title": "$:/language/Docs/Types/text/vnd.tiddlywiki",
"description": "TiddlyWiki 5",
"name": "text/vnd.tiddlywiki",
"group": "Text"
},
"$:/language/Docs/Types/text/x-tiddlywiki": {
"title": "$:/language/Docs/Types/text/x-tiddlywiki",
"description": "TiddlyWiki Classic",
"name": "text/x-tiddlywiki",
"group": "Text"
},
"$:/languages/en-GB/icon": {
"title": "$:/languages/en-GB/icon",
"type": "image/svg+xml",
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 60 30\" width=\"1200\" height=\"600\">\n<clipPath id=\"t\">\n\t<path d=\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\"/>\n</clipPath>\n<path d=\"M0,0 v30 h60 v-30 z\" fill=\"#00247d\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" stroke=\"#fff\" stroke-width=\"6\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" clip-path=\"url(#t)\" stroke=\"#cf142b\" stroke-width=\"4\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#fff\" stroke-width=\"10\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#cf142b\" stroke-width=\"6\"/>\n</svg>\n"
},
"$:/languages/en-GB": {
"title": "$:/languages/en-GB",
"name": "en-GB",
"description": "English (British)",
"author": "JeremyRuston",
"core-version": ">=5.0.0\"",
"text": "Stub pseudo-plugin for the default language"
},
"$:/core/modules/commander.js": {
"text": "/*\\\ntitle: $:/core/modules/commander.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Commander class is a command interpreter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a sequence of commands\n\tcommandTokens: an array of command string tokens\n\twiki: reference to the wiki store object\n\tstreams: {output:, error:}, each of which has a write(string) method\n\tcallback: a callback invoked as callback(err) where err is null if there was no error\n*/\nvar Commander = function(commandTokens,callback,wiki,streams) {\n\tvar path = require(\"path\");\n\tthis.commandTokens = commandTokens;\n\tthis.nextToken = 0;\n\tthis.callback = callback;\n\tthis.wiki = wiki;\n\tthis.streams = streams;\n\tthis.outputPath = path.resolve($tw.boot.wikiPath,$tw.config.wikiOutputSubDir);\n};\n\n/*\nAdd a string of tokens to the command queue\n*/\nCommander.prototype.addCommandTokens = function(commandTokens) {\n\tvar params = commandTokens.slice(0);\n\tparams.unshift(0);\n\tparams.unshift(this.nextToken);\n\tArray.prototype.splice.apply(this.commandTokens,params);\n};\n\n/*\nExecute the sequence of commands and invoke a callback on completion\n*/\nCommander.prototype.execute = function() {\n\tthis.executeNextCommand();\n};\n\n/*\nExecute the next command in the sequence\n*/\nCommander.prototype.executeNextCommand = function() {\n\tvar self = this;\n\t// Invoke the callback if there are no more commands\n\tif(this.nextToken >= this.commandTokens.length) {\n\t\tthis.callback(null);\n\t} else {\n\t\t// Get and check the command token\n\t\tvar commandName = this.commandTokens[this.nextToken++];\n\t\tif(commandName.substr(0,2) !== \"--\") {\n\t\t\tthis.callback(\"Missing command: \" + commandName);\n\t\t} else {\n\t\t\tcommandName = commandName.substr(2); // Trim off the --\n\t\t\t// Accumulate the parameters to the command\n\t\t\tvar params = [];\n\t\t\twhile(this.nextToken < this.commandTokens.length && \n\t\t\t\tthis.commandTokens[this.nextToken].substr(0,2) !== \"--\") {\n\t\t\t\tparams.push(this.commandTokens[this.nextToken++]);\n\t\t\t}\n\t\t\t// Get the command info\n\t\t\tvar command = $tw.commands[commandName],\n\t\t\t\tc,err;\n\t\t\tif(!command) {\n\t\t\t\tthis.callback(\"Unknown command: \" + commandName);\n\t\t\t} else {\n\t\t\t\tif(this.verbose) {\n\t\t\t\t\tthis.streams.output.write(\"Executing command: \" + commandName + \" \" + params.join(\" \") + \"\\n\");\n\t\t\t\t}\n\t\t\t\tif(command.info.synchronous) {\n\t\t\t\t\t// Synchronous command\n\t\t\t\t\tc = new command.Command(params,this);\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.executeNextCommand();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Asynchronous command\n\t\t\t\t\tc = new command.Command(params,this,function(err) {\n\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\tself.callback(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.executeNextCommand();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nCommander.initCommands = function(moduleType) {\n\tmoduleType = moduleType || \"command\";\n\t$tw.commands = {};\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tvar c = $tw.commands[module.info.name] = {};\n\t\t// Add the methods defined by the module\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\tc[f] = module[f];\n\t\t\t}\n\t\t}\n\t});\n};\n\nexports.Commander = Commander;\n\n})();\n",
"title": "$:/core/modules/commander.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/commands/build.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/build.js\ntype: application/javascript\nmodule-type: command\n\nCommand to build a build target\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"build\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\t// Get the build targets defined in the wiki\n\tvar buildTargets = $tw.boot.wikiInfo.build;\n\tif(!buildTargets) {\n\t\treturn \"No build targets defined\";\n\t}\n\t// Loop through each of the specified targets\n\tvar targets;\n\tif(this.params.length > 0) {\n\t\ttargets = this.params;\n\t} else {\n\t\ttargets = Object.keys(buildTargets);\n\t}\n\tfor(var targetIndex=0; targetIndex<targets.length; targetIndex++) {\n\t\tvar target = targets[targetIndex],\n\t\t\tcommands = buildTargets[target];\n\t\tif(!commands) {\n\t\t\treturn \"Build target '\" + target + \"' not found\";\n\t\t}\n\t\t// Add the commands to the queue\n\t\tthis.commander.addCommandTokens(commands);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/build.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/clearpassword.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/clearpassword.js\ntype: application/javascript\nmodule-type: command\n\nClear password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"clearpassword\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\t$tw.crypto.setPassword(null);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/clearpassword.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/editions.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/editions.js\ntype: application/javascript\nmodule-type: command\n\nCommand to list the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"editions\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\t// Output the list\n\tthis.commander.streams.output.write(\"Available editions:\\n\\n\");\n\tvar editionInfo = $tw.utils.getEditionInfo();\n\t$tw.utils.each(editionInfo,function(info,name) {\n\t\tself.commander.streams.output.write(\" \" + name + \": \" + info.description + \"\\n\");\n\t});\n\tthis.commander.streams.output.write(\"\\n\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/editions.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/help.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/help.js\ntype: application/javascript\nmodule-type: command\n\nHelp command\n\n\\*/\n(function(){\n\n/*jshint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"help\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar subhelp = this.params[0] || \"default\",\n\t\thelpBase = \"$:/language/Help/\",\n\t\ttext;\n\tif(!this.commander.wiki.getTiddler(helpBase + subhelp)) {\n\t\tsubhelp = \"notfound\";\n\t}\n\t// Wikify the help as formatted text (ie block elements generate newlines)\n\ttext = this.commander.wiki.renderTiddler(\"text/plain-formatted\",helpBase + subhelp);\n\t// Remove any leading linebreaks\n\ttext = text.replace(/^(\\r?\\n)*/g,\"\");\n\tthis.commander.streams.output.write(text);\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/help.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/init.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/init.js\ntype: application/javascript\nmodule-type: command\n\nCommand to initialise an empty wiki folder\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"init\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\t// Check that we don't already have a valid wiki folder\n\tif($tw.boot.wikiTiddlersPath || ($tw.utils.isDirectory($tw.boot.wikiPath) && !$tw.utils.isDirectoryEmpty($tw.boot.wikiPath))) {\n\t\treturn \"Wiki folder is not empty\";\n\t}\n\t// Loop through each of the specified editions\n\tvar editions = this.params.length > 0 ? this.params : [\"empty\"];\n\tfor(var editionIndex=0; editionIndex<editions.length; editionIndex++) {\n\t\tvar editionName = editions[editionIndex];\n\t\t// Check the edition exists\n\t\tvar editionPath = $tw.findLibraryItem(editionName,$tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar));\n\t\tif(!$tw.utils.isDirectory(editionPath)) {\n\t\t\treturn \"Edition '\" + editionName + \"' not found\";\n\t\t}\n\t\t// Copy the edition content\n\t\tvar err = $tw.utils.copyDirectory(editionPath,$tw.boot.wikiPath);\n\t\tif(!err) {\n\t\t\tthis.commander.streams.output.write(\"Copied edition '\" + editionName + \"' to \" + $tw.boot.wikiPath + \"\\n\");\n\t\t} else {\n\t\t\treturn err;\n\t\t}\n\t}\n\t// Tweak the tiddlywiki.info to remove any included wikis\n\tvar packagePath = $tw.boot.wikiPath + \"/tiddlywiki.info\",\n\t\tpackageJson = JSON.parse(fs.readFileSync(packagePath));\n\tdelete packageJson.includeWikis;\n\tfs.writeFileSync(packagePath,JSON.stringify(packageJson,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/init.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/load.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/load.js\ntype: application/javascript\nmodule-type: command\n\nCommand to load tiddlers from a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"load\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar ext = path.extname(self.params[0]);\n\tfs.readFile(this.params[0],$tw.utils.getTypeEncoding(ext),function(err,data) {\n\t\tif (err) {\n\t\t\tself.callback(err);\n\t\t} else {\n\t\t\tvar fields = {title: self.params[0]},\n\t\t\t\ttype = path.extname(self.params[0]);\n\t\t\tvar tiddlers = self.commander.wiki.deserializeTiddlers(type,data,fields);\n\t\t\tif(!tiddlers) {\n\t\t\t\tself.callback(\"No tiddlers found in file \\\"\" + self.params[0] + \"\\\"\");\n\t\t\t} else {\n\t\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddlers[t]));\n\t\t\t\t}\n\t\t\t\tself.callback(null);\t\n\t\t\t}\n\t\t}\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/load.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/makelibrary.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/makelibrary.js\ntype: application/javascript\nmodule-type: command\n\nCommand to pack all of the plugins in the library into a plugin tiddler of type \"library\"\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"makelibrary\",\n\tsynchronous: true\n};\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar wiki = this.commander.wiki,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tupgradeLibraryTitle = this.params[0] || UPGRADE_LIBRARY_TITLE,\n\t\ttiddlers = {};\n\t// Collect up the library plugins\n\tvar collectPlugins = function(folder) {\n\t\t\tvar pluginFolders = fs.readdirSync(folder);\n\t\t\tfor(var p=0; p<pluginFolders.length; p++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(pluginFolders[p])) {\n\t\t\t\t\tpluginFields = $tw.loadPluginFolder(path.resolve(folder,\"./\" + pluginFolders[p]));\n\t\t\t\t\tif(pluginFields && pluginFields.title) {\n\t\t\t\t\t\ttiddlers[pluginFields.title] = pluginFields;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcollectPublisherPlugins = function(folder) {\n\t\t\tvar publisherFolders = fs.readdirSync(folder);\n\t\t\tfor(var t=0; t<publisherFolders.length; t++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(publisherFolders[t])) {\n\t\t\t\t\tcollectPlugins(path.resolve(folder,\"./\" + publisherFolders[t]));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\tcollectPublisherPlugins(path.resolve($tw.boot.corePath,$tw.config.pluginsPath));\n\tcollectPublisherPlugins(path.resolve($tw.boot.corePath,$tw.config.themesPath));\n\tcollectPlugins(path.resolve($tw.boot.corePath,$tw.config.languagesPath));\n\t// Save the upgrade library tiddler\n\tvar pluginFields = {\n\t\ttitle: upgradeLibraryTitle,\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"library\",\n\t\t\"text\": JSON.stringify({tiddlers: tiddlers},null,$tw.config.preferences.jsonSpaces)\n\t};\n\twiki.addTiddler(new $tw.Tiddler(pluginFields));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/makelibrary.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/output.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/output.js\ntype: application/javascript\nmodule-type: command\n\nCommand to set the default output location (defaults to current working directory)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"output\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing output path\";\n\t}\n\tthis.commander.outputPath = path.resolve(process.cwd(),this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/output.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/password.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/password.js\ntype: application/javascript\nmodule-type: command\n\nSave password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"password\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing password\";\n\t}\n\t$tw.crypto.setPassword(this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/password.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/rendertiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/rendertiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render a tiddler and save it to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"rendertiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tvariables = {};\n\t$tw.utils.createFileDirectories(filename);\n\tif(template) {\n\t\tvariables.currentTiddler = title;\n\t\ttitle = template;\n\t}\n\tfs.writeFile(filename,this.commander.wiki.renderTiddler(type,title,{variables: variables}),\"utf8\",function(err) {\n\t\tself.callback(err);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/rendertiddler.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/rendertiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/rendertiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"rendertiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttemplate = this.params[1],\n\t\toutputPath = this.commander.outputPath,\n\t\tpathname = path.resolve(outputPath,this.params[2]),\t\t\n\t\ttype = this.params[3] || \"text/html\",\n\t\textension = this.params[4] || \".html\",\n\t\tdeleteDirectory = (this.params[5] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template),\n\t\t\twidgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\texportPath = null;\n\t\tif($tw.utils.hop($tw.macros,\"tv-get-export-path\")) {\n\t\t\tvar macroPath = $tw.macros[\"tv-get-export-path\"].run.apply(self,[title]);\n\t\t\tif(macroPath) {\n\t\t\t\texportPath = path.resolve(outputPath,macroPath + extension);\n\t\t\t}\n\t\t}\n\t\tvar finalPath = exportPath || path.resolve(pathname,encodeURIComponent(title) + extension);\n\t\t$tw.utils.createFileDirectories(finalPath);\n\t\tfs.writeFileSync(finalPath,text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/rendertiddlers.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savelibrarytiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/savelibrarytiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the subtiddlers of a bundle tiddler as a series of JSON files\n\n--savelibrarytiddlers <tiddler> <pathname> <skinnylisting>\n\nThe tiddler identifies the bundle tiddler that contains the subtiddlers.\n\nThe pathname specifies the pathname to the folder in which the JSON files should be saved. The filename is the URL encoded title of the subtiddler.\n\nThe skinnylisting specifies the title of the tiddler to which a JSON catalogue of the subtiddlers will be saved. The JSON file contains the same data as the bundle tiddler but with the `text` field removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savelibrarytiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tcontainerTitle = this.params[0],\n\t\tfilter = this.params[1],\n\t\tbasepath = this.params[2],\n\t\tskinnyListTitle = this.params[3];\n\t// Get the container tiddler as data\n\tvar containerData = self.commander.wiki.getTiddlerDataCached(containerTitle,undefined);\n\tif(!containerData) {\n\t\treturn \"'\" + containerTitle + \"' is not a tiddler bundle\";\n\t}\n\t// Filter the list of plugins\n\tvar pluginList = [];\n\t$tw.utils.each(containerData.tiddlers,function(tiddler,title) {\n\t\tpluginList.push(title);\n\t});\n\tvar filteredPluginList;\n\tif(filter) {\n\t\tfilteredPluginList = self.commander.wiki.filterTiddlers(filter,null,self.commander.wiki.makeTiddlerIterator(pluginList));\n\t} else {\n\t\tfilteredPluginList = pluginList;\n\t}\n\t// Iterate through the plugins\n\tvar skinnyList = [];\n\t$tw.utils.each(filteredPluginList,function(title) {\n\t\tvar tiddler = containerData.tiddlers[title];\n\t\t// Save each JSON file and collect the skinny data\n\t\tvar pathname = path.resolve(self.commander.outputPath,basepath + encodeURIComponent(title) + \".json\");\n\t\t$tw.utils.createFileDirectories(pathname);\n\t\tfs.writeFileSync(pathname,JSON.stringify(tiddler,null,$tw.config.preferences.jsonSpaces),\"utf8\");\n\t\t// Collect the skinny list data\n\t\tvar pluginTiddlers = JSON.parse(tiddler.text),\n\t\t\treadmeContent = (pluginTiddlers.tiddlers[title + \"/readme\"] || {}).text,\n\t\t\ticonTiddler = pluginTiddlers.tiddlers[title + \"/icon\"] || {},\n\t\t\ticonType = iconTiddler.type,\n\t\t\ticonText = iconTiddler.text,\n\t\t\ticonContent;\n\t\tif(iconType && iconText) {\n\t\t\ticonContent = $tw.utils.makeDataUri(iconText,iconType);\n\t\t}\n\t\tskinnyList.push($tw.utils.extend({},tiddler,{text: undefined, readme: readmeContent, icon: iconContent}));\n\t});\n\t// Save the catalogue tiddler\n\tif(skinnyListTitle) {\n\t\tself.commander.wiki.setTiddlerData(skinnyListTitle,skinnyList);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/savelibrarytiddlers.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savetiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/savetiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the content of a tiddler to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savetiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttiddler = this.commander.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar type = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"};\n\t\t$tw.utils.createFileDirectories(filename);\n\t\tfs.writeFile(filename,tiddler.fields.text,contentTypeInfo.encoding,function(err) {\n\t\t\tself.callback(err);\n\t\t});\n\t} else {\n\t\treturn \"Missing tiddler: \" + title;\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/savetiddler.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savetiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/savetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"savetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tpathname = path.resolve(this.commander.outputPath,this.params[1]),\n\t\tdeleteDirectory = (this.params[2] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.createDirectory(pathname);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilename = path.resolve(pathname,encodeURIComponent(title));\n\t\tfs.writeFileSync(filename,tiddler.fields.text,contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/savetiddlers.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/server.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/server.js\ntype: application/javascript\nmodule-type: command\n\nServe tiddlers over http\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.node) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\"),\n\t\thttp = require(\"http\");\n}\n\nexports.info = {\n\tname: \"server\",\n\tsynchronous: true\n};\n\n/*\nA simple HTTP server with regexp-based routes\n*/\nfunction SimpleServer(options) {\n\tthis.routes = options.routes || [];\n\tthis.wiki = options.wiki;\n\tthis.variables = options.variables || {};\n}\n\nSimpleServer.prototype.set = function(obj) {\n\tvar self = this;\n\t$tw.utils.each(obj,function(value,name) {\n\t\tself.variables[name] = value;\n\t});\n};\n\nSimpleServer.prototype.get = function(name) {\n\treturn this.variables[name];\n};\n\nSimpleServer.prototype.addRoute = function(route) {\n\tthis.routes.push(route);\n};\n\nSimpleServer.prototype.findMatchingRoute = function(request,state) {\n\tvar pathprefix = this.get(\"pathprefix\") || \"\";\n\tfor(var t=0; t<this.routes.length; t++) {\n\t\tvar potentialRoute = this.routes[t],\n\t\t\tpathRegExp = potentialRoute.path,\n\t\t\tpathname = state.urlInfo.pathname,\n\t\t\tmatch;\n\t\tif(pathprefix) {\n\t\t\tif(pathname.substr(0,pathprefix.length) === pathprefix) {\n\t\t\t\tpathname = pathname.substr(pathprefix.length);\n\t\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t\t} else {\n\t\t\t\tmatch = false;\n\t\t\t}\n\t\t} else {\n\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t}\n\t\tif(match && request.method === potentialRoute.method) {\n\t\t\tstate.params = [];\n\t\t\tfor(var p=1; p<match.length; p++) {\n\t\t\t\tstate.params.push(match[p]);\n\t\t\t}\n\t\t\treturn potentialRoute;\n\t\t}\n\t}\n\treturn null;\n};\n\nSimpleServer.prototype.checkCredentials = function(request,incomingUsername,incomingPassword) {\n\tvar header = request.headers.authorization || \"\",\n\t\ttoken = header.split(/\\s+/).pop() || \"\",\n\t\tauth = $tw.utils.base64Decode(token),\n\t\tparts = auth.split(/:/),\n\t\tusername = parts[0],\n\t\tpassword = parts[1];\n\tif(incomingUsername === username && incomingPassword === password) {\n\t\treturn \"ALLOWED\";\n\t} else {\n\t\treturn \"DENIED\";\n\t}\n};\n\nSimpleServer.prototype.listen = function(port,host) {\n\tvar self = this;\n\thttp.createServer(function(request,response) {\n\t\t// Compose the state object\n\t\tvar state = {};\n\t\tstate.wiki = self.wiki;\n\t\tstate.server = self;\n\t\tstate.urlInfo = url.parse(request.url);\n\t\t// Find the route that matches this path\n\t\tvar route = self.findMatchingRoute(request,state);\n\t\t// Check for the username and password if we've got one\n\t\tvar username = self.get(\"username\"),\n\t\t\tpassword = self.get(\"password\");\n\t\tif(username && password) {\n\t\t\t// Check they match\n\t\t\tif(self.checkCredentials(request,username,password) !== \"ALLOWED\") {\n\t\t\t\tvar servername = state.wiki.getTiddlerText(\"$:/SiteTitle\") || \"TiddlyWiki5\";\n\t\t\t\tresponse.writeHead(401,\"Authentication required\",{\n\t\t\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + servername + '\"'\n\t\t\t\t});\n\t\t\t\tresponse.end();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t// Return a 404 if we didn't find a route\n\t\tif(!route) {\n\t\t\tresponse.writeHead(404);\n\t\t\tresponse.end();\n\t\t\treturn;\n\t\t}\n\t\t// Set the encoding for the incoming request\n\t\t// TODO: Presumably this would need tweaking if we supported PUTting binary tiddlers\n\t\trequest.setEncoding(\"utf8\");\n\t\t// Dispatch the appropriate method\n\t\tswitch(request.method) {\n\t\t\tcase \"GET\": // Intentional fall-through\n\t\t\tcase \"DELETE\":\n\t\t\t\troute.handler(request,response,state);\n\t\t\t\tbreak;\n\t\t\tcase \"PUT\":\n\t\t\t\tvar data = \"\";\n\t\t\t\trequest.on(\"data\",function(chunk) {\n\t\t\t\t\tdata += chunk.toString();\n\t\t\t\t});\n\t\t\t\trequest.on(\"end\",function() {\n\t\t\t\t\tstate.data = data;\n\t\t\t\t\troute.handler(request,response,state);\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t}\n\t}).listen(port,host);\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n\t// Set up server\n\tthis.server = new SimpleServer({\n\t\twiki: this.commander.wiki\n\t});\n\t// Add route handlers\n\tthis.server.addRoute({\n\t\tmethod: \"PUT\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]),\n\t\t\t\tfields = JSON.parse(state.data);\n\t\t\t// Pull up any subfields in the `fields` object\n\t\t\tif(fields.fields) {\n\t\t\t\t$tw.utils.each(fields.fields,function(field,name) {\n\t\t\t\t\tfields[name] = field;\n\t\t\t\t});\n\t\t\t\tdelete fields.fields;\n\t\t\t}\n\t\t\t// Remove any revision field\n\t\t\tif(fields.revision) {\n\t\t\t\tdelete fields.revision;\n\t\t\t}\n\t\t\tstate.wiki.addTiddler(new $tw.Tiddler(state.wiki.getCreationFields(),fields,{title: title},state.wiki.getModificationFields()));\n\t\t\tvar changeCount = state.wiki.getChangeCount(title).toString();\n\t\t\tresponse.writeHead(204, \"OK\",{\n\t\t\t\tEtag: \"\\\"default/\" + encodeURIComponent(title) + \"/\" + changeCount + \":\\\"\",\n\t\t\t\t\"Content-Type\": \"text/plain\"\n\t\t\t});\n\t\t\tresponse.end();\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"DELETE\",\n\t\tpath: /^\\/bags\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]);\n\t\t\tstate.wiki.deleteTiddler(title);\n\t\t\tresponse.writeHead(204, \"OK\", {\n\t\t\t\t\"Content-Type\": \"text/plain\"\n\t\t\t});\n\t\t\tresponse.end();\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": state.server.get(\"serveType\")});\n\t\t\tvar text = state.wiki.renderTiddler(state.server.get(\"renderType\"),state.server.get(\"rootTiddler\"));\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/status$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\tvar text = JSON.stringify({\n\t\t\t\tusername: state.server.get(\"username\"),\n\t\t\t\tspace: {\n\t\t\t\t\trecipe: \"default\"\n\t\t\t\t},\n\t\t\t\ttiddlywiki_version: $tw.version\n\t\t\t});\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/favicon.ico$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"image/x-icon\"});\n\t\t\tvar buffer = state.wiki.getTiddlerText(\"$:/favicon.ico\",\"\");\n\t\t\tresponse.end(buffer,\"base64\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers.json$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\tvar tiddlers = [];\n\t\t\tstate.wiki.forEachTiddler({sortField: \"title\"},function(title,tiddler) {\n\t\t\t\tvar tiddlerFields = {};\n\t\t\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\t\t\tif(name !== \"text\") {\n\t\t\t\t\t\ttiddlerFields[name] = tiddler.getFieldString(name);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\ttiddlers.push(tiddlerFields);\n\t\t\t});\n\t\t\tvar text = JSON.stringify(tiddlers);\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]),\n\t\t\t\ttiddler = state.wiki.getTiddler(title),\n\t\t\t\ttiddlerFields = {},\n\t\t\t\tknownFields = [\n\t\t\t\t\t\"bag\", \"created\", \"creator\", \"modified\", \"modifier\", \"permissions\", \"recipe\", \"revision\", \"tags\", \"text\", \"title\", \"type\", \"uri\"\n\t\t\t\t];\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\t\t\tif(knownFields.indexOf(name) !== -1) {\n\t\t\t\t\t\ttiddlerFields[name] = value;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttiddlerFields.fields = tiddlerFields.fields || {};\n\t\t\t\t\t\ttiddlerFields.fields[name] = value;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\t\tresponse.end(JSON.stringify(tiddlerFields),\"utf8\");\n\t\t\t} else {\n\t\t\t\tresponse.writeHead(404);\n\t\t\t\tresponse.end();\n\t\t\t}\n\t\t}\n\t});\n};\n\nCommand.prototype.execute = function() {\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\tvar port = this.params[0] || \"8080\",\n\t\trootTiddler = this.params[1] || \"$:/core/save/all\",\n\t\trenderType = this.params[2] || \"text/plain\",\n\t\tserveType = this.params[3] || \"text/html\",\n\t\tusername = this.params[4],\n\t\tpassword = this.params[5],\n\t\thost = this.params[6] || \"127.0.0.1\",\n\t\tpathprefix = this.params[7];\n\tthis.server.set({\n\t\trootTiddler: rootTiddler,\n\t\trenderType: renderType,\n\t\tserveType: serveType,\n\t\tusername: username,\n\t\tpassword: password,\n\t\tpathprefix: pathprefix\n\t});\n\tthis.server.listen(port,host);\n\tconsole.log(\"Serving on \" + host + \":\" + port);\n\tconsole.log(\"(press ctrl-C to exit)\");\n\t// Warn if required plugins are missing\n\tif(!$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/tiddlyweb\") || !$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/filesystem\")) {\n\t\t$tw.utils.warning(\"Warning: Plugins required for client-server operation (\\\"tiddlywiki/filesystem\\\" and \\\"tiddlywiki/tiddlyweb\\\") are missing from tiddlywiki.info file\");\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/server.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/setfield.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/setfield.js\ntype: application/javascript\nmodule-type: command\n\nCommand to modify selected tiddlers to set a field to the text of a template tiddler that has been wikified with the selected tiddler as the current tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"setfield\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 4) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tfieldname = this.params[1] || \"text\",\n\t\ttemplatetitle = this.params[2],\n\t\trendertype = this.params[3] || \"text/plain\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(templatetitle),\n\t\t\tnewFields = {},\n\t\t\ttiddler = wiki.getTiddler(title);\n\t\tif(parser) {\n\t\t\tvar widgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}});\n\t\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tnewFields[fieldname] = rendertype === \"text/html\" ? container.innerHTML : container.textContent;\n\t\t} else {\n\t\t\tnewFields[fieldname] = undefined;\n\t\t}\n\t\twiki.addTiddler(new $tw.Tiddler(tiddler,newFields));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/setfield.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/unpackplugin.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/unpackplugin.js\ntype: application/javascript\nmodule-type: command\n\nCommand to extract the shadow tiddlers from within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"unpackplugin\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing plugin name\";\n\t}\n\tvar self = this,\n\t\ttitle = this.params[0],\n\t\tpluginData = this.commander.wiki.getTiddlerDataCached(title);\n\tif(!pluginData) {\n\t\treturn \"Plugin '\" + title + \"' not found\";\n\t}\n\t$tw.utils.each(pluginData.tiddlers,function(tiddler) {\n\t\tself.commander.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/unpackplugin.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/verbose.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/verbose.js\ntype: application/javascript\nmodule-type: command\n\nVerbose command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"verbose\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.verbose = true;\n\t// Output the boot message log\n\tthis.commander.streams.output.write(\"Boot log:\\n \" + $tw.boot.logMessages.join(\"\\n \") + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/verbose.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/version.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/version.js\ntype: application/javascript\nmodule-type: command\n\nVersion command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"version\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.streams.output.write($tw.version + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/version.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/config.js": {
"text": "/*\\\ntitle: $:/core/modules/config.js\ntype: application/javascript\nmodule-type: config\n\nCore configuration constants\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.preferences = {};\n\nexports.preferences.notificationDuration = 3 * 1000;\nexports.preferences.jsonSpaces = 4;\n\nexports.textPrimitives = {\n\tupperLetter: \"[A-Z\\u00c0-\\u00d6\\u00d8-\\u00de\\u0150\\u0170]\",\n\tlowerLetter: \"[a-z\\u00df-\\u00f6\\u00f8-\\u00ff\\u0151\\u0171]\",\n\tanyLetter: \"[A-Za-z0-9\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tblockPrefixLetters:\t\"[A-Za-z0-9-_\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\"\n};\n\nexports.textPrimitives.unWikiLink = \"~\";\nexports.textPrimitives.wikiLink = exports.textPrimitives.upperLetter + \"+\" +\n\texports.textPrimitives.lowerLetter + \"+\" +\n\texports.textPrimitives.upperLetter +\n\texports.textPrimitives.anyLetter + \"*\";\n\nexports.htmlEntities = {quot:34, amp:38, apos:39, lt:60, gt:62, nbsp:160, iexcl:161, cent:162, pound:163, curren:164, yen:165, brvbar:166, sect:167, uml:168, copy:169, ordf:170, laquo:171, not:172, shy:173, reg:174, macr:175, deg:176, plusmn:177, sup2:178, sup3:179, acute:180, micro:181, para:182, middot:183, cedil:184, sup1:185, ordm:186, raquo:187, frac14:188, frac12:189, frac34:190, iquest:191, Agrave:192, Aacute:193, Acirc:194, Atilde:195, Auml:196, Aring:197, AElig:198, Ccedil:199, Egrave:200, Eacute:201, Ecirc:202, Euml:203, Igrave:204, Iacute:205, Icirc:206, Iuml:207, ETH:208, Ntilde:209, Ograve:210, Oacute:211, Ocirc:212, Otilde:213, Ouml:214, times:215, Oslash:216, Ugrave:217, Uacute:218, Ucirc:219, Uuml:220, Yacute:221, THORN:222, szlig:223, agrave:224, aacute:225, acirc:226, atilde:227, auml:228, aring:229, aelig:230, ccedil:231, egrave:232, eacute:233, ecirc:234, euml:235, igrave:236, iacute:237, icirc:238, iuml:239, eth:240, ntilde:241, ograve:242, oacute:243, ocirc:244, otilde:245, ouml:246, divide:247, oslash:248, ugrave:249, uacute:250, ucirc:251, uuml:252, yacute:253, thorn:254, yuml:255, OElig:338, oelig:339, Scaron:352, scaron:353, Yuml:376, fnof:402, circ:710, tilde:732, Alpha:913, Beta:914, Gamma:915, Delta:916, Epsilon:917, Zeta:918, Eta:919, Theta:920, Iota:921, Kappa:922, Lambda:923, Mu:924, Nu:925, Xi:926, Omicron:927, Pi:928, Rho:929, Sigma:931, Tau:932, Upsilon:933, Phi:934, Chi:935, Psi:936, Omega:937, alpha:945, beta:946, gamma:947, delta:948, epsilon:949, zeta:950, eta:951, theta:952, iota:953, kappa:954, lambda:955, mu:956, nu:957, xi:958, omicron:959, pi:960, rho:961, sigmaf:962, sigma:963, tau:964, upsilon:965, phi:966, chi:967, psi:968, omega:969, thetasym:977, upsih:978, piv:982, ensp:8194, emsp:8195, thinsp:8201, zwnj:8204, zwj:8205, lrm:8206, rlm:8207, ndash:8211, mdash:8212, lsquo:8216, rsquo:8217, sbquo:8218, ldquo:8220, rdquo:8221, bdquo:8222, dagger:8224, Dagger:8225, bull:8226, hellip:8230, permil:8240, prime:8242, Prime:8243, lsaquo:8249, rsaquo:8250, oline:8254, frasl:8260, euro:8364, image:8465, weierp:8472, real:8476, trade:8482, alefsym:8501, larr:8592, uarr:8593, rarr:8594, darr:8595, harr:8596, crarr:8629, lArr:8656, uArr:8657, rArr:8658, dArr:8659, hArr:8660, forall:8704, part:8706, exist:8707, empty:8709, nabla:8711, isin:8712, notin:8713, ni:8715, prod:8719, sum:8721, minus:8722, lowast:8727, radic:8730, prop:8733, infin:8734, ang:8736, and:8743, or:8744, cap:8745, cup:8746, int:8747, there4:8756, sim:8764, cong:8773, asymp:8776, ne:8800, equiv:8801, le:8804, ge:8805, sub:8834, sup:8835, nsub:8836, sube:8838, supe:8839, oplus:8853, otimes:8855, perp:8869, sdot:8901, lceil:8968, rceil:8969, lfloor:8970, rfloor:8971, lang:9001, rang:9002, loz:9674, spades:9824, clubs:9827, hearts:9829, diams:9830 };\n\nexports.htmlVoidElements = \"area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr\".split(\",\");\n\nexports.htmlBlockElements = \"address,article,aside,audio,blockquote,canvas,dd,div,dl,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,li,noscript,ol,output,p,pre,section,table,tfoot,ul,video\".split(\",\");\n\nexports.htmlUnsafeElements = \"script\".split(\",\");\n\n})();\n",
"title": "$:/core/modules/config.js",
"type": "application/javascript",
"module-type": "config"
},
"$:/core/modules/deserializers.js": {
"text": "/*\\\ntitle: $:/core/modules/deserializers.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nFunctions to deserialise tiddlers from a block of text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nUtility function to parse an old-style tiddler DIV in a *.tid file. It looks like this:\n\n<div title=\"Title\" creator=\"JoeBloggs\" modifier=\"JoeBloggs\" created=\"201102111106\" modified=\"201102111310\" tags=\"myTag [[my long tag]]\">\n<pre>The text of the tiddler (without the expected HTML encoding).\n</pre>\n</div>\n\nNote that the field attributes are HTML encoded, but that the body of the <PRE> tag is not encoded.\n\nWhen these tiddler DIVs are encountered within a TiddlyWiki HTML file then the body is encoded in the usual way.\n*/\nvar parseTiddlerDiv = function(text /* [,fields] */) {\n\t// Slot together the default results\n\tvar result = {};\n\tif(arguments.length > 1) {\n\t\tfor(var f=1; f<arguments.length; f++) {\n\t\t\tvar fields = arguments[f];\n\t\t\tfor(var t in fields) {\n\t\t\t\tresult[t] = fields[t];\t\t\n\t\t\t}\n\t\t}\n\t}\n\t// Parse the DIV body\n\tvar startRegExp = /^\\s*<div\\s+([^>]*)>(\\s*<pre>)?/gi,\n\t\tendRegExp,\n\t\tmatch = startRegExp.exec(text);\n\tif(match) {\n\t\t// Old-style DIVs don't have the <pre> tag\n\t\tif(match[2]) {\n\t\t\tendRegExp = /<\\/pre>\\s*<\\/div>\\s*$/gi;\n\t\t} else {\n\t\t\tendRegExp = /<\\/div>\\s*$/gi;\n\t\t}\n\t\tvar endMatch = endRegExp.exec(text);\n\t\tif(endMatch) {\n\t\t\t// Extract the text\n\t\t\tresult.text = text.substring(match.index + match[0].length,endMatch.index);\n\t\t\t// Process the attributes\n\t\t\tvar attrRegExp = /\\s*([^=\\s]+)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/gi,\n\t\t\t\tattrMatch;\n\t\t\tdo {\n\t\t\t\tattrMatch = attrRegExp.exec(match[1]);\n\t\t\t\tif(attrMatch) {\n\t\t\t\t\tvar name = attrMatch[1];\n\t\t\t\t\tvar value = attrMatch[2] !== undefined ? attrMatch[2] : attrMatch[3];\n\t\t\t\t\tresult[name] = value;\n\t\t\t\t}\n\t\t\t} while(attrMatch);\n\t\t\treturn result;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports[\"application/x-tiddler-html-div\"] = function(text,fields) {\n\treturn [parseTiddlerDiv(text,fields)];\n};\n\nexports[\"application/json\"] = function(text,fields) {\n\tvar incoming = JSON.parse(text),\n\t\tresults = [];\n\tif($tw.utils.isArray(incoming)) {\n\t\tfor(var t=0; t<incoming.length; t++) {\n\t\t\tvar incomingFields = incoming[t],\n\t\t\t\tfields = {};\n\t\t\tfor(var f in incomingFields) {\n\t\t\t\tif(typeof incomingFields[f] === \"string\") {\n\t\t\t\t\tfields[f] = incomingFields[f];\n\t\t\t\t}\n\t\t\t}\n\t\t\tresults.push(fields);\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\nParse an HTML file into tiddlers. There are three possibilities:\n# A TiddlyWiki classic HTML file containing `text/x-tiddlywiki` tiddlers\n# A TiddlyWiki5 HTML file containing `text/vnd.tiddlywiki` tiddlers\n# An ordinary HTML file\n*/\nexports[\"text/html\"] = function(text,fields) {\n\t// Check if we've got a store area\n\tvar storeAreaMarkerRegExp = /<div id=[\"']?storeArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\tmatch = storeAreaMarkerRegExp.exec(text);\n\tif(match) {\n\t\t// If so, it's either a classic TiddlyWiki file or an unencrypted TW5 file\n\t\t// First read the normal tiddlers\n\t\tvar results = deserializeTiddlyWikiFile(text,storeAreaMarkerRegExp.lastIndex,!!match[1],fields);\n\t\t// Then any system tiddlers\n\t\tvar systemAreaMarkerRegExp = /<div id=[\"']?systemArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\t\tsysMatch = systemAreaMarkerRegExp.exec(text);\n\t\tif(sysMatch) {\n\t\t\tresults.push.apply(results,deserializeTiddlyWikiFile(text,systemAreaMarkerRegExp.lastIndex,!!sysMatch[1],fields));\n\t\t}\n\t\treturn results;\n\t} else {\n\t\t// Check whether we've got an encrypted file\n\t\tvar encryptedStoreArea = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedStoreArea) {\n\t\t\t// If so, attempt to decrypt it using the current password\n\t\t\treturn $tw.utils.decryptStoreArea(encryptedStoreArea);\n\t\t} else {\n\t\t\t// It's not a TiddlyWiki so we'll return the entire HTML file as a tiddler\n\t\t\treturn deserializeHtmlFile(text,fields);\n\t\t}\n\t}\n};\n\nfunction deserializeHtmlFile(text,fields) {\n\tvar result = {};\n\t$tw.utils.each(fields,function(value,name) {\n\t\tresult[name] = value;\n\t});\n\tresult.text = text;\n\tresult.type = \"text/html\";\n\treturn [result];\n}\n\nfunction deserializeTiddlyWikiFile(text,storeAreaEnd,isTiddlyWiki5,fields) {\n\tvar results = [],\n\t\tendOfDivRegExp = /(<\\/div>\\s*)/gi,\n\t\tstartPos = storeAreaEnd,\n\t\tdefaultType = isTiddlyWiki5 ? undefined : \"text/x-tiddlywiki\";\n\tendOfDivRegExp.lastIndex = startPos;\n\tvar match = endOfDivRegExp.exec(text);\n\twhile(match) {\n\t\tvar endPos = endOfDivRegExp.lastIndex,\n\t\t\ttiddlerFields = parseTiddlerDiv(text.substring(startPos,endPos),fields,{type: defaultType});\n\t\tif(!tiddlerFields) {\n\t\t\tbreak;\n\t\t}\n\t\t$tw.utils.each(tiddlerFields,function(value,name) {\n\t\t\tif(typeof value === \"string\") {\n\t\t\t\ttiddlerFields[name] = $tw.utils.htmlDecode(value);\n\t\t\t}\n\t\t});\n\t\tif(tiddlerFields.text !== null) {\n\t\t\tresults.push(tiddlerFields);\n\t\t}\n\t\tstartPos = endPos;\n\t\tmatch = endOfDivRegExp.exec(text);\n\t}\n\treturn results;\n}\n\n})();\n",
"title": "$:/core/modules/deserializers.js",
"type": "application/javascript",
"module-type": "tiddlerdeserializer"
},
"$:/core/modules/editor/engines/framed.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/engines/framed.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea within an iframe. This is done so that the selection is preserved even when clicking away from the textarea\n\n\\*/\n(function(){\n\n/*jslint node: true,browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction FramedEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Create our hidden dummy text area for reading styles\n\tthis.dummyTextArea = this.widget.document.createElement(\"textarea\");\n\tif(this.widget.editClass) {\n\t\tthis.dummyTextArea.className = this.widget.editClass;\n\t}\n\tthis.dummyTextArea.setAttribute(\"hidden\",\"true\");\n\tthis.parentNode.insertBefore(this.dummyTextArea,this.nextSibling);\n\tthis.widget.domNodes.push(this.dummyTextArea);\n\t// Create the iframe\n\tthis.iframeNode = this.widget.document.createElement(\"iframe\");\n\tthis.parentNode.insertBefore(this.iframeNode,this.nextSibling);\n\tthis.iframeDoc = this.iframeNode.contentWindow.document;\n\t// (Firefox requires us to put some empty content in the iframe)\n\tthis.iframeDoc.open();\n\tthis.iframeDoc.write(\"\");\n\tthis.iframeDoc.close();\n\t// Style the iframe\n\tthis.iframeNode.className = this.dummyTextArea.className;\n\tthis.iframeNode.style.border = \"none\";\n\tthis.iframeNode.style.padding = \"0\";\n\tthis.iframeNode.style.resize = \"none\";\n\tthis.iframeDoc.body.style.margin = \"0\";\n\tthis.iframeDoc.body.style.padding = \"0\";\n\tthis.widget.domNodes.push(this.iframeNode);\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.iframeDoc.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.iframeDoc.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\t// Copy the styles from the dummy textarea\n\tthis.copyStyles();\n\t// Add event listeners\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"input\",handlerObject: this,handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"keydown\",handlerObject: this.widget,handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.iframeDoc.body.appendChild(this.domNode);\n}\n\n/*\nCopy styles from the dummy text area to the textarea in the iframe\n*/\nFramedEngine.prototype.copyStyles = function() {\n\t// Copy all styles\n\t$tw.utils.copyStyles(this.dummyTextArea,this.domNode);\n\t// Override the ones that should not be set the same as the dummy textarea\n\tthis.domNode.style.display = \"block\";\n\tthis.domNode.style.width = \"100%\";\n\tthis.domNode.style.margin = \"0\";\n\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\n\tthis.domNode.style[\"-webkit-text-fill-color\"] = \"currentcolor\";\n};\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nFramedEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nFramedEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nFramedEngine.prototype.fixHeight = function() {\n\t// Make sure styles are updated\n\tthis.copyStyles();\n\t// Adjust height\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\tvar newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t\tthis.iframeNode.style.height = (newHeight + 14) + \"px\"; // +14 for the border on the textarea\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t\tthis.iframeNode.style.height = (fixedHeight + 14) + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nFramedEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nFramedEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nFramedEngine.prototype.createTextOperation = function() {\n\tvar operation = {\n\t\ttext: this.domNode.value,\n\t\tselStart: this.domNode.selectionStart,\n\t\tselEnd: this.domNode.selectionEnd,\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nFramedEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t\t// Attempt to use a execCommand to modify the value of the control\n\t\tif(this.iframeDoc.queryCommandSupported(\"insertText\") && this.iframeDoc.queryCommandSupported(\"delete\") && !$tw.browser.isFirefox) {\n\t\t\tthis.domNode.focus();\n\t\t\tthis.domNode.setSelectionRange(operation.cutStart,operation.cutEnd);\n\t\t\tif(operation.replacement === \"\") {\n\t\t\t\tthis.iframeDoc.execCommand(\"delete\",false,\"\");\n\t\t\t} else {\n\t\t\t\tthis.iframeDoc.execCommand(\"insertText\",false,operation.replacement);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.domNode.value = newText;\n\t\t}\n\t\tthis.domNode.focus();\n\t\tthis.domNode.setSelectionRange(operation.newSelStart,operation.newSelEnd);\n\t}\n\tthis.domNode.focus();\n\treturn newText;\n};\n\nexports.FramedEngine = FramedEngine;\n\n})();\n",
"title": "$:/core/modules/editor/engines/framed.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/editor/engines/simple.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/engines/simple.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction SimpleEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.widget.document.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.widget.document.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\t// Add an input event handler\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"focus\", handlerObject: this, handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nSimpleEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nSimpleEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nSimpleEngine.prototype.fixHeight = function() {\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\t$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nSimpleEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nSimpleEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"focus\" event\n*/\nSimpleEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNode,\n\t\t\ttitle: this.widget.editFocusPopup,\n\t\t\twiki: this.widget.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nSimpleEngine.prototype.createTextOperation = function() {\n\treturn null;\n};\n\n/*\nExecute a text operation\n*/\nSimpleEngine.prototype.executeTextOperation = function(operation) {\n};\n\nexports.SimpleEngine = SimpleEngine;\n\n})();\n",
"title": "$:/core/modules/editor/engines/simple.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/editor/factory.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/factory.js\ntype: application/javascript\nmodule-type: library\n\nFactory for constructing text editor widgets with specified engines for the toolbar and non-toolbar cases\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_MIN_TEXT_AREA_HEIGHT = \"100px\"; // Minimum height of textareas in pixels\n\n// Configuration tiddlers\nvar HEIGHT_MODE_TITLE = \"$:/config/TextEditor/EditorHeight/Mode\";\nvar ENABLE_TOOLBAR_TITLE = \"$:/config/TextEditor/EnableToolbar\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nfunction editTextWidgetFactory(toolbarEngine,nonToolbarEngine) {\n\n\tvar EditTextWidget = function(parseTreeNode,options) {\n\t\t// Initialise the editor operations if they've not been done already\n\t\tif(!this.editorOperations) {\n\t\t\tEditTextWidget.prototype.editorOperations = {};\n\t\t\t$tw.modules.applyMethods(\"texteditoroperation\",this.editorOperations);\n\t\t}\n\t\tthis.initialise(parseTreeNode,options);\n\t};\n\n\t/*\n\tInherit from the base widget class\n\t*/\n\tEditTextWidget.prototype = new Widget();\n\n\t/*\n\tRender this widget into the DOM\n\t*/\n\tEditTextWidget.prototype.render = function(parent,nextSibling) {\n\t\t// Save the parent dom node\n\t\tthis.parentDomNode = parent;\n\t\t// Compute our attributes\n\t\tthis.computeAttributes();\n\t\t// Execute our logic\n\t\tthis.execute();\n\t\t// Create the wrapper for the toolbar and render its content\n\t\tif(this.editShowToolbar) {\n\t\t\tthis.toolbarNode = this.document.createElement(\"div\");\n\t\t\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\t\t\tparent.insertBefore(this.toolbarNode,nextSibling);\n\t\t\tthis.renderChildren(this.toolbarNode,null);\n\t\t\tthis.domNodes.push(this.toolbarNode);\n\t\t}\n\t\t// Create our element\n\t\tvar editInfo = this.getEditInfo(),\n\t\t\tEngine = this.editShowToolbar ? toolbarEngine : nonToolbarEngine;\n\t\tthis.engine = new Engine({\n\t\t\t\twidget: this,\n\t\t\t\tvalue: editInfo.value,\n\t\t\t\ttype: editInfo.type,\n\t\t\t\tparentNode: parent,\n\t\t\t\tnextSibling: nextSibling\n\t\t\t});\n\t\t// Call the postRender hook\n\t\tif(this.postRender) {\n\t\t\tthis.postRender();\n\t\t}\n\t\t// Fix height\n\t\tthis.engine.fixHeight();\n\t\t// Focus if required\n\t\tif(this.editFocus === \"true\" || this.editFocus === \"yes\") {\n\t\t\tthis.engine.focus();\n\t\t}\n\t\t// Add widget message listeners\n\t\tthis.addEventListeners([\n\t\t\t{type: \"tm-edit-text-operation\", handler: \"handleEditTextOperationMessage\"}\n\t\t]);\n\t};\n\n\t/*\n\tGet the tiddler being edited and current value\n\t*/\n\tEditTextWidget.prototype.getEditInfo = function() {\n\t\t// Get the edit value\n\t\tvar self = this,\n\t\t\tvalue,\n\t\t\ttype = \"text/plain\",\n\t\t\tupdate;\n\t\tif(this.editIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault);\n\t\t\tupdate = function(value) {\n\t\t\t\tvar data = self.wiki.getTiddlerData(self.editTitle,{});\n\t\t\t\tif(data[self.editIndex] !== value) {\n\t\t\t\t\tdata[self.editIndex] = value;\n\t\t\t\t\tself.wiki.setTiddlerData(self.editTitle,data);\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\t// Get the current tiddler and the field name\n\t\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\t\tif(tiddler) {\n\t\t\t\t// If we've got a tiddler, the value to display is the field string value\n\t\t\t\tvalue = tiddler.getFieldString(this.editField);\n\t\t\t\tif(this.editField === \"text\") {\n\t\t\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise, we need to construct a default value for the editor\n\t\t\t\tswitch(this.editField) {\n\t\t\t\t\tcase \"text\":\n\t\t\t\t\t\tvalue = \"Type the text for the tiddler '\" + this.editTitle + \"'\";\n\t\t\t\t\t\ttype = \"text/vnd.tiddlywiki\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"title\":\n\t\t\t\t\t\tvalue = this.editTitle;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvalue = \"\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(this.editDefault !== undefined) {\n\t\t\t\t\tvalue = this.editDefault;\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdate = function(value) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(self.editTitle),\n\t\t\t\t\tupdateFields = {\n\t\t\t\t\t\ttitle: self.editTitle\n\t\t\t\t\t};\n\t\t\t\tupdateFields[self.editField] = value;\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getCreationFields(),tiddler,updateFields,self.wiki.getModificationFields()));\n\t\t\t};\n\t\t}\n\t\tif(this.editType) {\n\t\t\ttype = this.editType;\n\t\t}\n\t\treturn {value: value || \"\", type: type, update: update};\n\t};\n\n\t/*\n\tHandle an edit text operation message from the toolbar\n\t*/\n\tEditTextWidget.prototype.handleEditTextOperationMessage = function(event) {\n\t\t// Prepare information about the operation\n\t\tvar operation = this.engine.createTextOperation();\n\t\t// Invoke the handler for the selected operation\n\t\tvar handler = this.editorOperations[event.param];\n\t\tif(handler) {\n\t\t\thandler.call(this,event,operation);\n\t\t}\n\t\t// Execute the operation via the engine\n\t\tvar newText = this.engine.executeTextOperation(operation);\n\t\t// Fix the tiddler height and save changes\n\t\tthis.engine.fixHeight();\n\t\tthis.saveChanges(newText);\n\t};\n\n\t/*\n\tCompute the internal state of the widget\n\t*/\n\tEditTextWidget.prototype.execute = function() {\n\t\t// Get our parameters\n\t\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t\tthis.editField = this.getAttribute(\"field\",\"text\");\n\t\tthis.editIndex = this.getAttribute(\"index\");\n\t\tthis.editDefault = this.getAttribute(\"default\");\n\t\tthis.editClass = this.getAttribute(\"class\");\n\t\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t\tthis.editSize = this.getAttribute(\"size\");\n\t\tthis.editRows = this.getAttribute(\"rows\");\n\t\tthis.editAutoHeight = this.wiki.getTiddlerText(HEIGHT_MODE_TITLE,\"auto\");\n\t\tthis.editAutoHeight = this.getAttribute(\"autoHeight\",this.editAutoHeight === \"auto\" ? \"yes\" : \"no\") === \"yes\";\n\t\tthis.editMinHeight = this.getAttribute(\"minHeight\",DEFAULT_MIN_TEXT_AREA_HEIGHT);\n\t\tthis.editFocusPopup = this.getAttribute(\"focusPopup\");\n\t\tthis.editFocus = this.getAttribute(\"focus\");\n\t\t// Get the default editor element tag and type\n\t\tvar tag,type;\n\t\tif(this.editField === \"text\") {\n\t\t\ttag = \"textarea\";\n\t\t} else {\n\t\t\ttag = \"input\";\n\t\t\tvar fieldModule = $tw.Tiddler.fieldModules[this.editField];\n\t\t\tif(fieldModule && fieldModule.editTag) {\n\t\t\t\ttag = fieldModule.editTag;\n\t\t\t}\n\t\t\tif(fieldModule && fieldModule.editType) {\n\t\t\t\ttype = fieldModule.editType;\n\t\t\t}\n\t\t\ttype = type || \"text\";\n\t\t}\n\t\t// Get the rest of our parameters\n\t\tthis.editTag = this.getAttribute(\"tag\",tag);\n\t\tthis.editType = this.getAttribute(\"type\",type);\n\t\t// Make the child widgets\n\t\tthis.makeChildWidgets();\n\t\t// Determine whether to show the toolbar\n\t\tthis.editShowToolbar = this.wiki.getTiddlerText(ENABLE_TOOLBAR_TITLE,\"yes\");\n\t\tthis.editShowToolbar = (this.editShowToolbar === \"yes\") && !!(this.children && this.children.length > 0);\n\t};\n\n\t/*\n\tSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n\t*/\n\tEditTextWidget.prototype.refresh = function(changedTiddlers) {\n\t\tvar changedAttributes = this.computeAttributes();\n\t\t// Completely rerender if any of our attributes have changed\n\t\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup || changedAttributes.rows || changedTiddlers[HEIGHT_MODE_TITLE] || changedTiddlers[ENABLE_TOOLBAR_TITLE]) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t\t} else if(changedTiddlers[this.editTitle]) {\n\t\t\tvar editInfo = this.getEditInfo();\n\t\t\tthis.updateEditor(editInfo.value,editInfo.type);\n\t\t}\n\t\tthis.engine.fixHeight();\n\t\tif(this.editShowToolbar) {\n\t\t\treturn this.refreshChildren(changedTiddlers);\t\t\t\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/*\n\tUpdate the editor with new text. This method is separate from updateEditorDomNode()\n\tso that subclasses can override updateEditor() and still use updateEditorDomNode()\n\t*/\n\tEditTextWidget.prototype.updateEditor = function(text,type) {\n\t\tthis.updateEditorDomNode(text,type);\n\t};\n\n\t/*\n\tUpdate the editor dom node with new text\n\t*/\n\tEditTextWidget.prototype.updateEditorDomNode = function(text,type) {\n\t\tthis.engine.setText(text,type);\n\t};\n\n\t/*\n\tSave changes back to the tiddler store\n\t*/\n\tEditTextWidget.prototype.saveChanges = function(text) {\n\t\tvar editInfo = this.getEditInfo();\n\t\tif(text !== editInfo.value) {\n\t\t\teditInfo.update(text);\n\t\t}\n\t};\n\n\t/*\n\tHandle a dom \"keydown\" event, which we'll bubble up to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.handleKeydownEvent = function(event) {\n\t\t// Check for a keyboard shortcut\n\t\tif(this.toolbarNode) {\n\t\t\tvar shortcutElements = this.toolbarNode.querySelectorAll(\"[data-tw-keyboard-shortcut]\");\n\t\t\tfor(var index=0; index<shortcutElements.length; index++) {\n\t\t\t\tvar el = shortcutElements[index],\n\t\t\t\t\tshortcutData = el.getAttribute(\"data-tw-keyboard-shortcut\"),\n\t\t\t\t\tkeyInfoArray = $tw.keyboardManager.parseKeyDescriptors(shortcutData,{\n\t\t\t\t\t\twiki: this.wiki\n\t\t\t\t\t});\n\t\t\t\tif($tw.keyboardManager.checkKeyDescriptors(event,keyInfoArray)) {\n\t\t\t\t\tvar clickEvent = this.document.createEvent(\"Events\");\n\t\t\t\t clickEvent.initEvent(\"click\",true,false);\n\t\t\t\t el.dispatchEvent(clickEvent);\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn true;\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Propogate the event to the container\n\t\tif(this.propogateKeydownEvent(event)) {\n\t\t\t// Ignore the keydown if it was already handled\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise, process the keydown normally\n\t\treturn false;\n\t};\n\n\t/*\n\tPropogate keydown events to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.propogateKeydownEvent = function(event) {\n\t\tvar newEvent = this.document.createEventObject ? this.document.createEventObject() : this.document.createEvent(\"Events\");\n\t\tif(newEvent.initEvent) {\n\t\t\tnewEvent.initEvent(\"keydown\", true, true);\n\t\t}\n\t\tnewEvent.keyCode = event.keyCode;\n\t\tnewEvent.which = event.which;\n\t\tnewEvent.metaKey = event.metaKey;\n\t\tnewEvent.ctrlKey = event.ctrlKey;\n\t\tnewEvent.altKey = event.altKey;\n\t\tnewEvent.shiftKey = event.shiftKey;\n\t\treturn !this.parentDomNode.dispatchEvent(newEvent);\n\t};\n\n\treturn EditTextWidget;\n\n}\n\nexports.editTextWidgetFactory = editTextWidgetFactory;\n\n})();\n",
"title": "$:/core/modules/editor/factory.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/editor/operations/bitmap/clear.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/clear.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to clear the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"clear\"] = function(event) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.globalAlpha = 1;\n\tctx.fillStyle = event.paramObject.colour || \"white\";\n\tctx.fillRect(0,0,this.canvasDomNode.width,this.canvasDomNode.height);\n\t// Save changes\n\tthis.strokeEnd();\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/bitmap/clear.js",
"type": "application/javascript",
"module-type": "bitmapeditoroperation"
},
"$:/core/modules/editor/operations/bitmap/resize.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/resize.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to resize the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"resize\"] = function(event) {\n\t// Get the new width\n\tvar newWidth = parseInt(event.paramObject.width || this.canvasDomNode.width,10),\n\t\tnewHeight = parseInt(event.paramObject.height || this.canvasDomNode.height,10);\n\t// Update if necessary\n\tif(newWidth > 0 && newHeight > 0 && !(newWidth === this.currCanvas.width && newHeight === this.currCanvas.height)) {\n\t\tthis.changeCanvasSize(newWidth,newHeight);\n\t}\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/bitmap/resize.js",
"type": "application/javascript",
"module-type": "bitmapeditoroperation"
},
"$:/core/modules/editor/operations/text/excise.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/excise.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to excise the selection to a new tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"excise\"] = function(event,operation) {\n\tvar editTiddler = this.wiki.getTiddler(this.editTitle),\n\t\teditTiddlerTitle = this.editTitle;\n\tif(editTiddler && editTiddler.fields[\"draft.of\"]) {\n\t\teditTiddlerTitle = editTiddler.fields[\"draft.of\"];\n\t}\n\tvar excisionTitle = event.paramObject.title || this.wiki.generateNewTitle(\"New Excision\");\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\tthis.wiki.getModificationFields(),\n\t\t{\n\t\t\ttitle: excisionTitle,\n\t\t\ttext: operation.selection,\n\t\t\ttags: event.paramObject.tagnew === \"yes\" ? [editTiddlerTitle] : []\n\t\t}\n\t));\n\toperation.replacement = excisionTitle;\n\tswitch(event.paramObject.type || \"transclude\") {\n\t\tcase \"transclude\":\n\t\t\toperation.replacement = \"{{\" + operation.replacement+ \"}}\";\n\t\t\tbreak;\n\t\tcase \"link\":\n\t\t\toperation.replacement = \"[[\" + operation.replacement+ \"]]\";\n\t\t\tbreak;\n\t\tcase \"macro\":\n\t\t\toperation.replacement = \"<<\" + (event.paramObject.macro || \"translink\") + \" \\\"\\\"\\\"\" + operation.replacement + \"\\\"\\\"\\\">>\";\n\t\t\tbreak;\n\t}\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/excise.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/make-link.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/make-link.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to make a link\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"make-link\"] = function(event,operation) {\n\tif(operation.selection) {\n\t\toperation.replacement = \"[[\" + operation.selection + \"|\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t} else {\n\t\toperation.replacement = \"[[\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t}\n\toperation.newSelStart = operation.selStart + operation.replacement.length;\n\toperation.newSelEnd = operation.newSelStart;\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/make-link.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/prefix-lines.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/prefix-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to add a prefix to the selected lines\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"prefix-lines\"] = function(event,operation) {\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Compose the required prefix\n\tvar prefix = $tw.utils.repeat(event.paramObject.character,event.paramObject.count);\n\t// Process each line\n\tvar lines = operation.text.substring(operation.cutStart,operation.cutEnd).split(/\\r?\\n/mg);\n\t$tw.utils.each(lines,function(line,index) {\n\t\t// Remove and count any existing prefix characters\n\t\tvar count = 0;\n\t\twhile(line.charAt(0) === event.paramObject.character) {\n\t\t\tline = line.substring(1);\n\t\t\tcount++;\n\t\t}\n\t\t// Remove any whitespace\n\t\twhile(line.charAt(0) === \" \") {\n\t\t\tline = line.substring(1);\n\t\t}\n\t\t// We're done if we removed the exact required prefix, otherwise add it\n\t\tif(count !== event.paramObject.count) {\n\t\t\t// Apply the prefix\n\t\t\tline = prefix + \" \" + line;\n\t\t}\n\t\t// Save the modified line\n\t\tlines[index] = line;\n\t});\n\t// Stitch the replacement text together and set the selection\n\toperation.replacement = lines.join(\"\\n\");\n\tif(lines.length === 1) {\n\t\toperation.newSelStart = operation.cutStart + operation.replacement.length;\n\t\toperation.newSelEnd = operation.newSelStart;\n\t} else {\n\t\toperation.newSelStart = operation.cutStart;\n\t\toperation.newSelEnd = operation.newSelStart + operation.replacement.length;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/prefix-lines.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/replace-all.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-all.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the entire text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-all\"] = function(event,operation) {\n\toperation.cutStart = 0;\n\toperation.cutEnd = operation.text.length;\n\toperation.replacement = event.paramObject.text;\n\toperation.newSelStart = 0;\n\toperation.newSelEnd = operation.replacement.length;\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/replace-all.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/replace-selection.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-selection\"] = function(event,operation) {\n\toperation.replacement = event.paramObject.text;\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/replace-selection.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/wrap-lines.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selected lines with a prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-lines\"] = function(event,operation) {\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Add the prefix and suffix\n\toperation.replacement = event.paramObject.prefix + \"\\n\" +\n\t\t\t\toperation.text.substring(operation.cutStart,operation.cutEnd) + \"\\n\" +\n\t\t\t\tevent.paramObject.suffix + \"\\n\";\n\toperation.newSelStart = operation.cutStart + event.paramObject.prefix.length + 1;\n\toperation.newSelEnd = operation.newSelStart + (operation.cutEnd - operation.cutStart);\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/wrap-lines.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/wrap-selection.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selection with the specified prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-selection\"] = function(event,operation) {\n\tif(operation.selStart === operation.selEnd) {\n\t\t// No selection; check if we're within the prefix/suffix\n\t\tif(operation.text.substring(operation.selStart - event.paramObject.prefix.length,operation.selStart + event.paramObject.suffix.length) === event.paramObject.prefix + event.paramObject.suffix) {\n\t\t\t// Remove the prefix and suffix unless they comprise the entire text\n\t\t\tif(operation.selStart > event.paramObject.prefix.length || (operation.selEnd + event.paramObject.suffix.length) < operation.text.length ) {\n\t\t\t\toperation.cutStart = operation.selStart - event.paramObject.prefix.length;\n\t\t\t\toperation.cutEnd = operation.selEnd + event.paramObject.suffix.length;\n\t\t\t\toperation.replacement = \"\";\n\t\t\t\toperation.newSelStart = operation.cutStart;\n\t\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t\t}\n\t\t} else {\n\t\t\t// Wrap the cursor instead\n\t\t\toperation.cutStart = operation.selStart;\n\t\t\toperation.cutEnd = operation.selEnd;\n\t\t\toperation.replacement = event.paramObject.prefix + event.paramObject.suffix;\n\t\t\toperation.newSelStart = operation.selStart + event.paramObject.prefix.length;\n\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t}\n\t} else if(operation.text.substring(operation.selStart,operation.selStart + event.paramObject.prefix.length) === event.paramObject.prefix && operation.text.substring(operation.selEnd - event.paramObject.suffix.length,operation.selEnd) === event.paramObject.suffix) {\n\t\t// Prefix and suffix are already present, so remove them\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = operation.selection.substring(event.paramObject.prefix.length,operation.selection.length - event.paramObject.suffix.length);\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t} else {\n\t\t// Add the prefix and suffix\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = event.paramObject.prefix + operation.selection + event.paramObject.suffix;\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/editor/operations/text/wrap-selection.js",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/filters/addprefix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/addprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a prefix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand + title);\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/addprefix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/addsuffix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/addsuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a suffix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addsuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title + operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/addsuffix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/after.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/after.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is after the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.after = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index === -1 || index > (results.length - 2)) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index + 1]];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/after.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/all/current.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/current.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar currTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(currTiddlerTitle) {\n\t\treturn [currTiddlerTitle];\n\t} else {\n\t\treturn [];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/current.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/missing.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/missing.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\treturn options.wiki.getMissingTitles();\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/missing.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/orphans.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/orphans.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[orphans]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphans = function(source,prefix,options) {\n\treturn options.wiki.getOrphanTitles();\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/orphans.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/shadows.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/shadows.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[shadows]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadows = function(source,prefix,options) {\n\treturn options.wiki.allShadowTitles();\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/shadows.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/tiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/tiddlers.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddlers = function(source,prefix,options) {\n\treturn options.wiki.allTitles();\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/tiddlers.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for selecting tiddlers\n\n[all[shadows+tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar allFilterOperators;\n\nfunction getAllFilterOperators() {\n\tif(!allFilterOperators) {\n\t\tallFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"allfilteroperator\",allFilterOperators);\n\t}\n\treturn allFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.all = function(source,operator,options) {\n\t// Get our suboperators\n\tvar allFilterOperators = getAllFilterOperators();\n\t// Cycle through the suboperators accumulating their results\n\tvar results = [],\n\t\tsubops = operator.operand.split(\"+\");\n\t// Check for common optimisations\n\tif(subops.length === 1 && subops[0] === \"\") {\n\t\treturn source;\n\t} else if(subops.length === 1 && subops[0] === \"tiddlers\") {\n\t\treturn options.wiki.each;\n\t} else if(subops.length === 1 && subops[0] === \"shadows\") {\n\t\treturn options.wiki.eachShadow;\n\t} else if(subops.length === 2 && subops[0] === \"tiddlers\" && subops[1] === \"shadows\") {\n\t\treturn options.wiki.eachTiddlerPlusShadows;\n\t} else if(subops.length === 2 && subops[0] === \"shadows\" && subops[1] === \"tiddlers\") {\n\t\treturn options.wiki.eachShadowPlusTiddlers;\n\t}\n\t// Do it the hard way\n\tfor(var t=0; t<subops.length; t++) {\n\t\tvar subop = allFilterOperators[subops[t]];\n\t\tif(subop) {\n\t\t\t$tw.utils.pushTop(results,subop(source,operator.prefix,options));\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/all.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/backlinks.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/backlinks.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the backlinks from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.backlinks = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerBacklinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/backlinks.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/before.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/before.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is before the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.before = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index <= 0) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index - 1]];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/before.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/commands.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/commands.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the commands available in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.commands = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.commands,function(commandInfo,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/commands.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/days.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/days.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a specified date field within a specified date interval.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.days = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\tdayInterval = (parseInt(operator.operand,10)||0),\n\t\tdayIntervalSign = $tw.utils.sign(dayInterval),\n\t\ttargetTimeStamp = (new Date()).setHours(0,0,0,0) + 1000*60*60*24*dayInterval,\n\t\tisWithinDays = function(dateField) {\n\t\t\tvar sign = $tw.utils.sign(targetTimeStamp - (new Date(dateField)).setHours(0,0,0,0));\n\t\t\treturn sign === 0 || sign === dayIntervalSign;\n\t\t};\n\n\tif(operator.prefix === \"!\") {\n\t\ttargetTimeStamp = targetTimeStamp - 1000*60*60*24*dayIntervalSign;\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(!isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/days.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/each.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/each.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique value of the specified field.\nWith suffix \"list\", selects all tiddlers that are values in a specified list field.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.each = function(source,operator,options) {\n\tvar results =[] ,\n\t\tvalue,values = {},\n\t\tfield = operator.operand || \"title\";\n\tif(operator.suffix !== \"list-item\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvalue = (field === \"title\") ? title : tiddler.getFieldString(field);\n\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(\n\t\t\t\t\toptions.wiki.getTiddlerList(title,field),\n\t\t\t\t\tfunction(value) {\n\t\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\t\tresults.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/each.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/eachday.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/eachday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique day covered by the specified date field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.eachday = function(source,operator,options) {\n\tvar results = [],\n\t\tvalues = [],\n\t\tfieldName = operator.operand || \"modified\";\n\t// Function to convert a date/time to a date integer\n\tvar toDate = function(value) {\n\t\tvalue = (new Date(value)).setHours(0,0,0,0);\n\t\treturn value+0;\n\t};\n\tsource(function(tiddler,title) {\n\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\tvar value = toDate($tw.utils.parseDate(tiddler.fields[fieldName]));\n\t\t\tif(values.indexOf(value) === -1) {\n\t\t\t\tvalues.push(value);\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/eachday.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/editiondescription.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/editiondescription.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the descriptions of the specified edition names\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editiondescription = function(source,operator,options) {\n\tvar results = [],\n\t\teditionInfo = $tw.utils.getEditionInfo();\n\tif(editionInfo) {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(editionInfo,title)) {\n\t\t\t\tresults.push(editionInfo[title].description || \"\");\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/editiondescription.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/editions.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/editions.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the available editions in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editions = function(source,operator,options) {\n\tvar results = [],\n\t\teditionInfo = $tw.utils.getEditionInfo();\n\tif(editionInfo) {\n\t\t$tw.utils.each(editionInfo,function(info,name) {\n\t\t\tresults.push(name);\n\t\t});\n\t}\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/editions.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/field.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/field.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.field = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || operator.operator || \"title\").toLowerCase();\n\tif(operator.prefix === \"!\") {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text !== operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !!operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text === operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/field.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/fields.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/fields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.fields = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tfor(var fieldName in tiddler.fields) {\n\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/fields.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/get.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/get.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing tiddler titles by the value of the field specified in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.get = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tvar value = tiddler.getFieldString(operator.operand);\n\t\t\tif(value) {\n\t\t\t\tresults.push(value);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/get.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/getindex.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/getindex.js\ntype: application/javascript\nmodule-type: filteroperator\n\nreturns the value at a given index of datatiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getindex = function(source,operator,options) {\n\tvar data,title,results = [];\n\tif(operator.operand){\n\t\tsource(function(tiddler,title) {\n\t\t\ttitle = tiddler ? tiddler.fields.title : title;\n\t\t\tdata = options.wiki.extractTiddlerDataItem(tiddler,operator.operand);\n\t\t\tif(data) {\n\t\t\t\tresults.push(data);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/getindex.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/has.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/has.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a tiddler has the specified field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.has = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop(tiddler.fields,operator.operand) || tiddler.fields[operator.operand] === \"\"))) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand) && !(tiddler.fields[operator.operand] === \"\" || tiddler.fields[operator.operand].length === 0)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/has.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/haschanged.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/haschanged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returns tiddlers from the list that have a non-zero changecount.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.haschanged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) === 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) > 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/haschanged.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/indexes.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/indexes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the indexes of a data tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.indexes = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = options.wiki.getTiddlerDataCached(title);\n\t\tif(data) {\n\t\t\t$tw.utils.pushTop(results,Object.keys(data));\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/indexes.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/is/current.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/current.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar results = [],\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title !== currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title === currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/current.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/image.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/image.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[image]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.image = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/image.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/missing.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/missing.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/missing.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/orphan.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/orphan.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[orphan]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphan = function(source,prefix,options) {\n\tvar results = [],\n\t\torphanTitles = options.wiki.getOrphanTitles();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) !== -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/orphan.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/shadow.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/shadow.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[shadow]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadow = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/shadow.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/system.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/system.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[system]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.system = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/system.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/tag.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/tag.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tag]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,prefix,options) {\n\tvar results = [],\n\t\ttagMap = options.wiki.getTagMap();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/tag.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/tiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/tiddler.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tiddler]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddler = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/tiddler.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking tiddler properties\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar isFilterOperators;\n\nfunction getIsFilterOperators() {\n\tif(!isFilterOperators) {\n\t\tisFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"isfilteroperator\",isFilterOperators);\n\t}\n\treturn isFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.is = function(source,operator,options) {\n\t// Dispatch to the correct isfilteroperator\n\tvar isFilterOperators = getIsFilterOperators();\n\tvar isFilterOperator = isFilterOperators[operator.operand];\n\tif(isFilterOperator) {\n\t\treturn isFilterOperator(source,operator.prefix,options);\n\t} else {\n\t\treturn [$tw.language.getString(\"Error/IsFilterOperator\")];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/is.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/limit.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/limit.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for chopping the results to a specified maximum number of entries\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.limit = function(source,operator,options) {\n\tvar results = [];\n\t// Convert to an array\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\t// Slice the array if necessary\n\tvar limit = Math.min(results.length,parseInt(operator.operand,10));\n\tif(operator.prefix === \"!\") {\n\t\tresults = results.slice(-limit);\n\t} else {\n\t\tresults = results.slice(0,limit);\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/limit.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/links.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/links.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the links from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.links = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerLinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/links.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/list.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/list.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddlers whose title is listed in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.list = function(source,operator,options) {\n\tvar results = [],\n\t\ttr = $tw.utils.parseTextReference(operator.operand),\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\"),\n\t\tlist = options.wiki.getTiddlerList(tr.title || currTiddlerTitle,tr.field,tr.index);\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults = list;\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/list.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/listed.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/listed.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that have the selected tiddlers in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.listed = function(source,operator,options) {\n\tvar field = operator.operand || \"list\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.findListingsOfTiddler(title,field));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/listed.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/listops.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for manipulating the current selection list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nReverse list\n*/\nexports.reverse = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.unshift(title);\n\t});\n\treturn results;\n};\n\n/*\nFirst entry/entries in list\n*/\nexports.first = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,count);\n};\n\n/*\nLast entry/entries in list\n*/\nexports.last = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(-count);\n};\n\n/*\nAll but the first entry/entries of the list\n*/\nexports.rest = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count);\n};\nexports.butfirst = exports.rest;\nexports.bf = exports.rest;\n\n/*\nAll but the last entry/entries of the list\n*/\nexports.butlast = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,-count);\n};\nexports.bl = exports.butlast;\n\n/*\nThe nth member of the list\n*/\nexports.nth = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count - 1,count);\n};\n\n})();\n",
"title": "$:/core/modules/filters/listops.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/modules.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/modules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the modules of a given type in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.modules = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.each($tw.modules.types[title],function(moduleInfo,moduleName) {\n\t\t\tresults.push(moduleName);\n\t\t});\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/modules.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/moduletypes.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/moduletypes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the module types in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.moduletypes = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.modules.types,function(moduleInfo,type) {\n\t\tresults.push(type);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/moduletypes.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/next.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/next.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs next in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.next = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch++;\n\t\tif(match > 0 && match < list.length) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/next.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/plugintiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/plugintiddlers.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the shadow tiddlers within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.plugintiddlers = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar pluginInfo = options.wiki.getPluginInfo(title) || options.wiki.getTiddlerDataCached(title,{tiddlers:[]});\n\t\tif(pluginInfo && pluginInfo.tiddlers) {\n\t\t\t$tw.utils.each(pluginInfo.tiddlers,function(fields,title) {\n\t\t\t\tresults.push(title);\n\t\t\t});\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/plugintiddlers.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/prefix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/prefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title starts with a prefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.prefix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/prefix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/previous.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/previous.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs immediately prior in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.previous = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch--;\n\t\tif(match >= 0) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/previous.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/regexp.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/regexp.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for regexp matching\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.regexp = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || \"title\").toLowerCase(),\n\t\tregexpString, regexp, flags = \"\", match,\n\t\tgetFieldString = function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\treturn tiddler.getFieldString(fieldname);\n\t\t\t} else if(fieldname === \"title\") {\n\t\t\t\treturn title;\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\t// Process flags and construct regexp\n\tregexpString = operator.operand;\n\tmatch = /^\\(\\?([gim]+)\\)/.exec(regexpString);\n\tif(match) {\n\t\tflags = match[1];\n\t\tregexpString = regexpString.substr(match[0].length);\n\t} else {\n\t\tmatch = /\\(\\?([gim]+)\\)$/.exec(regexpString);\n\t\tif(match) {\n\t\t\tflags = match[1];\n\t\t\tregexpString = regexpString.substr(0,regexpString.length - match[0].length);\n\t\t}\n\t}\n\ttry {\n\t\tregexp = new RegExp(regexpString,flags);\n\t} catch(e) {\n\t\treturn [\"\" + e];\n\t}\n\t// Process the incoming tiddlers\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/regexp.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/removeprefix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/removeprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a prefix from each title in the list. Titles that do not start with the prefix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removeprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/removeprefix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/removesuffix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/removesuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a suffix from each title in the list. Titles that do not end with the suffix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removesuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(0,title.length - operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/removesuffix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/sameday.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/sameday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a modified date field on the same day as the provided value.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sameday = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\ttargetDate = (new Date($tw.utils.parseDate(operator.operand))).setHours(0,0,0,0);\n\t// Function to convert a date/time to a date integer\n\tvar isSameDay = function(dateField) {\n\t\t\treturn (new Date(dateField)).setHours(0,0,0,0) === targetDate;\n\t\t};\n\tsource(function(tiddler,title) {\n\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\tif(isSameDay($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/sameday.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/search.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/search.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for searching for the text in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.search = function(source,operator,options) {\n\tvar invert = operator.prefix === \"!\";\n\tif(operator.suffix) {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert,\n\t\t\tfield: operator.suffix\n\t\t});\n\t} else {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert\n\t\t});\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/search.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/shadowsource.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/shadowsource.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the source plugins for shadow tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadowsource = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar source = options.wiki.getShadowSource(title);\n\t\tif(source) {\n\t\t\t$tw.utils.pushTop(results,source);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/shadowsource.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/sort.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/sort.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for sorting\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,false);\n\treturn results;\n};\n\nexports.nsort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,true);\n\treturn results;\n};\n\nexports.sortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,false);\n\treturn results;\n};\n\nexports.nsortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,true);\n\treturn results;\n};\n\nvar prepare_results = function (source) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/sort.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/splitbefore.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/splitbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that splits each result on the first occurance of the specified separator and returns the unique values.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.splitbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar parts = title.split(operator.operand);\n\t\tif(parts.length === 1) {\n\t\t\t$tw.utils.pushTop(results,parts[0]);\n\t\t} else {\n\t\t\t$tw.utils.pushTop(results,parts[0] + operator.operand);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/splitbefore.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/storyviews.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/storyviews.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the story views in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.storyviews = function(source,operator,options) {\n\tvar results = [],\n\t\tstoryviews = {};\n\t$tw.modules.applyMethods(\"storyview\",storyviews);\n\t$tw.utils.each(storyviews,function(info,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/storyviews.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/suffix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/suffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title ends with a suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.suffix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/suffix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tag.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/tag.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking for the presence of a tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && !tiddler.hasTag(operator.operand)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.hasTag(operator.operand)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\tresults = options.wiki.sortByList(results,operator.operand);\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/tag.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tagging.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/tagging.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that are tagged with the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tagging = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlersWithTag(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/tagging.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tags.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/tags.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the tags of the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,operator,options) {\n\tvar tags = {};\n\tsource(function(tiddler,title) {\n\t\tvar t, length;\n\t\tif(tiddler && tiddler.fields.tags) {\n\t\t\tfor(t=0, length=tiddler.fields.tags.length; t<length; t++) {\n\t\t\t\ttags[tiddler.fields.tags[t]] = true;\n\t\t\t}\n\t\t}\n\t});\n\treturn Object.keys(tags);\n};\n\n})();\n",
"title": "$:/core/modules/filters/tags.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/title.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/title.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing title fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.title = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields.title !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults.push(operator.operand);\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/title.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/untagged.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/untagged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the selected tiddlers that are untagged\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.untagged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && $tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length > 0) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!tiddler || !tiddler.hasField(\"tags\") || ($tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length === 0)) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/untagged.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/wikiparserrules.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/wikiparserrules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the wiki parser rules in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.wikiparserrules = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.modules.types.wikirule,function(mod) {\n\t\tvar exp = mod.exports;\n\t\tif(exp.types[operator.operand]) {\n\t\t\tresults.push(exp.name);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/wikiparserrules.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/x-listops.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/x-listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nExtended filter operators to manipulate the current list.\n\n\\*/\n(function () {\n\n /*jslint node: true, browser: true */\n /*global $tw: false */\n \"use strict\";\n\n /*\n Fetch titles from the current list\n */\n var prepare_results = function (source) {\n var results = [];\n source(function (tiddler, title) {\n results.push(title);\n });\n return results;\n };\n\n /*\n Moves a number of items from the tail of the current list before the item named in the operand\n */\n exports.putbefore = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = parseInt(operator.suffix) || 1;\n return (index === -1) ?\n results.slice(0, -1) :\n results.slice(0, index).concat(results.slice(-count)).concat(results.slice(index, -count));\n };\n\n /*\n Moves a number of items from the tail of the current list after the item named in the operand\n */\n exports.putafter = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = parseInt(operator.suffix) || 1;\n return (index === -1) ?\n results.slice(0, -1) :\n results.slice(0, index + 1).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n };\n\n /*\n Replaces the item named in the operand with a number of items from the tail of the current list\n */\n exports.replace = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = parseInt(operator.suffix) || 1;\n return (index === -1) ?\n results.slice(0, -count) :\n results.slice(0, index).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n };\n\n /*\n Moves a number of items from the tail of the current list to the head of the list\n */\n exports.putfirst = function (source, operator) {\n var results = prepare_results(source),\n count = parseInt(operator.suffix) || 1;\n return results.slice(-count).concat(results.slice(0, -count));\n };\n\n /*\n Moves a number of items from the head of the current list to the tail of the list\n */\n exports.putlast = function (source, operator) {\n var results = prepare_results(source),\n count = parseInt(operator.suffix) || 1;\n return results.slice(count).concat(results.slice(0, count));\n };\n\n /*\n Moves the item named in the operand a number of places forward or backward in the list\n */\n exports.move = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = parseInt(operator.suffix) || 1,\n marker = results.splice(index, 1);\n return results.slice(0, index + count).concat(marker).concat(results.slice(index + count));\n };\n\n /*\n Returns the items from the current list that are after the item named in the operand\n */\n exports.allafter = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand);\n return (index === -1 || index > (results.length - 2)) ? [] :\n (operator.suffix) ? results.slice(index) :\n results.slice(index + 1);\n };\n\n /*\n Returns the items from the current list that are before the item named in the operand\n */\n exports.allbefore = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand);\n return (index <= 0) ? [] :\n (operator.suffix) ? results.slice(0, index + 1) :\n results.slice(0, index);\n };\n\n /*\n Appends the items listed in the operand array to the tail of the current list\n */\n exports.append = function (source, operator) {\n var append = $tw.utils.parseStringArray(operator.operand, \"true\"),\n results = prepare_results(source),\n count = parseInt(operator.suffix) || append.length;\n return (append.length === 0) ? results :\n (operator.prefix) ? results.concat(append.slice(-count)) :\n results.concat(append.slice(0, count));\n };\n\n /*\n Prepends the items listed in the operand array to the head of the current list\n */\n exports.prepend = function (source, operator) {\n var prepend = $tw.utils.parseStringArray(operator.operand, \"true\"),\n results = prepare_results(source),\n count = parseInt(operator.suffix) || prepend.length;\n return (prepend.length === 0) ? results :\n (operator.prefix) ? prepend.slice(-count).concat(results) :\n prepend.slice(0, count).concat(results);\n };\n\n /*\n Returns all items from the current list except the items listed in the operand array\n */\n exports.remove = function (source, operator) {\n var array = $tw.utils.parseStringArray(operator.operand, \"true\"),\n results = prepare_results(source),\n count = parseInt(operator.suffix) || array.length,\n p,\n len,\n index;\n len = array.length - 1;\n for (p = 0; p < count; ++p) {\n if (operator.prefix) {\n index = results.indexOf(array[len - p]);\n } else {\n index = results.indexOf(array[p]);\n }\n if (index !== -1) {\n results.splice(index, 1);\n }\n }\n return results;\n };\n\n /*\n Returns all items from the current list sorted in the order of the items in the operand array\n */\n exports.sortby = function (source, operator) {\n var results = prepare_results(source);\n if (!results || results.length < 2) {\n return results;\n }\n var lookup = $tw.utils.parseStringArray(operator.operand, \"true\");\n results.sort(function (a, b) {\n return lookup.indexOf(a) - lookup.indexOf(b);\n });\n return results;\n };\n\n /*\n Removes all duplicate items from the current list\n */\n exports.unique = function (source, operator) {\n var results = prepare_results(source);\n var set = results.reduce(function (a, b) {\n if (a.indexOf(b) < 0) {\n a.push(b);\n }\n return a;\n }, []);\n return set;\n };\n})();\n",
"title": "$:/core/modules/filters/x-listops.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters.js": {
"text": "/*\\\ntitle: $:/core/modules/filters.js\ntype: application/javascript\nmodule-type: wikimethod\n\nAdds tiddler filtering methods to the $tw.Wiki object.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParses an operation (i.e. a run) within a filter string\n\toperators: Array of array of operator nodes into which results should be inserted\n\tfilterString: filter string\n\tp: start position within the string\nReturns the new start position, after the parsed operation\n*/\nfunction parseFilterOperation(operators,filterString,p) {\n\tvar operator, operand, bracketPos, curlyBracketPos;\n\t// Skip the starting square bracket\n\tif(filterString.charAt(p++) !== \"[\") {\n\t\tthrow \"Missing [ in filter expression\";\n\t}\n\t// Process each operator in turn\n\tdo {\n\t\toperator = {};\n\t\t// Check for an operator prefix\n\t\tif(filterString.charAt(p) === \"!\") {\n\t\t\toperator.prefix = filterString.charAt(p++);\n\t\t}\n\t\t// Get the operator name\n\t\tvar nextBracketPos = filterString.substring(p).search(/[\\[\\{<\\/]/);\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing [ in filter expression\";\n\t\t}\n\t\tnextBracketPos += p;\n\t\tvar bracket = filterString.charAt(nextBracketPos);\n\t\toperator.operator = filterString.substring(p,nextBracketPos);\n\t\t\n\t\t// Any suffix?\n\t\tvar colon = operator.operator.indexOf(':');\n\t\tif(colon > -1) {\n\t\t\toperator.suffix = operator.operator.substring(colon + 1);\n\t\t\toperator.operator = operator.operator.substring(0,colon) || \"field\";\n\t\t}\n\t\t// Empty operator means: title\n\t\telse if(operator.operator === \"\") {\n\t\t\toperator.operator = \"title\";\n\t\t}\n\n\t\tp = nextBracketPos + 1;\n\t\tswitch (bracket) {\n\t\t\tcase \"{\": // Curly brackets\n\t\t\t\toperator.indirect = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\"}\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"[\": // Square brackets\n\t\t\t\tnextBracketPos = filterString.indexOf(\"]\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"<\": // Angle brackets\n\t\t\t\toperator.variable = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\">\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"/\": // regexp brackets\n\t\t\t\tvar rex = /^((?:[^\\\\\\/]*|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g,\n\t\t\t\t\trexMatch = rex.exec(filterString.substring(p));\n\t\t\t\tif(rexMatch) {\n\t\t\t\t\toperator.regexp = new RegExp(rexMatch[1], rexMatch[2]);\n// DEPRECATION WARNING\nconsole.log(\"WARNING: Filter\",operator.operator,\"has a deprecated regexp operand\",operator.regexp);\n\t\t\t\t\tnextBracketPos = p + rex.lastIndex - 1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow \"Unterminated regular expression in filter expression\";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t\t\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing closing bracket in filter expression\";\n\t\t}\n\t\tif(!operator.regexp) {\n\t\t\toperator.operand = filterString.substring(p,nextBracketPos);\n\t\t}\n\t\tp = nextBracketPos + 1;\n\t\t\t\n\t\t// Push this operator\n\t\toperators.push(operator);\n\t} while(filterString.charAt(p) !== \"]\");\n\t// Skip the ending square bracket\n\tif(filterString.charAt(p++) !== \"]\") {\n\t\tthrow \"Missing ] in filter expression\";\n\t}\n\t// Return the parsing position\n\treturn p;\n}\n\n/*\nParse a filter string\n*/\nexports.parseFilter = function(filterString) {\n\tfilterString = filterString || \"\";\n\tvar results = [], // Array of arrays of operator nodes {operator:,operand:}\n\t\tp = 0, // Current position in the filter string\n\t\tmatch;\n\tvar whitespaceRegExp = /(\\s+)/mg,\n\t\toperandRegExp = /((?:\\+|\\-)?)(?:(\\[)|(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s\\[\\]]+))/mg;\n\twhile(p < filterString.length) {\n\t\t// Skip any whitespace\n\t\twhitespaceRegExp.lastIndex = p;\n\t\tmatch = whitespaceRegExp.exec(filterString);\n\t\tif(match && match.index === p) {\n\t\t\tp = p + match[0].length;\n\t\t}\n\t\t// Match the start of the operation\n\t\tif(p < filterString.length) {\n\t\t\toperandRegExp.lastIndex = p;\n\t\t\tmatch = operandRegExp.exec(filterString);\n\t\t\tif(!match || match.index !== p) {\n\t\t\t\tthrow $tw.language.getString(\"Error/FilterSyntax\");\n\t\t\t}\n\t\t\tvar operation = {\n\t\t\t\tprefix: \"\",\n\t\t\t\toperators: []\n\t\t\t};\n\t\t\tif(match[1]) {\n\t\t\t\toperation.prefix = match[1];\n\t\t\t\tp++;\n\t\t\t}\n\t\t\tif(match[2]) { // Opening square bracket\n\t\t\t\tp = parseFilterOperation(operation.operators,filterString,p);\n\t\t\t} else {\n\t\t\t\tp = match.index + match[0].length;\n\t\t\t}\n\t\t\tif(match[3] || match[4] || match[5]) { // Double quoted string, single quoted string or unquoted title\n\t\t\t\toperation.operators.push(\n\t\t\t\t\t{operator: \"title\", operand: match[3] || match[4] || match[5]}\n\t\t\t\t);\n\t\t\t}\n\t\t\tresults.push(operation);\n\t\t}\n\t}\n\treturn results;\n};\n\nexports.getFilterOperators = function() {\n\tif(!this.filterOperators) {\n\t\t$tw.Wiki.prototype.filterOperators = {};\n\t\t$tw.modules.applyMethods(\"filteroperator\",this.filterOperators);\n\t}\n\treturn this.filterOperators;\n};\n\nexports.filterTiddlers = function(filterString,widget,source) {\n\tvar fn = this.compileFilter(filterString);\n\treturn fn.call(this,source,widget);\n};\n\n/*\nCompile a filter into a function with the signature fn(source,widget) where:\nsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\nwidget: an optional widget node for retrieving the current tiddler etc.\n*/\nexports.compileFilter = function(filterString) {\n\tvar filterParseTree;\n\ttry {\n\t\tfilterParseTree = this.parseFilter(filterString);\n\t} catch(e) {\n\t\treturn function(source,widget) {\n\t\t\treturn [$tw.language.getString(\"Error/Filter\") + \": \" + e];\n\t\t};\n\t}\n\t// Get the hashmap of filter operator functions\n\tvar filterOperators = this.getFilterOperators();\n\t// Assemble array of functions, one for each operation\n\tvar operationFunctions = [];\n\t// Step through the operations\n\tvar self = this;\n\t$tw.utils.each(filterParseTree,function(operation) {\n\t\t// Create a function for the chain of operators in the operation\n\t\tvar operationSubFunction = function(source,widget) {\n\t\t\tvar accumulator = source,\n\t\t\t\tresults = [],\n\t\t\t\tcurrTiddlerTitle = widget && widget.getVariable(\"currentTiddler\");\n\t\t\t$tw.utils.each(operation.operators,function(operator) {\n\t\t\t\tvar operand = operator.operand,\n\t\t\t\t\toperatorFunction;\n\t\t\t\tif(!operator.operator) {\n\t\t\t\t\toperatorFunction = filterOperators.title;\n\t\t\t\t} else if(!filterOperators[operator.operator]) {\n\t\t\t\t\toperatorFunction = filterOperators.field;\n\t\t\t\t} else {\n\t\t\t\t\toperatorFunction = filterOperators[operator.operator];\n\t\t\t\t}\n\t\t\t\tif(operator.indirect) {\n\t\t\t\t\toperand = self.getTextReference(operator.operand,\"\",currTiddlerTitle);\n\t\t\t\t}\n\t\t\t\tif(operator.variable) {\n\t\t\t\t\toperand = widget.getVariable(operator.operand,{defaultValue: \"\"});\n\t\t\t\t}\n\t\t\t\t// Invoke the appropriate filteroperator module\n\t\t\t\tresults = operatorFunction(accumulator,{\n\t\t\t\t\t\t\toperator: operator.operator,\n\t\t\t\t\t\t\toperand: operand,\n\t\t\t\t\t\t\tprefix: operator.prefix,\n\t\t\t\t\t\t\tsuffix: operator.suffix,\n\t\t\t\t\t\t\tregexp: operator.regexp\n\t\t\t\t\t\t},{\n\t\t\t\t\t\t\twiki: self,\n\t\t\t\t\t\t\twidget: widget\n\t\t\t\t\t\t});\n\t\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\t\taccumulator = self.makeTiddlerIterator(results);\n\t\t\t\t} else {\n\t\t\t\t\taccumulator = results;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\treturn results;\n\t\t\t} else {\n\t\t\t\tvar resultArray = [];\n\t\t\t\tresults(function(tiddler,title) {\n\t\t\t\t\tresultArray.push(title);\n\t\t\t\t});\n\t\t\t\treturn resultArray;\n\t\t\t}\n\t\t};\n\t\t// Wrap the operator functions in a wrapper function that depends on the prefix\n\t\toperationFunctions.push((function() {\n\t\t\tswitch(operation.prefix || \"\") {\n\t\t\t\tcase \"\": // No prefix means that the operation is unioned into the result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"-\": // The results of this operation are removed from the main result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.removeArrayEntries(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"+\": // This operation is applied to the main results so far\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t// This replaces all the elements of the array, but keeps the actual array so that references to it are preserved\n\t\t\t\t\t\tsource = self.makeTiddlerIterator(results);\n\t\t\t\t\t\tresults.splice(0,results.length);\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t}\n\t\t})());\n\t});\n\t// Return a function that applies the operations to a source iterator of tiddler titles\n\treturn $tw.perf.measure(\"filter\",function filterFunction(source,widget) {\n\t\tif(!source) {\n\t\t\tsource = self.each;\n\t\t} else if(typeof source === \"object\") { // Array or hashmap\n\t\t\tsource = self.makeTiddlerIterator(source);\n\t\t}\n\t\tvar results = [];\n\t\t$tw.utils.each(operationFunctions,function(operationFunction) {\n\t\t\toperationFunction(results,source,widget);\n\t\t});\n\t\treturn results;\n\t});\n};\n\n})();\n",
"title": "$:/core/modules/filters.js",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/core/modules/info/platform.js": {
"text": "/*\\\ntitle: $:/core/modules/info/platform.js\ntype: application/javascript\nmodule-type: info\n\nInitialise basic platform $:/info/ tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.getInfoTiddlerFields = function() {\n\tvar mapBoolean = function(value) {return value ? \"yes\" : \"no\";},\n\t\tinfoTiddlerFields = [];\n\t// Basics\n\tinfoTiddlerFields.push({title: \"$:/info/browser\", text: mapBoolean(!!$tw.browser)});\n\tinfoTiddlerFields.push({title: \"$:/info/node\", text: mapBoolean(!!$tw.node)});\n\treturn infoTiddlerFields;\n};\n\n})();\n",
"title": "$:/core/modules/info/platform.js",
"type": "application/javascript",
"module-type": "info"
},
"$:/core/modules/keyboard.js": {
"text": "/*\\\ntitle: $:/core/modules/keyboard.js\ntype: application/javascript\nmodule-type: global\n\nKeyboard handling utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar namedKeys = {\n\t\"cancel\": 3,\n\t\"help\": 6,\n\t\"backspace\": 8,\n\t\"tab\": 9,\n\t\"clear\": 12,\n\t\"return\": 13,\n\t\"enter\": 13,\n\t\"pause\": 19,\n\t\"escape\": 27,\n\t\"space\": 32,\n\t\"page_up\": 33,\n\t\"page_down\": 34,\n\t\"end\": 35,\n\t\"home\": 36,\n\t\"left\": 37,\n\t\"up\": 38,\n\t\"right\": 39,\n\t\"down\": 40,\n\t\"printscreen\": 44,\n\t\"insert\": 45,\n\t\"delete\": 46,\n\t\"0\": 48,\n\t\"1\": 49,\n\t\"2\": 50,\n\t\"3\": 51,\n\t\"4\": 52,\n\t\"5\": 53,\n\t\"6\": 54,\n\t\"7\": 55,\n\t\"8\": 56,\n\t\"9\": 57,\n\t\"firefoxsemicolon\": 59,\n\t\"firefoxequals\": 61,\n\t\"a\": 65,\n\t\"b\": 66,\n\t\"c\": 67,\n\t\"d\": 68,\n\t\"e\": 69,\n\t\"f\": 70,\n\t\"g\": 71,\n\t\"h\": 72,\n\t\"i\": 73,\n\t\"j\": 74,\n\t\"k\": 75,\n\t\"l\": 76,\n\t\"m\": 77,\n\t\"n\": 78,\n\t\"o\": 79,\n\t\"p\": 80,\n\t\"q\": 81,\n\t\"r\": 82,\n\t\"s\": 83,\n\t\"t\": 84,\n\t\"u\": 85,\n\t\"v\": 86,\n\t\"w\": 87,\n\t\"x\": 88,\n\t\"y\": 89,\n\t\"z\": 90,\n\t\"numpad0\": 96,\n\t\"numpad1\": 97,\n\t\"numpad2\": 98,\n\t\"numpad3\": 99,\n\t\"numpad4\": 100,\n\t\"numpad5\": 101,\n\t\"numpad6\": 102,\n\t\"numpad7\": 103,\n\t\"numpad8\": 104,\n\t\"numpad9\": 105,\n\t\"multiply\": 106,\n\t\"add\": 107,\n\t\"separator\": 108,\n\t\"subtract\": 109,\n\t\"decimal\": 110,\n\t\"divide\": 111,\n\t\"f1\": 112,\n\t\"f2\": 113,\n\t\"f3\": 114,\n\t\"f4\": 115,\n\t\"f5\": 116,\n\t\"f6\": 117,\n\t\"f7\": 118,\n\t\"f8\": 119,\n\t\"f9\": 120,\n\t\"f10\": 121,\n\t\"f11\": 122,\n\t\"f12\": 123,\n\t\"f13\": 124,\n\t\"f14\": 125,\n\t\"f15\": 126,\n\t\"f16\": 127,\n\t\"f17\": 128,\n\t\"f18\": 129,\n\t\"f19\": 130,\n\t\"f20\": 131,\n\t\"f21\": 132,\n\t\"f22\": 133,\n\t\"f23\": 134,\n\t\"f24\": 135,\n\t\"firefoxminus\": 173,\n\t\"semicolon\": 186,\n\t\"equals\": 187,\n\t\"comma\": 188,\n\t\"dash\": 189,\n\t\"period\": 190,\n\t\"slash\": 191,\n\t\"backquote\": 192,\n\t\"openbracket\": 219,\n\t\"backslash\": 220,\n\t\"closebracket\": 221,\n\t\"quote\": 222\n};\n\nfunction KeyboardManager(options) {\n\tvar self = this;\n\toptions = options || \"\";\n\t// Save the named key hashmap\n\tthis.namedKeys = namedKeys;\n\t// Create a reverse mapping of code to keyname\n\tthis.keyNames = [];\n\t$tw.utils.each(namedKeys,function(keyCode,name) {\n\t\tself.keyNames[keyCode] = name.substr(0,1).toUpperCase() + name.substr(1);\n\t});\n\t// Save the platform-specific name of the \"meta\" key\n\tthis.metaKeyName = $tw.platform.isMac ? \"cmd-\" : \"win-\";\n}\n\n/*\nReturn an array of keycodes for the modifier keys ctrl, shift, alt, meta\n*/\nKeyboardManager.prototype.getModifierKeys = function() {\n\treturn [\n\t\t16, // Shift\n\t\t17, // Ctrl\n\t\t18, // Alt\n\t\t20, // CAPS LOCK\n\t\t91, // Meta (left)\n\t\t93, // Meta (right)\n\t\t224 // Meta (Firefox)\n\t]\n};\n\n/*\nParses a key descriptor into the structure:\n{\n\tkeyCode: numeric keycode\n\tshiftKey: boolean\n\taltKey: boolean\n\tctrlKey: boolean\n\tmetaKey: boolean\n}\nKey descriptors have the following format:\n\tctrl+enter\n\tctrl+shift+alt+A\n*/\nKeyboardManager.prototype.parseKeyDescriptor = function(keyDescriptor) {\n\tvar components = keyDescriptor.split(/\\+|\\-/),\n\t\tinfo = {\n\t\t\tkeyCode: 0,\n\t\t\tshiftKey: false,\n\t\t\taltKey: false,\n\t\t\tctrlKey: false,\n\t\t\tmetaKey: false\n\t\t};\n\tfor(var t=0; t<components.length; t++) {\n\t\tvar s = components[t].toLowerCase(),\n\t\t\tc = s.charCodeAt(0);\n\t\t// Look for modifier keys\n\t\tif(s === \"ctrl\") {\n\t\t\tinfo.ctrlKey = true;\n\t\t} else if(s === \"shift\") {\n\t\t\tinfo.shiftKey = true;\n\t\t} else if(s === \"alt\") {\n\t\t\tinfo.altKey = true;\n\t\t} else if(s === \"meta\" || s === \"cmd\" || s === \"win\") {\n\t\t\tinfo.metaKey = true;\n\t\t}\n\t\t// Replace named keys with their code\n\t\tif(this.namedKeys[s]) {\n\t\t\tinfo.keyCode = this.namedKeys[s];\n\t\t}\n\t}\n\tif(info.keyCode) {\n\t\treturn info;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nParse a list of key descriptors into an array of keyInfo objects. The key descriptors can be passed as an array of strings or a space separated string\n*/\nKeyboardManager.prototype.parseKeyDescriptors = function(keyDescriptors,options) {\n\tvar self = this;\n\toptions = options || {};\n\toptions.stack = options.stack || [];\n\tvar wiki = options.wiki || $tw.wiki;\n\tif(typeof keyDescriptors === \"string\" && keyDescriptors === \"\") {\n\t\treturn [];\n\t}\n\tif(!$tw.utils.isArray(keyDescriptors)) {\n\t\tkeyDescriptors = keyDescriptors.split(\" \");\n\t}\n\tvar result = [];\n\t$tw.utils.each(keyDescriptors,function(keyDescriptor) {\n\t\t// Look for a named shortcut\n\t\tif(keyDescriptor.substr(0,2) === \"((\" && keyDescriptor.substr(-2,2) === \"))\") {\n\t\t\tif(options.stack.indexOf(keyDescriptor) === -1) {\n\t\t\t\toptions.stack.push(keyDescriptor);\n\t\t\t\tvar name = keyDescriptor.substring(2,keyDescriptor.length - 2),\n\t\t\t\t\tlookupName = function(configName) {\n\t\t\t\t\t\tvar keyDescriptors = wiki.getTiddlerText(\"$:/config/\" + configName + \"/\" + name);\n\t\t\t\t\t\tif(keyDescriptors) {\n\t\t\t\t\t\t\tresult.push.apply(result,self.parseKeyDescriptors(keyDescriptors,options));\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\tlookupName(\"shortcuts\");\n\t\t\t\tlookupName($tw.platform.isMac ? \"shortcuts-mac\" : \"shortcuts-not-mac\");\n\t\t\t\tlookupName($tw.platform.isWindows ? \"shortcuts-windows\" : \"shortcuts-not-windows\");\n\t\t\t\tlookupName($tw.platform.isLinux ? \"shortcuts-linux\" : \"shortcuts-not-linux\");\n\t\t\t}\n\t\t} else {\n\t\t\tresult.push(self.parseKeyDescriptor(keyDescriptor));\n\t\t}\n\t});\n\treturn result;\n};\n\nKeyboardManager.prototype.getPrintableShortcuts = function(keyInfoArray) {\n\tvar self = this,\n\t\tresult = [];\n\t$tw.utils.each(keyInfoArray,function(keyInfo) {\n\t\tif(keyInfo) {\n\t\t\tresult.push((keyInfo.ctrlKey ? \"ctrl-\" : \"\") + \n\t\t\t\t (keyInfo.shiftKey ? \"shift-\" : \"\") + \n\t\t\t\t (keyInfo.altKey ? \"alt-\" : \"\") + \n\t\t\t\t (keyInfo.metaKey ? self.metaKeyName : \"\") + \n\t\t\t\t (self.keyNames[keyInfo.keyCode]));\n\t\t}\n\t});\n\treturn result;\n}\n\nKeyboardManager.prototype.checkKeyDescriptor = function(event,keyInfo) {\n\treturn keyInfo &&\n\t\t\tevent.keyCode === keyInfo.keyCode && \n\t\t\tevent.shiftKey === keyInfo.shiftKey && \n\t\t\tevent.altKey === keyInfo.altKey && \n\t\t\tevent.ctrlKey === keyInfo.ctrlKey && \n\t\t\tevent.metaKey === keyInfo.metaKey;\n};\n\nKeyboardManager.prototype.checkKeyDescriptors = function(event,keyInfoArray) {\n\tfor(var t=0; t<keyInfoArray.length; t++) {\n\t\tif(this.checkKeyDescriptor(event,keyInfoArray[t])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\nexports.KeyboardManager = KeyboardManager;\n\n})();\n",
"title": "$:/core/modules/keyboard.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/language.js": {
"text": "/*\\\ntitle: $:/core/modules/language.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Language() manages translateable strings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate an instance of the language manager. Options include:\nwiki: wiki from which to retrieve translation tiddlers\n*/\nfunction Language(options) {\n\toptions = options || \"\";\n\tthis.wiki = options.wiki || $tw.wiki;\n}\n\n/*\nReturn a wikified translateable string. The title is automatically prefixed with \"$:/language/\"\nOptions include:\nvariables: optional hashmap of variables to supply to the language wikification\n*/\nLanguage.prototype.getString = function(title,options) {\n\toptions = options || {};\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.renderTiddler(\"text/plain\",title,{variables: options.variables});\n};\n\n/*\nReturn a raw, unwikified translateable string. The title is automatically prefixed with \"$:/language/\"\n*/\nLanguage.prototype.getRawString = function(title) {\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.getTiddlerText(title);\n};\n\nexports.Language = Language;\n\n})();\n",
"title": "$:/core/modules/language.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/macros/changecount.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/changecount.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the changecount for the current tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"changecount\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn this.wiki.getChangeCount(this.getVariable(\"currentTiddler\")) + \"\";\n};\n\n})();\n",
"title": "$:/core/modules/macros/changecount.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/contrastcolour.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/contrastcolour.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to choose which of two colours has the highest contrast with a base colour\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"contrastcolour\";\n\nexports.params = [\n\t{name: \"target\"},\n\t{name: \"fallbackTarget\"},\n\t{name: \"colourA\"},\n\t{name: \"colourB\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(target,fallbackTarget,colourA,colourB) {\n\tvar rgbTarget = $tw.utils.parseCSSColor(target) || $tw.utils.parseCSSColor(fallbackTarget);\n\tif(!rgbTarget) {\n\t\treturn colourA;\n\t}\n\tvar rgbColourA = $tw.utils.parseCSSColor(colourA),\n\t\trgbColourB = $tw.utils.parseCSSColor(colourB);\n\tif(rgbColourA && !rgbColourB) {\n\t\treturn rgbColourA;\n\t}\n\tif(rgbColourB && !rgbColourA) {\n\t\treturn rgbColourB;\n\t}\n\tif(!rgbColourA && !rgbColourB) {\n\t\t// If neither colour is readable, return a crude inverse of the target\n\t\treturn [255 - rgbTarget[0],255 - rgbTarget[1],255 - rgbTarget[2],rgbTarget[3]];\n\t}\n\t// Colour brightness formula derived from http://www.w3.org/WAI/ER/WD-AERT/#color-contrast\n\tvar brightnessTarget = rgbTarget[0] * 0.299 + rgbTarget[1] * 0.587 + rgbTarget[2] * 0.114,\n\t\tbrightnessA = rgbColourA[0] * 0.299 + rgbColourA[1] * 0.587 + rgbColourA[2] * 0.114,\n\t\tbrightnessB = rgbColourB[0] * 0.299 + rgbColourB[1] * 0.587 + rgbColourB[2] * 0.114;\n\treturn Math.abs(brightnessTarget - brightnessA) > Math.abs(brightnessTarget - brightnessB) ? colourA : colourB;\n};\n\n})();\n",
"title": "$:/core/modules/macros/contrastcolour.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/csvtiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/csvtiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to CSV\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"csvtiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"format\"},\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,format) {\n\tvar self = this,\n\t\ttiddlers = this.wiki.filterTiddlers(filter),\n\t\ttiddler,\n\t\tfields = [],\n\t\tt,f;\n\t// Collect all the fields\n\tfor(t=0;t<tiddlers.length; t++) {\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tfor(f in tiddler.fields) {\n\t\t\tif(fields.indexOf(f) === -1) {\n\t\t\t\tfields.push(f);\n\t\t\t}\n\t\t}\n\t}\n\t// Sort the fields and bring the standard ones to the front\n\tfields.sort();\n\t\"title text modified modifier created creator\".split(\" \").reverse().forEach(function(value,index) {\n\t\tvar p = fields.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tfields.splice(p,1);\n\t\t\tfields.unshift(value)\n\t\t}\n\t});\n\t// Output the column headings\n\tvar output = [], row = [];\n\tfields.forEach(function(value) {\n\t\trow.push(quoteAndEscape(value))\n\t});\n\toutput.push(row.join(\",\"));\n\t// Output each tiddler\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\trow = [];\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\t\tfor(f=0; f<fields.length; f++) {\n\t\t\t\trow.push(quoteAndEscape(tiddler ? tiddler.getFieldString(fields[f]) || \"\" : \"\"));\n\t\t\t}\n\t\toutput.push(row.join(\",\"));\n\t}\n\treturn output.join(\"\\n\");\n};\n\nfunction quoteAndEscape(value) {\n\treturn \"\\\"\" + value.replace(/\"/mg,\"\\\"\\\"\") + \"\\\"\";\n}\n\n})();\n",
"title": "$:/core/modules/macros/csvtiddlers.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/displayshortcuts.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/displayshortcuts.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to display a list of keyboard shortcuts in human readable form. Notably, it resolves named shortcuts like `((bold))` to the underlying keystrokes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"displayshortcuts\";\n\nexports.params = [\n\t{name: \"shortcuts\"},\n\t{name: \"prefix\"},\n\t{name: \"separator\"},\n\t{name: \"suffix\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(shortcuts,prefix,separator,suffix) {\n\tvar shortcutArray = $tw.keyboardManager.getPrintableShortcuts($tw.keyboardManager.parseKeyDescriptors(shortcuts,{\n\t\twiki: this.wiki\n\t}));\n\tif(shortcutArray.length > 0) {\n\t\tshortcutArray.sort(function(a,b) {\n\t\t return a.toLowerCase().localeCompare(b.toLowerCase());\n\t\t})\n\t\treturn prefix + shortcutArray.join(separator) + suffix;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/macros/displayshortcuts.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/dumpvariables.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/dumpvariables.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to dump all active variable values\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"dumpvariables\";\n\nexports.params = [\n];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\tvar output = [\"|!Variable |!Value |\"],\n\t\tvariables = [], variable;\n\tfor(variable in this.variables) {\n\t\tvariables.push(variable);\n\t}\n\tvariables.sort();\n\tfor(var index=0; index<variables.length; index++) {\n\t\tvar variable = variables[index];\n\t\toutput.push(\"|\" + variable + \" |<input size=50 value=<<\" + variable + \">>/> |\")\n\t}\n\treturn output.join(\"\\n\");\n};\n\n})();\n",
"title": "$:/core/modules/macros/dumpvariables.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/jsontiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/jsontiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddlers\";\n\nexports.params = [\n\t{name: \"filter\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter) {\n\tvar tiddlers = this.wiki.filterTiddlers(filter),\n\t\tdata = [];\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\tvar tiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tif(tiddler) {\n\t\t\tvar fields = new Object();\n\t\t\tfor(var field in tiddler.fields) {\n\t\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t\t}\n\t\t\tdata.push(fields);\n\t\t}\n\t}\n\treturn JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n};\n\n})();\n",
"title": "$:/core/modules/macros/jsontiddlers.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/makedatauri.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/makedatauri.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to convert a string of text to a data URI\n\n<<makedatauri text:\"Text to be converted\" type:\"text/vnd.tiddlywiki\">>\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"makedatauri\";\n\nexports.params = [\n\t{name: \"text\"},\n\t{name: \"type\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(text,type) {\n\treturn $tw.utils.makeDataUri(text,type);\n};\n\n})();\n",
"title": "$:/core/modules/macros/makedatauri.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/now.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/now.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return a formatted version of the current time\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"now\";\n\nexports.params = [\n\t{name: \"format\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(format) {\n\treturn $tw.utils.formatDateString(new Date(),format || \"0hh:0mm, DDth MMM YYYY\");\n};\n\n})();\n",
"title": "$:/core/modules/macros/now.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/qualify.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/qualify.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to qualify a state tiddler title according\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"qualify\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\treturn title + \"-\" + this.getStateQualifier();\n};\n\n})();\n",
"title": "$:/core/modules/macros/qualify.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/resolvepath.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/resolvepath.js\ntype: application/javascript\nmodule-type: macro\n\nResolves a relative path for an absolute rootpath.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"resolvepath\";\n\nexports.params = [\n\t{name: \"source\"},\n\t{name: \"root\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(source, root) {\n\treturn $tw.utils.resolvePath(source, root);\n};\n\n})();\n",
"title": "$:/core/modules/macros/resolvepath.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/version.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/version.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the TiddlyWiki core version number\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"version\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn $tw.version;\n};\n\n})();\n",
"title": "$:/core/modules/macros/version.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/parsers/audioparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/audioparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe audio parser parses an audio tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar AudioParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"audio\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"audio/ogg\"] = AudioParser;\nexports[\"audio/mpeg\"] = AudioParser;\nexports[\"audio/mp3\"] = AudioParser;\nexports[\"audio/mp4\"] = AudioParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/audioparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/csvparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/csvparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe CSV text parser processes CSV files into a table wrapped in a scrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar CsvParser = function(type,text,options) {\n\t// Table framework\n\tthis.tree = [{\n\t\t\"type\": \"scrollable\", \"children\": [{\n\t\t\t\"type\": \"element\", \"tag\": \"table\", \"children\": [{\n\t\t\t\t\"type\": \"element\", \"tag\": \"tbody\", \"children\": []\n\t\t\t}], \"attributes\": {\n\t\t\t\t\"class\": {\"type\": \"string\", \"value\": \"tc-csv-table\"}\n\t\t\t}\n\t\t}]\n\t}];\n\t// Split the text into lines\n\tvar lines = text.split(/\\r?\\n/mg),\n\t\ttag = \"th\";\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar lineText = lines[line];\n\t\tif(lineText) {\n\t\t\tvar row = {\n\t\t\t\t\t\"type\": \"element\", \"tag\": \"tr\", \"children\": []\n\t\t\t\t};\n\t\t\tvar columns = lineText.split(\",\");\n\t\t\tfor(var column=0; column<columns.length; column++) {\n\t\t\t\trow.children.push({\n\t\t\t\t\t\t\"type\": \"element\", \"tag\": tag, \"children\": [{\n\t\t\t\t\t\t\t\"type\": \"text\",\n\t\t\t\t\t\t\t\"text\": columns[column]\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t}\n\t\t\ttag = \"td\";\n\t\t\tthis.tree[0].children[0].children[0].children.push(row);\n\t\t}\n\t}\n};\n\nexports[\"text/csv\"] = CsvParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/csvparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/htmlparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/htmlparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe HTML parser displays text as raw HTML\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HtmlParser = function(type,text,options) {\n\tvar src;\n\tif(options._canonical_uri) {\n\t\tsrc = options._canonical_uri;\n\t} else if(text) {\n\t\tsrc = \"data:text/html;charset=utf-8,\" + encodeURIComponent(text);\n\t}\n\tthis.tree = [{\n\t\ttype: \"element\",\n\t\ttag: \"iframe\",\n\t\tattributes: {\n\t\t\tsrc: {type: \"string\", value: src},\n\t\t\tsandbox: {type: \"string\", value: \"\"}\n\t\t}\n\t}];\n};\n\nexports[\"text/html\"] = HtmlParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/htmlparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/imageparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/imageparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe image parser parses an image into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"img\",\n\t\t\tattributes: {}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t\tif(type === \"application/pdf\" || type === \".pdf\") {\n\t\t\telement.tag = \"embed\";\n\t\t}\n\t} else if(text) {\n\t\tif(type === \"application/pdf\" || type === \".pdf\") {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:application/pdf;base64,\" + text};\n\t\t\telement.tag = \"embed\";\n\t\t} else if(type === \"image/svg+xml\" || type === \".svg\") {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:image/svg+xml,\" + encodeURIComponent(text)};\n\t\t} else {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t\t}\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"image/svg+xml\"] = ImageParser;\nexports[\"image/jpg\"] = ImageParser;\nexports[\"image/jpeg\"] = ImageParser;\nexports[\"image/png\"] = ImageParser;\nexports[\"image/gif\"] = ImageParser;\nexports[\"application/pdf\"] = ImageParser;\nexports[\"image/x-icon\"] = ImageParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/imageparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/utils/parseutils.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/parseutils.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions concerned with parsing text into tokens.\n\nMost functions have the following pattern:\n\n* The parameters are:\n** `source`: the source string being parsed\n** `pos`: the current parse position within the string\n** Any further parameters are used to identify the token that is being parsed\n* The return value is:\n** null if the token was not found at the specified position\n** an object representing the token with the following standard fields:\n*** `type`: string indicating the type of the token\n*** `start`: start position of the token in the source string\n*** `end`: end position of the token in the source string\n*** Any further fields required to describe the token\n\nThe exception is `skipWhiteSpace`, which just returns the position after the whitespace.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for a whitespace token. Returns null if not found, otherwise returns {type: \"whitespace\", start:, end:,}\n*/\nexports.parseWhiteSpace = function(source,pos) {\n\tvar p = pos,c;\n\twhile(true) {\n\t\tc = source.charAt(p);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tp++;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(p === pos) {\n\t\treturn null;\n\t} else {\n\t\treturn {\n\t\t\ttype: \"whitespace\",\n\t\t\tstart: pos,\n\t\t\tend: p\n\t\t}\n\t}\n};\n\n/*\nConvenience wrapper for parseWhiteSpace. Returns the position after the whitespace\n*/\nexports.skipWhiteSpace = function(source,pos) {\n\tvar c;\n\twhile(true) {\n\t\tc = source.charAt(pos);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tpos++;\n\t\t} else {\n\t\t\treturn pos;\n\t\t}\n\t}\n};\n\n/*\nLook for a given string token. Returns null if not found, otherwise returns {type: \"token\", value:, start:, end:,}\n*/\nexports.parseTokenString = function(source,pos,token) {\n\tvar match = source.indexOf(token,pos) === pos;\n\tif(match) {\n\t\treturn {\n\t\t\ttype: \"token\",\n\t\t\tvalue: token,\n\t\t\tstart: pos,\n\t\t\tend: pos + token.length\n\t\t};\n\t}\n\treturn null;\n};\n\n/*\nLook for a token matching a regex. Returns null if not found, otherwise returns {type: \"regexp\", match:, start:, end:,}\n*/\nexports.parseTokenRegExp = function(source,pos,reToken) {\n\tvar node = {\n\t\ttype: \"regexp\",\n\t\tstart: pos\n\t};\n\treToken.lastIndex = pos;\n\tnode.match = reToken.exec(source);\n\tif(node.match && node.match.index === pos) {\n\t\tnode.end = pos + node.match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a string literal. Returns null if not found, otherwise returns {type: \"string\", value:, start:, end:,}\n*/\nexports.parseStringLiteral = function(source,pos) {\n\tvar node = {\n\t\ttype: \"string\",\n\t\tstart: pos\n\t};\n\tvar reString = /(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\")|(?:'([^']*)')/g;\n\treString.lastIndex = pos;\n\tvar match = reString.exec(source);\n\tif(match && match.index === pos) {\n\t\tnode.value = match[1] !== undefined ? match[1] :(\n\t\t\tmatch[2] !== undefined ? match[2] : match[3] \n\t\t\t\t\t);\n\t\tnode.end = pos + match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a macro invocation parameter. Returns null if not found, or {type: \"macro-parameter\", name:, value:, start:, end:}\n*/\nexports.parseMacroParameter = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macro-parameter\",\n\t\tstart: pos\n\t};\n\t// Define our regexp\n\tvar reMacroParameter = /(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\\s>\"'=]+)))/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the parameter\n\tvar token = $tw.utils.parseTokenRegExp(source,pos,reMacroParameter);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the parameter details\n\tnode.value = token.match[2] !== undefined ? token.match[2] : (\n\t\t\t\t\ttoken.match[3] !== undefined ? token.match[3] : (\n\t\t\t\t\t\ttoken.match[4] !== undefined ? token.match[4] : (\n\t\t\t\t\t\t\ttoken.match[5] !== undefined ? token.match[5] : (\n\t\t\t\t\t\t\t\ttoken.match[6] !== undefined ? token.match[6] : (\n\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\tif(token.match[1]) {\n\t\tnode.name = token.match[1];\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for a macro invocation. Returns null if not found, or {type: \"macrocall\", name:, parameters:, start:, end:}\n*/\nexports.parseMacroInvocation = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macrocall\",\n\t\tstart: pos,\n\t\tparams: []\n\t};\n\t// Define our regexps\n\tvar reMacroName = /([^\\s>\"'=]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double less than sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"<<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the macro name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reMacroName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Process parameters\n\tvar parameter = $tw.utils.parseMacroParameter(source,pos);\n\twhile(parameter) {\n\t\tnode.params.push(parameter);\n\t\tpos = parameter.end;\n\t\t// Get the next parameter\n\t\tparameter = $tw.utils.parseMacroParameter(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">>\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for an HTML attribute definition. Returns null if not found, otherwise returns {type: \"attribute\", name:, valueType: \"string|indirect|macro\", value:, start:, end:,}\n*/\nexports.parseAttribute = function(source,pos) {\n\tvar node = {\n\t\tstart: pos\n\t};\n\t// Define our regexps\n\tvar reAttributeName = /([^\\/\\s>\"'=]+)/g,\n\t\treUnquotedAttribute = /([^\\/\\s<>\"'=]+)/g,\n\t\treIndirectValue = /\\{\\{([^\\}]+)\\}\\}/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the attribute name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reAttributeName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for an equals sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"=\");\n\tif(token) {\n\t\tpos = token.end;\n\t\t// Skip whitespace\n\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t// Look for a string literal\n\t\tvar stringLiteral = $tw.utils.parseStringLiteral(source,pos);\n\t\tif(stringLiteral) {\n\t\t\tpos = stringLiteral.end;\n\t\t\tnode.type = \"string\";\n\t\t\tnode.value = stringLiteral.value;\n\t\t} else {\n\t\t\t// Look for an indirect value\n\t\t\tvar indirectValue = $tw.utils.parseTokenRegExp(source,pos,reIndirectValue);\n\t\t\tif(indirectValue) {\n\t\t\t\tpos = indirectValue.end;\n\t\t\t\tnode.type = \"indirect\";\n\t\t\t\tnode.textReference = indirectValue.match[1];\n\t\t\t} else {\n\t\t\t\t// Look for a unquoted value\n\t\t\t\tvar unquotedValue = $tw.utils.parseTokenRegExp(source,pos,reUnquotedAttribute);\n\t\t\t\tif(unquotedValue) {\n\t\t\t\t\tpos = unquotedValue.end;\n\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\tnode.value = unquotedValue.match[1];\n\t\t\t\t} else {\n\t\t\t\t\t// Look for a macro invocation value\n\t\t\t\t\tvar macroInvocation = $tw.utils.parseMacroInvocation(source,pos);\n\t\t\t\t\tif(macroInvocation) {\n\t\t\t\t\t\tpos = macroInvocation.end;\n\t\t\t\t\t\tnode.type = \"macro\";\n\t\t\t\t\t\tnode.value = macroInvocation;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\tnode.value = \"true\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tnode.type = \"string\";\n\t\tnode.value = \"true\";\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
"title": "$:/core/modules/utils/parseutils.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/parsers/textparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/textparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe plain text parser processes blocks of source text into a degenerate parse tree consisting of a single text node\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar TextParser = function(type,text,options) {\n\tthis.tree = [{\n\t\ttype: \"codeblock\",\n\t\tattributes: {\n\t\t\tcode: {type: \"string\", value: text},\n\t\t\tlanguage: {type: \"string\", value: type}\n\t\t}\n\t}];\n};\n\nexports[\"text/plain\"] = TextParser;\nexports[\"text/x-tiddlywiki\"] = TextParser;\nexports[\"application/javascript\"] = TextParser;\nexports[\"application/json\"] = TextParser;\nexports[\"text/css\"] = TextParser;\nexports[\"application/x-tiddler-dictionary\"] = TextParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/textparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/videoparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/videoparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe video parser parses a video tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar AudioParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"video\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"video/mp4\"] = AudioParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/videoparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/wikiparser/rules/codeblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for code blocks. For example:\n\n```\n\t```\n\tThis text will not be //wikified//\n\t```\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match and get language if defined\n\tthis.matchRegExp = /```([\\w-]*)\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\\r?\\n```$)/mg;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Return the $codeblock widget\n\treturn [{\n\t\t\ttype: \"codeblock\",\n\t\t\tattributes: {\n\t\t\t\t\tcode: {type: \"string\", value: text},\n\t\t\t\t\tlanguage: {type: \"string\", value: this.match[1]}\n\t\t\t}\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/codeblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/codeinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for code runs. For example:\n\n```\n\tThis is a `code run`.\n\tThis is another ``code run``\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(``?)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar reEnd = new RegExp(this.match[1], \"mg\");\n\t// Look for the end marker\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the text\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"code\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: text\n\t\t}]\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/codeinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/commentblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/commentblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/commentinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/commentinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/dash.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/dash.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for dashes. For example:\n\n```\nThis is an en-dash: --\n\nThis is an em-dash: ---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"dash\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{2,3}(?!-)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar dash = this.match[0].length === 2 ? \"–\" : \"—\";\n\treturn [{\n\t\ttype: \"entity\",\n\t\tentity: dash\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/dash.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/bold.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - bold. For example:\n\n```\n\tThis is ''bold'' text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except bold \n\\rules only bold \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"bold\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /''/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/''/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strong\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/italic.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - italic. For example:\n\n```\n\tThis is //italic// text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except italic\n\\rules only italic\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"italic\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\/\\//mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\/\\//mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"em\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - strikethrough. For example:\n\n```\n\tThis is ~~strikethrough~~ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except strikethrough \n\\rules only strikethrough \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"strikethrough\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~~/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/~~/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strike\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - subscript. For example:\n\n```\n\tThis is ,,subscript,, text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except subscript \n\\rules only subscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"subscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /,,/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/,,/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sub\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - superscript. For example:\n\n```\n\tThis is ^^superscript^^ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except superscript \n\\rules only superscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"superscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\^\\^/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\^\\^/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sup\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - underscore. For example:\n\n```\n\tThis is __underscore__ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except underscore \n\\rules only underscore\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"underscore\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /__/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/__/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"u\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/entity.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/entity.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML entities. For example:\n\n```\n\tThis is a copyright symbol: ©\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"entity\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(&#?[a-zA-Z0-9]{2,8};)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar entityString = this.match[1];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Return the entity\n\treturn [{type: \"entity\", entity: this.match[0]}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/entity.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/extlink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/extlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\nAn external link: http://www.tiddlywiki.com/\n\nA suppressed external link: ~http://www.tiddlyspace.com/\n```\n\nExternal links can be suppressed by preceding them with `~`.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"extlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~?(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(this.match[0].substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: this.match[0].substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: this.match[0]},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: this.match[0]\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/extlink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t},\n\t\tisBlock: true\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t}\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for marking areas with hard line breaks. For example:\n\n```\n\"\"\"\nThis is some text\nThat is set like\nIt is a Poem\nWhen it is\nClearly\nNot\n\"\"\"\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"hardlinebreaks\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\"\"\"(?:\\r?\\n)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\"\"\")|(\\r?\\n)/mg,\n\t\ttree = [],\n\t\tmatch;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tdo {\n\t\t// Parse the run up to the terminator\n\t\ttree.push.apply(tree,this.parser.parseInlineRun(reEnd,{eatTerminator: false}));\n\t\t// Redo the terminator match\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tmatch = reEnd.exec(this.parser.source);\n\t\tif(match) {\n\t\t\tthis.parser.pos = reEnd.lastIndex;\n\t\t\t// Add a line break if the terminator was a line break\n\t\t\tif(match[2]) {\n\t\t\t\ttree.push({type: \"element\", tag: \"br\"});\n\t\t\t}\n\t\t}\n\t} while(match && !match[1]);\n\t// Return the nodes\n\treturn tree;\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/heading.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/heading.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for headings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"heading\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(!{1,6})/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar headingLevel = this.match[1].length;\n\t// Move past the !s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse any classes, whitespace and then the heading itself\n\tvar classes = this.parser.parseClasses();\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// Return the heading\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"h\" + headingLevel, \n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: classes.join(\" \")}\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/heading.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/horizrule.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/horizrule.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for rules. For example:\n\n```\n---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"horizrule\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{3,}\\r?(?:\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\treturn [{type: \"element\", tag: \"hr\"}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/horizrule.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/html.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/html.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for HTML elements and widgets. For example:\n\n{{{\n<aside>\nThis is an HTML5 aside element\n</aside>\n\n<$slider target=\"MyTiddler\">\nThis is a widget invocation\n</$slider>\n\n}}}\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"html\";\nexports.types = {inline: true, block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextTag = this.findNextTag(this.parser.source,startPos,{\n\t\trequireLineBreak: this.is.block\n\t});\n\treturn this.nextTag ? this.nextTag.start : undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Retrieve the most recent match so that recursive calls don't overwrite it\n\tvar tag = this.nextTag;\n\tthis.nextTag = null;\n\t// Advance the parser position to past the tag\n\tthis.parser.pos = tag.end;\n\t// Check for an immediately following double linebreak\n\tvar hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t// Set whether we're in block mode\n\ttag.isBlock = this.is.block || hasLineBreak;\n\t// Parse the body if we need to\n\tif(!tag.isSelfClosing && $tw.config.htmlVoidElements.indexOf(tag.tag) === -1) {\n\t\t\tvar reEndString = \"</\" + $tw.utils.escapeRegExp(tag.tag) + \">\",\n\t\t\t\treEnd = new RegExp(\"(\" + reEndString + \")\",\"mg\");\n\t\tif(hasLineBreak) {\n\t\t\ttag.children = this.parser.parseBlocks(reEndString);\n\t\t} else {\n\t\t\ttag.children = this.parser.parseInlineRun(reEnd);\n\t\t}\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tvar endMatch = reEnd.exec(this.parser.source);\n\t\tif(endMatch && endMatch.index === this.parser.pos) {\n\t\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t\t}\n\t}\n\t// Return the tag\n\treturn [tag];\n};\n\n/*\nLook for an HTML tag. Returns null if not found, otherwise returns {type: \"element\", name:, attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseTag = function(source,pos,options) {\n\toptions = options || {};\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Define our regexps\n\tvar reTagName = /([a-zA-Z0-9\\-\\$]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a less than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\"<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the tag name\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,reTagName);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tnode.tag = token.match[1];\n\tif(node.tag.charAt(0) === \"$\") {\n\t\tnode.type = node.tag.substr(1);\n\t}\n\tpos = token.end;\n\t// Process attributes\n\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\twhile(attribute) {\n\t\tnode.attributes[attribute.name] = attribute;\n\t\tpos = attribute.end;\n\t\t// Get the next attribute\n\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a closing slash\n\ttoken = $tw.utils.parseTokenString(source,pos,\"/\");\n\tif(token) {\n\t\tpos = token.end;\n\t\tnode.isSelfClosing = true;\n\t}\n\t// Look for a greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Check for a required line break\n\tif(options.requireLineBreak) {\n\t\ttoken = $tw.utils.parseTokenRegExp(source,pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t\tif(!token) {\n\t\t\treturn null;\n\t\t}\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\nexports.findNextTag = function(source,pos,options) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /<([a-zA-Z\\-\\$]+)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseTag(source,match.index,options);\n\t\t// Return success\n\t\tif(tag && this.isLegalTag(tag)) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\nexports.isLegalTag = function(tag) {\n\t// Widgets are always OK\n\tif(tag.type !== \"element\") {\n\t\treturn true;\n\t// If it's an HTML tag that starts with a dash then it's not legal\n\t} else if(tag.tag.charAt(0) === \"-\") {\n\t\treturn false;\n\t} else {\n\t\t// Otherwise it's OK\n\t\treturn true;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/html.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/image.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/image.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for embedding images. For example:\n\n```\n[img[http://tiddlywiki.com/fractalveg.jpg]]\n[img width=23 height=24 [http://tiddlywiki.com/fractalveg.jpg]]\n[img width={{!!width}} height={{!!height}} [http://tiddlywiki.com/fractalveg.jpg]]\n[img[Description of image|http://tiddlywiki.com/fractalveg.jpg]]\n[img[TiddlerTitle]]\n[img[Description of image|TiddlerTitle]]\n```\n\nGenerates the `<$image>` widget.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"image\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextImage = this.findNextImage(this.parser.source,startPos);\n\treturn this.nextImage ? this.nextImage.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextImage.end;\n\tvar node = {\n\t\ttype: \"image\",\n\t\tattributes: this.nextImage.attributes\n\t};\n\treturn [node];\n};\n\n/*\nFind the next image from the current position\n*/\nexports.findNextImage = function(source,pos) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /(\\[img)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseImage(source,match.index);\n\t\t// Return success\n\t\tif(tag) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an image at the specified position. Returns null if not found, otherwise returns {type: \"image\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseImage = function(source,pos) {\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"image\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[img`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[img\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Process attributes\n\tif(source.charAt(pos) !== \"[\") {\n\t\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\t\twhile(attribute) {\n\t\t\tnode.attributes[attribute.name] = attribute;\n\t\t\tpos = attribute.end;\n\t\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t\tif(source.charAt(pos) !== \"[\") {\n\t\t\t\t// Get the next attribute\n\t\t\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t\t\t} else {\n\t\t\t\tattribute = null;\n\t\t\t}\n\t\t}\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[` after the attributes\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the source up to the terminating `]]`\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\\]]*?)\\|)?([^\\]]+?)\\]\\]/g);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\tif(token.match[1]) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: token.match[1].trim()};\n\t}\n\tnode.attributes.source = {type: \"string\", value: (token.match[2] || \"\").trim()};\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/image.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/list.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/list.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for lists. For example:\n\n```\n* This is an unordered list\n* It has two items\n\n# This is a numbered list\n## With a subitem\n# And a third item\n\n; This is a term that is being defined\n: This is the definition of that term\n```\n\nNote that lists can be nested arbitrarily:\n\n```\n#** One\n#* Two\n#** Three\n#**** Four\n#**# Five\n#**## Six\n## Seven\n### Eight\n## Nine\n```\n\nA CSS class can be applied to a list item as follows:\n\n```\n* List item one\n*.active List item two has the class `active`\n* List item three\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"list\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /([\\*#;:>]+)/mg;\n};\n\nvar listTypes = {\n\t\"*\": {listTag: \"ul\", itemTag: \"li\"},\n\t\"#\": {listTag: \"ol\", itemTag: \"li\"},\n\t\";\": {listTag: \"dl\", itemTag: \"dt\"},\n\t\":\": {listTag: \"dl\", itemTag: \"dd\"},\n\t\">\": {listTag: \"blockquote\", itemTag: \"p\"}\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Array of parse tree nodes for the previous row of the list\n\tvar listStack = [];\n\t// Cycle through the items in the list\n\twhile(true) {\n\t\t// Match the list marker\n\t\tvar reMatch = /([\\*#;:>]+)/mg;\n\t\treMatch.lastIndex = this.parser.pos;\n\t\tvar match = reMatch.exec(this.parser.source);\n\t\tif(!match || match.index !== this.parser.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check whether the list type of the top level matches\n\t\tvar listInfo = listTypes[match[0].charAt(0)];\n\t\tif(listStack.length > 0 && listStack[0].tag !== listInfo.listTag) {\n\t\t\tbreak;\n\t\t}\n\t\t// Move past the list marker\n\t\tthis.parser.pos = match.index + match[0].length;\n\t\t// Walk through the list markers for the current row\n\t\tfor(var t=0; t<match[0].length; t++) {\n\t\t\tlistInfo = listTypes[match[0].charAt(t)];\n\t\t\t// Remove any stacked up element if we can't re-use it because the list type doesn't match\n\t\t\tif(listStack.length > t && listStack[t].tag !== listInfo.listTag) {\n\t\t\t\tlistStack.splice(t,listStack.length - t);\n\t\t\t}\n\t\t\t// Construct the list element or reuse the previous one at this level\n\t\t\tif(listStack.length <= t) {\n\t\t\t\tvar listElement = {type: \"element\", tag: listInfo.listTag, children: [\n\t\t\t\t\t{type: \"element\", tag: listInfo.itemTag, children: []}\n\t\t\t\t]};\n\t\t\t\t// Link this list element into the last child item of the parent list item\n\t\t\t\tif(t) {\n\t\t\t\t\tvar prevListItem = listStack[t-1].children[listStack[t-1].children.length-1];\n\t\t\t\t\tprevListItem.children.push(listElement);\n\t\t\t\t}\n\t\t\t\t// Save this element in the stack\n\t\t\t\tlistStack[t] = listElement;\n\t\t\t} else if(t === (match[0].length - 1)) {\n\t\t\t\tlistStack[t].children.push({type: \"element\", tag: listInfo.itemTag, children: []});\n\t\t\t}\n\t\t}\n\t\tif(listStack.length > match[0].length) {\n\t\t\tlistStack.splice(match[0].length,listStack.length - match[0].length);\n\t\t}\n\t\t// Process the body of the list item into the last list item\n\t\tvar lastListChildren = listStack[listStack.length-1].children,\n\t\t\tlastListItem = lastListChildren[lastListChildren.length-1],\n\t\t\tclasses = this.parser.parseClasses();\n\t\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\t\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t\tlastListItem.children.push.apply(lastListItem.children,tree);\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(lastListItem,classes.join(\" \"));\n\t\t}\n\t\t// Consume any whitespace following the list item\n\t\tthis.parser.skipWhitespace();\n\t}\n\t// Return the root element of the list\n\treturn [listStack[0]];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/list.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrocallblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for block macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^>\\s]+)(?:\\s*)((?:[^>]|(?:>(?!>)))*?)>>(?:\\r?\\n|$)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params,\n\t\tisBlock: true\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/macrocallblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrocallinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^\\s>]+)\\s*([\\s\\S]*?)>>/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5]|| paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/macrocallinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrodef.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrodef.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for macro definitions\n\n```\n\\define name(param:defaultvalue,param2:defaultvalue)\ndefinition text, including $param$ markers\n\\end\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrodef\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\define\\s+([^(\\s]+)\\(\\s*([^)]*)\\)(\\s*\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar paramString = this.match[2],\n\t\tparams = [];\n\tif(paramString !== \"\") {\n\t\tvar reParam = /\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))?/mg,\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\twhile(paramMatch) {\n\t\t\t// Save the parameter details\n\t\t\tvar paramInfo = {name: paramMatch[1]},\n\t\t\t\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6];\n\t\t\tif(defaultValue) {\n\t\t\t\tparamInfo[\"default\"] = defaultValue;\n\t\t\t}\n\t\t\tparams.push(paramInfo);\n\t\t\t// Look for the next parameter\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\t}\n\t}\n\t// Is this a multiline definition?\n\tvar reEnd;\n\tif(this.match[3]) {\n\t\t// If so, the end of the body is marked with \\end\n\t\treEnd = /(\\r?\\n\\\\end[^\\S\\n\\r]*(?:$|\\r?\\n))/mg;\n\t} else {\n\t\t// Otherwise, the end of the definition is marked by the end of the line\n\t\treEnd = /(\\r?\\n)/mg;\n\t\t// Move past any whitespace\n\t\tthis.parser.pos = $tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos);\n\t}\n\t// Find the end of the definition\n\treEnd.lastIndex = this.parser.pos;\n\tvar text,\n\t\tendMatch = reEnd.exec(this.parser.source);\n\tif(endMatch) {\n\t\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\n\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t} else {\n\t\t// We didn't find the end of the definition, so we'll make it blank\n\t\ttext = \"\";\n\t}\n\t// Save the macro definition\n\treturn [{\n\t\ttype: \"set\",\n\t\tattributes: {\n\t\t\tname: {type: \"string\", value: this.match[1]},\n\t\t\tvalue: {type: \"string\", value: text}\n\t\t},\n\t\tchildren: [],\n\t\tparams: params\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/macrodef.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/prettyextlink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettyextlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\n[ext[http://tiddlywiki.com/fractalveg.jpg]]\n[ext[Tooltip|http://tiddlywiki.com/fractalveg.jpg]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettyextlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextLink = this.findNextLink(this.parser.source,startPos);\n\treturn this.nextLink ? this.nextLink.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextLink.end;\n\treturn [this.nextLink];\n};\n\n/*\nFind the next link from the current position\n*/\nexports.findNextLink = function(source,pos) {\n\t// A regexp for finding candidate links\n\tvar reLookahead = /(\\[ext\\[)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a link\n\t\tvar link = this.parseLink(source,match.index);\n\t\t// Return success\n\t\tif(link) {\n\t\t\treturn link;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an link at the specified position. Returns null if not found, otherwise returns {type: \"element\", tag: \"a\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseLink = function(source,pos) {\n\tvar token,\n\t\ttextNode = {\n\t\t\ttype: \"text\"\n\t\t},\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tstart: pos,\n\t\t\tattributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t},\n\t\t\tchildren: [textNode]\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[ext[`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[ext[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Look ahead for the terminating `]]`\n\tvar closePos = source.indexOf(\"]]\",pos);\n\tif(closePos === -1) {\n\t\treturn null;\n\t}\n\t// Look for a `|` separating the tooltip\n\tvar splitPos = source.indexOf(\"|\",pos);\n\tif(splitPos === -1 || splitPos > closePos) {\n\t\tsplitPos = null;\n\t}\n\t// Pull out the tooltip and URL\n\tvar tooltip, URL;\n\tif(splitPos) {\n\t\tURL = source.substring(splitPos + 1,closePos).trim();\n\t\ttextNode.text = source.substring(pos,splitPos).trim();\n\t} else {\n\t\tURL = source.substring(pos,closePos).trim();\n\t\ttextNode.text = URL;\n\t}\n\tnode.attributes.href = {type: \"string\", value: URL};\n\tnode.attributes.target = {type: \"string\", value: \"_blank\"};\n\tnode.attributes.rel = {type: \"string\", value: \"noopener noreferrer\"};\n\t// Update the end position\n\tnode.end = closePos + 2;\n\treturn node;\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/prettyextlink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/prettylink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettylink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for pretty links. For example:\n\n```\n[[Introduction]]\n\n[[Link description|TiddlerTitle]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettylink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\[\\[(.*?)(?:\\|(.*?))?\\]\\]/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Process the link\n\tvar text = this.match[1],\n\t\tlink = this.match[2] || text;\n\tif($tw.utils.isLinkExternal(link)) {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: link},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: link}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/prettylink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/quoteblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/quoteblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for quote blocks. For example:\n\n```\n\t<<<.optionalClass(es) optional cited from\n\ta quote\n\t<<<\n\t\n\t<<<.optionalClass(es)\n\ta quote\n\t<<< optional cited from\n```\n\nQuotes can be quoted by putting more <s\n\n```\n\t<<<\n\tQuote Level 1\n\t\n\t<<<<\n\tQuoteLevel 2\n\t<<<<\n\t\n\t<<<\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"quoteblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(<<<+)/mg;\n};\n\nexports.parse = function() {\n\tvar classes = [\"tc-quote\"];\n\t// Get all the details of the match\n\tvar reEndString = \"^\" + this.match[1] + \"(?!<)\";\n\t// Move past the <s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\n\t// Parse any classes, whitespace and then the optional cite itself\n\tclasses.push.apply(classes, this.parser.parseClasses());\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar cite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// before handling the cite, parse the body of the quote\n\tvar tree= this.parser.parseBlocks(reEndString);\n\t// If we got a cite, put it before the text\n\tif(cite.length > 0) {\n\t\ttree.unshift({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Parse any optional cite\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tcite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// If we got a cite, push it\n\tif(cite.length > 0) {\n\t\ttree.push({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Return the blockquote element\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"blockquote\",\n\t\tattributes: {\n\t\t\tclass: { type: \"string\", value: classes.join(\" \") },\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/quoteblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/rules.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/rules.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for rules specifications\n\n```\n\\rules except ruleone ruletwo rulethree\n\\rules only ruleone ruletwo rulethree\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"rules\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\rules[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\tif(tokens.length > 0) {\n\t\tthis.parser.amendRules(tokens[0],tokens.slice(1));\n\t}\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/rules.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/styleblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for assigning styles and classes to paragraphs and other blocks. For example:\n\n```\n@@.myClass\n@@background-color:red;\nThis paragraph will have the CSS class `myClass`.\n\n* The `<ul>` around this list will also have the class `myClass`\n* List item 2\n\n@@\n```\n\nNote that classes and styles can be mixed subject to the rule that styles must precede classes. For example\n\n```\n@@.myFirstClass.mySecondClass\n@@width:100px;.myThirdClass\nThis is a paragraph\n@@\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(?:\\.([^\\r\\n\\s]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEndString = \"^@@(?:\\\\r?\\\\n)?\";\n\tvar classes = [], styles = [];\n\tdo {\n\t\t// Get the class and style\n\t\tif(this.match[1]) {\n\t\t\tstyles.push(this.match[1]);\n\t\t}\n\t\tif(this.match[2]) {\n\t\t\tclasses.push(this.match[2].split(\".\").join(\" \"));\n\t\t}\n\t\t// Move past the match\n\t\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\t// Look for another line of classes and styles\n\t\tthis.match = this.matchRegExp.exec(this.parser.source);\n\t} while(this.match && this.match.index === this.parser.pos);\n\t// Parse the body\n\tvar tree = this.parser.parseBlocks(reEndString);\n\tfor(var t=0; t<tree.length; t++) {\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(tree[t],classes.join(\" \"));\n\t\t}\n\t\tif(styles.length > 0) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(tree[t],\"style\",styles.join(\"\"));\n\t\t}\n\t}\n\treturn tree;\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/styleblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/styleinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for assigning styles and classes to inline runs. For example:\n\n```\n@@.myClass This is some text with a class@@\n@@background-color:red;This is some text with a background colour@@\n@@width:100px;.myClass This is some text with a class and a width@@\n```\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(\\.(?:[^\\r\\n\\s]+)\\s+)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /@@/g;\n\t// Get the styles and class\n\tvar stylesString = this.match[1],\n\t\tclassString = this.match[2] ? this.match[2].split(\".\").join(\" \") : undefined;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the run up to the terminator\n\tvar tree = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\n\t// Return the classed span\n\tvar node = {\n\t\ttype: \"element\",\n\t\ttag: \"span\",\n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: \"tc-inline-style\"}\n\t\t},\n\t\tchildren: tree\n\t};\n\tif(classString) {\n\t\t$tw.utils.addClassToParseTreeNode(node,classString);\n\t}\n\tif(stylesString) {\n\t\t$tw.utils.addAttributeToParseTreeNode(node,\"style\",stylesString);\n\t}\n\treturn [node];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/styleinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/syslink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/syslink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for system tiddler links.\nCan be suppressed preceding them with `~`.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"syslink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~?\\$:\\/[a-zA-Z0-9/.\\-_]+/mg;\n};\n\nexports.parse = function() {\n\tvar match = this.match[0];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(match.substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: match.substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: match}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: match\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/syslink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/table.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/table.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for tables.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"table\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\|(?:[^\\n]*)\\|(?:[fhck]?)\\r?(?:\\n|$)/mg;\n};\n\nvar processRow = function(prevColumns) {\n\tvar cellRegExp = /(?:\\|([^\\n\\|]*)\\|)|(\\|[fhck]?\\r?(?:\\n|$))/mg,\n\t\tcellTermRegExp = /((?:\\x20*)\\|)/mg,\n\t\ttree = [],\n\t\tcol = 0,\n\t\tcolSpanCount = 1,\n\t\tprevCell,\n\t\tvAlign;\n\t// Match a single cell\n\tcellRegExp.lastIndex = this.parser.pos;\n\tvar cellMatch = cellRegExp.exec(this.parser.source);\n\twhile(cellMatch && cellMatch.index === this.parser.pos) {\n\t\tif(cellMatch[1] === \"~\") {\n\t\t\t// Rowspan\n\t\t\tvar last = prevColumns[col];\n\t\t\tif(last) {\n\t\t\t\tlast.rowSpanCount++;\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"rowspan\",last.rowSpanCount);\n\t\t\t\tvAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,\"valign\",\"center\");\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"valign\",vAlign);\n\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"colspan\",colSpanCount);\n\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \">\") {\n\t\t\t// Colspan\n\t\t\tcolSpanCount++;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \"<\" && prevCell) {\n\t\t\tcolSpanCount = 1 + $tw.utils.getAttributeValueFromParseTreeNode(prevCell,\"colspan\",1);\n\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\tcolSpanCount = 1;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[2]) {\n\t\t\t// End of row\n\t\t\tif(prevCell && colSpanCount > 1) {\n\t\t\t\tif(prevCell.attributes && prevCell.attributes && prevCell.attributes.colspan) {\n\t\t\t\t\t\tcolSpanCount += prevCell.attributes.colspan.value;\n\t\t\t\t} else {\n\t\t\t\t\tcolSpanCount -= 1;\n\t\t\t\t}\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\t}\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t\tbreak;\n\t\t} else {\n\t\t\t// For ordinary cells, step beyond the opening `|`\n\t\t\tthis.parser.pos++;\n\t\t\t// Look for a space at the start of the cell\n\t\t\tvar spaceLeft = false;\n\t\t\tvAlign = null;\n\t\t\tif(this.parser.source.substr(this.parser.pos).search(/^\\^([^\\^]|\\^\\^)/) === 0) {\n\t\t\t\tvAlign = \"top\";\n\t\t\t} else if(this.parser.source.substr(this.parser.pos).search(/^,([^,]|,,)/) === 0) {\n\t\t\t\tvAlign = \"bottom\";\n\t\t\t}\n\t\t\tif(vAlign) {\n\t\t\t\tthis.parser.pos++;\n\t\t\t}\n\t\t\tvar chr = this.parser.source.substr(this.parser.pos,1);\n\t\t\twhile(chr === \" \") {\n\t\t\t\tspaceLeft = true;\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tchr = this.parser.source.substr(this.parser.pos,1);\n\t\t\t}\n\t\t\t// Check whether this is a heading cell\n\t\t\tvar cell;\n\t\t\tif(chr === \"!\") {\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tcell = {type: \"element\", tag: \"th\", children: []};\n\t\t\t} else {\n\t\t\t\tcell = {type: \"element\", tag: \"td\", children: []};\n\t\t\t}\n\t\t\ttree.push(cell);\n\t\t\t// Record information about this cell\n\t\t\tprevCell = cell;\n\t\t\tprevColumns[col] = {rowSpanCount:1,element:cell};\n\t\t\t// Check for a colspan\n\t\t\tif(colSpanCount > 1) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"colspan\",colSpanCount);\n\t\t\t\tcolSpanCount = 1;\n\t\t\t}\n\t\t\t// Parse the cell\n\t\t\tcell.children = this.parser.parseInlineRun(cellTermRegExp,{eatTerminator: true});\n\t\t\t// Set the alignment for the cell\n\t\t\tif(vAlign) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"valign\",vAlign);\n\t\t\t}\n\t\t\tif(this.parser.source.substr(this.parser.pos - 2,1) === \" \") { // spaceRight\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",spaceLeft ? \"center\" : \"left\");\n\t\t\t} else if(spaceLeft) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",\"right\");\n\t\t\t}\n\t\t\t// Move back to the closing `|`\n\t\t\tthis.parser.pos--;\n\t\t}\n\t\tcol++;\n\t\tcellRegExp.lastIndex = this.parser.pos;\n\t\tcellMatch = cellRegExp.exec(this.parser.source);\n\t}\n\treturn tree;\n};\n\nexports.parse = function() {\n\tvar rowContainerTypes = {\"c\":\"caption\", \"h\":\"thead\", \"\":\"tbody\", \"f\":\"tfoot\"},\n\t\ttable = {type: \"element\", tag: \"table\", children: []},\n\t\trowRegExp = /^\\|([^\\n]*)\\|([fhck]?)\\r?(?:\\n|$)/mg,\n\t\trowTermRegExp = /(\\|(?:[fhck]?)\\r?(?:\\n|$))/mg,\n\t\tprevColumns = [],\n\t\tcurrRowType,\n\t\trowContainer,\n\t\trowCount = 0;\n\t// Match the row\n\trowRegExp.lastIndex = this.parser.pos;\n\tvar rowMatch = rowRegExp.exec(this.parser.source);\n\twhile(rowMatch && rowMatch.index === this.parser.pos) {\n\t\tvar rowType = rowMatch[2];\n\t\t// Check if it is a class assignment\n\t\tif(rowType === \"k\") {\n\t\t\t$tw.utils.addClassToParseTreeNode(table,rowMatch[1]);\n\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t} else {\n\t\t\t// Otherwise, create a new row if this one is of a different type\n\t\t\tif(rowType !== currRowType) {\n\t\t\t\trowContainer = {type: \"element\", tag: rowContainerTypes[rowType], children: []};\n\t\t\t\ttable.children.push(rowContainer);\n\t\t\t\tcurrRowType = rowType;\n\t\t\t}\n\t\t\t// Is this a caption row?\n\t\t\tif(currRowType === \"c\") {\n\t\t\t\t// If so, move past the opening `|` of the row\n\t\t\t\tthis.parser.pos++;\n\t\t\t\t// Move the caption to the first row if it isn't already\n\t\t\t\tif(table.children.length !== 1) {\n\t\t\t\t\ttable.children.pop(); // Take rowContainer out of the children array\n\t\t\t\t\ttable.children.splice(0,0,rowContainer); // Insert it at the bottom\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t// Set the alignment - TODO: figure out why TW did this\n//\t\t\t\trowContainer.attributes.align = rowCount === 0 ? \"top\" : \"bottom\";\n\t\t\t\t// Parse the caption\n\t\t\t\trowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});\n\t\t\t} else {\n\t\t\t\t// Create the row\n\t\t\t\tvar theRow = {type: \"element\", tag: \"tr\", children: []};\n\t\t\t\t$tw.utils.addClassToParseTreeNode(theRow,rowCount%2 ? \"oddRow\" : \"evenRow\");\n\t\t\t\trowContainer.children.push(theRow);\n\t\t\t\t// Process the row\n\t\t\t\ttheRow.children = processRow.call(this,prevColumns);\n\t\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t\t\t// Increment the row count\n\t\t\t\trowCount++;\n\t\t\t}\n\t\t}\n\t\trowMatch = rowRegExp.exec(this.parser.source);\n\t}\n\treturn [table];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/table.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/transcludeblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {},\n\t\t\tisBlock: true\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tisBlock: true,\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/transcludeblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/transcludeinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {}\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/transcludeinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/typedblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/typedblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for typed blocks. For example:\n\n```\n$$$.js\nThis will be rendered as JavaScript\n$$$\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\n$$$text/vnd.tiddlywiki>text/html\nThis will be rendered as an //HTML representation// of WikiText\n$$$\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.name = \"typedblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\$\\$\\$([^ >\\r\\n]*)(?: *> *([^ \\r\\n]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /\\r?\\n\\$\\$\\$\\r?(?:\\n|$)/mg;\n\t// Save the type\n\tvar parseType = this.match[1],\n\t\trenderType = this.match[2];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Parse the block according to the specified type\n\tvar parser = this.parser.wiki.parseText(parseType,text,{defaultType: \"text/plain\"});\n\t// If there's no render type, just return the parse tree\n\tif(!renderType) {\n\t\treturn parser.tree;\n\t} else {\n\t\t// Otherwise, render to the rendertype and return in a <PRE> tag\n\t\tvar widgetNode = this.parser.wiki.makeWidget(parser),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\ttext = renderType === \"text/html\" ? container.innerHTML : container.textContent;\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"pre\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/typedblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/wikilink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for wiki links. For example:\n\n```\nAWikiLink\nAnotherLink\n~SuppressedLink\n```\n\nPrecede a camel case word with `~` to prevent it from being recognised as a link.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"wikilink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + \"?\" + $tw.config.textPrimitives.wikiLink,\"mg\");\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the details of the match\n\tvar linkText = this.match[0];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// If the link starts with the unwikilink character then just output it as plain text\n\tif(linkText.substr(0,1) === $tw.config.textPrimitives.unWikiLink) {\n\t\treturn [{type: \"text\", text: linkText.substr(1)}];\n\t}\n\t// If the link has been preceded with a blocked letter then don't treat it as a link\n\tif(this.match.index > 0) {\n\t\tvar preRegExp = new RegExp($tw.config.textPrimitives.blockPrefixLetters,\"mg\");\n\t\tpreRegExp.lastIndex = this.match.index-1;\n\t\tvar preMatch = preRegExp.exec(this.parser.source);\n\t\tif(preMatch && preMatch.index === this.match.index-1) {\n\t\t\treturn [{type: \"text\", text: linkText}];\n\t\t}\n\t}\n\treturn [{\n\t\ttype: \"link\",\n\t\tattributes: {\n\t\t\tto: {type: \"string\", value: linkText}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: linkText\n\t\t}]\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/wikilink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/wikiparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/wikiparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe wiki text parser processes blocks of source text into a parse tree.\n\nThe parse tree is made up of nested arrays of these JavaScript objects:\n\n\t{type: \"element\", tag: <string>, attributes: {}, children: []} - an HTML element\n\t{type: \"text\", text: <string>} - a text node\n\t{type: \"entity\", value: <string>} - an entity\n\t{type: \"raw\", html: <string>} - raw HTML\n\nAttributes are stored as hashmaps of the following objects:\n\n\t{type: \"string\", value: <string>} - literal string\n\t{type: \"indirect\", textReference: <textReference>} - indirect through a text reference\n\t{type: \"macro\", macro: <TBD>} - indirect through a macro invocation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar WikiParser = function(type,text,options) {\n\tthis.wiki = options.wiki;\n\tvar self = this;\n\t// Check for an externally linked tiddler\n\tif($tw.browser && (text || \"\") === \"\" && options._canonical_uri) {\n\t\tthis.loadRemoteTiddler(options._canonical_uri);\n\t\ttext = $tw.language.getRawString(\"LazyLoadingWarning\");\n\t}\n\t// Initialise the classes if we don't have them already\n\tif(!this.pragmaRuleClasses) {\n\t\tWikiParser.prototype.pragmaRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"pragma\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.pragmaRuleClasses,\"$:/config/WikiParserRules/Pragmas/\");\n\t}\n\tif(!this.blockRuleClasses) {\n\t\tWikiParser.prototype.blockRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"block\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.blockRuleClasses,\"$:/config/WikiParserRules/Block/\");\n\t}\n\tif(!this.inlineRuleClasses) {\n\t\tWikiParser.prototype.inlineRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"inline\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.inlineRuleClasses,\"$:/config/WikiParserRules/Inline/\");\n\t}\n\t// Save the parse text\n\tthis.type = type || \"text/vnd.tiddlywiki\";\n\tthis.source = text || \"\";\n\tthis.sourceLength = this.source.length;\n\t// Set current parse position\n\tthis.pos = 0;\n\t// Instantiate the pragma parse rules\n\tthis.pragmaRules = this.instantiateRules(this.pragmaRuleClasses,\"pragma\",0);\n\t// Instantiate the parser block and inline rules\n\tthis.blockRules = this.instantiateRules(this.blockRuleClasses,\"block\",0);\n\tthis.inlineRules = this.instantiateRules(this.inlineRuleClasses,\"inline\",0);\n\t// Parse any pragmas\n\tthis.tree = [];\n\tvar topBranch = this.parsePragmas();\n\t// Parse the text into inline runs or blocks\n\tif(options.parseAsInline) {\n\t\ttopBranch.push.apply(topBranch,this.parseInlineRun());\n\t} else {\n\t\ttopBranch.push.apply(topBranch,this.parseBlocks());\n\t}\n\t// Return the parse tree\n};\n\n/*\n*/\nWikiParser.prototype.loadRemoteTiddler = function(url) {\n\tvar self = this;\n\t$tw.utils.httpRequest({\n\t\turl: url,\n\t\ttype: \"GET\",\n\t\tcallback: function(err,data) {\n\t\t\tif(!err) {\n\t\t\t\tvar tiddlers = self.wiki.deserializeTiddlers(\".tid\",data,self.wiki.getCreationFields());\n\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\ttiddler[\"_canonical_uri\"] = url;\n\t\t\t\t});\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tself.wiki.addTiddlers(tiddlers);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\n*/\nWikiParser.prototype.setupRules = function(proto,configPrefix) {\n\tvar self = this;\n\tif(!$tw.safemode) {\n\t\t$tw.utils.each(proto,function(object,name) {\n\t\t\tif(self.wiki.getTiddlerText(configPrefix + name,\"enable\") !== \"enable\") {\n\t\t\t\tdelete proto[name];\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nInstantiate an array of parse rules\n*/\nWikiParser.prototype.instantiateRules = function(classes,type,startPos) {\n\tvar rulesInfo = [],\n\t\tself = this;\n\t$tw.utils.each(classes,function(RuleClass) {\n\t\t// Instantiate the rule\n\t\tvar rule = new RuleClass(self);\n\t\trule.is = {};\n\t\trule.is[type] = true;\n\t\trule.init(self);\n\t\tvar matchIndex = rule.findNextMatch(startPos);\n\t\tif(matchIndex !== undefined) {\n\t\t\trulesInfo.push({\n\t\t\t\trule: rule,\n\t\t\t\tmatchIndex: matchIndex\n\t\t\t});\n\t\t}\n\t});\n\treturn rulesInfo;\n};\n\n/*\nSkip any whitespace at the current position. Options are:\n\ttreatNewlinesAsNonWhitespace: true if newlines are NOT to be treated as whitespace\n*/\nWikiParser.prototype.skipWhitespace = function(options) {\n\toptions = options || {};\n\tvar whitespaceRegExp = options.treatNewlinesAsNonWhitespace ? /([^\\S\\n]+)/mg : /(\\s+)/mg;\n\twhitespaceRegExp.lastIndex = this.pos;\n\tvar whitespaceMatch = whitespaceRegExp.exec(this.source);\n\tif(whitespaceMatch && whitespaceMatch.index === this.pos) {\n\t\tthis.pos = whitespaceRegExp.lastIndex;\n\t}\n};\n\n/*\nGet the next match out of an array of parse rule instances\n*/\nWikiParser.prototype.findNextMatch = function(rules,startPos) {\n\t// Find the best matching rule by finding the closest match position\n\tvar matchingRule,\n\t\tmatchingRulePos = this.sourceLength;\n\t// Step through each rule\n\tfor(var t=0; t<rules.length; t++) {\n\t\tvar ruleInfo = rules[t];\n\t\t// Ask the rule to get the next match if we've moved past the current one\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex < startPos) {\n\t\t\truleInfo.matchIndex = ruleInfo.rule.findNextMatch(startPos);\n\t\t}\n\t\t// Adopt this match if it's closer than the current best match\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex <= matchingRulePos) {\n\t\t\tmatchingRule = ruleInfo;\n\t\t\tmatchingRulePos = ruleInfo.matchIndex;\n\t\t}\n\t}\n\treturn matchingRule;\n};\n\n/*\nParse any pragmas at the beginning of a block of parse text\n*/\nWikiParser.prototype.parsePragmas = function() {\n\tvar currentTreeBranch = this.tree;\n\twhile(true) {\n\t\t// Skip whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check for the end of the text\n\t\tif(this.pos >= this.sourceLength) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check if we've arrived at a pragma rule match\n\t\tvar nextMatch = this.findNextMatch(this.pragmaRules,this.pos);\n\t\t// If not, just exit\n\t\tif(!nextMatch || nextMatch.matchIndex !== this.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the pragma rule\n\t\tvar subTree = nextMatch.rule.parse();\n\t\tif(subTree.length > 0) {\n\t\t\t// Quick hack; we only cope with a single parse tree node being returned, which is true at the moment\n\t\t\tcurrentTreeBranch.push.apply(currentTreeBranch,subTree);\n\t\t\tsubTree[0].children = [];\n\t\t\tcurrentTreeBranch = subTree[0].children;\n\t\t}\n\t}\n\treturn currentTreeBranch;\n};\n\n/*\nParse a block from the current position\n\tterminatorRegExpString: optional regular expression string that identifies the end of plain paragraphs. Must not include capturing parenthesis\n*/\nWikiParser.prototype.parseBlock = function(terminatorRegExpString) {\n\tvar terminatorRegExp = terminatorRegExpString ? new RegExp(\"(\" + terminatorRegExpString + \"|\\\\r?\\\\n\\\\r?\\\\n)\",\"mg\") : /(\\r?\\n\\r?\\n)/mg;\n\tthis.skipWhitespace();\n\tif(this.pos >= this.sourceLength) {\n\t\treturn [];\n\t}\n\t// Look for a block rule that applies at the current position\n\tvar nextMatch = this.findNextMatch(this.blockRules,this.pos);\n\tif(nextMatch && nextMatch.matchIndex === this.pos) {\n\t\treturn nextMatch.rule.parse();\n\t}\n\t// Treat it as a paragraph if we didn't find a block rule\n\treturn [{type: \"element\", tag: \"p\", children: this.parseInlineRun(terminatorRegExp)}];\n};\n\n/*\nParse a series of blocks of text until a terminating regexp is encountered or the end of the text\n\tterminatorRegExpString: terminating regular expression\n*/\nWikiParser.prototype.parseBlocks = function(terminatorRegExpString) {\n\tif(terminatorRegExpString) {\n\t\treturn this.parseBlocksTerminated(terminatorRegExpString);\n\t} else {\n\t\treturn this.parseBlocksUnterminated();\n\t}\n};\n\n/*\nParse a block from the current position to the end of the text\n*/\nWikiParser.prototype.parseBlocksUnterminated = function() {\n\tvar tree = [];\n\twhile(this.pos < this.sourceLength) {\n\t\ttree.push.apply(tree,this.parseBlock());\n\t}\n\treturn tree;\n};\n\n/*\nParse blocks of text until a terminating regexp is encountered\n*/\nWikiParser.prototype.parseBlocksTerminated = function(terminatorRegExpString) {\n\tvar terminatorRegExp = new RegExp(\"(\" + terminatorRegExpString + \")\",\"mg\"),\n\t\ttree = [];\n\t// Skip any whitespace\n\tthis.skipWhitespace();\n\t// Check if we've got the end marker\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar match = terminatorRegExp.exec(this.source);\n\t// Parse the text into blocks\n\twhile(this.pos < this.sourceLength && !(match && match.index === this.pos)) {\n\t\tvar blocks = this.parseBlock(terminatorRegExpString);\n\t\ttree.push.apply(tree,blocks);\n\t\t// Skip any whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check if we've got the end marker\n\t\tterminatorRegExp.lastIndex = this.pos;\n\t\tmatch = terminatorRegExp.exec(this.source);\n\t}\n\tif(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t}\n\treturn tree;\n};\n\n/*\nParse a run of text at the current position\n\tterminatorRegExp: a regexp at which to stop the run\n\toptions: see below\nOptions available:\n\teatTerminator: move the parse position past any encountered terminator (default false)\n*/\nWikiParser.prototype.parseInlineRun = function(terminatorRegExp,options) {\n\tif(terminatorRegExp) {\n\t\treturn this.parseInlineRunTerminated(terminatorRegExp,options);\n\t} else {\n\t\treturn this.parseInlineRunUnterminated(options);\n\t}\n};\n\nWikiParser.prototype.parseInlineRunUnterminated = function(options) {\n\tvar tree = [];\n\t// Find the next occurrence of an inline rule\n\tvar nextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around the matches until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && nextMatch) {\n\t\t// Process the text preceding the run rule\n\t\tif(nextMatch.matchIndex > this.pos) {\n\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,nextMatch.matchIndex)});\n\t\t\tthis.pos = nextMatch.matchIndex;\n\t\t}\n\t\t// Process the run rule\n\t\ttree.push.apply(tree,nextMatch.rule.parse());\n\t\t// Look for the next run rule\n\t\tnextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\ttree.push({type: \"text\", text: this.source.substr(this.pos)});\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\nWikiParser.prototype.parseInlineRunTerminated = function(terminatorRegExp,options) {\n\toptions = options || {};\n\tvar tree = [];\n\t// Find the next occurrence of the terminator\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar terminatorMatch = terminatorRegExp.exec(this.source);\n\t// Find the next occurrence of a inlinerule\n\tvar inlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && (terminatorMatch || inlineRuleMatch)) {\n\t\t// Return if we've found the terminator, and it precedes any inline rule match\n\t\tif(terminatorMatch) {\n\t\t\tif(!inlineRuleMatch || inlineRuleMatch.matchIndex >= terminatorMatch.index) {\n\t\t\t\tif(terminatorMatch.index > this.pos) {\n\t\t\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,terminatorMatch.index)});\n\t\t\t\t}\n\t\t\t\tthis.pos = terminatorMatch.index;\n\t\t\t\tif(options.eatTerminator) {\n\t\t\t\t\tthis.pos += terminatorMatch[0].length;\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}\n\t\t}\n\t\t// Process any inline rule, along with the text preceding it\n\t\tif(inlineRuleMatch) {\n\t\t\t// Preceding text\n\t\t\tif(inlineRuleMatch.matchIndex > this.pos) {\n\t\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,inlineRuleMatch.matchIndex)});\n\t\t\t\tthis.pos = inlineRuleMatch.matchIndex;\n\t\t\t}\n\t\t\t// Process the inline rule\n\t\t\ttree.push.apply(tree,inlineRuleMatch.rule.parse());\n\t\t\t// Look for the next inline rule\n\t\t\tinlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t\t\t// Look for the next terminator match\n\t\t\tterminatorRegExp.lastIndex = this.pos;\n\t\t\tterminatorMatch = terminatorRegExp.exec(this.source);\n\t\t}\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\ttree.push({type: \"text\", text: this.source.substr(this.pos)});\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\n/*\nParse zero or more class specifiers `.classname`\n*/\nWikiParser.prototype.parseClasses = function() {\n\tvar classRegExp = /\\.([^\\s\\.]+)/mg,\n\t\tclassNames = [];\n\tclassRegExp.lastIndex = this.pos;\n\tvar match = classRegExp.exec(this.source);\n\twhile(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t\tclassNames.push(match[1]);\n\t\tmatch = classRegExp.exec(this.source);\n\t}\n\treturn classNames;\n};\n\n/*\nAmend the rules used by this instance of the parser\n\ttype: `only` keeps just the named rules, `except` keeps all but the named rules\n\tnames: array of rule names\n*/\nWikiParser.prototype.amendRules = function(type,names) {\n\tnames = names || [];\n\t// Define the filter function\n\tvar keepFilter;\n\tif(type === \"only\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) !== -1;\n\t\t};\n\t} else if(type === \"except\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) === -1;\n\t\t};\n\t} else {\n\t\treturn;\n\t}\n\t// Define a function to process each of our rule arrays\n\tvar processRuleArray = function(ruleArray) {\n\t\tfor(var t=ruleArray.length-1; t>=0; t--) {\n\t\t\tif(!keepFilter(ruleArray[t].rule.name)) {\n\t\t\t\truleArray.splice(t,1);\n\t\t\t}\n\t\t}\n\t};\n\t// Process each rule array\n\tprocessRuleArray(this.pragmaRules);\n\tprocessRuleArray(this.blockRules);\n\tprocessRuleArray(this.inlineRules);\n};\n\nexports[\"text/vnd.tiddlywiki\"] = WikiParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/wikiparser/wikiparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/wikiparser/rules/wikirulebase.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikirulebase.js\ntype: application/javascript\nmodule-type: global\n\nBase class for wiki parser rules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nThis constructor is always overridden with a blank constructor, and so shouldn't be used\n*/\nvar WikiRuleBase = function() {\n};\n\n/*\nTo be overridden by individual rules\n*/\nWikiRuleBase.prototype.init = function(parser) {\n\tthis.parser = parser;\n};\n\n/*\nDefault implementation of findNextMatch uses RegExp matching\n*/\nWikiRuleBase.prototype.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\treturn this.match ? this.match.index : undefined;\n};\n\nexports.WikiRuleBase = WikiRuleBase;\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/wikirulebase.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/pluginswitcher.js": {
"text": "/*\\\ntitle: $:/core/modules/pluginswitcher.js\ntype: application/javascript\nmodule-type: global\n\nManages switching plugins for themes and languages.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\noptions:\nwiki: wiki store to be used\npluginType: type of plugin to be switched\ncontrollerTitle: title of tiddler used to control switching of this resource\ndefaultPlugins: array of default plugins to be used if nominated plugin isn't found\n*/\nfunction PluginSwitcher(options) {\n\tthis.wiki = options.wiki;\n\tthis.pluginType = options.pluginType;\n\tthis.controllerTitle = options.controllerTitle;\n\tthis.defaultPlugins = options.defaultPlugins || [];\n\t// Switch to the current plugin\n\tthis.switchPlugins();\n\t// Listen for changes to the selected plugin\n\tvar self = this;\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,self.controllerTitle)) {\n\t\t\tself.switchPlugins();\n\t\t}\n\t});\n}\n\nPluginSwitcher.prototype.switchPlugins = function() {\n\t// Get the name of the current theme\n\tvar selectedPluginTitle = this.wiki.getTiddlerText(this.controllerTitle);\n\t// If it doesn't exist, then fallback to one of the default themes\n\tvar index = 0;\n\twhile(!this.wiki.getTiddler(selectedPluginTitle) && index < this.defaultPlugins.length) {\n\t\tselectedPluginTitle = this.defaultPlugins[index++];\n\t}\n\t// Accumulate the titles of the plugins that we need to load\n\tvar plugins = [],\n\t\tself = this,\n\t\taccumulatePlugin = function(title) {\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tif(tiddler && tiddler.isPlugin() && plugins.indexOf(title) === -1) {\n\t\t\t\tplugins.push(title);\n\t\t\t\tvar pluginInfo = JSON.parse(self.wiki.getTiddlerText(title)),\n\t\t\t\t\tdependents = $tw.utils.parseStringArray(tiddler.fields.dependents || \"\");\n\t\t\t\t$tw.utils.each(dependents,function(title) {\n\t\t\t\t\taccumulatePlugin(title);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\taccumulatePlugin(selectedPluginTitle);\n\t// Unregister any existing theme tiddlers\n\tvar unregisteredTiddlers = $tw.wiki.unregisterPluginTiddlers(this.pluginType);\n\t// Register any new theme tiddlers\n\tvar registeredTiddlers = $tw.wiki.registerPluginTiddlers(this.pluginType,plugins);\n\t// Unpack the current theme tiddlers\n\t$tw.wiki.unpackPluginTiddlers();\n};\n\nexports.PluginSwitcher = PluginSwitcher;\n\n})();\n",
"title": "$:/core/modules/pluginswitcher.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/saver-handler.js": {
"text": "/*\\\ntitle: $:/core/modules/saver-handler.js\ntype: application/javascript\nmodule-type: global\n\nThe saver handler tracks changes to the store and handles saving the entire wiki via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInstantiate the saver handler with the following options:\nwiki: wiki to be synced\ndirtyTracking: true if dirty tracking should be performed\n*/\nfunction SaverHandler(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.dirtyTracking = options.dirtyTracking;\n\tthis.pendingAutoSave = false;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"saver-handler\");\n\t// Initialise our savers\n\tif($tw.browser) {\n\t\tthis.initSavers();\n\t}\n\t// Only do dirty tracking if required\n\tif($tw.browser && this.dirtyTracking) {\n\t\t// Compile the dirty tiddler filter\n\t\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t\t// Count of changes that have not yet been saved\n\t\tthis.numChanges = 0;\n\t\t// Listen out for changes to tiddlers\n\t\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t\t// Filter the changes so that we only count changes to tiddlers that we care about\n\t\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(callback) {\n\t\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\tcallback(tiddler,title);\n\t\t\t\t});\n\t\t\t});\n\t\t\t// Adjust the number of changes\n\t\t\tself.numChanges += filteredChanges.length;\n\t\t\tself.updateDirtyStatus();\n\t\t\t// Do any autosave if one is pending and there's no more change events\n\t\t\tif(self.pendingAutoSave && self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tself.pendingAutoSave = false;\n\t\t\t}\n\t\t});\n\t\t// Listen for the autosave event\n\t\t$tw.rootWidget.addEventListener(\"tm-auto-save-wiki\",function(event) {\n\t\t\t// Do the autosave unless there are outstanding tiddler change events\n\t\t\tif(self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise put ourselves in the \"pending autosave\" state and wait for the change event before we do the autosave\n\t\t\t\tself.pendingAutoSave = true;\n\t\t\t}\n\t\t});\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t}\n\t// Install the save action handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget.addEventListener(\"tm-save-wiki\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-download-file\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\tmethod: \"download\",\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t}\n}\n\nSaverHandler.prototype.titleSyncFilter = \"$:/config/SaverFilter\";\nSaverHandler.prototype.titleAutoSave = \"$:/config/AutoSave\";\nSaverHandler.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\n\n/*\nSelect the appropriate saver modules and set them up\n*/\nSaverHandler.prototype.initSavers = function(moduleType) {\n\tmoduleType = moduleType || \"saver\";\n\t// Instantiate the available savers\n\tthis.savers = [];\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tif(module.canSave(self)) {\n\t\t\tself.savers.push(module.create(self.wiki));\n\t\t}\n\t});\n\t// Sort the savers into priority order\n\tthis.savers.sort(function(a,b) {\n\t\tif(a.info.priority < b.info.priority) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(a.info.priority > b.info.priority) {\n\t\t\t\treturn +1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nSave the wiki contents. Options are:\n\tmethod: \"save\", \"autosave\" or \"download\"\n\ttemplate: the tiddler containing the template to save\n\tdownloadType: the content type for the saved file\n*/\nSaverHandler.prototype.saveWiki = function(options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tmethod = options.method || \"save\",\n\t\tvariables = options.variables || {},\n\t\ttemplate = options.template || \"$:/core/save/all\",\n\t\tdownloadType = options.downloadType || \"text/plain\",\n\t\ttext = this.wiki.renderTiddler(downloadType,template,options),\n\t\tcallback = function(err) {\n\t\t\tif(err) {\n\t\t\t\talert($tw.language.getString(\"Error/WhileSaving\") + \":\\n\\n\" + err);\n\t\t\t} else {\n\t\t\t\t// Clear the task queue if we're saving (rather than downloading)\n\t\t\t\tif(method !== \"download\") {\n\t\t\t\t\tself.numChanges = 0;\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t}\n\t\t\t\t$tw.notifier.display(self.titleSavedNotification);\n\t\t\t\tif(options.callback) {\n\t\t\t\t\toptions.callback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t// Ignore autosave if disabled\n\tif(method === \"autosave\" && this.wiki.getTiddlerText(this.titleAutoSave,\"yes\") !== \"yes\") {\n\t\treturn false;\n\t}\n\t// Call the highest priority saver that supports this method\n\tfor(var t=this.savers.length-1; t>=0; t--) {\n\t\tvar saver = this.savers[t];\n\t\tif(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback,{variables: {filename: variables.filename}})) {\n\t\t\tthis.logger.log(\"Saving wiki with method\",method,\"through saver\",saver.info.name);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSaverHandler.prototype.isDirty = function() {\n\treturn this.numChanges > 0;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSaverHandler.prototype.updateDirtyStatus = function() {\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t}\n};\n\nexports.SaverHandler = SaverHandler;\n\n})();\n",
"title": "$:/core/modules/saver-handler.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/savers/andtidwiki.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/andtidwiki.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the AndTidWiki Android app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar AndTidWiki = function(wiki) {\n};\n\nAndTidWiki.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.toString().split(\"#\")[0]);\n\t// Strip the file://\n\tif(pathname.indexOf(\"file://\") === 0) {\n\t\tpathname = pathname.substr(7);\n\t}\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Save the file\n\twindow.twi.saveFile(pathname,text);\n\t// Call the callback\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nAndTidWiki.prototype.info = {\n\tname: \"andtidwiki\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.twi && !!window.twi.saveFile;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new AndTidWiki(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/andtidwiki.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/download.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/download.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar DownloadSaver = function(wiki) {\n};\n\nDownloadSaver.prototype.save = function(text,method,callback,options) {\n\toptions = options || {};\n\t// Get the current filename\n\tvar filename = options.variables.filename;\n\tif(!filename) {\n\t\tvar p = document.location.pathname.lastIndexOf(\"/\");\n\t\tif(p !== -1) {\n\t\t\tfilename = document.location.pathname.substr(p+1);\n\t\t}\n\t}\n\tif(!filename) {\n\t\tfilename = \"tiddlywiki.html\";\n\t}\n\t// Set up the link\n\tvar link = document.createElement(\"a\");\n\tlink.setAttribute(\"target\",\"_blank\");\n\tlink.setAttribute(\"rel\",\"noopener noreferrer\");\n\tif(Blob !== undefined) {\n\t\tvar blob = new Blob([text], {type: \"text/html\"});\n\t\tlink.setAttribute(\"href\", URL.createObjectURL(blob));\n\t} else {\n\t\tlink.setAttribute(\"href\",\"data:text/html,\" + encodeURIComponent(text));\n\t}\n\tlink.setAttribute(\"download\",filename);\n\tdocument.body.appendChild(link);\n\tlink.click();\n\tdocument.body.removeChild(link);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nDownloadSaver.prototype.info = {\n\tname: \"download\",\n\tpriority: 100,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn document.createElement(\"a\").download !== undefined;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new DownloadSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/download.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/fsosaver.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/fsosaver.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via MS FileSystemObject ActiveXObject\n\nNote: Since TiddlyWiki's markup contains the MOTW, the FileSystemObject normally won't be available. \nHowever, if the wiki is loaded as an .HTA file (Windows HTML Applications) then the FSO can be used.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar FSOSaver = function(wiki) {\n};\n\nFSOSaver.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = unescape(document.location.pathname);\n\t// Test for a Windows path of the form /x:\\blah...\n\tif(/^\\/[A-Z]\\:\\\\[^\\\\]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t} else if(document.location.hostname !== \"\" && /^\\/\\\\[^\\\\]+\\\\[^\\\\]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t\t// reconstruct UNC path\n\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t} else {\n\t\treturn false;\n\t}\n\t// Save the file (as UTF-16)\n\tvar fso = new ActiveXObject(\"Scripting.FileSystemObject\");\n\tvar file = fso.OpenTextFile(pathname,2,-1,-1);\n\tfile.Write(text);\n\tfile.Close();\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nFSOSaver.prototype.info = {\n\tname: \"FSOSaver\",\n\tpriority: 120,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\ttry {\n\t\treturn (window.location.protocol === \"file:\") && !!(new ActiveXObject(\"Scripting.FileSystemObject\"));\n\t} catch(e) { return false; }\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new FSOSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/fsosaver.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/manualdownload.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/manualdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Title of the tiddler containing the download message\nvar downloadInstructionsTitle = \"$:/language/Modals/Download\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar ManualDownloadSaver = function(wiki) {\n};\n\nManualDownloadSaver.prototype.save = function(text,method,callback) {\n\t$tw.modal.display(downloadInstructionsTitle,{\n\t\tdownloadLink: \"data:text/html,\" + encodeURIComponent(text)\n\t});\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nManualDownloadSaver.prototype.info = {\n\tname: \"manualdownload\",\n\tpriority: 0,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new ManualDownloadSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/manualdownload.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/msdownload.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/msdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via window.navigator.msSaveBlob()\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar MsDownloadSaver = function(wiki) {\n};\n\nMsDownloadSaver.prototype.save = function(text,method,callback) {\n\t// Get the current filename\n\tvar filename = \"tiddlywiki.html\",\n\t\tp = document.location.pathname.lastIndexOf(\"/\");\n\tif(p !== -1) {\n\t\tfilename = document.location.pathname.substr(p+1);\n\t}\n\t// Set up the link\n\tvar blob = new Blob([text], {type: \"text/html\"});\n\twindow.navigator.msSaveBlob(blob,filename);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nMsDownloadSaver.prototype.info = {\n\tname: \"msdownload\",\n\tpriority: 110,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.navigator.msSaveBlob;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new MsDownloadSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/msdownload.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/put.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/put.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by performing a PUT request to the server\n\nWorks with any server which accepts a PUT request\nto the current URL, such as a WebDAV server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar PutSaver = function(wiki) {\n\tthis.wiki = wiki;\n\tvar self = this;\n\t// Async server probe. Until probe finishes, save will fail fast\n\t// See also https://github.com/Jermolene/TiddlyWiki5/issues/2276\n\tvar req = new XMLHttpRequest();\n\treq.open(\"OPTIONS\",encodeURI(document.location.protocol + \"//\" + document.location.hostname + \":\" + document.location.port + document.location.pathname));\n\treq.onload = function() {\n\t\t// Check DAV header http://www.webdav.org/specs/rfc2518.html#rfc.section.9.1\n\t\tself.serverAcceptsPuts = (this.status === 200 && !!this.getResponseHeader('dav'));\n\t};\n\treq.send();\n};\n\nPutSaver.prototype.save = function(text,method,callback) {\n\tif (!this.serverAcceptsPuts) {\n\t\treturn false;\n\t}\n\tvar req = new XMLHttpRequest();\n\t// TODO: store/check ETags if supported by server, to protect against overwrites\n\t// Prompt: Do you want to save over this? Y/N\n\t// Merging would be ideal, and may be possible using future generic merge flow\n\treq.onload = function() {\n\t\tif (this.status === 200 || this.status === 201) {\n\t\t\tcallback(null); // success\n\t\t}\n\t\telse {\n\t\t\tcallback(this.responseText); // fail\n\t\t}\n\t};\n\treq.open(\"PUT\", encodeURI(window.location.href));\n\treq.setRequestHeader(\"Content-Type\", \"text/html;charset=UTF-8\");\n\treq.send(text);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nPutSaver.prototype.info = {\n\tname: \"put\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn /^https?:/.test(location.protocol);\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new PutSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/put.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/tiddlyfox.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/tiddlyfox.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TiddlyFox file extension\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TiddlyFoxSaver = function(wiki) {\n};\n\nTiddlyFoxSaver.prototype.save = function(text,method,callback) {\n\tvar messageBox = document.getElementById(\"tiddlyfox-message-box\");\n\tif(messageBox) {\n\t\t// Get the pathname of this document\n\t\tvar pathname = document.location.toString().split(\"#\")[0];\n\t\t// Replace file://localhost/ with file:///\n\t\tif(pathname.indexOf(\"file://localhost/\") === 0) {\n\t\t\tpathname = \"file://\" + pathname.substr(16);\n\t\t}\n\t\t// Windows path file:///x:/blah/blah --> x:\\blah\\blah\n\t\tif(/^file\\:\\/\\/\\/[A-Z]\\:\\//i.test(pathname)) {\n\t\t\t// Remove the leading slash and convert slashes to backslashes\n\t\t\tpathname = pathname.substr(8).replace(/\\//g,\"\\\\\");\n\t\t// Firefox Windows network path file://///server/share/blah/blah --> //server/share/blah/blah\n\t\t} else if(pathname.indexOf(\"file://///\") === 0) {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(10)).replace(/\\//g,\"\\\\\");\n\t\t// Mac/Unix local path file:///path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:///\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(7));\n\t\t// Mac/Unix local path file:/path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:/\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(5));\n\t\t// Otherwise Windows networth path file://server/share/path/path --> \\\\server\\share\\path\\path\n\t\t} else {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(7)).replace(new RegExp(\"/\",\"g\"),\"\\\\\");\n\t\t}\n\t\t// Create the message element and put it in the message box\n\t\tvar message = document.createElement(\"div\");\n\t\tmessage.setAttribute(\"data-tiddlyfox-path\",decodeURIComponent(pathname));\n\t\tmessage.setAttribute(\"data-tiddlyfox-content\",text);\n\t\tmessageBox.appendChild(message);\n\t\t// Add an event handler for when the file has been saved\n\t\tmessage.addEventListener(\"tiddlyfox-have-saved-file\",function(event) {\n\t\t\tcallback(null);\n\t\t}, false);\n\t\t// Create and dispatch the custom event to the extension\n\t\tvar event = document.createEvent(\"Events\");\n\t\tevent.initEvent(\"tiddlyfox-save-file\",true,false);\n\t\tmessage.dispatchEvent(event);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyFoxSaver.prototype.info = {\n\tname: \"tiddlyfox\",\n\tpriority: 1500,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyFoxSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/tiddlyfox.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/tiddlyie.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/tiddlyie.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via Internet Explorer BHO extenion (TiddlyIE)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar TiddlyIESaver = function(wiki) {\n};\n\nTiddlyIESaver.prototype.save = function(text,method,callback) {\n\t// Check existence of TiddlyIE BHO extension (note: only works after document is complete)\n\tif(typeof(window.TiddlyIE) != \"undefined\") {\n\t\t// Get the pathname of this document\n\t\tvar pathname = unescape(document.location.pathname);\n\t\t// Test for a Windows path of the form /x:/blah...\n\t\tif(/^\\/[A-Z]\\:\\/[^\\/]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+ (is this better?: ^/[a-z]:/[^/]+(/[^/]+)*\\.[^/]+ )\n\t\t\t// Remove the leading slash\n\t\t\tpathname = pathname.substr(1);\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t} else if(document.hostname !== \"\" && /^\\/[^\\/]+\\/[^\\/]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t\t// reconstruct UNC path\n\t\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t\t} else return false;\n\t\t// Prompt the user to save the file\n\t\twindow.TiddlyIE.save(pathname, text);\n\t\t// Callback that we succeeded\n\t\tcallback(null);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyIESaver.prototype.info = {\n\tname: \"tiddlyiesaver\",\n\tpriority: 1500,\n\tcapabilities: [\"save\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyIESaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/tiddlyie.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/twedit.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/twedit.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TWEdit iOS app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TWEditSaver = function(wiki) {\n};\n\nTWEditSaver.prototype.save = function(text,method,callback) {\n\t// Bail if we're not running under TWEdit\n\tif(typeof DeviceInfo !== \"object\") {\n\t\treturn false;\n\t}\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.pathname);\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Remove the leading \"/Documents\" from path\n\tvar prefix = \"/Documents\";\n\tif(pathname.indexOf(prefix) === 0) {\n\t\tpathname = pathname.substr(prefix.length);\n\t}\n\t// Error handler\n\tvar errorHandler = function(event) {\n\t\t// Error\n\t\tcallback($tw.language.getString(\"Error/SavingToTWEdit\") + \": \" + event.target.error.code);\n\t};\n\t// Get the file system\n\twindow.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem) {\n\t\t// Now we've got the filesystem, get the fileEntry\n\t\tfileSystem.root.getFile(pathname, {create: true}, function(fileEntry) {\n\t\t\t// Now we've got the fileEntry, create the writer\n\t\t\tfileEntry.createWriter(function(writer) {\n\t\t\t\twriter.onerror = errorHandler;\n\t\t\t\twriter.onwrite = function() {\n\t\t\t\t\tcallback(null);\n\t\t\t\t};\n\t\t\t\twriter.position = 0;\n\t\t\t\twriter.write(text);\n\t\t\t},errorHandler);\n\t\t}, errorHandler);\n\t}, errorHandler);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nTWEditSaver.prototype.info = {\n\tname: \"twedit\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TWEditSaver(wiki);\n};\n\n/////////////////////////// Hack\n// HACK: This ensures that TWEdit recognises us as a TiddlyWiki document\nif($tw.browser) {\n\twindow.version = {title: \"TiddlyWiki\"};\n}\n\n})();\n",
"title": "$:/core/modules/savers/twedit.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/upload.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/upload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via upload to a server.\n\nDesigned to be compatible with BidiX's UploadPlugin at http://tiddlywiki.bidix.info/#UploadPlugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar UploadSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nUploadSaver.prototype.save = function(text,method,callback) {\n\t// Get the various parameters we need\n\tvar backupDir = this.wiki.getTextReference(\"$:/UploadBackupDir\") || \".\",\n\t\tusername = this.wiki.getTextReference(\"$:/UploadName\"),\n\t\tpassword = $tw.utils.getPassword(\"upload\"),\n\t\tuploadDir = this.wiki.getTextReference(\"$:/UploadDir\") || \".\",\n\t\tuploadFilename = this.wiki.getTextReference(\"$:/UploadFilename\") || \"index.html\",\n\t\turl = this.wiki.getTextReference(\"$:/UploadURL\");\n\t// Bail out if we don't have the bits we need\n\tif(!username || username.toString().trim() === \"\" || !password || password.toString().trim() === \"\") {\n\t\treturn false;\n\t}\n\t// Construct the url if not provided\n\tif(!url) {\n\t\turl = \"http://\" + username + \".tiddlyspot.com/store.cgi\";\n\t}\n\t// Assemble the header\n\tvar boundary = \"---------------------------\" + \"AaB03x\";\t\n\tvar uploadFormName = \"UploadPlugin\";\n\tvar head = [];\n\thead.push(\"--\" + boundary + \"\\r\\nContent-disposition: form-data; name=\\\"UploadPlugin\\\"\\r\\n\");\n\thead.push(\"backupDir=\" + backupDir + \";user=\" + username + \";password=\" + password + \";uploaddir=\" + uploadDir + \";;\"); \n\thead.push(\"\\r\\n\" + \"--\" + boundary);\n\thead.push(\"Content-disposition: form-data; name=\\\"userfile\\\"; filename=\\\"\" + uploadFilename + \"\\\"\");\n\thead.push(\"Content-Type: text/html;charset=UTF-8\");\n\thead.push(\"Content-Length: \" + text.length + \"\\r\\n\");\n\thead.push(\"\");\n\t// Assemble the tail and the data itself\n\tvar tail = \"\\r\\n--\" + boundary + \"--\\r\\n\",\n\t\tdata = head.join(\"\\r\\n\") + text + tail;\n\t// Do the HTTP post\n\tvar http = new XMLHttpRequest();\n\thttp.open(\"POST\",url,true,username,password);\n\thttp.setRequestHeader(\"Content-Type\",\"multipart/form-data; charset=UTF-8; boundary=\" + boundary);\n\thttp.onreadystatechange = function() {\n\t\tif(http.readyState == 4 && http.status == 200) {\n\t\t\tif(http.responseText.substr(0,4) === \"0 - \") {\n\t\t\t\tcallback(null);\n\t\t\t} else {\n\t\t\t\tcallback(http.responseText);\n\t\t\t}\n\t\t}\n\t};\n\ttry {\n\t\thttp.send(data);\n\t} catch(ex) {\n\t\treturn callback($tw.language.getString(\"Error/Caption\") + \":\" + ex);\n\t}\n\t$tw.notifier.display(\"$:/language/Notifications/Save/Starting\");\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nUploadSaver.prototype.info = {\n\tname: \"upload\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new UploadSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/upload.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/browser-messaging.js": {
"text": "/*\\\ntitle: $:/core/modules/browser-messaging.js\ntype: application/javascript\nmodule-type: startup\n\nBrowser message handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"browser-messaging\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n/*\nLoad a specified url as an iframe and call the callback when it is loaded. If the url is already loaded then the existing iframe instance is used\n*/\nfunction loadIFrame(url,callback) {\n\t// Check if iframe already exists\n\tvar iframeInfo = $tw.browserMessaging.iframeInfoMap[url];\n\tif(iframeInfo) {\n\t\t// We've already got the iframe\n\t\tcallback(null,iframeInfo);\n\t} else {\n\t\t// Create the iframe and save it in the list\n\t\tvar iframe = document.createElement(\"iframe\"),\n\t\t\tiframeInfo = {\n\t\t\t\turl: url,\n\t\t\t\tstatus: \"loading\",\n\t\t\t\tdomNode: iframe\n\t\t\t};\n\t\t$tw.browserMessaging.iframeInfoMap[url] = iframeInfo;\n\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t// Add the iframe to the DOM and hide it\n\t\tiframe.style.display = \"none\";\n\t\tdocument.body.appendChild(iframe);\n\t\t// Set up onload\n\t\tiframe.onload = function() {\n\t\t\tiframeInfo.status = \"loaded\";\n\t\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t\tcallback(null,iframeInfo);\n\t\t};\n\t\tiframe.onerror = function() {\n\t\t\tcallback(\"Cannot load iframe\");\n\t\t};\n\t\ttry {\n\t\t\tiframe.src = url;\n\t\t} catch(ex) {\n\t\t\tcallback(ex);\n\t\t}\n\t}\n}\n\nfunction saveIFrameInfoTiddler(iframeInfo) {\n\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),{\n\t\ttitle: \"$:/temp/ServerConnection/\" + iframeInfo.url,\n\t\ttext: iframeInfo.status,\n\t\ttags: [\"$:/tags/ServerConnection\"],\n\t\turl: iframeInfo.url\n\t},$tw.wiki.getModificationFields()));\n}\n\nexports.startup = function() {\n\t// Initialise the store of iframes we've created\n\t$tw.browserMessaging = {\n\t\tiframeInfoMap: {} // Hashmap by URL of {url:,status:\"loading/loaded\",domNode:}\n\t};\n\t// Listen for widget messages to control loading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\tif(url) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers.json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-info\",\n\t\t\t\t\t\t\tinfoTitlePrefix: paramObject.infoTitlePrefix || \"$:/temp/RemoteAssetInfo/\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-from-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url,\n\t\t\ttitle = paramObject.title;\n\t\tif(url && title) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers/\" + encodeURIComponent(title) + \".json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-tiddler\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for window messages from other windows\n\twindow.addEventListener(\"message\",function listener(event){\n\t\tconsole.log(\"browser-messaging: \",document.location.toString())\n\t\tconsole.log(\"browser-messaging: Received message from\",event.origin);\n\t\tconsole.log(\"browser-messaging: Message content\",event.data);\n\t\tswitch(event.data.verb) {\n\t\t\tcase \"GET-RESPONSE\":\n\t\t\t\tif(event.data.status.charAt(0) === \"2\") {\n\t\t\t\t\tif(event.data.cookies) {\n\t\t\t\t\t\tif(event.data.cookies.type === \"save-info\") {\n\t\t\t\t\t\t\tvar tiddlers = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\t\t\t\t\ttitle: event.data.cookies.infoTitlePrefix + event.data.cookies.url + \"/\" + tiddler.title,\n\t\t\t\t\t\t\t\t\t\"original-title\": tiddler.title,\n\t\t\t\t\t\t\t\t\ttext: \"\",\n\t\t\t\t\t\t\t\t\ttype: \"text/vnd.tiddlywiki\",\n\t\t\t\t\t\t\t\t\t\"original-type\": tiddler.type,\n\t\t\t\t\t\t\t\t\t\"plugin-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-plugin-type\": tiddler[\"plugin-type\"],\n\t\t\t\t\t\t\t\t\t\"module-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-module-type\": tiddler[\"module-type\"],\n\t\t\t\t\t\t\t\t\ttags: [\"$:/tags/RemoteAssetInfo\"],\n\t\t\t\t\t\t\t\t\t\"original-tags\": $tw.utils.stringifyList(tiddler.tags || []),\n\t\t\t\t\t\t\t\t\t\"server-url\": event.data.cookies.url\n\t\t\t\t\t\t\t\t},$tw.wiki.getModificationFields()));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if(event.data.cookies.type === \"save-tiddler\") {\n\t\t\t\t\t\t\tvar tiddler = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t},false);\n};\n\n})();\n",
"title": "$:/core/modules/browser-messaging.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/commands.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/commands.js\ntype: application/javascript\nmodule-type: startup\n\nCommand processing\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"commands\";\nexports.platforms = [\"node\"];\nexports.after = [\"story\"];\nexports.synchronous = false;\n\nexports.startup = function(callback) {\n\t// On the server, start a commander with the command line arguments\n\tvar commander = new $tw.Commander(\n\t\t$tw.boot.argv,\n\t\tfunction(err) {\n\t\t\tif(err) {\n\t\t\t\treturn $tw.utils.error(\"Error: \" + err);\n\t\t\t}\n\t\t\tcallback();\n\t\t},\n\t\t$tw.wiki,\n\t\t{output: process.stdout, error: process.stderr}\n\t);\n\tcommander.execute();\n};\n\n})();\n",
"title": "$:/core/modules/startup/commands.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/favicon.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/favicon.js\ntype: application/javascript\nmodule-type: startup\n\nFavicon handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"favicon\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\t\t\n// Favicon tiddler\nvar FAVICON_TITLE = \"$:/favicon.ico\";\n\nexports.startup = function() {\n\t// Set up the favicon\n\tsetFavicon();\n\t// Reset the favicon when the tiddler changes\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,FAVICON_TITLE)) {\n\t\t\tsetFavicon();\n\t\t}\n\t});\n};\n\nfunction setFavicon() {\n\tvar tiddler = $tw.wiki.getTiddler(FAVICON_TITLE);\n\tif(tiddler) {\n\t\tvar faviconLink = document.getElementById(\"faviconLink\");\n\t\tfaviconLink.setAttribute(\"href\",\"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text);\n\t}\n}\n\n})();\n",
"title": "$:/core/modules/startup/favicon.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/info.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/info.js\ntype: application/javascript\nmodule-type: startup\n\nInitialise $:/info tiddlers via $:/temp/info-plugin pseudo-plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"info\";\nexports.before = [\"startup\"];\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Collect up the info tiddlers\n\tvar infoTiddlerFields = {};\n\t// Give each info module a chance to fill in as many info tiddlers as they want\n\t$tw.modules.forEachModuleOfType(\"info\",function(title,moduleExports) {\n\t\tif(moduleExports && moduleExports.getInfoTiddlerFields) {\n\t\t\tvar tiddlerFieldsArray = moduleExports.getInfoTiddlerFields(infoTiddlerFields);\n\t\t\t$tw.utils.each(tiddlerFieldsArray,function(fields) {\n\t\t\t\tif(fields) {\n\t\t\t\t\tinfoTiddlerFields[fields.title] = fields;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Bake the info tiddlers into a plugin\n\tvar fields = {\n\t\ttitle: \"$:/temp/info-plugin\",\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"info\",\n\t\ttext: JSON.stringify({tiddlers: infoTiddlerFields},null,$tw.config.preferences.jsonSpaces)\n\t};\n\t$tw.wiki.addTiddler(new $tw.Tiddler(fields));\n\t$tw.wiki.readPluginInfo();\n\t$tw.wiki.registerPluginTiddlers(\"info\");\n\t$tw.wiki.unpackPluginTiddlers();\n};\n\n})();\n",
"title": "$:/core/modules/startup/info.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/load-modules.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/load-modules.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"load-modules\";\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Load modules\n\t$tw.modules.applyMethods(\"utils\",$tw.utils);\n\tif($tw.node) {\n\t\t$tw.modules.applyMethods(\"utils-node\",$tw.utils);\n\t}\n\t$tw.modules.applyMethods(\"global\",$tw);\n\t$tw.modules.applyMethods(\"config\",$tw.config);\n\t$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap(\"tiddlerfield\");\n\t$tw.modules.applyMethods(\"tiddlermethod\",$tw.Tiddler.prototype);\n\t$tw.modules.applyMethods(\"wikimethod\",$tw.Wiki.prototype);\n\t$tw.modules.applyMethods(\"tiddlerdeserializer\",$tw.Wiki.tiddlerDeserializerModules);\n\t$tw.macros = $tw.modules.getModulesByTypeAsHashmap(\"macro\");\n\t$tw.wiki.initParsers();\n\t$tw.Commander.initCommands();\n};\n\n})();\n",
"title": "$:/core/modules/startup/load-modules.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/password.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/password.js\ntype: application/javascript\nmodule-type: startup\n\nPassword handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"password\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t$tw.rootWidget.addEventListener(\"tm-set-password\",function(event) {\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: $tw.language.getString(\"Encryption/PromptSetPassword\"),\n\t\t\tnoUserName: true,\n\t\t\tsubmitText: $tw.language.getString(\"Encryption/SetPassword\"),\n\t\t\tcanCancel: true,\n\t\t\trepeatPassword: true,\n\t\t\tcallback: function(data) {\n\t\t\t\tif(data) {\n\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t}\n\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t}\n\t\t});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-clear-password\",function(event) {\n\t\tif($tw.browser) {\n\t\t\tif(!confirm($tw.language.getString(\"Encryption/ConfirmClearPassword\"))) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t$tw.crypto.setPassword(null);\n\t});\n\t// Ensure that $:/isEncrypted is maintained properly\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,\"$:/isEncrypted\")) {\n\t\t\t$tw.crypto.updateCryptoStateTiddler();\n\t\t}\n\t});\n};\n\n})();\n",
"title": "$:/core/modules/startup/password.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/render.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/render.js\ntype: application/javascript\nmodule-type: startup\n\nTitle, stylesheet and page rendering\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"render\";\nexports.platforms = [\"browser\"];\nexports.after = [\"story\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar PAGE_TITLE_TITLE = \"$:/core/wiki/title\";\nvar PAGE_STYLESHEET_TITLE = \"$:/core/ui/PageStylesheet\";\nvar PAGE_TEMPLATE_TITLE = \"$:/core/ui/PageTemplate\";\n\n// Time (in ms) that we defer refreshing changes to draft tiddlers\nvar DRAFT_TIDDLER_TIMEOUT_TITLE = \"$:/config/Drafts/TypingTimeout\";\nvar DRAFT_TIDDLER_TIMEOUT = 400;\n\nexports.startup = function() {\n\t// Set up the title\n\t$tw.titleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TITLE_TITLE,{document: $tw.fakeDocument, parseAsInline: true});\n\t$tw.titleContainer = $tw.fakeDocument.createElement(\"div\");\n\t$tw.titleWidgetNode.render($tw.titleContainer,null);\n\tdocument.title = $tw.titleContainer.textContent;\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.titleWidgetNode.refresh(changes,$tw.titleContainer,null)) {\n\t\t\tdocument.title = $tw.titleContainer.textContent;\n\t\t}\n\t});\n\t// Set up the styles\n\t$tw.styleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_STYLESHEET_TITLE,{document: $tw.fakeDocument});\n\t$tw.styleContainer = $tw.fakeDocument.createElement(\"style\");\n\t$tw.styleWidgetNode.render($tw.styleContainer,null);\n\t$tw.styleElement = document.createElement(\"style\");\n\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\tdocument.head.insertBefore($tw.styleElement,document.head.firstChild);\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"styleRefresh\",function(changes) {\n\t\tif($tw.styleWidgetNode.refresh(changes,$tw.styleContainer,null)) {\n\t\t\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\t\t}\n\t}));\n\t// Display the $:/core/ui/PageTemplate tiddler to kick off the display\n\t$tw.perf.report(\"mainRender\",function() {\n\t\t$tw.pageWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TEMPLATE_TITLE,{document: document, parentWidget: $tw.rootWidget});\n\t\t$tw.pageContainer = document.createElement(\"div\");\n\t\t$tw.utils.addClass($tw.pageContainer,\"tc-page-container-wrapper\");\n\t\tdocument.body.insertBefore($tw.pageContainer,document.body.firstChild);\n\t\t$tw.pageWidgetNode.render($tw.pageContainer,null);\n\t})();\n\t// Prepare refresh mechanism\n\tvar deferredChanges = Object.create(null),\n\t\ttimerId;\n\tfunction refresh() {\n\t\t// Process the refresh\n\t\t$tw.pageWidgetNode.refresh(deferredChanges);\n\t\tdeferredChanges = Object.create(null);\n\t}\n\t// Add the change event handler\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"mainRefresh\",function(changes) {\n\t\t// Check if only drafts have changed\n\t\tvar onlyDraftsHaveChanged = true;\n\t\tfor(var title in changes) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(!tiddler || !tiddler.hasField(\"draft.of\")) {\n\t\t\t\tonlyDraftsHaveChanged = false;\n\t\t\t}\n\t\t}\n\t\t// Defer the change if only drafts have changed\n\t\tif(timerId) {\n\t\t\tclearTimeout(timerId);\n\t\t}\n\t\ttimerId = null;\n\t\tif(onlyDraftsHaveChanged) {\n\t\t\tvar timeout = parseInt($tw.wiki.getTiddlerText(DRAFT_TIDDLER_TIMEOUT_TITLE,\"\"),10);\n\t\t\tif(isNaN(timeout)) {\n\t\t\t\ttimeout = DRAFT_TIDDLER_TIMEOUT;\n\t\t\t}\n\t\t\ttimerId = setTimeout(refresh,timeout);\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t} else {\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t\trefresh();\n\t\t}\n\t}));\n\t// Fix up the link between the root widget and the page container\n\t$tw.rootWidget.domNodes = [$tw.pageContainer];\n\t$tw.rootWidget.children = [$tw.pageWidgetNode];\n};\n\n})();\n",
"title": "$:/core/modules/startup/render.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/rootwidget.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/rootwidget.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget and the core root widget handlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"rootwidget\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.before = [\"story\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Install the modal message mechanism\n\t$tw.modal = new $tw.utils.Modal($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-modal\",function(event) {\n\t\t$tw.modal.display(event.param,{variables: event.paramObject});\n\t});\n\t// Install the notification mechanism\n\t$tw.notifier = new $tw.utils.Notifier($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-notify\",function(event) {\n\t\t$tw.notifier.display(event.param,{variables: event.paramObject});\n\t});\n\t// Install the scroller\n\t$tw.pageScroller = new $tw.utils.PageScroller();\n\t$tw.rootWidget.addEventListener(\"tm-scroll\",function(event) {\n\t\t$tw.pageScroller.handleEvent(event);\n\t});\n\tvar fullscreen = $tw.utils.getFullScreenApis();\n\tif(fullscreen) {\n\t\t$tw.rootWidget.addEventListener(\"tm-full-screen\",function(event) {\n\t\t\tif(document[fullscreen._fullscreenElement]) {\n\t\t\t\tdocument[fullscreen._exitFullscreen]();\n\t\t\t} else {\n\t\t\t\tdocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t}\n\t\t});\n\t}\n\t// If we're being viewed on a data: URI then give instructions for how to save\n\tif(document.location.protocol === \"data:\") {\n\t\t$tw.rootWidget.dispatchEvent({\n\t\t\ttype: \"tm-modal\",\n\t\t\tparam: \"$:/language/Modals/SaveInstructions\"\n\t\t});\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/startup/rootwidget.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup.js": {
"text": "/*\\\ntitle: $:/core/modules/startup.js\ntype: application/javascript\nmodule-type: startup\n\nMiscellaneous startup logic for both the client and server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"startup\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\n// Set to `true` to enable performance instrumentation\nvar PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE = \"$:/config/Performance/Instrumentation\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.startup = function() {\n\tvar modules,n,m,f;\n\t// Minimal browser detection\n\tif($tw.browser) {\n\t\t$tw.browser.isIE = (/msie|trident/i.test(navigator.userAgent));\n\t\t$tw.browser.isFirefox = !!document.mozFullScreenEnabled;\n\t}\n\t// Platform detection\n\t$tw.platform = {};\n\tif($tw.browser) {\n\t\t$tw.platform.isMac = /Mac/.test(navigator.platform);\n\t\t$tw.platform.isWindows = /win/i.test(navigator.platform);\n\t\t$tw.platform.isLinux = /Linux/i.test(navigator.appVersion);\n\t} else {\n\t\tswitch(require(\"os\").platform()) {\n\t\t\tcase \"darwin\":\n\t\t\t\t$tw.platform.isMac = true;\n\t\t\t\tbreak;\n\t\t\tcase \"win32\":\n\t\t\t\t$tw.platform.isWindows = true;\n\t\t\t\tbreak;\n\t\t\tcase \"freebsd\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t\tcase \"linux\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t// Initialise version\n\t$tw.version = $tw.utils.extractVersionInfo();\n\t// Set up the performance framework\n\t$tw.perf = new $tw.Performance($tw.wiki.getTiddlerText(PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE,\"no\") === \"yes\");\n\t// Kick off the language manager and switcher\n\t$tw.language = new $tw.Language();\n\t$tw.languageSwitcher = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"language\",\n\t\tcontrollerTitle: \"$:/language\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/languages/en-US\"\n\t\t]\n\t});\n\t// Kick off the theme manager\n\t$tw.themeManager = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"theme\",\n\t\tcontrollerTitle: \"$:/theme\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/themes/tiddlywiki/snowwhite\",\n\t\t\t\"$:/themes/tiddlywiki/vanilla\"\n\t\t]\n\t});\n\t// Kick off the keyboard manager\n\t$tw.keyboardManager = new $tw.KeyboardManager();\n\t// Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup\n\t$tw.wiki.clearTiddlerEventQueue();\n\t// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget = new widget.widget({\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},{\n\t\t\twiki: $tw.wiki,\n\t\t\tdocument: document\n\t\t});\n\t}\n\t// Find a working syncadaptor\n\t$tw.syncadaptor = undefined;\n\t$tw.modules.forEachModuleOfType(\"syncadaptor\",function(title,module) {\n\t\tif(!$tw.syncadaptor && module.adaptorClass) {\n\t\t\t$tw.syncadaptor = new module.adaptorClass({wiki: $tw.wiki});\n\t\t}\n\t});\n\t// Set up the syncer object if we've got a syncadaptor\n\tif($tw.syncadaptor) {\n\t\t$tw.syncer = new $tw.Syncer({wiki: $tw.wiki, syncadaptor: $tw.syncadaptor});\n\t} \n\t// Setup the saver handler\n\t$tw.saverHandler = new $tw.SaverHandler({wiki: $tw.wiki, dirtyTracking: !$tw.syncadaptor});\n\t// Host-specific startup\n\tif($tw.browser) {\n\t\t// Install the popup manager\n\t\t$tw.popup = new $tw.utils.Popup();\n\t\t// Install the animator\n\t\t$tw.anim = new $tw.utils.Animator();\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/startup.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/story.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/story.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"story\";\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar DEFAULT_STORY_TITLE = \"$:/StoryList\";\nvar DEFAULT_HISTORY_TITLE = \"$:/HistoryList\";\n\n// Default tiddlers\nvar DEFAULT_TIDDLERS_TITLE = \"$:/DefaultTiddlers\";\n\n// Config\nvar CONFIG_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/UpdateAddressBar\"; // Can be \"no\", \"permalink\", \"permaview\"\nvar CONFIG_UPDATE_HISTORY = \"$:/config/Navigation/UpdateHistory\"; // Can be \"yes\" or \"no\"\n\nexports.startup = function() {\n\t// Open startup tiddlers\n\topenStartupTiddlers();\n\tif($tw.browser) {\n\t\t// Set up location hash update\n\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\tif($tw.utils.hop(changes,DEFAULT_STORY_TITLE) || $tw.utils.hop(changes,DEFAULT_HISTORY_TITLE)) {\n\t\t\t\tupdateLocationHash({\n\t\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_UPDATE_ADDRESS_BAR,\"permaview\").trim(),\n\t\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim()\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\t// Listen for changes to the browser location hash\n\t\twindow.addEventListener(\"hashchange\",function() {\n\t\t\tvar hash = $tw.utils.getLocationHash();\n\t\t\tif(hash !== $tw.locationHash) {\n\t\t\t\t$tw.locationHash = hash;\n\t\t\t\topenStartupTiddlers({defaultToCurrentStory: true});\n\t\t\t}\n\t\t},false);\n\t\t// Listen for the tm-browser-refresh message\n\t\t$tw.rootWidget.addEventListener(\"tm-browser-refresh\",function(event) {\n\t\t\twindow.location.reload(true);\n\t\t});\n\t\t// Listen for the tm-home message\n\t\t$tw.rootWidget.addEventListener(\"tm-home\",function(event) {\n\t\t\twindow.location.hash = \"\";\n\t\t\tvar storyFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE),\n\t\t\t\tstoryList = $tw.wiki.filterTiddlers(storyFilter);\n\t\t\t//invoke any hooks that might change the default story list\n\t\t\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t\t\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t\t\tif(storyList[0]) {\n\t\t\t\t$tw.wiki.addToHistory(storyList[0]);\t\t\t\t\n\t\t\t}\n\t\t});\n\t\t// Listen for the tm-permalink message\n\t\t$tw.rootWidget.addEventListener(\"tm-permalink\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: \"permalink\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle\n\t\t\t});\n\t\t});\n\t\t// Listen for the tm-permaview message\n\t\t$tw.rootWidget.addEventListener(\"tm-permaview\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: \"permaview\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle\n\t\t\t});\n\t\t});\n\t}\n};\n\n/*\nProcess the location hash to open the specified tiddlers. Options:\ndefaultToCurrentStory: If true, the current story is retained as the default, instead of opening the default tiddlers\n*/\nfunction openStartupTiddlers(options) {\n\toptions = options || {};\n\t// Work out the target tiddler and the story filter. \"null\" means \"unspecified\"\n\tvar target = null,\n\t\tstoryFilter = null;\n\tif($tw.locationHash.length > 1) {\n\t\tvar hash = $tw.locationHash.substr(1),\n\t\t\tsplit = hash.indexOf(\":\");\n\t\tif(split === -1) {\n\t\t\ttarget = decodeURIComponent(hash.trim());\n\t\t} else {\n\t\t\ttarget = decodeURIComponent(hash.substr(0,split).trim());\n\t\t\tstoryFilter = decodeURIComponent(hash.substr(split + 1).trim());\n\t\t}\n\t}\n\t// If the story wasn't specified use the current tiddlers or a blank story\n\tif(storyFilter === null) {\n\t\tif(options.defaultToCurrentStory) {\n\t\t\tvar currStoryList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE);\n\t\t\tstoryFilter = $tw.utils.stringifyList(currStoryList);\n\t\t} else {\n\t\t\tif(target && target !== \"\") {\n\t\t\t\tstoryFilter = \"\";\n\t\t\t} else {\n\t\t\t\tstoryFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE);\n\t\t\t}\n\t\t}\n\t}\n\t// Process the story filter to get the story list\n\tvar storyList = $tw.wiki.filterTiddlers(storyFilter);\n\t// Invoke any hooks that want to change the default story list\n\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t// If the target tiddler isn't included then splice it in at the top\n\tif(target && storyList.indexOf(target) === -1) {\n\t\tstoryList.unshift(target);\n\t}\n\t// Save the story list\n\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t// If a target tiddler was specified add it to the history stack\n\tif(target && target !== \"\") {\n\t\t// The target tiddler doesn't need double square brackets, but we'll silently remove them if they're present\n\t\tif(target.indexOf(\"[[\") === 0 && target.substr(-2) === \"]]\") {\n\t\t\ttarget = target.substr(2,target.length - 4);\n\t\t}\n\t\t$tw.wiki.addToHistory(target);\n\t} else if(storyList.length > 0) {\n\t\t$tw.wiki.addToHistory(storyList[0]);\n\t}\n}\n\n/*\noptions: See below\noptions.updateAddressBar: \"permalink\", \"permaview\" or \"no\" (defaults to \"permaview\")\noptions.updateHistory: \"yes\" or \"no\" (defaults to \"no\")\noptions.targetTiddler: optional title of target tiddler for permalink\n*/\nfunction updateLocationHash(options) {\n\tif(options.updateAddressBar !== \"no\") {\n\t\t// Get the story and the history stack\n\t\tvar storyList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE),\n\t\t\thistoryList = $tw.wiki.getTiddlerData(DEFAULT_HISTORY_TITLE,[]),\n\t\t\ttargetTiddler = \"\";\n\t\tif(options.targetTiddler) {\n\t\t\ttargetTiddler = options.targetTiddler;\n\t\t} else {\n\t\t\t// The target tiddler is the one at the top of the stack\n\t\t\tif(historyList.length > 0) {\n\t\t\t\ttargetTiddler = historyList[historyList.length-1].title;\n\t\t\t}\n\t\t\t// Blank the target tiddler if it isn't present in the story\n\t\t\tif(storyList.indexOf(targetTiddler) === -1) {\n\t\t\t\ttargetTiddler = \"\";\n\t\t\t}\n\t\t}\n\t\t// Assemble the location hash\n\t\tif(options.updateAddressBar === \"permalink\") {\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler);\n\t\t} else {\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList));\n\t\t}\n\t\t// Only change the location hash if we must, thus avoiding unnecessary onhashchange events\n\t\tif($tw.utils.getLocationHash() !== $tw.locationHash) {\n\t\t\tif(options.updateHistory === \"yes\") {\n\t\t\t\t// Assign the location hash so that history is updated\n\t\t\t\twindow.location.hash = $tw.locationHash;\n\t\t\t} else {\n\t\t\t\t// We use replace so that browser history isn't affected\n\t\t\t\twindow.location.replace(window.location.toString().split(\"#\")[0] + $tw.locationHash);\n\t\t\t}\n\t\t}\n\t}\n}\n\n})();\n",
"title": "$:/core/modules/startup/story.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/windows.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/windows.js\ntype: application/javascript\nmodule-type: startup\n\nSetup root widget handlers for the messages concerned with opening external browser windows\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"windows\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Global to keep track of open windows (hashmap by title)\nvar windows = {};\n\nexports.startup = function() {\n\t// Handle open window message\n\t$tw.rootWidget.addEventListener(\"tm-open-window\",function(event) {\n\t\t// Get the parameters\n\t\tvar refreshHandler,\n\t\t\ttitle = event.param || event.tiddlerTitle,\n\t\t\tparamObject = event.paramObject || {},\n\t\t\ttemplate = paramObject.template || \"$:/core/templates/single.tiddler.window\",\n\t\t\twidth = paramObject.width || \"700\",\n\t\t\theight = paramObject.height || \"600\",\n\t\t\tvariables = $tw.utils.extend({},paramObject,{currentTiddler: title});\n\t\t// Open the window\n\t\tvar srcWindow = window.open(\"\",\"external-\" + title,\"scrollbars,width=\" + width + \",height=\" + height),\n\t\t\tsrcDocument = srcWindow.document;\n\t\twindows[title] = srcWindow;\n\t\t// Check for reopening the same window\n\t\tif(srcWindow.haveInitialisedWindow) {\n\t\t\treturn;\n\t\t}\n\t\t// Initialise the document\n\t\tsrcDocument.write(\"<html><head></head><body class='tc-body tc-single-tiddler-window'></body></html>\");\n\t\tsrcDocument.close();\n\t\tsrcDocument.title = title;\n\t\tsrcWindow.addEventListener(\"beforeunload\",function(event) {\n\t\t\tdelete windows[title];\n\t\t\t$tw.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t},false);\n\t\t// Set up the styles\n\t\tvar styleWidgetNode = $tw.wiki.makeTranscludeWidget(\"$:/core/ui/PageStylesheet\",{document: $tw.fakeDocument, variables: variables}),\n\t\t\tstyleContainer = $tw.fakeDocument.createElement(\"style\");\n\t\tstyleWidgetNode.render(styleContainer,null);\n\t\tvar styleElement = srcDocument.createElement(\"style\");\n\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\tsrcDocument.head.insertBefore(styleElement,srcDocument.head.firstChild);\n\t\t// Render the text of the tiddler\n\t\tvar parser = $tw.wiki.parseTiddler(template),\n\t\t\twidgetNode = $tw.wiki.makeWidget(parser,{document: srcDocument, parentWidget: $tw.rootWidget, variables: variables});\n\t\twidgetNode.render(srcDocument.body,srcDocument.body.firstChild);\n\t\t// Function to handle refreshes\n\t\trefreshHandler = function(changes) {\n\t\t\tif(styleWidgetNode.refresh(changes,styleContainer,null)) {\n\t\t\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\t\t}\n\t\t\twidgetNode.refresh(changes);\n\t\t};\n\t\t$tw.wiki.addEventListener(\"change\",refreshHandler);\n\t\tsrcWindow.haveInitialisedWindow = true;\n\t});\n\t// Close open windows when unloading main window\n\t$tw.addUnloadTask(function() {\n\t\t$tw.utils.each(windows,function(win) {\n\t\t\twin.close();\n\t\t});\n\t});\n\n};\n\n})();\n",
"title": "$:/core/modules/startup/windows.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/story.js": {
"text": "/*\\\ntitle: $:/core/modules/story.js\ntype: application/javascript\nmodule-type: global\n\nLightweight object for managing interactions with the story and history lists.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nConstruct Story object with options:\nwiki: reference to wiki object to use to resolve tiddler titles\nstoryTitle: title of story list tiddler\nhistoryTitle: title of history list tiddler\n*/\nfunction Story(options) {\n\toptions = options || {};\n\tthis.wiki = options.wiki || $tw.wiki;\n\tthis.storyTitle = options.storyTitle || \"$:/StoryList\";\n\tthis.historyTitle = options.historyTitle || \"$:/HistoryList\";\n};\n\nStory.prototype.navigateTiddler = function(navigateTo,navigateFromTitle,navigateFromClientRect) {\n\tthis.addToStory(navigateTo,navigateFromTitle);\n\tthis.addToHistory(navigateTo,navigateFromClientRect);\n};\n\nStory.prototype.getStoryList = function() {\n\treturn this.wiki.getTiddlerList(this.storyTitle) || [];\n};\n\nStory.prototype.addToStory = function(navigateTo,navigateFromTitle,options) {\n\toptions = options || {};\n\tvar storyList = this.getStoryList();\n\t// See if the tiddler is already there\n\tvar slot = storyList.indexOf(navigateTo);\n\t// Quit if it already exists in the story river\n\tif(slot >= 0) {\n\t\treturn;\n\t}\n\t// First we try to find the position of the story element we navigated from\n\tvar fromIndex = storyList.indexOf(navigateFromTitle);\n\tif(fromIndex >= 0) {\n\t\t// The tiddler is added from inside the river\n\t\t// Determine where to insert the tiddler; Fallback is \"below\"\n\t\tswitch(options.openLinkFromInsideRiver) {\n\t\t\tcase \"top\":\n\t\t\t\tslot = 0;\n\t\t\t\tbreak;\n\t\t\tcase \"bottom\":\n\t\t\t\tslot = storyList.length;\n\t\t\t\tbreak;\n\t\t\tcase \"above\":\n\t\t\t\tslot = fromIndex;\n\t\t\t\tbreak;\n\t\t\tcase \"below\": // Intentional fall-through\n\t\t\tdefault:\n\t\t\t\tslot = fromIndex + 1;\n\t\t\t\tbreak;\n\t\t}\n\t} else {\n\t\t// The tiddler is opened from outside the river. Determine where to insert the tiddler; default is \"top\"\n\t\tif(options.openLinkFromOutsideRiver === \"bottom\") {\n\t\t\t// Insert at bottom\n\t\t\tslot = storyList.length;\n\t\t} else {\n\t\t\t// Insert at top\n\t\t\tslot = 0;\n\t\t}\n\t}\n\t// Add the tiddler\n\tstoryList.splice(slot,0,navigateTo);\n\t// Save the story\n\tthis.saveStoryList(storyList);\n};\n\nStory.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList},\n\t\tthis.wiki.getModificationFields()\n\t));\n};\n\nStory.prototype.addToHistory = function(navigateTo,navigateFromClientRect) {\n\tvar titles = $tw.utils.isArray(navigateTo) ? navigateTo : [navigateTo];\n\t// Add a new record to the top of the history stack\n\tvar historyList = this.wiki.getTiddlerData(this.historyTitle,[]);\n\t$tw.utils.each(titles,function(title) {\n\t\thistoryList.push({title: title, fromPageRect: navigateFromClientRect});\n\t});\n\tthis.wiki.setTiddlerData(this.historyTitle,historyList,{\"current-tiddler\": titles[titles.length-1]});\n};\n\nStory.prototype.storyCloseTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCloseAllTiddlers = function() {\n// TBD\n};\n\nStory.prototype.storyCloseOtherTiddlers = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyEditTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyDeleteTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storySaveTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCancelTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyNewTiddler = function(targetTitle) {\n// TBD\n};\n\nexports.Story = Story;\n\n\n})();\n",
"title": "$:/core/modules/story.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/storyviews/classic.js": {
"text": "/*\\\ntitle: $:/core/modules/storyviews/classic.js\ntype: application/javascript\nmodule-type: storyview\n\nViews the story as a linear sequence\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ClassicStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nClassicStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nClassicStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Get the current height of the tiddler\n\tvar computedStyle = window.getComputedStyle(targetElement),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"}\n\t\t]);\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nClassicStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Get the current height of the tiddler\n\tvar currWidth = targetElement.offsetWidth,\n\t\tcomputedStyle = window.getComputedStyle(targetElement),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t// Remove the dom nodes of the widget at the end of the transition\n\tsetTimeout(removeElement,duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"translateX(0px)\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t{transform: \"translateX(-\" + currWidth + \"px)\"},\n\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.classic = ClassicStoryView;\n\n})();",
"title": "$:/core/modules/storyviews/classic.js",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/storyviews/pop.js": {
"text": "/*\\\ntitle: $:/core/modules/storyviews/pop.js\ntype: application/javascript\nmodule-type: storyview\n\nAnimates list insertions and removals\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar PopStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nPopStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nPopStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Reset once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{transform: \"none\"}\n\t\t]);\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(2)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nPopStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\tif(targetElement.parentNode) {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t}\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Remove the element at the end of the transition\n\tsetTimeout(removeElement,duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(0.1)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.pop = PopStoryView;\n\n})();\n",
"title": "$:/core/modules/storyviews/pop.js",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/storyviews/zoomin.js": {
"text": "/*\\\ntitle: $:/core/modules/storyviews/zoomin.js\ntype: application/javascript\nmodule-type: storyview\n\nZooms between individual tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ZoominListView = function(listWidget) {\n\tvar self = this;\n\tthis.listWidget = listWidget;\n\t// Get the index of the tiddler that is at the top of the history\n\tvar history = this.listWidget.wiki.getTiddlerDataCached(this.listWidget.historyTitle,[]),\n\t\ttargetTiddler;\n\tif(history.length > 0) {\n\t\ttargetTiddler = history[history.length-1].title;\n\t}\n\t// Make all the tiddlers position absolute, and hide all but the top (or first) one\n\t$tw.utils.each(this.listWidget.children,function(itemWidget,index) {\n\t\tvar domNode = itemWidget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(domNode instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\tif((targetTiddler && targetTiddler !== itemWidget.parseTreeNode.itemTitle) || (!targetTiddler && index)) {\n\t\t\tdomNode.style.display = \"none\";\n\t\t} else {\n\t\t\tself.currentTiddlerDomNode = domNode;\n\t\t}\n\t\t$tw.utils.addClass(domNode,\"tc-storyview-zoomin-tiddler\");\n\t});\n};\n\nZoominListView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration(),\n\t\tlistElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the new tiddler be position absolute and visible so that we can measure it\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"0 0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t// Get the position of the source node, or use the centre of the window as the source position\n\tvar sourceBounds = historyInfo.fromPageRect || {\n\t\t\tleft: window.innerWidth/2 - 2,\n\t\t\ttop: window.innerHeight/2 - 2,\n\t\t\twidth: window.innerWidth/8,\n\t\t\theight: window.innerHeight/8\n\t\t};\n\t// Try to find the title node in the target tiddler\n\tvar titleDomNode = findTitleDomNode(listItemWidget) || listItemWidget.findFirstDomNode(),\n\t\tzoomBounds = titleDomNode.getBoundingClientRect();\n\t// Compute the transform for the target tiddler to make the title lie over the source rectange\n\tvar targetBounds = targetElement.getBoundingClientRect(),\n\t\tscale = sourceBounds.width / zoomBounds.width,\n\t\tx = sourceBounds.left - targetBounds.left - (zoomBounds.left - targetBounds.left) * scale,\n\t\ty = sourceBounds.top - targetBounds.top - (zoomBounds.top - targetBounds.top) * scale;\n\t// Transform the target tiddler to its starting position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(targetElement);\n\t// Apply the ending transitions with a timeout to ensure that the previously applied transformations are applied first\n\tvar self = this,\n\t\tprevCurrentTiddler = this.currentTiddlerDomNode;\n\tthis.currentTiddlerDomNode = targetElement;\n\t// Transform the target tiddler to its natural size\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{zIndex: \"500\"},\n\t]);\n\t// Transform the previous tiddler out of the way and then hide it\n\tif(prevCurrentTiddler && prevCurrentTiddler !== targetElement) {\n\t\tscale = zoomBounds.width / sourceBounds.width;\n\t\tx = zoomBounds.left - targetBounds.left - (sourceBounds.left - targetBounds.left) * scale;\n\t\ty = zoomBounds.top - targetBounds.top - (sourceBounds.top - targetBounds.top) * scale;\n\t\t$tw.utils.setStyle(prevCurrentTiddler,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transformOrigin: \"0 0\"},\n\t\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"},\n\t\t\t{zIndex: \"0\"}\n\t\t]);\n\t\t// Hide the tiddler when the transition has finished\n\t\tsetTimeout(function() {\n\t\t\tif(self.currentTiddlerDomNode !== prevCurrentTiddler) {\n\t\t\t\tprevCurrentTiddler.style.display = \"none\";\n\t\t\t}\n\t\t},duration);\n\t}\n\t// Scroll the target into view\n//\t$tw.pageScroller.scrollIntoView(targetElement);\n};\n\n/*\nFind the first child DOM node of a widget that has the class \"tc-title\"\n*/\nfunction findTitleDomNode(widget,targetClass) {\n\ttargetClass = targetClass || \"tc-title\";\n\tvar domNode = widget.findFirstDomNode();\n\tif(domNode && domNode.querySelector) {\n\t\treturn domNode.querySelector(\".\" + targetClass);\n\t}\n\treturn null;\n}\n\nZoominListView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the newly inserted node position absolute and hidden\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"none\"}\n\t]);\n};\n\nZoominListView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Abandon if hidden\n\tif(targetElement.style.display != \"block\" ) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Set up the tiddler that is being closed\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\t// We'll move back to the previous or next element in the story\n\tvar toWidget = widget.previousSibling();\n\tif(!toWidget) {\n\t\ttoWidget = widget.nextSibling();\n\t}\n\tvar toWidgetDomNode = toWidget && toWidget.findFirstDomNode();\n\t// Set up the tiddler we're moving back in\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.addClass(toWidgetDomNode,\"tc-storyview-zoomin-tiddler\");\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{display: \"block\"},\n\t\t\t{transformOrigin: \"50% 50%\"},\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(10)\"},\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0\"},\n\t\t\t{zIndex: \"500\"}\n\t\t]);\n\t\tthis.currentTiddlerDomNode = toWidgetDomNode;\n\t}\n\t// Animate them both\n\t// Force layout\n\t$tw.utils.forceLayout(this.listWidget.parentDomNode);\n\t// First, the tiddler we're closing\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(0.1)\"},\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"0\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\tsetTimeout(removeElement,duration);\n\t// Now the tiddler we're going back to\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t\t{opacity: \"1\"}\n\t\t]);\n\t}\n\treturn true; // Indicate that we'll delete the DOM node\n};\n\nexports.zoomin = ZoominListView;\n\n})();\n",
"title": "$:/core/modules/storyviews/zoomin.js",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/syncer.js": {
"text": "/*\\\ntitle: $:/core/modules/syncer.js\ntype: application/javascript\nmodule-type: global\n\nThe syncer tracks changes to the store. If a syncadaptor is used then individual tiddlers are synchronised through it. If there is no syncadaptor then the entire wiki is saved via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInstantiate the syncer with the following options:\nsyncadaptor: reference to syncadaptor to be used\nwiki: wiki to be synced\n*/\nfunction Syncer(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.syncadaptor = options.syncadaptor;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\"));\n\t// Compile the dirty tiddler filter\n\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t// Record information for known tiddlers\n\tthis.readTiddlerInfo();\n\t// Tasks are {type: \"load\"/\"save\"/\"delete\", title:, queueTime:, lastModificationTime:}\n\tthis.taskQueue = {}; // Hashmap of tasks yet to be performed\n\tthis.taskInProgress = {}; // Hash of tasks in progress\n\tthis.taskTimerId = null; // Timer for task dispatch\n\tthis.pollTimerId = null; // Timer for polling server\n\t// Listen out for changes to tiddlers\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tself.syncToServer(changes);\n\t});\n\t// Browser event handlers\n\tif($tw.browser) {\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t\t// Listen out for login/logout/refresh events in the browser\n\t\t$tw.rootWidget.addEventListener(\"tm-login\",function() {\n\t\t\tself.handleLoginEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-logout\",function() {\n\t\t\tself.handleLogoutEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-server-refresh\",function() {\n\t\t\tself.handleRefreshEvent();\n\t\t});\n\t}\n\t// Listen out for lazyLoad events\n\tthis.wiki.addEventListener(\"lazyLoad\",function(title) {\n\t\tself.handleLazyLoadEvent(title);\n\t});\n\t// Get the login status\n\tthis.getStatus(function(err,isLoggedIn) {\n\t\t// Do a sync from the server\n\t\tself.syncFromServer();\n\t});\n}\n\n/*\nConstants\n*/\nSyncer.prototype.titleIsLoggedIn = \"$:/status/IsLoggedIn\";\nSyncer.prototype.titleUserName = \"$:/status/UserName\";\nSyncer.prototype.titleSyncFilter = \"$:/config/SyncFilter\";\nSyncer.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\nSyncer.prototype.taskTimerInterval = 1 * 1000; // Interval for sync timer\nSyncer.prototype.throttleInterval = 1 * 1000; // Defer saving tiddlers if they've changed in the last 1s...\nSyncer.prototype.fallbackInterval = 10 * 1000; // Unless the task is older than 10s\nSyncer.prototype.pollTimerInterval = 60 * 1000; // Interval for polling for changes from the adaptor\n\n\n/*\nRead (or re-read) the latest tiddler info from the store\n*/\nSyncer.prototype.readTiddlerInfo = function() {\n\t// Hashmap by title of {revision:,changeCount:,adaptorInfo:}\n\tthis.tiddlerInfo = {};\n\t// Record information for known tiddlers\n\tvar self = this,\n\t\ttiddlers = this.filterFn.call(this.wiki);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tself.tiddlerInfo[title] = {\n\t\t\trevision: tiddler.fields.revision,\n\t\t\tadaptorInfo: self.syncadaptor && self.syncadaptor.getTiddlerInfo(tiddler),\n\t\t\tchangeCount: self.wiki.getChangeCount(title),\n\t\t\thasBeenLazyLoaded: false\n\t\t};\n\t});\n};\n\n/*\nCreate an tiddlerInfo structure if it doesn't already exist\n*/\nSyncer.prototype.createTiddlerInfo = function(title) {\n\tif(!$tw.utils.hop(this.tiddlerInfo,title)) {\n\t\tthis.tiddlerInfo[title] = {\n\t\t\trevision: null,\n\t\t\tadaptorInfo: {},\n\t\t\tchangeCount: -1,\n\t\t\thasBeenLazyLoaded: false\n\t\t};\n\t}\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSyncer.prototype.isDirty = function() {\n\treturn (this.numTasksInQueue() > 0) || (this.numTasksInProgress() > 0);\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSyncer.prototype.updateDirtyStatus = function() {\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t}\n};\n\n/*\nSave an incoming tiddler in the store, and updates the associated tiddlerInfo\n*/\nSyncer.prototype.storeTiddler = function(tiddlerFields) {\n\t// Save the tiddler\n\tvar tiddler = new $tw.Tiddler(this.wiki.getTiddler(tiddlerFields.title),tiddlerFields);\n\tthis.wiki.addTiddler(tiddler);\n\t// Save the tiddler revision and changeCount details\n\tthis.tiddlerInfo[tiddlerFields.title] = {\n\t\trevision: tiddlerFields.revision,\n\t\tadaptorInfo: this.syncadaptor.getTiddlerInfo(tiddler),\n\t\tchangeCount: this.wiki.getChangeCount(tiddlerFields.title),\n\t\thasBeenLazyLoaded: true\n\t};\n};\n\nSyncer.prototype.getStatus = function(callback) {\n\tvar self = this;\n\t// Check if the adaptor supports getStatus()\n\tif(this.syncadaptor && this.syncadaptor.getStatus) {\n\t\t// Mark us as not logged in\n\t\tthis.wiki.addTiddler({title: this.titleIsLoggedIn,text: \"no\"});\n\t\t// Get login status\n\t\tthis.syncadaptor.getStatus(function(err,isLoggedIn,username) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Set the various status tiddlers\n\t\t\tself.wiki.addTiddler({title: self.titleIsLoggedIn,text: isLoggedIn ? \"yes\" : \"no\"});\n\t\t\tif(isLoggedIn) {\n\t\t\t\tself.wiki.addTiddler({title: self.titleUserName,text: username || \"\"});\n\t\t\t} else {\n\t\t\t\tself.wiki.deleteTiddler(self.titleUserName);\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tif(callback) {\n\t\t\t\tcallback(err,isLoggedIn,username);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tcallback(null,true,\"UNAUTHENTICATED\");\n\t}\n};\n\n/*\nSynchronise from the server by reading the skinny tiddler list and queuing up loads for any tiddlers that we don't already have up to date\n*/\nSyncer.prototype.syncFromServer = function() {\n\tif(this.syncadaptor && this.syncadaptor.getSkinnyTiddlers) {\n\t\tthis.logger.log(\"Retrieving skinny tiddler list\");\n\t\tvar self = this;\n\t\tif(this.pollTimerId) {\n\t\t\tclearTimeout(this.pollTimerId);\n\t\t\tthis.pollTimerId = null;\n\t\t}\n\t\tthis.syncadaptor.getSkinnyTiddlers(function(err,tiddlers) {\n\t\t\t// Trigger the next sync\n\t\t\tself.pollTimerId = setTimeout(function() {\n\t\t\t\tself.pollTimerId = null;\n\t\t\t\tself.syncFromServer.call(self);\n\t\t\t},self.pollTimerInterval);\n\t\t\t// Check for errors\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert($tw.language.getString(\"Error/RetrievingSkinny\") + \":\",err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Process each incoming tiddler\n\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t// Get the incoming tiddler fields, and the existing tiddler\n\t\t\t\tvar tiddlerFields = tiddlers[t],\n\t\t\t\t\tincomingRevision = tiddlerFields.revision + \"\",\n\t\t\t\t\ttiddler = self.wiki.getTiddler(tiddlerFields.title),\n\t\t\t\t\ttiddlerInfo = self.tiddlerInfo[tiddlerFields.title],\n\t\t\t\t\tcurrRevision = tiddlerInfo ? tiddlerInfo.revision : null;\n\t\t\t\t// Ignore the incoming tiddler if it's the same as the revision we've already got\n\t\t\t\tif(currRevision !== incomingRevision) {\n\t\t\t\t\t// Do a full load if we've already got a fat version of the tiddler\n\t\t\t\t\tif(tiddler && tiddler.fields.text !== undefined) {\n\t\t\t\t\t\t// Do a full load of this tiddler\n\t\t\t\t\t\tself.enqueueSyncTask({\n\t\t\t\t\t\t\ttype: \"load\",\n\t\t\t\t\t\t\ttitle: tiddlerFields.title\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Load the skinny version of the tiddler\n\t\t\t\t\t\tself.storeTiddler(tiddlerFields);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nSynchronise a set of changes to the server\n*/\nSyncer.prototype.syncToServer = function(changes) {\n\tvar self = this,\n\t\tnow = Date.now(),\n\t\tfilteredChanges = this.filterFn.call(this.wiki,function(callback) {\n\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\tcallback(tiddler,title);\n\t\t\t});\n\t\t});\n\t$tw.utils.each(changes,function(change,title,object) {\n\t\t// Process the change if it is a deletion of a tiddler we're already syncing, or is on the filtered change list\n\t\tif((change.deleted && $tw.utils.hop(self.tiddlerInfo,title)) || filteredChanges.indexOf(title) !== -1) {\n\t\t\t// Queue a task to sync this tiddler\n\t\t\tself.enqueueSyncTask({\n\t\t\t\ttype: change.deleted ? \"delete\" : \"save\",\n\t\t\t\ttitle: title\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nLazily load a skinny tiddler if we can\n*/\nSyncer.prototype.handleLazyLoadEvent = function(title) {\n\t// Don't lazy load the same tiddler twice\n\tvar info = this.tiddlerInfo[title];\n\tif(!info || !info.hasBeenLazyLoaded) {\n\t\tthis.createTiddlerInfo(title);\n\t\tthis.tiddlerInfo[title].hasBeenLazyLoaded = true;\n\t\t// Queue up a sync task to load this tiddler\n\t\tthis.enqueueSyncTask({\n\t\t\ttype: \"load\",\n\t\t\ttitle: title\n\t\t});\t\t\n\t}\n};\n\n/*\nDispay a password prompt and allow the user to login\n*/\nSyncer.prototype.handleLoginEvent = function() {\n\tvar self = this;\n\tthis.getStatus(function(err,isLoggedIn,username) {\n\t\tif(!isLoggedIn) {\n\t\t\t$tw.passwordPrompt.createPrompt({\n\t\t\t\tserviceName: $tw.language.getString(\"LoginToTiddlySpace\"),\n\t\t\t\tcallback: function(data) {\n\t\t\t\t\tself.login(data.username,data.password,function(err,isLoggedIn) {\n\t\t\t\t\t\tself.syncFromServer();\n\t\t\t\t\t});\n\t\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nAttempt to login to TiddlyWeb.\n\tusername: username\n\tpassword: password\n\tcallback: invoked with arguments (err,isLoggedIn)\n*/\nSyncer.prototype.login = function(username,password,callback) {\n\tthis.logger.log(\"Attempting to login as\",username);\n\tvar self = this;\n\tif(this.syncadaptor.login) {\n\t\tthis.syncadaptor.login(username,password,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.getStatus(function(err,isLoggedIn,username) {\n\t\t\t\tif(callback) {\n\t\t\t\t\tcallback(null,isLoggedIn);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\tcallback(null,true);\n\t}\n};\n\n/*\nAttempt to log out of TiddlyWeb\n*/\nSyncer.prototype.handleLogoutEvent = function() {\n\tthis.logger.log(\"Attempting to logout\");\n\tvar self = this;\n\tif(this.syncadaptor.logout) {\n\t\tthis.syncadaptor.logout(function(err) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t} else {\n\t\t\t\tself.getStatus();\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nImmediately refresh from the server\n*/\nSyncer.prototype.handleRefreshEvent = function() {\n\tthis.syncFromServer();\n};\n\n/*\nQueue up a sync task. If there is already a pending task for the tiddler, just update the last modification time\n*/\nSyncer.prototype.enqueueSyncTask = function(task) {\n\tvar self = this,\n\t\tnow = Date.now();\n\t// Set the timestamps on this task\n\ttask.queueTime = now;\n\ttask.lastModificationTime = now;\n\t// Fill in some tiddlerInfo if the tiddler is one we haven't seen before\n\tthis.createTiddlerInfo(task.title);\n\t// Bail if this is a save and the tiddler is already at the changeCount that the server has\n\tif(task.type === \"save\" && this.wiki.getChangeCount(task.title) <= this.tiddlerInfo[task.title].changeCount) {\n\t\treturn;\n\t}\n\t// Check if this tiddler is already in the queue\n\tif($tw.utils.hop(this.taskQueue,task.title)) {\n\t\t// this.logger.log(\"Re-queueing up sync task with type:\",task.type,\"title:\",task.title);\n\t\tvar existingTask = this.taskQueue[task.title];\n\t\t// If so, just update the last modification time\n\t\texistingTask.lastModificationTime = task.lastModificationTime;\n\t\t// If the new task is a save then we upgrade the existing task to a save. Thus a pending load is turned into a save if the tiddler changes locally in the meantime. But a pending save is not modified to become a load\n\t\tif(task.type === \"save\" || task.type === \"delete\") {\n\t\t\texistingTask.type = task.type;\n\t\t}\n\t} else {\n\t\t// this.logger.log(\"Queuing up sync task with type:\",task.type,\"title:\",task.title);\n\t\t// If it is not in the queue, insert it\n\t\tthis.taskQueue[task.title] = task;\n\t\tthis.updateDirtyStatus();\n\t}\n\t// Process the queue\n\t$tw.utils.nextTick(function() {self.processTaskQueue.call(self);});\n};\n\n/*\nReturn the number of tasks in progress\n*/\nSyncer.prototype.numTasksInProgress = function() {\n\treturn $tw.utils.count(this.taskInProgress);\n};\n\n/*\nReturn the number of tasks in the queue\n*/\nSyncer.prototype.numTasksInQueue = function() {\n\treturn $tw.utils.count(this.taskQueue);\n};\n\n/*\nTrigger a timeout if one isn't already outstanding\n*/\nSyncer.prototype.triggerTimeout = function() {\n\tvar self = this;\n\tif(!this.taskTimerId) {\n\t\tthis.taskTimerId = setTimeout(function() {\n\t\t\tself.taskTimerId = null;\n\t\t\tself.processTaskQueue.call(self);\n\t\t},self.taskTimerInterval);\n\t}\n};\n\n/*\nProcess the task queue, performing the next task if appropriate\n*/\nSyncer.prototype.processTaskQueue = function() {\n\tvar self = this;\n\t// Only process a task if the sync adaptor is fully initialised and we're not already performing a task. If we are already performing a task then we'll dispatch the next one when it completes\n\tif(this.syncadaptor.isReady() && this.numTasksInProgress() === 0) {\n\t\t// Choose the next task to perform\n\t\tvar task = this.chooseNextTask();\n\t\t// Perform the task if we had one\n\t\tif(task) {\n\t\t\t// Remove the task from the queue and add it to the in progress list\n\t\t\tdelete this.taskQueue[task.title];\n\t\t\tthis.taskInProgress[task.title] = task;\n\t\t\tthis.updateDirtyStatus();\n\t\t\t// Dispatch the task\n\t\t\tthis.dispatchTask(task,function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\tself.logger.alert(\"Sync error while processing '\" + task.title + \"':\\n\" + err);\n\t\t\t\t}\n\t\t\t\t// Mark that this task is no longer in progress\n\t\t\t\tdelete self.taskInProgress[task.title];\n\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t// Process the next task\n\t\t\t\tself.processTaskQueue.call(self);\n\t\t\t});\n\t\t} else {\n\t\t\t// Make sure we've set a time if there wasn't a task to perform, but we've still got tasks in the queue\n\t\t\tif(this.numTasksInQueue() > 0) {\n\t\t\t\tthis.triggerTimeout();\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nChoose the next applicable task\n*/\nSyncer.prototype.chooseNextTask = function() {\n\tvar self = this,\n\t\tcandidateTask = null,\n\t\tnow = Date.now();\n\t// Select the best candidate task\n\t$tw.utils.each(this.taskQueue,function(task,title) {\n\t\t// Exclude the task if there's one of the same name in progress\n\t\tif($tw.utils.hop(self.taskInProgress,title)) {\n\t\t\treturn;\n\t\t}\n\t\t// Exclude the task if it is a save and the tiddler has been modified recently, but not hit the fallback time\n\t\tif(task.type === \"save\" && (now - task.lastModificationTime) < self.throttleInterval &&\n\t\t\t(now - task.queueTime) < self.fallbackInterval) {\n\t\t\treturn;\n\t\t}\n\t\t// Exclude the task if it is newer than the current best candidate\n\t\tif(candidateTask && candidateTask.queueTime < task.queueTime) {\n\t\t\treturn;\n\t\t}\n\t\t// Now this is our best candidate\n\t\tcandidateTask = task;\n\t});\n\treturn candidateTask;\n};\n\n/*\nDispatch a task and invoke the callback\n*/\nSyncer.prototype.dispatchTask = function(task,callback) {\n\tvar self = this;\n\tif(task.type === \"save\") {\n\t\tvar changeCount = this.wiki.getChangeCount(task.title),\n\t\t\ttiddler = this.wiki.getTiddler(task.title);\n\t\tthis.logger.log(\"Dispatching 'save' task:\",task.title);\n\t\tif(tiddler) {\n\t\t\tthis.syncadaptor.saveTiddler(tiddler,function(err,adaptorInfo,revision) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\t// Adjust the info stored about this tiddler\n\t\t\t\tself.tiddlerInfo[task.title] = {\n\t\t\t\t\tchangeCount: changeCount,\n\t\t\t\t\tadaptorInfo: adaptorInfo,\n\t\t\t\t\trevision: revision\n\t\t\t\t};\n\t\t\t\t// Invoke the callback\n\t\t\t\tcallback(null);\n\t\t\t},{\n\t\t\t\ttiddlerInfo: self.tiddlerInfo[task.title]\n\t\t\t});\n\t\t} else {\n\t\t\tthis.logger.log(\" Not Dispatching 'save' task:\",task.title,\"tiddler does not exist\");\n\t\t\treturn callback(null);\n\t\t}\n\t} else if(task.type === \"load\") {\n\t\t// Load the tiddler\n\t\tthis.logger.log(\"Dispatching 'load' task:\",task.title);\n\t\tthis.syncadaptor.loadTiddler(task.title,function(err,tiddlerFields) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Store the tiddler\n\t\t\tif(tiddlerFields) {\n\t\t\t\tself.storeTiddler(tiddlerFields);\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t});\n\t} else if(task.type === \"delete\") {\n\t\t// Delete the tiddler\n\t\tthis.logger.log(\"Dispatching 'delete' task:\",task.title);\n\t\tthis.syncadaptor.deleteTiddler(task.title,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tdelete self.tiddlerInfo[task.title];\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t},{\n\t\t\ttiddlerInfo: self.tiddlerInfo[task.title]\n\t\t});\n\t}\n};\n\nexports.Syncer = Syncer;\n\n})();\n",
"title": "$:/core/modules/syncer.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/tiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/tiddler.js\ntype: application/javascript\nmodule-type: tiddlermethod\n\nExtension methods for the $tw.Tiddler object (constructor and methods required at boot time are in boot/boot.js)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.hasTag = function(tag) {\n\treturn this.fields.tags && this.fields.tags.indexOf(tag) !== -1;\n};\n\nexports.isPlugin = function() {\n\treturn this.fields.type === \"application/json\" && this.hasField(\"plugin-type\");\n};\n\nexports.isDraft = function() {\n\treturn this.hasField(\"draft.of\");\n};\n\nexports.getFieldString = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn \"\";\n\t}\n\t// Parse the field with the associated module (if any)\n\tvar fieldModule = $tw.Tiddler.fieldModules[field];\n\tif(fieldModule && fieldModule.stringify) {\n\t\treturn fieldModule.stringify.call(this,value);\n\t} else {\n\t\treturn value.toString();\n\t}\n};\n\n/*\nGet all the fields as a name:value block. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStringBlock = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [];\n\tvar fields = [];\n\tfor(var field in this.fields) {\n\t\tif($tw.utils.hop(this.fields,field)) {\n\t\t\tif(exclude.indexOf(field) === -1) {\n\t\t\t\tfields.push(field + \": \" + this.getFieldString(field));\n\t\t\t}\n\t\t}\n\t}\n\treturn fields.join(\"\\n\");\n};\n\n/*\nCompare two tiddlers for equality\ntiddler: the tiddler to compare\nexcludeFields: array of field names to exclude from the comparison\n*/\nexports.isEqual = function(tiddler,excludeFields) {\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\treturn false;\n\t}\n\texcludeFields = excludeFields || [];\n\tvar self = this,\n\t\tdifferences = []; // Fields that have differences\n\t// Add to the differences array\n\tfunction addDifference(fieldName) {\n\t\t// Check for this field being excluded\n\t\tif(excludeFields.indexOf(fieldName) === -1) {\n\t\t\t// Save the field as a difference\n\t\t\t$tw.utils.pushTop(differences,fieldName);\n\t\t}\n\t}\n\t// Returns true if the two values of this field are equal\n\tfunction isFieldValueEqual(fieldName) {\n\t\tvar valueA = self.fields[fieldName],\n\t\t\tvalueB = tiddler.fields[fieldName];\n\t\t// Check for identical string values\n\t\tif(typeof(valueA) === \"string\" && typeof(valueB) === \"string\" && valueA === valueB) {\n\t\t\treturn true;\n\t\t}\n\t\t// Check for identical array values\n\t\tif($tw.utils.isArray(valueA) && $tw.utils.isArray(valueB) && $tw.utils.isArrayEqual(valueA,valueB)) {\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise the fields must be different\n\t\treturn false;\n\t}\n\t// Compare our fields\n\tfor(var fieldName in this.fields) {\n\t\tif(!isFieldValueEqual(fieldName)) {\n\t\t\taddDifference(fieldName);\n\t\t}\n\t}\n\t// There's a difference for every field in the other tiddler that we don't have\n\tfor(fieldName in tiddler.fields) {\n\t\tif(!(fieldName in this.fields)) {\n\t\t\taddDifference(fieldName);\n\t\t}\n\t}\n\t// Return whether there were any differences\n\treturn differences.length === 0;\n};\n\n})();\n",
"title": "$:/core/modules/tiddler.js",
"type": "application/javascript",
"module-type": "tiddlermethod"
},
"$:/core/modules/upgraders/plugins.js": {
"text": "/*\\\ntitle: $:/core/modules/upgraders/plugins.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that checks that plugins are newer than any already installed version\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar BLOCKED_PLUGINS = {\n\t\"$:/themes/tiddlywiki/stickytitles\": {\n\t\tversions: [\"*\"]\n\t},\n\t\"$:/plugins/tiddlywiki/fullscreen\": {\n\t\tversions: [\"*\"]\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tupgradeLibrary,\n\t\tgetLibraryTiddler = function(title) {\n\t\t\tif(!upgradeLibrary) {\n\t\t\t\tupgradeLibrary = wiki.getTiddlerData(UPGRADE_LIBRARY_TITLE,{});\n\t\t\t\tupgradeLibrary.tiddlers = upgradeLibrary.tiddlers || {};\n\t\t\t}\n\t\t\treturn upgradeLibrary.tiddlers[title];\n\t\t};\n\n\t// Go through all the incoming tiddlers\n\t$tw.utils.each(titles,function(title) {\n\t\tvar incomingTiddler = tiddlers[title];\n\t\t// Check if we're dealing with a plugin\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"] && incomingTiddler.version) {\n\t\t\t// Upgrade the incoming plugin if it is in the upgrade library\n\t\t\tvar libraryTiddler = getLibraryTiddler(title);\n\t\t\tif(libraryTiddler && libraryTiddler[\"plugin-type\"] && libraryTiddler.version) {\n\t\t\t\ttiddlers[title] = libraryTiddler;\n\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Upgraded\",{variables: {incoming: incomingTiddler.version, upgraded: libraryTiddler.version}});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Suppress the incoming plugin if it is older than the currently installed one\n\t\t\tvar existingTiddler = wiki.getTiddler(title);\n\t\t\tif(existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t\t\t// Reject the incoming plugin by blanking all its fields\n\t\t\t\tif($tw.utils.checkVersions(existingTiddler.fields.version,incomingTiddler.version)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Version\",{variables: {incoming: incomingTiddler.version, existing: existingTiddler.fields.version}});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"]) {\n\t\t\t// Check whether the plugin is on the blocked list\n\t\t\tvar blockInfo = BLOCKED_PLUGINS[title];\n\t\t\tif(blockInfo) {\n\t\t\t\tif(blockInfo.versions.indexOf(\"*\") !== -1 || (incomingTiddler.version && blockInfo.versions.indexOf(incomingTiddler.version) !== -1)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Incompatible\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
"title": "$:/core/modules/upgraders/plugins.js",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/upgraders/system.js": {
"text": "/*\\\ntitle: $:/core/modules/upgraders/system.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that suppresses certain system tiddlers that shouldn't be imported\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DONT_IMPORT_LIST = [\"$:/StoryList\",\"$:/HistoryList\"],\n\tDONT_IMPORT_PREFIX_LIST = [\"$:/temp/\",\"$:/state/\"];\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tif(DONT_IMPORT_LIST.indexOf(title) !== -1) {\n\t\t\ttiddlers[title] = Object.create(null);\n\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Suppressed\");\n\t\t} else {\n\t\t\tfor(var t=0; t<DONT_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = DONT_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/State/Suppressed\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
"title": "$:/core/modules/upgraders/system.js",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/upgraders/themetweaks.js": {
"text": "/*\\\ntitle: $:/core/modules/upgraders/themetweaks.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that handles the change in theme tweak storage introduced in 5.0.14-beta.\n\nPreviously, theme tweaks were stored in two data tiddlers:\n\n* $:/themes/tiddlywiki/vanilla/metrics\n* $:/themes/tiddlywiki/vanilla/settings\n\nNow, each tweak is stored in its own separate tiddler.\n\nThis upgrader copies any values from the old format to the new. The old data tiddlers are not deleted in case they have been used to store additional indexes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar MAPPINGS = {\n\t\"$:/themes/tiddlywiki/vanilla/metrics\": {\n\t\t\"fontsize\": \"$:/themes/tiddlywiki/vanilla/metrics/fontsize\",\n\t\t\"lineheight\": \"$:/themes/tiddlywiki/vanilla/metrics/lineheight\",\n\t\t\"storyleft\": \"$:/themes/tiddlywiki/vanilla/metrics/storyleft\",\n\t\t\"storytop\": \"$:/themes/tiddlywiki/vanilla/metrics/storytop\",\n\t\t\"storyright\": \"$:/themes/tiddlywiki/vanilla/metrics/storyright\",\n\t\t\"storywidth\": \"$:/themes/tiddlywiki/vanilla/metrics/storywidth\",\n\t\t\"tiddlerwidth\": \"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"\n\t},\n\t\"$:/themes/tiddlywiki/vanilla/settings\": {\n\t\t\"fontfamily\": \"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tvar mapping = MAPPINGS[title];\n\t\tif(mapping) {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlers[title]),\n\t\t\t\ttiddlerData = wiki.getTiddlerDataCached(tiddler,{});\n\t\t\tfor(var index in mapping) {\n\t\t\t\tvar mappedTitle = mapping[index];\n\t\t\t\tif(!tiddlers[mappedTitle] || tiddlers[mappedTitle].title !== mappedTitle) {\n\t\t\t\t\ttiddlers[mappedTitle] = {\n\t\t\t\t\t\ttitle: mappedTitle,\n\t\t\t\t\t\ttext: tiddlerData[index]\n\t\t\t\t\t};\n\t\t\t\t\tmessages[mappedTitle] = $tw.language.getString(\"Import/Upgrader/ThemeTweaks/Created\",{variables: {\n\t\t\t\t\t\tfrom: title + \"##\" + index\n\t\t\t\t\t}});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
"title": "$:/core/modules/upgraders/themetweaks.js",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/utils/crypto.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/crypto.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions related to crypto.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for an encrypted store area in the text of a TiddlyWiki file\n*/\nexports.extractEncryptedStoreArea = function(text) {\n\tvar encryptedStoreAreaStartMarker = \"<pre id=\\\"encryptedStoreArea\\\" type=\\\"text/plain\\\" style=\\\"display:none;\\\">\",\n\t\tencryptedStoreAreaStart = text.indexOf(encryptedStoreAreaStartMarker);\n\tif(encryptedStoreAreaStart !== -1) {\n\t\tvar encryptedStoreAreaEnd = text.indexOf(\"</pre>\",encryptedStoreAreaStart);\n\t\tif(encryptedStoreAreaEnd !== -1) {\n\t\t\treturn $tw.utils.htmlDecode(text.substring(encryptedStoreAreaStart + encryptedStoreAreaStartMarker.length,encryptedStoreAreaEnd-1));\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If the password is not provided then the password in the password store will be used\n*/\nexports.decryptStoreArea = function(encryptedStoreArea,password) {\n\tvar decryptedText = $tw.crypto.decrypt(encryptedStoreArea,password);\n\tif(decryptedText) {\n\t\tvar json = JSON.parse(decryptedText),\n\t\t\ttiddlers = [];\n\t\tfor(var title in json) {\n\t\t\tif(title !== \"$:/isEncrypted\") {\n\t\t\t\ttiddlers.push(json[title]);\n\t\t\t}\n\t\t}\n\t\treturn tiddlers;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If that fails, the user is prompted for a password.\nencryptedStoreArea: text of the TiddlyWiki encrypted store area\ncallback: function(tiddlers) called with the array of decrypted tiddlers\n\nThe following configuration settings are supported:\n\n$tw.config.usePasswordVault: causes any password entered by the user to also be put into the system password vault\n*/\nexports.decryptStoreAreaInteractive = function(encryptedStoreArea,callback,options) {\n\t// Try to decrypt with the current password\n\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea);\n\tif(tiddlers) {\n\t\tcallback(tiddlers);\n\t} else {\n\t\t// Prompt for a new password and keep trying\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: \"Enter a password to decrypt the imported TiddlyWiki\",\n\t\t\tnoUserName: true,\n\t\t\tcanCancel: true,\n\t\t\tsubmitText: \"Decrypt\",\n\t\t\tcallback: function(data) {\n\t\t\t\t// Exit if the user cancelled\n\t\t\t\tif(!data) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Attempt to decrypt the tiddlers\n\t\t\t\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea,data.password);\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tif($tw.config.usePasswordVault) {\n\t\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t\t}\n\t\t\t\t\tcallback(tiddlers);\n\t\t\t\t\t// Exit and remove the password prompt\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\t// We didn't decrypt everything, so continue to prompt for password\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/utils/crypto.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/animations/slide.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/animations/slide.js\ntype: application/javascript\nmodule-type: animation\n\nA simple slide animation that varies the height of the element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction slideOpen(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration();\n\t// Get the current height of the domNode\n\tvar computedStyle = window.getComputedStyle(domNode),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrPaddingBottom = parseInt(computedStyle.paddingBottom,10),\n\t\tcurrPaddingTop = parseInt(computedStyle.paddingTop,10),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"none\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{marginTop: currMarginTop + \"px\"},\n\t\t{paddingBottom: currPaddingBottom + \"px\"},\n\t\t{paddingTop: currPaddingTop + \"px\"},\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n}\n\nfunction slideClosed(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration(),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Clear the properties we've set when the animation is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n}\n\nexports.slide = {\n\topen: slideOpen,\n\tclose: slideClosed\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom/animations/slide.js",
"type": "application/javascript",
"module-type": "animation"
},
"$:/core/modules/utils/dom/animator.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/animator.js\ntype: application/javascript\nmodule-type: utils\n\nOrchestrates animations and transitions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Animator() {\n\t// Get the registered animation modules\n\tthis.animations = {};\n\t$tw.modules.applyMethods(\"animation\",this.animations);\n}\n\nAnimator.prototype.perform = function(type,domNode,options) {\n\toptions = options || {};\n\t// Find an animation that can handle this type\n\tvar chosenAnimation;\n\t$tw.utils.each(this.animations,function(animation,name) {\n\t\tif($tw.utils.hop(animation,type)) {\n\t\t\tchosenAnimation = animation[type];\n\t\t}\n\t});\n\tif(!chosenAnimation) {\n\t\tchosenAnimation = function(domNode,options) {\n\t\t\tif(options.callback) {\n\t\t\t\toptions.callback();\n\t\t\t}\n\t\t};\n\t}\n\t// Call the animation\n\tchosenAnimation(domNode,options);\n};\n\nexports.Animator = Animator;\n\n})();\n",
"title": "$:/core/modules/utils/dom/animator.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/browser.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/browser.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser feature detection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet style properties of an element\n\telement: dom node\n\tstyles: ordered array of {name: value} pairs\n*/\nexports.setStyle = function(element,styles) {\n\tif(element.nodeType === 1) { // Element.ELEMENT_NODE\n\t\tfor(var t=0; t<styles.length; t++) {\n\t\t\tfor(var styleName in styles[t]) {\n\t\t\t\telement.style[$tw.utils.convertStyleNameToPropertyName(styleName)] = styles[t][styleName];\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nConverts a standard CSS property name into the local browser-specific equivalent. For example:\n\t\"background-color\" --> \"backgroundColor\"\n\t\"transition\" --> \"webkitTransition\"\n*/\n\nvar styleNameCache = {}; // We'll cache the style name conversions\n\nexports.convertStyleNameToPropertyName = function(styleName) {\n\t// Return from the cache if we can\n\tif(styleNameCache[styleName]) {\n\t\treturn styleNameCache[styleName];\n\t}\n\t// Convert it by first removing any hyphens\n\tvar propertyName = $tw.utils.unHyphenateCss(styleName);\n\t// Then check if it needs a prefix\n\tif($tw.browser && document.body.style[propertyName] === undefined) {\n\t\tvar prefixes = [\"O\",\"MS\",\"Moz\",\"webkit\"];\n\t\tfor(var t=0; t<prefixes.length; t++) {\n\t\t\tvar prefixedName = prefixes[t] + propertyName.substr(0,1).toUpperCase() + propertyName.substr(1);\n\t\t\tif(document.body.style[prefixedName] !== undefined) {\n\t\t\t\tpropertyName = prefixedName;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t// Put it in the cache too\n\tstyleNameCache[styleName] = propertyName;\n\treturn propertyName;\n};\n\n/*\nConverts a JS format CSS property name back into the dashed form used in CSS declarations. For example:\n\t\"backgroundColor\" --> \"background-color\"\n\t\"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.convertPropertyNameToStyleName = function(propertyName) {\n\t// Rehyphenate the name\n\tvar styleName = $tw.utils.hyphenateCss(propertyName);\n\t// If there's a webkit prefix, add a dash (other browsers have uppercase prefixes, and so get the dash automatically)\n\tif(styleName.indexOf(\"webkit\") === 0) {\n\t\tstyleName = \"-\" + styleName;\n\t} else if(styleName.indexOf(\"-m-s\") === 0) {\n\t\tstyleName = \"-ms\" + styleName.substr(4);\n\t}\n\treturn styleName;\n};\n\n/*\nRound trip a stylename to a property name and back again. For example:\n\t\"transform\" --> \"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.roundTripPropertyName = function(propertyName) {\n\treturn $tw.utils.convertPropertyNameToStyleName($tw.utils.convertStyleNameToPropertyName(propertyName));\n};\n\n/*\nConverts a standard event name into the local browser specific equivalent. For example:\n\t\"animationEnd\" --> \"webkitAnimationEnd\"\n*/\n\nvar eventNameCache = {}; // We'll cache the conversions\n\nvar eventNameMappings = {\n\t\"transitionEnd\": {\n\t\tcorrespondingCssProperty: \"transition\",\n\t\tmappings: {\n\t\t\ttransition: \"transitionend\",\n\t\t\tOTransition: \"oTransitionEnd\",\n\t\t\tMSTransition: \"msTransitionEnd\",\n\t\t\tMozTransition: \"transitionend\",\n\t\t\twebkitTransition: \"webkitTransitionEnd\"\n\t\t}\n\t},\n\t\"animationEnd\": {\n\t\tcorrespondingCssProperty: \"animation\",\n\t\tmappings: {\n\t\t\tanimation: \"animationend\",\n\t\t\tOAnimation: \"oAnimationEnd\",\n\t\t\tMSAnimation: \"msAnimationEnd\",\n\t\t\tMozAnimation: \"animationend\",\n\t\t\twebkitAnimation: \"webkitAnimationEnd\"\n\t\t}\n\t}\n};\n\nexports.convertEventName = function(eventName) {\n\tif(eventNameCache[eventName]) {\n\t\treturn eventNameCache[eventName];\n\t}\n\tvar newEventName = eventName,\n\t\tmappings = eventNameMappings[eventName];\n\tif(mappings) {\n\t\tvar convertedProperty = $tw.utils.convertStyleNameToPropertyName(mappings.correspondingCssProperty);\n\t\tif(mappings.mappings[convertedProperty]) {\n\t\t\tnewEventName = mappings.mappings[convertedProperty];\n\t\t}\n\t}\n\t// Put it in the cache too\n\teventNameCache[eventName] = newEventName;\n\treturn newEventName;\n};\n\n/*\nReturn the names of the fullscreen APIs\n*/\nexports.getFullScreenApis = function() {\n\tvar d = document,\n\t\tdb = d.body,\n\t\tresult = {\n\t\t\"_requestFullscreen\": db.webkitRequestFullscreen !== undefined ? \"webkitRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.mozRequestFullScreen !== undefined ? \"mozRequestFullScreen\" :\n\t\t\t\t\t\t\tdb.msRequestFullscreen !== undefined ? \"msRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.requestFullscreen !== undefined ? \"requestFullscreen\" : \"\",\n\t\t\"_exitFullscreen\": d.webkitExitFullscreen !== undefined ? \"webkitExitFullscreen\" :\n\t\t\t\t\t\t\td.mozCancelFullScreen !== undefined ? \"mozCancelFullScreen\" :\n\t\t\t\t\t\t\td.msExitFullscreen !== undefined ? \"msExitFullscreen\" :\n\t\t\t\t\t\t\td.exitFullscreen !== undefined ? \"exitFullscreen\" : \"\",\n\t\t\"_fullscreenElement\": d.webkitFullscreenElement !== undefined ? \"webkitFullscreenElement\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozFullScreenElement\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"msFullscreenElement\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenElement\" : \"\",\n\t\t\"_fullscreenChange\": d.webkitFullscreenElement !== undefined ? \"webkitfullscreenchange\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozfullscreenchange\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"MSFullscreenChange\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenchange\" : \"\"\n\t};\n\tif(!result._requestFullscreen || !result._exitFullscreen || !result._fullscreenElement || !result._fullscreenChange) {\n\t\treturn null;\n\t} else {\n\t\treturn result;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom/browser.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/csscolorparser.js": {
"text": "// (c) Dean McNamee <dean@gmail.com>, 2012.\n//\n// https://github.com/deanm/css-color-parser-js\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n// IN THE SOFTWARE.\n\n// http://www.w3.org/TR/css3-color/\nvar kCSSColorTable = {\n \"transparent\": [0,0,0,0], \"aliceblue\": [240,248,255,1],\n \"antiquewhite\": [250,235,215,1], \"aqua\": [0,255,255,1],\n \"aquamarine\": [127,255,212,1], \"azure\": [240,255,255,1],\n \"beige\": [245,245,220,1], \"bisque\": [255,228,196,1],\n \"black\": [0,0,0,1], \"blanchedalmond\": [255,235,205,1],\n \"blue\": [0,0,255,1], \"blueviolet\": [138,43,226,1],\n \"brown\": [165,42,42,1], \"burlywood\": [222,184,135,1],\n \"cadetblue\": [95,158,160,1], \"chartreuse\": [127,255,0,1],\n \"chocolate\": [210,105,30,1], \"coral\": [255,127,80,1],\n \"cornflowerblue\": [100,149,237,1], \"cornsilk\": [255,248,220,1],\n \"crimson\": [220,20,60,1], \"cyan\": [0,255,255,1],\n \"darkblue\": [0,0,139,1], \"darkcyan\": [0,139,139,1],\n \"darkgoldenrod\": [184,134,11,1], \"darkgray\": [169,169,169,1],\n \"darkgreen\": [0,100,0,1], \"darkgrey\": [169,169,169,1],\n \"darkkhaki\": [189,183,107,1], \"darkmagenta\": [139,0,139,1],\n \"darkolivegreen\": [85,107,47,1], \"darkorange\": [255,140,0,1],\n \"darkorchid\": [153,50,204,1], \"darkred\": [139,0,0,1],\n \"darksalmon\": [233,150,122,1], \"darkseagreen\": [143,188,143,1],\n \"darkslateblue\": [72,61,139,1], \"darkslategray\": [47,79,79,1],\n \"darkslategrey\": [47,79,79,1], \"darkturquoise\": [0,206,209,1],\n \"darkviolet\": [148,0,211,1], \"deeppink\": [255,20,147,1],\n \"deepskyblue\": [0,191,255,1], \"dimgray\": [105,105,105,1],\n \"dimgrey\": [105,105,105,1], \"dodgerblue\": [30,144,255,1],\n \"firebrick\": [178,34,34,1], \"floralwhite\": [255,250,240,1],\n \"forestgreen\": [34,139,34,1], \"fuchsia\": [255,0,255,1],\n \"gainsboro\": [220,220,220,1], \"ghostwhite\": [248,248,255,1],\n \"gold\": [255,215,0,1], \"goldenrod\": [218,165,32,1],\n \"gray\": [128,128,128,1], \"green\": [0,128,0,1],\n \"greenyellow\": [173,255,47,1], \"grey\": [128,128,128,1],\n \"honeydew\": [240,255,240,1], \"hotpink\": [255,105,180,1],\n \"indianred\": [205,92,92,1], \"indigo\": [75,0,130,1],\n \"ivory\": [255,255,240,1], \"khaki\": [240,230,140,1],\n \"lavender\": [230,230,250,1], \"lavenderblush\": [255,240,245,1],\n \"lawngreen\": [124,252,0,1], \"lemonchiffon\": [255,250,205,1],\n \"lightblue\": [173,216,230,1], \"lightcoral\": [240,128,128,1],\n \"lightcyan\": [224,255,255,1], \"lightgoldenrodyellow\": [250,250,210,1],\n \"lightgray\": [211,211,211,1], \"lightgreen\": [144,238,144,1],\n \"lightgrey\": [211,211,211,1], \"lightpink\": [255,182,193,1],\n \"lightsalmon\": [255,160,122,1], \"lightseagreen\": [32,178,170,1],\n \"lightskyblue\": [135,206,250,1], \"lightslategray\": [119,136,153,1],\n \"lightslategrey\": [119,136,153,1], \"lightsteelblue\": [176,196,222,1],\n \"lightyellow\": [255,255,224,1], \"lime\": [0,255,0,1],\n \"limegreen\": [50,205,50,1], \"linen\": [250,240,230,1],\n \"magenta\": [255,0,255,1], \"maroon\": [128,0,0,1],\n \"mediumaquamarine\": [102,205,170,1], \"mediumblue\": [0,0,205,1],\n \"mediumorchid\": [186,85,211,1], \"mediumpurple\": [147,112,219,1],\n \"mediumseagreen\": [60,179,113,1], \"mediumslateblue\": [123,104,238,1],\n \"mediumspringgreen\": [0,250,154,1], \"mediumturquoise\": [72,209,204,1],\n \"mediumvioletred\": [199,21,133,1], \"midnightblue\": [25,25,112,1],\n \"mintcream\": [245,255,250,1], \"mistyrose\": [255,228,225,1],\n \"moccasin\": [255,228,181,1], \"navajowhite\": [255,222,173,1],\n \"navy\": [0,0,128,1], \"oldlace\": [253,245,230,1],\n \"olive\": [128,128,0,1], \"olivedrab\": [107,142,35,1],\n \"orange\": [255,165,0,1], \"orangered\": [255,69,0,1],\n \"orchid\": [218,112,214,1], \"palegoldenrod\": [238,232,170,1],\n \"palegreen\": [152,251,152,1], \"paleturquoise\": [175,238,238,1],\n \"palevioletred\": [219,112,147,1], \"papayawhip\": [255,239,213,1],\n \"peachpuff\": [255,218,185,1], \"peru\": [205,133,63,1],\n \"pink\": [255,192,203,1], \"plum\": [221,160,221,1],\n \"powderblue\": [176,224,230,1], \"purple\": [128,0,128,1],\n \"red\": [255,0,0,1], \"rosybrown\": [188,143,143,1],\n \"royalblue\": [65,105,225,1], \"saddlebrown\": [139,69,19,1],\n \"salmon\": [250,128,114,1], \"sandybrown\": [244,164,96,1],\n \"seagreen\": [46,139,87,1], \"seashell\": [255,245,238,1],\n \"sienna\": [160,82,45,1], \"silver\": [192,192,192,1],\n \"skyblue\": [135,206,235,1], \"slateblue\": [106,90,205,1],\n \"slategray\": [112,128,144,1], \"slategrey\": [112,128,144,1],\n \"snow\": [255,250,250,1], \"springgreen\": [0,255,127,1],\n \"steelblue\": [70,130,180,1], \"tan\": [210,180,140,1],\n \"teal\": [0,128,128,1], \"thistle\": [216,191,216,1],\n \"tomato\": [255,99,71,1], \"turquoise\": [64,224,208,1],\n \"violet\": [238,130,238,1], \"wheat\": [245,222,179,1],\n \"white\": [255,255,255,1], \"whitesmoke\": [245,245,245,1],\n \"yellow\": [255,255,0,1], \"yellowgreen\": [154,205,50,1]}\n\nfunction clamp_css_byte(i) { // Clamp to integer 0 .. 255.\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\n return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clamp_css_float(f) { // Clamp to float 0.0 .. 1.0.\n return f < 0 ? 0 : f > 1 ? 1 : f;\n}\n\nfunction parse_css_int(str) { // int or percentage.\n if (str[str.length - 1] === '%')\n return clamp_css_byte(parseFloat(str) / 100 * 255);\n return clamp_css_byte(parseInt(str));\n}\n\nfunction parse_css_float(str) { // float or percentage.\n if (str[str.length - 1] === '%')\n return clamp_css_float(parseFloat(str) / 100);\n return clamp_css_float(parseFloat(str));\n}\n\nfunction css_hue_to_rgb(m1, m2, h) {\n if (h < 0) h += 1;\n else if (h > 1) h -= 1;\n\n if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;\n if (h * 2 < 1) return m2;\n if (h * 3 < 2) return m1 + (m2 - m1) * (2/3 - h) * 6;\n return m1;\n}\n\nfunction parseCSSColor(css_str) {\n // Remove all whitespace, not compliant, but should just be more accepting.\n var str = css_str.replace(/ /g, '').toLowerCase();\n\n // Color keywords (and transparent) lookup.\n if (str in kCSSColorTable) return kCSSColorTable[str].slice(); // dup.\n\n // #abc and #abc123 syntax.\n if (str[0] === '#') {\n if (str.length === 4) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xfff)) return null; // Covers NaN.\n return [((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8),\n (iv & 0xf0) | ((iv & 0xf0) >> 4),\n (iv & 0xf) | ((iv & 0xf) << 4),\n 1];\n } else if (str.length === 7) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xffffff)) return null; // Covers NaN.\n return [(iv & 0xff0000) >> 16,\n (iv & 0xff00) >> 8,\n iv & 0xff,\n 1];\n }\n\n return null;\n }\n\n var op = str.indexOf('('), ep = str.indexOf(')');\n if (op !== -1 && ep + 1 === str.length) {\n var fname = str.substr(0, op);\n var params = str.substr(op+1, ep-(op+1)).split(',');\n var alpha = 1; // To allow case fallthrough.\n switch (fname) {\n case 'rgba':\n if (params.length !== 4) return null;\n alpha = parse_css_float(params.pop());\n // Fall through.\n case 'rgb':\n if (params.length !== 3) return null;\n return [parse_css_int(params[0]),\n parse_css_int(params[1]),\n parse_css_int(params[2]),\n alpha];\n case 'hsla':\n if (params.length !== 4) return null;\n alpha = parse_css_float(params.pop());\n // Fall through.\n case 'hsl':\n if (params.length !== 3) return null;\n var h = (((parseFloat(params[0]) % 360) + 360) % 360) / 360; // 0 .. 1\n // NOTE(deanm): According to the CSS spec s/l should only be\n // percentages, but we don't bother and let float or percentage.\n var s = parse_css_float(params[1]);\n var l = parse_css_float(params[2]);\n var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var m1 = l * 2 - m2;\n return [clamp_css_byte(css_hue_to_rgb(m1, m2, h+1/3) * 255),\n clamp_css_byte(css_hue_to_rgb(m1, m2, h) * 255),\n clamp_css_byte(css_hue_to_rgb(m1, m2, h-1/3) * 255),\n alpha];\n default:\n return null;\n }\n }\n\n return null;\n}\n\ntry { exports.parseCSSColor = parseCSSColor } catch(e) { }\n",
"title": "$:/core/modules/utils/dom/csscolorparser.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static DOM-related utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDetermines whether element 'a' contains element 'b'\nCode thanks to John Resig, http://ejohn.org/blog/comparing-document-position/\n*/\nexports.domContains = function(a,b) {\n\treturn a.contains ?\n\t\ta !== b && a.contains(b) :\n\t\t!!(a.compareDocumentPosition(b) & 16);\n};\n\nexports.removeChildren = function(node) {\n\twhile(node.hasChildNodes()) {\n\t\tnode.removeChild(node.firstChild);\n\t}\n};\n\nexports.hasClass = function(el,className) {\n\treturn el && el.className && el.className.toString().split(\" \").indexOf(className) !== -1;\n};\n\nexports.addClass = function(el,className) {\n\tvar c = el.className.split(\" \");\n\tif(c.indexOf(className) === -1) {\n\t\tc.push(className);\n\t}\n\tel.className = c.join(\" \");\n};\n\nexports.removeClass = function(el,className) {\n\tvar c = el.className.split(\" \"),\n\t\tp = c.indexOf(className);\n\tif(p !== -1) {\n\t\tc.splice(p,1);\n\t\tel.className = c.join(\" \");\n\t}\n};\n\nexports.toggleClass = function(el,className,status) {\n\tif(status === undefined) {\n\t\tstatus = !exports.hasClass(el,className);\n\t}\n\tif(status) {\n\t\texports.addClass(el,className);\n\t} else {\n\t\texports.removeClass(el,className);\n\t}\n};\n\n/*\nGet the first parent element that has scrollbars or use the body as fallback.\n*/\nexports.getScrollContainer = function(el) {\n\tvar doc = el.ownerDocument;\n\twhile(el.parentNode) {\t\n\t\tel = el.parentNode;\n\t\tif(el.scrollTop) {\n\t\t\treturn el;\n\t\t}\n\t}\n\treturn doc.body;\n};\n\n/*\nGet the scroll position of the viewport\nReturns:\n\t{\n\t\tx: horizontal scroll position in pixels,\n\t\ty: vertical scroll position in pixels\n\t}\n*/\nexports.getScrollPosition = function() {\n\tif(\"scrollX\" in window) {\n\t\treturn {x: window.scrollX, y: window.scrollY};\n\t} else {\n\t\treturn {x: document.documentElement.scrollLeft, y: document.documentElement.scrollTop};\n\t}\n};\n\n/*\nAdjust the height of a textarea to fit its content, preserving scroll position, and return the height\n*/\nexports.resizeTextAreaToFit = function(domNode,minHeight) {\n\t// Get the scroll container and register the current scroll position\n\tvar container = $tw.utils.getScrollContainer(domNode),\n\t\tscrollTop = container.scrollTop;\n // Measure the specified minimum height\n\tdomNode.style.height = minHeight;\n\tvar measuredHeight = domNode.offsetHeight;\n\t// Set its height to auto so that it snaps to the correct height\n\tdomNode.style.height = \"auto\";\n\t// Calculate the revised height\n\tvar newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,measuredHeight);\n\t// Only try to change the height if it has changed\n\tif(newHeight !== domNode.offsetHeight) {\n\t\tdomNode.style.height = newHeight + \"px\";\n\t\t// Make sure that the dimensions of the textarea are recalculated\n\t\t$tw.utils.forceLayout(domNode);\n\t\t// Set the container to the position we registered at the beginning\n\t\tcontainer.scrollTop = scrollTop;\n\t}\n\treturn newHeight;\n};\n\n/*\nGets the bounding rectangle of an element in absolute page coordinates\n*/\nexports.getBoundingPageRect = function(element) {\n\tvar scrollPos = $tw.utils.getScrollPosition(),\n\t\tclientRect = element.getBoundingClientRect();\n\treturn {\n\t\tleft: clientRect.left + scrollPos.x,\n\t\twidth: clientRect.width,\n\t\tright: clientRect.right + scrollPos.x,\n\t\ttop: clientRect.top + scrollPos.y,\n\t\theight: clientRect.height,\n\t\tbottom: clientRect.bottom + scrollPos.y\n\t};\n};\n\n/*\nSaves a named password in the browser\n*/\nexports.savePassword = function(name,password) {\n\ttry {\n\t\tif(window.localStorage) {\n\t\t\tlocalStorage.setItem(\"tw5-password-\" + name,password);\n\t\t}\n\t} catch(e) {\n\t}\n};\n\n/*\nRetrieve a named password from the browser\n*/\nexports.getPassword = function(name) {\n\ttry {\n\t\treturn window.localStorage ? localStorage.getItem(\"tw5-password-\" + name) : \"\";\n\t} catch(e) {\n\t\treturn \"\";\n\t}\n};\n\n/*\nForce layout of a dom node and its descendents\n*/\nexports.forceLayout = function(element) {\n\tvar dummy = element.offsetWidth;\n};\n\n/*\nPulse an element for debugging purposes\n*/\nexports.pulseElement = function(element) {\n\t// Event handler to remove the class at the end\n\telement.addEventListener($tw.browser.animationEnd,function handler(event) {\n\t\telement.removeEventListener($tw.browser.animationEnd,handler,false);\n\t\t$tw.utils.removeClass(element,\"pulse\");\n\t},false);\n\t// Apply the pulse class\n\t$tw.utils.removeClass(element,\"pulse\");\n\t$tw.utils.forceLayout(element);\n\t$tw.utils.addClass(element,\"pulse\");\n};\n\n/*\nAttach specified event handlers to a DOM node\ndomNode: where to attach the event handlers\nevents: array of event handlers to be added (see below)\nEach entry in the events array is an object with these properties:\nhandlerFunction: optional event handler function\nhandlerObject: optional event handler object\nhandlerMethod: optionally specifies object handler method name (defaults to `handleEvent`)\n*/\nexports.addEventListeners = function(domNode,events) {\n\t$tw.utils.each(events,function(eventInfo) {\n\t\tvar handler;\n\t\tif(eventInfo.handlerFunction) {\n\t\t\thandler = eventInfo.handlerFunction;\n\t\t} else if(eventInfo.handlerObject) {\n\t\t\tif(eventInfo.handlerMethod) {\n\t\t\t\thandler = function(event) {\n\t\t\t\t\teventInfo.handlerObject[eventInfo.handlerMethod].call(eventInfo.handlerObject,event);\n\t\t\t\t};\t\n\t\t\t} else {\n\t\t\t\thandler = eventInfo.handlerObject;\n\t\t\t}\n\t\t}\n\t\tdomNode.addEventListener(eventInfo.name,handler,false);\n\t});\n};\n\n/*\nGet the computed styles applied to an element as an array of strings of individual CSS properties\n*/\nexports.getComputedStyles = function(domNode) {\n\tvar textAreaStyles = window.getComputedStyle(domNode,null),\n\t\tstyleDefs = [],\n\t\tname;\n\tfor(var t=0; t<textAreaStyles.length; t++) {\n\t\tname = textAreaStyles[t];\n\t\tstyleDefs.push(name + \": \" + textAreaStyles.getPropertyValue(name) + \";\");\n\t}\n\treturn styleDefs;\n};\n\n/*\nApply a set of styles passed as an array of strings of individual CSS properties\n*/\nexports.setStyles = function(domNode,styleDefs) {\n\tdomNode.style.cssText = styleDefs.join(\"\");\n};\n\n/*\nCopy the computed styles from a source element to a destination element\n*/\nexports.copyStyles = function(srcDomNode,dstDomNode) {\n\t$tw.utils.setStyles(dstDomNode,$tw.utils.getComputedStyles(srcDomNode));\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/http.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/http.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser HTTP support\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nA quick and dirty HTTP function; to be refactored later. Options are:\n\turl: URL to retrieve\n\ttype: GET, PUT, POST etc\n\tcallback: function invoked with (err,data)\n*/\nexports.httpRequest = function(options) {\n\tvar type = options.type || \"GET\",\n\t\theaders = options.headers || {accept: \"application/json\"},\n\t\trequest = new XMLHttpRequest(),\n\t\tdata = \"\",\n\t\tf,results;\n\t// Massage the data hashmap into a string\n\tif(options.data) {\n\t\tif(typeof options.data === \"string\") { // Already a string\n\t\t\tdata = options.data;\n\t\t} else { // A hashmap of strings\n\t\t\tresults = [];\n\t\t\t$tw.utils.each(options.data,function(dataItem,dataItemTitle) {\n\t\t\t\tresults.push(dataItemTitle + \"=\" + encodeURIComponent(dataItem));\n\t\t\t});\n\t\t\tdata = results.join(\"&\");\n\t\t}\n\t}\n\t// Set up the state change handler\n\trequest.onreadystatechange = function() {\n\t\tif(this.readyState === 4) {\n\t\t\tif(this.status === 200 || this.status === 201 || this.status === 204) {\n\t\t\t\t// Success!\n\t\t\t\toptions.callback(null,this.responseText,this);\n\t\t\t\treturn;\n\t\t\t}\n\t\t// Something went wrong\n\t\toptions.callback($tw.language.getString(\"Error/XMLHttpRequest\") + \": \" + this.status);\n\t\t}\n\t};\n\t// Make the request\n\trequest.open(type,options.url,true);\n\tif(headers) {\n\t\t$tw.utils.each(headers,function(header,headerTitle,object) {\n\t\t\trequest.setRequestHeader(headerTitle,header);\n\t\t});\n\t}\n\tif(data && !$tw.utils.hop(headers,\"Content-type\")) {\n\t\trequest.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded; charset=UTF-8\");\n\t}\n\ttry {\n\t\trequest.send(data);\n\t} catch(e) {\n\t\toptions.callback(e);\n\t}\n\treturn request;\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom/http.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/keyboard.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/keyboard.js\ntype: application/javascript\nmodule-type: utils\n\nKeyboard utilities; now deprecated. Instead, use $tw.keyboardManager\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n[\"parseKeyDescriptor\",\"checkKeyDescriptor\"].forEach(function(method) {\n\texports[method] = function() {\n\t\tif($tw.keyboardManager) {\n\t\t\treturn $tw.keyboardManager[method].apply($tw.keyboardManager,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t};\n});\n\n})();\n",
"title": "$:/core/modules/utils/dom/keyboard.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/modal.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/modal.js\ntype: application/javascript\nmodule-type: utils\n\nModal message mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Modal = function(wiki) {\n\tthis.wiki = wiki;\n\tthis.modalCount = 0;\n};\n\n/*\nDisplay a modal dialogue\n\ttitle: Title of tiddler to display\n\toptions: see below\nOptions include:\n\tdownloadLink: Text of a big download link to include\n*/\nModal.prototype.display = function(title,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\trefreshHandler,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\ttiddler = this.wiki.getTiddler(title);\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Create the wrapper divs\n\tvar wrapper = document.createElement(\"div\"),\n\t\tmodalBackdrop = document.createElement(\"div\"),\n\t\tmodalWrapper = document.createElement(\"div\"),\n\t\tmodalHeader = document.createElement(\"div\"),\n\t\theaderTitle = document.createElement(\"h3\"),\n\t\tmodalBody = document.createElement(\"div\"),\n\t\tmodalLink = document.createElement(\"a\"),\n\t\tmodalFooter = document.createElement(\"div\"),\n\t\tmodalFooterHelp = document.createElement(\"span\"),\n\t\tmodalFooterButtons = document.createElement(\"span\");\n\t// Up the modal count and adjust the body class\n\tthis.modalCount++;\n\tthis.adjustPageClass();\n\t// Add classes\n\t$tw.utils.addClass(wrapper,\"tc-modal-wrapper\");\n\t$tw.utils.addClass(modalBackdrop,\"tc-modal-backdrop\");\n\t$tw.utils.addClass(modalWrapper,\"tc-modal\");\n\t$tw.utils.addClass(modalHeader,\"tc-modal-header\");\n\t$tw.utils.addClass(modalBody,\"tc-modal-body\");\n\t$tw.utils.addClass(modalFooter,\"tc-modal-footer\");\n\t// Join them together\n\twrapper.appendChild(modalBackdrop);\n\twrapper.appendChild(modalWrapper);\n\tmodalHeader.appendChild(headerTitle);\n\tmodalWrapper.appendChild(modalHeader);\n\tmodalWrapper.appendChild(modalBody);\n\tmodalFooter.appendChild(modalFooterHelp);\n\tmodalFooter.appendChild(modalFooterButtons);\n\tmodalWrapper.appendChild(modalFooter);\n\t// Render the title of the message\n\tvar headerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"subtitle\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\tattributes: {\n\t\t\t\ttext: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title\n\t\t}}}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables\n\t});\n\theaderWidgetNode.render(headerTitle,null);\n\t// Render the body of the message\n\tvar bodyWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables\n\t});\n\tbodyWidgetNode.render(modalBody,null);\n\t// Setup the link if present\n\tif(options.downloadLink) {\n\t\tmodalLink.href = options.downloadLink;\n\t\tmodalLink.appendChild(document.createTextNode(\"Right-click to save changes\"));\n\t\tmodalBody.appendChild(modalLink);\n\t}\n\t// Render the footer of the message\n\tif(tiddler && tiddler.fields && tiddler.fields.help) {\n\t\tvar link = document.createElement(\"a\");\n\t\tlink.setAttribute(\"href\",tiddler.fields.help);\n\t\tlink.setAttribute(\"target\",\"_blank\");\n\t\tlink.setAttribute(\"rel\",\"noopener noreferrer\");\n\t\tlink.appendChild(document.createTextNode(\"Help\"));\n\t\tmodalFooterHelp.appendChild(link);\n\t\tmodalFooterHelp.style.float = \"left\";\n\t}\n\tvar footerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"footer\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"button\",\n\t\t\tattributes: {\n\t\t\t\tmessage: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: \"tm-close-tiddler\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\tattributes: {\n\t\t\t\t\ttext: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tvalue: $tw.language.getString(\"Buttons/Close/Caption\")\n\t\t\t}}}\n\t\t]}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables\n\t});\n\tfooterWidgetNode.render(modalFooterButtons,null);\n\t// Set up the refresh handler\n\trefreshHandler = function(changes) {\n\t\theaderWidgetNode.refresh(changes,modalHeader,null);\n\t\tbodyWidgetNode.refresh(changes,modalBody,null);\n\t\tfooterWidgetNode.refresh(changes,modalFooterButtons,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Add the close event handler\n\tvar closeHandler = function(event) {\n\t\t// Remove our refresh handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Decrease the modal count and adjust the body class\n\t\tself.modalCount--;\n\t\tself.adjustPageClass();\n\t\t// Force layout and animate the modal message away\n\t\t$tw.utils.forceLayout(modalBackdrop);\n\t\t$tw.utils.forceLayout(modalWrapper);\n\t\t$tw.utils.setStyle(modalBackdrop,[\n\t\t\t{opacity: \"0\"}\n\t\t]);\n\t\t$tw.utils.setStyle(modalWrapper,[\n\t\t\t{transform: \"translateY(\" + window.innerHeight + \"px)\"}\n\t\t]);\n\t\t// Set up an event for the transition end\n\t\twindow.setTimeout(function() {\n\t\t\tif(wrapper.parentNode) {\n\t\t\t\t// Remove the modal message from the DOM\n\t\t\t\tdocument.body.removeChild(wrapper);\n\t\t\t}\n\t\t},duration);\n\t\t// Don't let anyone else handle the tm-close-tiddler message\n\t\treturn false;\n\t};\n\theaderWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tbodyWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tfooterWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\t// Set the initial styles for the message\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"}\n\t]);\n\t// Put the message into the document\n\tdocument.body.appendChild(wrapper);\n\t// Set up animation for the styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{transition: \"opacity \" + duration + \"ms ease-out\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(modalBackdrop);\n\t$tw.utils.forceLayout(modalWrapper);\n\t// Set final animated styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0.7\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n};\n\nModal.prototype.adjustPageClass = function() {\n\tif($tw.pageContainer) {\n\t\t$tw.utils.toggleClass($tw.pageContainer,\"tc-modal-displayed\",this.modalCount > 0);\n\t}\n};\n\nexports.Modal = Modal;\n\n})();\n",
"title": "$:/core/modules/utils/dom/modal.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/notifier.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/notifier.js\ntype: application/javascript\nmodule-type: utils\n\nNotifier mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Notifier = function(wiki) {\n\tthis.wiki = wiki;\n};\n\n/*\nDisplay a notification\n\ttitle: Title of tiddler containing the notification text\n\toptions: see below\nOptions include:\n*/\nNotifier.prototype.display = function(title,options) {\n\toptions = options || {};\n\t// Create the wrapper divs\n\tvar self = this,\n\t\tnotification = document.createElement(\"div\"),\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\trefreshHandler;\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Add classes\n\t$tw.utils.addClass(notification,\"tc-notification\");\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Render the body of the notification\n\tvar widgetNode = this.wiki.makeTranscludeWidget(title,{parentWidget: $tw.rootWidget, document: document, variables: variables});\n\twidgetNode.render(notification,null);\n\trefreshHandler = function(changes) {\n\t\twidgetNode.refresh(changes,notification,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Set the initial styles for the notification\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"0\"},\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"},\n\t\t{transition: \"opacity \" + duration + \"ms ease-out, \" + $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Add the notification to the DOM\n\tdocument.body.appendChild(notification);\n\t// Force layout\n\t$tw.utils.forceLayout(notification);\n\t// Set final animated styles\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n\t// Set a timer to remove the notification\n\twindow.setTimeout(function() {\n\t\t// Remove our change event handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Force layout and animate the notification away\n\t\t$tw.utils.forceLayout(notification);\n\t\t$tw.utils.setStyle(notification,[\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transform: \"translateX(\" + (notification.offsetWidth) + \"px)\"}\n\t\t]);\n\t\t// Remove the modal message from the DOM once the transition ends\n\t\tsetTimeout(function() {\n\t\t\tif(notification.parentNode) {\n\t\t\t\tdocument.body.removeChild(notification);\n\t\t\t}\n\t\t},duration);\n\t},$tw.config.preferences.notificationDuration);\n};\n\nexports.Notifier = Notifier;\n\n})();\n",
"title": "$:/core/modules/utils/dom/notifier.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/popup.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/popup.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Popup object prototype that manages popups in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreates a Popup object with these options:\n\trootElement: the DOM element to which the popup zapper should be attached\n*/\nvar Popup = function(options) {\n\toptions = options || {};\n\tthis.rootElement = options.rootElement || document.documentElement;\n\tthis.popups = []; // Array of {title:,wiki:,domNode:} objects\n};\n\n/*\nTrigger a popup open or closed. Parameters are in a hashmap:\n\ttitle: title of the tiddler where the popup details are stored\n\tdomNode: dom node to which the popup will be positioned\n\twiki: wiki\n\tforce: if specified, forces the popup state to true or false (instead of toggling it)\n*/\nPopup.prototype.triggerPopup = function(options) {\n\t// Check if this popup is already active\n\tvar index = this.findPopup(options.title);\n\t// Compute the new state\n\tvar state = index === -1;\n\tif(options.force !== undefined) {\n\t\tstate = options.force;\n\t}\n\t// Show or cancel the popup according to the new state\n\tif(state) {\n\t\tthis.show(options);\n\t} else {\n\t\tthis.cancel(index);\n\t}\n};\n\nPopup.prototype.findPopup = function(title) {\n\tvar index = -1;\n\tfor(var t=0; t<this.popups.length; t++) {\n\t\tif(this.popups[t].title === title) {\n\t\t\tindex = t;\n\t\t}\n\t}\n\treturn index;\n};\n\nPopup.prototype.handleEvent = function(event) {\n\tif(event.type === \"click\") {\n\t\t// Find out what was clicked on\n\t\tvar info = this.popupInfo(event.target),\n\t\t\tcancelLevel = info.popupLevel - 1;\n\t\t// Don't remove the level that was clicked on if we clicked on a handle\n\t\tif(info.isHandle) {\n\t\t\tcancelLevel++;\n\t\t}\n\t\t// Cancel\n\t\tthis.cancel(cancelLevel);\n\t}\n};\n\n/*\nFind the popup level containing a DOM node. Returns:\npopupLevel: count of the number of nested popups containing the specified element\nisHandle: true if the specified element is within a popup handle\n*/\nPopup.prototype.popupInfo = function(domNode) {\n\tvar isHandle = false,\n\t\tpopupCount = 0,\n\t\tnode = domNode;\n\t// First check ancestors to see if we're within a popup handle\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup-handle\")) {\n\t\t\tisHandle = true;\n\t\t\tpopupCount++;\n\t\t}\n\t\tif($tw.utils.hasClass(node,\"tc-popup-keep\")) {\n\t\t\tisHandle = true;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\t// Then count the number of ancestor popups\n\tnode = domNode;\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup\")) {\n\t\t\tpopupCount++;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\tvar info = {\n\t\tpopupLevel: popupCount,\n\t\tisHandle: isHandle\n\t};\n\treturn info;\n};\n\n/*\nDisplay a popup by adding it to the stack\n*/\nPopup.prototype.show = function(options) {\n\t// Find out what was clicked on\n\tvar info = this.popupInfo(options.domNode);\n\t// Cancel any higher level popups\n\tthis.cancel(info.popupLevel);\n\t// Store the popup details if not already there\n\tif(this.findPopup(options.title) === -1) {\n\t\tthis.popups.push({\n\t\t\ttitle: options.title,\n\t\t\twiki: options.wiki,\n\t\t\tdomNode: options.domNode\n\t\t});\n\t}\n\t// Set the state tiddler\n\toptions.wiki.setTextReference(options.title,\n\t\t\t\"(\" + options.domNode.offsetLeft + \",\" + options.domNode.offsetTop + \",\" + \n\t\t\t\toptions.domNode.offsetWidth + \",\" + options.domNode.offsetHeight + \")\");\n\t// Add the click handler if we have any popups\n\tif(this.popups.length > 0) {\n\t\tthis.rootElement.addEventListener(\"click\",this,true);\t\t\n\t}\n};\n\n/*\nCancel all popups at or above a specified level or DOM node\nlevel: popup level to cancel (0 cancels all popups)\n*/\nPopup.prototype.cancel = function(level) {\n\tvar numPopups = this.popups.length;\n\tlevel = Math.max(0,Math.min(level,numPopups));\n\tfor(var t=level; t<numPopups; t++) {\n\t\tvar popup = this.popups.pop();\n\t\tif(popup.title) {\n\t\t\tpopup.wiki.deleteTiddler(popup.title);\n\t\t}\n\t}\n\tif(this.popups.length === 0) {\n\t\tthis.rootElement.removeEventListener(\"click\",this,false);\n\t}\n};\n\n/*\nReturns true if the specified title and text identifies an active popup\n*/\nPopup.prototype.readPopupState = function(text) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/;\n\treturn popupLocationRegExp.test(text);\n};\n\nexports.Popup = Popup;\n\n})();\n",
"title": "$:/core/modules/utils/dom/popup.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/scroller.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/scroller.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Scroller object prototype that manages scrolling in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nEvent handler for when the `tm-scroll` event hits the document body\n*/\nvar PageScroller = function() {\n\tthis.idRequestFrame = null;\n\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\twindow.webkitRequestAnimationFrame ||\n\t\twindow.mozRequestAnimationFrame ||\n\t\tfunction(callback) {\n\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t};\n\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\twindow.webkitCancelAnimationFrame ||\n\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\twindow.mozCancelAnimationFrame ||\n\t\twindow.mozCancelRequestAnimationFrame ||\n\t\tfunction(id) {\n\t\t\twindow.clearTimeout(id);\n\t\t};\n};\n\nPageScroller.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle an event\n*/\nPageScroller.prototype.handleEvent = function(event) {\n\tif(event.type === \"tm-scroll\") {\n\t\treturn this.scrollIntoView(event.target);\n\t}\n\treturn true;\n};\n\n/*\nHandle a scroll event hitting the page document\n*/\nPageScroller.prototype.scrollIntoView = function(element) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\t// Now get ready to scroll the body\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = $tw.utils.getScrollPosition();\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar clientBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientBounds.left + scrollPosition.x,\n\t\t\ttop: clientBounds.top + scrollPosition.y,\n\t\t\twidth: clientBounds.width,\n\t\t\theight: clientBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\t// targetPos/targetSize - position and size of the target element\n\t// currentPos/currentSize - position and size of the current scroll viewport\n\t// returns: new position of the scroll viewport\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\tvar newPos = currentPos;\n\t\t\t// If the target is above/left of the current view, then scroll to it's top/left\n\t\t\tif(targetPos <= currentPos) {\n\t\t\t\tnewPos = targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\tnewPos = targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\tnewPos = targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\tnewPos = currentPos;\n\t\t\t}\n\t\t\t// If we are scrolling within 50 pixels of the top/left then snap to zero\n\t\t\tif(newPos < 50) {\n\t\t\t\tnewPos = 0;\n\t\t\t}\n\t\t\treturn newPos;\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,window.innerWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,window.innerHeight);\n\t// Only scroll if the position has changed\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\twindow.scrollTo(scrollPosition.x + (endX - scrollPosition.x) * t,scrollPosition.y + (endY - scrollPosition.y) * t);\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(window,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\nexports.PageScroller = PageScroller;\n\n})();\n",
"title": "$:/core/modules/utils/dom/scroller.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/edition-info.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/edition-info.js\ntype: application/javascript\nmodule-type: utils-node\n\nInformation about the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\nvar editionInfo;\n\nexports.getEditionInfo = function() {\n\tif(!editionInfo) {\n\t\t// Enumerate the edition paths\n\t\tvar editionPaths = $tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar);\n\t\teditionInfo = {};\n\t\tfor(var editionIndex=0; editionIndex<editionPaths.length; editionIndex++) {\n\t\t\tvar editionPath = editionPaths[editionIndex];\n\t\t\t// Enumerate the folders\n\t\t\tvar entries = fs.readdirSync(editionPath);\n\t\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\t\tvar entry = entries[entryIndex];\n\t\t\t\t// Check if directories have a valid tiddlywiki.info\n\t\t\t\tif(!editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {\n\t\t\t\t\tvar info;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tinfo = JSON.parse(fs.readFileSync(path.resolve(editionPath,entry,\"tiddlywiki.info\"),\"utf8\"));\n\t\t\t\t\t} catch(ex) {\n\t\t\t\t\t}\n\t\t\t\t\tif(info) {\n\t\t\t\t\t\teditionInfo[entry] = info;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn editionInfo;\n};\n\n})();\n",
"title": "$:/core/modules/utils/edition-info.js",
"type": "application/javascript",
"module-type": "utils-node"
},
"$:/core/modules/utils/fakedom.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/fakedom.js\ntype: application/javascript\nmodule-type: global\n\nA barebones implementation of DOM interfaces needed by the rendering mechanism.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Sequence number used to enable us to track objects for testing\nvar sequenceNumber = null;\n\nvar bumpSequenceNumber = function(object) {\n\tif(sequenceNumber !== null) {\n\t\tobject.sequenceNumber = sequenceNumber++;\n\t}\n};\n\nvar TW_TextNode = function(text) {\n\tbumpSequenceNumber(this);\n\tthis.textContent = text;\n};\n\nObject.defineProperty(TW_TextNode.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn 3;\n\t}\n});\n\nObject.defineProperty(TW_TextNode.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\treturn this.textContent.replace(/(\\r?\\n)/g,\"\");\n\t}\n});\n\nvar TW_Element = function(tag,namespace) {\n\tbumpSequenceNumber(this);\n\tthis.isTiddlyWikiFakeDom = true;\n\tthis.tag = tag;\n\tthis.attributes = {};\n\tthis.isRaw = false;\n\tthis.children = [];\n\tthis.style = {};\n\tthis.namespaceURI = namespace || \"http://www.w3.org/1999/xhtml\";\n};\n\nObject.defineProperty(TW_Element.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn 1;\n\t}\n});\n\nTW_Element.prototype.getAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot getAttribute on a raw TW_Element\";\n\t}\n\treturn this.attributes[name];\n};\n\nTW_Element.prototype.setAttribute = function(name,value) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot setAttribute on a raw TW_Element\";\n\t}\n\tthis.attributes[name] = value;\n};\n\nTW_Element.prototype.setAttributeNS = function(namespace,name,value) {\n\tthis.setAttribute(name,value);\n};\n\nTW_Element.prototype.removeAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot removeAttribute on a raw TW_Element\";\n\t}\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\tdelete this.attributes[name];\n\t}\n};\n\nTW_Element.prototype.appendChild = function(node) {\n\tthis.children.push(node);\n\tnode.parentNode = this;\n};\n\nTW_Element.prototype.insertBefore = function(node,nextSibling) {\n\tif(nextSibling) {\n\t\tvar p = this.children.indexOf(nextSibling);\n\t\tif(p !== -1) {\n\t\t\tthis.children.splice(p,0,node);\n\t\t\tnode.parentNode = this;\n\t\t} else {\n\t\t\tthis.appendChild(node);\n\t\t}\n\t} else {\n\t\tthis.appendChild(node);\n\t}\n};\n\nTW_Element.prototype.removeChild = function(node) {\n\tvar p = this.children.indexOf(node);\n\tif(p !== -1) {\n\t\tthis.children.splice(p,1);\n\t}\n};\n\nTW_Element.prototype.hasChildNodes = function() {\n\treturn !!this.children.length;\n};\n\nObject.defineProperty(TW_Element.prototype, \"childNodes\", {\n\tget: function() {\n\t\treturn this.children;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"firstChild\", {\n\tget: function() {\n\t\treturn this.children[0];\n\t}\n});\n\nTW_Element.prototype.addEventListener = function(type,listener,useCapture) {\n\t// Do nothing\n};\n\nObject.defineProperty(TW_Element.prototype, \"tagName\", {\n\tget: function() {\n\t\treturn this.tag || \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"className\", {\n\tget: function() {\n\t\treturn this.attributes[\"class\"] || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes[\"class\"] = value;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"value\", {\n\tget: function() {\n\t\treturn this.attributes.value || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes.value = value;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"outerHTML\", {\n\tget: function() {\n\t\tvar output = [],attr,a,v;\n\t\toutput.push(\"<\",this.tag);\n\t\tif(this.attributes) {\n\t\t\tattr = [];\n\t\t\tfor(a in this.attributes) {\n\t\t\t\tattr.push(a);\n\t\t\t}\n\t\t\tattr.sort();\n\t\t\tfor(a=0; a<attr.length; a++) {\n\t\t\t\tv = this.attributes[attr[a]];\n\t\t\t\tif(v !== undefined) {\n\t\t\t\t\toutput.push(\" \",attr[a],\"=\\\"\",$tw.utils.htmlEncode(v),\"\\\"\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(this.style) {\n\t\t\tvar style = [];\n\t\t\tfor(var s in this.style) {\n\t\t\t\tstyle.push(s + \":\" + this.style[s] + \";\");\n\t\t\t}\n\t\t\tif(style.length > 0) {\n\t\t\t\toutput.push(\" style=\\\"\",style.join(\"\"),\"\\\"\")\n\t\t\t}\n\t\t}\n\t\toutput.push(\">\");\n\t\tif($tw.config.htmlVoidElements.indexOf(this.tag) === -1) {\n\t\t\toutput.push(this.innerHTML);\n\t\t\toutput.push(\"</\",this.tag,\">\");\n\t\t}\n\t\treturn output.join(\"\");\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"innerHTML\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn this.rawHTML;\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tif(node instanceof TW_Element) {\n\t\t\t\t\tb.push(node.outerHTML);\n\t\t\t\t} else if(node instanceof TW_TextNode) {\n\t\t\t\t\tb.push($tw.utils.htmlEncode(node.textContent));\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.isRaw = true;\n\t\tthis.rawHTML = value;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tthrow \"Cannot get textContent on a raw TW_Element\";\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.textContent);\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.children = [new TW_TextNode(value)];\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tthrow \"Cannot get formattedTextContent on a raw TW_Element\";\n\t\t} else {\n\t\t\tvar b = [],\n\t\t\t\tisBlock = $tw.config.htmlBlockElements.indexOf(this.tag) !== -1;\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\tif(this.tag === \"li\") {\n\t\t\t\tb.push(\"* \");\n\t\t\t}\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.formattedTextContent);\n\t\t\t});\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\treturn b.join(\"\");\n\t\t}\n\t}\n});\n\nvar document = {\n\tsetSequenceNumber: function(value) {\n\t\tsequenceNumber = value;\n\t},\n\tcreateElementNS: function(namespace,tag) {\n\t\treturn new TW_Element(tag,namespace);\n\t},\n\tcreateElement: function(tag) {\n\t\treturn new TW_Element(tag);\n\t},\n\tcreateTextNode: function(text) {\n\t\treturn new TW_TextNode(text);\n\t},\n\tcompatMode: \"CSS1Compat\", // For KaTeX to know that we're not a browser in quirks mode\n\tisTiddlyWikiFakeDom: true\n};\n\nexports.fakeDocument = document;\n\n})();\n",
"title": "$:/core/modules/utils/fakedom.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/utils/filesystem.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/filesystem.js\ntype: application/javascript\nmodule-type: utils-node\n\nFile system utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\n/*\nRecursively (and synchronously) copy a directory and all its content\n*/\nexports.copyDirectory = function(srcPath,dstPath) {\n\t// Remove any trailing path separators\n\tsrcPath = $tw.utils.removeTrailingSeparator(srcPath);\n\tdstPath = $tw.utils.removeTrailingSeparator(dstPath);\n\t// Create the destination directory\n\tvar err = $tw.utils.createDirectory(dstPath);\n\tif(err) {\n\t\treturn err;\n\t}\n\t// Function to copy a folder full of files\n\tvar copy = function(srcPath,dstPath) {\n\t\tvar srcStats = fs.lstatSync(srcPath),\n\t\t\tdstExists = fs.existsSync(dstPath);\n\t\tif(srcStats.isFile()) {\n\t\t\t$tw.utils.copyFile(srcPath,dstPath);\n\t\t} else if(srcStats.isDirectory()) {\n\t\t\tvar items = fs.readdirSync(srcPath);\n\t\t\tfor(var t=0; t<items.length; t++) {\n\t\t\t\tvar item = items[t],\n\t\t\t\t\terr = copy(srcPath + path.sep + item,dstPath + path.sep + item);\n\t\t\t\tif(err) {\n\t\t\t\t\treturn err;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\tcopy(srcPath,dstPath);\n\treturn null;\n};\n\n/*\nCopy a file\n*/\nvar FILE_BUFFER_LENGTH = 64 * 1024,\n\tfileBuffer;\n\nexports.copyFile = function(srcPath,dstPath) {\n\t// Create buffer if required\n\tif(!fileBuffer) {\n\t\tfileBuffer = new Buffer(FILE_BUFFER_LENGTH);\n\t}\n\t// Create any directories in the destination\n\t$tw.utils.createDirectory(path.dirname(dstPath));\n\t// Copy the file\n\tvar srcFile = fs.openSync(srcPath,\"r\"),\n\t\tdstFile = fs.openSync(dstPath,\"w\"),\n\t\tbytesRead = 1,\n\t\tpos = 0;\n\twhile (bytesRead > 0) {\n\t\tbytesRead = fs.readSync(srcFile,fileBuffer,0,FILE_BUFFER_LENGTH,pos);\n\t\tfs.writeSync(dstFile,fileBuffer,0,bytesRead);\n\t\tpos += bytesRead;\n\t}\n\tfs.closeSync(srcFile);\n\tfs.closeSync(dstFile);\n\treturn null;\n};\n\n/*\nRemove trailing path separator\n*/\nexports.removeTrailingSeparator = function(dirPath) {\n\tvar len = dirPath.length;\n\tif(dirPath.charAt(len-1) === path.sep) {\n\t\tdirPath = dirPath.substr(0,len-1);\n\t}\n\treturn dirPath;\n};\n\n/*\nRecursively create a directory\n*/\nexports.createDirectory = function(dirPath) {\n\tif(dirPath.substr(dirPath.length-1,1) !== path.sep) {\n\t\tdirPath = dirPath + path.sep;\n\t}\n\tvar pos = 1;\n\tpos = dirPath.indexOf(path.sep,pos);\n\twhile(pos !== -1) {\n\t\tvar subDirPath = dirPath.substr(0,pos);\n\t\tif(!$tw.utils.isDirectory(subDirPath)) {\n\t\t\ttry {\n\t\t\t\tfs.mkdirSync(subDirPath);\n\t\t\t} catch(e) {\n\t\t\t\treturn \"Error creating directory '\" + subDirPath + \"'\";\n\t\t\t}\n\t\t}\n\t\tpos = dirPath.indexOf(path.sep,pos + 1);\n\t}\n\treturn null;\n};\n\n/*\nRecursively create directories needed to contain a specified file\n*/\nexports.createFileDirectories = function(filePath) {\n\treturn $tw.utils.createDirectory(path.dirname(filePath));\n};\n\n/*\nRecursively delete a directory\n*/\nexports.deleteDirectory = function(dirPath) {\n\tif(fs.existsSync(dirPath)) {\n\t\tvar entries = fs.readdirSync(dirPath);\n\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\tvar currPath = dirPath + path.sep + entries[entryIndex];\n\t\t\tif(fs.lstatSync(currPath).isDirectory()) {\n\t\t\t\t$tw.utils.deleteDirectory(currPath);\n\t\t\t} else {\n\t\t\t\tfs.unlinkSync(currPath);\n\t\t\t}\n\t\t}\n\tfs.rmdirSync(dirPath);\n\t}\n\treturn null;\n};\n\n/*\nCheck if a path identifies a directory\n*/\nexports.isDirectory = function(dirPath) {\n\treturn fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory();\n};\n\n/*\nCheck if a path identifies a directory that is empty\n*/\nexports.isDirectoryEmpty = function(dirPath) {\n\tif(!$tw.utils.isDirectory(dirPath)) {\n\t\treturn false;\n\t}\n\tvar files = fs.readdirSync(dirPath),\n\t\tempty = true;\n\t$tw.utils.each(files,function(file,index) {\n\t\tif(file.charAt(0) !== \".\") {\n\t\t\tempty = false;\n\t\t}\n\t});\n\treturn empty;\n};\n\n/*\nRecursively delete a tree of empty directories\n*/\nexports.deleteEmptyDirs = function(dirpath,callback) {\n\tvar self = this;\n\tfs.readdir(dirpath,function(err,files) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\tif(files.length > 0) {\n\t\t\treturn callback(null);\n\t\t}\n\t\tfs.rmdir(dirpath,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.deleteEmptyDirs(path.dirname(dirpath),callback);\n\t\t});\n\t});\n};\n\n})();\n",
"title": "$:/core/modules/utils/filesystem.js",
"type": "application/javascript",
"module-type": "utils-node"
},
"$:/core/modules/utils/logger.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/logger.js\ntype: application/javascript\nmodule-type: utils\n\nA basic logging implementation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ALERT_TAG = \"$:/tags/Alert\";\n\n/*\nMake a new logger\n*/\nfunction Logger(componentName) {\n\tthis.componentName = componentName || \"\";\n}\n\n/*\nLog a message\n*/\nLogger.prototype.log = function(/* args */) {\n\tif(console !== undefined && console.log !== undefined) {\n\t\treturn Function.apply.call(console.log, console, [this.componentName + \":\"].concat(Array.prototype.slice.call(arguments,0)));\n\t}\n};\n\n/*\nAlert a message\n*/\nLogger.prototype.alert = function(/* args */) {\n\t// Prepare the text of the alert\n\tvar text = Array.prototype.join.call(arguments,\" \");\n\t// Create alert tiddlers in the browser\n\tif($tw.browser) {\n\t\t// Check if there is an existing alert with the same text and the same component\n\t\tvar existingAlerts = $tw.wiki.getTiddlersWithTag(ALERT_TAG),\n\t\t\talertFields,\n\t\t\texistingCount,\n\t\t\tself = this;\n\t\t$tw.utils.each(existingAlerts,function(title) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(tiddler.fields.text === text && tiddler.fields.component === self.componentName && tiddler.fields.modified && (!alertFields || tiddler.fields.modified < alertFields.modified)) {\n\t\t\t\t\talertFields = $tw.utils.extend({},tiddler.fields);\n\t\t\t}\n\t\t});\n\t\tif(alertFields) {\n\t\t\texistingCount = alertFields.count || 1;\n\t\t} else {\n\t\t\talertFields = {\n\t\t\t\ttitle: $tw.wiki.generateNewTitle(\"$:/temp/alerts/alert\",{prefix: \"\"}),\n\t\t\t\ttext: text,\n\t\t\t\ttags: [ALERT_TAG],\n\t\t\t\tcomponent: this.componentName\n\t\t\t};\n\t\t\texistingCount = 0;\n\t\t}\n\t\talertFields.modified = new Date();\n\t\tif(++existingCount > 1) {\n\t\t\talertFields.count = existingCount;\n\t\t} else {\n\t\t\talertFields.count = undefined;\n\t\t}\n\t\t$tw.wiki.addTiddler(new $tw.Tiddler(alertFields));\n\t\t// Log the alert as well\n\t\tthis.log.apply(this,Array.prototype.slice.call(arguments,0));\n\t} else {\n\t\t// Print an orange message to the console if not in the browser\n\t\tconsole.error(\"\\x1b[1;33m\" + text + \"\\x1b[0m\");\n\t}\n};\n\nexports.Logger = Logger;\n\n})();\n",
"title": "$:/core/modules/utils/logger.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/parsetree.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/parsetree.js\ntype: application/javascript\nmodule-type: utils\n\nParse tree utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.addAttributeToParseTreeNode = function(node,name,value) {\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[name] = {type: \"string\", value: value};\n};\n\nexports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {\n\tif(node.attributes && node.attributes[name] && node.attributes[name].value !== undefined) {\n\t\treturn node.attributes[name].value;\n\t}\n\treturn defaultValue;\n};\n\nexports.addClassToParseTreeNode = function(node,classString) {\n\tvar classes = [];\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[\"class\"] = node.attributes[\"class\"] || {type: \"string\", value: \"\"};\n\tif(node.attributes[\"class\"].type === \"string\") {\n\t\tif(node.attributes[\"class\"].value !== \"\") {\n\t\t\tclasses = node.attributes[\"class\"].value.split(\" \");\n\t\t}\n\t\tif(classString !== \"\") {\n\t\t\t$tw.utils.pushTop(classes,classString.split(\" \"));\n\t\t}\n\t\tnode.attributes[\"class\"].value = classes.join(\" \");\n\t}\n};\n\nexports.addStyleToParseTreeNode = function(node,name,value) {\n\t\tnode.attributes = node.attributes || {};\n\t\tnode.attributes.style = node.attributes.style || {type: \"string\", value: \"\"};\n\t\tif(node.attributes.style.type === \"string\") {\n\t\t\tnode.attributes.style.value += name + \":\" + value + \";\";\n\t\t}\n};\n\nexports.findParseTreeNode = function(nodeArray,search) {\n\tfor(var t=0; t<nodeArray.length; t++) {\n\t\tif(nodeArray[t].type === search.type && nodeArray[t].tag === search.tag) {\n\t\t\treturn nodeArray[t];\n\t\t}\n\t}\n\treturn undefined;\n};\n\n/*\nHelper to get the text of a parse tree node or array of nodes\n*/\nexports.getParseTreeText = function getParseTreeText(tree) {\n\tvar output = [];\n\tif($tw.utils.isArray(tree)) {\n\t\t$tw.utils.each(tree,function(node) {\n\t\t\toutput.push(getParseTreeText(node));\n\t\t});\n\t} else {\n\t\tif(tree.type === \"text\") {\n\t\t\toutput.push(tree.text);\n\t\t}\n\t\tif(tree.children) {\n\t\t\treturn getParseTreeText(tree.children);\n\t\t}\n\t}\n\treturn output.join(\"\");\n};\n\n})();\n",
"title": "$:/core/modules/utils/parsetree.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/performance.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/performance.js\ntype: application/javascript\nmodule-type: global\n\nPerformance measurement.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Performance(enabled) {\n\tthis.enabled = !!enabled;\n\tthis.measures = {}; // Hashmap of current values of measurements\n\tthis.logger = new $tw.utils.Logger(\"performance\");\n}\n\n/*\nWrap performance reporting around a top level function\n*/\nPerformance.prototype.report = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tself.measures = {};\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tself.logger.log(name + \": \" + $tw.utils.timer(startTime).toFixed(2) + \"ms\");\n\t\t\tfor(var m in self.measures) {\n\t\t\t\tself.logger.log(\"+\" + m + \": \" + self.measures[m].toFixed(2) + \"ms\");\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\n/*\nWrap performance measurements around a subfunction\n*/\nPerformance.prototype.measure = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments),\n\t\t\t\tvalue = self.measures[name] || 0;\n\t\t\tself.measures[name] = value + $tw.utils.timer(startTime);\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nexports.Performance = Performance;\n\n})();\n",
"title": "$:/core/modules/utils/performance.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/utils/pluginmaker.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/pluginmaker.js\ntype: application/javascript\nmodule-type: utils\n\nA quick and dirty way to pack up plugins within the browser.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRepack a plugin, and then delete any non-shadow payload tiddlers\n*/\nexports.repackPlugin = function(title,additionalTiddlers,excludeTiddlers) {\n\tadditionalTiddlers = additionalTiddlers || [];\n\texcludeTiddlers = excludeTiddlers || [];\n\t// Get the plugin tiddler\n\tvar pluginTiddler = $tw.wiki.getTiddler(title);\n\tif(!pluginTiddler) {\n\t\tthrow \"No such tiddler as \" + title;\n\t}\n\t// Extract the JSON\n\tvar jsonPluginTiddler;\n\ttry {\n\t\tjsonPluginTiddler = JSON.parse(pluginTiddler.fields.text);\n\t} catch(e) {\n\t\tthrow \"Cannot parse plugin tiddler \" + title + \"\\n\" + $tw.language.getString(\"Error/Caption\") + \": \" + e;\n\t}\n\t// Get the list of tiddlers\n\tvar tiddlers = Object.keys(jsonPluginTiddler.tiddlers);\n\t// Add the additional tiddlers\n\t$tw.utils.pushTop(tiddlers,additionalTiddlers);\n\t// Remove any excluded tiddlers\n\tfor(var t=tiddlers.length-1; t>=0; t--) {\n\t\tif(excludeTiddlers.indexOf(tiddlers[t]) !== -1) {\n\t\t\ttiddlers.splice(t,1);\n\t\t}\n\t}\n\t// Pack up the tiddlers into a block of JSON\n\tvar plugins = {};\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\tfields = {};\n\t\t$tw.utils.each(tiddler.fields,function (value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\tplugins[title] = fields;\n\t});\n\t// Retrieve and bump the version number\n\tvar pluginVersion = $tw.utils.parseVersion(pluginTiddler.getFieldString(\"version\") || \"0.0.0\") || {\n\t\t\tmajor: \"0\",\n\t\t\tminor: \"0\",\n\t\t\tpatch: \"0\"\n\t\t};\n\tpluginVersion.patch++;\n\tvar version = pluginVersion.major + \".\" + pluginVersion.minor + \".\" + pluginVersion.patch;\n\tif(pluginVersion.prerelease) {\n\t\tversion += \"-\" + pluginVersion.prerelease;\n\t}\n\tif(pluginVersion.build) {\n\t\tversion += \"+\" + pluginVersion.build;\n\t}\n\t// Save the tiddler\n\t$tw.wiki.addTiddler(new $tw.Tiddler(pluginTiddler,{text: JSON.stringify({tiddlers: plugins},null,4), version: version}));\n\t// Delete any non-shadow constituent tiddlers\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tif($tw.wiki.tiddlerExists(title)) {\n\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t}\n\t});\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t// Return a heartwarming confirmation\n\treturn \"Plugin \" + title + \" successfully saved\";\n};\n\n})();\n",
"title": "$:/core/modules/utils/pluginmaker.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/utils.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/utils.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDisplay a warning, in colour if we're on a terminal\n*/\nexports.warning = function(text) {\n\tconsole.log($tw.node ? \"\\x1b[1;33m\" + text + \"\\x1b[0m\" : text);\n};\n\n/*\nRepeats a string\n*/\nexports.repeat = function(str,count) {\n\tvar result = \"\";\n\tfor(var t=0;t<count;t++) {\n\t\tresult += str;\n\t}\n\treturn result;\n};\n\n/*\nTrim whitespace from the start and end of a string\nThanks to Steven Levithan, http://blog.stevenlevithan.com/archives/faster-trim-javascript\n*/\nexports.trim = function(str) {\n\tif(typeof str === \"string\") {\n\t\treturn str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n\t} else {\n\t\treturn str;\n\t}\n};\n\n/*\nFind the line break preceding a given position in a string\nReturns position immediately after that line break, or the start of the string\n*/\nexports.findPrecedingLineBreak = function(text,pos) {\n\tvar result = text.lastIndexOf(\"\\n\",pos - 1);\n\tif(result === -1) {\n\t\tresult = 0;\n\t} else {\n\t\tresult++;\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nFind the line break following a given position in a string\n*/\nexports.findFollowingLineBreak = function(text,pos) {\n\t// Cut to just past the following line break, or to the end of the text\n\tvar result = text.indexOf(\"\\n\",pos);\n\tif(result === -1) {\n\t\tresult = text.length;\n\t} else {\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nReturn the number of keys in an object\n*/\nexports.count = function(object) {\n\treturn Object.keys(object || {}).length;\n};\n\n/*\nCheck if an array is equal by value and by reference.\n*/\nexports.isArrayEqual = function(array1,array2) {\n\tif(array1 === array2) {\n\t\treturn true;\n\t}\n\tarray1 = array1 || [];\n\tarray2 = array2 || [];\n\tif(array1.length !== array2.length) {\n\t\treturn false;\n\t}\n\treturn array1.every(function(value,index) {\n\t\treturn value === array2[index];\n\t});\n};\n\n/*\nPush entries onto an array, removing them first if they already exist in the array\n\tarray: array to modify (assumed to be free of duplicates)\n\tvalue: a single value to push or an array of values to push\n*/\nexports.pushTop = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\t// Remove any array entries that are duplicated in the new values\n\t\tif(value.length !== 0) {\n\t\t\tif(array.length !== 0) {\n\t\t\t\tif(value.length < array.length) {\n\t\t\t\t\tfor(t=0; t<value.length; t++) {\n\t\t\t\t\t\tp = array.indexOf(value[t]);\n\t\t\t\t\t\tif(p !== -1) {\n\t\t\t\t\t\t\tarray.splice(p,1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor(t=array.length-1; t>=0; t--) {\n\t\t\t\t\t\tp = value.indexOf(array[t]);\n\t\t\t\t\t\tif(p !== -1) {\n\t\t\t\t\t\t\tarray.splice(t,1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Push the values on top of the main array\n\t\t\tarray.push.apply(array,value);\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t\tarray.push(value);\n\t}\n\treturn array;\n};\n\n/*\nRemove entries from an array\n\tarray: array to modify\n\tvalue: a single value to remove, or an array of values to remove\n*/\nexports.removeArrayEntries = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\tp = array.indexOf(value[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tarray.splice(p,1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t}\n};\n\n/*\nCheck whether any members of a hashmap are present in another hashmap\n*/\nexports.checkDependencies = function(dependencies,changes) {\n\tvar hit = false;\n\t$tw.utils.each(changes,function(change,title) {\n\t\tif($tw.utils.hop(dependencies,title)) {\n\t\t\thit = true;\n\t\t}\n\t});\n\treturn hit;\n};\n\nexports.extend = function(object /* [, src] */) {\n\t$tw.utils.each(Array.prototype.slice.call(arguments, 1), function(source) {\n\t\tif(source) {\n\t\t\tfor(var property in source) {\n\t\t\t\tobject[property] = source[property];\n\t\t\t}\n\t\t}\n\t});\n\treturn object;\n};\n\nexports.deepCopy = function(object) {\n\tvar result,t;\n\tif($tw.utils.isArray(object)) {\n\t\t// Copy arrays\n\t\tresult = object.slice(0);\n\t} else if(typeof object === \"object\") {\n\t\tresult = {};\n\t\tfor(t in object) {\n\t\t\tif(object[t] !== undefined) {\n\t\t\t\tresult[t] = $tw.utils.deepCopy(object[t]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tresult = object;\n\t}\n\treturn result;\n};\n\nexports.extendDeepCopy = function(object,extendedProperties) {\n\tvar result = $tw.utils.deepCopy(object),t;\n\tfor(t in extendedProperties) {\n\t\tif(extendedProperties[t] !== undefined) {\n\t\t\tresult[t] = $tw.utils.deepCopy(extendedProperties[t]);\n\t\t}\n\t}\n\treturn result;\n};\n\nexports.deepFreeze = function deepFreeze(object) {\n\tvar property, key;\n\tObject.freeze(object);\n\tfor(key in object) {\n\t\tproperty = object[key];\n\t\tif($tw.utils.hop(object,key) && (typeof property === \"object\") && !Object.isFrozen(property)) {\n\t\t\tdeepFreeze(property);\n\t\t}\n\t}\n};\n\nexports.slowInSlowOut = function(t) {\n\treturn (1 - ((Math.cos(t * Math.PI) + 1) / 2));\n};\n\nexports.formatDateString = function(date,template) {\n\tvar result = \"\",\n\t\tt = template,\n\t\tmatches = [\n\t\t\t[/^0hh12/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getHours12(date));\n\t\t\t}],\n\t\t\t[/^wYYYY/, function() {\n\t\t\t\treturn $tw.utils.getYearForWeekNo(date);\n\t\t\t}],\n\t\t\t[/^hh12/, function() {\n\t\t\t\treturn $tw.utils.getHours12(date);\n\t\t\t}],\n\t\t\t[/^DDth/, function() {\n\t\t\t\treturn date.getDate() + $tw.utils.getDaySuffix(date);\n\t\t\t}],\n\t\t\t[/^YYYY/, function() {\n\t\t\t\treturn date.getFullYear();\n\t\t\t}],\n\t\t\t[/^0hh/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getHours());\n\t\t\t}],\n\t\t\t[/^0mm/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMinutes());\n\t\t\t}],\n\t\t\t[/^0ss/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getSeconds());\n\t\t\t}],\n\t\t\t[/^0DD/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getDate());\n\t\t\t}],\n\t\t\t[/^0MM/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMonth()+1);\n\t\t\t}],\n\t\t\t[/^0WW/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getWeek(date));\n\t\t\t}],\n\t\t\t[/^ddd/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^mmm/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^DDD/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^MMM/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^TZD/, function() {\n\t\t\t\tvar tz = date.getTimezoneOffset(),\n\t\t\t\tatz = Math.abs(tz);\n\t\t\t\treturn (tz < 0 ? '+' : '-') + $tw.utils.pad(Math.floor(atz / 60)) + ':' + $tw.utils.pad(atz % 60);\n\t\t\t}],\n\t\t\t[/^wYY/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date) - 2000);\n\t\t\t}],\n\t\t\t[/^[ap]m/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toLowerCase();\n\t\t\t}],\n\t\t\t[/^hh/, function() {\n\t\t\t\treturn date.getHours();\n\t\t\t}],\n\t\t\t[/^mm/, function() {\n\t\t\t\treturn date.getMinutes();\n\t\t\t}],\n\t\t\t[/^ss/, function() {\n\t\t\t\treturn date.getSeconds();\n\t\t\t}],\n\t\t\t[/^[AP]M/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toUpperCase();\n\t\t\t}],\n\t\t\t[/^DD/, function() {\n\t\t\t\treturn date.getDate();\n\t\t\t}],\n\t\t\t[/^MM/, function() {\n\t\t\t\treturn date.getMonth() + 1;\n\t\t\t}],\n\t\t\t[/^WW/, function() {\n\t\t\t\treturn $tw.utils.getWeek(date);\n\t\t\t}],\n\t\t\t[/^YY/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getFullYear() - 2000);\n\t\t\t}]\n\t\t];\n\twhile(t.length){\n\t\tvar matchString = \"\";\n\t\t$tw.utils.each(matches, function(m) {\n\t\t\tvar match = m[0].exec(t);\n\t\t\tif(match) {\n\t\t\t\tmatchString = m[1].call();\n\t\t\t\tt = t.substr(match[0].length);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tif(matchString) {\n\t\t\tresult += matchString;\n\t\t} else {\n\t\t\tresult += t.charAt(0);\n\t\t\tt = t.substr(1);\n\t\t}\n\t}\n\tresult = result.replace(/\\\\(.)/g,\"$1\");\n\treturn result;\n};\n\nexports.getAmPm = function(date) {\n\treturn $tw.language.getString(\"Date/Period/\" + (date.getHours() >= 12 ? \"pm\" : \"am\"));\n};\n\nexports.getDaySuffix = function(date) {\n\treturn $tw.language.getString(\"Date/DaySuffix/\" + date.getDate());\n};\n\nexports.getWeek = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week to calculate weekNo\n\tvar n = Math.floor((dt.getTime()-new Date(dt.getFullYear(),0,1) + 3600000) / 86400000);\n\treturn Math.floor(n / 7) + 1;\n};\n\nexports.getYearForWeekNo = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week\n\treturn dt.getFullYear();\n};\n\nexports.getHours12 = function(date) {\n\tvar h = date.getHours();\n\treturn h > 12 ? h-12 : ( h > 0 ? h : 12 );\n};\n\n/*\nConvert a date delta in milliseconds into a string representation of \"23 seconds ago\", \"27 minutes ago\" etc.\n\tdelta: delta in milliseconds\nReturns an object with these members:\n\tdescription: string describing the delta period\n\tupdatePeriod: time in millisecond until the string will be inaccurate\n*/\nexports.getRelativeDate = function(delta) {\n\tvar futurep = false;\n\tif(delta < 0) {\n\t\tdelta = -1 * delta;\n\t\tfuturep = true;\n\t}\n\tvar units = [\n\t\t{name: \"Years\", duration: 365 * 24 * 60 * 60 * 1000},\n\t\t{name: \"Months\", duration: (365/12) * 24 * 60 * 60 * 1000},\n\t\t{name: \"Days\", duration: 24 * 60 * 60 * 1000},\n\t\t{name: \"Hours\", duration: 60 * 60 * 1000},\n\t\t{name: \"Minutes\", duration: 60 * 1000},\n\t\t{name: \"Seconds\", duration: 1000}\n\t];\n\tfor(var t=0; t<units.length; t++) {\n\t\tvar result = Math.floor(delta / units[t].duration);\n\t\tif(result >= 2) {\n\t\t\treturn {\n\t\t\t\tdelta: delta,\n\t\t\t\tdescription: $tw.language.getString(\n\t\t\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/\" + units[t].name,\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{period: result.toString()}\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t\tupdatePeriod: units[t].duration\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tdelta: delta,\n\t\tdescription: $tw.language.getString(\n\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/Second\",\n\t\t\t{variables:\n\t\t\t\t{period: \"1\"}\n\t\t\t}\n\t\t),\n\t\tupdatePeriod: 1000\n\t};\n};\n\n// Convert & to \"&\", < to \"<\", > to \">\", \" to \""\"\nexports.htmlEncode = function(s) {\n\tif(s) {\n\t\treturn s.toString().replace(/&/mg,\"&\").replace(/</mg,\"<\").replace(/>/mg,\">\").replace(/\\\"/mg,\""\");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n// Converts all HTML entities to their character equivalents\nexports.entityDecode = function(s) {\n\tvar converter = String.fromCodePoint || String.fromCharCode,\n\t\te = s.substr(1,s.length-2); // Strip the & and the ;\n\tif(e.charAt(0) === \"#\") {\n\t\tif(e.charAt(1) === \"x\" || e.charAt(1) === \"X\") {\n\t\t\treturn converter(parseInt(e.substr(2),16));\t\n\t\t} else {\n\t\t\treturn converter(parseInt(e.substr(1),10));\n\t\t}\n\t} else {\n\t\tvar c = $tw.config.htmlEntities[e];\n\t\tif(c) {\n\t\t\treturn converter(c);\n\t\t} else {\n\t\t\treturn s; // Couldn't convert it as an entity, just return it raw\n\t\t}\n\t}\n};\n\nexports.unescapeLineBreaks = function(s) {\n\treturn s.replace(/\\\\n/mg,\"\\n\").replace(/\\\\b/mg,\" \").replace(/\\\\s/mg,\"\\\\\").replace(/\\r/mg,\"\");\n};\n\n/*\n * Returns an escape sequence for given character. Uses \\x for characters <=\n * 0xFF to save space, \\u for the rest.\n *\n * The code needs to be in sync with th code template in the compilation\n * function for \"action\" nodes.\n */\n// Copied from peg.js, thanks to David Majda\nexports.escape = function(ch) {\n\tvar charCode = ch.charCodeAt(0);\n\tif(charCode <= 0xFF) {\n\t\treturn '\\\\x' + $tw.utils.pad(charCode.toString(16).toUpperCase());\n\t} else {\n\t\treturn '\\\\u' + $tw.utils.pad(charCode.toString(16).toUpperCase(),4);\n\t}\n};\n\n// Turns a string into a legal JavaScript string\n// Copied from peg.js, thanks to David Majda\nexports.stringify = function(s) {\n\t/*\n\t* ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string\n\t* literal except for the closing quote character, backslash, carriage return,\n\t* line separator, paragraph separator, and line feed. Any character may\n\t* appear in the form of an escape sequence.\n\t*\n\t* For portability, we also escape all non-ASCII characters.\n\t*/\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, '\\\\\\\\') // backslash\n\t\t.replace(/\"/g, '\\\\\"') // double quote character\n\t\t.replace(/'/g, \"\\\\'\") // single quote character\n\t\t.replace(/\\r/g, '\\\\r') // carriage return\n\t\t.replace(/\\n/g, '\\\\n') // line feed\n\t\t.replace(/[\\x80-\\uFFFF]/g, exports.escape); // non-ASCII characters\n};\n\n/*\nEscape the RegExp special characters with a preceding backslash\n*/\nexports.escapeRegExp = function(s) {\n return s.replace(/[\\-\\/\\\\\\^\\$\\*\\+\\?\\.\\(\\)\\|\\[\\]\\{\\}]/g, '\\\\$&');\n};\n\n// Checks whether a link target is external, i.e. not a tiddler title\nexports.isLinkExternal = function(to) {\n\tvar externalRegExp = /^(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/i;\n\treturn externalRegExp.test(to);\n};\n\nexports.nextTick = function(fn) {\n/*global window: false */\n\tif(typeof process === \"undefined\") {\n\t\t// Apparently it would be faster to use postMessage - http://dbaron.org/log/20100309-faster-timeouts\n\t\twindow.setTimeout(fn,4);\n\t} else {\n\t\tprocess.nextTick(fn);\n\t}\n};\n\n/*\nConvert a hyphenated CSS property name into a camel case one\n*/\nexports.unHyphenateCss = function(propName) {\n\treturn propName.replace(/-([a-z])/gi, function(match0,match1) {\n\t\treturn match1.toUpperCase();\n\t});\n};\n\n/*\nConvert a camelcase CSS property name into a dashed one (\"backgroundColor\" --> \"background-color\")\n*/\nexports.hyphenateCss = function(propName) {\n\treturn propName.replace(/([A-Z])/g, function(match0,match1) {\n\t\treturn \"-\" + match1.toLowerCase();\n\t});\n};\n\n/*\nParse a text reference of one of these forms:\n* title\n* !!field\n* title!!field\n* title##index\n* etc\nReturns an object with the following fields, all optional:\n* title: tiddler title\n* field: tiddler field name\n* index: JSON property index\n*/\nexports.parseTextReference = function(textRef) {\n\t// Separate out the title, field name and/or JSON indices\n\tvar reTextRef = /(?:(.*?)!!(.+))|(?:(.*?)##(.+))|(.*)/mg,\n\t\tmatch = reTextRef.exec(textRef),\n\t\tresult = {};\n\tif(match && reTextRef.lastIndex === textRef.length) {\n\t\t// Return the parts\n\t\tif(match[1]) {\n\t\t\tresult.title = match[1];\n\t\t}\n\t\tif(match[2]) {\n\t\t\tresult.field = match[2];\n\t\t}\n\t\tif(match[3]) {\n\t\t\tresult.title = match[3];\n\t\t}\n\t\tif(match[4]) {\n\t\t\tresult.index = match[4];\n\t\t}\n\t\tif(match[5]) {\n\t\t\tresult.title = match[5];\n\t\t}\n\t} else {\n\t\t// If we couldn't parse it\n\t\tresult.title = textRef\n\t}\n\treturn result;\n};\n\n/*\nChecks whether a string is a valid fieldname\n*/\nexports.isValidFieldName = function(name) {\n\tif(!name || typeof name !== \"string\") {\n\t\treturn false;\n\t}\n\tname = name.toLowerCase().trim();\n\tvar fieldValidatorRegEx = /^[a-z0-9\\-\\._]+$/mg;\n\treturn fieldValidatorRegEx.test(name);\n};\n\n/*\nExtract the version number from the meta tag or from the boot file\n*/\n\n// Browser version\nexports.extractVersionInfo = function() {\n\tif($tw.packageInfo) {\n\t\treturn $tw.packageInfo.version;\n\t} else {\n\t\tvar metatags = document.getElementsByTagName(\"meta\");\n\t\tfor(var t=0; t<metatags.length; t++) {\n\t\t\tvar m = metatags[t];\n\t\t\tif(m.name === \"tiddlywiki-version\") {\n\t\t\t\treturn m.content;\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the animation duration in ms\n*/\nexports.getAnimationDuration = function() {\n\treturn parseInt($tw.wiki.getTiddlerText(\"$:/config/AnimationDuration\",\"400\"),10);\n};\n\n/*\nHash a string to a number\nDerived from http://stackoverflow.com/a/15710692\n*/\nexports.hashString = function(str) {\n\treturn str.split(\"\").reduce(function(a,b) {\n\t\ta = ((a << 5) - a) + b.charCodeAt(0);\n\t\treturn a & a;\n\t},0);\n};\n\n/*\nDecode a base64 string\n*/\nexports.base64Decode = function(string64) {\n\tif($tw.browser) {\n\t\t// TODO\n\t\tthrow \"$tw.utils.base64Decode() doesn't work in the browser\";\n\t} else {\n\t\treturn (new Buffer(string64,\"base64\")).toString();\n\t}\n};\n\n/*\nConvert a hashmap into a tiddler dictionary format sequence of name:value pairs\n*/\nexports.makeTiddlerDictionary = function(data) {\n\tvar output = [];\n\tfor(var name in data) {\n\t\toutput.push(name + \": \" + data[name]);\n\t}\n\treturn output.join(\"\\n\");\n};\n\n/*\nHigh resolution microsecond timer for profiling\n*/\nexports.timer = function(base) {\n\tvar m;\n\tif($tw.node) {\n\t\tvar r = process.hrtime();\t\t\n\t\tm = r[0] * 1e3 + (r[1] / 1e6);\n\t} else if(window.performance) {\n\t\tm = performance.now();\n\t} else {\n\t\tm = Date.now();\n\t}\n\tif(typeof base !== \"undefined\") {\n\t\tm = m - base;\n\t}\n\treturn m;\n};\n\n/*\nConvert text and content type to a data URI\n*/\nexports.makeDataUri = function(text,type) {\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar typeInfo = $tw.config.contentTypeInfo[type] || $tw.config.contentTypeInfo[\"text/plain\"],\n\t\tisBase64 = typeInfo.encoding === \"base64\",\n\t\tparts = [];\n\tparts.push(\"data:\");\n\tparts.push(type);\n\tparts.push(isBase64 ? \";base64\" : \"\");\n\tparts.push(\",\");\n\tparts.push(isBase64 ? text : encodeURIComponent(text));\n\treturn parts.join(\"\");\n};\n\n/*\nUseful for finding out the fully escaped CSS selector equivalent to a given tag. For example:\n\n$tw.utils.tagToCssSelector(\"$:/tags/Stylesheet\") --> tc-tagged-\\%24\\%3A\\%2Ftags\\%2FStylesheet\n*/\nexports.tagToCssSelector = function(tagName) {\n\treturn \"tc-tagged-\" + encodeURIComponent(tagName).replace(/[!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^`{\\|}~,]/mg,function(c) {\n\t\treturn \"\\\\\" + c;\n\t});\n};\n\n\n/*\nIE does not have sign function\n*/\nexports.sign = Math.sign || function(x) {\n\tx = +x; // convert to a number\n\tif (x === 0 || isNaN(x)) {\n\t\treturn x;\n\t}\n\treturn x > 0 ? 1 : -1;\n};\n\n/*\nIE does not have an endsWith function\n*/\nexports.strEndsWith = function(str,ending,position) {\n\tif(str.endsWith) {\n\t\treturn str.endsWith(ending,position);\n\t} else {\n\t\tif (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > str.length) {\n\t\t\tposition = str.length;\n\t\t}\n\t\tposition -= str.length;\n\t\tvar lastIndex = str.indexOf(ending, position);\n\t\treturn lastIndex !== -1 && lastIndex === position;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/utils/utils.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/widgets/action-deletefield.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-deletefield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete fields of a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\ttiddler = this.wiki.getTiddler(self.actionTiddler),\n\t\tremoveFields = {};\n\tif(this.actionField) {\n\t\tremoveFields[this.actionField] = undefined;\n\t}\n\tif(tiddler) {\n\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\t\tif(name.charAt(0) !== \"$\" && name !== \"title\") {\n\t\t\t\tremoveFields[name] = undefined;\n\t\t\t}\n\t\t});\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getModificationFields(),tiddler,removeFields,this.wiki.getCreationFields()));\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletefield\"] = DeleteFieldWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-deletefield.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-deletetiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-deletetiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteTiddlerWidget.prototype.execute = function() {\n\tthis.actionFilter = this.getAttribute(\"$filter\");\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$filter\"] || changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar tiddlers = [];\n\tif(this.actionFilter) {\n\t\ttiddlers = this.wiki.filterTiddlers(this.actionFilter,this);\n\t}\n\tif(this.actionTiddler) {\n\t\ttiddlers.push(this.actionTiddler);\n\t}\n\tfor(var t=0; t<tiddlers.length; t++) {\n\t\tthis.wiki.deleteTiddler(tiddlers[t]);\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletetiddler\"] = DeleteTiddlerWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-deletetiddler.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-listops.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-listops.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to apply list operations to any tiddler field (defaults to the 'list' field of the current tiddler)\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar ActionListopsWidget = function(parseTreeNode, options) {\n\tthis.initialise(parseTreeNode, options);\n};\n/**\n * Inherit from the base widget class\n */\nActionListopsWidget.prototype = new Widget();\n/**\n * Render this widget into the DOM\n */\nActionListopsWidget.prototype.render = function(parent, nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n/**\n * Compute the internal state of the widget\n */\nActionListopsWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.target = this.getAttribute(\"$tiddler\", this.getVariable(\n\t\t\"currentTiddler\"));\n\tthis.filter = this.getAttribute(\"$filter\");\n\tthis.subfilter = this.getAttribute(\"$subfilter\");\n\tthis.listField = this.getAttribute(\"$field\", \"list\");\n\tthis.listIndex = this.getAttribute(\"$index\");\n\tthis.filtertags = this.getAttribute(\"$tags\");\n};\n/**\n * \tRefresh the widget by ensuring our attributes are up to date\n */\nActionListopsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.$tiddler || changedAttributes.$filter ||\n\t\tchangedAttributes.$subfilter || changedAttributes.$field ||\n\t\tchangedAttributes.$index || changedAttributes.$tags) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n/**\n * \tInvoke the action associated with this widget\n */\nActionListopsWidget.prototype.invokeAction = function(triggeringWidget,\n\tevent) {\n\t//Apply the specified filters to the lists\n\tvar field = this.listField,\n\t\tindex,\n\t\ttype = \"!!\",\n\t\tlist = this.listField;\n\tif(this.listIndex) {\n\t\tfield = undefined;\n\t\tindex = this.listIndex;\n\t\ttype = \"##\";\n\t\tlist = this.listIndex;\n\t}\n\tif(this.filter) {\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(this.filter, this)));\n\t}\n\tif(this.subfilter) {\n\t\tvar subfilter = \"[list[\" + this.target + type + list + \"]] \" + this.subfilter;\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(subfilter, this)));\n\t}\n\tif(this.filtertags) {\n\t\tvar tagfilter = \"[list[\" + this.target + \"!!tags]] \" + this.filtertags;\n\t\tthis.wiki.setText(this.target, \"tags\", undefined, $tw.utils.stringifyList(\n\t\t\tthis.wiki.filterTiddlers(tagfilter, this)));\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-listops\"] = ActionListopsWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-listops.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-navigate.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-navigate.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to navigate to a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigateWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigateWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigateWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigateWidget.prototype.execute = function() {\n\tthis.actionTo = this.getAttribute(\"$to\");\n\tthis.actionScroll = this.getAttribute(\"$scroll\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nNavigateWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$to\"] || changedAttributes[\"$scroll\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nNavigateWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar bounds = triggeringWidget && triggeringWidget.getBoundingClientRect && triggeringWidget.getBoundingClientRect(),\n\t\tsuppressNavigation = event.metaKey || event.ctrlKey || (event.button === 1);\n\tif(this.actionScroll === \"yes\") {\n\t\tsuppressNavigation = false;\n\t} else if(this.actionScroll === \"no\") {\n\t\tsuppressNavigation = true;\n\t}\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.actionTo === undefined ? this.getVariable(\"currentTiddler\") : this.actionTo,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: triggeringWidget,\n\t\tnavigateFromClientRect: bounds && { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: suppressNavigation\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-navigate\"] = NavigateWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-navigate.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-sendmessage.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-sendmessage.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to send a message\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SendMessageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSendMessageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSendMessageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSendMessageWidget.prototype.execute = function() {\n\tthis.actionMessage = this.getAttribute(\"$message\");\n\tthis.actionParam = this.getAttribute(\"$param\");\n\tthis.actionName = this.getAttribute(\"$name\");\n\tthis.actionValue = this.getAttribute(\"$value\",\"\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSendMessageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSendMessageWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Get the string parameter\n\tvar param = this.actionParam;\n\t// Assemble the attributes as a hashmap\n\tvar paramObject = Object.create(null);\n\tvar count = 0;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparamObject[name] = attribute;\n\t\t\tcount++;\n\t\t}\n\t});\n\t// Add name/value pair if present\n\tif(this.actionName) {\n\t\tparamObject[this.actionName] = this.actionValue;\n\t}\n\t// Dispatch the message\n\tthis.dispatchEvent({\n\t\ttype: this.actionMessage,\n\t\tparam: param,\n\t\tparamObject: paramObject,\n\t\ttiddlerTitle: this.getVariable(\"currentTiddler\"),\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\")\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-sendmessage\"] = SendMessageWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-sendmessage.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-setfield.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-setfield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to set a single field or index on a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n\tthis.actionIndex = this.getAttribute(\"$index\");\n\tthis.actionValue = this.getAttribute(\"$value\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSetFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"] || changedAttributes[\"$field\"] || changedAttributes[\"$index\"] || changedAttributes[\"$value\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSetFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\toptions = {};\n\toptions.suppressTimestamp = !this.actionTimestamp;\n\tif((typeof this.actionField == \"string\") || (typeof this.actionIndex == \"string\") || (typeof this.actionValue == \"string\")) {\n\t\tthis.wiki.setText(this.actionTiddler,this.actionField,this.actionIndex,this.actionValue,options);\n\t}\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tself.wiki.setText(self.actionTiddler,name,undefined,attribute,options);\n\t\t}\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-setfield\"] = SetFieldWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-setfield.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/browse.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/browse.js\ntype: application/javascript\nmodule-type: widget\n\nBrowse widget for browsing for files to import\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar BrowseWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nBrowseWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nBrowseWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"file\");\n\tif(this.browseMultiple) {\n\t\tdomNode.setAttribute(\"multiple\",\"multiple\");\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\t// Nw.js supports \"nwsaveas\" to force a \"save as\" dialogue that allows a new or existing file to be selected\n\tif(this.nwsaveas) {\n\t\tdomNode.setAttribute(\"nwsaveas\",this.nwsaveas);\n\t}\n\t// Nw.js supports \"webkitdirectory\" to allow a directory to be selected\n\tif(this.webkitdirectory) {\n\t\tdomNode.setAttribute(\"webkitdirectory\",this.webkitdirectory);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"change\",function (event) {\n\t\tif(self.message) {\n\t\t\tself.dispatchEvent({type: self.message, param: self.param, files: event.target.files});\n\t\t} else {\n\t\t\tself.wiki.readFiles(event.target.files,function(tiddlerFieldsArray) {\n\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t});\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nBrowseWidget.prototype.execute = function() {\n\tthis.browseMultiple = this.getAttribute(\"multiple\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.nwsaveas = this.getAttribute(\"nwsaveas\");\n\tthis.webkitdirectory = this.getAttribute(\"webkitdirectory\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nBrowseWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.browse = BrowseWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/browse.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/button.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/button.js\ntype: application/javascript\nmodule-type: widget\n\nButton widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ButtonWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nButtonWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nButtonWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar tag = \"button\";\n\tif(this.buttonTag && $tw.config.htmlUnsafeElements.indexOf(this.buttonTag) === -1) {\n\t\ttag = this.buttonTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = this[\"class\"].split(\" \") || [],\n\t\tisPoppedUp = this.popup && this.isPoppedUp();\n\tif(this.selectedClass) {\n\t\tif(this.set && this.setTo && this.isSelected()) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t\tif(isPoppedUp) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t}\n\tif(isPoppedUp) {\n\t\t$tw.utils.pushTop(classes,\"tc-popup-handle\");\n\t}\n\tdomNode.className = classes.join(\" \");\n\t// Assign other attributes\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"click\",function (event) {\n\t\tvar handled = false;\n\t\tif(self.invokeActions(this,event)) {\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.to) {\n\t\t\tself.navigateTo(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.message) {\n\t\t\tself.dispatchMessage(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.popup) {\n\t\t\tself.triggerPopup(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.set) {\n\t\t\tself.setTiddler();\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.actions) {\n\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t}\n\t\tif(handled) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\treturn handled;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nWe don't allow actions to propagate because we trigger actions ourselves\n*/\nButtonWidget.prototype.allowActionPropagation = function() {\n\treturn false;\n};\n\nButtonWidget.prototype.getBoundingClientRect = function() {\n\treturn this.domNodes[0].getBoundingClientRect();\n};\n\nButtonWidget.prototype.isSelected = function() {\n return this.wiki.getTextReference(this.set,this.defaultSetValue,this.getVariable(\"currentTiddler\")) === this.setTo;\n};\n\nButtonWidget.prototype.isPoppedUp = function() {\n\tvar tiddler = this.wiki.getTiddler(this.popup);\n\tvar result = tiddler && tiddler.fields.text ? $tw.popup.readPopupState(tiddler.fields.text) : false;\n\treturn result;\n};\n\nButtonWidget.prototype.navigateTo = function(event) {\n\tvar bounds = this.getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1)\n\t});\n};\n\nButtonWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n};\n\nButtonWidget.prototype.triggerPopup = function(event) {\n\t$tw.popup.triggerPopup({\n\t\tdomNode: this.domNodes[0],\n\t\ttitle: this.popup,\n\t\twiki: this.wiki\n\t});\n};\n\nButtonWidget.prototype.setTiddler = function() {\n\tthis.wiki.setTextReference(this.set,this.setTo,this.getVariable(\"currentTiddler\"));\n};\n\n/*\nCompute the internal state of the widget\n*/\nButtonWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.to = this.getAttribute(\"to\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.set = this.getAttribute(\"set\");\n\tthis.setTo = this.getAttribute(\"setTo\");\n\tthis.popup = this.getAttribute(\"popup\");\n\tthis.hover = this.getAttribute(\"hover\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.style = this.getAttribute(\"style\");\n\tthis.selectedClass = this.getAttribute(\"selectedClass\");\n\tthis.defaultSetValue = this.getAttribute(\"default\",\"\");\n\tthis.buttonTag = this.getAttribute(\"tag\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nButtonWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.param || changedAttributes.set || changedAttributes.setTo || changedAttributes.popup || changedAttributes.hover || changedAttributes[\"class\"] || changedAttributes.selectedClass || changedAttributes.style || (this.set && changedTiddlers[this.set]) || (this.popup && changedTiddlers[this.popup])) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.button = ButtonWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/button.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/checkbox.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/checkbox.js\ntype: application/javascript\nmodule-type: widget\n\nCheckbox widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CheckboxWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCheckboxWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCheckboxWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",this.checkboxClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"checkbox\");\n\tif(this.getValue()) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nCheckboxWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.checkboxTitle);\n\tif(tiddler) {\n\t\tif(this.checkboxTag) {\n\t\t\tif(this.checkboxInvertTag) {\n\t\t\t\treturn !tiddler.hasTag(this.checkboxTag);\n\t\t\t} else {\n\t\t\t\treturn tiddler.hasTag(this.checkboxTag);\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tvar value = tiddler.fields[this.checkboxField] || this.checkboxDefault || \"\";\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif(this.checkboxTag) {\n\t\t\treturn false;\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tif(this.checkboxDefault === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(this.checkboxDefault === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nCheckboxWidget.prototype.handleChangeEvent = function(event) {\n\tvar checked = this.inputDomNode.checked,\n\t\ttiddler = this.wiki.getTiddler(this.checkboxTitle),\n\t\tfallbackFields = {text: \"\"},\n\t\tnewFields = {title: this.checkboxTitle},\n\t\thasChanged = false,\n\t\ttagCheck = false,\n\t\thasTag = tiddler && tiddler.hasTag(this.checkboxTag);\n\tif(this.checkboxTag && this.checkboxInvertTag === \"yes\") {\n\t\ttagCheck = hasTag === checked;\n\t} else {\n\t\ttagCheck = hasTag !== checked;\n\t}\n\t// Set the tag if specified\n\tif(this.checkboxTag && (!tiddler || tagCheck)) {\n\t\tnewFields.tags = tiddler ? (tiddler.fields.tags || []).slice(0) : [];\n\t\tvar pos = newFields.tags.indexOf(this.checkboxTag);\n\t\tif(pos !== -1) {\n\t\t\tnewFields.tags.splice(pos,1);\n\t\t}\n\t\tif(this.checkboxInvertTag === \"yes\" && !checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t} else if(this.checkboxInvertTag !== \"yes\" && checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t}\n\t\thasChanged = true;\n\t}\n\t// Set the field if specified\n\tif(this.checkboxField) {\n\t\tvar value = checked ? this.checkboxChecked : this.checkboxUnchecked;\n\t\tif(!tiddler || tiddler.fields[this.checkboxField] !== value) {\n\t\t\tnewFields[this.checkboxField] = value;\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(hasChanged) {\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),fallbackFields,tiddler,newFields,this.wiki.getModificationFields()));\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCheckboxWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.checkboxTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.checkboxTag = this.getAttribute(\"tag\");\n\tthis.checkboxField = this.getAttribute(\"field\");\n\tthis.checkboxChecked = this.getAttribute(\"checked\");\n\tthis.checkboxUnchecked = this.getAttribute(\"unchecked\");\n\tthis.checkboxDefault = this.getAttribute(\"default\");\n\tthis.checkboxClass = this.getAttribute(\"class\",\"\");\n\tthis.checkboxInvertTag = this.getAttribute(\"invertTag\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCheckboxWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.invertTag || changedAttributes.field || changedAttributes.checked || changedAttributes.unchecked || changedAttributes[\"default\"] || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.checkboxTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue();\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.checkbox = CheckboxWidget;\n\n})();",
"title": "$:/core/modules/widgets/checkbox.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/codeblock.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/codeblock.js\ntype: application/javascript\nmodule-type: widget\n\nCode block node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CodeBlockWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCodeBlockWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCodeBlockWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar codeNode = this.document.createElement(\"code\"),\n\t\tdomNode = this.document.createElement(\"pre\");\n\tcodeNode.appendChild(this.document.createTextNode(this.getAttribute(\"code\")));\n\tdomNode.appendChild(codeNode);\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tif(this.postRender) {\n\t\tthis.postRender();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCodeBlockWidget.prototype.execute = function() {\n\tthis.language = this.getAttribute(\"language\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCodeBlockWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.codeblock = CodeBlockWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/codeblock.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/count.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/count.js\ntype: application/javascript\nmodule-type: widget\n\nCount widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CountWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCountWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCountWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCountWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Execute the filter\n\tif(this.filter) {\n\t\tthis.currentCount = this.wiki.filterTiddlers(this.filter,this).length;\n\t} else {\n\t\tthis.currentCount = undefined;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCountWidget.prototype.refresh = function(changedTiddlers) {\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount) {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n\n};\n\nexports.count = CountWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/count.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/dropzone.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/dropzone.js\ntype: application/javascript\nmodule-type: widget\n\nDropzone widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DropZoneWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDropZoneWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDropZoneWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"div\");\n\tdomNode.className = \"tc-dropzone\";\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"},\n\t\t{name: \"paste\", handlerObject: this, handlerMethod: \"handlePasteEvent\"}\n\t]);\n\tdomNode.addEventListener(\"click\",function (event) {\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nDropZoneWidget.prototype.enterDrag = function() {\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\t// We count enter/leave events\n\tthis.dragEnterCount = (this.dragEnterCount || 0) + 1;\n\t// If we're entering for the first time we need to apply highlighting\n\tif(this.dragEnterCount === 1) {\n\t\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDropZoneWidget.prototype.leaveDrag = function() {\n\t// Reduce the enter count\n\tthis.dragEnterCount = (this.dragEnterCount || 0) - 1;\n\t// Remove highlighting if we're leaving externally\n\tif(this.dragEnterCount <= 0) {\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDropZoneWidget.prototype.handleDragEnterEvent = function(event) {\n\tthis.enterDrag();\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handleDragOverEvent = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\tevent.dataTransfer.dropEffect = \"copy\"; // Explicitly show this is a copy\n};\n\nDropZoneWidget.prototype.handleDragLeaveEvent = function(event) {\n\tthis.leaveDrag();\n};\n\nDropZoneWidget.prototype.handleDropEvent = function(event) {\n\tthis.leaveDrag();\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tvar self = this,\n\t\tdataTransfer = event.dataTransfer;\n\t// Reset the enter count\n\tthis.dragEnterCount = 0;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Import any files in the drop\n\tvar numFiles = this.wiki.readFiles(dataTransfer.files,function(tiddlerFieldsArray) {\n\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t});\n\t// Try to import the various data types we understand\n\tif(numFiles === 0) {\n\t\tthis.importData(dataTransfer);\n\t}\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.importData = function(dataTransfer) {\n\t// Try each provided data type in turn\n\tfor(var t=0; t<this.importDataTypes.length; t++) {\n\t\tif(!$tw.browser.isIE || this.importDataTypes[t].IECompatible) {\n\t\t\t// Get the data\n\t\t\tvar dataType = this.importDataTypes[t];\n\t\t\t\tvar data = dataTransfer.getData(dataType.type);\n\t\t\t// Import the tiddlers in the data\n\t\t\tif(data !== \"\" && data !== null) {\n\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\tconsole.log(\"Importing data type '\" + dataType.type + \"', data: '\" + data + \"'\")\n\t\t\t\t}\n\t\t\t\tvar tiddlerFields = dataType.convertToFields(data);\n\t\t\t\tif(!tiddlerFields.title) {\n\t\t\t\t\ttiddlerFields.title = this.wiki.generateNewTitle(\"Untitled\");\n\t\t\t\t}\n\t\t\t\tthis.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify([tiddlerFields])});\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n};\n\nDropZoneWidget.prototype.importDataTypes = [\n\t{type: \"text/vnd.tiddler\", IECompatible: false, convertToFields: function(data) {\n\t\treturn JSON.parse(data);\n\t}},\n\t{type: \"URL\", IECompatible: true, convertToFields: function(data) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn JSON.parse(match[1]);\n\t\t} else {\n\t\t\treturn { // As URL string\n\t\t\t\ttext: data\n\t\t\t};\n\t\t}\n\t}},\n\t{type: \"text/x-moz-url\", IECompatible: false, convertToFields: function(data) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn JSON.parse(match[1]);\n\t\t} else {\n\t\t\treturn { // As URL string\n\t\t\t\ttext: data\n\t\t\t};\n\t\t}\n\t}},\n\t{type: \"text/html\", IECompatible: false, convertToFields: function(data) {\n\t\treturn {\n\t\t\ttext: data\n\t\t};\n\t}},\n\t{type: \"text/plain\", IECompatible: false, convertToFields: function(data) {\n\t\treturn {\n\t\t\ttext: data\n\t\t};\n\t}},\n\t{type: \"Text\", IECompatible: true, convertToFields: function(data) {\n\t\treturn {\n\t\t\ttext: data\n\t\t};\n\t}},\n\t{type: \"text/uri-list\", IECompatible: false, convertToFields: function(data) {\n\t\treturn {\n\t\t\ttext: data\n\t\t};\n\t}}\n];\n\nDropZoneWidget.prototype.handlePasteEvent = function(event) {\n\t// Let the browser handle it if we're in a textarea or input box\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) == -1) {\n\t\tvar self = this,\n\t\t\titems = event.clipboardData.items;\n\t\t// Enumerate the clipboard items\n\t\tfor(var t = 0; t<items.length; t++) {\n\t\t\tvar item = items[t];\n\t\t\tif(item.kind === \"file\") {\n\t\t\t\t// Import any files\n\t\t\t\tthis.wiki.readFile(item.getAsFile(),function(tiddlerFieldsArray) {\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t\t});\n\t\t\t} else if(item.kind === \"string\") {\n\t\t\t\t// Create tiddlers from string items\n\t\t\t\tvar type = item.type;\n\t\t\t\titem.getAsString(function(str) {\n\t\t\t\t\tvar tiddlerFields = {\n\t\t\t\t\t\ttitle: self.wiki.generateNewTitle(\"Untitled\"),\n\t\t\t\t\t\ttext: str,\n\t\t\t\t\t\ttype: type\n\t\t\t\t\t};\n\t\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\t\tconsole.log(\"Importing string '\" + str + \"', type: '\" + type + \"'\");\n\t\t\t\t\t}\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify([tiddlerFields])});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t// Tell the browser that we've handled the paste\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDropZoneWidget.prototype.execute = function() {\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDropZoneWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.dropzone = DropZoneWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/dropzone.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-binary.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-binary.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-binary widget; placeholder for editing binary tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBinaryWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBinaryWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBinaryWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBinaryWidget.prototype.execute = function() {\n\t// Construct the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"transclude\",\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t}\n\t}]);\n};\n\n/*\nRefresh by refreshing our child widget\n*/\nEditBinaryWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"edit-binary\"] = EditBinaryWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/edit-binary.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-bitmap.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-bitmap.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-bitmap widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Default image sizes\nvar DEFAULT_IMAGE_WIDTH = 600,\n\tDEFAULT_IMAGE_HEIGHT = 370;\n\n// Configuration tiddlers\nvar LINE_WIDTH_TITLE = \"$:/config/BitmapEditor/LineWidth\",\n\tLINE_COLOUR_TITLE = \"$:/config/BitmapEditor/Colour\",\n\tLINE_OPACITY_TITLE = \"$:/config/BitmapEditor/Opacity\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBitmapWidget = function(parseTreeNode,options) {\n\t// Initialise the editor operations if they've not been done already\n\tif(!this.editorOperations) {\n\t\tEditBitmapWidget.prototype.editorOperations = {};\n\t\t$tw.modules.applyMethods(\"bitmapeditoroperation\",this.editorOperations);\n\t}\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBitmapWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBitmapWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create the wrapper for the toolbar and render its content\n\tthis.toolbarNode = this.document.createElement(\"div\");\n\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\tparent.insertBefore(this.toolbarNode,nextSibling);\n\tthis.domNodes.push(this.toolbarNode);\n\t// Create the on-screen canvas\n\tthis.canvasDomNode = $tw.utils.domMaker(\"canvas\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tc-edit-bitmapeditor\",\n\t\teventListeners: [{\n\t\t\tname: \"touchstart\", handlerObject: this, handlerMethod: \"handleTouchStartEvent\"\n\t\t},{\n\t\t\tname: \"touchmove\", handlerObject: this, handlerMethod: \"handleTouchMoveEvent\"\n\t\t},{\n\t\t\tname: \"touchend\", handlerObject: this, handlerMethod: \"handleTouchEndEvent\"\n\t\t},{\n\t\t\tname: \"mousedown\", handlerObject: this, handlerMethod: \"handleMouseDownEvent\"\n\t\t},{\n\t\t\tname: \"mousemove\", handlerObject: this, handlerMethod: \"handleMouseMoveEvent\"\n\t\t},{\n\t\t\tname: \"mouseup\", handlerObject: this, handlerMethod: \"handleMouseUpEvent\"\n\t\t}]\n\t});\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Render toolbar child widgets\n\tthis.renderChildren(this.toolbarNode,null);\n\t// // Insert the elements into the DOM\n\tparent.insertBefore(this.canvasDomNode,nextSibling);\n\tthis.domNodes.push(this.canvasDomNode);\n\t// Load the image into the canvas\n\tif($tw.browser) {\n\t\tthis.loadCanvas();\n\t}\n\t// Add widget message listeners\n\tthis.addEventListeners([\n\t\t{type: \"tm-edit-bitmap-operation\", handler: \"handleEditBitmapOperationMessage\"}\n\t]);\n};\n\n/*\nHandle an edit bitmap operation message from the toolbar\n*/\nEditBitmapWidget.prototype.handleEditBitmapOperationMessage = function(event) {\n\t// Invoke the handler\n\tvar handler = this.editorOperations[event.param];\n\tif(handler) {\n\t\thandler.call(this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBitmapWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nJust refresh the toolbar\n*/\nEditBitmapWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nSet the bitmap size variables and refresh the toolbar\n*/\nEditBitmapWidget.prototype.refreshToolbar = function() {\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Refresh each of our child widgets\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.refreshSelf();\n\t});\n};\n\nEditBitmapWidget.prototype.loadCanvas = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle),\n\t\tcurrImage = new Image();\n\t// Set up event handlers for loading the image\n\tvar self = this;\n\tcurrImage.onload = function() {\n\t\t// Copy the image to the on-screen canvas\n\t\tself.initCanvas(self.canvasDomNode,currImage.width,currImage.height,currImage);\n\t\t// And also copy the current bitmap to the off-screen canvas\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,currImage.width,currImage.height,currImage);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\tcurrImage.onerror = function() {\n\t\t// Set the on-screen canvas size and clear it\n\t\tself.initCanvas(self.canvasDomNode,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the off-screen canvas size and clear it\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\t// Get the current bitmap into an image object\n\tcurrImage.src = \"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text;\n};\n\nEditBitmapWidget.prototype.initCanvas = function(canvas,width,height,image) {\n\tcanvas.width = width;\n\tcanvas.height = height;\n\tvar ctx = canvas.getContext(\"2d\");\n\tif(image) {\n\t\tctx.drawImage(image,0,0);\n\t} else {\n\t\tctx.fillStyle = \"#fff\";\n\t\tctx.fillRect(0,0,canvas.width,canvas.height);\n\t}\n};\n\n/*\n** Change the size of the canvas, preserving the current image\n*/\nEditBitmapWidget.prototype.changeCanvasSize = function(newWidth,newHeight) {\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\");\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\nEditBitmapWidget.prototype.handleTouchStartEvent = function(event) {\n\tthis.brushDown = true;\n\tthis.strokeStart(event.touches[0].clientX,event.touches[0].clientY);\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.touches[0].clientX,event.touches[0].clientY);\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchEndEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseDownEvent = function(event) {\n\tthis.strokeStart(event.clientX,event.clientY);\n\tthis.brushDown = true;\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.clientX,event.clientY);\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.handleMouseUpEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.adjustCoordinates = function(x,y) {\n\tvar canvasRect = this.canvasDomNode.getBoundingClientRect(),\n\t\tscale = this.canvasDomNode.width/canvasRect.width;\n\treturn {x: (x - canvasRect.left) * scale, y: (y - canvasRect.top) * scale};\n};\n\nEditBitmapWidget.prototype.strokeStart = function(x,y) {\n\t// Start off a new stroke\n\tthis.stroke = [this.adjustCoordinates(x,y)];\n};\n\nEditBitmapWidget.prototype.strokeMove = function(x,y) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\"),\n\t\tt;\n\t// Add the new position to the end of the stroke\n\tthis.stroke.push(this.adjustCoordinates(x,y));\n\t// Redraw the previous image\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Render the stroke\n\tctx.globalAlpha = parseFloat(this.wiki.getTiddlerText(LINE_OPACITY_TITLE,\"1.0\"));\n\tctx.strokeStyle = this.wiki.getTiddlerText(LINE_COLOUR_TITLE,\"#ff0\");\n\tctx.lineWidth = parseFloat(this.wiki.getTiddlerText(LINE_WIDTH_TITLE,\"3\"));\n\tctx.lineCap = \"round\";\n\tctx.lineJoin = \"round\";\n\tctx.beginPath();\n\tctx.moveTo(this.stroke[0].x,this.stroke[0].y);\n\tfor(t=1; t<this.stroke.length-1; t++) {\n\t\tvar s1 = this.stroke[t],\n\t\t\ts2 = this.stroke[t-1],\n\t\t\ttx = (s1.x + s2.x)/2,\n\t\t\tty = (s1.y + s2.y)/2;\n\t\tctx.quadraticCurveTo(s2.x,s2.y,tx,ty);\n\t}\n\tctx.stroke();\n};\n\nEditBitmapWidget.prototype.strokeEnd = function() {\n\t// Copy the bitmap to the off-screen canvas\n\tvar ctx = this.currCanvas.getContext(\"2d\");\n\tctx.drawImage(this.canvasDomNode,0,0);\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\nEditBitmapWidget.prototype.saveChanges = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\tif(tiddler) {\n\t\t// data URIs look like \"data:<type>;base64,<text>\"\n\t\tvar dataURL = this.canvasDomNode.toDataURL(tiddler.fields.type),\n\t\t\tposColon = dataURL.indexOf(\":\"),\n\t\t\tposSemiColon = dataURL.indexOf(\";\"),\n\t\t\tposComma = dataURL.indexOf(\",\"),\n\t\t\ttype = dataURL.substring(posColon+1,posSemiColon),\n\t\t\ttext = dataURL.substring(posComma+1);\n\t\tvar update = {type: type, text: text};\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getModificationFields(),tiddler,update,this.wiki.getCreationFields()));\n\t}\n};\n\nexports[\"edit-bitmap\"] = EditBitmapWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/edit-bitmap.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-shortcut.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-shortcut.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display an editable keyboard shortcut\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditShortcutWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditShortcutWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditShortcutWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.inputNode = this.document.createElement(\"input\");\n\t// Assign classes\n\tif(this.shortcutClass) {\n\t\tthis.inputNode.className = this.shortcutClass;\t\t\n\t}\n\t// Assign other attributes\n\tif(this.shortcutStyle) {\n\t\tthis.inputNode.setAttribute(\"style\",this.shortcutStyle);\n\t}\n\tif(this.shortcutTooltip) {\n\t\tthis.inputNode.setAttribute(\"title\",this.shortcutTooltip);\n\t}\n\tif(this.shortcutPlaceholder) {\n\t\tthis.inputNode.setAttribute(\"placeholder\",this.shortcutPlaceholder);\n\t}\n\tif(this.shortcutAriaLabel) {\n\t\tthis.inputNode.setAttribute(\"aria-label\",this.shortcutAriaLabel);\n\t}\n\t// Assign the current shortcut\n\tthis.updateInputNode();\n\t// Add event handlers\n\t$tw.utils.addEventListeners(this.inputNode,[\n\t\t{name: \"keydown\", handlerObject: this, handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Link into the DOM\n\tparent.insertBefore(this.inputNode,nextSibling);\n\tthis.domNodes.push(this.inputNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditShortcutWidget.prototype.execute = function() {\n\tthis.shortcutTiddler = this.getAttribute(\"tiddler\");\n\tthis.shortcutField = this.getAttribute(\"field\");\n\tthis.shortcutIndex = this.getAttribute(\"index\");\n\tthis.shortcutPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.shortcutDefault = this.getAttribute(\"default\",\"\");\n\tthis.shortcutClass = this.getAttribute(\"class\");\n\tthis.shortcutStyle = this.getAttribute(\"style\");\n\tthis.shortcutTooltip = this.getAttribute(\"tooltip\");\n\tthis.shortcutAriaLabel = this.getAttribute(\"aria-label\");\n};\n\n/*\nUpdate the value of the input node\n*/\nEditShortcutWidget.prototype.updateInputNode = function() {\n\tif(this.shortcutField) {\n\t\tvar tiddler = this.wiki.getTiddler(this.shortcutTiddler);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,this.shortcutField)) {\n\t\t\tthis.inputNode.value = tiddler.getFieldString(this.shortcutField);\n\t\t} else {\n\t\t\tthis.inputNode.value = this.shortcutDefault;\n\t\t}\n\t} else if(this.shortcutIndex) {\n\t\tthis.inputNode.value = this.wiki.extractTiddlerDataItem(this.shortcutTiddler,this.shortcutIndex,this.shortcutDefault);\n\t} else {\n\t\tthis.inputNode.value = this.wiki.getTiddlerText(this.shortcutTiddler,this.shortcutDefault);\n\t}\n};\n\n/*\nHandle a dom \"keydown\" event\n*/\nEditShortcutWidget.prototype.handleKeydownEvent = function(event) {\n\t// Ignore shift, ctrl, meta, alt\n\tif(event.keyCode && $tw.keyboardManager.getModifierKeys().indexOf(event.keyCode) === -1) {\n\t\t// Get the shortcut text representation\n\t\tvar value = $tw.keyboardManager.getPrintableShortcuts([{\n\t\t\tctrlKey: event.ctrlKey,\n\t\t\tshiftKey: event.shiftKey,\n\t\t\taltKey: event.altKey,\n\t\t\tmetaKey: event.metaKey,\n\t\t\tkeyCode: event.keyCode\n\t\t}]);\n\t\tif(value.length > 0) {\n\t\t\tthis.wiki.setText(this.shortcutTiddler,this.shortcutField,this.shortcutIndex,value[0]);\n\t\t}\n\t\t// Ignore the keydown if it was already handled\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn true;\t\t\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget needed re-rendering\n*/\nEditShortcutWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.placeholder || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.style || changedAttributes.tooltip || changedAttributes[\"aria-label\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedTiddlers[this.shortcutTiddler]) {\n\t\tthis.updateInputNode();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports[\"edit-shortcut\"] = EditShortcutWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/edit-shortcut.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-text.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-text.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar editTextWidgetFactory = require(\"$:/core/modules/editor/factory.js\").editTextWidgetFactory,\n\tFramedEngine = require(\"$:/core/modules/editor/engines/framed.js\").FramedEngine,\n\tSimpleEngine = require(\"$:/core/modules/editor/engines/simple.js\").SimpleEngine;\n\nexports[\"edit-text\"] = editTextWidgetFactory(FramedEngine,SimpleEngine);\n\n})();\n",
"title": "$:/core/modules/widgets/edit-text.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit.js\ntype: application/javascript\nmodule-type: widget\n\nEdit widget is a meta-widget chooses the appropriate actual editting widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n// Mappings from content type to editor type are stored in tiddlers with this prefix\nvar EDITOR_MAPPING_PREFIX = \"$:/config/EditorTypeMappings/\";\n\n/*\nCompute the internal state of the widget\n*/\nEditWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\tthis.editIndex = this.getAttribute(\"index\");\n\tthis.editClass = this.getAttribute(\"class\");\n\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t// Choose the appropriate edit widget\n\tthis.editorType = this.getEditorType();\n\t// Make the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"edit-\" + this.editorType,\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: this.editTitle},\n\t\t\tfield: {type: \"string\", value: this.editField},\n\t\t\tindex: {type: \"string\", value: this.editIndex},\n\t\t\t\"class\": {type: \"string\", value: this.editClass},\n\t\t\t\"placeholder\": {type: \"string\", value: this.editPlaceholder}\n\t\t},\n\t\tchildren: this.parseTreeNode.children\n\t}]);\n};\n\nEditWidget.prototype.getEditorType = function() {\n\t// Get the content type of the thing we're editing\n\tvar type;\n\tif(this.editField === \"text\") {\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\ttype = tiddler.fields.type;\n\t\t}\n\t}\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar editorType = this.wiki.getTiddlerText(EDITOR_MAPPING_PREFIX + type);\n\tif(!editorType) {\n\t\tvar typeInfo = $tw.config.contentTypeInfo[type];\n\t\tif(typeInfo && typeInfo.encoding === \"base64\") {\n\t\t\teditorType = \"binary\";\n\t\t} else {\n\t\t\teditorType = \"text\";\n\t\t}\n\t}\n\treturn editorType;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh if an attribute has changed, or the type associated with the target tiddler has changed\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || (changedTiddlers[this.editTitle] && this.getEditorType() !== this.editorType)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.edit = EditWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/edit.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/element.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/element.js\ntype: application/javascript\nmodule-type: widget\n\nElement widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ElementWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nElementWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nElementWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Neuter blacklisted elements\n\tvar tag = this.parseTreeNode.tag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"safe-\" + tag;\n\t}\n\tvar domNode = this.document.createElementNS(this.namespace,tag);\n\tthis.assignAttributes(domNode,{excludeEventAttributes: true});\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nElementWidget.prototype.execute = function() {\n\t// Select the namespace for the tag\n\tvar tagNamespaces = {\n\t\t\tsvg: \"http://www.w3.org/2000/svg\",\n\t\t\tmath: \"http://www.w3.org/1998/Math/MathML\",\n\t\t\tbody: \"http://www.w3.org/1999/xhtml\"\n\t\t};\n\tthis.namespace = tagNamespaces[this.parseTreeNode.tag];\n\tif(this.namespace) {\n\t\tthis.setVariable(\"namespace\",this.namespace);\n\t} else {\n\t\tthis.namespace = this.getVariable(\"namespace\",{defaultValue: \"http://www.w3.org/1999/xhtml\"});\n\t}\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nElementWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\thasChangedAttributes = $tw.utils.count(changedAttributes) > 0;\n\tif(hasChangedAttributes) {\n\t\t// Update our attributes\n\t\tthis.assignAttributes(this.domNodes[0],{excludeEventAttributes: true});\n\t}\n\treturn this.refreshChildren(changedTiddlers) || hasChangedAttributes;\n};\n\nexports.element = ElementWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/element.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/encrypt.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/encrypt.js\ntype: application/javascript\nmodule-type: widget\n\nEncrypt widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EncryptWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEncryptWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEncryptWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.encryptedText);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEncryptWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\",\"[!is[system]]\");\n\t// Encrypt the filtered tiddlers\n\tvar tiddlers = this.wiki.filterTiddlers(this.filter),\n\t\tjson = {},\n\t\tself = this;\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title),\n\t\t\tjsonTiddler = {};\n\t\tfor(var f in tiddler.fields) {\n\t\t\tjsonTiddler[f] = tiddler.getFieldString(f);\n\t\t}\n\t\tjson[title] = jsonTiddler;\n\t});\n\tthis.encryptedText = $tw.utils.htmlEncode($tw.crypto.encrypt(JSON.stringify(json)));\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEncryptWidget.prototype.refresh = function(changedTiddlers) {\n\t// We don't need to worry about refreshing because the encrypt widget isn't for interactive use\n\treturn false;\n};\n\nexports.encrypt = EncryptWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/encrypt.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/entity.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/entity.js\ntype: application/javascript\nmodule-type: widget\n\nHTML entity widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EntityWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEntityWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEntityWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar entityString = this.getAttribute(\"entity\",this.parseTreeNode.entity || \"\"),\n\t\ttextNode = this.document.createTextNode($tw.utils.entityDecode(entityString));\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEntityWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEntityWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.entity) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.entity = EntityWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/entity.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/fieldmangler.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/fieldmangler.js\ntype: application/javascript\nmodule-type: widget\n\nField mangler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldManglerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-remove-field\", handler: \"handleRemoveFieldEvent\"},\n\t\t{type: \"tm-add-field\", handler: \"handleAddFieldEvent\"},\n\t\t{type: \"tm-remove-tag\", handler: \"handleRemoveTagEvent\"},\n\t\t{type: \"tm-add-tag\", handler: \"handleAddTagEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldManglerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldManglerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldManglerWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.mangleTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldManglerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nFieldManglerWidget.prototype.handleRemoveFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tdeletion = {};\n\tdeletion[event.param] = undefined;\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,deletion));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\taddition = this.wiki.getModificationFields(),\n\t\thadInvalidFieldName = false,\n\t\taddField = function(name,value) {\n\t\t\tvar trimmedName = name.toLowerCase().trim();\n\t\t\tif(!$tw.utils.isValidFieldName(trimmedName)) {\n\t\t\t\tif(!hadInvalidFieldName) {\n\t\t\t\t\talert($tw.language.getString(\n\t\t\t\t\t\t\"InvalidFieldName\",\n\t\t\t\t\t\t{variables:\n\t\t\t\t\t\t\t{fieldName: trimmedName}\n\t\t\t\t\t\t}\n\t\t\t\t\t));\n\t\t\t\t\thadInvalidFieldName = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif(!value && tiddler) {\n\t\t\t\t\tvalue = tiddler.fields[trimmedName];\n\t\t\t\t}\n\t\t\t\taddition[trimmedName] = value || \"\";\n\t\t\t}\n\t\t\treturn;\n\t\t};\n\taddition.title = this.mangleTitle;\n\tif(typeof event.param === \"string\") {\n\t\taddField(event.param,\"\");\n\t}\n\tif(typeof event.paramObject === \"object\") {\n\t\tfor(var name in event.paramObject) {\n\t\t\taddField(name,event.paramObject[name]);\n\t\t}\n\t}\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,addition));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleRemoveTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle);\n\tif(tiddler && tiddler.fields.tags) {\n\t\tvar p = tiddler.fields.tags.indexOf(event.param);\n\t\tif(p !== -1) {\n\t\t\tvar modification = this.wiki.getModificationFields();\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\tmodification.tags.splice(p,1);\n\t\t\tif(modification.tags.length === 0) {\n\t\t\t\tmodification.tags = undefined;\n\t\t\t}\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\n\t\t}\n\t}\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle);\n\tif(tiddler && typeof event.param === \"string\") {\n\t\tvar tag = event.param.trim();\n\t\tif(tag !== \"\") {\n\t\t\tvar modification = this.wiki.getModificationFields();\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\t$tw.utils.pushTop(modification.tags,tag);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\t\t\t\n\t\t}\n\t} else if(typeof event.param === \"string\" && event.param.trim() !== \"\" && this.mangleTitle.trim() !== \"\") {\n\t\tvar tag = [];\n\t\ttag.push(event.param.trim());\n\t\tthis.wiki.addTiddler({title: this.mangleTitle, tags: tag});\t\t\n\t}\n\treturn true;\n};\n\nexports.fieldmangler = FieldManglerWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/fieldmangler.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/fields.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/fields.js\ntype: application/javascript\nmodule-type: widget\n\nFields widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldsWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.template = this.getAttribute(\"template\");\n\tthis.exclude = this.getAttribute(\"exclude\");\n\tthis.stripTitlePrefix = this.getAttribute(\"stripTitlePrefix\",\"no\") === \"yes\";\n\t// Get the value to display\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\t// Get the exclusion list\n\tvar exclude;\n\tif(this.exclude) {\n\t\texclude = this.exclude.split(\" \");\n\t} else {\n\t\texclude = [\"text\"]; \n\t}\n\t// Compose the template\n\tvar text = [];\n\tif(this.template && tiddler) {\n\t\tvar fields = [];\n\t\tfor(var fieldName in tiddler.fields) {\n\t\t\tif(exclude.indexOf(fieldName) === -1) {\n\t\t\t\tfields.push(fieldName);\n\t\t\t}\n\t\t}\n\t\tfields.sort();\n\t\tfor(var f=0; f<fields.length; f++) {\n\t\t\tfieldName = fields[f];\n\t\t\tif(exclude.indexOf(fieldName) === -1) {\n\t\t\t\tvar row = this.template,\n\t\t\t\t\tvalue = tiddler.getFieldString(fieldName);\n\t\t\t\tif(this.stripTitlePrefix && fieldName === \"title\") {\n\t\t\t\t\tvar reStrip = /^\\{[^\\}]+\\}(.+)/mg,\n\t\t\t\t\t\treMatch = reStrip.exec(value);\n\t\t\t\t\tif(reMatch) {\n\t\t\t\t\t\tvalue = reMatch[1];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\trow = row.replace(\"$name$\",fieldName);\n\t\t\t\trow = row.replace(\"$value$\",value);\n\t\t\t\trow = row.replace(\"$encoded_value$\",$tw.utils.htmlEncode(value));\n\t\t\t\ttext.push(row);\n\t\t\t}\n\t\t}\n\t}\n\tthis.text = text.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.template || changedAttributes.exclude || changedAttributes.stripTitlePrefix || changedTiddlers[this.tiddlerTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.fields = FieldsWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/fields.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/image.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/image.js\ntype: application/javascript\nmodule-type: widget\n\nThe image widget displays an image referenced with an external URI or with a local tiddler title.\n\n```\n<$image src=\"TiddlerTitle\" width=\"320\" height=\"400\" class=\"classnames\">\n```\n\nThe image source can be the title of an existing tiddler or the URL of an external image.\n\nExternal images always generate an HTML `<img>` tag.\n\nTiddlers that have a _canonical_uri field generate an HTML `<img>` tag with the src attribute containing the URI.\n\nTiddlers that contain image data generate an HTML `<img>` tag with the src attribute containing a base64 representation of the image.\n\nTiddlers that contain wikitext could be rendered to a DIV of the usual size of a tiddler, and then transformed to the size requested.\n\nThe width and height attributes are interpreted as a number of pixels, and do not need to include the \"px\" suffix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\t// Determine what type of image it is\n\tvar tag = \"img\", src = \"\",\n\t\ttiddler = this.wiki.getTiddler(this.imageSource);\n\tif(!tiddler) {\n\t\t// The source isn't the title of a tiddler, so we'll assume it's a URL\n\t\tsrc = this.getVariable(\"tv-get-export-image-link\",{params: [{name: \"src\",value: this.imageSource}],defaultValue: this.imageSource});\n\t} else {\n\t\t// Check if it is an image tiddler\n\t\tif(this.wiki.isImageTiddler(this.imageSource)) {\n\t\t\tvar type = tiddler.fields.type,\n\t\t\t\ttext = tiddler.fields.text,\n\t\t\t\t_canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t// If the tiddler has body text then it doesn't need to be lazily loaded\n\t\t\tif(text) {\n\t\t\t\t// Render the appropriate element for the image type\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = \"data:application/pdf;base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = \"data:image/svg+xml,\" + encodeURIComponent(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = \"data:\" + type + \";base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if(_canonical_uri) {\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\t\n\t\t\t} else {\n\t\t\t\t// Just trigger loading of the tiddler\n\t\t\t\tthis.wiki.getTiddlerText(this.imageSource);\n\t\t\t}\n\t\t}\n\t}\n\t// Create the element and assign the attributes\n\tvar domNode = this.document.createElement(tag);\n\tdomNode.setAttribute(\"src\",src);\n\tif(this.imageClass) {\n\t\tdomNode.setAttribute(\"class\",this.imageClass);\t\t\n\t}\n\tif(this.imageWidth) {\n\t\tdomNode.setAttribute(\"width\",this.imageWidth);\n\t}\n\tif(this.imageHeight) {\n\t\tdomNode.setAttribute(\"height\",this.imageHeight);\n\t}\n\tif(this.imageTooltip) {\n\t\tdomNode.setAttribute(\"title\",this.imageTooltip);\t\t\n\t}\n\tif(this.imageAlt) {\n\t\tdomNode.setAttribute(\"alt\",this.imageAlt);\t\t\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImageWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.imageSource = this.getAttribute(\"source\");\n\tthis.imageWidth = this.getAttribute(\"width\");\n\tthis.imageHeight = this.getAttribute(\"height\");\n\tthis.imageClass = this.getAttribute(\"class\");\n\tthis.imageTooltip = this.getAttribute(\"tooltip\");\n\tthis.imageAlt = this.getAttribute(\"alt\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.width || changedAttributes.height || changedAttributes[\"class\"] || changedAttributes.tooltip || changedTiddlers[this.imageSource]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\t\n\t}\n};\n\nexports.image = ImageWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/image.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/importvariables.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/importvariables.js\ntype: application/javascript\nmodule-type: widget\n\nImport variable definitions from other tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImportVariablesWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImportVariablesWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImportVariablesWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImportVariablesWidget.prototype.execute = function(tiddlerList) {\n\tvar self = this;\n\t// Get our parameters\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Compute the filter\n\tthis.tiddlerList = tiddlerList || this.wiki.filterTiddlers(this.filter,this);\n\t// Accumulate the <$set> widgets from each tiddler\n\tvar widgetStackStart,widgetStackEnd;\n\tfunction addWidgetNode(widgetNode) {\n\t\tif(widgetNode) {\n\t\t\tif(!widgetStackStart && !widgetStackEnd) {\n\t\t\t\twidgetStackStart = widgetNode;\n\t\t\t\twidgetStackEnd = widgetNode;\n\t\t\t} else {\n\t\t\t\twidgetStackEnd.children = [widgetNode];\n\t\t\t\twidgetStackEnd = widgetNode;\n\t\t\t}\n\t\t}\n\t}\n\t$tw.utils.each(this.tiddlerList,function(title) {\n\t\tvar parser = self.wiki.parseTiddler(title);\n\t\tif(parser) {\n\t\t\tvar parseTreeNode = parser.tree[0];\n\t\t\twhile(parseTreeNode && parseTreeNode.type === \"set\") {\n\t\t\t\taddWidgetNode({\n\t\t\t\t\ttype: \"set\",\n\t\t\t\t\tattributes: parseTreeNode.attributes,\n\t\t\t\t\tparams: parseTreeNode.params\n\t\t\t\t});\n\t\t\t\tparseTreeNode = parseTreeNode.children[0];\n\t\t\t}\n\t\t} \n\t});\n\t// Add our own children to the end of the pile\n\tvar parseTreeNodes;\n\tif(widgetStackStart && widgetStackEnd) {\n\t\tparseTreeNodes = [widgetStackStart];\n\t\twidgetStackEnd.children = this.parseTreeNode.children;\n\t} else {\n\t\tparseTreeNodes = this.parseTreeNode.children;\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImportVariablesWidget.prototype.refresh = function(changedTiddlers) {\n\t// Recompute our attributes and the filter list\n\tvar changedAttributes = this.computeAttributes(),\n\t\ttiddlerList = this.wiki.filterTiddlers(this.getAttribute(\"filter\"),this);\n\t// Refresh if the filter has changed, or the list of tiddlers has changed, or any of the tiddlers in the list has changed\n\tfunction haveListedTiddlersChanged() {\n\t\tvar changed = false;\n\t\ttiddlerList.forEach(function(title) {\n\t\t\tif(changedTiddlers[title]) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t});\n\t\treturn changed;\n\t}\n\tif(changedAttributes.filter || !$tw.utils.isArrayEqual(this.tiddlerList,tiddlerList) || haveListedTiddlersChanged()) {\n\t\t// Compute the filter\n\t\tthis.removeChildDomNodes();\n\t\tthis.execute(tiddlerList);\n\t\tthis.renderChildren(this.parentDomNode,this.findNextSiblingDomNode());\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.importvariables = ImportVariablesWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/importvariables.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/keyboard.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/keyboard.js\ntype: application/javascript\nmodule-type: widget\n\nKeyboard shortcut widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar KeyboardWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nKeyboardWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nKeyboardWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"div\");\n\t// Assign classes\n\tvar classes = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-keyboard\");\n\tdomNode.className = classes.join(\" \");\n\t// Add a keyboard event handler\n\tdomNode.addEventListener(\"keydown\",function (event) {\n\t\tif($tw.keyboardManager.checkKeyDescriptors(event,self.keyInfoArray)) {\n\t\t\tself.invokeActions(self,event);\n\t\t\tif(self.actions) {\n\t\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t\t}\n\t\t\tself.dispatchMessage(event);\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nKeyboardWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n};\n\n/*\nCompute the internal state of the widget\n*/\nKeyboardWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.key = this.getAttribute(\"key\");\n\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\tthis[\"class\"] = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nKeyboardWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.message || changedAttributes.param || changedAttributes.key || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.keyboard = KeyboardWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/keyboard.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/link.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/link.js\ntype: application/javascript\nmodule-type: widget\n\nLink widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar MISSING_LINK_CONFIG_TITLE = \"$:/config/MissingLinks\";\n\nvar LinkWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the value of the tv-wikilinks configuration macro\n\tvar wikiLinksMacro = this.getVariable(\"tv-wikilinks\"),\n\t\tuseWikiLinks = wikiLinksMacro ? (wikiLinksMacro.trim() !== \"no\") : true,\n\t\tmissingLinksEnabled = !(this.hideMissingLinks && this.isMissing && !this.isShadow);\n\t// Render the link if required\n\tif(useWikiLinks && missingLinksEnabled) {\n\t\tthis.renderLink(parent,nextSibling);\n\t} else {\n\t\t// Just insert the link text\n\t\tvar domNode = this.document.createElement(\"span\");\n\t\tparent.insertBefore(domNode,nextSibling);\n\t\tthis.renderChildren(domNode,null);\n\t\tthis.domNodes.push(domNode);\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.renderLink = function(parent,nextSibling) {\n\tvar self = this;\n\t// Sanitise the specified tag\n\tvar tag = this.linkTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"a\";\n\t}\n\t// Create our element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = [];\n\tif(this.linkClasses) {\n\t\tclasses.push(this.linkClasses);\n\t}\n\tclasses.push(\"tc-tiddlylink\");\n\tif(this.isShadow) {\n\t\tclasses.push(\"tc-tiddlylink-shadow\");\n\t}\n\tif(this.isMissing && !this.isShadow) {\n\t\tclasses.push(\"tc-tiddlylink-missing\");\n\t} else {\n\t\tif(!this.isMissing) {\n\t\t\tclasses.push(\"tc-tiddlylink-resolves\");\n\t\t}\n\t}\n\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t// Set an href\n\tvar wikiLinkTemplateMacro = this.getVariable(\"tv-wikilink-template\"),\n\t\twikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : \"#$uri_encoded$\",\n\t\twikiLinkText = wikiLinkTemplate.replace(\"$uri_encoded$\",encodeURIComponent(this.to));\n\twikiLinkText = wikiLinkText.replace(\"$uri_doubleencoded$\",encodeURIComponent(encodeURIComponent(this.to)));\n\twikiLinkText = this.getVariable(\"tv-get-export-link\",{params: [{name: \"to\",value: this.to}],defaultValue: wikiLinkText});\n\tif(tag === \"a\") {\n\t\tdomNode.setAttribute(\"href\",wikiLinkText);\n\t}\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\n\t// Set the tooltip\n\t// HACK: Performance issues with re-parsing the tooltip prevent us defaulting the tooltip to \"<$transclude field='tooltip'><$transclude field='title'/></$transclude>\"\n\tvar tooltipWikiText = this.tooltip || this.getVariable(\"tv-wikilink-tooltip\");\n\tif(tooltipWikiText) {\n\t\tvar tooltipText = this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",tooltipWikiText,{\n\t\t\t\tparseAsInline: true,\n\t\t\t\tvariables: {\n\t\t\t\t\tcurrentTiddler: this.to\n\t\t\t\t},\n\t\t\t\tparentWidget: this\n\t\t\t});\n\t\tdomNode.setAttribute(\"title\",tooltipText);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleClickEvent\"},\n\t]);\n\tif(this.draggable === \"yes\") {\n\t\t$tw.utils.addEventListeners(domNode,[\n\t\t\t{name: \"dragstart\", handlerObject: this, handlerMethod: \"handleDragStartEvent\"},\n\t\t\t{name: \"dragend\", handlerObject: this, handlerMethod: \"handleDragEndEvent\"}\n\t\t]);\n\t}\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nLinkWidget.prototype.handleClickEvent = function(event) {\n\t// Send the click on its way as a navigate event\n\tvar bounds = this.domNodes[0].getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1)\n\t});\n\tif(this.domNodes[0].hasAttribute(\"href\")) {\n\t\tevent.preventDefault();\n\t}\n\tevent.stopPropagation();\n\treturn false;\n};\n\nLinkWidget.prototype.handleDragStartEvent = function(event) {\n\tif(event.target === this.domNodes[0]) {\n\t\tif(this.to) {\n\t\t\t$tw.dragInProgress = true;\n\t\t\t// Set the dragging class on the element being dragged\n\t\t\t$tw.utils.addClass(event.target,\"tc-tiddlylink-dragging\");\n\t\t\t// Create the drag image elements\n\t\t\tthis.dragImage = this.document.createElement(\"div\");\n\t\t\tthis.dragImage.className = \"tc-tiddler-dragger\";\n\t\t\tvar inner = this.document.createElement(\"div\");\n\t\t\tinner.className = \"tc-tiddler-dragger-inner\";\n\t\t\tinner.appendChild(this.document.createTextNode(this.to));\n\t\t\tthis.dragImage.appendChild(inner);\n\t\t\tthis.document.body.appendChild(this.dragImage);\n\t\t\t// Astoundingly, we need to cover the dragger up: http://www.kryogenix.org/code/browser/custom-drag-image.html\n\t\t\tvar cover = this.document.createElement(\"div\");\n\t\t\tcover.className = \"tc-tiddler-dragger-cover\";\n\t\t\tcover.style.left = (inner.offsetLeft - 16) + \"px\";\n\t\t\tcover.style.top = (inner.offsetTop - 16) + \"px\";\n\t\t\tcover.style.width = (inner.offsetWidth + 32) + \"px\";\n\t\t\tcover.style.height = (inner.offsetHeight + 32) + \"px\";\n\t\t\tthis.dragImage.appendChild(cover);\n\t\t\t// Set the data transfer properties\n\t\t\tvar dataTransfer = event.dataTransfer;\n\t\t\t// First the image\n\t\t\tdataTransfer.effectAllowed = \"copy\";\n\t\t\tif(dataTransfer.setDragImage) {\n\t\t\t\tdataTransfer.setDragImage(this.dragImage.firstChild,-16,-16);\n\t\t\t}\n\t\t\t// Then the data\n\t\t\tdataTransfer.clearData();\n\t\t\tvar jsonData = this.wiki.getTiddlerAsJson(this.to),\n\t\t\t\ttextData = this.wiki.getTiddlerText(this.to,\"\"),\n\t\t\t\ttitle = (new RegExp(\"^\" + $tw.config.textPrimitives.wikiLink + \"$\",\"mg\")).exec(this.to) ? this.to : \"[[\" + this.to + \"]]\";\n\t\t\t// IE doesn't like these content types\n\t\t\tif(!$tw.browser.isIE) {\n\t\t\t\tdataTransfer.setData(\"text/vnd.tiddler\",jsonData);\n\t\t\t\tdataTransfer.setData(\"text/plain\",title);\n\t\t\t\tdataTransfer.setData(\"text/x-moz-url\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t}\n\t\t\tdataTransfer.setData(\"URL\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\tdataTransfer.setData(\"Text\",title);\n\t\t\tevent.stopPropagation();\n\t\t} else {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n};\n\nLinkWidget.prototype.handleDragEndEvent = function(event) {\n\tif(event.target === this.domNodes[0]) {\n\t\t$tw.dragInProgress = false;\n\t\t// Remove the dragging class on the element being dragged\n\t\t$tw.utils.removeClass(event.target,\"tc-tiddlylink-dragging\");\n\t\t// Delete the drag image element\n\t\tif(this.dragImage) {\n\t\t\tthis.dragImage.parentNode.removeChild(this.dragImage);\n\t\t}\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.to = this.getAttribute(\"to\",this.getVariable(\"currentTiddler\"));\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.linkClasses = this.getAttribute(\"class\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.draggable = this.getAttribute(\"draggable\",\"yes\");\n\tthis.linkTag = this.getAttribute(\"tag\",\"a\");\n\t// Determine the link characteristics\n\tthis.isMissing = !this.wiki.tiddlerExists(this.to);\n\tthis.isShadow = this.wiki.isShadowTiddler(this.to);\n\tthis.hideMissingLinks = ($tw.wiki.getTiddlerText(MISSING_LINK_CONFIG_TITLE,\"yes\") === \"no\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedTiddlers[this.to] || changedAttributes[\"aria-label\"] || changedAttributes.tooltip || changedTiddlers[MISSING_LINK_CONFIG_TITLE]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.link = LinkWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/link.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/linkcatcher.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/linkcatcher.js\ntype: application/javascript\nmodule-type: widget\n\nLinkcatcher widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkCatcherWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkCatcherWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkCatcherWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkCatcherWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.catchTo = this.getAttribute(\"to\");\n\tthis.catchMessage = this.getAttribute(\"message\");\n\tthis.catchSet = this.getAttribute(\"set\");\n\tthis.catchSetTo = this.getAttribute(\"setTo\");\n\tthis.catchActions = this.getAttribute(\"actions\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkCatcherWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.set || changedAttributes.setTo) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\n/*\nHandle a tm-navigate event\n*/\nLinkCatcherWidget.prototype.handleNavigateEvent = function(event) {\n\tif(this.catchTo) {\n\t\tthis.wiki.setTextReference(this.catchTo,event.navigateTo,this.getVariable(\"currentTiddler\"));\n\t}\n\tif(this.catchMessage && this.parentWidget) {\n\t\tthis.parentWidget.dispatchEvent({\n\t\t\ttype: this.catchMessage,\n\t\t\tparam: event.navigateTo,\n\t\t\tnavigateTo: event.navigateTo\n\t\t});\n\t}\n\tif(this.catchSet) {\n\t\tvar tiddler = this.wiki.getTiddler(this.catchSet);\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{title: this.catchSet, text: this.catchSetTo}));\n\t}\n\tif(this.catchActions) {\n\t\tthis.invokeActionString(this.catchActions,this);\n\t}\n\treturn false;\n};\n\nexports.linkcatcher = LinkCatcherWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/linkcatcher.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/list.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/list.js\ntype: application/javascript\nmodule-type: widget\n\nList and list item widgets\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\n/*\nThe list widget creates list element sub-widgets that reach back into the list widget for their configuration\n*/\n\nvar ListWidget = function(parseTreeNode,options) {\n\t// Initialise the storyviews if they've not been done already\n\tif(!this.storyViews) {\n\t\tListWidget.prototype.storyViews = {};\n\t\t$tw.modules.applyMethods(\"storyview\",this.storyViews);\n\t}\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\t// Construct the storyview\n\tvar StoryView = this.storyViews[this.storyViewName];\n\tif(StoryView && !this.document.isTiddlyWikiFakeDom) {\n\t\tthis.storyview = new StoryView(this);\n\t} else {\n\t\tthis.storyview = null;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nListWidget.prototype.execute = function() {\n\t// Get our attributes\n\tthis.template = this.getAttribute(\"template\");\n\tthis.editTemplate = this.getAttribute(\"editTemplate\");\n\tthis.variableName = this.getAttribute(\"variable\",\"currentTiddler\");\n\tthis.storyViewName = this.getAttribute(\"storyview\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Compose the list elements\n\tthis.list = this.getTiddlerList();\n\tvar members = [],\n\t\tself = this;\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\tmembers = this.getEmptyMessage();\n\t} else {\n\t\t$tw.utils.each(this.list,function(title,index) {\n\t\t\tmembers.push(self.makeItemTemplate(title));\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(members);\n\t// Clear the last history\n\tthis.history = [];\n};\n\nListWidget.prototype.getTiddlerList = function() {\n\tvar defaultFilter = \"[!is[system]sort[title]]\";\n\treturn this.wiki.filterTiddlers(this.getAttribute(\"filter\",defaultFilter),this);\n};\n\nListWidget.prototype.getEmptyMessage = function() {\n\tvar emptyMessage = this.getAttribute(\"emptyMessage\",\"\"),\n\t\tparser = this.wiki.parseText(\"text/vnd.tiddlywiki\",emptyMessage,{parseAsInline: true});\n\tif(parser) {\n\t\treturn parser.tree;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n/*\nCompose the template for a list item\n*/\nListWidget.prototype.makeItemTemplate = function(title) {\n\t// Check if the tiddler is a draft\n\tvar tiddler = this.wiki.getTiddler(title),\n\t\tisDraft = tiddler && tiddler.hasField(\"draft.of\"),\n\t\ttemplate = this.template,\n\t\ttemplateTree;\n\tif(isDraft && this.editTemplate) {\n\t\ttemplate = this.editTemplate;\n\t}\n\t// Compose the transclusion of the template\n\tif(template) {\n\t\ttemplateTree = [{type: \"transclude\", attributes: {tiddler: {type: \"string\", value: template}}}];\n\t} else {\n\t\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\t\ttemplateTree = this.parseTreeNode.children;\n\t\t} else {\n\t\t\t// Default template is a link to the title\n\t\t\ttemplateTree = [{type: \"element\", tag: this.parseTreeNode.isBlock ? \"div\" : \"span\", children: [{type: \"link\", attributes: {to: {type: \"string\", value: title}}, children: [\n\t\t\t\t\t{type: \"text\", text: title}\n\t\t\t]}]}];\n\t\t}\n\t}\n\t// Return the list item\n\treturn {type: \"listitem\", itemTitle: title, variableName: this.variableName, children: templateTree};\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tresult;\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshStart) {\n\t\tthis.storyview.refreshStart(changedTiddlers,changedAttributes);\n\t}\n\t// Completely refresh if any of our attributes have changed\n\tif(changedAttributes.filter || changedAttributes.template || changedAttributes.editTemplate || changedAttributes.emptyMessage || changedAttributes.storyview || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\tresult = true;\n\t} else {\n\t\t// Handle any changes to the list\n\t\tresult = this.handleListChanges(changedTiddlers);\n\t\t// Handle any changes to the history stack\n\t\tif(this.historyTitle && changedTiddlers[this.historyTitle]) {\n\t\t\tthis.handleHistoryChanges();\n\t\t}\n\t}\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshEnd) {\n\t\tthis.storyview.refreshEnd(changedTiddlers,changedAttributes);\n\t}\n\treturn result;\n};\n\n/*\nHandle any changes to the history list\n*/\nListWidget.prototype.handleHistoryChanges = function() {\n\t// Get the history data\n\tvar newHistory = this.wiki.getTiddlerDataCached(this.historyTitle,[]);\n\t// Ignore any entries of the history that match the previous history\n\tvar entry = 0;\n\twhile(entry < newHistory.length && entry < this.history.length && newHistory[entry].title === this.history[entry].title) {\n\t\tentry++;\n\t}\n\t// Navigate forwards to each of the new tiddlers\n\twhile(entry < newHistory.length) {\n\t\tif(this.storyview && this.storyview.navigateTo) {\n\t\t\tthis.storyview.navigateTo(newHistory[entry]);\n\t\t}\n\t\tentry++;\n\t}\n\t// Update the history\n\tthis.history = newHistory;\n};\n\n/*\nProcess any changes to the list\n*/\nListWidget.prototype.handleListChanges = function(changedTiddlers) {\n\t// Get the new list\n\tvar prevList = this.list;\n\tthis.list = this.getTiddlerList();\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\t// Check if it was empty before\n\t\tif(prevList.length === 0) {\n\t\t\t// If so, just refresh the empty message\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\t// Replace the previous content with the empty message\n\t\t\tfor(t=this.children.length-1; t>=0; t--) {\n\t\t\t\tthis.removeListItem(t);\n\t\t\t}\n\t\t\tvar nextSibling = this.findNextSiblingDomNode();\n\t\t\tthis.makeChildWidgets(this.getEmptyMessage());\n\t\t\tthis.renderChildren(this.parentDomNode,nextSibling);\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\t// If the list was empty then we need to remove the empty message\n\t\tif(prevList.length === 0) {\n\t\t\tthis.removeChildDomNodes();\n\t\t\tthis.children = [];\n\t\t}\n\t\t// Cycle through the list, inserting and removing list items as needed\n\t\tvar hasRefreshed = false;\n\t\tfor(var t=0; t<this.list.length; t++) {\n\t\t\tvar index = this.findListItem(t,this.list[t]);\n\t\t\tif(index === undefined) {\n\t\t\t\t// The list item must be inserted\n\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\thasRefreshed = true;\n\t\t\t} else {\n\t\t\t\t// There are intervening list items that must be removed\n\t\t\t\tfor(var n=index-1; n>=t; n--) {\n\t\t\t\t\tthis.removeListItem(n);\n\t\t\t\t\thasRefreshed = true;\n\t\t\t\t}\n\t\t\t\t// Refresh the item we're reusing\n\t\t\t\tvar refreshed = this.children[t].refresh(changedTiddlers);\n\t\t\t\thasRefreshed = hasRefreshed || refreshed;\n\t\t\t}\n\t\t}\n\t\t// Remove any left over items\n\t\tfor(t=this.children.length-1; t>=this.list.length; t--) {\n\t\t\tthis.removeListItem(t);\n\t\t\thasRefreshed = true;\n\t\t}\n\t\treturn hasRefreshed;\n\t}\n};\n\n/*\nFind the list item with a given title, starting from a specified position\n*/\nListWidget.prototype.findListItem = function(startIndex,title) {\n\twhile(startIndex < this.children.length) {\n\t\tif(this.children[startIndex].parseTreeNode.itemTitle === title) {\n\t\t\treturn startIndex;\n\t\t}\n\t\tstartIndex++;\n\t}\n\treturn undefined;\n};\n\n/*\nInsert a new list item at the specified index\n*/\nListWidget.prototype.insertListItem = function(index,title) {\n\t// Create, insert and render the new child widgets\n\tvar widget = this.makeChildWidget(this.makeItemTemplate(title));\n\twidget.parentDomNode = this.parentDomNode; // Hack to enable findNextSiblingDomNode() to work\n\tthis.children.splice(index,0,widget);\n\tvar nextSibling = widget.findNextSiblingDomNode();\n\twidget.render(this.parentDomNode,nextSibling);\n\t// Animate the insertion if required\n\tif(this.storyview && this.storyview.insert) {\n\t\tthis.storyview.insert(widget);\n\t}\n\treturn true;\n};\n\n/*\nRemove the specified list item\n*/\nListWidget.prototype.removeListItem = function(index) {\n\tvar widget = this.children[index];\n\t// Animate the removal if required\n\tif(this.storyview && this.storyview.remove) {\n\t\tthis.storyview.remove(widget);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n\t// Remove the child widget\n\tthis.children.splice(index,1);\n};\n\nexports.list = ListWidget;\n\nvar ListItemWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListItemWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListItemWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nListItemWidget.prototype.execute = function() {\n\t// Set the current list item title\n\tthis.setVariable(this.parseTreeNode.variableName,this.parseTreeNode.itemTitle);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListItemWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.listitem = ListItemWidget;\n\n})();",
"title": "$:/core/modules/widgets/list.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/macrocall.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/macrocall.js\ntype: application/javascript\nmodule-type: widget\n\nMacrocall widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MacroCallWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMacroCallWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMacroCallWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nMacroCallWidget.prototype.execute = function() {\n\t// Get the parse type if specified\n\tthis.parseType = this.getAttribute(\"$type\",\"text/vnd.tiddlywiki\");\n\tthis.renderOutput = this.getAttribute(\"$output\",\"text/html\");\n\t// Merge together the parameters specified in the parse tree with the specified attributes\n\tvar params = this.parseTreeNode.params ? this.parseTreeNode.params.slice(0) : [];\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparams.push({name: name, value: attribute});\t\t\t\n\t\t}\n\t});\n\t// Get the macro value\n\tvar text = this.getVariable(this.parseTreeNode.name || this.getAttribute(\"$name\"),{params: params}),\n\t\tparseTreeNodes;\n\t// Are we rendering to HTML?\n\tif(this.renderOutput === \"text/html\") {\n\t\t// If so we'll return the parsed macro\n\t\tvar parser = this.wiki.parseText(this.parseType,text,\n\t\t\t\t\t\t\t{parseAsInline: !this.parseTreeNode.isBlock});\n\t\tparseTreeNodes = parser ? parser.tree : [];\n\t} else {\n\t\t// Otherwise, we'll render the text\n\t\tvar plainText = this.wiki.renderText(\"text/plain\",this.parseType,text,{parentWidget: this});\n\t\tparseTreeNodes = [{type: \"text\", text: plainText}];\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nMacroCallWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\t// Rerender ourselves\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.macrocall = MacroCallWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/macrocall.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/navigator.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/navigator.js\ntype: application/javascript\nmodule-type: widget\n\nNavigator widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar IMPORT_TITLE = \"$:/Import\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigatorWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"},\n\t\t{type: \"tm-edit-tiddler\", handler: \"handleEditTiddlerEvent\"},\n\t\t{type: \"tm-delete-tiddler\", handler: \"handleDeleteTiddlerEvent\"},\n\t\t{type: \"tm-save-tiddler\", handler: \"handleSaveTiddlerEvent\"},\n\t\t{type: \"tm-cancel-tiddler\", handler: \"handleCancelTiddlerEvent\"},\n\t\t{type: \"tm-close-tiddler\", handler: \"handleCloseTiddlerEvent\"},\n\t\t{type: \"tm-close-all-tiddlers\", handler: \"handleCloseAllTiddlersEvent\"},\n\t\t{type: \"tm-close-other-tiddlers\", handler: \"handleCloseOtherTiddlersEvent\"},\n\t\t{type: \"tm-new-tiddler\", handler: \"handleNewTiddlerEvent\"},\n\t\t{type: \"tm-import-tiddlers\", handler: \"handleImportTiddlersEvent\"},\n\t\t{type: \"tm-perform-import\", handler: \"handlePerformImportEvent\"},\n\t\t{type: \"tm-fold-tiddler\", handler: \"handleFoldTiddlerEvent\"},\n\t\t{type: \"tm-fold-other-tiddlers\", handler: \"handleFoldOtherTiddlersEvent\"},\n\t\t{type: \"tm-fold-all-tiddlers\", handler: \"handleFoldAllTiddlersEvent\"},\n\t\t{type: \"tm-unfold-all-tiddlers\", handler: \"handleUnfoldAllTiddlersEvent\"},\n\t\t{type: \"tm-rename-tiddler\", handler: \"handleRenameTiddlerEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigatorWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigatorWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigatorWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.storyTitle = this.getAttribute(\"story\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nNavigatorWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.story || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nNavigatorWidget.prototype.getStoryList = function() {\n\treturn this.storyTitle ? this.wiki.getTiddlerList(this.storyTitle) : null;\n};\n\nNavigatorWidget.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList}\n\t));\n};\n\nNavigatorWidget.prototype.removeTitleFromStory = function(storyList,title) {\n\tvar p = storyList.indexOf(title);\n\twhile(p !== -1) {\n\t\tstoryList.splice(p,1);\n\t\tp = storyList.indexOf(title);\n\t}\n};\n\nNavigatorWidget.prototype.replaceFirstTitleInStory = function(storyList,oldTitle,newTitle) {\n\tvar pos = storyList.indexOf(oldTitle);\n\tif(pos !== -1) {\n\t\tstoryList[pos] = newTitle;\n\t\tdo {\n\t\t\tpos = storyList.indexOf(oldTitle,pos + 1);\n\t\t\tif(pos !== -1) {\n\t\t\t\tstoryList.splice(pos,1);\n\t\t\t}\n\t\t} while(pos !== -1);\n\t} else {\n\t\tstoryList.splice(0,0,newTitle);\n\t}\n};\n\nNavigatorWidget.prototype.addToStory = function(title,fromTitle) {\n\tvar storyList = this.getStoryList();\n\t// Quit if we cannot get hold of the story list\n\tif(!storyList) {\n\t\treturn;\n\t}\n\t// See if the tiddler is already there\n\tvar slot = storyList.indexOf(title);\n\t// Quit if it already exists in the story river\n\tif(slot >= 0) {\n\t\treturn;\n\t}\n\t// First we try to find the position of the story element we navigated from\n\tvar fromIndex = storyList.indexOf(fromTitle);\n\tif(fromIndex >= 0) {\n\t\t// The tiddler is added from inside the river\n\t\t// Determine where to insert the tiddler; Fallback is \"below\"\n\t\tswitch(this.getAttribute(\"openLinkFromInsideRiver\",\"below\")) {\n\t\t\tcase \"top\":\n\t\t\t\tslot = 0;\n\t\t\t\tbreak;\n\t\t\tcase \"bottom\":\n\t\t\t\tslot = storyList.length;\n\t\t\t\tbreak;\n\t\t\tcase \"above\":\n\t\t\t\tslot = fromIndex;\n\t\t\t\tbreak;\n\t\t\tcase \"below\": // Intentional fall-through\n\t\t\tdefault:\n\t\t\t\tslot = fromIndex + 1;\n\t\t\t\tbreak;\n\t\t}\n\t} else {\n\t\t// The tiddler is opened from outside the river. Determine where to insert the tiddler; default is \"top\"\n\t\tif(this.getAttribute(\"openLinkFromOutsideRiver\",\"top\") === \"bottom\") {\n\t\t\t// Insert at bottom\n\t\t\tslot = storyList.length;\n\t\t} else {\n\t\t\t// Insert at top\n\t\t\tslot = 0;\n\t\t}\n\t}\n\t// Add the tiddler\n\tstoryList.splice(slot,0,title);\n\t// Save the story\n\tthis.saveStoryList(storyList);\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\n*/\nNavigatorWidget.prototype.addToHistory = function(title,fromPageRect) {\n\tthis.wiki.addToHistory(title,fromPageRect,this.historyTitle);\n};\n\n/*\nHandle a tm-navigate event\n*/\nNavigatorWidget.prototype.handleNavigateEvent = function(event) {\n\tif(event.navigateTo) {\n\t\tthis.addToStory(event.navigateTo,event.navigateFromTitle);\n\t\tif(!event.navigateSuppressNavigation) {\n\t\t\tthis.addToHistory(event.navigateTo,event.navigateFromClientRect);\n\t\t}\n\t}\n\treturn false;\n};\n\n// Close a specified tiddler\nNavigatorWidget.prototype.handleCloseTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\tstoryList = this.getStoryList();\n\t// Look for tiddlers with this title to close\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n// Close all tiddlers\nNavigatorWidget.prototype.handleCloseAllTiddlersEvent = function(event) {\n\tthis.saveStoryList([]);\n\treturn false;\n};\n\n// Close other tiddlers\nNavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle;\n\tthis.saveStoryList([title]);\n\treturn false;\n};\n\n// Place a tiddler in edit mode\nNavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {\n\tvar self = this;\n\tfunction isUnmodifiedShadow(title) {\n\t\treturn self.wiki.isShadowTiddler(title) && !self.wiki.tiddlerExists(title);\n\t}\n\tfunction confirmEditShadow(title) {\n\t\treturn confirm($tw.language.getString(\n\t\t\t\"ConfirmEditShadowTiddler\",\n\t\t\t{variables:\n\t\t\t\t{title: title}\n\t\t\t}\n\t\t));\n\t}\n\tvar title = event.param || event.tiddlerTitle;\n\tif(isUnmodifiedShadow(title) && !confirmEditShadow(title)) {\n\t\treturn false;\n\t}\n\t// Replace the specified tiddler with a draft in edit mode\n\tvar draftTiddler = this.makeDraftTiddler(title);\n\t// Update the story and history if required\n\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\tvar draftTitle = draftTiddler.fields.title,\n\t\t\tstoryList = this.getStoryList();\n\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\tthis.saveStoryList(storyList);\n\t\treturn false;\n\t}\n};\n\n// Delete a tiddler\nNavigatorWidget.prototype.handleDeleteTiddlerEvent = function(event) {\n\t// Get the tiddler we're deleting\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList(),\n\t\toriginalTitle = tiddler ? tiddler.fields[\"draft.of\"] : \"\",\n\t\tconfirmationTitle;\n\tif(!tiddler) {\n\t\treturn false;\n\t}\n\t// Check if the tiddler we're deleting is in draft mode\n\tif(originalTitle) {\n\t\t// If so, we'll prompt for confirmation referencing the original tiddler\n\t\tconfirmationTitle = originalTitle;\n\t} else {\n\t\t// If not a draft, then prompt for confirmation referencing the specified tiddler\n\t\tconfirmationTitle = title;\n\t}\n\t// Seek confirmation\n\tif((this.wiki.getTiddler(originalTitle) || (tiddler.fields.text || \"\") !== \"\") && !confirm($tw.language.getString(\n\t\t\t\t\"ConfirmDeleteTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: confirmationTitle}\n\t\t\t\t}\n\t\t\t))) {\n\t\treturn false;\n\t}\n\t// Delete the original tiddler\n\tif(originalTitle) {\n\t\tthis.wiki.deleteTiddler(originalTitle);\n\t\tthis.removeTitleFromStory(storyList,originalTitle);\n\t}\n\t// Delete this tiddler\n\tthis.wiki.deleteTiddler(title);\n\t// Remove the closed tiddler from the story\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\treturn false;\n};\n\n/*\nCreate/reuse the draft tiddler for a given title\n*/\nNavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {\n\t// See if there is already a draft tiddler for this tiddler\n\tvar draftTitle = this.wiki.findDraft(targetTitle);\n\tif(draftTitle) {\n\t\treturn this.wiki.getTiddler(draftTitle);\n\t}\n\t// Get the current value of the tiddler we're editing\n\tvar tiddler = this.wiki.getTiddler(targetTitle);\n\t// Save the initial value of the draft tiddler\n\tdraftTitle = this.generateDraftTitle(targetTitle);\n\tvar draftTiddler = new $tw.Tiddler(\n\t\t\ttiddler,\n\t\t\t{\n\t\t\t\ttitle: draftTitle,\n\t\t\t\t\"draft.title\": targetTitle,\n\t\t\t\t\"draft.of\": targetTitle\n\t\t\t},\n\t\t\tthis.wiki.getModificationFields()\n\t\t);\n\tthis.wiki.addTiddler(draftTiddler);\n\treturn draftTiddler;\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nNavigatorWidget.prototype.generateDraftTitle = function(title) {\n\tvar c = 0,\n\t\tdraftTitle;\n\tdo {\n\t\tdraftTitle = \"Draft \" + (c ? (c + 1) + \" \" : \"\") + \"of '\" + title + \"'\";\n\t\tc++;\n\t} while(this.wiki.tiddlerExists(draftTitle));\n\treturn draftTitle;\n};\n\n// Take a tiddler out of edit mode, saving the changes\nNavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList();\n\t// Replace the original tiddler with the draft\n\tif(tiddler) {\n\t\tvar draftTitle = (tiddler.fields[\"draft.title\"] || \"\").trim(),\n\t\t\tdraftOf = (tiddler.fields[\"draft.of\"] || \"\").trim();\n\t\tif(draftTitle) {\n\t\t\tvar isRename = draftOf !== draftTitle,\n\t\t\t\tisConfirmed = true;\n\t\t\tif(isRename && this.wiki.tiddlerExists(draftTitle)) {\n\t\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\t\"ConfirmOverwriteTiddler\",\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{title: draftTitle}\n\t\t\t\t\t}\n\t\t\t\t));\n\t\t\t}\n\t\t\tif(isConfirmed) {\n\t\t\t\t// Create the new tiddler and pass it through the th-saving-tiddler hook\n\t\t\t\tvar newTiddler = new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\ttitle: draftTitle,\n\t\t\t\t\t\"draft.title\": undefined,\n\t\t\t\t\t\"draft.of\": undefined\n\t\t\t\t},this.wiki.getModificationFields());\n\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-saving-tiddler\",newTiddler);\n\t\t\t\tthis.wiki.addTiddler(newTiddler);\n\t\t\t\t// Remove the draft tiddler\n\t\t\t\tthis.wiki.deleteTiddler(title);\n\t\t\t\t// Remove the original tiddler if we're renaming it\n\t\t\t\tif(isRename) {\n\t\t\t\t\tthis.wiki.deleteTiddler(draftOf);\n\t\t\t\t}\n\t\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\t\t// Replace the draft in the story with the original\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\t\t\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\t\t\t\tif(draftTitle !== this.storyTitle) {\n\t\t\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Trigger an autosave\n\t\t\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Take a tiddler out of edit mode without saving the changes\nNavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {\n\t// Flip the specified tiddler from draft back to the original\n\tvar draftTitle = event.param || event.tiddlerTitle,\n\t\tdraftTiddler = this.wiki.getTiddler(draftTitle),\n\t\toriginalTitle = draftTiddler && draftTiddler.fields[\"draft.of\"];\n\tif(draftTiddler && originalTitle) {\n\t\t// Ask for confirmation if the tiddler text has changed\n\t\tvar isConfirmed = true,\n\t\t\toriginalTiddler = this.wiki.getTiddler(originalTitle),\n\t\t\tstoryList = this.getStoryList();\n\t\tif(this.wiki.isDraftModified(draftTitle)) {\n\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\"ConfirmCancelTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: draftTitle}\n\t\t\t\t}\n\t\t\t));\n\t\t}\n\t\t// Remove the draft tiddler\n\t\tif(isConfirmed) {\n\t\t\tthis.wiki.deleteTiddler(draftTitle);\n\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\tif(originalTiddler) {\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);\n\t\t\t\t\tthis.addToHistory(originalTitle,event.navigateFromClientRect);\n\t\t\t\t} else {\n\t\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\t}\n\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Create a new draft tiddler\n// event.param can either be the title of a template tiddler, or a hashmap of fields.\n//\n// The title of the newly created tiddler follows these rules:\n// * If a hashmap was used and a title field was specified, use that title\n// * If a hashmap was used without a title field, use a default title, if necessary making it unique with a numeric suffix\n// * If a template tiddler was used, use the title of the template, if necessary making it unique with a numeric suffix\n//\n// If a draft of the target tiddler already exists then it is reused\nNavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {\n\t// Get the story details\n\tvar storyList = this.getStoryList(),\n\t\ttemplateTiddler, additionalFields, title, draftTitle, existingTiddler;\n\t// Get the template tiddler (if any)\n\tif(typeof event.param === \"string\") {\n\t\t// Get the template tiddler\n\t\ttemplateTiddler = this.wiki.getTiddler(event.param);\n\t\t// Generate a new title\n\t\ttitle = this.wiki.generateNewTitle(event.param || $tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t}\n\t// Get the specified additional fields\n\tif(typeof event.paramObject === \"object\") {\n\t\tadditionalFields = event.paramObject;\n\t}\n\tif(typeof event.param === \"object\") { // Backwards compatibility with 5.1.3\n\t\tadditionalFields = event.param;\n\t}\n\tif(additionalFields && additionalFields.title) {\n\t\ttitle = additionalFields.title;\n\t}\n\t// Generate a title if we don't have one\n\ttitle = title || this.wiki.generateNewTitle($tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t// Find any existing draft for this tiddler\n\tdraftTitle = this.wiki.findDraft(title);\n\t// Pull in any existing tiddler\n\tif(draftTitle) {\n\t\texistingTiddler = this.wiki.getTiddler(draftTitle);\n\t} else {\n\t\tdraftTitle = this.generateDraftTitle(title);\n\t\texistingTiddler = this.wiki.getTiddler(title);\n\t}\n\t// Merge the tags\n\tvar mergedTags = [];\n\tif(existingTiddler && existingTiddler.fields.tags) {\n\t\t$tw.utils.pushTop(mergedTags,existingTiddler.fields.tags)\n\t}\n\tif(additionalFields && additionalFields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));\n\t}\n\tif(templateTiddler && templateTiddler.fields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);\n\t}\n\t// Save the draft tiddler\n\tvar draftTiddler = new $tw.Tiddler({\n\t\t\ttext: \"\",\n\t\t\t\"draft.title\": title\n\t\t},\n\t\ttemplateTiddler,\n\t\texistingTiddler,\n\t\tadditionalFields,\n\t\tthis.wiki.getCreationFields(),\n\t\t{\n\t\t\ttitle: draftTitle,\n\t\t\t\"draft.of\": title,\n\t\t\ttags: mergedTags\n\t\t},this.wiki.getModificationFields());\n\tthis.wiki.addTiddler(draftTiddler);\n\t// Update the story to insert the new draft at the top and remove any existing tiddler\n\tif(storyList.indexOf(draftTitle) === -1) {\n\t\tvar slot = storyList.indexOf(event.navigateFromTitle);\n\t\tstoryList.splice(slot + 1,0,draftTitle);\n\t}\n\tif(storyList.indexOf(title) !== -1) {\n\t\tstoryList.splice(storyList.indexOf(title),1);\t\t\n\t}\n\tthis.saveStoryList(storyList);\n\t// Add a new record to the top of the history stack\n\tthis.addToHistory(draftTitle);\n\treturn false;\n};\n\n// Import JSON tiddlers into a pending import tiddler\nNavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {\n\tvar self = this;\n\t// Get the tiddlers\n\tvar tiddlers = [];\n\ttry {\n\t\ttiddlers = JSON.parse(event.param);\t\n\t} catch(e) {\n\t}\n\t// Get the current $:/Import tiddler\n\tvar importTiddler = this.wiki.getTiddler(IMPORT_TITLE),\n\t\timportData = this.wiki.getTiddlerData(IMPORT_TITLE,{}),\n\t\tnewFields = new Object({\n\t\t\ttitle: IMPORT_TITLE,\n\t\t\ttype: \"application/json\",\n\t\t\t\"plugin-type\": \"import\",\n\t\t\t\"status\": \"pending\"\n\t\t}),\n\t\tincomingTiddlers = [];\n\t// Process each tiddler\n\timportData.tiddlers = importData.tiddlers || {};\n\t$tw.utils.each(tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title) {\n\t\t\tincomingTiddlers.push(title);\n\t\t\timportData.tiddlers[title] = tiddlerFields;\n\t\t}\n\t});\n\t// Give the active upgrader modules a chance to process the incoming tiddlers\n\tvar messages = this.wiki.invokeUpgraders(incomingTiddlers,importData.tiddlers);\n\t$tw.utils.each(messages,function(message,title) {\n\t\tnewFields[\"message-\" + title] = message;\n\t});\n\t// Deselect any suppressed tiddlers\n\t$tw.utils.each(importData.tiddlers,function(tiddler,title) {\n\t\tif($tw.utils.count(tiddler) === 0) {\n\t\t\tnewFields[\"selection-\" + title] = \"unchecked\";\n\t\t}\n\t});\n\t// Save the $:/Import tiddler\n\tnewFields.text = JSON.stringify(importData,null,$tw.config.preferences.jsonSpaces);\n\tthis.wiki.addTiddler(new $tw.Tiddler(importTiddler,newFields));\n\t// Update the story and history details\n\tif(this.getVariable(\"tv-auto-open-on-import\") !== \"no\") {\n\t\tvar storyList = this.getStoryList(),\n\t\t\thistory = [];\n\t\t// Add it to the story\n\t\tif(storyList.indexOf(IMPORT_TITLE) === -1) {\n\t\t\tstoryList.unshift(IMPORT_TITLE);\n\t\t}\n\t\t// And to history\n\t\thistory.push(IMPORT_TITLE);\n\t\t// Save the updated story and history\n\t\tthis.saveStoryList(storyList);\n\t\tthis.addToHistory(history);\t\t\n\t}\n\treturn false;\n};\n\n// \nNavigatorWidget.prototype.handlePerformImportEvent = function(event) {\n\tvar self = this,\n\t\timportTiddler = this.wiki.getTiddler(event.param),\n\t\timportData = this.wiki.getTiddlerDataCached(event.param,{tiddlers: {}}),\n\t\timportReport = [];\n\t// Add the tiddlers to the store\n\timportReport.push($tw.language.getString(\"Import/Imported/Hint\") + \"\\n\");\n\t$tw.utils.each(importData.tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title && importTiddler && importTiddler.fields[\"selection-\" + title] !== \"unchecked\") {\n\t\t\tself.wiki.addTiddler(new $tw.Tiddler(tiddlerFields));\n\t\t\timportReport.push(\"# [[\" + tiddlerFields.title + \"]]\");\n\t\t}\n\t});\n\t// Replace the $:/Import tiddler with an import report\n\tthis.wiki.addTiddler(new $tw.Tiddler({\n\t\ttitle: event.param,\n\t\ttext: importReport.join(\"\\n\"),\n\t\t\"status\": \"complete\"\n\t}));\n\t// Navigate to the $:/Import tiddler\n\tthis.addToHistory([event.param]);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n};\n\nNavigatorWidget.prototype.handleFoldTiddlerEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {};\n\tif(paramObject.foldedState) {\n\t\tvar foldedState = this.wiki.getTiddlerText(paramObject.foldedState,\"show\") === \"show\" ? \"hide\" : \"show\";\n\t\tthis.wiki.setText(paramObject.foldedState,\"text\",null,foldedState);\n\t}\n};\n\nNavigatorWidget.prototype.handleFoldOtherTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,event.param === title ? \"show\" : \"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleFoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleUnfoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"show\");\n\t});\n};\n\nNavigatorWidget.prototype.handleRenameTiddlerEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tfrom = paramObject.from || event.tiddlerTitle,\n\t\tto = paramObject.to;\n\t$tw.wiki.renameTiddler(from,to);\n};\n\nexports.navigator = NavigatorWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/navigator.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/password.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/password.js\ntype: application/javascript\nmodule-type: widget\n\nPassword widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar PasswordWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nPasswordWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nPasswordWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the current password\n\tvar password = $tw.browser ? $tw.utils.getPassword(this.passwordName) || \"\" : \"\";\n\t// Create our element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"password\");\n\tdomNode.setAttribute(\"value\",password);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nPasswordWidget.prototype.handleChangeEvent = function(event) {\n\tvar password = this.domNodes[0].value;\n\treturn $tw.utils.savePassword(this.passwordName,password);\n};\n\n/*\nCompute the internal state of the widget\n*/\nPasswordWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.passwordName = this.getAttribute(\"name\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nPasswordWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.password = PasswordWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/password.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/radio.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/radio.js\ntype: application/javascript\nmodule-type: widget\n\nRadio widget\n\nWill set a field to the selected value:\n\n```\n\t<$radio field=\"myfield\" value=\"check 1\">one</$radio>\n\t<$radio field=\"myfield\" value=\"check 2\">two</$radio>\n\t<$radio field=\"myfield\" value=\"check 3\">three</$radio>\n```\n\n|Parameter |Description |h\n|tiddler |Name of the tiddler in which the field should be set. Defaults to current tiddler |\n|field |The name of the field to be set |\n|value |The value to set |\n|class |Optional class name(s) |\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RadioWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRadioWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRadioWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",this.radioClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"radio\");\n\tif(this.getValue() == this.radioValue) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nRadioWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.radioTitle);\n\treturn tiddler && tiddler.getFieldString(this.radioField);\n};\n\nRadioWidget.prototype.setValue = function() {\n\tif(this.radioField) {\n\t\tvar tiddler = this.wiki.getTiddler(this.radioTitle),\n\t\t\taddition = {};\n\t\taddition[this.radioField] = this.radioValue;\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),{title: this.radioTitle},tiddler,addition,this.wiki.getModificationFields()));\n\t}\n};\n\nRadioWidget.prototype.handleChangeEvent = function(event) {\n\tif(this.inputDomNode.checked) {\n\t\tthis.setValue();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRadioWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.radioTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.radioField = this.getAttribute(\"field\",\"text\");\n\tthis.radioValue = this.getAttribute(\"value\");\n\tthis.radioClass = this.getAttribute(\"class\",\"\");\n\tif(this.radioClass !== \"\") {\n\t\tthis.radioClass += \" \";\n\t}\n\tthis.radioClass += \"tc-radio\";\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRadioWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.value || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.radioTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue() === this.radioValue;\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.radio = RadioWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/radio.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/raw.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/raw.js\ntype: application/javascript\nmodule-type: widget\n\nRaw widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RawWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRawWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRawWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar div = this.document.createElement(\"div\");\n\tdiv.innerHTML=this.parseTreeNode.html;\n\tparent.insertBefore(div,nextSibling);\n\tthis.domNodes.push(div);\t\n};\n\n/*\nCompute the internal state of the widget\n*/\nRawWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRawWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.raw = RawWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/raw.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/reveal.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/reveal.js\ntype: application/javascript\nmodule-type: widget\n\nReveal widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RevealWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRevealWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRevealWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.revealTag && $tw.config.htmlUnsafeElements.indexOf(this.revealTag) === -1) {\n\t\ttag = this.revealTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\tvar classes = this[\"class\"].split(\" \") || [];\n\tclasses.push(\"tc-reveal\");\n\tdomNode.className = classes.join(\" \");\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\t}\n\tif(!this.isOpen) {\n\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t}\n\tthis.domNodes.push(domNode);\n};\n\nRevealWidget.prototype.positionPopup = function(domNode) {\n\tdomNode.style.position = \"absolute\";\n\tdomNode.style.zIndex = \"1000\";\n\tswitch(this.position) {\n\t\tcase \"left\":\n\t\t\tdomNode.style.left = (this.popup.left - domNode.offsetWidth) + \"px\";\n\t\t\tdomNode.style.top = this.popup.top + \"px\";\n\t\t\tbreak;\n\t\tcase \"above\":\n\t\t\tdomNode.style.left = this.popup.left + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top - domNode.offsetHeight) + \"px\";\n\t\t\tbreak;\n\t\tcase \"aboveright\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width) + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height - domNode.offsetHeight) + \"px\";\n\t\t\tbreak;\n\t\tcase \"right\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width) + \"px\";\n\t\t\tdomNode.style.top = this.popup.top + \"px\";\n\t\t\tbreak;\n\t\tcase \"belowleft\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width - domNode.offsetWidth) + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height) + \"px\";\n\t\t\tbreak;\n\t\tdefault: // Below\n\t\t\tdomNode.style.left = this.popup.left + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height) + \"px\";\n\t\t\tbreak;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRevealWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.state = this.getAttribute(\"state\");\n\tthis.revealTag = this.getAttribute(\"tag\");\n\tthis.type = this.getAttribute(\"type\");\n\tthis.text = this.getAttribute(\"text\");\n\tthis.position = this.getAttribute(\"position\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis.style = this.getAttribute(\"style\",\"\");\n\tthis[\"default\"] = this.getAttribute(\"default\",\"\");\n\tthis.animate = this.getAttribute(\"animate\",\"no\");\n\tthis.retain = this.getAttribute(\"retain\",\"no\");\n\tthis.openAnimation = this.animate === \"no\" ? undefined : \"open\";\n\tthis.closeAnimation = this.animate === \"no\" ? undefined : \"close\";\n\t// Compute the title of the state tiddler and read it\n\tthis.stateTitle = this.state;\n\tthis.readState();\n\t// Construct the child widgets\n\tvar childNodes = this.isOpen ? this.parseTreeNode.children : [];\n\tthis.hasChildNodes = this.isOpen;\n\tthis.makeChildWidgets(childNodes);\n};\n\n/*\nRead the state tiddler\n*/\nRevealWidget.prototype.readState = function() {\n\t// Read the information from the state tiddler\n\tvar state = this.stateTitle ? this.wiki.getTextReference(this.stateTitle,this[\"default\"],this.getVariable(\"currentTiddler\")) : this[\"default\"];\n\tswitch(this.type) {\n\t\tcase \"popup\":\n\t\t\tthis.readPopupState(state);\n\t\t\tbreak;\n\t\tcase \"match\":\n\t\t\tthis.readMatchState(state);\n\t\t\tbreak;\n\t\tcase \"nomatch\":\n\t\t\tthis.readMatchState(state);\n\t\t\tthis.isOpen = !this.isOpen;\n\t\t\tbreak;\n\t}\n};\n\nRevealWidget.prototype.readMatchState = function(state) {\n\tthis.isOpen = state === this.text;\n};\n\nRevealWidget.prototype.readPopupState = function(state) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/,\n\t\tmatch = popupLocationRegExp.exec(state);\n\t// Check if the state matches the location regexp\n\tif(match) {\n\t\t// If so, we're open\n\t\tthis.isOpen = true;\n\t\t// Get the location\n\t\tthis.popup = {\n\t\t\tleft: parseFloat(match[1]),\n\t\t\ttop: parseFloat(match[2]),\n\t\t\twidth: parseFloat(match[3]),\n\t\t\theight: parseFloat(match[4])\n\t\t};\n\t} else {\n\t\t// If not, we're closed\n\t\tthis.isOpen = false;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRevealWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.state || changedAttributes.type || changedAttributes.text || changedAttributes.position || changedAttributes[\"default\"] || changedAttributes.animate) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false,\n\t\t\tcurrentlyOpen = this.isOpen;\n\t\tthis.readState();\n\t\tif(this.isOpen !== currentlyOpen) {\n\t\t\tif(this.retain === \"yes\") {\n\t\t\t\tthis.updateState();\n\t\t\t} else {\n\t\t\t\tthis.refreshSelf();\n\t\t\t\trefreshed = true;\n\t\t\t}\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\n/*\nCalled by refresh() to dynamically show or hide the content\n*/\nRevealWidget.prototype.updateState = function() {\n\t// Read the current state\n\tthis.readState();\n\t// Construct the child nodes if needed\n\tvar domNode = this.domNodes[0];\n\tif(this.isOpen && !this.hasChildNodes) {\n\t\tthis.hasChildNodes = true;\n\t\tthis.makeChildWidgets(this.parseTreeNode.children);\n\t\tthis.renderChildren(domNode,null);\n\t}\n\t// Animate our DOM node\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\n\t}\n\tif(this.isOpen) {\n\t\tdomNode.removeAttribute(\"hidden\");\n $tw.anim.perform(this.openAnimation,domNode);\n\t} else {\n\t\t$tw.anim.perform(this.closeAnimation,domNode,{callback: function() {\n\t\t\tdomNode.setAttribute(\"hidden\",\"true\");\n }});\n\t}\n};\n\nexports.reveal = RevealWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/reveal.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/scrollable.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/scrollable.js\ntype: application/javascript\nmodule-type: widget\n\nScrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ScrollableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.scaleFactor = 1;\n\tthis.addEventListeners([\n\t\t{type: \"tm-scroll\", handler: \"handleScrollEvent\"}\n\t]);\n\tif($tw.browser) {\n\t\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\t\twindow.webkitRequestAnimationFrame ||\n\t\t\twindow.mozRequestAnimationFrame ||\n\t\t\tfunction(callback) {\n\t\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t\t};\n\t\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\t\twindow.webkitCancelAnimationFrame ||\n\t\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\t\twindow.mozCancelAnimationFrame ||\n\t\t\twindow.mozCancelRequestAnimationFrame ||\n\t\t\tfunction(id) {\n\t\t\t\twindow.clearTimeout(id);\n\t\t\t};\n\t}\n};\n\n/*\nInherit from the base widget class\n*/\nScrollableWidget.prototype = new Widget();\n\nScrollableWidget.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle a scroll event\n*/\nScrollableWidget.prototype.handleScrollEvent = function(event) {\n\t// Pass the scroll event through if our offsetsize is larger than our scrollsize\n\tif(this.outerDomNode.scrollWidth <= this.outerDomNode.offsetWidth && this.outerDomNode.scrollHeight <= this.outerDomNode.offsetHeight && this.fallthrough === \"yes\") {\n\t\treturn true;\n\t}\n\tthis.scrollIntoView(event.target);\n\treturn false; // Handled event\n};\n\n/*\nScroll an element into view\n*/\nScrollableWidget.prototype.scrollIntoView = function(element) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = {\n\t\tx: this.outerDomNode.scrollLeft,\n\t\ty: this.outerDomNode.scrollTop\n\t};\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar scrollableBounds = this.outerDomNode.getBoundingClientRect(),\n\t\tclientTargetBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientTargetBounds.left + scrollPosition.x - scrollableBounds.left,\n\t\t\ttop: clientTargetBounds.top + scrollPosition.y - scrollableBounds.top,\n\t\t\twidth: clientTargetBounds.width,\n\t\t\theight: clientTargetBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\t// If the target is already visible then stay where we are\n\t\t\tif(targetPos >= currentPos && (targetPos + targetSize) <= (currentPos + currentSize)) {\n\t\t\t\treturn currentPos;\n\t\t\t// If the target is above/left of the current view, then scroll to its top/left\n\t\t\t} else if(targetPos <= currentPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\treturn targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\treturn currentPos;\n\t\t\t}\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,this.outerDomNode.offsetWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,this.outerDomNode.offsetHeight);\n\t// Only scroll if necessary\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tself.outerDomNode.scrollLeft = scrollPosition.x + (endX - scrollPosition.x) * t;\n\t\t\tself.outerDomNode.scrollTop = scrollPosition.y + (endY - scrollPosition.y) * t;\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(window,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nScrollableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create elements\n\tthis.outerDomNode = this.document.createElement(\"div\");\n\t$tw.utils.setStyle(this.outerDomNode,[\n\t\t{overflowY: \"auto\"},\n\t\t{overflowX: \"auto\"},\n\t\t{webkitOverflowScrolling: \"touch\"}\n\t]);\n\tthis.innerDomNode = this.document.createElement(\"div\");\n\tthis.outerDomNode.appendChild(this.innerDomNode);\n\t// Assign classes\n\tthis.outerDomNode.className = this[\"class\"] || \"\";\n\t// Insert element\n\tparent.insertBefore(this.outerDomNode,nextSibling);\n\tthis.renderChildren(this.innerDomNode,null);\n\tthis.domNodes.push(this.outerDomNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nScrollableWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.fallthrough = this.getAttribute(\"fallthrough\",\"yes\");\n\tthis[\"class\"] = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nScrollableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.scrollable = ScrollableWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/scrollable.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/select.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/select.js\ntype: application/javascript\nmodule-type: widget\n\nSelect widget:\n\n```\n<$select tiddler=\"MyTiddler\" field=\"text\">\n<$list filter=\"[tag[chapter]]\">\n<option value=<<currentTiddler>>>\n<$view field=\"description\"/>\n</option>\n</$list>\n</$select>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SelectWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSelectWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSelectWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\tthis.setSelectValue();\n\t$tw.utils.addEventListeners(this.getSelectDomNode(),[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n};\n\n/*\nHandle a change event\n*/\nSelectWidget.prototype.handleChangeEvent = function(event) {\n\t// Get the new value and assign it to the tiddler\n\tif(this.selectMultiple == false) {\n\t\tvar value = this.getSelectDomNode().value;\n\t} else {\n\t\tvar value = this.getSelectValues()\n\t\t\t\tvalue = $tw.utils.stringifyList(value);\n\t}\n\tthis.wiki.setText(this.selectTitle,this.selectField,this.selectIndex,value);\n\t// Trigger actions\n\tif(this.selectActions) {\n\t\tthis.invokeActionString(this.selectActions,this,event);\n\t}\n};\n\n/*\nIf necessary, set the value of the select element to the current value\n*/\nSelectWidget.prototype.setSelectValue = function() {\n\tvar value = this.selectDefault;\n\t// Get the value\n\tif(this.selectIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.selectTitle,this.selectIndex);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.selectTitle);\n\t\tif(tiddler) {\n\t\t\tif(this.selectField === \"text\") {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.selectTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.selectField)) {\n\t\t\t\t\tvalue = tiddler.getFieldString(this.selectField);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.selectField === \"title\") {\n\t\t\t\tvalue = this.selectTitle;\n\t\t\t}\n\t\t}\n\t}\n\t// Assign it to the select element if it's different than the current value\n\tif (this.selectMultiple) {\n\t\tvalue = value === undefined ? \"\" : value;\n\t\tvar select = this.getSelectDomNode();\n\t\tvar values = Array.isArray(value) ? value : $tw.utils.parseStringArray(value);\n\t\tfor(var i=0; i < select.children.length; i++){\n\t\t\tif(values.indexOf(select.children[i].value) != -1) {\n\t\t\t\tselect.children[i].selected = true;\n\t\t\t}\n\t\t}\n\t\t\n\t} else {\n\t\tvar domNode = this.getSelectDomNode();\n\t\tif(domNode.value !== value) {\n\t\t\tdomNode.value = value;\n\t\t}\n\t}\n};\n\n/*\nGet the DOM node of the select element\n*/\nSelectWidget.prototype.getSelectDomNode = function() {\n\treturn this.children[0].domNodes[0];\n};\n\n// Return an array of the selected opion values\n// select is an HTML select element\nSelectWidget.prototype.getSelectValues = function() {\n\tvar select, result, options, opt;\n\tselect = this.getSelectDomNode();\n\tresult = [];\n\toptions = select && select.options;\n\tfor (var i=0; i<options.length; i++) {\n\t\topt = options[i];\n\t\tif (opt.selected) {\n\t\t\tresult.push(opt.value || opt.text);\n\t\t}\n\t}\n\treturn result;\n}\n\n/*\nCompute the internal state of the widget\n*/\nSelectWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.selectActions = this.getAttribute(\"actions\");\n\tthis.selectTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.selectField = this.getAttribute(\"field\",\"text\");\n\tthis.selectIndex = this.getAttribute(\"index\");\n\tthis.selectClass = this.getAttribute(\"class\");\n\tthis.selectDefault = this.getAttribute(\"default\");\n\tthis.selectMultiple = this.getAttribute(\"multiple\", false);\n\tthis.selectSize = this.getAttribute(\"size\");\n\t// Make the child widgets\n\tvar selectNode = {\n\t\ttype: \"element\",\n\t\ttag: \"select\",\n\t\tchildren: this.parseTreeNode.children\n\t};\n\tif(this.selectClass) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"class\",this.selectClass);\n\t}\n\tif(this.selectMultiple) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"multiple\",\"multiple\");\n\t}\n\tif(this.selectSize) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"size\",this.selectSize);\n\t}\n\tthis.makeChildWidgets([selectNode]);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSelectWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// If we're using a different tiddler/field/index then completely refresh ourselves\n\tif(changedAttributes.selectTitle || changedAttributes.selectField || changedAttributes.selectIndex) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t// If the target tiddler value has changed, just update setting and refresh the children\n\t} else {\n\t\tvar childrenRefreshed = this.refreshChildren(changedTiddlers);\n\t\tif(changedTiddlers[this.selectTitle] || childrenRefreshed) {\n\t\t\tthis.setSelectValue();\n\t\t} \n\t\treturn childrenRefreshed;\n\t}\n};\n\nexports.select = SelectWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/select.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/set.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/set.js\ntype: application/javascript\nmodule-type: widget\n\nSet variable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.setName = this.getAttribute(\"name\",\"currentTiddler\");\n\tthis.setFilter = this.getAttribute(\"filter\");\n\tthis.setValue = this.getAttribute(\"value\");\n\tthis.setEmptyValue = this.getAttribute(\"emptyValue\");\n\t// Set context variable\n\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nGet the value to be assigned\n*/\nSetWidget.prototype.getValue = function() {\n\tvar value = this.setValue;\n\tif(this.setFilter) {\n\t\tvar results = this.wiki.filterTiddlers(this.setFilter,this);\n\t\tif(!this.setValue) {\n\t\t\tvalue = $tw.utils.stringifyList(results);\n\t\t}\n\t\tif(results.length === 0 && this.setEmptyValue !== undefined) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t}\n\t} else if(!value && this.setEmptyValue) {\n\t\tvalue = this.setEmptyValue;\n\t}\n\treturn value;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSetWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.filter || changedAttributes.value || changedAttributes.emptyValue ||\n\t (this.setFilter && this.getValue() != this.variables[this.setName].value)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.setvariable = SetWidget;\nexports.set = SetWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/set.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/text.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/text.js\ntype: application/javascript\nmodule-type: widget\n\nText node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTextNodeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar text = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\ttext = text.replace(/\\r/mg,\"\");\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTextNodeWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.text = TextNodeWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/text.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/tiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/tiddler.js\ntype: application/javascript\nmodule-type: widget\n\nTiddler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTiddlerWidget.prototype.execute = function() {\n\tthis.tiddlerState = this.computeTiddlerState();\n\tthis.setVariable(\"currentTiddler\",this.tiddlerState.currentTiddler);\n\tthis.setVariable(\"missingTiddlerClass\",this.tiddlerState.missingTiddlerClass);\n\tthis.setVariable(\"shadowTiddlerClass\",this.tiddlerState.shadowTiddlerClass);\n\tthis.setVariable(\"systemTiddlerClass\",this.tiddlerState.systemTiddlerClass);\n\tthis.setVariable(\"tiddlerTagClasses\",this.tiddlerState.tiddlerTagClasses);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nCompute the tiddler state flags\n*/\nTiddlerWidget.prototype.computeTiddlerState = function() {\n\t// Get our parameters\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Compute the state\n\tvar state = {\n\t\tcurrentTiddler: this.tiddlerTitle || \"\",\n\t\tmissingTiddlerClass: (this.wiki.tiddlerExists(this.tiddlerTitle) || this.wiki.isShadowTiddler(this.tiddlerTitle)) ? \"tc-tiddler-exists\" : \"tc-tiddler-missing\",\n\t\tshadowTiddlerClass: this.wiki.isShadowTiddler(this.tiddlerTitle) ? \"tc-tiddler-shadow\" : \"\",\n\t\tsystemTiddlerClass: this.wiki.isSystemTiddler(this.tiddlerTitle) ? \"tc-tiddler-system\" : \"\",\n\t\ttiddlerTagClasses: this.getTagClasses()\n\t};\n\t// Compute a simple hash to make it easier to detect changes\n\tstate.hash = state.currentTiddler + state.missingTiddlerClass + state.shadowTiddlerClass + state.systemTiddlerClass + state.tiddlerTagClasses;\n\treturn state;\n};\n\n/*\nCreate a string of CSS classes derived from the tags of the current tiddler\n*/\nTiddlerWidget.prototype.getTagClasses = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\tif(tiddler) {\n\t\tvar tags = [];\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\ttags.push(\"tc-tagged-\" + encodeURIComponent(tag));\n\t\t});\n\t\treturn tags.join(\" \");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tnewTiddlerState = this.computeTiddlerState();\n\tif(changedAttributes.tiddler || newTiddlerState.hash !== this.tiddlerState.hash) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.tiddler = TiddlerWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/tiddler.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/transclude.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/transclude.js\ntype: application/javascript\nmodule-type: widget\n\nTransclude widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TranscludeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTranscludeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTranscludeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTranscludeWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.transcludeTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.transcludeSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.transcludeField = this.getAttribute(\"field\");\n\tthis.transcludeIndex = this.getAttribute(\"index\");\n\tthis.transcludeMode = this.getAttribute(\"mode\");\n\t// Parse the text reference\n\tvar parseAsInline = !this.parseTreeNode.isBlock;\n\tif(this.transcludeMode === \"inline\") {\n\t\tparseAsInline = true;\n\t} else if(this.transcludeMode === \"block\") {\n\t\tparseAsInline = false;\n\t}\n\tvar parser = this.wiki.parseTextReference(\n\t\t\t\t\t\tthis.transcludeTitle,\n\t\t\t\t\t\tthis.transcludeField,\n\t\t\t\t\t\tthis.transcludeIndex,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tparseAsInline: parseAsInline,\n\t\t\t\t\t\t\tsubTiddler: this.transcludeSubTiddler\n\t\t\t\t\t\t}),\n\t\tparseTreeNodes = parser ? parser.tree : this.parseTreeNode.children;\n\t// Set context variables for recursion detection\n\tvar recursionMarker = this.makeRecursionMarker();\n\tthis.setVariable(\"transclusion\",recursionMarker);\n\t// Check for recursion\n\tif(parser) {\n\t\tif(this.parentWidget && this.parentWidget.hasVariable(\"transclusion\",recursionMarker)) {\n\t\t\tparseTreeNodes = [{type: \"element\", tag: \"span\", attributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-error\"}\n\t\t\t}, children: [\n\t\t\t\t{type: \"text\", text: $tw.language.getString(\"Error/RecursiveTransclusion\")}\n\t\t\t]}];\n\t\t}\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nCompose a string comprising the title, field and/or index to identify this transclusion for recursion detection\n*/\nTranscludeWidget.prototype.makeRecursionMarker = function() {\n\tvar output = [];\n\toutput.push(\"{\");\n\toutput.push(this.getVariable(\"currentTiddler\",{defaultValue: \"\"}));\n\toutput.push(\"|\");\n\toutput.push(this.transcludeTitle || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeField || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeIndex || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeSubTiddler || \"\");\n\toutput.push(\"}\");\n\treturn output.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTranscludeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedTiddlers[this.transcludeTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.transclude = TranscludeWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/transclude.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/vars.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/vars.js\ntype: application/javascript\nmodule-type: widget\n\nThis widget allows multiple variables to be set in one go:\n\n```\n\\define helloworld() Hello world!\n<$vars greeting=\"Hi\" me={{!!title}} sentence=<<helloworld>>>\n <<greeting>>! I am <<me>> and I say: <<sentence>>\n</$vars>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar VarsWidget = function(parseTreeNode,options) {\n\t// Call the constructor\n\tWidget.call(this);\n\t// Initialise\t\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nVarsWidget.prototype = Object.create(Widget.prototype);\n\n/*\nRender this widget into the DOM\n*/\nVarsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nVarsWidget.prototype.execute = function() {\n\t// Parse variables\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(val,key) {\n\t\tif(key.charAt(0) !== \"$\") {\n\t\t\tself.setVariable(key,val);\n\t\t}\n\t});\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nVarsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"vars\"] = VarsWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/vars.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/view.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/view.js\ntype: application/javascript\nmodule-type: widget\n\nView widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ViewWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nViewWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nViewWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tif(this.text) {\n\t\tvar textNode = this.document.createTextNode(this.text);\n\t\tparent.insertBefore(textNode,nextSibling);\n\t\tthis.domNodes.push(textNode);\n\t} else {\n\t\tthis.makeChildWidgets();\n\t\tthis.renderChildren(parent,nextSibling);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nViewWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.viewTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.viewSubtiddler = this.getAttribute(\"subtiddler\");\n\tthis.viewField = this.getAttribute(\"field\",\"text\");\n\tthis.viewIndex = this.getAttribute(\"index\");\n\tthis.viewFormat = this.getAttribute(\"format\",\"text\");\n\tthis.viewTemplate = this.getAttribute(\"template\",\"\");\n\tswitch(this.viewFormat) {\n\t\tcase \"htmlwikified\":\n\t\t\tthis.text = this.getValueAsHtmlWikified();\n\t\t\tbreak;\n\t\tcase \"plainwikified\":\n\t\t\tthis.text = this.getValueAsPlainWikified();\n\t\t\tbreak;\n\t\tcase \"htmlencodedplainwikified\":\n\t\t\tthis.text = this.getValueAsHtmlEncodedPlainWikified();\n\t\t\tbreak;\n\t\tcase \"htmlencoded\":\n\t\t\tthis.text = this.getValueAsHtmlEncoded();\n\t\t\tbreak;\n\t\tcase \"urlencoded\":\n\t\t\tthis.text = this.getValueAsUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"doubleurlencoded\":\n\t\t\tthis.text = this.getValueAsDoubleUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"date\":\n\t\t\tthis.text = this.getValueAsDate(this.viewTemplate);\n\t\t\tbreak;\n\t\tcase \"relativedate\":\n\t\t\tthis.text = this.getValueAsRelativeDate();\n\t\t\tbreak;\n\t\tcase \"stripcomments\":\n\t\t\tthis.text = this.getValueAsStrippedComments();\n\t\t\tbreak;\n\t\tcase \"jsencoded\":\n\t\t\tthis.text = this.getValueAsJsEncoded();\n\t\t\tbreak;\n\t\tdefault: // \"text\"\n\t\t\tthis.text = this.getValueAsText();\n\t\t\tbreak;\n\t}\n};\n\n/*\nThe various formatter functions are baked into this widget for the moment. Eventually they will be replaced by macro functions\n*/\n\n/*\nRetrieve the value of the widget. Options are:\nasString: Optionally return the value as a string\n*/\nViewWidget.prototype.getValue = function(options) {\n\toptions = options || {};\n\tvar value = options.asString ? \"\" : undefined;\n\tif(this.viewIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.viewTitle,this.viewIndex);\n\t} else {\n\t\tvar tiddler;\n\t\tif(this.viewSubtiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.viewTitle,this.viewSubtiddler);\t\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.viewTitle);\n\t\t}\n\t\tif(tiddler) {\n\t\t\tif(this.viewField === \"text\" && !this.viewSubtiddler) {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.viewTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.viewField)) {\n\t\t\t\t\tif(options.asString) {\n\t\t\t\t\t\tvalue = tiddler.getFieldString(this.viewField);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = tiddler.fields[this.viewField];\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.viewField === \"title\") {\n\t\t\t\tvalue = this.viewTitle;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nViewWidget.prototype.getValueAsText = function() {\n\treturn this.getValue({asString: true});\n};\n\nViewWidget.prototype.getValueAsHtmlWikified = function() {\n\treturn this.wiki.renderText(\"text/html\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{parentWidget: this});\n};\n\nViewWidget.prototype.getValueAsPlainWikified = function() {\n\treturn this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{parentWidget: this});\n};\n\nViewWidget.prototype.getValueAsHtmlEncodedPlainWikified = function() {\n\treturn $tw.utils.htmlEncode(this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{parentWidget: this}));\n};\n\nViewWidget.prototype.getValueAsHtmlEncoded = function() {\n\treturn $tw.utils.htmlEncode(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsUrlEncoded = function() {\n\treturn encodeURIComponent(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsDoubleUrlEncoded = function() {\n\treturn encodeURIComponent(encodeURIComponent(this.getValueAsText()));\n};\n\nViewWidget.prototype.getValueAsDate = function(format) {\n\tformat = format || \"YYYY MM DD 0hh:0mm\";\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.formatDateString(value,format);\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsRelativeDate = function(format) {\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.getRelativeDate((new Date()) - (new Date(value))).description;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsStrippedComments = function() {\n\tvar lines = this.getValueAsText().split(\"\\n\"),\n\t\tout = [];\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar text = lines[line];\n\t\tif(!/^\\s*\\/\\/#/.test(text)) {\n\t\t\tout.push(text);\n\t\t}\n\t}\n\treturn out.join(\"\\n\");\n};\n\nViewWidget.prototype.getValueAsJsEncoded = function() {\n\treturn $tw.utils.stringify(this.getValueAsText());\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nViewWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.template || changedAttributes.format || changedTiddlers[this.viewTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.view = ViewWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/view.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/widget.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/widget.js\ntype: application/javascript\nmodule-type: widget\n\nWidget base class\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate a widget object for a parse tree node\n\tparseTreeNode: reference to the parse tree node to be rendered\n\toptions: see below\nOptions include:\n\twiki: mandatory reference to wiki associated with this render tree\n\tparentWidget: optional reference to a parent renderer node for the context chain\n\tdocument: optional document object to use instead of global document\n*/\nvar Widget = function(parseTreeNode,options) {\n\tif(arguments.length > 0) {\n\t\tthis.initialise(parseTreeNode,options);\n\t}\n};\n\n/*\nInitialise widget properties. These steps are pulled out of the constructor so that we can reuse them in subclasses\n*/\nWidget.prototype.initialise = function(parseTreeNode,options) {\n\toptions = options || {};\n\t// Save widget info\n\tthis.parseTreeNode = parseTreeNode;\n\tthis.wiki = options.wiki;\n\tthis.parentWidget = options.parentWidget;\n\tthis.variablesConstructor = function() {};\n\tthis.variablesConstructor.prototype = this.parentWidget ? this.parentWidget.variables : {};\n\tthis.variables = new this.variablesConstructor();\n\tthis.document = options.document;\n\tthis.attributes = {};\n\tthis.children = [];\n\tthis.domNodes = [];\n\tthis.eventListeners = {};\n\t// Hashmap of the widget classes\n\tif(!this.widgetClasses) {\n\t\tWidget.prototype.widgetClasses = $tw.modules.applyMethods(\"widget\");\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWidget.prototype.execute = function() {\n\tthis.makeChildWidgets();\n};\n\n/*\nSet the value of a context variable\nname: name of the variable\nvalue: value of the variable\nparams: array of {name:, default:} for each parameter\n*/\nWidget.prototype.setVariable = function(name,value,params) {\n\tthis.variables[name] = {value: value, params: params};\n};\n\n/*\nGet the prevailing value of a context variable\nname: name of variable\noptions: see below\nOptions include\nparams: array of {name:, value:} for each parameter\ndefaultValue: default value if the variable is not defined\n*/\nWidget.prototype.getVariable = function(name,options) {\n\toptions = options || {};\n\tvar actualParams = options.params || [],\n\t\tparentWidget = this.parentWidget;\n\t// Check for the variable defined in the parent widget (or an ancestor in the prototype chain)\n\tif(parentWidget && name in parentWidget.variables) {\n\t\tvar variable = parentWidget.variables[name],\n\t\t\tvalue = variable.value;\n\t\t// Substitute any parameters specified in the definition\n\t\tvalue = this.substituteVariableParameters(value,variable.params,actualParams);\n\t\tvalue = this.substituteVariableReferences(value);\n\t\treturn value;\n\t}\n\t// If the variable doesn't exist in the parent widget then look for a macro module\n\treturn this.evaluateMacroModule(name,actualParams,options.defaultValue);\n};\n\nWidget.prototype.substituteVariableParameters = function(text,formalParams,actualParams) {\n\tif(formalParams) {\n\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\tparamInfo, paramValue;\n\t\t// Step through each of the parameters in the macro definition\n\t\tfor(var p=0; p<formalParams.length; p++) {\n\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\tparamInfo = formalParams[p];\n\t\t\tparamValue = undefined;\n\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\tnextAnonParameter++;\n\t\t\t}\n\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t}\n\t\t\t// If we've still not got a value, use the default, if any\n\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t// Replace any instances of this parameter\n\t\t\ttext = text.replace(new RegExp(\"\\\\$\" + $tw.utils.escapeRegExp(paramInfo.name) + \"\\\\$\",\"mg\"),paramValue);\n\t\t}\n\t}\n\treturn text;\n};\n\nWidget.prototype.substituteVariableReferences = function(text) {\n\tvar self = this;\n\treturn (text || \"\").replace(/\\$\\(([^\\)\\$]+)\\)\\$/g,function(match,p1,offset,string) {\n\t\treturn self.getVariable(p1,{defaultValue: \"\"});\n\t});\n};\n\nWidget.prototype.evaluateMacroModule = function(name,actualParams,defaultValue) {\n\tif($tw.utils.hop($tw.macros,name)) {\n\t\tvar macro = $tw.macros[name],\n\t\t\targs = [];\n\t\tif(macro.params.length > 0) {\n\t\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\t\tparamInfo, paramValue;\n\t\t\t// Step through each of the parameters in the macro definition\n\t\t\tfor(var p=0; p<macro.params.length; p++) {\n\t\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\t\tparamInfo = macro.params[p];\n\t\t\t\tparamValue = undefined;\n\t\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\t\tnextAnonParameter++;\n\t\t\t\t}\n\t\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t\t}\n\t\t\t\t// If we've still not got a value, use the default, if any\n\t\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t\t// Save the parameter\n\t\t\t\targs.push(paramValue);\n\t\t\t}\n\t\t}\n\t\telse for(var i=0; i<actualParams.length; ++i) {\n\t\t\targs.push(actualParams[i].value);\n\t\t}\n\t\treturn (macro.run.apply(this,args) || \"\").toString();\n\t} else {\n\t\treturn defaultValue;\n\t}\n};\n\n/*\nCheck whether a given context variable value exists in the parent chain\n*/\nWidget.prototype.hasVariable = function(name,value) {\n\tvar node = this;\n\twhile(node) {\n\t\tif($tw.utils.hop(node.variables,name) && node.variables[name].value === value) {\n\t\t\treturn true;\n\t\t}\n\t\tnode = node.parentWidget;\n\t}\n\treturn false;\n};\n\n/*\nConstruct a qualifying string based on a hash of concatenating the values of a given variable in the parent chain\n*/\nWidget.prototype.getStateQualifier = function(name) {\n\tthis.qualifiers = this.qualifiers || Object.create(null);\n\tname = name || \"transclusion\";\n\tif(this.qualifiers[name]) {\n\t\treturn this.qualifiers[name];\n\t} else {\n\t\tvar output = [],\n\t\t\tnode = this;\n\t\twhile(node && node.parentWidget) {\n\t\t\tif($tw.utils.hop(node.parentWidget.variables,name)) {\n\t\t\t\toutput.push(node.getVariable(name));\n\t\t\t}\n\t\t\tnode = node.parentWidget;\n\t\t}\n\t\tvar value = $tw.utils.hashString(output.join(\"\"));\n\t\tthis.qualifiers[name] = value;\n\t\treturn value;\n\t}\n};\n\n/*\nCompute the current values of the attributes of the widget. Returns a hashmap of the names of the attributes that have changed\n*/\nWidget.prototype.computeAttributes = function() {\n\tvar changedAttributes = {},\n\t\tself = this,\n\t\tvalue;\n\t$tw.utils.each(this.parseTreeNode.attributes,function(attribute,name) {\n\t\tif(attribute.type === \"indirect\") {\n\t\t\tvalue = self.wiki.getTextReference(attribute.textReference,\"\",self.getVariable(\"currentTiddler\"));\n\t\t} else if(attribute.type === \"macro\") {\n\t\t\tvalue = self.getVariable(attribute.value.name,{params: attribute.value.params});\n\t\t} else { // String attribute\n\t\t\tvalue = attribute.value;\n\t\t}\n\t\t// Check whether the attribute has changed\n\t\tif(self.attributes[name] !== value) {\n\t\t\tself.attributes[name] = value;\n\t\t\tchangedAttributes[name] = true;\n\t\t}\n\t});\n\treturn changedAttributes;\n};\n\n/*\nCheck for the presence of an attribute\n*/\nWidget.prototype.hasAttribute = function(name) {\n\treturn $tw.utils.hop(this.attributes,name);\n};\n\n/*\nGet the value of an attribute\n*/\nWidget.prototype.getAttribute = function(name,defaultText) {\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\treturn this.attributes[name];\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nAssign the computed attributes of the widget to a domNode\noptions include:\nexcludeEventAttributes: ignores attributes whose name begins with \"on\"\n*/\nWidget.prototype.assignAttributes = function(domNode,options) {\n\toptions = options || {};\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(v,a) {\n\t\t// Check exclusions\n\t\tif(options.excludeEventAttributes && a.substr(0,2) === \"on\") {\n\t\t\tv = undefined;\n\t\t}\n\t\tif(v !== undefined) {\n\t\t\tvar b = a.split(\":\");\n\t\t\t// Setting certain attributes can cause a DOM error (eg xmlns on the svg element)\n\t\t\ttry {\n\t\t\t\tif (b.length == 2 && b[0] == \"xlink\"){\n\t\t\t\t\tdomNode.setAttributeNS(\"http://www.w3.org/1999/xlink\",b[1],v);\n\t\t\t\t} else {\n\t\t\t\t\tdomNode.setAttributeNS(null,a,v);\n\t\t\t\t}\n\t\t\t} catch(e) {\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nMake child widgets correspondng to specified parseTreeNodes\n*/\nWidget.prototype.makeChildWidgets = function(parseTreeNodes) {\n\tthis.children = [];\n\tvar self = this;\n\t$tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {\n\t\tself.children.push(self.makeChildWidget(childNode));\n\t});\n};\n\n/*\nConstruct the widget object for a parse tree node\n*/\nWidget.prototype.makeChildWidget = function(parseTreeNode) {\n\tvar WidgetClass = this.widgetClasses[parseTreeNode.type];\n\tif(!WidgetClass) {\n\t\tWidgetClass = this.widgetClasses.text;\n\t\tparseTreeNode = {type: \"text\", text: \"Undefined widget '\" + parseTreeNode.type + \"'\"};\n\t}\n\treturn new WidgetClass(parseTreeNode,{\n\t\twiki: this.wiki,\n\t\tvariables: {},\n\t\tparentWidget: this,\n\t\tdocument: this.document\n\t});\n};\n\n/*\nGet the next sibling of this widget\n*/\nWidget.prototype.nextSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index < this.parentWidget.children.length-1) {\n\t\t\treturn this.parentWidget.children[index+1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the previous sibling of this widget\n*/\nWidget.prototype.previousSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index > 0) {\n\t\t\treturn this.parentWidget.children[index-1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRender the children of this widget into the DOM\n*/\nWidget.prototype.renderChildren = function(parent,nextSibling) {\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.render(parent,nextSibling);\n\t});\n};\n\n/*\nAdd a list of event listeners from an array [{type:,handler:},...]\n*/\nWidget.prototype.addEventListeners = function(listeners) {\n\tvar self = this;\n\t$tw.utils.each(listeners,function(listenerInfo) {\n\t\tself.addEventListener(listenerInfo.type,listenerInfo.handler);\n\t});\n};\n\n/*\nAdd an event listener\n*/\nWidget.prototype.addEventListener = function(type,handler) {\n\tvar self = this;\n\tif(typeof handler === \"string\") { // The handler is a method name on this widget\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn self[handler].call(self,event);\n\t\t};\n\t} else { // The handler is a function\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn handler.call(self,event);\n\t\t};\n\t}\n};\n\n/*\nDispatch an event to a widget. If the widget doesn't handle the event then it is also dispatched to the parent widget\n*/\nWidget.prototype.dispatchEvent = function(event) {\n\t// Dispatch the event if this widget handles it\n\tvar listener = this.eventListeners[event.type];\n\tif(listener) {\n\t\t// Don't propagate the event if the listener returned false\n\t\tif(!listener(event)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Dispatch the event to the parent widget\n\tif(this.parentWidget) {\n\t\treturn this.parentWidget.dispatchEvent(event);\n\t}\n\treturn true;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nRebuild a previously rendered widget\n*/\nWidget.prototype.refreshSelf = function() {\n\tvar nextSibling = this.findNextSiblingDomNode();\n\tthis.removeChildDomNodes();\n\tthis.render(this.parentDomNode,nextSibling);\n};\n\n/*\nRefresh all the children of a widget\n*/\nWidget.prototype.refreshChildren = function(changedTiddlers) {\n\tvar self = this,\n\t\trefreshed = false;\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\trefreshed = childWidget.refresh(changedTiddlers) || refreshed;\n\t});\n\treturn refreshed;\n};\n\n/*\nFind the next sibling in the DOM to this widget. This is done by scanning the widget tree through all next siblings and their descendents that share the same parent DOM node\n*/\nWidget.prototype.findNextSiblingDomNode = function(startIndex) {\n\t// Refer to this widget by its index within its parents children\n\tvar parent = this.parentWidget,\n\t\tindex = startIndex !== undefined ? startIndex : parent.children.indexOf(this);\nif(index === -1) {\n\tthrow \"node not found in parents children\";\n}\n\t// Look for a DOM node in the later siblings\n\twhile(++index < parent.children.length) {\n\t\tvar domNode = parent.children[index].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\t// Go back and look for later siblings of our parent if it has the same parent dom node\n\tvar grandParent = parent.parentWidget;\n\tif(grandParent && parent.parentDomNode === this.parentDomNode) {\n\t\tindex = grandParent.children.indexOf(parent);\n\t\tif(index !== -1) {\n\t\t\treturn parent.findNextSiblingDomNode(index);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nFind the first DOM node generated by a widget or its children\n*/\nWidget.prototype.findFirstDomNode = function() {\n\t// Return the first dom node of this widget, if we've got one\n\tif(this.domNodes.length > 0) {\n\t\treturn this.domNodes[0];\n\t}\n\t// Otherwise, recursively call our children\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar domNode = this.children[t].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRemove any DOM nodes created by this widget or its children\n*/\nWidget.prototype.removeChildDomNodes = function() {\n\t// If this widget has directly created DOM nodes, delete them and exit. This assumes that any child widgets are contained within the created DOM nodes, which would normally be the case\n\tif(this.domNodes.length > 0) {\n\t\t$tw.utils.each(this.domNodes,function(domNode) {\n\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t});\n\t\tthis.domNodes = [];\n\t} else {\n\t\t// Otherwise, ask the child widgets to delete their DOM nodes\n\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\tchildWidget.removeChildDomNodes();\n\t\t});\n\t}\n};\n\n/*\nInvoke the action widgets that are descendents of the current widget.\n*/\nWidget.prototype.invokeActions = function(triggeringWidget,event) {\n\tvar handled = false;\n\t// For each child widget\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar child = this.children[t];\n\t\t// Invoke the child if it is an action widget\n\t\tif(child.invokeAction && child.invokeAction(triggeringWidget,event)) {\n\t\t\thandled = true;\n\t\t}\n\t\t// Propagate through through the child if it permits it\n\t\tif(child.allowActionPropagation() && child.invokeActions(triggeringWidget,event)) {\n\t\t\thandled = true;\n\t\t}\n\t}\n\treturn handled;\n};\n\n/*\nInvoke the action widgets defined in a string\n*/\nWidget.prototype.invokeActionString = function(actions,triggeringWidget,event) {\n\tactions = actions || \"\";\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",actions,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document\n\t\t}),\n\t\twidgetNode = this.wiki.makeWidget(parser,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document\n\t\t});\n\tvar container = this.document.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn widgetNode.invokeActions(this,event);\n};\n\nWidget.prototype.allowActionPropagation = function() {\n\treturn true;\n};\n\nexports.widget = Widget;\n\n})();\n",
"title": "$:/core/modules/widgets/widget.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/wikify.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/wikify.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to wikify text into a variable\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar WikifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nWikifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nWikifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWikifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.wikifyName = this.getAttribute(\"name\");\n\tthis.wikifyText = this.getAttribute(\"text\");\n\tthis.wikifyType = this.getAttribute(\"type\");\n\tthis.wikifyMode = this.getAttribute(\"mode\",\"block\");\n\tthis.wikifyOutput = this.getAttribute(\"output\",\"text\");\n\t// Create the parse tree\n\tthis.wikifyParser = this.wiki.parseText(this.wikifyType,this.wikifyText,{\n\t\t\tparseAsInline: this.wikifyMode === \"inline\"\n\t\t});\n\t// Create the widget tree \n\tthis.wikifyWidgetNode = this.wiki.makeWidget(this.wikifyParser,{\n\t\t\tdocument: $tw.fakeDocument,\n\t\t\tparentWidget: this\n\t\t});\n\t// Render the widget tree to the container\n\tthis.wikifyContainer = $tw.fakeDocument.createElement(\"div\");\n\tthis.wikifyWidgetNode.render(this.wikifyContainer,null);\n\tthis.wikifyResult = this.getResult();\n\t// Set context variable\n\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nReturn the result string\n*/\nWikifyWidget.prototype.getResult = function() {\n\tvar result;\n\tswitch(this.wikifyOutput) {\n\t\tcase \"text\":\n\t\t\tresult = this.wikifyContainer.textContent;\n\t\t\tbreak;\n\t\tcase \"html\":\n\t\t\tresult = this.wikifyContainer.innerHTML;\n\t\t\tbreak;\n\t\tcase \"parsetree\":\n\t\t\tresult = JSON.stringify(this.wikifyParser.tree,0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t\tcase \"widgettree\":\n\t\t\tresult = JSON.stringify(this.getWidgetTree(),0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t}\n\treturn result;\n};\n\n/*\nReturn a string of the widget tree\n*/\nWikifyWidget.prototype.getWidgetTree = function() {\n\tvar copyNode = function(widgetNode,resultNode) {\n\t\t\tvar type = widgetNode.parseTreeNode.type;\n\t\t\tresultNode.type = type;\n\t\t\tswitch(type) {\n\t\t\t\tcase \"element\":\n\t\t\t\t\tresultNode.tag = widgetNode.parseTreeNode.tag;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"text\":\n\t\t\t\t\tresultNode.text = widgetNode.parseTreeNode.text;\n\t\t\t\t\tbreak;\t\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.attributes || {}).length > 0) {\n\t\t\t\tresultNode.attributes = {};\n\t\t\t\t$tw.utils.each(widgetNode.attributes,function(attr,attrName) {\n\t\t\t\t\tresultNode.attributes[attrName] = widgetNode.getAttribute(attrName);\n\t\t\t\t});\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.children || {}).length > 0) {\n\t\t\t\tresultNode.children = [];\n\t\t\t\t$tw.utils.each(widgetNode.children,function(widgetChildNode) {\n\t\t\t\t\tvar node = {};\n\t\t\t\t\tresultNode.children.push(node);\n\t\t\t\t\tcopyNode(widgetChildNode,node);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tresults = {};\n\tcopyNode(this.wikifyWidgetNode,results);\n\treturn results;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWikifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh ourselves entirely if any of our attributes have changed\n\tif(changedAttributes.name || changedAttributes.text || changedAttributes.type || changedAttributes.mode || changedAttributes.output) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\t// Refresh the widget tree\n\t\tif(this.wikifyWidgetNode.refresh(changedTiddlers)) {\n\t\t\t// Check if there was any change\n\t\t\tvar result = this.getResult();\n\t\t\tif(result !== this.wikifyResult) {\n\t\t\t\t// If so, save the change\n\t\t\t\tthis.wikifyResult = result;\n\t\t\t\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t\t\t\t// Refresh each of our child widgets\n\t\t\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\t\t\tchildWidget.refreshSelf();\n\t\t\t\t});\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t// Just refresh the children\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.wikify = WikifyWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/wikify.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/wiki-bulkops.js": {
"text": "/*\\\ntitle: $:/core/modules/wiki-bulkops.js\ntype: application/javascript\nmodule-type: wikimethod\n\nBulk tiddler operations such as rename.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRename a tiddler, and relink any tags or lists that reference it.\n*/\nexports.renameTiddler = function(fromTitle,toTitle) {\n\tvar self = this;\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\t// Rename the tiddler itself\n\t\tvar tiddler = this.getTiddler(fromTitle);\n\t\tthis.addTiddler(new $tw.Tiddler(tiddler,{title: toTitle},this.getModificationFields()));\n\t\tthis.deleteTiddler(fromTitle);\n\t\t// Rename any tags or lists that reference it\n\t\tthis.each(function(tiddler,title) {\n\t\t\tvar tags = (tiddler.fields.tags || []).slice(0),\n\t\t\t\tlist = (tiddler.fields.list || []).slice(0),\n\t\t\t\tisModified = false;\n\t\t\t// Rename tags\n\t\t\t$tw.utils.each(tags,function (title,index) {\n\t\t\t\tif(title === fromTitle) {\n\t\t\t\t\ttags[index] = toTitle;\n\t\t\t\t\tisModified = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\t// Rename lists\n\t\t\t$tw.utils.each(list,function (title,index) {\n\t\t\t\tif(title === fromTitle) {\n\t\t\t\t\tlist[index] = toTitle;\n\t\t\t\t\tisModified = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(isModified) {\n\t\t\t\tself.addTiddler(new $tw.Tiddler(tiddler,{tags: tags, list: list},self.getModificationFields()));\n\t\t\t}\n\t\t});\n\t}\n}\n\n})();\n",
"title": "$:/core/modules/wiki-bulkops.js",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/core/modules/wiki.js": {
"text": "/*\\\ntitle: $:/core/modules/wiki.js\ntype: application/javascript\nmodule-type: wikimethod\n\nExtension methods for the $tw.Wiki object\n\nAdds the following properties to the wiki object:\n\n* `eventListeners` is a hashmap by type of arrays of listener functions\n* `changedTiddlers` is a hashmap describing changes to named tiddlers since wiki change events were last dispatched. Each entry is a hashmap containing two fields:\n\tmodified: true/false\n\tdeleted: true/false\n* `changeCount` is a hashmap by tiddler title containing a numerical index that starts at zero and is incremented each time a tiddler is created changed or deleted\n* `caches` is a hashmap by tiddler title containing a further hashmap of named cache objects. Caches are automatically cleared when a tiddler is modified or deleted\n* `globalCache` is a hashmap by cache name of cache objects that are cleared whenever any tiddler change occurs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar USER_NAME_TITLE = \"$:/status/UserName\";\n\n/*\nGet the value of a text reference. Text references can have any of these forms:\n\t<tiddlertitle>\n\t<tiddlertitle>!!<fieldname>\n\t!!<fieldname> - specifies a field of the current tiddlers\n\t<tiddlertitle>##<index>\n*/\nexports.getTextReference = function(textRef,defaultText,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tif(tr.field) {\n\t\tvar tiddler = this.getTiddler(title);\n\t\tif(tr.field === \"title\") { // Special case so we can return the title of a non-existent tiddler\n\t\t\treturn title;\n\t\t} else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\treturn tiddler.getFieldString(tr.field);\n\t\t} else {\n\t\t\treturn defaultText;\n\t\t}\n\t} else if(tr.index) {\n\t\treturn this.extractTiddlerDataItem(title,tr.index,defaultText);\n\t} else {\n\t\treturn this.getTiddlerText(title,defaultText);\n\t}\n};\n\nexports.setTextReference = function(textRef,value,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tthis.setText(title,tr.field,tr.index,value);\n};\n\nexports.setText = function(title,field,index,value,options) {\n\toptions = options || {};\n\tvar creationFields = options.suppressTimestamp ? {} : this.getCreationFields(),\n\t\tmodificationFields = options.suppressTimestamp ? {} : this.getModificationFields();\n\t// Check if it is a reference to a tiddler field\n\tif(index) {\n\t\tvar data = this.getTiddlerData(title,Object.create(null));\n\t\tif(value !== undefined) {\n\t\t\tdata[index] = value;\n\t\t} else {\n\t\t\tdelete data[index];\n\t\t}\n\t\tthis.setTiddlerData(title,data,modificationFields);\n\t} else {\n\t\tvar tiddler = this.getTiddler(title),\n\t\t\tfields = {title: title};\n\t\tfields[field || \"text\"] = value;\n\t\tthis.addTiddler(new $tw.Tiddler(creationFields,tiddler,fields,modificationFields));\n\t}\n};\n\nexports.deleteTextReference = function(textRef,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle,tiddler,fields;\n\t// Check if it is a reference to a tiddler\n\tif(tr.title && !tr.field) {\n\t\tthis.deleteTiddler(tr.title);\n\t// Else check for a field reference\n\t} else if(tr.field) {\n\t\ttitle = tr.title || currTiddlerTitle;\n\t\ttiddler = this.getTiddler(title);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\tfields = Object.create(null);\n\t\t\tfields[tr.field] = undefined;\n\t\t\tthis.addTiddler(new $tw.Tiddler(tiddler,fields,this.getModificationFields()));\n\t\t}\n\t}\n};\n\nexports.addEventListener = function(type,listener) {\n\tthis.eventListeners = this.eventListeners || {};\n\tthis.eventListeners[type] = this.eventListeners[type] || [];\n\tthis.eventListeners[type].push(listener);\t\n};\n\nexports.removeEventListener = function(type,listener) {\n\tvar listeners = this.eventListeners[type];\n\tif(listeners) {\n\t\tvar p = listeners.indexOf(listener);\n\t\tif(p !== -1) {\n\t\t\tlisteners.splice(p,1);\n\t\t}\n\t}\n};\n\nexports.dispatchEvent = function(type /*, args */) {\n\tvar args = Array.prototype.slice.call(arguments,1),\n\t\tlisteners = this.eventListeners[type];\n\tif(listeners) {\n\t\tfor(var p=0; p<listeners.length; p++) {\n\t\t\tvar listener = listeners[p];\n\t\t\tlistener.apply(listener,args);\n\t\t}\n\t}\n};\n\n/*\nCauses a tiddler to be marked as changed, incrementing the change count, and triggers event handlers.\nThis method should be called after the changes it describes have been made to the wiki.tiddlers[] array.\n\ttitle: Title of tiddler\n\tisDeleted: defaults to false (meaning the tiddler has been created or modified),\n\t\ttrue if the tiddler has been deleted\n*/\nexports.enqueueTiddlerEvent = function(title,isDeleted) {\n\t// Record the touch in the list of changed tiddlers\n\tthis.changedTiddlers = this.changedTiddlers || Object.create(null);\n\tthis.changedTiddlers[title] = this.changedTiddlers[title] || Object.create(null);\n\tthis.changedTiddlers[title][isDeleted ? \"deleted\" : \"modified\"] = true;\n\t// Increment the change count\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\tthis.changeCount[title]++;\n\t} else {\n\t\tthis.changeCount[title] = 1;\n\t}\n\t// Trigger events\n\tthis.eventListeners = this.eventListeners || {};\n\tif(!this.eventsTriggered) {\n\t\tvar self = this;\n\t\t$tw.utils.nextTick(function() {\n\t\t\tvar changes = self.changedTiddlers;\n\t\t\tself.changedTiddlers = Object.create(null);\n\t\t\tself.eventsTriggered = false;\n\t\t\tif($tw.utils.count(changes) > 0) {\n\t\t\t\tself.dispatchEvent(\"change\",changes);\n\t\t\t}\n\t\t});\n\t\tthis.eventsTriggered = true;\n\t}\n};\n\nexports.getSizeOfTiddlerEventQueue = function() {\n\treturn $tw.utils.count(this.changedTiddlers);\n};\n\nexports.clearTiddlerEventQueue = function() {\n\tthis.changedTiddlers = Object.create(null);\n\tthis.changeCount = Object.create(null);\n};\n\nexports.getChangeCount = function(title) {\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\treturn this.changeCount[title];\n\t} else {\n\t\treturn 0;\n\t}\n};\n\n/*\nGenerate an unused title from the specified base\n*/\nexports.generateNewTitle = function(baseTitle,options) {\n\toptions = options || {};\n\tvar c = 0,\n\t\ttitle = baseTitle;\n\twhile(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {\n\t\ttitle = baseTitle + \n\t\t\t(options.prefix || \" \") + \n\t\t\t(++c);\n\t}\n\treturn title;\n};\n\nexports.isSystemTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/\") === 0;\n};\n\nexports.isTemporaryTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/temp/\") === 0;\n};\n\nexports.isImageTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\t\t\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.flags.indexOf(\"image\") !== -1;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLike addTiddler() except it will silently reject any plugin tiddlers that are older than the currently loaded version. Returns true if the tiddler was imported\n*/\nexports.importTiddler = function(tiddler) {\n\tvar existingTiddler = this.getTiddler(tiddler.fields.title);\n\t// Check if we're dealing with a plugin\n\tif(tiddler && tiddler.hasField(\"plugin-type\") && tiddler.hasField(\"version\") && existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t// Reject the incoming plugin if it is older\n\t\tif(!$tw.utils.checkVersions(tiddler.fields.version,existingTiddler.fields.version)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Fall through to adding the tiddler\n\tthis.addTiddler(tiddler);\n\treturn true;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is created\n*/\nexports.getCreationFields = function() {\n\tvar fields = {\n\t\t\tcreated: new Date()\n\t\t},\n\t\tcreator = this.getTiddlerText(USER_NAME_TITLE);\n\tif(creator) {\n\t\tfields.creator = creator;\n\t}\n\treturn fields;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is modified\n*/\nexports.getModificationFields = function() {\n\tvar fields = Object.create(null),\n\t\tmodifier = this.getTiddlerText(USER_NAME_TITLE);\n\tfields.modified = new Date();\n\tif(modifier) {\n\t\tfields.modifier = modifier;\n\t}\n\treturn fields;\n};\n\n/*\nReturn a sorted array of tiddler titles. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.getTiddlers = function(options) {\n\toptions = options || Object.create(null);\n\tvar self = this,\n\t\tsortField = options.sortField || \"title\",\n\t\ttiddlers = [], t, titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tif(options.includeSystem || !self.isSystemTiddler(title)) {\n\t\t\tif(!options.excludeTag || !tiddler.hasTag(options.excludeTag)) {\n\t\t\t\ttiddlers.push(tiddler);\n\t\t\t}\n\t\t}\n\t});\n\ttiddlers.sort(function(a,b) {\n\t\tvar aa = a.fields[sortField].toLowerCase() || \"\",\n\t\t\tbb = b.fields[sortField].toLowerCase() || \"\";\n\t\tif(aa < bb) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(aa > bb) {\n\t\t\t\treturn 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n\tfor(t=0; t<tiddlers.length; t++) {\n\t\ttitles.push(tiddlers[t].fields.title);\n\t}\n\treturn titles;\n};\n\nexports.countTiddlers = function(excludeTag) {\n\tvar tiddlers = this.getTiddlers({excludeTag: excludeTag});\n\treturn $tw.utils.count(tiddlers);\n};\n\n/*\nReturns a function iterator(callback) that iterates through the specified titles, and invokes the callback with callback(tiddler,title)\n*/\nexports.makeTiddlerIterator = function(titles) {\n\tvar self = this;\n\tif(!$tw.utils.isArray(titles)) {\n\t\ttitles = Object.keys(titles);\n\t} else {\n\t\ttitles = titles.slice(0);\n\t}\n\treturn function(callback) {\n\t\ttitles.forEach(function(title) {\n\t\t\tcallback(self.getTiddler(title),title);\n\t\t});\n\t};\n};\n\n/*\nSort an array of tiddler titles by a specified field\n\ttitles: array of titles (sorted in place)\n\tsortField: name of field to sort by\n\tisDescending: true if the sort should be descending\n\tisCaseSensitive: true if the sort should consider upper and lower case letters to be different\n*/\nexports.sortTiddlers = function(titles,sortField,isDescending,isCaseSensitive,isNumeric) {\n\tvar self = this;\n\ttitles.sort(function(a,b) {\n\t\tvar x,y,\n\t\t\tcompareNumbers = function(x,y) {\n\t\t\t\tvar result = \n\t\t\t\t\tisNaN(x) && !isNaN(y) ? (isDescending ? -1 : 1) :\n\t\t\t\t\t!isNaN(x) && isNaN(y) ? (isDescending ? 1 : -1) :\n\t\t\t\t\t (isDescending ? y - x : x - y);\n\t\t\t\treturn result;\n\t\t\t};\n\t\tif(sortField !== \"title\") {\n\t\t\tvar tiddlerA = self.getTiddler(a),\n\t\t\t\ttiddlerB = self.getTiddler(b);\n\t\t\tif(tiddlerA) {\n\t\t\t\ta = tiddlerA.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\ta = \"\";\n\t\t\t}\n\t\t\tif(tiddlerB) {\n\t\t\t\tb = tiddlerB.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\tb = \"\";\n\t\t\t}\n\t\t}\n\t\tx = Number(a);\n\t\ty = Number(b);\n\t\tif(isNumeric && (!isNaN(x) || !isNaN(y))) {\n\t\t\treturn compareNumbers(x,y);\n\t\t} else if($tw.utils.isDate(a) && $tw.utils.isDate(b)) {\n\t\t\treturn isDescending ? b - a : a - b;\n\t\t} else {\n\t\t\ta = String(a);\n\t\t\tb = String(b);\n\t\t\tif(!isCaseSensitive) {\n\t\t\t\ta = a.toLowerCase();\n\t\t\t\tb = b.toLowerCase();\n\t\t\t}\n\t\t\treturn isDescending ? b.localeCompare(a) : a.localeCompare(b);\n\t\t}\n\t});\n};\n\n/*\nFor every tiddler invoke a callback(title,tiddler) with `this` set to the wiki object. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.forEachTiddler = function(/* [options,]callback */) {\n\tvar arg = 0,\n\t\toptions = arguments.length >= 2 ? arguments[arg++] : {},\n\t\tcallback = arguments[arg++],\n\t\ttitles = this.getTiddlers(options),\n\t\tt, tiddler;\n\tfor(t=0; t<titles.length; t++) {\n\t\ttiddler = this.getTiddler(titles[t]);\n\t\tif(tiddler) {\n\t\t\tcallback.call(this,tiddler.fields.title,tiddler);\n\t\t}\n\t}\n};\n\n/*\nReturn an array of tiddler titles that are directly linked from the specified tiddler\n*/\nexports.getTiddlerLinks = function(title) {\n\tvar self = this;\n\t// We'll cache the links so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"links\",function() {\n\t\t// Parse the tiddler\n\t\tvar parser = self.parseTiddler(title);\n\t\t// Count up the links\n\t\tvar links = [],\n\t\t\tcheckParseTree = function(parseTree) {\n\t\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\t\tif(parseTreeNode.type === \"link\" && parseTreeNode.attributes.to && parseTreeNode.attributes.to.type === \"string\") {\n\t\t\t\t\t\tvar value = parseTreeNode.attributes.to.value;\n\t\t\t\t\t\tif(links.indexOf(value) === -1) {\n\t\t\t\t\t\t\tlinks.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\t\tcheckParseTree(parseTreeNode.children);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\tif(parser) {\n\t\t\tcheckParseTree(parser.tree);\n\t\t}\n\t\treturn links;\n\t});\n};\n\n/*\nReturn an array of tiddler titles that link to the specified tiddler\n*/\nexports.getTiddlerBacklinks = function(targetTitle) {\n\tvar self = this,\n\t\tbacklinks = [];\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\tif(links.indexOf(targetTitle) !== -1) {\n\t\t\tbacklinks.push(title);\n\t\t}\n\t});\n\treturn backlinks;\n};\n\n/*\nReturn a hashmap of tiddler titles that are referenced but not defined. Each value is the number of times the missing tiddler is referenced\n*/\nexports.getMissingTitles = function() {\n\tvar self = this,\n\t\tmissing = [];\n// We should cache the missing tiddler list, even if we recreate it every time any tiddler is modified\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tif((!self.tiddlerExists(link) && !self.isShadowTiddler(link)) && missing.indexOf(link) === -1) {\n\t\t\t\tmissing.push(link);\n\t\t\t}\n\t\t});\n\t});\n\treturn missing;\n};\n\nexports.getOrphanTitles = function() {\n\tvar self = this,\n\t\torphans = this.getTiddlers();\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tvar p = orphans.indexOf(link);\n\t\t\tif(p !== -1) {\n\t\t\t\torphans.splice(p,1);\n\t\t\t}\n\t\t});\n\t});\n\treturn orphans; // Todo\n};\n\n/*\nRetrieves a list of the tiddler titles that are tagged with a given tag\n*/\nexports.getTiddlersWithTag = function(tag) {\n\tvar self = this;\n\treturn this.getGlobalCache(\"taglist-\" + tag,function() {\n\t\tvar tagmap = self.getTagMap();\n\t\treturn self.sortByList(tagmap[tag],tag);\n\t});\n};\n\n/*\nGet a hashmap by tag of arrays of tiddler titles\n*/\nexports.getTagMap = function() {\n\tvar self = this;\n\treturn this.getGlobalCache(\"tagmap\",function() {\n\t\tvar tags = Object.create(null),\n\t\t\tstoreTags = function(tagArray,title) {\n\t\t\t\tif(tagArray) {\n\t\t\t\t\tfor(var index=0; index<tagArray.length; index++) {\n\t\t\t\t\t\tvar tag = tagArray[index];\n\t\t\t\t\t\tif($tw.utils.hop(tags,tag)) {\n\t\t\t\t\t\t\ttags[tag].push(title);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttags[tag] = [title];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttitle, tiddler;\n\t\t// Collect up all the tags\n\t\tself.eachShadow(function(tiddler,title) {\n\t\t\tif(!self.tiddlerExists(title)) {\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t\t}\n\t\t});\n\t\tself.each(function(tiddler,title) {\n\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t});\n\t\treturn tags;\n\t});\n};\n\n/*\nLookup a given tiddler and return a list of all the tiddlers that include it in the specified list field\n*/\nexports.findListingsOfTiddler = function(targetTitle,fieldName) {\n\tfieldName = fieldName || \"list\";\n\tvar titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tvar list = $tw.utils.parseStringArray(tiddler.fields[fieldName]);\n\t\tif(list && list.indexOf(targetTitle) !== -1) {\n\t\t\ttitles.push(title);\n\t\t}\n\t});\n\treturn titles;\n};\n\n/*\nSorts an array of tiddler titles according to an ordered list\n*/\nexports.sortByList = function(array,listTitle) {\n\tvar list = this.getTiddlerList(listTitle);\n\tif(!array || array.length === 0) {\n\t\treturn [];\n\t} else {\n\t\tvar titles = [], t, title;\n\t\t// First place any entries that are present in the list\n\t\tfor(t=0; t<list.length; t++) {\n\t\t\ttitle = list[t];\n\t\t\tif(array.indexOf(title) !== -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Then place any remaining entries\n\t\tfor(t=0; t<array.length; t++) {\n\t\t\ttitle = array[t];\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Finally obey the list-before and list-after fields of each tiddler in turn\n\t\tvar sortedTitles = titles.slice(0);\n\t\tfor(t=0; t<sortedTitles.length; t++) {\n\t\t\ttitle = sortedTitles[t];\n\t\t\tvar currPos = titles.indexOf(title),\n\t\t\t\tnewPos = -1,\n\t\t\t\ttiddler = this.getTiddler(title);\n\t\t\tif(tiddler) {\n\t\t\t\tvar beforeTitle = tiddler.fields[\"list-before\"],\n\t\t\t\t\tafterTitle = tiddler.fields[\"list-after\"];\n\t\t\t\tif(beforeTitle === \"\") {\n\t\t\t\t\tnewPos = 0;\n\t\t\t\t} else if(beforeTitle) {\n\t\t\t\t\tnewPos = titles.indexOf(beforeTitle);\n\t\t\t\t} else if(afterTitle) {\n\t\t\t\t\tnewPos = titles.indexOf(afterTitle);\n\t\t\t\t\tif(newPos >= 0) {\n\t\t\t\t\t\t++newPos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(newPos === -1) {\n\t\t\t\t\tnewPos = currPos;\n\t\t\t\t}\n\t\t\t\tif(newPos !== currPos) {\n\t\t\t\t\ttitles.splice(currPos,1);\n\t\t\t\t\tif(newPos >= currPos) {\n\t\t\t\t\t\tnewPos--;\n\t\t\t\t\t}\n\t\t\t\t\ttitles.splice(newPos,0,title);\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\treturn titles;\n\t}\n};\n\nexports.getSubTiddler = function(title,subTiddlerTitle) {\n\tvar bundleInfo = this.getPluginInfo(title) || this.getTiddlerDataCached(title);\n\tif(bundleInfo && bundleInfo.tiddlers) {\n\t\tvar subTiddler = bundleInfo.tiddlers[subTiddlerTitle];\n\t\tif(subTiddler) {\n\t\t\treturn new $tw.Tiddler(subTiddler);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRetrieve a tiddler as a JSON string of the fields\n*/\nexports.getTiddlerAsJson = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar fields = Object.create(null);\n\t\t$tw.utils.each(tiddler.fields,function(value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\treturn JSON.stringify(fields);\n\t} else {\n\t\treturn JSON.stringify({title: title});\n\t}\n};\n\n/*\nGet the content of a tiddler as a JavaScript object. How this is done depends on the type of the tiddler:\n\napplication/json: the tiddler JSON is parsed into an object\napplication/x-tiddler-dictionary: the tiddler is parsed as sequence of name:value pairs\n\nOther types currently just return null.\n\ntitleOrTiddler: string tiddler title or a tiddler object\ndefaultData: default data to be returned if the tiddler is missing or doesn't contain data\n\nNote that the same value is returned for repeated calls for the same tiddler data. The value is frozen to prevent modification; otherwise modifications would be visible to all callers\n*/\nexports.getTiddlerDataCached = function(titleOrTiddler,defaultData) {\n\tvar self = this,\n\t\ttiddler = titleOrTiddler;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler) {\n\t\treturn this.getCacheForTiddler(tiddler.fields.title,\"data\",function() {\n\t\t\t// Return the frozen value\n\t\t\tvar value = self.getTiddlerData(tiddler.fields.title,defaultData);\n\t\t\t$tw.utils.deepFreeze(value);\n\t\t\treturn value;\n\t\t});\n\t} else {\n\t\treturn defaultData;\n\t}\n};\n\n/*\nAlternative, uncached version of getTiddlerDataCached(). The return value can be mutated freely and reused\n*/\nexports.getTiddlerData = function(titleOrTiddler,defaultData) {\n\tvar tiddler = titleOrTiddler,\n\t\tdata;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler && tiddler.fields.text) {\n\t\tswitch(tiddler.fields.type) {\n\t\t\tcase \"application/json\":\n\t\t\t\t// JSON tiddler\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse(tiddler.fields.text);\n\t\t\t\t} catch(ex) {\n\t\t\t\t\treturn defaultData;\n\t\t\t\t}\n\t\t\t\treturn data;\n\t\t\tcase \"application/x-tiddler-dictionary\":\n\t\t\t\treturn $tw.utils.parseFields(tiddler.fields.text);\n\t\t}\n\t}\n\treturn defaultData;\n};\n\n/*\nExtract an indexed field from within a data tiddler\n*/\nexports.extractTiddlerDataItem = function(titleOrTiddler,index,defaultText) {\n\tvar data = this.getTiddlerData(titleOrTiddler,Object.create(null)),\n\t\ttext;\n\tif(data && $tw.utils.hop(data,index)) {\n\t\ttext = data[index];\n\t}\n\tif(typeof text === \"string\" || typeof text === \"number\") {\n\t\treturn text.toString();\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nSet a tiddlers content to a JavaScript object. Currently this is done by setting the tiddler's type to \"application/json\" and setting the text to the JSON text of the data.\ntitle: title of tiddler\ndata: object that can be serialised to JSON\nfields: optional hashmap of additional tiddler fields to be set\n*/\nexports.setTiddlerData = function(title,data,fields) {\n\tvar existingTiddler = this.getTiddler(title),\n\t\tnewFields = {\n\t\t\ttitle: title\n\t};\n\tif(existingTiddler && existingTiddler.fields.type === \"application/x-tiddler-dictionary\") {\n\t\tnewFields.text = $tw.utils.makeTiddlerDictionary(data);\n\t} else {\n\t\tnewFields.type = \"application/json\";\n\t\tnewFields.text = JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n\t}\n\tthis.addTiddler(new $tw.Tiddler(this.getCreationFields(),existingTiddler,fields,newFields,this.getModificationFields()));\n};\n\n/*\nReturn the content of a tiddler as an array containing each line\n*/\nexports.getTiddlerList = function(title,field,index) {\n\tif(index) {\n\t\treturn $tw.utils.parseStringArray(this.extractTiddlerDataItem(title,index,\"\"));\n\t}\n\tfield = field || \"list\";\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\treturn ($tw.utils.parseStringArray(tiddler.fields[field]) || []).slice(0);\n\t}\n\treturn [];\n};\n\n// Return a named global cache object. Global cache objects are cleared whenever a tiddler change occurs\nexports.getGlobalCache = function(cacheName,initializer) {\n\tthis.globalCache = this.globalCache || Object.create(null);\n\tif($tw.utils.hop(this.globalCache,cacheName)) {\n\t\treturn this.globalCache[cacheName];\n\t} else {\n\t\tthis.globalCache[cacheName] = initializer();\n\t\treturn this.globalCache[cacheName];\n\t}\n};\n\nexports.clearGlobalCache = function() {\n\tthis.globalCache = Object.create(null);\n};\n\n// Return the named cache object for a tiddler. If the cache doesn't exist then the initializer function is invoked to create it\nexports.getCacheForTiddler = function(title,cacheName,initializer) {\n\tthis.caches = this.caches || Object.create(null);\n\tvar caches = this.caches[title];\n\tif(caches && caches[cacheName]) {\n\t\treturn caches[cacheName];\n\t} else {\n\t\tif(!caches) {\n\t\t\tcaches = Object.create(null);\n\t\t\tthis.caches[title] = caches;\n\t\t}\n\t\tcaches[cacheName] = initializer();\n\t\treturn caches[cacheName];\n\t}\n};\n\n// Clear all caches associated with a particular tiddler, or, if the title is null, clear all the caches for all the tiddlers\nexports.clearCache = function(title) {\n\tif(title) {\n\t\tthis.caches = this.caches || Object.create(null);\n\t\tif($tw.utils.hop(this.caches,title)) {\n\t\t\tdelete this.caches[title];\n\t\t}\n\t} else {\n\t\tthis.caches = Object.create(null);\n\t}\n};\n\nexports.initParsers = function(moduleType) {\n\t// Install the parser modules\n\t$tw.Wiki.parsers = {};\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(\"parser\",function(title,module) {\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\t$tw.Wiki.parsers[f] = module[f]; // Store the parser class\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nParse a block of text of a specified MIME type\n\ttype: content type of text to be parsed\n\ttext: text\n\toptions: see below\nOptions include:\n\tparseAsInline: if true, the text of the tiddler will be parsed as an inline run\n\t_canonical_uri: optional string of the canonical URI of this content\n*/\nexports.parseText = function(type,text,options) {\n\ttext = text || \"\";\n\toptions = options || {};\n\t// Select a parser\n\tvar Parser = $tw.Wiki.parsers[type];\n\tif(!Parser && $tw.utils.getFileExtensionInfo(type)) {\n\t\tParser = $tw.Wiki.parsers[$tw.utils.getFileExtensionInfo(type).type];\n\t}\n\tif(!Parser) {\n\t\tParser = $tw.Wiki.parsers[options.defaultType || \"text/vnd.tiddlywiki\"];\n\t}\n\tif(!Parser) {\n\t\treturn null;\n\t}\n\t// Return the parser instance\n\treturn new Parser(type,text,{\n\t\tparseAsInline: options.parseAsInline,\n\t\twiki: this,\n\t\t_canonical_uri: options._canonical_uri\n\t});\n};\n\n/*\nParse a tiddler according to its MIME type\n*/\nexports.parseTiddler = function(title,options) {\n\toptions = $tw.utils.extend({},options);\n\tvar cacheType = options.parseAsInline ? \"inlineParseTree\" : \"blockParseTree\",\n\t\ttiddler = this.getTiddler(title),\n\t\tself = this;\n\treturn tiddler ? this.getCacheForTiddler(title,cacheType,function() {\n\t\t\tif(tiddler.hasField(\"_canonical_uri\")) {\n\t\t\t\toptions._canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t}\n\t\t\treturn self.parseText(tiddler.fields.type,tiddler.fields.text,options);\n\t\t}) : null;\n};\n\nexports.parseTextReference = function(title,field,index,options) {\n\tvar tiddler,text;\n\tif(options.subTiddler) {\n\t\ttiddler = this.getSubTiddler(title,options.subTiddler);\n\t} else {\n\t\ttiddler = this.getTiddler(title);\n\t\tif(field === \"text\" || (!field && !index)) {\n\t\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\t\treturn this.parseTiddler(title,options);\n\t\t}\n\t}\n\tif(field === \"text\" || (!field && !index)) {\n\t\tif(tiddler && tiddler.fields) {\n\t\t\treturn this.parseText(tiddler.fields.type || \"text/vnd.tiddlywiki\",tiddler.fields.text,options);\t\t\t\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t} else if(field) {\n\t\tif(field === \"title\") {\n\t\t\ttext = title;\n\t\t} else {\n\t\t\tif(!tiddler || !tiddler.hasField(field)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttext = tiddler.fields[field];\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text.toString(),options);\n\t} else if(index) {\n\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\ttext = this.extractTiddlerDataItem(tiddler,index,undefined);\n\t\tif(text === undefined) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text,options);\n\t}\n};\n\n/*\nMake a widget tree for a parse tree\nparser: parser object\noptions: see below\nOptions include:\ndocument: optional document to use\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.makeWidget = function(parser,options) {\n\toptions = options || {};\n\tvar widgetNode = {\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},\n\t\tcurrWidgetNode = widgetNode;\n\t// Create set variable widgets for each variable\n\t$tw.utils.each(options.variables,function(value,name) {\n\t\tvar setVariableWidget = {\n\t\t\ttype: \"set\",\n\t\t\tattributes: {\n\t\t\t\tname: {type: \"string\", value: name},\n\t\t\t\tvalue: {type: \"string\", value: value}\n\t\t\t},\n\t\t\tchildren: []\n\t\t};\n\t\tcurrWidgetNode.children = [setVariableWidget];\n\t\tcurrWidgetNode = setVariableWidget;\n\t});\n\t// Add in the supplied parse tree nodes\n\tcurrWidgetNode.children = parser ? parser.tree : [];\n\t// Create the widget\n\treturn new widget.widget(widgetNode,{\n\t\twiki: this,\n\t\tdocument: options.document || $tw.fakeDocument,\n\t\tparentWidget: options.parentWidget\n\t});\n};\n\n/*\nMake a widget tree for transclusion\ntitle: target tiddler title\noptions: as for wiki.makeWidget() plus:\noptions.field: optional field to transclude (defaults to \"text\")\noptions.mode: transclusion mode \"inline\" or \"block\"\noptions.children: optional array of children for the transclude widget\n*/\nexports.makeTranscludeWidget = function(title,options) {\n\toptions = options || {};\n\tvar parseTree = {tree: [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"div\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"transclude\",\n\t\t\t\tattributes: {\n\t\t\t\t\ttiddler: {\n\t\t\t\t\t\tname: \"tiddler\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tvalue: title}},\n\t\t\t\tisBlock: !options.parseAsInline}]}\n\t]};\n\tif(options.field) {\n\t\tparseTree.tree[0].children[0].attributes.field = {type: \"string\", value: options.field};\n\t}\n\tif(options.mode) {\n\t\tparseTree.tree[0].children[0].attributes.mode = {type: \"string\", value: options.mode};\n\t}\n\tif(options.children) {\n\t\tparseTree.tree[0].children[0].children = options.children;\n\t}\n\treturn $tw.wiki.makeWidget(parseTree,options);\n};\n\n/*\nParse text in a specified format and render it into another format\n\toutputType: content type for the output\n\ttextType: content type of the input text\n\ttext: input text\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderText = function(outputType,textType,text,options) {\n\toptions = options || {};\n\tvar parser = this.parseText(textType,text,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : container.textContent;\n};\n\n/*\nParse text from a tiddler and render it into another format\n\toutputType: content type for the output\n\ttitle: title of the tiddler to be rendered\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderTiddler = function(outputType,title,options) {\n\toptions = options || {};\n\tvar parser = this.parseTiddler(title,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : (outputType === \"text/plain-formatted\" ? container.formattedTextContent : container.textContent);\n};\n\n/*\nReturn an array of tiddler titles that match a search string\n\ttext: The text string to search for\n\toptions: see below\nOptions available:\n\tsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\n\texclude: An array of tiddler titles to exclude from the search\n\tinvert: If true returns tiddlers that do not contain the specified string\n\tcaseSensitive: If true forces a case sensitive search\n\tliteral: If true, searches for literal string, rather than separate search terms\n\tfield: If specified, restricts the search to the specified field\n*/\nexports.search = function(text,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tt,\n\t\tinvert = !!options.invert;\n\t// Convert the search string into a regexp for each term\n\tvar terms, searchTermsRegExps,\n\t\tflags = options.caseSensitive ? \"\" : \"i\";\n\tif(options.literal) {\n\t\tif(text.length === 0) {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + $tw.utils.escapeRegExp(text) + \")\",flags)];\n\t\t}\n\t} else {\n\t\tterms = text.split(/ +/);\n\t\tif(terms.length === 1 && terms[0] === \"\") {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [];\n\t\t\tfor(t=0; t<terms.length; t++) {\n\t\t\t\tsearchTermsRegExps.push(new RegExp(\"(\" + $tw.utils.escapeRegExp(terms[t]) + \")\",flags));\n\t\t\t}\n\t\t}\n\t}\n\t// Function to check a given tiddler for the search term\n\tvar searchTiddler = function(title) {\n\t\tif(!searchTermsRegExps) {\n\t\t\treturn true;\n\t\t}\n\t\tvar tiddler = self.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\ttiddler = new $tw.Tiddler({title: title, text: \"\", type: \"text/vnd.tiddlywiki\"});\n\t\t}\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type] || $tw.config.contentTypeInfo[\"text/vnd.tiddlywiki\"],\n\t\t\tmatch;\n\t\tfor(var t=0; t<searchTermsRegExps.length; t++) {\n\t\t\tmatch = false;\n\t\t\tif(options.field) {\n\t\t\t\tmatch = searchTermsRegExps[t].test(tiddler.getFieldString(options.field));\n\t\t\t} else {\n\t\t\t\t// Search title, tags and body\n\t\t\t\tif(contentTypeInfo.encoding === \"utf8\") {\n\t\t\t\t\tmatch = match || searchTermsRegExps[t].test(tiddler.fields.text);\n\t\t\t\t}\n\t\t\t\tvar tags = tiddler.fields.tags ? tiddler.fields.tags.join(\"\\0\") : \"\";\n\t\t\t\tmatch = match || searchTermsRegExps[t].test(tags) || searchTermsRegExps[t].test(tiddler.fields.title);\n\t\t\t}\n\t\t\tif(!match) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t};\n\t// Loop through all the tiddlers doing the search\n\tvar results = [],\n\t\tsource = options.source || this.each;\n\tsource(function(tiddler,title) {\n\t\tif(searchTiddler(title) !== options.invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\t// Remove any of the results we have to exclude\n\tif(options.exclude) {\n\t\tfor(t=0; t<options.exclude.length; t++) {\n\t\t\tvar p = results.indexOf(options.exclude[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tresults.splice(p,1);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\nTrigger a load for a tiddler if it is skinny. Returns the text, or undefined if the tiddler is missing, null if the tiddler is being lazily loaded.\n*/\nexports.getTiddlerText = function(title,defaultText) {\n\tvar tiddler = this.getTiddler(title);\n\t// Return undefined if the tiddler isn't found\n\tif(!tiddler) {\n\t\treturn defaultText;\n\t}\n\tif(tiddler.fields.text !== undefined) {\n\t\t// Just return the text if we've got it\n\t\treturn tiddler.fields.text;\n\t} else {\n\t\t// Tell any listeners about the need to lazily load this tiddler\n\t\tthis.dispatchEvent(\"lazyLoad\",title);\n\t\t// Indicate that the text is being loaded\n\t\treturn null;\n\t}\n};\n\n/*\nRead an array of browser File objects, invoking callback(tiddlerFieldsArray) once they're all read\n*/\nexports.readFiles = function(files,callback) {\n\tvar result = [],\n\t\toutstanding = files.length;\n\tfor(var f=0; f<files.length; f++) {\n\t\tthis.readFile(files[f],function(tiddlerFieldsArray) {\n\t\t\tresult.push.apply(result,tiddlerFieldsArray);\n\t\t\tif(--outstanding === 0) {\n\t\t\t\tcallback(result);\n\t\t\t}\n\t\t});\n\t}\n\treturn files.length;\n};\n\n/*\nRead a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFile = function(file,callback) {\n\t// Get the type, falling back to the filename extension\n\tvar self = this,\n\t\ttype = file.type;\n\tif(type === \"\" || !type) {\n\t\tvar dotPos = file.name.lastIndexOf(\".\");\n\t\tif(dotPos !== -1) {\n\t\t\tvar fileExtensionInfo = $tw.utils.getFileExtensionInfo(file.name.substr(dotPos));\n\t\t\tif(fileExtensionInfo) {\n\t\t\t\ttype = fileExtensionInfo.type;\n\t\t\t}\n\t\t}\n\t}\n\t// Figure out if we're reading a binary file\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[type],\n\t\tisBinary = contentTypeInfo ? contentTypeInfo.encoding === \"base64\" : false;\n\t// Log some debugging information\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Importing file '\" + file.name + \"', type: '\" + type + \"', isBinary: \" + isBinary);\n\t}\n\t// Create the FileReader\n\tvar reader = new FileReader();\n\t// Onload\n\treader.onload = function(event) {\n\t\t// Deserialise the file contents\n\t\tvar text = event.target.result,\n\t\t\ttiddlerFields = {title: file.name || \"Untitled\", type: type};\n\t\t// Are we binary?\n\t\tif(isBinary) {\n\t\t\t// The base64 section starts after the first comma in the data URI\n\t\t\tvar commaPos = text.indexOf(\",\");\n\t\t\tif(commaPos !== -1) {\n\t\t\t\ttiddlerFields.text = text.substr(commaPos+1);\n\t\t\t\tcallback([tiddlerFields]);\n\t\t\t}\n\t\t} else {\n\t\t\t// Check whether this is an encrypted TiddlyWiki file\n\t\t\tvar encryptedJson = $tw.utils.extractEncryptedStoreArea(text);\n\t\t\tif(encryptedJson) {\n\t\t\t\t// If so, attempt to decrypt it with the current password\n\t\t\t\t$tw.utils.decryptStoreAreaInteractive(encryptedJson,function(tiddlers) {\n\t\t\t\t\tcallback(tiddlers);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// Otherwise, just try to deserialise any tiddlers in the file\n\t\t\t\tcallback(self.deserializeTiddlers(type,text,tiddlerFields));\n\t\t\t}\n\t\t}\n\t};\n\t// Kick off the read\n\tif(isBinary) {\n\t\treader.readAsDataURL(file);\n\t} else {\n\t\treader.readAsText(file);\n\t}\n};\n\n/*\nFind any existing draft of a specified tiddler\n*/\nexports.findDraft = function(targetTitle) {\n\tvar draftTitle = undefined;\n\tthis.forEachTiddler({includeSystem: true},function(title,tiddler) {\n\t\tif(tiddler.fields[\"draft.title\"] && tiddler.fields[\"draft.of\"] === targetTitle) {\n\t\t\tdraftTitle = title;\n\t\t}\n\t});\n\treturn draftTitle;\n}\n\n/*\nCheck whether the specified draft tiddler has been modified.\nIf the original tiddler doesn't exist, create a vanilla tiddler variable,\nto check if additional fields have been added.\n*/\nexports.isDraftModified = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(!tiddler.isDraft()) {\n\t\treturn false;\n\t}\n\tvar ignoredFields = [\"created\", \"modified\", \"title\", \"draft.title\", \"draft.of\"],\n\t\torigTiddler = this.getTiddler(tiddler.fields[\"draft.of\"]) || new $tw.Tiddler({text:\"\", tags:[]}),\n\t\ttitleModified = tiddler.fields[\"draft.title\"] !== tiddler.fields[\"draft.of\"];\n\treturn titleModified || !tiddler.isEqual(origTiddler,ignoredFields);\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\nhistoryTitle: title of history tiddler (defaults to $:/HistoryList)\n*/\nexports.addToHistory = function(title,fromPageRect,historyTitle) {\n\tvar story = new $tw.Story({wiki: this, historyTitle: historyTitle});\n\tstory.addToHistory(title,fromPageRect);\n};\n\n/*\nInvoke the available upgrader modules\ntitles: array of tiddler titles to be processed\ntiddlers: hashmap by title of tiddler fields of pending import tiddlers. These can be modified by the upgraders. An entry with no fields indicates a tiddler that was pending import has been suppressed. When entries are added to the pending import the tiddlers hashmap may have entries that are not present in the titles array\nReturns a hashmap of messages keyed by tiddler title.\n*/\nexports.invokeUpgraders = function(titles,tiddlers) {\n\t// Collect up the available upgrader modules\n\tvar self = this;\n\tif(!this.upgraderModules) {\n\t\tthis.upgraderModules = [];\n\t\t$tw.modules.forEachModuleOfType(\"upgrader\",function(title,module) {\n\t\t\tif(module.upgrade) {\n\t\t\t\tself.upgraderModules.push(module);\n\t\t\t}\n\t\t});\n\t}\n\t// Invoke each upgrader in turn\n\tvar messages = {};\n\tfor(var t=0; t<this.upgraderModules.length; t++) {\n\t\tvar upgrader = this.upgraderModules[t],\n\t\t\tupgraderMessages = upgrader.upgrade(this,titles,tiddlers);\n\t\t$tw.utils.extend(messages,upgraderMessages);\n\t}\n\treturn messages;\n};\n\n})();\n",
"title": "$:/core/modules/wiki.js",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/palettes/Blanca": {
"title": "$:/palettes/Blanca",
"name": "Blanca",
"description": "A clean white palette to let you focus",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #66cccc\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ffffff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #7897f3\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ccc\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #ffffff\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #7897f3\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #eeeeee\ntab-border-selected: #cccccc\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffeedd\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: #eee\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #ff9900\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Blue": {
"title": "$:/palettes/Blue",
"name": "Blue",
"description": "A blue theme",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333353\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ddddff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #5959c0\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: #ccccdd\ntab-border-selected: #ccccdd\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #eeeeff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #666666\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #ffffff\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #ffffff\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #5959c0\ntoolbar-new-button: #5eb95e\ntoolbar-options-button: rgb(128, 88, 165)\ntoolbar-save-button: #0e90d2\ntoolbar-info-button: #0e90d2\ntoolbar-edit-button: rgb(243, 123, 29)\ntoolbar-close-button: #dd514c\ntoolbar-delete-button: #dd514c\ntoolbar-cancel-button: rgb(243, 123, 29)\ntoolbar-done-button: #5eb95e\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Muted": {
"title": "$:/palettes/Muted",
"name": "Muted",
"description": "Bright tiddlers on a muted background",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #6f6f70\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #29a6ee\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #c2c1c2\nsidebar-foreground-shadow: rgba(255,255,255,0)\nsidebar-foreground: #d3d2d4\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #6f6f70\nsidebar-tab-background: #666667\nsidebar-tab-border-selected: #999\nsidebar-tab-border: #515151\nsidebar-tab-divider: #999\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: #999\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #d1d0d2\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #d5ad34\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/ContrastLight": {
"title": "$:/palettes/ContrastLight",
"name": "Contrast (Light)",
"description": "High contrast and unambiguous (light version)",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #000\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #000\ntag-foreground: #fff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"
},
"$:/palettes/ContrastDark": {
"title": "$:/palettes/ContrastDark",
"name": "Contrast (Dark)",
"description": "High contrast and unambiguous (dark version)",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #000\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #fff\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #fff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"
},
"$:/palettes/DarkPhotos": {
"created": "20150402111612188",
"description": "Good with dark photo backgrounds",
"modified": "20150402112344080",
"name": "DarkPhotos",
"tags": "$:/tags/Palette",
"title": "$:/palettes/DarkPhotos",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: \nbutton-foreground: \nbutton-border: \ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #ddd\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #336438\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #ccf\nsidebar-controls-foreground: #fff\nsidebar-foreground-shadow: rgba(0,0,0, 0.5)\nsidebar-foreground: #fff\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #eee\nsidebar-tab-background-selected: rgba(255,255,255, 0.8)\nsidebar-tab-background: rgba(255,255,255, 0.4)\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: rgba(255,255,255, 0.2)\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #aaf\nsidebar-tiddler-link-foreground: #ddf\nsite-title-foreground: #fff\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Rocker": {
"title": "$:/palettes/Rocker",
"name": "Rocker",
"description": "A dark theme",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #000\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #cc0000\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.0)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #000\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #ffbb99\nsidebar-tiddler-link-foreground: #cc0000\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffbb99\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #cc0000\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/SolarFlare": {
"title": "$:/palettes/SolarFlare",
"name": "Solar Flare",
"description": "Warm, relaxing earth colours",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": ": Background Tones\n\nbase03: #002b36\nbase02: #073642\n\n: Content Tones\n\nbase01: #586e75\nbase00: #657b83\nbase0: #839496\nbase1: #93a1a1\n\n: Background Tones\n\nbase2: #eee8d5\nbase3: #fdf6e3\n\n: Accent Colors\n\nyellow: #b58900\norange: #cb4b16\nred: #dc322f\nmagenta: #d33682\nviolet: #6c71c4\nblue: #268bd2\ncyan: #2aa198\ngreen: #859900\n\n: Additional Tones (RA)\n\nbase10: #c0c4bb\nviolet-muted: #7c81b0\nblue-muted: #4e7baa\n\nyellow-hot: #ffcc44\norange-hot: #eb6d20\nred-hot: #ff2222\nblue-hot: #2298ee\ngreen-hot: #98ee22\n\n: Palette\n\n: Do not use colour macro for background and foreground\nbackground: #fdf6e3\n download-foreground: <<colour background>>\n dragger-foreground: <<colour background>>\n dropdown-background: <<colour background>>\n modal-background: <<colour background>>\n sidebar-foreground-shadow: <<colour background>>\n tiddler-background: <<colour background>>\n tiddler-border: <<colour background>>\n tiddler-link-background: <<colour background>>\n tab-background-selected: <<colour background>>\n dropdown-tab-background-selected: <<colour tab-background-selected>>\nforeground: #657b83\n dragger-background: <<colour foreground>>\n tab-foreground: <<colour foreground>>\n tab-foreground-selected: <<colour tab-foreground>>\n sidebar-tab-foreground-selected: <<colour tab-foreground-selected>>\n sidebar-tab-foreground: <<colour tab-foreground>>\n sidebar-button-foreground: <<colour foreground>>\n sidebar-controls-foreground: <<colour foreground>>\n sidebar-foreground: <<colour foreground>>\n: base03\n: base02\n: base01\n alert-muted-foreground: <<colour base01>>\n: base00\n code-foreground: <<colour base00>>\n message-foreground: <<colour base00>>\n tag-foreground: <<colour base00>>\n: base0\n sidebar-tiddler-link-foreground: <<colour base0>>\n: base1\n muted-foreground: <<colour base1>>\n blockquote-bar: <<colour muted-foreground>>\n dropdown-border: <<colour muted-foreground>>\n sidebar-muted-foreground: <<colour muted-foreground>>\n tiddler-title-foreground: <<colour muted-foreground>>\n site-title-foreground: <<colour tiddler-title-foreground>>\n: base2\n modal-footer-background: <<colour base2>>\n page-background: <<colour base2>>\n modal-backdrop: <<colour page-background>>\n notification-background: <<colour page-background>>\n code-background: <<colour page-background>>\n code-border: <<colour code-background>>\n pre-background: <<colour page-background>>\n pre-border: <<colour pre-background>>\n sidebar-tab-background-selected: <<colour page-background>>\n table-header-background: <<colour base2>>\n tag-background: <<colour base2>>\n tiddler-editor-background: <<colour base2>>\n tiddler-info-background: <<colour base2>>\n tiddler-info-tab-background: <<colour base2>>\n tab-background: <<colour base2>>\n dropdown-tab-background: <<colour tab-background>>\n: base3\n alert-background: <<colour base3>>\n message-background: <<colour base3>>\n: yellow\n: orange\n: red\n: magenta\n alert-highlight: <<colour magenta>>\n: violet\n external-link-foreground: <<colour violet>>\n: blue\n: cyan\n: green\n: base10\n tiddler-controls-foreground: <<colour base10>>\n: violet-muted\n external-link-foreground-visited: <<colour violet-muted>>\n: blue-muted\n primary: <<colour blue-muted>>\n download-background: <<colour primary>>\n tiddler-link-foreground: <<colour primary>>\n\nalert-border: #b99e2f\ndirty-indicator: #ff0000\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nmessage-border: #cfd6e6\nmodal-border: #999999\nsidebar-controls-foreground-hover:\nsidebar-muted-foreground-hover:\nsidebar-tab-background: #ded8c5\nsidebar-tiddler-link-foreground-hover:\nstatic-alert-foreground: #aaaaaa\ntab-border: #cccccc\n modal-footer-border: <<colour tab-border>>\n modal-header-border: <<colour tab-border>>\n notification-border: <<colour tab-border>>\n sidebar-tab-border: <<colour tab-border>>\n tab-border-selected: <<colour tab-border>>\n sidebar-tab-border-selected: <<colour tab-border-selected>>\ntab-divider: #d8d8d8\n sidebar-tab-divider: <<colour tab-divider>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-border: #dddddd\ntiddler-subtitle-foreground: #c0c0c0\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Vanilla": {
"title": "$:/palettes/Vanilla",
"name": "Vanilla",
"description": "Pale and unobtrusive",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #f4f4f4\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #aaaaaa\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #f4f4f4\nsidebar-tab-background: #e0e0e0\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: #e4e4e4\nsidebar-tab-foreground-selected:\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #999999\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/core/readme": {
"title": "$:/core/readme",
"text": "This plugin contains TiddlyWiki's core components, comprising:\n\n* JavaScript code modules\n* Icons\n* Templates needed to create TiddlyWiki's user interface\n* British English (''en-GB'') translations of the localisable strings used by the core\n"
},
"$:/core/templates/MOTW.html": {
"title": "$:/core/templates/MOTW.html",
"text": "\\rules only filteredtranscludeinline transcludeinline entity\n<!-- The following comment is called a MOTW comment and is necessary for the TiddlyIE Internet Explorer extension -->\n<!-- saved from url=(0021)http://tiddlywiki.com --> "
},
"$:/core/templates/alltiddlers.template.html": {
"title": "$:/core/templates/alltiddlers.template.html",
"type": "text/vnd.tiddlywiki-html",
"text": "<!-- This template is provided for backwards compatibility with older versions of TiddlyWiki -->\n\n<$set name=\"exportFilter\" value=\"[!is[system]sort[title]]\">\n\n{{$:/core/templates/exporters/StaticRiver}}\n\n</$set>\n"
},
"$:/core/templates/canonical-uri-external-image": {
"title": "$:/core/templates/canonical-uri-external-image",
"text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external images.\n\nChange the `./images/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./images/<$view field=\"title\" format=\"doubleurlencoded\"/>"
},
"$:/core/templates/canonical-uri-external-text": {
"title": "$:/core/templates/canonical-uri-external-text",
"text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external text files.\n\nChange the `./text/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./text/<$view field=\"title\" format=\"doubleurlencoded\"/>.tid"
},
"$:/core/templates/css-tiddler": {
"title": "$:/core/templates/css-tiddler",
"text": "<!--\n\nThis template is used for saving CSS tiddlers as a style tag with data attributes representing the tiddler fields.\n\n-->`<style`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/css\">`<$view field=\"text\" format=\"text\" />`</style>`"
},
"$:/core/templates/exporters/CsvFile": {
"title": "$:/core/templates/exporters/CsvFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/CsvFile}}",
"extension": ".csv",
"text": "\\define renderContent()\n<$text text=<<csvtiddlers filter:\"\"\"$(exportFilter)$\"\"\" format:\"quoted-comma-sep\">>/>\n\\end\n<<renderContent>>\n"
},
"$:/core/templates/exporters/JsonFile": {
"title": "$:/core/templates/exporters/JsonFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/JsonFile}}",
"extension": ".json",
"text": "\\define renderContent()\n<$text text=<<jsontiddlers filter:\"\"\"$(exportFilter)$\"\"\">>/>\n\\end\n<<renderContent>>\n"
},
"$:/core/templates/exporters/StaticRiver": {
"title": "$:/core/templates/exporters/StaticRiver",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/StaticRiver}}",
"extension": ".html",
"text": "\\define tv-wikilink-template() #$uri_encoded$\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n<section class=\"tc-story-river\">\n{{$:/core/templates/exporters/StaticRiver/Content||$:/core/templates/html-tiddler}}\n</section>\n</body>\n</html>\n"
},
"$:/core/templates/exporters/StaticRiver/Content": {
"title": "$:/core/templates/exporters/StaticRiver/Content",
"text": "\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/static-tiddler}}}\n\\end\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n<<renderContent>>\n</$importvariables>\n"
},
"$:/core/templates/exporters/TidFile": {
"title": "$:/core/templates/exporters/TidFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/TidFile}}",
"extension": ".tid",
"text": "\\define renderContent()\n{{{ $(exportFilter)$ +[limit[1]] ||$:/core/templates/tid-tiddler}}}\n\\end\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\"><<renderContent>></$importvariables>"
},
"$:/core/templates/html-div-tiddler": {
"title": "$:/core/templates/html-div-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as an HTML DIV tag with attributes representing the tiddler fields.\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre>`<$view field=\"text\" format=\"htmlencoded\" />`</pre>\n</div>`\n"
},
"$:/core/templates/html-tiddler": {
"title": "$:/core/templates/html-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as raw HTML\n\n--><$view field=\"text\" format=\"htmlwikified\" />"
},
"$:/core/templates/javascript-tiddler": {
"title": "$:/core/templates/javascript-tiddler",
"text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields.\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\">`<$view field=\"text\" format=\"text\" />`</script>`"
},
"$:/core/templates/module-tiddler": {
"title": "$:/core/templates/module-tiddler",
"text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields. The body of the tiddler is wrapped in a call to the `$tw.modules.define` function in order to define the body of the tiddler as a module\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\" data-module=\"yes\">$tw.modules.define(\"`<$view field=\"title\" format=\"jsencoded\" />`\",\"`<$view field=\"module-type\" format=\"jsencoded\" />`\",function(module,exports,require) {`<$view field=\"text\" format=\"text\" />`});\n</script>`"
},
"$:/core/templates/plain-text-tiddler": {
"title": "$:/core/templates/plain-text-tiddler",
"text": "<$view field=\"text\" format=\"text\" />"
},
"$:/core/templates/raw-static-tiddler": {
"title": "$:/core/templates/raw-static-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as static HTML\n\n--><$view field=\"text\" format=\"plainwikified\" />"
},
"$:/core/save/all": {
"title": "$:/core/save/all",
"text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/empty": {
"title": "$:/core/save/empty",
"text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/lazy-all": {
"title": "$:/core/save/lazy-all",
"text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] \n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/lazy-images": {
"title": "$:/core/save/lazy-images",
"text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[!is[system]is[image]] +[sort[title]] \n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/templates/single.tiddler.window": {
"title": "$:/core/templates/single.tiddler.window",
"text": "<$set name=\"themeTitle\" value={{$:/view}}>\n\n<$set name=\"tempCurrentTiddler\" value=<<currentTiddler>>>\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$set name=\"currentTiddler\" value=<<tempCurrentTiddler>>>\n\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n\n<$transclude mode=\"block\"/>\n\n</$navigator>\n\n</$importvariables>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n"
},
"$:/core/templates/split-recipe": {
"title": "$:/core/templates/split-recipe",
"text": "<$list filter=\"[!is[system]]\">\ntiddler: <$view field=\"title\" format=\"urlencoded\"/>.tid\n</$list>\n"
},
"$:/core/templates/static-tiddler": {
"title": "$:/core/templates/static-tiddler",
"text": "<a name=<<currentTiddler>>>\n<$transclude tiddler=\"$:/core/ui/ViewTemplate\"/>\n</a>"
},
"$:/core/templates/static.area": {
"title": "$:/core/templates/static.area",
"text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawStaticContent]!has[draft.of]] ||$:/core/templates/raw-static-tiddler}}}\n{{$:/core/templates/static.content||$:/core/templates/html-tiddler}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\nThis file contains an encrypted ~TiddlyWiki. Enable ~JavaScript and enter the decryption password when prompted.\n</$reveal>\n"
},
"$:/core/templates/static.content": {
"title": "$:/core/templates/static.content",
"type": "text/vnd.tiddlywiki",
"text": "<!-- For Google, and people without JavaScript-->\nThis [[TiddlyWiki|http://tiddlywiki.com]] contains the following tiddlers:\n\n<ul>\n<$list filter=<<saveTiddlerFilter>>>\n<li><$view field=\"title\" format=\"text\"></$view></li>\n</$list>\n</ul>\n"
},
"$:/core/templates/static.template.css": {
"title": "$:/core/templates/static.template.css",
"text": "{{$:/boot/boot.css||$:/core/templates/plain-text-tiddler}}\n\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n"
},
"$:/core/templates/static.template.html": {
"title": "$:/core/templates/static.template.html",
"type": "text/vnd.tiddlywiki-html",
"text": "\\define tv-wikilink-template() static/$uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n{{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}}\n</body>\n</html>\n"
},
"$:/core/templates/static.tiddler.html": {
"title": "$:/core/templates/static.tiddler.html",
"text": "\\define tv-wikilink-template() $uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n`<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"static.css\">\n<title>`<$view field=\"caption\"><$view field=\"title\"/></$view>: {{$:/core/wiki/title}}`</title>\n</head>\n<body class=\"tc-body\">\n`{{$:/StaticBanner||$:/core/templates/html-tiddler}}`\n<section class=\"tc-story-river\">\n`<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n<$view tiddler=\"$:/core/ui/ViewTemplate\" format=\"htmlwikified\"/>\n</$importvariables>`\n</section>\n</body>\n</html>\n`"
},
"$:/core/templates/store.area.template.html": {
"title": "$:/core/templates/store.area.template.html",
"text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n`<div id=\"storeArea\" style=\"display:none;\">`\n<$list filter=<<saveTiddlerFilter>> template=\"$:/core/templates/html-div-tiddler\"/>\n`</div>`\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n`<!--~~ Encrypted tiddlers ~~-->`\n`<pre id=\"encryptedStoreArea\" type=\"text/plain\" style=\"display:none;\">`\n<$encrypt filter=<<saveTiddlerFilter>>/>\n`</pre>`\n</$reveal>"
},
"$:/core/templates/tid-tiddler": {
"title": "$:/core/templates/tid-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers in TiddlyWeb *.tid format\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>`\n`<$view field=\"text\" format=\"text\" />"
},
"$:/core/templates/tiddler-metadata": {
"title": "$:/core/templates/tiddler-metadata",
"text": "<!--\n\nThis template is used for saving tiddler metadata *.meta files\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>"
},
"$:/core/templates/tiddlywiki5.html": {
"title": "$:/core/templates/tiddlywiki5.html",
"text": "\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n{{$:/core/templates/MOTW.html}}<html>\n<head>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\t\t<!-- Force IE standards mode for Intranet and HTA - should be the first meta -->\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"{{$:/core/copyright.txt}}\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/core/wiki/rawmarkup]] [all[shadows+tiddlers]tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n</head>\n<body class=\"tc-body\">\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n{{$:/core/templates/static.area}}\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n{{$:/core/templates/store.area.template.html}}\n<!--~~ Library modules ~~-->\n<div id=\"libraryModules\" style=\"display:none;\">\n{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}\n</div>\n<!--~~ Boot kernel prologue ~~-->\n<div id=\"bootKernelPrefix\" style=\"display:none;\">\n{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}\n</div>\n<!--~~ Boot kernel ~~-->\n<div id=\"bootKernel\" style=\"display:none;\">\n{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}\n</div>\n</body>\n</html>\n"
},
"$:/core/templates/version": {
"title": "$:/core/templates/version",
"text": "<<version>>"
},
"$:/core/templates/wikified-tiddler": {
"title": "$:/core/templates/wikified-tiddler",
"text": "<$transclude />"
},
"$:/core/ui/AboveStory/tw2-plugin-check": {
"title": "$:/core/ui/AboveStory/tw2-plugin-check",
"tags": "$:/tags/AboveStory",
"text": "\\define lingo-base() $:/language/AboveStory/ClassicPlugin/\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]limit[1]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n<ul>\n\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]limit[1]]\">\n\n<li>\n\n<$link><$view field=\"title\"/></$link>\n\n</li>\n\n</$list>\n\n</ul>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/AdvancedSearch/Filter": {
"title": "$:/core/ui/AdvancedSearch/Filter",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Filter/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<<lingo Filter/Hint>>\n\n<div class=\"tc-search tc-advanced-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]\"><$transclude/></$list>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\n<div class=\"tc-search-results\">\n<<lingo Filter/Matches>>\n<$list filter={{$:/temp/advancedsearch}} template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$set>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button popup=<<qualify \"$:/state/filterDeleteDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/delete-button}}\n</$button>\n</$reveal>\n\n<$reveal state=<<qualify \"$:/state/filterDeleteDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\nAre you sure you wish to delete <<resultCount>> tiddler(s)?\n</$set>\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn\">\n<$action-deletetiddler $filter={{$:/temp/advancedsearch}}/>\nDelete these tiddlers\n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/filterDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</span>\n\n<$reveal state=<<qualify \"$:/state/filterDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Filter]]\"><$link to={{!!filter}}><$transclude field=\"description\"/></$link>\n</$list>\n</div>\n</div>\n</$linkcatcher>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/export": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/export",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$macrocall $name=\"exportButton\" exportFilter={{$:/temp/advancedsearch}} lingoBase=\"$:/language/Buttons/ExportTiddlers/\"/>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Shadows": {
"title": "$:/core/ui/AdvancedSearch/Shadows",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Shadows/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Shadows/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo Shadows/Matches>>\n\n<$list filter=\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Standard": {
"title": "$:/core/ui/AdvancedSearch/Standard",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Standard/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Standard/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$set name=\"searchTiddler\" value=\"$:/temp/advancedsearch\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude/>\n</$list>\n\"\"\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n</$list>\n</$set>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/System": {
"title": "$:/core/ui/AdvancedSearch/System",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/System/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo System/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo System/Matches>>\n\n<$list filter=\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
},
"$:/AdvancedSearch": {
"title": "$:/AdvancedSearch",
"icon": "$:/core/images/advanced-search-button",
"color": "#bbb",
"text": "<div class=\"tc-advanced-search\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\" \"$:/core/ui/AdvancedSearch/System\">>\n</div>\n"
},
"$:/core/ui/AlertTemplate": {
"title": "$:/core/ui/AlertTemplate",
"text": "<div class=\"tc-alert\">\n<div class=\"tc-alert-toolbar\">\n<$button class=\"tc-btn-invisible\"><$action-deletetiddler $tiddler=<<currentTiddler>>/>{{$:/core/images/delete-button}}</$button>\n</div>\n<div class=\"tc-alert-subtitle\">\n<$view field=\"component\"/> - <$view field=\"modified\" format=\"date\" template=\"0hh:0mm:0ss DD MM YYYY\"/> <$reveal type=\"nomatch\" state=\"!!count\" text=\"\"><span class=\"tc-alert-highlight\">({{$:/language/Count}}: <$view field=\"count\"/>)</span></$reveal>\n</div>\n<div class=\"tc-alert-body\">\n\n<$transclude/>\n\n</div>\n</div>\n"
},
"$:/core/ui/BinaryWarning": {
"title": "$:/core/ui/BinaryWarning",
"text": "\\define lingo-base() $:/language/BinaryWarning/\n<div class=\"tc-binary-warning\">\n\n<<lingo Prompt>>\n\n</div>\n"
},
"$:/core/ui/Components/tag-link": {
"title": "$:/core/ui/Components/tag-link",
"text": "<$link>\n<$set name=\"backgroundColor\" value={{!!color}}>\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\"/>\n</span>\n</$set>\n</$link>"
},
"$:/core/ui/ControlPanel/Advanced": {
"title": "$:/core/ui/ControlPanel/Advanced",
"tags": "$:/tags/ControlPanel/Info",
"caption": "{{$:/language/ControlPanel/Advanced/Caption}}",
"text": "{{$:/language/ControlPanel/Advanced/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Advanced]!has[draft.of]]\" \"$:/core/ui/ControlPanel/TiddlerFields\">>\n</div>\n"
},
"$:/core/ui/ControlPanel/Appearance": {
"title": "$:/core/ui/ControlPanel/Appearance",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Appearance/Caption}}",
"text": "{{$:/language/ControlPanel/Appearance/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Appearance]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Theme\">>\n</div>\n"
},
"$:/core/ui/ControlPanel/Basics": {
"title": "$:/core/ui/ControlPanel/Basics",
"tags": "$:/tags/ControlPanel/Info",
"caption": "{{$:/language/ControlPanel/Basics/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\n\n\\define show-filter-count(filter)\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $value=\"\"\"$filter$\"\"\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1498284803\" $value=\"$:/core/ui/AdvancedSearch/Filter\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n''<$count filter=\"\"\"$filter$\"\"\"/>''\n{{$:/core/images/advanced-search-button}}\n</$button>\n\\end\n\n|<<lingo Version/Prompt>> |''<<version>>'' |\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/status/UserName\"><<lingo Username/Prompt>></$link> |<$edit-text tiddler=\"$:/status/UserName\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/AnimationDuration\"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler=\"$:/config/AnimationDuration\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\" class=\"tc-edit-texteditor\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n|<$link to=\"$:/config/NewJournal/Title\"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Title\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Tags\"><<lingo NewJournal/Tags/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Tags\" default=\"\" tag=\"input\"/> |\n|<<lingo Language/Prompt>> |{{$:/snippets/minilanguageswitcher}} |\n|<<lingo Tiddlers/Prompt>> |<<show-filter-count \"[!is[system]sort[title]]\">> |\n|<<lingo Tags/Prompt>> |<<show-filter-count \"[tags[]sort[title]]\">> |\n|<<lingo SystemTiddlers/Prompt>> |<<show-filter-count \"[is[system]sort[title]]\">> |\n|<<lingo ShadowTiddlers/Prompt>> |<<show-filter-count \"[all[shadows]sort[title]]\">> |\n|<<lingo OverriddenShadowTiddlers/Prompt>> |<<show-filter-count \"[is[tiddler]is[shadow]sort[title]]\">> |\n"
},
"$:/core/ui/ControlPanel/EditorTypes": {
"title": "$:/core/ui/ControlPanel/EditorTypes",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/EditorTypes/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/EditorTypes/\n\n<<lingo Hint>>\n\n<table>\n<tbody>\n<tr>\n<th><<lingo Type/Caption>></th>\n<th><<lingo Editor/Caption>></th>\n</tr>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/EditorTypeMappings/]sort[title]]\">\n<tr>\n<td>\n<$link>\n<$list filter=\"[all[current]removeprefix[$:/config/EditorTypeMappings/]]\">\n<$text text={{!!title}}/>\n</$list>\n</$link>\n</td>\n<td>\n<$view field=\"text\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ControlPanel/Info": {
"title": "$:/core/ui/ControlPanel/Info",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Info/Caption}}",
"text": "{{$:/language/ControlPanel/Info/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Info]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Basics\">>\n</div>\n"
},
"$:/core/ui/ControlPanel/KeyboardShortcuts": {
"title": "$:/core/ui/ControlPanel/KeyboardShortcuts",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/KeyboardShortcuts/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/KeyboardShortcuts/\n\n\\define new-shortcut(title)\n<div class=\"tc-dropdown-item-plain\">\n<$edit-shortcut tiddler=\"$title$\" placeholder={{$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt}} style=\"width:auto;\"/> <$button>\n<<lingo Add/Caption>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"[{$title$}]\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"$title$\"\n/>\n</$button>\n</div>\n\\end\n\n\\define shortcut-list-item(caption)\n<td>\n</td>\n<td style=\"text-align:right;font-size:0.7em;\">\n<<lingo Platform/$caption$>>\n</td>\n<td>\n<div style=\"position:relative;\">\n<$button popup=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> class=\"tc-btn-invisible\">\n{{$:/core/images/edit-button}}\n</$button>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutTitle)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\n<$reveal state=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown tc-popup-keep\">\n<$list filter=\"[list[$(shortcutTitle)$!!text]sort[title]]\" variable=\"shortcut\" emptyMessage=\"\"\"\n<div class=\"tc-dropdown-item-plain\">\n//<<lingo NoShortcuts/Caption>>//\n</div>\n\"\"\">\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn-invisible\" tooltip=<<lingo Remove/Hint>>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"+[remove<shortcut>]\"\n/>\n×\n</$button>\n<kbd>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts=<<shortcut>>/>\n</kbd>\n</div>\n</$list>\n<hr/>\n<$macrocall $name=\"new-shortcut\" title=<<qualify \"$:/state/new-shortcut/$(shortcutTitle)$\">>/>\n</div>\n</div>\n</$reveal>\n</div>\n</td>\n\\end\n\n\\define shortcut-list(caption,prefix)\n<tr>\n<$list filter=\"[all[tiddlers+shadows][$prefix$$(shortcutName)$]]\" variable=\"shortcutTitle\">\n<<shortcut-list-item \"$caption$\">>\n</$list>\n</tr>\n\\end\n\n\\define shortcut-editor()\n<<shortcut-list \"All\" \"$:/config/shortcuts/\">>\n<<shortcut-list \"Mac\" \"$:/config/shortcuts-mac/\">>\n<<shortcut-list \"NonMac\" \"$:/config/shortcuts-not-mac/\">>\n<<shortcut-list \"Linux\" \"$:/config/shortcuts-linux/\">>\n<<shortcut-list \"NonLinux\" \"$:/config/shortcuts-not-linux/\">>\n<<shortcut-list \"Windows\" \"$:/config/shortcuts-windows/\">>\n<<shortcut-list \"NonWindows\" \"$:/config/shortcuts-not-windows/\">>\n\\end\n\n\\define shortcut-preview()\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutPrefix)$$(shortcutName)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\\end\n\n\\define shortcut-item-inner()\n<tr>\n<td>\n<$reveal type=\"nomatch\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"open\"\n/>\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"close\"\n/>\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n''<$text text=<<shortcutName>>/>''\n</td>\n<td>\n<$transclude tiddler=\"$:/config/ShortcutInfo/$(shortcutName)$\"/>\n</td>\n<td>\n<$list filter=\"$:/config/shortcuts/ $:/config/shortcuts-mac/ $:/config/shortcuts-not-mac/ $:/config/shortcuts-linux/ $:/config/shortcuts-not-linux/ $:/config/shortcuts-windows/ $:/config/shortcuts-not-windows/\" variable=\"shortcutPrefix\">\n<<shortcut-preview>>\n</$list>\n</td>\n</tr>\n<$set name=\"dropdownState\" value={{$(dropdownStateTitle)$}}>\n<$list filter=\"[<dropdownState>prefix[open]]\" variable=\"listItem\">\n<<shortcut-editor>>\n</$list>\n</$set>\n\\end\n\n\\define shortcut-item()\n<$set name=\"dropdownStateTitle\" value=<<qualify \"$:/state/dropdown/keyboardshortcut/$(shortcutName)$\">>>\n<<shortcut-item-inner>>\n</$set>\n\\end\n\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]removeprefix[$:/config/ShortcutInfo/]]\" variable=\"shortcutName\">\n<<shortcut-item>>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ControlPanel/LoadedModules": {
"title": "$:/core/ui/ControlPanel/LoadedModules",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/LoadedModules/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n<<lingo LoadedModules/Hint>>\n\n{{$:/snippets/modules}}\n"
},
"$:/core/ui/ControlPanel/Modals/AddPlugins": {
"title": "$:/core/ui/ControlPanel/Modals/AddPlugins",
"subtitle": "{{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/Add/Caption}}",
"text": "\\define install-plugin-button()\n<$button>\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url={{!!url}} title={{$(assetInfo)$!!original-title}}/>\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\" emptyMessage=\"\"\"{{$:/language/ControlPanel/Plugins/Install/Caption}}\"\"\">\n{{$:/language/ControlPanel/Plugins/Reinstall/Caption}}\n</$list>\n</$button>\n\\end\n\n\\define popup-state-macro()\n$:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$\n\\end\n\n\\define display-plugin-info(type)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<div class=\"tc-plugin-info\">\n<div class=\"tc-plugin-info-chunk tc-small-icon\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<$list filter=\"[<assetInfo>has[icon]]\" emptyMessage=\"\"\"<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\"\"\">\n<img src={{$(assetInfo)$!!icon}}/>\n</$list>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<h1><$view tiddler=<<assetInfo>> field=\"description\"/></h1>\n<h2><$view tiddler=<<assetInfo>> field=\"original-title\"/></h2>\n<div><em><$view tiddler=<<assetInfo>> field=\"version\"/></em></div>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<<install-plugin-button>>\n</div>\n</div>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>>>\n<div class=\"tc-plugin-info-dropdown\">\n<div class=\"tc-plugin-info-dropdown-message\">\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\" emptyMessage=\"\"\"{{$:/language/ControlPanel/Plugins/NotInstalled/Hint}}\"\"\">\n<em>\n{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}\n</em>\n</$list>\n</div>\n<div class=\"tc-plugin-info-dropdown-body\">\n<$transclude tiddler=<<assetInfo>> field=\"readme\" mode=\"block\"/>\n</div>\n</div>\n</$reveal>\n</$set>\n\\end\n\n\\define load-plugin-library-button()\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-load-plugin-library\" url={{!!url}} infoTitlePrefix=\"$:/temp/RemoteAssetInfo/\"/>\n{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Plugins/OpenPluginLibrary}}\n</$button>\n\\end\n\n\\define display-server-assets(type)\n{{$:/language/Search/Search}}: <$edit-text tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" default=\"\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n<div class=\"tc-plugin-library-listing\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]search{$:/temp/RemoteAssetSearch/$(currentTiddler)$}sort[description]]\" variable=\"assetInfo\">\n<<display-plugin-info \"$type$\">>\n</$list>\n</div>\n\\end\n\n\\define display-server-connection()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/ServerConnection]suffix{!!url}]\" variable=\"connectionTiddler\" emptyMessage=<<load-plugin-library-button>>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Add/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Add/Themes]] [[$:/core/ui/ControlPanel/Plugins/Add/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Add/Plugins\">>\n\n</$list>\n\\end\n\n\\define plugin-library-listing()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<div class=\"tc-plugin-library\">\n\n!! <$link><$transclude field=\"caption\"><$view field=\"title\"/></$transclude></$link>\n\n//<$view field=\"url\"/>//\n\n<$transclude/>\n\n<<display-server-connection>>\n</div>\n</$list>\n\\end\n\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<div>\n<<plugin-library-listing>>\n</div>\n\n</$importvariables>\n"
},
"$:/core/ui/ControlPanel/Palette": {
"title": "$:/core/ui/ControlPanel/Palette",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Palette/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Palette/\n\n{{$:/snippets/paletteswitcher}}\n\n<$reveal type=\"nomatch\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"yes\"><<lingo ShowEditor/Caption>></$button>\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"no\"><<lingo HideEditor/Caption>></$button>\n{{$:/snippets/paletteeditor}}\n\n</$reveal>\n\n"
},
"$:/core/ui/ControlPanel/Parsing": {
"title": "$:/core/ui/ControlPanel/Parsing",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/Parsing/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Parsing/\n\n\\define parsing-inner(typeCap)\n<li>\n<$checkbox tiddler=\"\"\"$:/config/WikiParserRules/$typeCap$/$(currentTiddler)$\"\"\" field=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"enable\"> ''<$text text=<<currentTiddler>>/>'': </$checkbox>\n</li>\n\\end\n\n\\define parsing-outer(typeLower,typeCap)\n<ul>\n<$list filter=\"[wikiparserrules[$typeLower$]]\">\n<<parsing-inner typeCap:\"$typeCap$\">>\n</$list>\n</ul>\n\\end\n\n<<lingo Hint>>\n\n! <<lingo Pragma/Caption>>\n\n<<parsing-outer typeLower:\"pragma\" typeCap:\"Pragma\">>\n\n! <<lingo Inline/Caption>>\n\n<<parsing-outer typeLower:\"inline\" typeCap:\"Inline\">>\n\n! <<lingo Block/Caption>>\n\n<<parsing-outer typeLower:\"block\" typeCap:\"Block\">>\n"
},
"$:/core/ui/ControlPanel/Plugins/Add/Languages": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Languages",
"caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[language]]\"/>)",
"text": "<<display-server-assets language>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Add/Plugins": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[plugin]]\"/>)",
"text": "<<display-server-assets plugin>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Add/Themes": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Themes",
"caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[theme]]\"/>)",
"text": "<<display-server-assets theme>>\n"
},
"$:/core/ui/ControlPanel/Plugins/AddPlugins": {
"title": "$:/core/ui/ControlPanel/Plugins/AddPlugins",
"text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n<$button message=\"tm-modal\" param=\"$:/core/ui/ControlPanel/Modals/AddPlugins\" tooltip={{$:/language/ControlPanel/Plugins/Add/Hint}} class=\"tc-btn-big-green\" style=\"background:blue;\">\n{{$:/core/images/download-button}} <<lingo Add/Caption>>\n</$button>\n"
},
"$:/core/ui/ControlPanel/Plugins/Installed/Languages": {
"title": "$:/core/ui/ControlPanel/Plugins/Installed/Languages",
"caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[language]]\"/>)",
"text": "<<plugin-table language>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Installed/Plugins": {
"title": "$:/core/ui/ControlPanel/Plugins/Installed/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[plugin]]\"/>)",
"text": "<<plugin-table plugin>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Installed/Themes": {
"title": "$:/core/ui/ControlPanel/Plugins/Installed/Themes",
"caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[theme]]\"/>)",
"text": "<<plugin-table theme>>\n"
},
"$:/core/ui/ControlPanel/Plugins": {
"title": "$:/core/ui/ControlPanel/Plugins",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Plugins/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define popup-state-macro()\n$(qualified-state)$-$(currentTiddler)$\n\\end\n\n\\define tabs-state-macro()\n$(popup-state)$-$(pluginInfoType)$\n\\end\n\n\\define plugin-icon-title()\n$(currentTiddler)$/icon\n\\end\n\n\\define plugin-disable-title()\n$:/config/Plugins/Disabled/$(currentTiddler)$\n\\end\n\n\\define plugin-table-body(type,disabledMessage)\n<div class=\"tc-plugin-info-chunk tc-small-icon\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>>\n<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\n</$transclude>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<h1>\n''<$view field=\"description\"><$view field=\"title\"/></$view>'' $disabledMessage$\n</h1>\n<h2>\n<$view field=\"title\"/>\n</h2>\n<h2>\n<div><em><$view field=\"version\"/></em></div>\n</h2>\n</div>\n\\end\n\n\\define plugin-table(type)\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n<$list filter=\"[!has[draft.of]plugin-type[$type$]sort[description]]\" emptyMessage=<<lingo \"Empty/Hint\">>>\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info\">\n<<plugin-table-body type:\"$type$\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info tc-plugin-info-disabled\">\n<<plugin-table-body type:\"$type$\" disabledMessage:\"<$macrocall $name='lingo' title='Disabled/Status'/>\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>>>\n<div class=\"tc-plugin-info-dropdown\">\n<div class=\"tc-plugin-info-dropdown-body\">\n<$list filter=\"[all[current]] -[[$:/core]]\">\n<div style=\"float:right;\">\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"yes\" tooltip={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}>\n<<lingo Disable/Caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"no\" tooltip={{$:/language/ControlPanel/Plugins/Enable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}>\n<<lingo Enable/Caption>>\n</$button>\n</$reveal>\n</div>\n</$list>\n<$reveal type=\"nomatch\" text=\"\" state=\"!!list\">\n<$macrocall $name=\"tabs\" state=<<tabs-state-macro>> tabsList={{!!list}} default=\"readme\" template=\"$:/core/ui/PluginInfo\"/>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=\"!!list\">\n<<lingo NoInformation/Hint>>\n</$reveal>\n</div>\n</div>\n</$reveal>\n</$set>\n</$list>\n</$set>\n\\end\n\n{{$:/core/ui/ControlPanel/Plugins/AddPlugins}}\n\n<<lingo Installed/Hint>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Installed/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Installed/Themes]] [[$:/core/ui/ControlPanel/Plugins/Installed/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\">>\n"
},
"$:/core/ui/ControlPanel/Saving": {
"title": "$:/core/ui/ControlPanel/Saving",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Saving/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Saving/\n\\define backupURL()\nhttp://$(userName)$.tiddlyspot.com/backup/\n\\end\n\\define backupLink()\n<$reveal type=\"nomatch\" state=\"$:/UploadName\" text=\"\">\n<$set name=\"userName\" value={{$:/UploadName}}>\n<$reveal type=\"match\" state=\"$:/UploadURL\" text=\"\">\n<<backupURL>>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/UploadURL\" text=\"\">\n<$macrocall $name=resolvePath source={{$:/UploadBackupDir}} root={{$:/UploadURL}}>>\n</$reveal>\n</$set>\n</$reveal>\n\\end\n! <<lingo TiddlySpot/Heading>>\n\n<<lingo TiddlySpot/Description>>\n\n|<<lingo TiddlySpot/UserName>> |<$edit-text tiddler=\"$:/UploadName\" default=\"\" tag=\"input\"/> |\n|<<lingo TiddlySpot/Password>> |<$password name=\"upload\"/> |\n|<<lingo TiddlySpot/Backups>> |<<backupLink>> |\n\n''<<lingo TiddlySpot/Advanced/Heading>>''\n\n|<<lingo TiddlySpot/ServerURL>> |<$edit-text tiddler=\"$:/UploadURL\" default=\"\" tag=\"input\"/> |\n|<<lingo TiddlySpot/Filename>> |<$edit-text tiddler=\"$:/UploadFilename\" default=\"index.html\" tag=\"input\"/> |\n|<<lingo TiddlySpot/UploadDir>> |<$edit-text tiddler=\"$:/UploadDir\" default=\".\" tag=\"input\"/> |\n|<<lingo TiddlySpot/BackupDir>> |<$edit-text tiddler=\"$:/UploadBackupDir\" default=\".\" tag=\"input\"/> |\n\n<<lingo TiddlySpot/Hint>>"
},
"$:/core/ui/ControlPanel/Settings/AutoSave": {
"title": "$:/core/ui/ControlPanel/Settings/AutoSave",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/AutoSave/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/AutoSave/\n\n<$link to=\"$:/config/AutoSave\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"yes\"> <<lingo Enabled/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"no\"> <<lingo Disabled/Description>> </$radio>\n"
},
"$:/core/buttonstyles/Borderless": {
"title": "$:/core/buttonstyles/Borderless",
"tags": "$:/tags/ToolbarButtonStyle",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless}}",
"text": "tc-btn-invisible"
},
"$:/core/buttonstyles/Boxed": {
"title": "$:/core/buttonstyles/Boxed",
"tags": "$:/tags/ToolbarButtonStyle",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed}}",
"text": "tc-btn-boxed"
},
"$:/core/buttonstyles/Rounded": {
"title": "$:/core/buttonstyles/Rounded",
"tags": "$:/tags/ToolbarButtonStyle",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded}}",
"text": "tc-btn-rounded"
},
"$:/core/ui/ControlPanel/Settings/CamelCase": {
"title": "$:/core/ui/ControlPanel/Settings/CamelCase",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/CamelCase/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/CamelCase/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/WikiParserRules/Inline/wikilink\" field=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"enable\"> <$link to=\"$:/config/WikiParserRules/Inline/wikilink\"><<lingo Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings/DefaultSidebarTab": {
"caption": "{{$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption}}",
"tags": "$:/tags/ControlPanel/Settings",
"title": "$:/core/ui/ControlPanel/Settings/DefaultSidebarTab",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/DefaultSidebarTab/\n\n<$link to=\"$:/config/DefaultSidebarTab\"><<lingo Hint>></$link>\n\n<$select tiddler=\"$:/config/DefaultSidebarTab\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\">\n<option value=<<currentTiddler>>><$transclude field=\"caption\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/EditorToolbar": {
"title": "$:/core/ui/ControlPanel/Settings/EditorToolbar",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/EditorToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/EditorToolbar/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/TextEditor/EnableToolbar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/TextEditor/EnableToolbar\"><<lingo Description>></$link> </$checkbox>\n\n"
},
"$:/core/ui/ControlPanel/Settings/LinkToBehaviour": {
"title": "$:/core/ui/ControlPanel/Settings/LinkToBehaviour",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/LinkToBehaviour/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/LinkToBehaviour/\n\n<$link to=\"$:/config/Navigation/openLinkFromInsideRiver\"><<lingo \"InsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromInsideRiver\">\n <option value=\"above\"><<lingo \"OpenAbove\">></option>\n <option value=\"below\"><<lingo \"OpenBelow\">></option>\n <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n\n<$link to=\"$:/config/Navigation/openLinkFromOutsideRiver\"><<lingo \"OutsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromOutsideRiver\">\n <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/MissingLinks": {
"title": "$:/core/ui/ControlPanel/Settings/MissingLinks",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/MissingLinks/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/MissingLinks/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/MissingLinks\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/MissingLinks\"><<lingo Description>></$link> </$checkbox>\n\n"
},
"$:/core/ui/ControlPanel/Settings/NavigationAddressBar": {
"title": "$:/core/ui/ControlPanel/Settings/NavigationAddressBar",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/NavigationAddressBar/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationAddressBar/\n\n<$link to=\"$:/config/Navigation/UpdateAddressBar\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permaview\"> <<lingo Permaview/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permalink\"> <<lingo Permalink/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/NavigationHistory": {
"title": "$:/core/ui/ControlPanel/Settings/NavigationHistory",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/NavigationHistory/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationHistory/\n<$link to=\"$:/config/Navigation/UpdateHistory\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation": {
"title": "$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/PerformanceInstrumentation/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Performance/Instrumentation\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Performance/Instrumentation\"><<lingo Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings/TitleLinks": {
"title": "$:/core/ui/ControlPanel/Settings/TitleLinks",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/TitleLinks/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/TitleLinks/\n<$link to=\"$:/config/Tiddlers/TitleLinks\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle": {
"title": "$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtonStyle/\n<$link to=\"$:/config/Toolbar/ButtonClass\"><<lingo \"Hint\">></$link>\n\n<$select tiddler=\"$:/config/Toolbar/ButtonClass\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ToolbarButtonStyle]]\">\n<option value={{!!text}}>{{!!caption}}</option>\n</$list>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/ToolbarButtons": {
"title": "$:/core/ui/ControlPanel/Settings/ToolbarButtons",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtons/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtons/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Icons\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Toolbar/Icons\"><<lingo Icons/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Text\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Toolbar/Text\"><<lingo Text/Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings": {
"title": "$:/core/ui/ControlPanel/Settings",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Settings/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<<lingo Hint>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\">\n\n<div style=\"border-top:1px solid #eee;\">\n\n!! <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/ControlPanel/StoryView": {
"title": "$:/core/ui/ControlPanel/StoryView",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/StoryView/Caption}}",
"text": "{{$:/snippets/viewswitcher}}\n"
},
"$:/core/ui/ControlPanel/Theme": {
"title": "$:/core/ui/ControlPanel/Theme",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Theme/Caption}}",
"text": "{{$:/snippets/themeswitcher}}\n"
},
"$:/core/ui/ControlPanel/TiddlerFields": {
"title": "$:/core/ui/ControlPanel/TiddlerFields",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/TiddlerFields/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo TiddlerFields/Hint>>\n\n{{$:/snippets/allfields}}"
},
"$:/core/ui/ControlPanel/Toolbars/EditToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/EditToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/EditToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/EditToolbarButtons/Visibility/$(listItem)$\n\\end\n\n{{$:/language/ControlPanel/Toolbars/EditToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>> field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/ControlPanel/Toolbars/EditorToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/EditorToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/EditorToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-title()\n$:/config/EditorToolbarButtons/Visibility/$(listItem)$\n\\end\n\n\\define toolbar-button()\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"> <$transclude tiddler={{$(listItem)$!!icon}}/> <$transclude tiddler=<<listItem>> field=\"caption\"/> -- <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i></$checkbox>\n\\end\n\n{{$:/language/ControlPanel/Toolbars/EditorToolbar/Hint}}\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<<toolbar-button>>\n\n</$list>\n"
},
"$:/core/ui/ControlPanel/Toolbars/PageControls": {
"title": "$:/core/ui/ControlPanel/Toolbars/PageControls",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/PageControls/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\n{{$:/language/ControlPanel/Toolbars/PageControls/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>> field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/ControlPanel/Toolbars/ViewToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/ViewToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/ViewToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n\n{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>> field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/ControlPanel/Toolbars": {
"title": "$:/core/ui/ControlPanel/Toolbars",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Toolbars/Caption}}",
"text": "{{$:/language/ControlPanel/Toolbars/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Toolbars]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\" \"$:/state/tabs/controlpanel/toolbars\" \"tc-vertical\">>\n</div>\n"
},
"$:/ControlPanel": {
"title": "$:/ControlPanel",
"icon": "$:/core/images/options-button",
"color": "#bbb",
"text": "<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Info\">>\n</div>\n"
},
"$:/core/ui/DefaultSearchResultList": {
"title": "$:/core/ui/DefaultSearchResultList",
"tags": "$:/tags/SearchResults",
"caption": "{{$:/language/Search/DefaultResults/Caption}}",
"text": "\\define searchResultList()\n//<small>{{$:/language/Search/Matches/Title}}</small>//\n\n<$list filter=\"[!is[system]search:title{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n//<small>{{$:/language/Search/Matches/All}}</small>//\n\n<$list filter=\"[!is[system]search{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n\\end\n<<searchResultList>>\n"
},
"$:/core/ui/EditTemplate/body/preview/output": {
"title": "$:/core/ui/EditTemplate/body/preview/output",
"tags": "$:/tags/EditPreview",
"caption": "{{$:/language/EditTemplate/Body/Preview/Type/Output}}",
"text": "<$set name=\"tv-tiddler-preview\" value=\"yes\">\n\n<$transclude />\n\n</$set>\n"
},
"$:/core/ui/EditTemplate/body/editor": {
"title": "$:/core/ui/EditTemplate/body/editor",
"text": "<$edit\n\n field=\"text\"\n class=\"tc-edit-texteditor\"\n placeholder={{$:/language/EditTemplate/Body/Placeholder}}\n\n><$set\n\n name=\"targetTiddler\"\n value=<<currentTiddler>>\n\n><$list\n\n filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\"\n\n><$reveal\n\n type=\"nomatch\"\n state=<<config-visibility-title>>\n text=\"hide\"\n class=\"tc-text-editor-toolbar-item-wrapper\"\n\n><$transclude\n\n tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\"\n mode=\"inline\"\n\n/></$reveal></$list></$set></$edit>\n"
},
"$:/core/ui/EditTemplate/body/toolbar/button": {
"title": "$:/core/ui/EditTemplate/body/toolbar/button",
"text": "\\define toolbar-button-icon()\n<$list\n\n filter=\"[all[current]!has[custom-icon]]\"\n variable=\"no-custom-icon\"\n\n><$transclude\n\n tiddler={{!!icon}}\n\n/></$list>\n\\end\n\n\\define toolbar-button-tooltip()\n{{!!description}}<$macrocall $name=\"displayshortcuts\" $output=\"text/plain\" shortcuts={{!!shortcuts}} prefix=\"` - [\" separator=\"] [\" suffix=\"]`\"/>\n\\end\n\n\\define toolbar-button()\n<$list\n\n filter={{!!condition}}\n variable=\"list-condition\"\n\n><$wikify\n\n name=\"tooltip-text\"\n text=<<toolbar-button-tooltip>>\n mode=\"inline\"\n output=\"text\"\n\n><$list\n\n filter=\"[all[current]!has[dropdown]]\"\n variable=\"no-dropdown\"\n\n><$button\n\n class=\"tc-btn-invisible $(buttonClasses)$\"\n tooltip=<<tooltip-text>>\n\n><span\n\n data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n tiddler=<<currentTiddler>>\n field=\"text\"\n\n/></$button></$list><$list\n\n filter=\"[all[current]has[dropdown]]\"\n variable=\"dropdown\"\n\n><$set\n\n name=\"dropdown-state\"\n value=<<qualify \"$:/state/EditorToolbarDropdown\">>\n\n><$button\n\n popup=<<dropdown-state>>\n class=\"tc-popup-keep tc-btn-invisible $(buttonClasses)$\"\n selectedClass=\"tc-selected\"\n tooltip=<<tooltip-text>>\n\n><span\n\n data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n tiddler=<<currentTiddler>>\n field=\"text\"\n\n/></$button><$reveal\n\n state=<<dropdown-state>>\n type=\"popup\"\n position=\"below\"\n animate=\"yes\"\n tag=\"span\"\n\n><div\n\n class=\"tc-drop-down tc-popup-keep\"\n\n><$transclude\n\n tiddler={{!!dropdown}}\n mode=\"block\"\n\n/></div></$reveal></$set></$list></$wikify></$list>\n\\end\n\n\\define toolbar-button-outer()\n<$set\n\n name=\"buttonClasses\"\n value={{!!button-classes}}\n\n><<toolbar-button>></$set>\n\\end\n\n<<toolbar-button-outer>>"
},
"$:/core/ui/EditTemplate/body": {
"title": "$:/core/ui/EditTemplate/body",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/Body/\n\\define config-visibility-title()\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\n\\end\n<$list filter=\"[is[current]has[_canonical_uri]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo External/Hint>>\n\n<a href={{!!_canonical_uri}}><$text text={{!!_canonical_uri}}/></a>\n\n<$edit-text field=\"_canonical_uri\" class=\"tc-edit-fields\"></$edit-text>\n\n</div>\n\n</$list>\n\n<$list filter=\"[is[current]!has[_canonical_uri]]\">\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\">\n\n<div class=\"tc-tiddler-preview\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n<div class=\"tc-tiddler-preview-preview\">\n\n<$transclude tiddler={{$:/state/editpreviewtype}} mode=\"inline\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/preview/output\" mode=\"inline\"/>\n\n</$transclude>\n\n</div>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n"
},
"$:/core/ui/EditTemplate/controls": {
"title": "$:/core/ui/EditTemplate/controls",
"tags": "$:/tags/EditTemplate",
"text": "\\define config-title()\n$:/config/EditToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title tc-tiddler-edit-title\">\n<$view field=\"title\"/>\n<span class=\"tc-tiddler-controls tc-titlebar\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list></span>\n<div style=\"clear: both;\"></div>\n</div>\n"
},
"$:/core/ui/EditTemplate/fields": {
"title": "$:/core/ui/EditTemplate/fields",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/\n\\define config-title()\n$:/config/EditTemplateFields/Visibility/$(currentField)$\n\\end\n\n\\define config-filter()\n[[hide]] -[title{$(config-title)$}]\n\\end\n\n\\define new-field-inner()\n<$reveal type=\"nomatch\" text=\"\" default=<<name>>>\n<$button>\n<$action-sendmessage $message=\"tm-add-field\" $name=<<name>> $value=<<value>>/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" text=\"\" default=<<name>>>\n<$button>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n\\end\n\n\\define new-field()\n<$set name=\"name\" value={{$:/temp/newfieldname}}>\n<$set name=\"value\" value={{$:/temp/newfieldvalue}}>\n<<new-field-inner>>\n</$set>\n</$set>\n\\end\n\n<div class=\"tc-edit-fields\">\n<table class=\"tc-edit-fields\">\n<tbody>\n<$list filter=\"[all[current]fields[]] +[sort[title]]\" variable=\"currentField\">\n<$list filter=<<config-filter>> variable=\"temp\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}}/>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n</$list>\n</tbody>\n</table>\n</div>\n\n<$fieldmangler>\n<div class=\"tc-edit-field-add\">\n<em class=\"tc-edit\">\n<<lingo Fields/Add/Prompt>>\n</em>\n<span class=\"tc-edit-field-add-name\">\n<$edit-text tiddler=\"$:/temp/newfieldname\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-edit-texteditor tc-popup-handle\"/>\n</span>\n<$button popup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/field-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"$:/temp/newfieldname\">\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/User>>\n</div>\n<$list filter=\"[!is[shadow]!is[system]fields[]sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/System>>\n</div>\n<$list filter=\"[fields[]sort[]] -[!is[shadow]!is[system]fields[]]\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n<span class=\"tc-edit-field-add-value\">\n<$edit-text tiddler=\"$:/temp/newfieldvalue\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class=\"tc-edit-texteditor\"/>\n</span>\n<span class=\"tc-edit-field-add-button\">\n<$macrocall $name=\"new-field\"/>\n</span>\n</div>\n</$fieldmangler>\n\n"
},
"$:/core/ui/EditTemplate/shadow": {
"title": "$:/core/ui/EditTemplate/shadow",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/Shadow/\n\\define pluginLinkBody()\n<$link to=\"\"\"$(pluginTitle)$\"\"\">\n<$text text=\"\"\"$(pluginTitle)$\"\"\"/>\n</$link>\n\\end\n<$list filter=\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>\n\n<$list filter=\"[all[current]get[draft.of]is[shadow]is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo OverriddenWarning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>"
},
"$:/core/ui/EditTemplate/tags": {
"title": "$:/core/ui/EditTemplate/tags",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/\n\\define tag-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\\define tag-body-inner(colour,fallbackTarget,colourA,colourB)\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\" />\n<$button message=\"tm-remove-tag\" param={{!!title}} class=\"tc-btn-invisible tc-remove-tag-button\">×</$button>\n</span>\n</$vars>\n\\end\n\\define tag-body(colour,palette)\n<$macrocall $name=\"tag-body-inner\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}}/>\n\\end\n<div class=\"tc-edit-tags\">\n<$fieldmangler>\n<$list filter=\"[all[current]tags[]sort[title]]\" storyview=\"pop\">\n<$macrocall $name=\"tag-body\" colour={{!!color}} palette={{$:/palette}}/>\n</$list>\n\n<div class=\"tc-edit-add-tag\">\n<span class=\"tc-add-tag-name\">\n<$edit-text tiddler=\"$:/temp/NewTagName\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} focusPopup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-edit-texteditor tc-popup-handle\"/>\n</span> <$button popup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <span class=\"tc-add-tag-button\">\n<$button message=\"tm-add-tag\" param={{$:/temp/NewTagName}} set=\"$:/temp/NewTagName\" setTo=\"\" class=\"\">\n<<lingo Tags/Add/Button>>\n</$button>\n</span>\n</div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/tags-auto-complete\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown\">\n<$linkcatcher set=\"$:/temp/NewTagName\" setTo=\"\" message=\"tm-add-tag\">\n<$list filter=\"[tags[]!is[system]search:title{$:/temp/NewTagName}sort[]]\">\n{{||$:/core/ui/Components/tag-link}}\n</$list>\n<hr>\n<$list filter=\"[tags[]is[system]search:title{$:/temp/NewTagName}sort[]]\">\n{{||$:/core/ui/Components/tag-link}}\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>\n</$fieldmangler>\n</div>"
},
"$:/core/ui/EditTemplate/title": {
"title": "$:/core/ui/EditTemplate/title",
"tags": "$:/tags/EditTemplate",
"text": "<$vars pattern=\"\"\"[\\|\\[\\]{}]\"\"\" bad-chars=\"\"\"`| [ ] { }`\"\"\">\n\n<$list filter=\"[is[current]regexp:draft.title<pattern>]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/language/EditTemplate/Title/BadCharacterWarning}}\n\n</div>\n\n</$list>\n\n</$vars>\n\n<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\" focus=\"true\"/>\n"
},
"$:/core/ui/EditTemplate/type": {
"title": "$:/core/ui/EditTemplate/type",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/\n<div class=\"tc-type-selector\"><$fieldmangler>\n<em class=\"tc-edit\"><<lingo Type/Prompt>></em> <$edit-text field=\"type\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-edit-typeeditor tc-popup-handle\"/> <$button popup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <$button message=\"tm-remove-field\" param=\"type\" class=\"tc-btn-invisible tc-btn-icon\" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}</$button>\n</$fieldmangler></div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/type-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"!!type\">\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group]]'>\n<div class=\"tc-dropdown-item\">\n<$text text={{!!group}}/>\n</div>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]]\"><$link to={{!!name}}><$view field=\"description\"/> (<$view field=\"name\"/>)</$link>\n</$list>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>"
},
"$:/core/ui/EditTemplate": {
"title": "$:/core/ui/EditTemplate",
"text": "\\define frame-classes()\ntc-tiddler-frame tc-tiddler-edit-frame $(missingTiddlerClass)$ $(shadowTiddlerClass)$ $(systemTiddlerClass)$\n\\end\n<div class=<<frame-classes>>>\n<$set name=\"storyTiddler\" value=<<currentTiddler>>>\n<$keyboard key=\"((cancel-edit-tiddler))\" message=\"tm-cancel-tiddler\">\n<$keyboard key=\"((save-tiddler))\" message=\"tm-save-tiddler\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n</$list>\n</$keyboard>\n</$keyboard>\n</$set>\n</div>\n"
},
"$:/core/ui/Buttons/cancel": {
"title": "$:/core/ui/Buttons/cancel",
"tags": "$:/tags/EditToolbar",
"caption": "{{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}",
"description": "{{$:/language/Buttons/Cancel/Hint}}",
"text": "<$button message=\"tm-cancel-tiddler\" tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/cancel-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/delete": {
"title": "$:/core/ui/Buttons/delete",
"tags": "$:/tags/EditToolbar $:/tags/ViewToolbar",
"caption": "{{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}",
"description": "{{$:/language/Buttons/Delete/Hint}}",
"text": "<$button message=\"tm-delete-tiddler\" tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/delete-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/save": {
"title": "$:/core/ui/Buttons/save",
"tags": "$:/tags/EditToolbar",
"caption": "{{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}",
"description": "{{$:/language/Buttons/Save/Hint}}",
"text": "<$fieldmangler><$button tooltip={{$:/language/Buttons/Save/Hint}} aria-label={{$:/language/Buttons/Save/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-add-tag\" $param={{$:/temp/NewTagName}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{$:/temp/newfieldname}} $value={{$:/temp/newfieldvalue}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/done-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Save/Caption}}/></span>\n</$list>\n</$button>\n</$fieldmangler>\n"
},
"$:/core/ui/EditorToolbar/bold": {
"title": "$:/core/ui/EditorToolbar/bold",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/bold",
"caption": "{{$:/language/Buttons/Bold/Caption}}",
"description": "{{$:/language/Buttons/Bold/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((bold))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"''\"\n\tsuffix=\"''\"\n/>\n"
},
"$:/core/ui/EditorToolbar/clear-dropdown": {
"title": "$:/core/ui/EditorToolbar/clear-dropdown",
"text": "''{{$:/language/Buttons/Clear/Hint}}''\n\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"clear\"\n\tcolour=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n\n</div>\n"
},
"$:/core/ui/EditorToolbar/clear": {
"title": "$:/core/ui/EditorToolbar/clear",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/erase",
"caption": "{{$:/language/Buttons/Clear/Caption}}",
"description": "{{$:/language/Buttons/Clear/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/clear-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/editor-height-dropdown": {
"title": "$:/core/ui/EditorToolbar/editor-height-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/EditorHeight/\n''<<lingo Hint>>''\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"auto\"> {{$:/core/images/auto-height}} <<lingo Caption/Auto>></$radio>\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"fixed\"> {{$:/core/images/fixed-height}} <<lingo Caption/Fixed>> <$edit-text tag=\"input\" tiddler=\"$:/config/TextEditor/EditorHeight/Height\" default=\"100px\"/></$radio>\n"
},
"$:/core/ui/EditorToolbar/editor-height": {
"title": "$:/core/ui/EditorToolbar/editor-height",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/fixed-height",
"custom-icon": "yes",
"caption": "{{$:/language/Buttons/EditorHeight/Caption}}",
"description": "{{$:/language/Buttons/EditorHeight/Hint}}",
"condition": "[<targetTiddler>!is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/editor-height-dropdown",
"text": "<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n{{$:/core/images/fixed-height}}\n</$reveal>\n<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n{{$:/core/images/auto-height}}\n</$reveal>\n"
},
"$:/core/ui/EditorToolbar/excise-dropdown": {
"title": "$:/core/ui/EditorToolbar/excise-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Excise/\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<<lingo Caption/NewTitle>> <$edit-text tag=\"input\" tiddler=\"$config-title$/new-title\" default=\"\" focus=\"true\"/>\n\n<$set name=\"new-title\" value={{$config-title$/new-title}}>\n<$list filter=\"\"\"[<new-title>is[tiddler]]\"\"\">\n<div class=\"tc-error\">\n<<lingo Caption/TiddlerExists>>\n</div>\n</$list>\n</$set>\n\n<$checkbox tiddler=\"\"\"$config-title$/tagnew\"\"\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"false\"> <<lingo Caption/Tag>></$checkbox>\n\n<<lingo Caption/Replace>> <$select tiddler=\"\"\"$config-title$/type\"\"\" default=\"transclude\">\n<option value=\"link\"><<lingo Caption/Replace/Link>></option>\n<option value=\"transclude\"><<lingo Caption/Replace/Transclusion>></option>\n<option value=\"macro\"><<lingo Caption/Replace/Macro>></option>\n</$select>\n\n<$reveal state=\"\"\"$config-title$/type\"\"\" type=\"match\" text=\"macro\">\n<<lingo Caption/MacroName>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/macro-title\"\"\" default=\"translink\"/>\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"excise\"\n\ttitle={{$config-title$/new-title}}\n\ttype={{$config-title$/type}}\n\tmacro={{$config-title$/macro-title}}\n\ttagnew={{$config-title$/tagnew}}\n/>\n<$action-deletetiddler\n\t$tiddler=<<qualify \"$:/state/Excise/NewTitle\">>\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Excise>>\n</$button>\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Excise/\">>/>\n"
},
"$:/core/ui/EditorToolbar/excise": {
"title": "$:/core/ui/EditorToolbar/excise",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/excise",
"caption": "{{$:/language/Buttons/Excise/Caption}}",
"description": "{{$:/language/Buttons/Excise/Hint}}",
"condition": "[<targetTiddler>!is[image]]",
"shortcuts": "((excise))",
"dropdown": "$:/core/ui/EditorToolbar/excise-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/heading-1": {
"title": "$:/core/ui/EditorToolbar/heading-1",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-1",
"caption": "{{$:/language/Buttons/Heading1/Caption}}",
"description": "{{$:/language/Buttons/Heading1/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((heading-1))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"1\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-2": {
"title": "$:/core/ui/EditorToolbar/heading-2",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-2",
"caption": "{{$:/language/Buttons/Heading2/Caption}}",
"description": "{{$:/language/Buttons/Heading2/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-2))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"2\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-3": {
"title": "$:/core/ui/EditorToolbar/heading-3",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-3",
"caption": "{{$:/language/Buttons/Heading3/Caption}}",
"description": "{{$:/language/Buttons/Heading3/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-3))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"3\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-4": {
"title": "$:/core/ui/EditorToolbar/heading-4",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-4",
"caption": "{{$:/language/Buttons/Heading4/Caption}}",
"description": "{{$:/language/Buttons/Heading4/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-4))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"4\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-5": {
"title": "$:/core/ui/EditorToolbar/heading-5",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-5",
"caption": "{{$:/language/Buttons/Heading5/Caption}}",
"description": "{{$:/language/Buttons/Heading5/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-5))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"5\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-6": {
"title": "$:/core/ui/EditorToolbar/heading-6",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-6",
"caption": "{{$:/language/Buttons/Heading6/Caption}}",
"description": "{{$:/language/Buttons/Heading6/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-6))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"6\"\n/>\n"
},
"$:/core/ui/EditorToolbar/italic": {
"title": "$:/core/ui/EditorToolbar/italic",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/italic",
"caption": "{{$:/language/Buttons/Italic/Caption}}",
"description": "{{$:/language/Buttons/Italic/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((italic))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"//\"\n\tsuffix=\"//\"\n/>\n"
},
"$:/core/ui/EditorToolbar/line-width-dropdown": {
"title": "$:/core/ui/EditorToolbar/line-width-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/LineWidth/\n\n\\define toolbar-line-width-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(line-width)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/LineWidth\"\n\t$value=\"$(line-width)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; margin: 4px calc(80px - $(line-width)$); background-color: #000; width: calc(100px + $(line-width)$ * 2); height: $(line-width)$; border-radius: 120px; vertical-align: middle;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(line-width)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/LineWidth\" type=\"match\" text=\"\"\"$(line-width)$\"\"\" tag=\"span\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/LineWidths}} variable=\"line-width\">\n\n<<toolbar-line-width-inner>>\n\n</$list>\n"
},
"$:/core/ui/EditorToolbar/line-width": {
"title": "$:/core/ui/EditorToolbar/line-width",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/line-width",
"caption": "{{$:/language/Buttons/LineWidth/Caption}}",
"description": "{{$:/language/Buttons/LineWidth/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/line-width-dropdown",
"text": "<$text text={{$:/config/BitmapEditor/LineWidth}}/>"
},
"$:/core/ui/EditorToolbar/link-dropdown": {
"title": "$:/core/ui/EditorToolbar/link-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Link/\n\n\\define link-actions()\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"make-link\"\n\ttext={{$(linkTiddler)$}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<searchTiddler>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<linkTiddler>>\n/>\n\\end\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<$vars searchTiddler=\"\"\"$config-title$/search\"\"\" linkTiddler=\"\"\"$config-title$/link\"\"\">\n\n<$edit-text tiddler=<<searchTiddler>> type=\"search\" tag=\"input\" focus=\"true\" placeholder={{$:/language/Search/Search}} default=\"\"/>\n<$reveal tag=\"span\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\">\n<$action-setfield $tiddler=<<searchTiddler>> text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n\n<$reveal tag=\"div\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n\n<$linkcatcher actions=<<link-actions>> to=<<linkTiddler>>>\n\n{{$:/core/ui/SearchResults}}\n\n</$linkcatcher>\n\n</$reveal>\n\n</$vars>\n\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Link/\">>/>\n"
},
"$:/core/ui/EditorToolbar/link": {
"title": "$:/core/ui/EditorToolbar/link",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/link",
"caption": "{{$:/language/Buttons/Link/Caption}}",
"description": "{{$:/language/Buttons/Link/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((link))",
"dropdown": "$:/core/ui/EditorToolbar/link-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/list-bullet": {
"title": "$:/core/ui/EditorToolbar/list-bullet",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/list-bullet",
"caption": "{{$:/language/Buttons/ListBullet/Caption}}",
"description": "{{$:/language/Buttons/ListBullet/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((list-bullet))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n"
},
"$:/core/ui/EditorToolbar/list-number": {
"title": "$:/core/ui/EditorToolbar/list-number",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/list-number",
"caption": "{{$:/language/Buttons/ListNumber/Caption}}",
"description": "{{$:/language/Buttons/ListNumber/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((list-number))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n"
},
"$:/core/ui/EditorToolbar/mono-block": {
"title": "$:/core/ui/EditorToolbar/mono-block",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/mono-block",
"caption": "{{$:/language/Buttons/MonoBlock/Caption}}",
"description": "{{$:/language/Buttons/MonoBlock/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((mono-block))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n```\"\n\tsuffix=\"```\"\n/>\n"
},
"$:/core/ui/EditorToolbar/mono-line": {
"title": "$:/core/ui/EditorToolbar/mono-line",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/mono-line",
"caption": "{{$:/language/Buttons/MonoLine/Caption}}",
"description": "{{$:/language/Buttons/MonoLine/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((mono-line))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n/>\n"
},
"$:/core/ui/EditorToolbar/more-dropdown": {
"title": "$:/core/ui/EditorToolbar/more-dropdown",
"text": "\\define config-title()\n$:/config/EditorToolbarButtons/Visibility/$(toolbarItem)$\n\\end\n\n\\define conditional-button()\n<$list filter={{$(toolbarItem)$!!condition}} variable=\"condition\">\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\" mode=\"inline\"/> <$transclude tiddler=<<toolbarItem>> field=\"description\"/>\n</$list>\n\\end\n\n<div class=\"tc-text-editor-toolbar-more\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]] -[[$:/core/ui/EditorToolbar/more]]\">\n<$reveal type=\"match\" state=<<config-visibility-title>> text=\"hide\" tag=\"div\">\n<<conditional-button>>\n</$reveal>\n</$list>\n</div>\n"
},
"$:/core/ui/EditorToolbar/more": {
"title": "$:/core/ui/EditorToolbar/more",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/down-arrow",
"caption": "{{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"condition": "[<targetTiddler>]",
"dropdown": "$:/core/ui/EditorToolbar/more-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/opacity-dropdown": {
"title": "$:/core/ui/EditorToolbar/opacity-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Opacity/\n\n\\define toolbar-opacity-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(opacity)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Opacity\"\n\t$value=\"$(opacity)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(current-paint-colour)$; opacity: $(opacity)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(opacity)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/Opacity\" type=\"match\" text=\"\"\"$(opacity)$\"\"\" tag=\"span\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n\\define toolbar-opacity()\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/Opacities}} variable=\"opacity\">\n\n<<toolbar-opacity-inner>>\n\n</$list>\n\\end\n\n<$set name=\"current-paint-colour\" value={{$:/config/BitmapEditor/Colour}}>\n\n<$set name=\"current-opacity\" value={{$:/config/BitmapEditor/Opacity}}>\n\n<<toolbar-opacity>>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/EditorToolbar/opacity": {
"title": "$:/core/ui/EditorToolbar/opacity",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/opacity",
"caption": "{{$:/language/Buttons/Opacity/Caption}}",
"description": "{{$:/language/Buttons/Opacity/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/opacity-dropdown",
"text": "<$text text={{$:/config/BitmapEditor/Opacity}}/>\n"
},
"$:/core/ui/EditorToolbar/paint-dropdown": {
"title": "$:/core/ui/EditorToolbar/paint-dropdown",
"text": "''{{$:/language/Buttons/Paint/Hint}}''\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Colour\"\n\t$value=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
},
"$:/core/ui/EditorToolbar/paint": {
"title": "$:/core/ui/EditorToolbar/paint",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/paint",
"caption": "{{$:/language/Buttons/Paint/Caption}}",
"description": "{{$:/language/Buttons/Paint/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/paint-dropdown",
"text": "\\define toolbar-paint()\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(colour-picker-value)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\\end\n<$set name=\"colour-picker-value\" value={{$:/config/BitmapEditor/Colour}}>\n<<toolbar-paint>>\n</$set>\n"
},
"$:/core/ui/EditorToolbar/picture-dropdown": {
"title": "$:/core/ui/EditorToolbar/picture-dropdown",
"text": "\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n''{{$:/language/Buttons/Picture/Hint}}''\n\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext=<<replacement-text>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
},
"$:/core/ui/EditorToolbar/picture": {
"title": "$:/core/ui/EditorToolbar/picture",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/picture",
"caption": "{{$:/language/Buttons/Picture/Caption}}",
"description": "{{$:/language/Buttons/Picture/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((picture))",
"dropdown": "$:/core/ui/EditorToolbar/picture-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/preview-type-dropdown": {
"title": "$:/core/ui/EditorToolbar/preview-type-dropdown",
"text": "\\define preview-type-button()\n<$button tag=\"a\">\n\n<$action-setfield $tiddler=\"$:/state/editpreviewtype\" $value=\"$(previewType)$\"/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<previewType>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<previewType>> field=\"title\" mode=\"inline\"/>\n\n</$transclude> \n\n<$reveal tag=\"span\" state=\"$:/state/editpreviewtype\" type=\"match\" text=<<previewType>> default=\"$:/core/ui/EditTemplate/body/preview/output\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]]\" variable=\"previewType\">\n\n<<preview-type-button>>\n\n</$list>\n"
},
"$:/core/ui/EditorToolbar/preview-type": {
"title": "$:/core/ui/EditorToolbar/preview-type",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/chevron-down",
"caption": "{{$:/language/Buttons/PreviewType/Caption}}",
"description": "{{$:/language/Buttons/PreviewType/Hint}}",
"condition": "[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]butfirst[]limit[1]]",
"button-classes": "tc-text-editor-toolbar-item-adjunct",
"dropdown": "$:/core/ui/EditorToolbar/preview-type-dropdown"
},
"$:/core/ui/EditorToolbar/preview": {
"title": "$:/core/ui/EditorToolbar/preview",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/preview-open",
"custom-icon": "yes",
"caption": "{{$:/language/Buttons/Preview/Caption}}",
"description": "{{$:/language/Buttons/Preview/Hint}}",
"condition": "[<targetTiddler>]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((preview))",
"text": "<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-open}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"no\"/>\n</$reveal>\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-closed}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"yes\"/>\n</$reveal>\n"
},
"$:/core/ui/EditorToolbar/quote": {
"title": "$:/core/ui/EditorToolbar/quote",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/quote",
"caption": "{{$:/language/Buttons/Quote/Caption}}",
"description": "{{$:/language/Buttons/Quote/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((quote))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n<<<\"\n\tsuffix=\"<<<\"\n/>\n"
},
"$:/core/ui/EditorToolbar/size-dropdown": {
"title": "$:/core/ui/EditorToolbar/size-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Size/\n\n\\define toolbar-button-size-preset(config-title)\n<$set name=\"width\" filter=\"$(sizePair)$ +[first[]]\">\n\n<$set name=\"height\" filter=\"$(sizePair)$ +[last[]]\">\n\n<$button tag=\"a\">\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n\t$value=<<width>>\n/>\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n\t$value=<<height>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/presets-popup\"\"\"\n/>\n\n<$text text=<<width>>/> × <$text text=<<height>>/>\n\n</$button>\n\n</$set>\n\n</$set>\n\\end\n\n\\define toolbar-button-size(config-title)\n''{{$:/language/Buttons/Size/Hint}}''\n\n<<lingo Caption/Width>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-width\"\"\" default=<<tv-bitmap-editor-width>> focus=\"true\" size=\"8\"/> <<lingo Caption/Height>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-height\"\"\" default=<<tv-bitmap-editor-height>> size=\"8\"/> <$button popup=\"\"\"$config-title$/presets-popup\"\"\" class=\"tc-btn-invisible tc-popup-keep\" style=\"width: auto; display: inline-block; background-colour: inherit;\" selectedClass=\"tc-selected\">\n{{$:/core/images/down-arrow}}\n</$button>\n\n<$reveal tag=\"span\" state=\"\"\"$config-title$/presets-popup\"\"\" type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down tc-popup-keep\">\n\n<$list filter={{$:/config/BitmapEditor/ImageSizes}} variable=\"sizePair\">\n\n<$macrocall $name=\"toolbar-button-size-preset\" config-title=\"$config-title$\"/>\n\n</$list>\n\n</div>\n\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"resize\"\n\twidth={{$config-title$/new-width}}\n\theight={{$config-title$/new-height}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Resize>>\n</$button>\n\\end\n\n<$macrocall $name=\"toolbar-button-size\" config-title=<<qualify \"$:/state/Size/\">>/>\n"
},
"$:/core/ui/EditorToolbar/size": {
"title": "$:/core/ui/EditorToolbar/size",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/size",
"caption": "{{$:/language/Buttons/Size/Caption}}",
"description": "{{$:/language/Buttons/Size/Hint}}",
"condition": "[<targetTiddler>is[image]]",
"dropdown": "$:/core/ui/EditorToolbar/size-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/stamp-dropdown": {
"title": "$:/core/ui/EditorToolbar/stamp-dropdown",
"text": "\\define toolbar-button-stamp-inner()\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext={{$(snippetTitle)$}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$view tiddler=<<snippetTitle>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<snippetTitle>> field=\"title\" mode=\"inline\"/>\n\n</$view>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TextEditor/Snippet]!has[draft.of]sort[caption]]\" variable=\"snippetTitle\">\n\n<<toolbar-button-stamp-inner>>\n\n</$list>\n\n----\n\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-new-tiddler\"\n\ttags=\"$:/tags/TextEditor/Snippet\"\n\tcaption={{$:/language/Buttons/Stamp/New/Title}}\n\ttext={{$:/language/Buttons/Stamp/New/Text}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<em>\n\n<$text text={{$:/language/Buttons/Stamp/Caption/New}}/>\n\n</em>\n\n</$button>\n"
},
"$:/core/ui/EditorToolbar/stamp": {
"title": "$:/core/ui/EditorToolbar/stamp",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/stamp",
"caption": "{{$:/language/Buttons/Stamp/Caption}}",
"description": "{{$:/language/Buttons/Stamp/Hint}}",
"condition": "[<targetTiddler>!is[image]]",
"shortcuts": "((stamp))",
"dropdown": "$:/core/ui/EditorToolbar/stamp-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/strikethrough": {
"title": "$:/core/ui/EditorToolbar/strikethrough",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/strikethrough",
"caption": "{{$:/language/Buttons/Strikethrough/Caption}}",
"description": "{{$:/language/Buttons/Strikethrough/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((strikethrough))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"~~\"\n\tsuffix=\"~~\"\n/>\n"
},
"$:/core/ui/EditorToolbar/subscript": {
"title": "$:/core/ui/EditorToolbar/subscript",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/subscript",
"caption": "{{$:/language/Buttons/Subscript/Caption}}",
"description": "{{$:/language/Buttons/Subscript/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((subscript))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\",,\"\n\tsuffix=\",,\"\n/>\n"
},
"$:/core/ui/EditorToolbar/superscript": {
"title": "$:/core/ui/EditorToolbar/superscript",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/superscript",
"caption": "{{$:/language/Buttons/Superscript/Caption}}",
"description": "{{$:/language/Buttons/Superscript/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((superscript))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"^^\"\n\tsuffix=\"^^\"\n/>\n"
},
"$:/core/ui/EditorToolbar/underline": {
"title": "$:/core/ui/EditorToolbar/underline",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/underline",
"caption": "{{$:/language/Buttons/Underline/Caption}}",
"description": "{{$:/language/Buttons/Underline/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((underline))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"__\"\n\tsuffix=\"__\"\n/>\n"
},
"$:/core/Filters/AllTags": {
"title": "$:/core/Filters/AllTags",
"tags": "$:/tags/Filter",
"filter": "[tags[]!is[system]sort[title]]",
"description": "{{$:/language/Filters/AllTags}}",
"text": ""
},
"$:/core/Filters/AllTiddlers": {
"title": "$:/core/Filters/AllTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]sort[title]]",
"description": "{{$:/language/Filters/AllTiddlers}}",
"text": ""
},
"$:/core/Filters/Drafts": {
"title": "$:/core/Filters/Drafts",
"tags": "$:/tags/Filter",
"filter": "[has[draft.of]sort[title]]",
"description": "{{$:/language/Filters/Drafts}}",
"text": ""
},
"$:/core/Filters/Missing": {
"title": "$:/core/Filters/Missing",
"tags": "$:/tags/Filter",
"filter": "[all[missing]sort[title]]",
"description": "{{$:/language/Filters/Missing}}",
"text": ""
},
"$:/core/Filters/Orphans": {
"title": "$:/core/Filters/Orphans",
"tags": "$:/tags/Filter",
"filter": "[all[orphans]sort[title]]",
"description": "{{$:/language/Filters/Orphans}}",
"text": ""
},
"$:/core/Filters/OverriddenShadowTiddlers": {
"title": "$:/core/Filters/OverriddenShadowTiddlers",
"tags": "$:/tags/Filter",
"filter": "[is[shadow]]",
"description": "{{$:/language/Filters/OverriddenShadowTiddlers}}",
"text": ""
},
"$:/core/Filters/RecentSystemTiddlers": {
"title": "$:/core/Filters/RecentSystemTiddlers",
"tags": "$:/tags/Filter",
"filter": "[has[modified]!sort[modified]limit[50]]",
"description": "{{$:/language/Filters/RecentSystemTiddlers}}",
"text": ""
},
"$:/core/Filters/RecentTiddlers": {
"title": "$:/core/Filters/RecentTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]has[modified]!sort[modified]limit[50]]",
"description": "{{$:/language/Filters/RecentTiddlers}}",
"text": ""
},
"$:/core/Filters/ShadowTiddlers": {
"title": "$:/core/Filters/ShadowTiddlers",
"tags": "$:/tags/Filter",
"filter": "[all[shadows]sort[title]]",
"description": "{{$:/language/Filters/ShadowTiddlers}}",
"text": ""
},
"$:/core/Filters/SystemTags": {
"title": "$:/core/Filters/SystemTags",
"tags": "$:/tags/Filter",
"filter": "[all[shadows+tiddlers]tags[]is[system]sort[title]]",
"description": "{{$:/language/Filters/SystemTags}}",
"text": ""
},
"$:/core/Filters/SystemTiddlers": {
"title": "$:/core/Filters/SystemTiddlers",
"tags": "$:/tags/Filter",
"filter": "[is[system]sort[title]]",
"description": "{{$:/language/Filters/SystemTiddlers}}",
"text": ""
},
"$:/core/Filters/TypedTiddlers": {
"title": "$:/core/Filters/TypedTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]has[type]each[type]sort[type]] -[type[text/vnd.tiddlywiki]]",
"description": "{{$:/language/Filters/TypedTiddlers}}",
"text": ""
},
"$:/core/ui/ImportListing": {
"title": "$:/core/ui/ImportListing",
"text": "\\define lingo-base() $:/language/Import/\n\\define messageField()\nmessage-$(payloadTiddler)$\n\\end\n\\define selectionField()\nselection-$(payloadTiddler)$\n\\end\n\\define previewPopupState()\n$(currentTiddler)$!!popup-$(payloadTiddler)$\n\\end\n<table>\n<tbody>\n<tr>\n<th>\n<<lingo Listing/Select/Caption>>\n</th>\n<th>\n<<lingo Listing/Title/Caption>>\n</th>\n<th>\n<<lingo Listing/Status/Caption>>\n</th>\n</tr>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<tr>\n<td>\n<$checkbox field=<<selectionField>> checked=\"checked\" unchecked=\"unchecked\" default=\"checked\"/>\n</td>\n<td>\n<$reveal type=\"nomatch\" state=<<previewPopupState>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<previewPopupState>> setTo=\"yes\">\n{{$:/core/images/right-arrow}} <$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<previewPopupState>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<previewPopupState>> setTo=\"no\">\n{{$:/core/images/down-arrow}} <$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n</td>\n<td>\n<$view field=<<messageField>>/>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\">\n<$reveal type=\"match\" text=\"yes\" state=<<previewPopupState>>>\n<$transclude subtiddler=<<payloadTiddler>> mode=\"block\"/>\n</$reveal>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ListItemTemplate": {
"title": "$:/core/ui/ListItemTemplate",
"text": "<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</div>"
},
"$:/core/ui/MissingTemplate": {
"title": "$:/core/ui/MissingTemplate",
"text": "<div class=\"tc-tiddler-missing\">\n<$button popup=<<qualify \"$:/state/popup/missing\">> class=\"tc-btn-invisible tc-missing-tiddler-label\">\n<$view field=\"title\" format=\"text\" />\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/missing\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[all[current]backlinks[]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n</div>\n"
},
"$:/core/ui/MoreSideBar/All": {
"title": "$:/core/ui/MoreSideBar/All",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/All/Caption}}",
"text": "<$list filter={{$:/core/Filters/AllTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Drafts": {
"title": "$:/core/ui/MoreSideBar/Drafts",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Drafts/Caption}}",
"text": "<$list filter={{$:/core/Filters/Drafts!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Missing": {
"title": "$:/core/ui/MoreSideBar/Missing",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Missing/Caption}}",
"text": "<$list filter={{$:/core/Filters/Missing!!filter}} template=\"$:/core/ui/MissingTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Orphans": {
"title": "$:/core/ui/MoreSideBar/Orphans",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Orphans/Caption}}",
"text": "<$list filter={{$:/core/Filters/Orphans!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Recent": {
"title": "$:/core/ui/MoreSideBar/Recent",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Recent/Caption}}",
"text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
},
"$:/core/ui/MoreSideBar/Shadows": {
"title": "$:/core/ui/MoreSideBar/Shadows",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Shadows/Caption}}",
"text": "<$list filter={{$:/core/Filters/ShadowTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/System": {
"title": "$:/core/ui/MoreSideBar/System",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/System/Caption}}",
"text": "<$list filter={{$:/core/Filters/SystemTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Tags": {
"title": "$:/core/ui/MoreSideBar/Tags",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Tags/Caption}}",
"text": "<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n{{$:/core/ui/Buttons/tag-manager}}\n\n</$set>\n\n</$set>\n\n</$set>\n\n<$list filter={{$:/core/Filters/AllTags!!filter}}>\n\n<$transclude tiddler=\"$:/core/ui/TagTemplate\"/>\n\n</$list>\n\n<hr class=\"tc-untagged-separator\">\n\n{{$:/core/ui/UntaggedTemplate}}\n"
},
"$:/core/ui/MoreSideBar/Types": {
"title": "$:/core/ui/MoreSideBar/Types",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Types/Caption}}",
"text": "<$list filter={{$:/core/Filters/TypedTiddlers!!filter}}>\n<div class=\"tc-menu-list-item\">\n<$view field=\"type\"/>\n<$list filter=\"[type{!!type}!is[system]sort[title]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$list>\n</div>\n</$list>\n"
},
"$:/core/ui/Buttons/advanced-search": {
"title": "$:/core/ui/Buttons/advanced-search",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/advanced-search-button}} {{$:/language/Buttons/AdvancedSearch/Caption}}",
"description": "{{$:/language/Buttons/AdvancedSearch/Hint}}",
"text": "\\define control-panel-button(class)\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/advanced-search-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/AdvancedSearch]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/close-all": {
"title": "$:/core/ui/Buttons/close-all",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/close-all-button}} {{$:/language/Buttons/CloseAll/Caption}}",
"description": "{{$:/language/Buttons/CloseAll/Hint}}",
"text": "<$button message=\"tm-close-all-tiddlers\" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/close-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/CloseAll/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/control-panel": {
"title": "$:/core/ui/Buttons/control-panel",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Caption}}",
"description": "{{$:/language/Buttons/ControlPanel/Hint}}",
"text": "\\define control-panel-button(class)\n<$button to=\"$:/ControlPanel\" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/options-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/ControlPanel]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/encryption": {
"title": "$:/core/ui/Buttons/encryption",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/locked-padlock}} {{$:/language/Buttons/Encryption/Caption}}",
"description": "{{$:/language/Buttons/Encryption/Hint}}",
"text": "<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-clear-password\" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/locked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/ClearPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-set-password\" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/unlocked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>"
},
"$:/core/ui/Buttons/export-page": {
"title": "$:/core/ui/Buttons/export-page",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}",
"description": "{{$:/language/Buttons/ExportPage/Hint}}",
"text": "<$macrocall $name=\"exportButton\" exportFilter=\"[!is[system]sort[title]]\" lingoBase=\"$:/language/Buttons/ExportPage/\"/>"
},
"$:/core/ui/Buttons/fold-all": {
"title": "$:/core/ui/Buttons/fold-all",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/fold-all-button}} {{$:/language/Buttons/FoldAll/Caption}}",
"description": "{{$:/language/Buttons/FoldAll/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/FoldAll/Hint}} aria-label={{$:/language/Buttons/FoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FoldAll/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/full-screen": {
"title": "$:/core/ui/Buttons/full-screen",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/full-screen-button}} {{$:/language/Buttons/FullScreen/Caption}}",
"description": "{{$:/language/Buttons/FullScreen/Hint}}",
"text": "<$button message=\"tm-full-screen\" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/full-screen-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FullScreen/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/home": {
"title": "$:/core/ui/Buttons/home",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/home-button}} {{$:/language/Buttons/Home/Caption}}",
"description": "{{$:/language/Buttons/Home/Hint}}",
"text": "<$button message=\"tm-home\" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/home-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Home/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/import": {
"title": "$:/core/ui/Buttons/import",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/import-button}} {{$:/language/Buttons/Import/Caption}}",
"description": "{{$:/language/Buttons/Import/Hint}}",
"text": "<div class=\"tc-file-input-wrapper\">\n<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/import-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Import/Caption}}/></span>\n</$list>\n</$button>\n<$browse tooltip={{$:/language/Buttons/Import/Hint}}/>\n</div>"
},
"$:/core/ui/Buttons/language": {
"title": "$:/core/ui/Buttons/language",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}",
"description": "{{$:/language/Buttons/Language/Hint}}",
"text": "\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/language\">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value={{$:/language}}>\n<$image source=<<flag-title>>/>\n</$set>\n</span>\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Language/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/language\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down tc-drop-down-language-chooser\">\n<$linkcatcher to=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<$link>\n<span class=\"tc-drop-down-bullet\">\n<$reveal type=\"match\" state=\"$:/language\" text=<<currentTiddler>>>\n•\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/language\" text=<<currentTiddler>>>\n \n</$reveal>\n</span>\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value=<<currentTiddler>>>\n<$transclude subtiddler=<<flag-title>>>\n<$list filter=\"[all[current]field:title[$:/languages/en-GB]]\">\n<$transclude tiddler=\"$:/languages/en-GB/icon\"/>\n</$list>\n</$transclude>\n</$set>\n</span>\n<$view field=\"description\">\n<$view field=\"name\">\n<$view field=\"title\"/>\n</$view>\n</$view>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>"
},
"$:/core/ui/Buttons/more-page-actions": {
"title": "$:/core/ui/Buttons/more-page-actions",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/More/Caption}}/></span>\n</$list>\n</$button><$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
},
"$:/core/ui/Buttons/new-image": {
"title": "$:/core/ui/Buttons/new-image",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-image-button}} {{$:/language/Buttons/NewImage/Caption}}",
"description": "{{$:/language/Buttons/NewImage/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/NewImage/Hint}} aria-label={{$:/language/Buttons/NewImage/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=\"image/jpeg\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-image-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewImage/Caption}}/></span>\n</$list>\n</$button>\n"
},
"$:/core/ui/Buttons/new-journal": {
"title": "$:/core/ui/Buttons/new-journal",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournal/Caption}}",
"description": "{{$:/language/Buttons/NewJournal/Hint}}",
"text": "\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<now \"$(journalTitleTemplate)$\">> tags=\"$(journalTags)$\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewJournal/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags}}>\n<<journalButton>>\n</$set></$set>"
},
"$:/core/ui/Buttons/new-tiddler": {
"title": "$:/core/ui/Buttons/new-tiddler",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-button}} {{$:/language/Buttons/NewTiddler/Caption}}",
"description": "{{$:/language/Buttons/NewTiddler/Hint}}",
"text": "<$button message=\"tm-new-tiddler\" tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewTiddler/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/palette": {
"title": "$:/core/ui/Buttons/palette",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/palette}} {{$:/language/Buttons/Palette/Caption}}",
"description": "{{$:/language/Buttons/Palette/Hint}}",
"text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/palette\">> tooltip={{$:/language/Buttons/Palette/Hint}} aria-label={{$:/language/Buttons/Palette/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/palette}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Palette/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/palette\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\" style=\"font-size:0.7em;\">\n{{$:/snippets/paletteswitcher}}\n</div>\n</$reveal>"
},
"$:/core/ui/Buttons/refresh": {
"title": "$:/core/ui/Buttons/refresh",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/refresh-button}} {{$:/language/Buttons/Refresh/Caption}}",
"description": "{{$:/language/Buttons/Refresh/Hint}}",
"text": "<$button message=\"tm-browser-refresh\" tooltip={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/refresh-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Refresh/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/save-wiki": {
"title": "$:/core/ui/Buttons/save-wiki",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Caption}}",
"description": "{{$:/language/Buttons/SaveWiki/Hint}}",
"text": "<$button message=\"tm-save-wiki\" param={{$:/config/SaveWikiButton/Template}} tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>\n<span class=\"tc-dirty-indicator\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/save-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/SaveWiki/Caption}}/></span>\n</$list>\n</span>\n</$button>"
},
"$:/core/ui/Buttons/storyview": {
"title": "$:/core/ui/Buttons/storyview",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/storyview-classic}} {{$:/language/Buttons/StoryView/Caption}}",
"description": "{{$:/language/Buttons/StoryView/Hint}}",
"text": "\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/storyview\">> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n<$set name=\"storyview\" value={{$:/view}}>\n<$transclude tiddler=<<icon>>/>\n</$set>\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/StoryView/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/storyview\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/view\">\n<$list filter=\"[storyviews[]]\" variable=\"storyview\">\n<$link to=<<storyview>>>\n<span class=\"tc-drop-down-bullet\">\n<$reveal type=\"match\" state=\"$:/view\" text=<<storyview>>>\n•\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/view\" text=<<storyview>>>\n \n</$reveal>\n</span>\n<$transclude tiddler=<<icon>>/>\n<$text text=<<storyview>>/></$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>"
},
"$:/core/ui/Buttons/tag-manager": {
"title": "$:/core/ui/Buttons/tag-manager",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}}",
"description": "{{$:/language/Buttons/TagManager/Hint}}",
"text": "\\define control-panel-button(class)\n<$button to=\"$:/TagManager\" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/tag-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/TagManager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/TagManager]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/theme": {
"title": "$:/core/ui/Buttons/theme",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/theme-button}} {{$:/language/Buttons/Theme/Caption}}",
"description": "{{$:/language/Buttons/Theme/Hint}}",
"text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/theme\">> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/theme-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Theme/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/theme\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\" variable=\"themeTitle\">\n<$link to=<<themeTitle>>>\n<span class=\"tc-drop-down-bullet\">\n<$reveal type=\"match\" state=\"$:/theme\" text=<<themeTitle>>>\n•\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/theme\" text=<<themeTitle>>>\n \n</$reveal>\n</span>\n<$view tiddler=<<themeTitle>> field=\"name\"/>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>"
},
"$:/core/ui/Buttons/unfold-all": {
"title": "$:/core/ui/Buttons/unfold-all",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/unfold-all-button}} {{$:/language/Buttons/UnfoldAll/Caption}}",
"description": "{{$:/language/Buttons/UnfoldAll/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/UnfoldAll/Hint}} aria-label={{$:/language/Buttons/UnfoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-unfold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/UnfoldAll/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/PageTemplate/pagecontrols": {
"title": "$:/core/ui/PageTemplate/pagecontrols",
"text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-page-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$reveal>\n</$list>\n</div>\n\n"
},
"$:/core/ui/PageStylesheet": {
"title": "$:/core/ui/PageStylesheet",
"text": "<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\n</$set>\n\n</$set>\n\n</$importvariables>\n"
},
"$:/core/ui/PageTemplate/alerts": {
"title": "$:/core/ui/PageTemplate/alerts",
"tags": "$:/tags/PageTemplate",
"text": "<div class=\"tc-alerts\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Alert]!has[draft.of]]\" template=\"$:/core/ui/AlertTemplate\" storyview=\"pop\"/>\n\n</div>\n"
},
"$:/core/ui/PageTemplate/pluginreloadwarning": {
"title": "$:/core/ui/PageTemplate/pluginreloadwarning",
"tags": "$:/tags/PageTemplate",
"text": "\\define lingo-base() $:/language/\n\n<$list filter=\"[has[plugin-type]haschanged[]!plugin-type[import]limit[1]]\">\n\n<$reveal type=\"nomatch\" state=\"$:/temp/HidePluginWarning\" text=\"yes\">\n\n<div class=\"tc-plugin-reload-warning\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<<lingo PluginReloadWarning>> <$button set=\"$:/temp/HidePluginWarning\" setTo=\"yes\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button>\n\n</$set>\n\n</div>\n\n</$reveal>\n\n</$list>\n"
},
"$:/core/ui/PageTemplate/sidebar": {
"title": "$:/core/ui/PageTemplate/sidebar",
"tags": "$:/tags/PageTemplate",
"text": "<$scrollable fallthrough=\"no\" class=\"tc-sidebar-scrollable\">\n\n<div class=\"tc-sidebar-header\">\n\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\" retain=\"yes\" animate=\"yes\">\n\n<h1 class=\"tc-site-title\">\n\n<$transclude tiddler=\"$:/SiteTitle\" mode=\"inline\"/>\n\n</h1>\n\n<div class=\"tc-site-subtitle\">\n\n<$transclude tiddler=\"$:/SiteSubtitle\" mode=\"inline\"/>\n\n</div>\n\n{{||$:/core/ui/PageTemplate/pagecontrols}}\n\n<$transclude tiddler=\"$:/core/ui/SideBarLists\" mode=\"inline\"/>\n\n</$reveal>\n\n</div>\n\n</$scrollable>"
},
"$:/core/ui/PageTemplate/story": {
"title": "$:/core/ui/PageTemplate/story",
"tags": "$:/tags/PageTemplate",
"text": "<section class=\"tc-story-river\">\n\n<section class=\"story-backdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template=\"$:/core/ui/ViewTemplate\" editTemplate=\"$:/core/ui/EditTemplate\" storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>\n\n<section class=\"story-frontdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n</section>\n"
},
"$:/core/ui/PageTemplate/topleftbar": {
"title": "$:/core/ui/PageTemplate/topleftbar",
"tags": "$:/tags/PageTemplate",
"text": "<span class=\"tc-topbar tc-topbar-left\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
},
"$:/core/ui/PageTemplate/toprightbar": {
"title": "$:/core/ui/PageTemplate/toprightbar",
"tags": "$:/tags/PageTemplate",
"text": "<span class=\"tc-topbar tc-topbar-right\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
},
"$:/core/ui/PageTemplate": {
"title": "$:/core/ui/PageTemplate",
"text": "\\define containerClasses()\ntc-page-container tc-page-view-$(themeTitle)$ tc-language-$(languageTitle)$\n\\end\n\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<$set name=\"tv-config-toolbar-icons\" value={{$:/config/Toolbar/Icons}}>\n\n<$set name=\"tv-config-toolbar-text\" value={{$:/config/Toolbar/Text}}>\n\n<$set name=\"tv-config-toolbar-class\" value={{$:/config/Toolbar/ButtonClass}}>\n\n<$set name=\"themeTitle\" value={{$:/view}}>\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$set name=\"currentTiddler\" value=\"\">\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}}>\n\n<$dropzone>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n\n</$dropzone>\n\n</$navigator>\n\n</div>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$importvariables>\n"
},
"$:/core/ui/PluginInfo": {
"title": "$:/core/ui/PluginInfo",
"text": "\\define localised-info-tiddler-title()\n$(currentTiddler)$/$(languageTitle)$/$(currentTab)$\n\\end\n\\define info-tiddler-title()\n$(currentTiddler)$/$(currentTab)$\n\\end\n<$transclude tiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<info-tiddler-title>> mode=\"block\">\n{{$:/language/ControlPanel/Plugin/NoInfoFound/Hint}}\n</$transclude>\n</$transclude>\n</$transclude>\n"
},
"$:/core/ui/SearchResults": {
"title": "$:/core/ui/SearchResults",
"text": "<div class=\"tc-search-results\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\"\"\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n\n</$list>\n\n</div>\n"
},
"$:/core/ui/SideBar/More": {
"title": "$:/core/ui/SideBar/More",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/More/Caption}}",
"text": "<div class=\"tc-more-sidebar\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\" \"$:/core/ui/MoreSideBar/Tags\" \"$:/state/tab/moresidebar\" \"tc-vertical\">>\n</div>\n"
},
"$:/core/ui/SideBar/Open": {
"title": "$:/core/ui/SideBar/Open",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Open/Caption}}",
"text": "\\define lingo-base() $:/language/CloseAll/\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" storyview=\"pop\">\n\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini\">×</$button> <$link to={{!!title}}><$view field=\"title\"/></$link>\n\n</$list>\n\n<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\n"
},
"$:/core/ui/SideBar/Recent": {
"title": "$:/core/ui/SideBar/Recent",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Recent/Caption}}",
"text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
},
"$:/core/ui/SideBar/Tools": {
"title": "$:/core/ui/SideBar/Tools",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Tools/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\n<<lingo Basics/Version/Prompt>> <<version>>\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\n<div style=\"position:relative;\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</div>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/SideBarLists": {
"title": "$:/core/ui/SideBarLists",
"text": "<div class=\"tc-sidebar-lists\">\n\n<$set name=\"searchTiddler\" value=\"$:/temp/search\">\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/search\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-popup-handle\"/>\n<$reveal state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search}}/>\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n<$button popup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-btn-invisible\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[!is[system]search{$(searchTiddler)$}]\"/>\"\"\">\n{{$:/core/images/down-arrow}} {{$:/language/Search/Matches}}\n</$set>\n</$button>\n</$reveal>\n<$reveal state=\"$:/temp/search\" type=\"match\" text=\"\">\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-search-drop-down tc-popup-handle\" state=<<qualify \"$:/state/popup/search-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n\n{{$:/core/ui/SearchResults}}\n\n</$reveal>\n\n</$reveal>\n\n</$set>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\" default={{$:/config/DefaultSidebarTab}} state=\"$:/state/tab/sidebar\" />\n\n</div>\n"
},
"$:/TagManager": {
"title": "$:/TagManager",
"icon": "$:/core/images/tag-button",
"color": "#bbb",
"text": "\\define lingo-base() $:/language/TagManager/\n\\define iconEditorTab(type)\n<$list filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]] +[$type$is[system]]\">\n<$link to={{!!title}}>\n<$transclude/> <$view field=\"title\"/>\n</$link>\n</$list>\n\\end\n\\define iconEditor(title)\n<div class=\"tc-drop-down-wrapper\">\n<$button popup=<<qualify \"$:/state/popup/icon/$title$\">> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/icon/$title$\">> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$title$!!icon\">\n<<iconEditorTab type:\"!\">>\n<hr/>\n<<iconEditorTab type:\"\">>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>\n\\end\n\\define qualifyTitle(title)\n$title$$(currentTiddler)$\n\\end\n\\define toggleButton(state)\n<$reveal state=\"$state$\" type=\"match\" text=\"closed\" default=\"closed\">\n<$button set=\"$state$\" setTo=\"open\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n<$reveal state=\"$state$\" type=\"match\" text=\"open\" default=\"closed\">\n<$button set=\"$state$\" setTo=\"closed\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n\\end\n<table class=\"tc-tag-manager-table\">\n<tbody>\n<tr>\n<th><<lingo Colour/Heading>></th>\n<th class=\"tc-tag-manager-tag\"><<lingo Tag/Heading>></th>\n<th><<lingo Count/Heading>></th>\n<th><<lingo Icon/Heading>></th>\n<th><<lingo Info/Heading>></th>\n</tr>\n<$list filter=\"[tags[]!is[system]sort[title]]\">\n<tr>\n<td><$edit-text field=\"color\" tag=\"input\" type=\"color\"/></td>\n<td><$transclude tiddler=\"$:/core/ui/TagTemplate\"/></td>\n<td><$count filter=\"[all[current]tagging[]]\"/></td>\n<td>\n<$macrocall $name=\"iconEditor\" title={{!!title}}/>\n</td>\n<td>\n<$macrocall $name=\"toggleButton\" state=<<qualifyTitle \"$:/state/tag-manager/\">> /> \n</td>\n</tr>\n<tr>\n<td></td>\n<td colspan=\"4\">\n<$reveal state=<<qualifyTitle \"$:/state/tag-manager/\">> type=\"match\" text=\"open\" default=\"\">\n<table>\n<tbody>\n<tr><td><<lingo Colour/Heading>></td><td><$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/></td></tr>\n<tr><td><<lingo Icon/Heading>></td><td><$edit-text field=\"icon\" tag=\"input\" size=\"45\"/></td></tr>\n</tbody>\n</table>\n</$reveal>\n</td>\n</tr>\n</$list>\n<tr>\n<td></td>\n<td>\n{{$:/core/ui/UntaggedTemplate}}\n</td>\n<td>\n<small class=\"tc-menu-list-count\"><$count filter=\"[untagged[]!is[system]] -[tags[]]\"/></small>\n</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n"
},
"$:/core/ui/TagTemplate": {
"title": "$:/core/ui/TagTemplate",
"text": "\\define tag-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-body-inner(colour,fallbackTarget,colourA,colourB)\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-tag-label\" style=<<tag-styles>>>\n<$transclude tiddler={{!!icon}}/> <$view field=\"title\" format=\"text\" />\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\"><$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\" variable=\"listItem\"> \n<$transclude tiddler=<<listItem>>/> \n</$list> \n<hr>\n<$list filter=\"[all[current]tagging[]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</$reveal>\n</$vars>\n\\end\n\n\\define tag-body(colour,palette)\n<span class=\"tc-tag-list-item\">\n<$macrocall $name=\"tag-body-inner\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}}/>\n</span>\n\\end\n\n<$macrocall $name=\"tag-body\" colour={{!!color}} palette={{$:/palette}}/>\n"
},
"$:/core/ui/TiddlerFieldTemplate": {
"title": "$:/core/ui/TiddlerFieldTemplate",
"text": "<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<listItem>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<listItem>>/>\n</td>\n</tr>"
},
"$:/core/ui/TiddlerFields": {
"title": "$:/core/ui/TiddlerFields",
"text": "<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
},
"$:/core/ui/TiddlerInfo/Advanced/PluginInfo": {
"title": "$:/core/ui/TiddlerInfo/Advanced/PluginInfo",
"tags": "$:/tags/TiddlerInfo/Advanced",
"text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<$list filter=\"[all[current]has[plugin-type]]\">\n\n! <<lingo Heading>>\n\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n\n</$list>\n"
},
"$:/core/ui/TiddlerInfo/Advanced/ShadowInfo": {
"title": "$:/core/ui/TiddlerInfo/Advanced/ShadowInfo",
"tags": "$:/tags/TiddlerInfo/Advanced",
"text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/ShadowInfo/\n<$set name=\"infoTiddler\" value=<<currentTiddler>>>\n\n''<<lingo Heading>>''\n\n<$list filter=\"[all[current]!is[shadow]]\">\n\n<<lingo NotShadow/Hint>>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]]\">\n\n<<lingo Shadow/Hint>>\n\n<$list filter=\"[all[current]shadowsource[]]\">\n\n<$set name=\"pluginTiddler\" value=<<currentTiddler>>>\n<<lingo Shadow/Source>>\n</$set>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\">\n\n<<lingo OverriddenShadow/Hint>>\n\n</$list>\n\n\n</$list>\n</$set>\n"
},
"$:/core/ui/TiddlerInfo/Advanced": {
"title": "$:/core/ui/TiddlerInfo/Advanced",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Advanced/Caption}}",
"text": "<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo/Advanced]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n"
},
"$:/core/ui/TiddlerInfo/Fields": {
"title": "$:/core/ui/TiddlerInfo/Fields",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Fields/Caption}}",
"text": "<$transclude tiddler=\"$:/core/ui/TiddlerFields\"/>\n"
},
"$:/core/ui/TiddlerInfo/List": {
"title": "$:/core/ui/TiddlerInfo/List",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/List/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[list{!!title}]\" emptyMessage=<<lingo List/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/Listed": {
"title": "$:/core/ui/TiddlerInfo/Listed",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Listed/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]listed[]!is[system]]\" emptyMessage=<<lingo Listed/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/References": {
"title": "$:/core/ui/TiddlerInfo/References",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/References/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]backlinks[]sort[title]]\" emptyMessage=<<lingo References/Empty>> template=\"$:/core/ui/ListItemTemplate\">\n</$list>\n"
},
"$:/core/ui/TiddlerInfo/Tagging": {
"title": "$:/core/ui/TiddlerInfo/Tagging",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Tagging/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]tagging[]]\" emptyMessage=<<lingo Tagging/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/Tools": {
"title": "$:/core/ui/TiddlerInfo/Tools",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Tools/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/TiddlerInfo": {
"title": "$:/core/ui/TiddlerInfo",
"text": "<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!has[draft.of]]\" default={{$:/config/TiddlerInfo/Default}}/>"
},
"$:/core/ui/TopBar/menu": {
"title": "$:/core/ui/TopBar/menu",
"tags": "$:/tags/TopRightBar",
"text": "<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"no\" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}}</$button>\n</$reveal>\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"yes\" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-left}}</$button>\n</$reveal>\n"
},
"$:/core/ui/UntaggedTemplate": {
"title": "$:/core/ui/UntaggedTemplate",
"text": "\\define lingo-base() $:/language/SideBar/\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-untagged-label tc-tag-label\">\n<<lingo Tags/Untagged/Caption>>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[untagged[]!is[system]] -[tags[]] +[sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate/body": {
"title": "$:/core/ui/ViewTemplate/body",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal tag=\"div\" class=\"tc-tiddler-body\" type=\"nomatch\" state=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[current]!has[plugin-type]!field:hide-body[yes]]\">\n\n<$transclude>\n\n<$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/>\n\n</$transclude>\n\n</$list>\n\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate/classic": {
"title": "$:/core/ui/ViewTemplate/classic",
"tags": "$:/tags/ViewTemplate $:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/ClassicWarning/\n<$list filter=\"[all[current]type[text/x-tiddlywiki]]\">\n<div class=\"tc-message-box\">\n\n<<lingo Hint>>\n\n<$button set=\"!!type\" setTo=\"text/vnd.tiddlywiki\"><<lingo Upgrade/Caption>></$button>\n\n</div>\n</$list>\n"
},
"$:/core/ui/ViewTemplate/import": {
"title": "$:/core/ui/ViewTemplate/import",
"tags": "$:/tags/ViewTemplate",
"text": "\\define lingo-base() $:/language/Import/\n\n<$list filter=\"[all[current]field:plugin-type[import]]\">\n\n<div class=\"tc-import\">\n\n<<lingo Listing/Hint>>\n\n<$button message=\"tm-delete-tiddler\" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>\n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n\n{{||$:/core/ui/ImportListing}}\n\n<$button message=\"tm-delete-tiddler\" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>\n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/ViewTemplate/plugin": {
"title": "$:/core/ui/ViewTemplate/plugin",
"tags": "$:/tags/ViewTemplate",
"text": "<$list filter=\"[all[current]has[plugin-type]] -[all[current]field:plugin-type[import]]\">\n\n{{||$:/core/ui/TiddlerInfo/Advanced/PluginInfo}}\n\n</$list>\n"
},
"$:/core/ui/ViewTemplate/subtitle": {
"title": "$:/core/ui/ViewTemplate/subtitle",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal type=\"nomatch\" state=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}}>\n<$view field=\"modifier\"/>\n</$link> <$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate/tags": {
"title": "$:/core/ui/ViewTemplate/tags",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal type=\"nomatch\" state=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-tags-wrapper\"><$list filter=\"[all[current]tags[]sort[title]]\" template=\"$:/core/ui/TagTemplate\" storyview=\"pop\"/></div>\n</$reveal>"
},
"$:/core/ui/ViewTemplate/title": {
"title": "$:/core/ui/ViewTemplate/title",
"tags": "$:/tags/ViewTemplate",
"text": "\\define title-styles()\nfill:$(foregroundColor)$;\n\\end\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<span class=\"tc-tiddler-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list>\n</span>\n<$set name=\"tv-wikilinks\" value={{$:/config/Tiddlers/TitleLinks}}>\n<$link>\n<$set name=\"foregroundColor\" value={{!!color}}>\n<span class=\"tc-tiddler-title-icon\" style=<<title-styles>>>\n<$transclude tiddler={{!!icon}}/>\n</span>\n</$set>\n<$list filter=\"[all[current]removeprefix[$:/]]\">\n<h2 class=\"tc-title\" title={{$:/language/SystemTiddler/Tooltip}}>\n<span class=\"tc-system-title-prefix\">$:/</span><$text text=<<currentTiddler>>/>\n</h2>\n</$list>\n<$list filter=\"[all[current]!prefix[$:/]]\">\n<h2 class=\"tc-title\">\n<$view field=\"title\"/>\n</h2>\n</$list>\n</$link>\n</$set>\n</div>\n\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=<<tiddlerInfoState>> class=\"tc-tiddler-info tc-popup-handle\" animate=\"yes\" retain=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/TiddlerInfo\"/>\n\n</$reveal>\n</div>"
},
"$:/core/ui/ViewTemplate/unfold": {
"title": "$:/core/ui/ViewTemplate/unfold",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal tag=\"div\" type=\"nomatch\" state=\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar\" text=\"hide\">\n<$reveal tag=\"div\" type=\"nomatch\" state=<<folded-state>> text=\"hide\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=\"tc-fold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-up}}\n</$button>\n</$reveal>\n<$reveal tag=\"div\" type=\"nomatch\" state=<<folded-state>> text=\"show\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=\"tc-unfold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate": {
"title": "$:/core/ui/ViewTemplate",
"text": "\\define frame-classes()\ntc-tiddler-frame tc-tiddler-view-frame $(missingTiddlerClass)$ $(shadowTiddlerClass)$ $(systemTiddlerClass)$ $(tiddlerTagClasses)$\n\\end\n\\define folded-state()\n$:/state/folded/$(currentTiddler)$\n\\end\n<$set name=\"storyTiddler\" value=<<currentTiddler>>><$set name=\"tiddlerInfoState\" value=<<qualify \"$:/state/popup/tiddler-info\">>><$tiddler tiddler=<<currentTiddler>>><div class=<<frame-classes>>><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!has[draft.of]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</div>\n</$tiddler></$set></$set>\n"
},
"$:/core/ui/Buttons/clone": {
"title": "$:/core/ui/Buttons/clone",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/clone-button}} {{$:/language/Buttons/Clone/Caption}}",
"description": "{{$:/language/Buttons/Clone/Hint}}",
"text": "<$button message=\"tm-new-tiddler\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/Clone/Hint}} aria-label={{$:/language/Buttons/Clone/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/clone-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Clone/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/close-others": {
"title": "$:/core/ui/Buttons/close-others",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/close-others-button}} {{$:/language/Buttons/CloseOthers/Caption}}",
"description": "{{$:/language/Buttons/CloseOthers/Hint}}",
"text": "<$button message=\"tm-close-other-tiddlers\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/close-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/CloseOthers/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/close": {
"title": "$:/core/ui/Buttons/close",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/close-button}} {{$:/language/Buttons/Close/Caption}}",
"description": "{{$:/language/Buttons/Close/Hint}}",
"text": "<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/close-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Close/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/edit": {
"title": "$:/core/ui/Buttons/edit",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/edit-button}} {{$:/language/Buttons/Edit/Caption}}",
"description": "{{$:/language/Buttons/Edit/Hint}}",
"text": "<$button message=\"tm-edit-tiddler\" tooltip={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/edit-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Edit/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/export-tiddler": {
"title": "$:/core/ui/Buttons/export-tiddler",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportTiddler/Caption}}",
"description": "{{$:/language/Buttons/ExportTiddler/Hint}}",
"text": "\\define makeExportFilter()\n[[$(currentTiddler)$]]\n\\end\n<$macrocall $name=\"exportButton\" exportFilter=<<makeExportFilter>> lingoBase=\"$:/language/Buttons/ExportTiddler/\" baseFilename=<<currentTiddler>>/>"
},
"$:/core/ui/Buttons/fold-bar": {
"title": "$:/core/ui/Buttons/fold-bar",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/language/Buttons/Fold/FoldBar/Caption}}",
"description": "{{$:/language/Buttons/Fold/FoldBar/Hint}}",
"text": "<!-- This dummy toolbar button is here to allow visibility of the fold-bar to be controlled as if it were a toolbar button -->"
},
"$:/core/ui/Buttons/fold-others": {
"title": "$:/core/ui/Buttons/fold-others",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/fold-others-button}} {{$:/language/Buttons/FoldOthers/Caption}}",
"description": "{{$:/language/Buttons/FoldOthers/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/FoldOthers/Hint}} aria-label={{$:/language/Buttons/FoldOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-other-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FoldOthers/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/fold": {
"title": "$:/core/ui/Buttons/fold",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/fold-button}} {{$:/language/Buttons/Fold/Caption}}",
"description": "{{$:/language/Buttons/Fold/Hint}}",
"text": "<$reveal type=\"nomatch\" state=<<folded-state>> text=\"hide\" default=\"show\"><$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Fold/Caption}}/>\n</span>\n</$list>\n</$button></$reveal><$reveal type=\"match\" state=<<folded-state>> text=\"hide\" default=\"show\"><$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Unfold/Caption}}/>\n</span>\n</$list>\n</$button></$reveal>"
},
"$:/core/ui/Buttons/info": {
"title": "$:/core/ui/Buttons/info",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/info-button}} {{$:/language/Buttons/Info/Caption}}",
"description": "{{$:/language/Buttons/Info/Hint}}",
"text": "<$button popup=<<tiddlerInfoState>> tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/info-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Info/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/more-tiddler-actions": {
"title": "$:/core/ui/Buttons/more-tiddler-actions",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"text": "\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/More/Caption}}/></span>\n</$list>\n</$button><$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
},
"$:/core/ui/Buttons/new-here": {
"title": "$:/core/ui/Buttons/new-here",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/new-here-button}} {{$:/language/Buttons/NewHere/Caption}}",
"description": "{{$:/language/Buttons/NewHere/Hint}}",
"text": "\\define newHereButtonTags()\n[[$(currentTiddler)$]]\n\\end\n\\define newHereButton()\n<$button tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label={{$:/language/Buttons/NewHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<newHereButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-here-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewHere/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<<newHereButton>>"
},
"$:/core/ui/Buttons/new-journal-here": {
"title": "$:/core/ui/Buttons/new-journal-here",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournalHere/Caption}}",
"description": "{{$:/language/Buttons/NewJournalHere/Hint}}",
"text": "\\define journalButtonTags()\n[[$(currentTiddlerTag)$]] $(journalTags)$\n\\end\n\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}} aria-label={{$:/language/Buttons/NewJournalHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<now \"$(journalTitleTemplate)$\">> tags=<<journalButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewJournalHere/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags}}>\n<$set name=\"currentTiddlerTag\" value=<<currentTiddler>>>\n<<journalButton>>\n</$set></$set></$set>"
},
"$:/core/ui/Buttons/open-window": {
"title": "$:/core/ui/Buttons/open-window",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/open-window}} {{$:/language/Buttons/OpenWindow/Caption}}",
"description": "{{$:/language/Buttons/OpenWindow/Hint}}",
"text": "<$button message=\"tm-open-window\" tooltip={{$:/language/Buttons/OpenWindow/Hint}} aria-label={{$:/language/Buttons/OpenWindow/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/open-window}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/OpenWindow/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/permalink": {
"title": "$:/core/ui/Buttons/permalink",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/permalink-button}} {{$:/language/Buttons/Permalink/Caption}}",
"description": "{{$:/language/Buttons/Permalink/Hint}}",
"text": "<$button message=\"tm-permalink\" tooltip={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/permalink-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Permalink/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/permaview": {
"title": "$:/core/ui/Buttons/permaview",
"tags": "$:/tags/ViewToolbar $:/tags/PageControls",
"caption": "{{$:/core/images/permaview-button}} {{$:/language/Buttons/Permaview/Caption}}",
"description": "{{$:/language/Buttons/Permaview/Hint}}",
"text": "<$button message=\"tm-permaview\" tooltip={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/permaview-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Permaview/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/DefaultTiddlers": {
"title": "$:/DefaultTiddlers",
"text": "GettingStarted\n"
},
"$:/temp/advancedsearch": {
"title": "$:/temp/advancedsearch",
"text": ""
},
"$:/snippets/allfields": {
"title": "$:/snippets/allfields",
"text": "\\define renderfield(title)\n<tr class=\"tc-view-field\"><td class=\"tc-view-field-name\">''$title$'':</td><td class=\"tc-view-field-value\">//{{$:/language/Docs/Fields/$title$}}//</td></tr>\n\\end\n<table class=\"tc-view-field-table\"><tbody><$list filter=\"[fields[]sort[title]]\" variable=\"listItem\"><$macrocall $name=\"renderfield\" title=<<listItem>>/></$list>\n</tbody></table>\n"
},
"$:/config/AnimationDuration": {
"title": "$:/config/AnimationDuration",
"text": "400"
},
"$:/config/AutoSave": {
"title": "$:/config/AutoSave",
"text": "yes"
},
"$:/config/BitmapEditor/Colour": {
"title": "$:/config/BitmapEditor/Colour",
"text": "#444"
},
"$:/config/BitmapEditor/ImageSizes": {
"title": "$:/config/BitmapEditor/ImageSizes",
"text": "[[62px 100px]] [[100px 62px]] [[124px 200px]] [[200px 124px]] [[248px 400px]] [[371px 600px]] [[400px 248px]] [[556px 900px]] [[600px 371px]] [[742px 1200px]] [[900px 556px]] [[1200px 742px]]"
},
"$:/config/BitmapEditor/LineWidth": {
"title": "$:/config/BitmapEditor/LineWidth",
"text": "3px"
},
"$:/config/BitmapEditor/LineWidths": {
"title": "$:/config/BitmapEditor/LineWidths",
"text": "0.25px 0.5px 1px 2px 3px 4px 6px 8px 10px 16px 20px 28px 40px 56px 80px"
},
"$:/config/BitmapEditor/Opacities": {
"title": "$:/config/BitmapEditor/Opacities",
"text": "0.01 0.025 0.05 0.075 0.1 0.15 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0"
},
"$:/config/BitmapEditor/Opacity": {
"title": "$:/config/BitmapEditor/Opacity",
"text": "1.0"
},
"$:/config/DefaultSidebarTab": {
"title": "$:/config/DefaultSidebarTab",
"text": "$:/core/ui/SideBar/Open"
},
"$:/config/Drafts/TypingTimeout": {
"title": "$:/config/Drafts/TypingTimeout",
"text": "400"
},
"$:/config/EditTemplateFields/Visibility/title": {
"title": "$:/config/EditTemplateFields/Visibility/title",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/tags": {
"title": "$:/config/EditTemplateFields/Visibility/tags",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/text": {
"title": "$:/config/EditTemplateFields/Visibility/text",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/creator": {
"title": "$:/config/EditTemplateFields/Visibility/creator",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/created": {
"title": "$:/config/EditTemplateFields/Visibility/created",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/modified": {
"title": "$:/config/EditTemplateFields/Visibility/modified",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/modifier": {
"title": "$:/config/EditTemplateFields/Visibility/modifier",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/type": {
"title": "$:/config/EditTemplateFields/Visibility/type",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/draft.title": {
"title": "$:/config/EditTemplateFields/Visibility/draft.title",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/draft.of": {
"title": "$:/config/EditTemplateFields/Visibility/draft.of",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/revision": {
"title": "$:/config/EditTemplateFields/Visibility/revision",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/bag": {
"title": "$:/config/EditTemplateFields/Visibility/bag",
"text": "hide"
},
"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4": {
"title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4",
"text": "hide"
},
"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5": {
"title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5",
"text": "hide"
},
"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6": {
"title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6",
"text": "hide"
},
"$:/config/EditorTypeMappings/image/gif": {
"title": "$:/config/EditorTypeMappings/image/gif",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/jpeg": {
"title": "$:/config/EditorTypeMappings/image/jpeg",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/jpg": {
"title": "$:/config/EditorTypeMappings/image/jpg",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/png": {
"title": "$:/config/EditorTypeMappings/image/png",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/x-icon": {
"title": "$:/config/EditorTypeMappings/image/x-icon",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/text/vnd.tiddlywiki": {
"title": "$:/config/EditorTypeMappings/text/vnd.tiddlywiki",
"text": "text"
},
"$:/config/MissingLinks": {
"title": "$:/config/MissingLinks",
"text": "yes"
},
"$:/config/Navigation/UpdateAddressBar": {
"title": "$:/config/Navigation/UpdateAddressBar",
"text": "no"
},
"$:/config/Navigation/UpdateHistory": {
"title": "$:/config/Navigation/UpdateHistory",
"text": "no"
},
"$:/config/OfficialPluginLibrary": {
"title": "$:/config/OfficialPluginLibrary",
"tags": "$:/tags/PluginLibrary",
"url": "http://tiddlywiki.com/library/v5.1.13/index.html",
"caption": "{{$:/language/OfficialPluginLibrary}}",
"text": "{{$:/language/OfficialPluginLibrary/Hint}}\n"
},
"$:/config/Navigation/openLinkFromInsideRiver": {
"title": "$:/config/Navigation/openLinkFromInsideRiver",
"text": "below"
},
"$:/config/Navigation/openLinkFromOutsideRiver": {
"title": "$:/config/Navigation/openLinkFromOutsideRiver",
"text": "top"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all",
"text": "hide"
},
"$:/config/Performance/Instrumentation": {
"title": "$:/config/Performance/Instrumentation",
"text": "no"
},
"$:/config/SaveWikiButton/Template": {
"title": "$:/config/SaveWikiButton/Template",
"text": "$:/core/save/all"
},
"$:/config/SaverFilter": {
"title": "$:/config/SaverFilter",
"text": "[all[]] -[[$:/HistoryList]] -[[$:/StoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[[$:/UploadName]] -[prefix[$:/state/]] -[prefix[$:/temp/]]"
},
"$:/config/Search/AutoFocus": {
"title": "$:/config/Search/AutoFocus",
"text": "true"
},
"$:/config/SearchResults/Default": {
"title": "$:/config/SearchResults/Default",
"text": "$:/core/ui/DefaultSearchResultList"
},
"$:/config/ShortcutInfo/bold": {
"title": "$:/config/ShortcutInfo/bold",
"text": "{{$:/language/Buttons/Bold/Hint}}"
},
"$:/config/ShortcutInfo/cancel-edit-tiddler": {
"title": "$:/config/ShortcutInfo/cancel-edit-tiddler",
"text": "{{$:/language/Buttons/Cancel/Hint}}"
},
"$:/config/ShortcutInfo/excise": {
"title": "$:/config/ShortcutInfo/excise",
"text": "{{$:/language/Buttons/Excise/Hint}}"
},
"$:/config/ShortcutInfo/heading-1": {
"title": "$:/config/ShortcutInfo/heading-1",
"text": "{{$:/language/Buttons/Heading1/Hint}}"
},
"$:/config/ShortcutInfo/heading-2": {
"title": "$:/config/ShortcutInfo/heading-2",
"text": "{{$:/language/Buttons/Heading2/Hint}}"
},
"$:/config/ShortcutInfo/heading-3": {
"title": "$:/config/ShortcutInfo/heading-3",
"text": "{{$:/language/Buttons/Heading3/Hint}}"
},
"$:/config/ShortcutInfo/heading-4": {
"title": "$:/config/ShortcutInfo/heading-4",
"text": "{{$:/language/Buttons/Heading4/Hint}}"
},
"$:/config/ShortcutInfo/heading-5": {
"title": "$:/config/ShortcutInfo/heading-5",
"text": "{{$:/language/Buttons/Heading5/Hint}}"
},
"$:/config/ShortcutInfo/heading-6": {
"title": "$:/config/ShortcutInfo/heading-6",
"text": "{{$:/language/Buttons/Heading6/Hint}}"
},
"$:/config/ShortcutInfo/italic": {
"title": "$:/config/ShortcutInfo/italic",
"text": "{{$:/language/Buttons/Italic/Hint}}"
},
"$:/config/ShortcutInfo/link": {
"title": "$:/config/ShortcutInfo/link",
"text": "{{$:/language/Buttons/Link/Hint}}"
},
"$:/config/ShortcutInfo/list-bullet": {
"title": "$:/config/ShortcutInfo/list-bullet",
"text": "{{$:/language/Buttons/ListBullet/Hint}}"
},
"$:/config/ShortcutInfo/list-number": {
"title": "$:/config/ShortcutInfo/list-number",
"text": "{{$:/language/Buttons/ListNumber/Hint}}"
},
"$:/config/ShortcutInfo/mono-block": {
"title": "$:/config/ShortcutInfo/mono-block",
"text": "{{$:/language/Buttons/MonoBlock/Hint}}"
},
"$:/config/ShortcutInfo/mono-line": {
"title": "$:/config/ShortcutInfo/mono-line",
"text": "{{$:/language/Buttons/MonoLine/Hint}}"
},
"$:/config/ShortcutInfo/picture": {
"title": "$:/config/ShortcutInfo/picture",
"text": "{{$:/language/Buttons/Picture/Hint}}"
},
"$:/config/ShortcutInfo/preview": {
"title": "$:/config/ShortcutInfo/preview",
"text": "{{$:/language/Buttons/Preview/Hint}}"
},
"$:/config/ShortcutInfo/quote": {
"title": "$:/config/ShortcutInfo/quote",
"text": "{{$:/language/Buttons/Quote/Hint}}"
},
"$:/config/ShortcutInfo/save-tiddler": {
"title": "$:/config/ShortcutInfo/save-tiddler",
"text": "{{$:/language/Buttons/Save/Hint}}"
},
"$:/config/ShortcutInfo/stamp": {
"title": "$:/config/ShortcutInfo/stamp",
"text": "{{$:/language/Buttons/Stamp/Hint}}"
},
"$:/config/ShortcutInfo/strikethrough": {
"title": "$:/config/ShortcutInfo/strikethrough",
"text": "{{$:/language/Buttons/Strikethrough/Hint}}"
},
"$:/config/ShortcutInfo/subscript": {
"title": "$:/config/ShortcutInfo/subscript",
"text": "{{$:/language/Buttons/Subscript/Hint}}"
},
"$:/config/ShortcutInfo/superscript": {
"title": "$:/config/ShortcutInfo/superscript",
"text": "{{$:/language/Buttons/Superscript/Hint}}"
},
"$:/config/ShortcutInfo/underline": {
"title": "$:/config/ShortcutInfo/underline",
"text": "{{$:/language/Buttons/Underline/Hint}}"
},
"$:/config/SyncFilter": {
"title": "$:/config/SyncFilter",
"text": "[is[tiddler]] -[[$:/HistoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[prefix[$:/status/]] -[prefix[$:/state/]] -[prefix[$:/temp/]]"
},
"$:/config/TextEditor/EditorHeight/Height": {
"title": "$:/config/TextEditor/EditorHeight/Height",
"text": "400px"
},
"$:/config/TextEditor/EditorHeight/Mode": {
"title": "$:/config/TextEditor/EditorHeight/Mode",
"text": "auto"
},
"$:/config/TiddlerInfo/Default": {
"title": "$:/config/TiddlerInfo/Default",
"text": "$:/core/ui/TiddlerInfo/Fields"
},
"$:/config/Tiddlers/TitleLinks": {
"title": "$:/config/Tiddlers/TitleLinks",
"text": "no"
},
"$:/config/Toolbar/ButtonClass": {
"title": "$:/config/Toolbar/ButtonClass",
"text": "tc-btn-invisible"
},
"$:/config/Toolbar/Icons": {
"title": "$:/config/Toolbar/Icons",
"text": "yes"
},
"$:/config/Toolbar/Text": {
"title": "$:/config/Toolbar/Text",
"text": "no"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions",
"text": "show"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others",
"text": "hide"
},
"$:/config/shortcuts-mac/bold": {
"title": "$:/config/shortcuts-mac/bold",
"text": "meta-B"
},
"$:/config/shortcuts-mac/italic": {
"title": "$:/config/shortcuts-mac/italic",
"text": "meta-I"
},
"$:/config/shortcuts-mac/underline": {
"title": "$:/config/shortcuts-mac/underline",
"text": "meta-U"
},
"$:/config/shortcuts-not-mac/bold": {
"title": "$:/config/shortcuts-not-mac/bold",
"text": "ctrl-B"
},
"$:/config/shortcuts-not-mac/italic": {
"title": "$:/config/shortcuts-not-mac/italic",
"text": "ctrl-I"
},
"$:/config/shortcuts-not-mac/underline": {
"title": "$:/config/shortcuts-not-mac/underline",
"text": "ctrl-U"
},
"$:/config/shortcuts/cancel-edit-tiddler": {
"title": "$:/config/shortcuts/cancel-edit-tiddler",
"text": "escape"
},
"$:/config/shortcuts/excise": {
"title": "$:/config/shortcuts/excise",
"text": "ctrl-E"
},
"$:/config/shortcuts/heading-1": {
"title": "$:/config/shortcuts/heading-1",
"text": "ctrl-1"
},
"$:/config/shortcuts/heading-2": {
"title": "$:/config/shortcuts/heading-2",
"text": "ctrl-2"
},
"$:/config/shortcuts/heading-3": {
"title": "$:/config/shortcuts/heading-3",
"text": "ctrl-3"
},
"$:/config/shortcuts/heading-4": {
"title": "$:/config/shortcuts/heading-4",
"text": "ctrl-4"
},
"$:/config/shortcuts/heading-5": {
"title": "$:/config/shortcuts/heading-5",
"text": "ctrl-5"
},
"$:/config/shortcuts/heading-6": {
"title": "$:/config/shortcuts/heading-6",
"text": "ctrl-6"
},
"$:/config/shortcuts/link": {
"title": "$:/config/shortcuts/link",
"text": "ctrl-L"
},
"$:/config/shortcuts/list-bullet": {
"title": "$:/config/shortcuts/list-bullet",
"text": "ctrl-shift-L"
},
"$:/config/shortcuts/list-number": {
"title": "$:/config/shortcuts/list-number",
"text": "ctrl-shift-N"
},
"$:/config/shortcuts/mono-block": {
"title": "$:/config/shortcuts/mono-block",
"text": "ctrl-shift-M"
},
"$:/config/shortcuts/mono-line": {
"title": "$:/config/shortcuts/mono-line",
"text": "ctrl-M"
},
"$:/config/shortcuts/picture": {
"title": "$:/config/shortcuts/picture",
"text": "ctrl-shift-I"
},
"$:/config/shortcuts/preview": {
"title": "$:/config/shortcuts/preview",
"text": "alt-P"
},
"$:/config/shortcuts/quote": {
"title": "$:/config/shortcuts/quote",
"text": "ctrl-Q"
},
"$:/config/shortcuts/save-tiddler": {
"title": "$:/config/shortcuts/save-tiddler",
"text": "ctrl+enter"
},
"$:/config/shortcuts/stamp": {
"title": "$:/config/shortcuts/stamp",
"text": "ctrl-S"
},
"$:/config/shortcuts/strikethrough": {
"title": "$:/config/shortcuts/strikethrough",
"text": "ctrl-T"
},
"$:/config/shortcuts/subscript": {
"title": "$:/config/shortcuts/subscript",
"text": "ctrl-shift-B"
},
"$:/config/shortcuts/superscript": {
"title": "$:/config/shortcuts/superscript",
"text": "ctrl-shift-P"
},
"$:/config/WikiParserRules/Inline/wikilink": {
"title": "$:/config/WikiParserRules/Inline/wikilink",
"text": "enable"
},
"$:/snippets/currpalettepreview": {
"title": "$:/snippets/currpalettepreview",
"text": "\\define swatchStyle()\nbackground-color: $(swatchColour)$;\n\\end\n\\define swatch(colour)\n<$set name=\"swatchColour\" value={{##$colour$}}>\n<div class=\"tc-swatch\" style=<<swatchStyle>>/>\n</$set>\n\\end\n<div class=\"tc-swatches-horiz\">\n<<swatch foreground>>\n<<swatch background>>\n<<swatch muted-foreground>>\n<<swatch primary>>\n<<swatch page-background>>\n<<swatch tab-background>>\n<<swatch tiddler-info-background>>\n</div>\n"
},
"$:/snippets/download-wiki-button": {
"title": "$:/snippets/download-wiki-button",
"text": "\\define lingo-base() $:/language/ControlPanel/Tools/Download/\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/save/all\" filename=\"index.html\"/>\n<<lingo Full/Caption>> {{$:/core/images/save-button}}\n</$button>"
},
"$:/language": {
"title": "$:/language",
"text": "$:/languages/en-GB"
},
"$:/snippets/languageswitcher": {
"title": "$:/snippets/languageswitcher",
"text": "{{$:/language/ControlPanel/Basics/Language/Prompt}} <$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"
},
"$:/core/macros/CSS": {
"title": "$:/core/macros/CSS",
"tags": "$:/tags/Macro",
"text": "\\define colour(name)\n<$transclude tiddler={{$:/palette}} index=\"$name$\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"$name$\"/></$transclude>\n\\end\n\n\\define color(name)\n<<colour $name$>>\n\\end\n\n\\define box-shadow(shadow)\n``\n -webkit-box-shadow: $shadow$;\n -moz-box-shadow: $shadow$;\n box-shadow: $shadow$;\n``\n\\end\n\n\\define filter(filter)\n``\n -webkit-filter: $filter$;\n -moz-filter: $filter$;\n filter: $filter$;\n``\n\\end\n\n\\define transition(transition)\n``\n -webkit-transition: $transition$;\n -moz-transition: $transition$;\n transition: $transition$;\n``\n\\end\n\n\\define transform-origin(origin)\n``\n -webkit-transform-origin: $origin$;\n -moz-transform-origin: $origin$;\n transform-origin: $origin$;\n``\n\\end\n\n\\define background-linear-gradient(gradient)\n``\nbackground-image: linear-gradient($gradient$);\nbackground-image: -o-linear-gradient($gradient$);\nbackground-image: -moz-linear-gradient($gradient$);\nbackground-image: -webkit-linear-gradient($gradient$);\nbackground-image: -ms-linear-gradient($gradient$);\n``\n\\end\n\n\\define datauri(title)\n<$macrocall $name=\"makedatauri\" type={{$title$!!type}} text={{$title$}}/>\n\\end\n\n\\define if-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-no-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n"
},
"$:/core/macros/colour-picker": {
"title": "$:/core/macros/colour-picker",
"tags": "$:/tags/Macro",
"text": "\\define colour-picker-update-recent()\n<$action-listops\n\t$tiddler=\"$:/config/ColourPicker/Recent\"\n\t$subfilter=\"$(colour-picker-value)$ [list[$:/config/ColourPicker/Recent]remove[$(colour-picker-value)$]] +[limit[8]]\"\n/>\n\\end\n\n\\define colour-picker-inner(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(colour-picker-value)$\"\"\">\n\n$(colour-picker-update-recent)$\n\n$actions$\n\n<div style=\"background-color: $(colour-picker-value)$; width: 100%; height: 100%; border-radius: 50%;\"/>\n\n</$button>\n\\end\n\n\\define colour-picker-recent-inner(actions)\n<$set name=\"colour-picker-value\" value=\"$(recentColour)$\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\\end\n\n\\define colour-picker-recent(actions)\n{{$:/language/ColourPicker/Recent}} <$list filter=\"[list[$:/config/ColourPicker/Recent]]\" variable=\"recentColour\">\n<$macrocall $name=\"colour-picker-recent-inner\" actions=\"\"\"$actions$\"\"\"/></$list>\n\\end\n\n\\define colour-picker(actions)\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker-recent\" actions=\"\"\"$actions$\"\"\"/>\n\n---\n\n<$list filter=\"LightPink Pink Crimson LavenderBlush PaleVioletRed HotPink DeepPink MediumVioletRed Orchid Thistle Plum Violet Magenta Fuchsia DarkMagenta Purple MediumOrchid DarkViolet DarkOrchid Indigo BlueViolet MediumPurple MediumSlateBlue SlateBlue DarkSlateBlue Lavender GhostWhite Blue MediumBlue MidnightBlue DarkBlue Navy RoyalBlue CornflowerBlue LightSteelBlue LightSlateGrey SlateGrey DodgerBlue AliceBlue SteelBlue LightSkyBlue SkyBlue DeepSkyBlue LightBlue PowderBlue CadetBlue Azure LightCyan PaleTurquoise Cyan Aqua DarkTurquoise DarkSlateGrey DarkCyan Teal MediumTurquoise LightSeaGreen Turquoise Aquamarine MediumAquamarine MediumSpringGreen MintCream SpringGreen MediumSeaGreen SeaGreen Honeydew LightGreen PaleGreen DarkSeaGreen LimeGreen Lime ForestGreen Green DarkGreen Chartreuse LawnGreen GreenYellow DarkOliveGreen YellowGreen OliveDrab Beige LightGoldenrodYellow Ivory LightYellow Yellow Olive DarkKhaki LemonChiffon PaleGoldenrod Khaki Gold Cornsilk Goldenrod DarkGoldenrod FloralWhite OldLace Wheat Moccasin Orange PapayaWhip BlanchedAlmond NavajoWhite AntiqueWhite Tan BurlyWood Bisque DarkOrange Linen Peru PeachPuff SandyBrown Chocolate SaddleBrown Seashell Sienna LightSalmon Coral OrangeRed DarkSalmon Tomato MistyRose Salmon Snow LightCoral RosyBrown IndianRed Red Brown FireBrick DarkRed Maroon White WhiteSmoke Gainsboro LightGrey Silver DarkGrey Grey DimGrey Black\" variable=\"colour-picker-value\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\n---\n\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" tag=\"input\" default=\"\" placeholder=\"\"/> \n<$edit-text tiddler=\"$:/config/ColourPicker/New\" type=\"color\" tag=\"input\"/>\n<$set name=\"colour-picker-value\" value={{$:/config/ColourPicker/New}}>\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\n</div>\n\n\\end\n"
},
"$:/core/macros/export": {
"title": "$:/core/macros/export",
"tags": "$:/tags/Macro",
"text": "\\define exportButtonFilename(baseFilename)\n$baseFilename$$(extension)$\n\\end\n\n\\define exportButton(exportFilter:\"[!is[system]sort[title]]\",lingoBase,baseFilename:\"tiddlers\")\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/export\">> tooltip={{$lingoBase$Hint}} aria-label={{$lingoBase$Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/export-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$lingoBase$Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/export\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Exporter]]\">\n<$set name=\"extension\" value={{!!extension}}>\n<$button class=\"tc-btn-invisible\">\n<$action-sendmessage $message=\"tm-download-file\" $param=<<currentTiddler>> exportFilter=\"\"\"$exportFilter$\"\"\" filename=<<exportButtonFilename \"\"\"$baseFilename$\"\"\">>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/export\">>/>\n<$transclude field=\"description\"/>\n</$button>\n</$set>\n</$list>\n</div>\n</$reveal>\n\\end\n"
},
"$:/core/macros/image-picker": {
"title": "$:/core/macros/image-picker",
"tags": "$:/tags/Macro",
"text": "\\define image-picker-inner(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(imageTitle)$\"\"\">\n\n$actions$\n\n<$transclude tiddler=<<imageTitle>>/>\n\n</$button>\n\\end\n\n\\define image-picker(actions,subfilter:\"\")\n<div class=\"tc-image-chooser\">\n\n<$list filter=\"[all[shadows+tiddlers]is[image]$subfilter$!has[draft.of]] -[type[application/pdf]] +[sort[title]]\" variable=\"imageTitle\">\n\n<$macrocall $name=\"image-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n\n</$list>\n\n</div>\n\n\\end\n\n"
},
"$:/core/macros/lingo": {
"title": "$:/core/macros/lingo",
"tags": "$:/tags/Macro",
"text": "\\define lingo-base()\n$:/language/\n\\end\n\n\\define lingo(title)\n{{$(lingo-base)$$title$}}\n\\end\n"
},
"$:/core/macros/list": {
"title": "$:/core/macros/list",
"tags": "$:/tags/Macro",
"text": "\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\")\n<$type$ class=\"$class$\">\n<$list filter=\"$filter$\">\n<$subtype$>\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n"
},
"$:/core/macros/tabs": {
"title": "$:/core/macros/tabs",
"tags": "$:/tags/Macro",
"text": "\\define tabs(tabsList,default,state:\"$:/state/tab\",class,template)\n<div class=\"tc-tab-set $class$\">\n<div class=\"tc-tab-buttons $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\"><$set name=\"save-currentTiddler\" value=<<currentTiddler>>><$tiddler tiddler=<<currentTab>>><$button set=<<qualify \"$state$\">> setTo=<<currentTab>> default=\"$default$\" selectedClass=\"tc-tab-selected\" tooltip={{!!tooltip}}>\n<$tiddler tiddler=<<save-currentTiddler>>>\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude tiddler=<<currentTab>> field=\"caption\">\n<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n</$transclude>\n</$set></$tiddler></$button></$tiddler></$set></$list>\n</div>\n<div class=\"tc-tab-divider $class$\"/>\n<div class=\"tc-tab-content $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\n<$reveal type=\"match\" state=<<qualify \"$state$\">> text=<<currentTab>> default=\"$default$\">\n\n<$transclude tiddler=\"$template$\" mode=\"block\">\n\n<$transclude tiddler=<<currentTab>> mode=\"block\"/>\n\n</$transclude>\n\n</$reveal>\n\n</$list>\n</div>\n</div>\n\\end\n"
},
"$:/core/macros/tag": {
"title": "$:/core/macros/tag",
"tags": "$:/tags/Macro",
"text": "\\define tag(tag)\n{{$tag$||$:/core/ui/TagTemplate}}\n\\end\n"
},
"$:/core/macros/thumbnails": {
"title": "$:/core/macros/thumbnails",
"tags": "$:/tags/Macro",
"text": "\\define thumbnail(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<$link to=\"\"\"$link$\"\"\"><div class=\"tc-thumbnail-wrapper\">\n<div class=\"tc-thumbnail-image\" style=\"width:$width$px;height:$height$px;\"><$reveal type=\"nomatch\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" style=\"width:$width$px;height:$height$px;\">\n[img[$image$]]\n</$reveal><$reveal type=\"match\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" class=\"tc-thumbnail-background\" style=\"width:$width$px;height:$height$px;background-color:$background-color$;\"></$reveal></div><div class=\"tc-thumbnail-icon\" style=\"fill:$color$;color:$color$;\">\n$icon$\n</div><div class=\"tc-thumbnail-caption\">\n$caption$\n</div>\n</div></$link>\n\\end\n\n\\define thumbnail-right(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<div class=\"tc-thumbnail-right-wrapper\"><<thumbnail \"\"\"$link$\"\"\" \"\"\"$icon$\"\"\" \"\"\"$color$\"\"\" \"\"\"$background-color$\"\"\" \"\"\"$image$\"\"\" \"\"\"$caption$\"\"\" \"\"\"$width$\"\"\" \"\"\"$height$\"\"\">></div>\n\\end\n\n\\define list-thumbnails(filter,width:\"280\",height:\"157\")\n<$list filter=\"\"\"$filter$\"\"\"><$macrocall $name=\"thumbnail\" link={{!!link}} icon={{!!icon}} color={{!!color}} background-color={{!!background-color}} image={{!!image}} caption={{!!caption}} width=\"\"\"$width$\"\"\" height=\"\"\"$height$\"\"\"/></$list>\n\\end\n"
},
"$:/core/macros/timeline": {
"created": "20141212105914482",
"modified": "20141212110330815",
"tags": "$:/tags/Macro",
"title": "$:/core/macros/timeline",
"type": "text/vnd.tiddlywiki",
"text": "\\define timeline-title()\n<!-- Override this macro with a global macro \n of the same name if you need to change \n how titles are displayed on the timeline \n -->\n<$view field=\"title\"/>\n\\end\n\\define timeline(limit:\"100\",format:\"DDth MMM YYYY\",subfilter:\"\",dateField:\"modified\")\n<div class=\"tc-timeline\">\n<$list filter=\"[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]\">\n<div class=\"tc-menu-list-item\">\n<$view field=\"$dateField$\" format=\"date\" template=\"$format$\"/>\n<$list filter=\"[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}>\n<<timeline-title>>\n</$link>\n</div>\n</$list>\n</div>\n</$list>\n</div>\n\\end\n"
},
"$:/core/macros/toc": {
"title": "$:/core/macros/toc",
"tags": "$:/tags/Macro",
"text": "\\define toc-caption()\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$set>\n\\end\n\n\\define toc-body(rootTag,tag,sort:\"\",itemClassFilter)\n<ol class=\"tc-toc\">\n<$list filter=\"\"\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$]\"\"\">\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$list filter=\"[all[current]toc-link[no]]\" emptyMessage=\"<$link><$view field='caption'><$view field='title'/></$view></$link>\">\n<<toc-caption>>\n</$list>\n<$list filter=\"\"\"[all[current]] -[[$rootTag$]]\"\"\">\n<$macrocall $name=\"toc-body\" rootTag=\"\"\"$rootTag$\"\"\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$list>\n</li>\n</$set>\n</$list>\n</ol>\n\\end\n\n\\define toc(tag,sort:\"\",itemClassFilter)\n<<toc-body rootTag:\"\"\"$tag$\"\"\" tag:\"\"\"$tag$\"\"\" sort:\"\"\"$sort$\"\"\" itemClassFilter:\"\"\"itemClassFilter\"\"\">>\n\\end\n\n\\define toc-linked-expandable-body(tag,sort:\"\",itemClassFilter)\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc/$tag$-$(currentTiddler)$\"\"\">>>\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$link>\n<$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<<toc-caption>>\n</$link>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$reveal>\n</li>\n</$set>\n</$set>\n\\end\n\n\\define toc-unlinked-expandable-body(tag,sort:\"\",itemClassFilter)\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc/$tag$-$(currentTiddler)$\"\"\">>>\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n<<toc-caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<<toc-caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$reveal>\n</li>\n</$set>\n</$set>\n\\end\n\n\\define toc-expandable-empty-message()\n<<toc-linked-expandable-body tag:\"\"\"$(tag)$\"\"\" sort:\"\"\"$(sort)$\"\"\" itemClassFilter:\"\"\"$(itemClassFilter)$\"\"\">>\n\\end\n\n\\define toc-expandable(tag,sort:\"\",itemClassFilter)\n<$vars tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\">\n<ol class=\"tc-toc toc-expandable\">\n<$list filter=\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$]\">\n<$list filter=\"[all[current]toc-link[no]]\" emptyMessage=<<toc-expandable-empty-message>>>\n<<toc-unlinked-expandable-body tag:\"\"\"$tag$\"\"\" sort:\"\"\"$sort$\"\"\" itemClassFilter:\"\"\"itemClassFilter\"\"\">>\n</$list>\n</$list>\n</ol>\n</$vars>\n\\end\n\n\\define toc-linked-selective-expandable-body(tag,sort:\"\",itemClassFilter)\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc/$tag$-$(currentTiddler)$\"\"\">>>\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$link>\n<$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>\">\n<$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n</$list>\n<<toc-caption>>\n</$link>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$reveal>\n</li>\n</$set>\n</$set>\n\\end\n\n\\define toc-unlinked-selective-expandable-body(tag,sort:\"\",itemClassFilter)\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc/$tag$-$(currentTiddler)$\"\"\">>>\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>\">\n<$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n<<toc-caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<<toc-caption>>\n</$button>\n</$reveal>\n</$list>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$macrocall $name=\"\"\"toc-selective-expandable\"\"\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$reveal>\n</li>\n</$set>\n</$set>\n\\end\n\n\\define toc-selective-expandable-empty-message()\n<<toc-linked-selective-expandable-body tag:\"\"\"$(tag)$\"\"\" sort:\"\"\"$(sort)$\"\"\" itemClassFilter:\"\"\"$(itemClassFilter)$\"\"\">>\n\\end\n\n\\define toc-selective-expandable(tag,sort:\"\",itemClassFilter)\n<$vars tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\">\n<ol class=\"tc-toc toc-selective-expandable\">\n<$list filter=\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$]\">\n<$list filter=\"[all[current]toc-link[no]]\" variable=\"ignore\" emptyMessage=<<toc-selective-expandable-empty-message>>>\n<<toc-unlinked-selective-expandable-body tag:\"\"\"$tag$\"\"\" sort:\"\"\"$sort$\"\"\" itemClassFilter:\"\"\"$itemClassFilter$\"\"\">>\n</$list>\n</$list>\n</ol>\n</$vars>\n\\end\n\n\\define toc-tabbed-selected-item-filter(selectedTiddler)\n[all[current]field:title{$selectedTiddler$}]\n\\end\n\n\\define toc-tabbed-external-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$tiddler tiddler={{$selectedTiddler$}}>\n<div class=\"tc-tabbed-table-of-contents\">\n<$linkcatcher to=\"$selectedTiddler$\">\n<div class=\"tc-table-of-contents\">\n<$macrocall $name=\"toc-selective-expandable\" tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=<<toc-tabbed-selected-item-filter selectedTiddler:\"\"\"$selectedTiddler$\"\"\">>/>\n</div>\n</$linkcatcher>\n<div class=\"tc-tabbed-table-of-contents-content\">\n<$reveal state=\"\"\"$selectedTiddler$\"\"\" type=\"nomatch\" text=\"\">\n<$transclude mode=\"block\" tiddler=\"$template$\">\n<h1><<toc-caption>></h1>\n<$transclude mode=\"block\">$missingText$</$transclude>\n</$transclude>\n</$reveal>\n<$reveal state=\"\"\"$selectedTiddler$\"\"\" type=\"match\" text=\"\">\n$unselectedText$\n</$reveal>\n</div>\n</div>\n</$tiddler>\n\\end\n\n\\define toc-tabbed-internal-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$linkcatcher to=\"\"\"$selectedTiddler$\"\"\">\n<$macrocall $name=\"toc-tabbed-external-nav\" tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" selectedTiddler=\"\"\"$selectedTiddler$\"\"\" unselectedText=\"\"\"$unselectedText$\"\"\" missingText=\"\"\"$missingText$\"\"\" template=\"\"\"$template$\"\"\"/>\n</$linkcatcher>\n\\end\n\n"
},
"$:/core/macros/translink": {
"title": "$:/core/macros/translink",
"tags": "$:/tags/Macro",
"text": "\\define translink(title,mode:\"block\")\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: black; foreground; white;\">\n<$link to=\"\"\"$title$\"\"\">\n<$text text=\"\"\"$title$\"\"\"/>\n</$link>\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: white; foreground; black;\">\n<$transclude tiddler=\"\"\"$title$\"\"\" mode=\"$mode$\">\n\"<$text text=\"\"\"$title$\"\"\"/>\" is missing\n</$transclude>\n</div>\n</div>\n\\end\n"
},
"$:/snippets/minilanguageswitcher": {
"title": "$:/snippets/minilanguageswitcher",
"text": "<$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"
},
"$:/snippets/minithemeswitcher": {
"title": "$:/snippets/minithemeswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/Theme/\n<<lingo Prompt>> <$select tiddler=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"name\"><$view field=\"title\"/></$view></option>\n</$list>\n</$select>"
},
"$:/snippets/modules": {
"title": "$:/snippets/modules",
"text": "\\define describeModuleType(type)\n{{$:/language/Docs/ModuleTypes/$type$}}\n\\end\n<$list filter=\"[moduletypes[]]\">\n\n!! <$macrocall $name=\"currentTiddler\" $type=\"text/plain\" $output=\"text/plain\"/>\n\n<$macrocall $name=\"describeModuleType\" type=<<currentTiddler>>/>\n\n<ul><$list filter=\"[all[current]modules[]]\"><li><$link><<currentTiddler>></$link>\n</li>\n</$list>\n</ul>\n</$list>\n"
},
"$:/palette": {
"title": "$:/palette",
"text": "$:/palettes/Vanilla"
},
"$:/snippets/paletteeditor": {
"title": "$:/snippets/paletteeditor",
"text": "\\define lingo-base() $:/language/ControlPanel/Palette/Editor/\n\\define describePaletteColour(colour)\n<$transclude tiddler=\"$:/language/Docs/PaletteColours/$colour$\"><$text text=\"$colour$\"/></$transclude>\n\\end\n<$set name=\"currentTiddler\" value={{$:/palette}}>\n\n<<lingo Prompt>> <$link to={{$:/palette}}><$macrocall $name=\"currentTiddler\" $output=\"text/plain\"/></$link>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\" variable=\"listItem\">\n<<lingo Prompt/Modified>>\n<$button message=\"tm-delete-tiddler\" param={{$:/palette}}><<lingo Reset/Caption>></$button>\n</$list>\n\n<$list filter=\"[all[current]is[shadow]!is[tiddler]]\" variable=\"listItem\">\n<<lingo Clone/Prompt>>\n</$list>\n\n<$button message=\"tm-new-tiddler\" param={{$:/palette}}><<lingo Clone/Caption>></$button>\n\n<table>\n<tbody>\n<$list filter=\"[all[current]indexes[]]\" variable=\"colourName\">\n<tr>\n<td>\n''<$macrocall $name=\"describePaletteColour\" colour=<<colourName>>/>''<br/>\n<$macrocall $name=\"colourName\" $output=\"text/plain\"/>\n</td>\n<td>\n<$edit-text index=<<colourName>> tag=\"input\"/>\n<br>\n<$edit-text index=<<colourName>> type=\"color\" tag=\"input\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n</$set>\n"
},
"$:/snippets/palettepreview": {
"title": "$:/snippets/palettepreview",
"text": "<$set name=\"currentTiddler\" value={{$:/palette}}>\n<$transclude tiddler=\"$:/snippets/currpalettepreview\"/>\n</$set>\n"
},
"$:/snippets/paletteswitcher": {
"title": "$:/snippets/paletteswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/Palette/\n<div class=\"tc-prompt\">\n<<lingo Prompt>> <$view tiddler={{$:/palette}} field=\"name\"/>\n</div>\n\n<$linkcatcher to=\"$:/palette\">\n<div class=\"tc-chooser\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]sort[description]]\"><div class=\"tc-chooser-item\"><$link to={{!!title}}><div><$reveal state=\"$:/palette\" type=\"match\" text={{!!title}}>•</$reveal><$reveal state=\"$:/palette\" type=\"nomatch\" text={{!!title}}> </$reveal> ''<$view field=\"name\" format=\"text\"/>'' - <$view field=\"description\" format=\"text\"/></div><$transclude tiddler=\"$:/snippets/currpalettepreview\"/></$link></div>\n</$list>\n</div>\n</$linkcatcher>"
},
"$:/temp/search": {
"title": "$:/temp/search",
"text": ""
},
"$:/tags/AdvancedSearch": {
"title": "$:/tags/AdvancedSearch",
"list": "[[$:/core/ui/AdvancedSearch/Standard]] [[$:/core/ui/AdvancedSearch/System]] [[$:/core/ui/AdvancedSearch/Shadows]] [[$:/core/ui/AdvancedSearch/Filter]]"
},
"$:/tags/AdvancedSearch/FilterButton": {
"title": "$:/tags/AdvancedSearch/FilterButton",
"list": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown $:/core/ui/AdvancedSearch/Filter/FilterButtons/clear $:/core/ui/AdvancedSearch/Filter/FilterButtons/export $:/core/ui/AdvancedSearch/Filter/FilterButtons/delete"
},
"$:/tags/ControlPanel": {
"title": "$:/tags/ControlPanel",
"list": "$:/core/ui/ControlPanel/Info $:/core/ui/ControlPanel/Appearance $:/core/ui/ControlPanel/Settings $:/core/ui/ControlPanel/Saving $:/core/ui/ControlPanel/Plugins $:/core/ui/ControlPanel/Tools $:/core/ui/ControlPanel/Internals"
},
"$:/tags/ControlPanel/Info": {
"title": "$:/tags/ControlPanel/Info",
"list": "$:/core/ui/ControlPanel/Basics $:/core/ui/ControlPanel/Advanced"
},
"$:/tags/ControlPanel/Plugins": {
"title": "$:/tags/ControlPanel/Plugins",
"list": "[[$:/core/ui/ControlPanel/Plugins/Installed]] [[$:/core/ui/ControlPanel/Plugins/Add]]"
},
"$:/tags/EditTemplate": {
"title": "$:/tags/EditTemplate",
"list": "[[$:/core/ui/EditTemplate/controls]] [[$:/core/ui/EditTemplate/title]] [[$:/core/ui/EditTemplate/tags]] [[$:/core/ui/EditTemplate/shadow]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/EditTemplate/body]] [[$:/core/ui/EditTemplate/type]] [[$:/core/ui/EditTemplate/fields]]"
},
"$:/tags/EditToolbar": {
"title": "$:/tags/EditToolbar",
"list": "[[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/cancel]] [[$:/core/ui/Buttons/save]]"
},
"$:/tags/EditorToolbar": {
"title": "$:/tags/EditorToolbar",
"list": "$:/core/ui/EditorToolbar/paint $:/core/ui/EditorToolbar/opacity $:/core/ui/EditorToolbar/line-width $:/core/ui/EditorToolbar/clear $:/core/ui/EditorToolbar/bold $:/core/ui/EditorToolbar/italic $:/core/ui/EditorToolbar/strikethrough $:/core/ui/EditorToolbar/underline $:/core/ui/EditorToolbar/superscript $:/core/ui/EditorToolbar/subscript $:/core/ui/EditorToolbar/mono-line $:/core/ui/EditorToolbar/mono-block $:/core/ui/EditorToolbar/quote $:/core/ui/EditorToolbar/list-bullet $:/core/ui/EditorToolbar/list-number $:/core/ui/EditorToolbar/heading-1 $:/core/ui/EditorToolbar/heading-2 $:/core/ui/EditorToolbar/heading-3 $:/core/ui/EditorToolbar/heading-4 $:/core/ui/EditorToolbar/heading-5 $:/core/ui/EditorToolbar/heading-6 $:/core/ui/EditorToolbar/link $:/core/ui/EditorToolbar/excise $:/core/ui/EditorToolbar/picture $:/core/ui/EditorToolbar/stamp $:/core/ui/EditorToolbar/size $:/core/ui/EditorToolbar/editor-height $:/core/ui/EditorToolbar/more $:/core/ui/EditorToolbar/preview $:/core/ui/EditorToolbar/preview-type"
},
"$:/tags/MoreSideBar": {
"title": "$:/tags/MoreSideBar",
"list": "[[$:/core/ui/MoreSideBar/All]] [[$:/core/ui/MoreSideBar/Recent]] [[$:/core/ui/MoreSideBar/Tags]] [[$:/core/ui/MoreSideBar/Missing]] [[$:/core/ui/MoreSideBar/Drafts]] [[$:/core/ui/MoreSideBar/Orphans]] [[$:/core/ui/MoreSideBar/Types]] [[$:/core/ui/MoreSideBar/System]] [[$:/core/ui/MoreSideBar/Shadows]]",
"text": ""
},
"$:/tags/PageControls": {
"title": "$:/tags/PageControls",
"list": "[[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/fold-all]] [[$:/core/ui/Buttons/unfold-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/new-journal]] [[$:/core/ui/Buttons/new-image]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/export-page]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/advanced-search]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/palette]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/refresh]] [[$:/core/ui/Buttons/more-page-actions]]"
},
"$:/tags/PageTemplate": {
"title": "$:/tags/PageTemplate",
"list": "[[$:/core/ui/PageTemplate/topleftbar]] [[$:/core/ui/PageTemplate/toprightbar]] [[$:/core/ui/PageTemplate/sidebar]] [[$:/core/ui/PageTemplate/story]] [[$:/core/ui/PageTemplate/alerts]]",
"text": ""
},
"$:/tags/SideBar": {
"title": "$:/tags/SideBar",
"list": "[[$:/core/ui/SideBar/Open]] [[$:/core/ui/SideBar/Recent]] [[$:/core/ui/SideBar/Tools]] [[$:/core/ui/SideBar/More]]",
"text": ""
},
"$:/tags/TiddlerInfo": {
"title": "$:/tags/TiddlerInfo",
"list": "[[$:/core/ui/TiddlerInfo/Tools]] [[$:/core/ui/TiddlerInfo/References]] [[$:/core/ui/TiddlerInfo/Tagging]] [[$:/core/ui/TiddlerInfo/List]] [[$:/core/ui/TiddlerInfo/Listed]] [[$:/core/ui/TiddlerInfo/Fields]]",
"text": ""
},
"$:/tags/TiddlerInfo/Advanced": {
"title": "$:/tags/TiddlerInfo/Advanced",
"list": "[[$:/core/ui/TiddlerInfo/Advanced/ShadowInfo]] [[$:/core/ui/TiddlerInfo/Advanced/PluginInfo]]"
},
"$:/tags/ViewTemplate": {
"title": "$:/tags/ViewTemplate",
"list": "[[$:/core/ui/ViewTemplate/title]] [[$:/core/ui/ViewTemplate/unfold]] [[$:/core/ui/ViewTemplate/subtitle]] [[$:/core/ui/ViewTemplate/tags]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/ViewTemplate/body]]"
},
"$:/tags/ViewToolbar": {
"title": "$:/tags/ViewToolbar",
"list": "[[$:/core/ui/Buttons/more-tiddler-actions]] [[$:/core/ui/Buttons/info]] [[$:/core/ui/Buttons/new-here]] [[$:/core/ui/Buttons/new-journal-here]] [[$:/core/ui/Buttons/clone]] [[$:/core/ui/Buttons/export-tiddler]] [[$:/core/ui/Buttons/edit]] [[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/open-window]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]] [[$:/core/ui/Buttons/fold-others]] [[$:/core/ui/Buttons/fold]]"
},
"$:/snippets/themeswitcher": {
"title": "$:/snippets/themeswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/Theme/\n<<lingo Prompt>> <$view tiddler={{$:/theme}} field=\"name\"/>\n\n<$linkcatcher to=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\"><div><$reveal state=\"$:/theme\" type=\"match\" text={{!!title}}>•</$reveal><$reveal state=\"$:/theme\" type=\"nomatch\" text={{!!title}}> </$reveal> <$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' <$view field=\"description\" format=\"text\"/></$link></div>\n</$list>\n</$linkcatcher>"
},
"$:/core/wiki/title": {
"title": "$:/core/wiki/title",
"type": "text/vnd.tiddlywiki",
"text": "{{$:/SiteTitle}} --- {{$:/SiteSubtitle}}"
},
"$:/view": {
"title": "$:/view",
"text": "classic"
},
"$:/snippets/viewswitcher": {
"title": "$:/snippets/viewswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/StoryView/\n<<lingo Prompt>> <$select tiddler=\"$:/view\">\n<$list filter=\"[storyviews[]]\">\n<option><$view field=\"title\"/></option>\n</$list>\n</$select>"
}
}
}
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#1b75bb" d="M63.917,57.025c0,3.809-3.082,6.895-6.891,6.895H6.887C3.084,63.92,0,60.834,0,57.025V6.891 C0,3.086,3.084,0,6.887,0h50.139c3.809,0,6.891,3.086,6.891,6.891V57.025z"/><path fill="#0867a3" d="m0 48.669v8.356c0 3.809 3.084 6.895 6.887 6.895h50.14c3.809 0 6.891-3.086 6.891-6.895v-50.13c-10.916 39.646-50.15 42.16-63.917 41.778"/><path fill="#fff" d="m19.06 47.937l1.064-5.383c-2.65-.057-3.972-1.111-3.972-3.165 0-.96.33-1.743.991-2.348.662-.603 1.636-.905 2.923-.905h1.353l1.641-8.377h-2.993c-1.25 0-2.212-.311-2.892-.935-.684-.625-1.023-1.386-1.023-2.29 0-.958.33-1.731.991-2.316s1.636-.879 2.923-.879h4.288l1.353-6.589c.21-1.113.446-1.987.707-2.621.257-.634.613-1.113 1.064-1.439.449-.326 1.041-.491 1.769-.491 1.019 0 1.794.271 2.331.809.538.534.809 1.227.809 2.071 0 .192-.165 1.161-.491 2.908l-1.064 5.352h6.303l1.383-6.589c.192-1 .373-1.806.55-2.419.173-.614.482-1.131.935-1.555.447-.42 1.106-.634 1.971-.634.997 0 1.771.261 2.316.777.546.521.821 1.219.821 2.103 0 .4-.028.797-.071 1.178-.051.387-.109.754-.188 1.109-.074.355-.125.579-.146.677l-1.063 5.411c2.744.057 4.115 1.123 4.115 3.196 0 .958-.326 1.728-.979 2.301-.655.578-1.621.864-2.905.864h-1.473l-1.724 8.377h3.196c1.284 0 2.25.307 2.905.921.652.614.979 1.392.979 2.332 0 .938-.322 1.702-.963 2.287-.644.585-1.621.878-2.921.878h-4.433l-1.355 6.62c-.212 1.057-.4 1.873-.562 2.446-.16.577-.475 1.08-.935 1.512-.463.432-1.123.647-1.985.647-.96 0-1.72-.267-2.275-.805-.558-.538-.833-1.236-.833-2.101 0-.789.134-1.767.4-2.938l1.064-5.383h-6.361l-1.351 6.62c-.346 1.634-.707 2.808-1.082 3.526-.373.722-1.174 1.079-2.401 1.079-.979 0-1.747-.267-2.303-.805s-.834-1.236-.834-2.101c0-.443.053-.937.159-1.484.106-.542.196-1.025.274-1.449m16.838-20.18h-6.362l-1.698 8.377h6.422l1.638-8.377"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><switch><g><path fill="#e6e7e8" d="m22 10h20v44h-20z"/><path fill="#1b75bb" d="M10,10C3.373,10,0,14.925,0,21v22c0,6.075,3.373,11,10,11h12V10H10z"/><path fill="#ec1c24" d="m52 10h-10v44h12c6.627 0 10-4.925 10-11v-22c0-6.076-.042-11-12-11"/></g></switch></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#30434a" d="m20.988 34.992c1.418 11.517 10.309 20.398 21.1 20.398 10.782 0 19.668-8.881 21.09-20.397h-42.2z"/><path fill="#496367" d="m31.643 61.765c4.232-4.23 8.463-8.464 12.698-12.698 2.692-2.691 5.385-5.386 8.08-8.08.169-.17.184-.445.035-.594-3.799-3.797-7.596-7.598-11.395-11.396-2.171-2.171-4.351-4.348-6.52-6.519-.154-.15-.423-.134-.594.035-4.232 4.234-8.464 8.468-12.696 12.702-2.698 2.691-5.388 5.382-8.08 8.08-.095.094-.138.194-.142.291 0 0 0 .006 0 .013 0 .004 0 .008 0 .021-.008.09.025.186.105.269 3.801 3.799 7.598 7.596 11.394 11.394 2.169 2.174 4.346 4.348 6.523 6.519.15.148.42.134.591-.036"/><path fill="#3b5051" d="m26.07 60.667c7.33-5.462 14.661-10.927 21.994-16.394 4.665-3.473 9.333-6.948 13.997-10.426.295-.22.37-.638.176-.903-5.04-6.767-10.09-13.54-15.13-20.312-2.884-3.87-5.777-7.75-8.661-11.615-.205-.273-.619-.313-.914-.096-7.333 5.467-14.664 10.932-22 16.397-4.667 3.475-9.329 6.946-13.994 10.427-.163.122-.248.26-.271.413 0 0-.006.008-.006.018-.004.006-.004.012-.004.032-.032.137-.002.29.102.436 5.05 6.771 10.09 13.54 15.14 20.309 2.877 3.872 5.77 7.75 8.664 11.621.195.269.61.313.911.093"/><path fill="#496367" d="m24.774 59.887c7.333-5.463 14.662-10.929 21.995-16.395 4.662-3.474 9.331-6.948 13.996-10.425.295-.22.372-.64.175-.904-5.04-6.767-10.08-13.541-15.13-20.313-2.881-3.87-5.774-7.75-8.657-11.615-.205-.273-.621-.313-.916-.096-7.334 5.467-14.662 10.932-21.997 16.397-4.669 3.475-9.333 6.946-13.994 10.428-.165.122-.252.26-.275.413 0 0-.004.008 0 .018-.004.006-.004.012-.004.032-.032.137-.004.29.102.436 5.05 6.771 10.09 13.54 15.13 20.309 2.879 3.871 5.77 7.749 8.663 11.621.193.269.612.313.911.094"/><path fill="#30434a" d="m32.628 24.711c0 1.631-1.325 2.952-2.95 2.952-1.632 0-2.954-1.321-2.954-2.952 0-1.63 1.322-2.95 2.954-2.95 1.625 0 2.95 1.32 2.95 2.95"/><path fill="#c39983" d="m29.671 25.25c-.126-.515-.576-.957-1.215-.798-1.979.421-23.873 8.801-23.955 8.953-.33.125-.383 19.985-.22 29.537 0 .013.008.021.008.032.002.121 2.01 1.74 2 .396-.067-6.497 4.04-26.28 4.569-28.36 2.81-2.057 12.413-6.724 14.13-7.349 1.324-.447 4.82-1.906 4.679-2.411"/><path fill="#dfad92" d="m29.482 24.18c-.126-.515-.576-.956-1.215-.797-1.979.42-23.874 8.801-23.957 8.952-.327.126-.38 19.986-.215 29.538 0 .013.004.021.004.033.004.119 2.02 1.739 2 .394-.067-6.495 4.045-26.27 4.569-28.358 2.808-2.057 12.411-6.725 14.13-7.349 1.327-.45 4.821-1.909 4.68-2.413"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#c2986b" d="m5.306 49.865c1.094 1.592 2.327 3.119 3.743 4.532 12.514 12.512 32.795 12.517 45.31 0 12.515-12.513 12.513-32.794-.002-45.31-12.512-12.507-32.793-12.512-45.31 0-5.144 5.142-8.135 11.599-9.05 18.288l14.247-2.61-8.941 25.1"/><path fill="#9f7d5c" d="m37.01 13.302c12.629 4.6 22.08 13.693 26.11 24.981 2.101-10.197-.794-21.22-8.71-29.14-12.511-12.516-32.793-12.516-45.3 0-.229.22-.415.466-.63.694 9.562-.82 19.2.064 28.531 3.462"/><path fill="#02897d" d="m29.875 13.75c0 3.529-2.865 6.394-6.396 6.394-3.529 0-6.394-2.865-6.394-6.394 0-3.533 2.865-6.398 6.394-6.398 3.532 0 6.396 2.865 6.396 6.398"/><circle fill="#e45264" cx="40.875" cy="17.808" r="6.394"/><circle fill="#405967" cx="49.981" cy="35.613" r="6.395"/><path fill="#ed2e7c" d="m44.06 52.73c0 3.533-2.864 6.394-6.396 6.394-3.528 0-6.393-2.86-6.393-6.394 0-3.534 2.865-6.395 6.393-6.395 3.532 0 6.396 2.861 6.396 6.395"/><path fill="#e7e6e6" d="m23.482 49.22c0 3.534-2.865 6.395-6.396 6.395-3.529 0-6.394-2.86-6.394-6.395 0-3.533 2.865-6.394 6.394-6.394 3.531 0 6.396 2.86 6.396 6.394"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><g fill="#354a54"><path d="m52.54 26.954c.119.59.234 1.18.353 1.773.016.087.063.146.092.218.036.098.056.178.113.26.088.135.194.25.317.333.028.02.036.052.06.071 5.01 3.435 7.07 8.852 5.374 14.715-.898 3.149-2.248 3.169-1.642 6.232.249 1.247 1.791 1.429 2.509.506 6.604-8.485 4.293-20.2-5.05-25.525-1.014-.582-2.371.17-2.13 1.417"/><path d="m45.606 35.32c.099.516.197 1.025.305 1.544.013.078.055.132.079.191.027.085.047.153.098.225.077.123.171.222.278.294.023.016.031.043.048.058 4.369 2.997 6.162 7.714 4.681 12.823-.78 2.742-1.953 2.759-1.428 5.43.217 1.085 1.563 1.242 2.185.438 5.753-7.391 3.744-17.593-4.394-22.24-.882-.506-2.065.148-1.852 1.233"/><path d="m20.322 21.239c-.455.206-.914.411-1.376.617-.067.032-.13.028-.19.044-.083.027-.146.047-.229.047-.139.007-.269-.012-.384-.056-.028-.008-.052 0-.076-.004-4.76-1.753-9.438-.538-12.612 3.451-1.705 2.129-1.072 3.059-3.447 4.127-.965.433-1.835-.531-1.554-1.464 2.583-8.595 11.668-12.675 19.81-8.896.882.413 1.028 1.699.058 2.134"/><path d="m16.579 40.535c.301.519.606 1.036.91 1.563.044.076.048.155.071.225.044.096.08.167.087.27.028.158.02.316-.016.46-.008.031.008.063.004.09-1.492 5.894.546 11.315 5.694 14.596 2.755 1.765 3.78.891 5.354 3.59.633 1.097-.403 2.255-1.551 2.038-10.566-1.999-16.573-12.312-13.09-22.49.377-1.106 1.893-1.438 2.534-.342"/><path d="m27.315 42.23c.265.452.526.901.791 1.361.041.067.044.135.068.192.036.088.066.147.074.239.024.137.016.276-.016.398-.008.028.008.057.005.08-1.299 5.137.474 9.858 4.958 12.716 2.4 1.539 3.292.779 4.665 3.125.555.959-.352 1.968-1.349 1.778-9.205-1.742-14.441-10.725-11.402-19.59.327-.965 1.648-1.253 2.206-.299"/><path d="m37.05 14.924c.479-.151.957-.297 1.44-.448.071-.023.114-.067.174-.095.079-.036.138-.059.207-.117.105-.085.189-.186.249-.294.011-.024.038-.034.05-.056 2.414-4.46 6.728-6.64 11.746-5.746 2.688.471 2.825 1.586 5.315.819 1.01-.316 1.024-1.614.197-2.129-7.617-4.74-17.14-1.796-20.744 6.423-.392.89.353 1.955 1.366 1.643"/></g><path fill="#be212f" d="m55.623 24.334c4.479 11.86-1.505 25.11-13.364 29.587-11.864 4.479-25.11-1.505-29.589-13.366-4.48-11.864 1.503-25.11 13.364-29.589 11.863-4.48 25.11 1.503 29.589 13.368"/><path fill="#cb2f42" d="m26.16 10.918c-.047.016-.091.043-.134.064l16.213 42.93c.048-.017.095-.024.143-.04 11.865-4.479 17.843-17.726 13.364-29.59-4.481-11.86-17.726-17.843-29.586-13.364"/><g opacity=".6"><path fill="#972634" d="m25.24 42.901c-6.894-6.723-10.38-15.449-9.684-24.01-4.384 6.04-5.746 14.09-2.912 21.595 4.484 11.866 17.726 17.849 29.588 13.365.211-.079.408-.182.618-.269-6.49-2.282-12.522-5.702-17.61-10.678"/></g><g fill="#25333a"><ellipse transform="matrix(-.9355.3532-.3532-.9355 104.31 38.424)" cx="48.651" cy="28.73" rx="5.556" ry="6.735"/><path d="m40.81 44.31c.923 2.45 3.313 3.816 5.331 3.052 2.02-.764 2.908-3.368 1.987-5.818-.927-2.449-3.313-3.811-5.336-3.051-2.02.763-2.908 3.363-1.982 5.817"/><ellipse transform="matrix(-.9355.3535-.3535-.9355 77.23 29.334)" cx="35.936" cy="21.719" rx="3.911" ry="4.74"/></g><g fill="#354a54"><path d="m21.505 15.41c.926 2.45 4.306 3.443 7.547 2.216 3.25-1.227 5.132-4.207 4.208-6.655-.927-2.451-4.307-3.438-7.555-2.211-3.246 1.225-5.121 4.2-4.2 6.65"/><path d="m22.784 11.797c-.189-.047-.38-.099-.578-.146-.028-.008-.047-.004-.08-.004-.031-.004-.055-.008-.091-.004-.055.004-.103.023-.146.051-.008.004-.016 0-.028.004-1.726.999-3.621.838-5.125-.495-.804-.712-.622-1.111-1.611-1.365-.407-.103-.68.329-.51.673 1.583 3.158 5.382 4.132 8.287 2.122.313-.221.286-.731-.118-.836"/><path d="m29.979 9.08c.106-.166.218-.324.332-.491.016-.023.035-.035.061-.055.019-.027.035-.047.063-.065.043-.032.09-.049.143-.062.008 0 .011-.001.011-.001 1.971-.394 3.288-1.767 3.529-3.761.136-1.064-.264-1.247.31-2.093.238-.34.729-.202.827.17.902 3.415-1.307 6.66-4.815 7.07-.382.042-.7-.359-.461-.704"/></g><g fill="#25333a"><path d="m25.867 37.34c1.314 3.481.052 7.181-2.817 8.266-2.873 1.086-6.265-.858-7.578-4.337-1.314-3.482-.052-7.18 2.821-8.263 2.869-1.084 6.256.854 7.574 4.334"/><ellipse transform="matrix(.9355-.3532.3532.9355-14.526 14.765)" cx="33.19" cy="47.18" rx="3.911" ry="4.742"/><path d="m29.23 24.25c.921 2.45.035 5.05-1.983 5.813-2.02.764-4.41-.601-5.335-3.051-.926-2.45-.035-5.05 1.986-5.815 2.02-.761 4.406.6 5.332 3.053"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#fbb042" d="m2.451 40.452c0 11.02 12.23 19.94 27.343 19.94 15.11 0 27.339-8.922 27.339-19.94 0-11.01-12.232-38.17-27.339-38.17-15.11 0-27.343 27.16-27.343 38.17"/><g fill="#25333a"><path d="m24.506 41.12c0 2.692-1.815 4.881-4.04 4.881-2.227 0-4.02-2.188-4.02-4.881 0-2.696 1.798-4.893 4.02-4.893 2.221 0 4.04 2.197 4.04 4.893"/><path d="m43.632 41.12c0 2.692-1.81 4.881-4.02 4.881-2.235 0-4.03-2.188-4.03-4.881 0-2.696 1.791-4.893 4.03-4.893 2.214 0 4.02 2.197 4.02 4.893"/></g><g opacity=".6"><path fill="#c37929" d="m26.563 50.91c0-1.534 1.306-1.505 3.087-1.505 1.79 0 3.362-.029 3.362 1.505 0 1.543-1.437 2.784-3.223 2.784-1.775 0-3.226-1.241-3.226-2.784"/></g><g fill="#633d19"><path d="m3.923 12.733c-1.819 3.919 5.107 24.18 5.393 21.344.851-8.51 1.294-4.642 5.908-19.487 1.525-4.933 6.218-10.647 3.682-10.802-3.609-.222-13.13 5.03-14.983 8.945"/><path d="m18.933 20.659c1.864 3.903 25.11 10.542 22.897 8.583-6.63-5.91-2.929-3.913-11.911-16.8-3-4.279-4.03-11.656-6.268-9.657-3.191 2.854-6.568 13.945-4.718 17.874"/><path d="m31.872 25.23c4.246 4.232 33.971 4.795 30.409 3.076-10.697-5.15-5.446-3.889-22.63-16.951-5.721-4.335-10.955-13.164-12.36-9.938-2 4.614.334 19.536 4.581 23.813"/><path d="m39.24 19.304c4.173 1.645 23.06-10.602 19.961-10.48-9.308.357-28.21-10.257-28.597-7.02-.537 4.617 4.462 15.822 8.636 17.498"/><path d="m45.512 24.18c4.174 1.639 21.06-10.605 17.961-10.482-9.315.359-26.21-10.258-26.591-7.02-.542 4.621 4.458 15.82 8.63 17.5"/><path d="m11.507 5.01c-3.101 4.242 1.729 35.978 2.594 32.524 2.617-10.352.649-6.941 9.333-23.869 2.876-5.626 8.175-11.654 4.697-12.539-3.872-.978-13.501-.354-16.624 3.884"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><g fill="#633d19"><path d="m48.13 60.18c.186 1.613 4.361 1.436 8.824-.488 4.473-1.928 6.518-5.922 6.324-7.535-.18-1.617-6.834-19.675-11.301-17.748-4.466 1.927-4.03 24.16-3.847 25.771"/><path d="m58.891 28.896c0 7.911-12.1 14.333-27.02 14.333l0 0c-14.912 0-27.02-6.422-27.02-14.333v-7.656c0-7.912 12.11-20.19 27.02-20.19l0 0c14.915 0 27.02 12.274 27.02 20.19v7.656"/></g><path fill="#ed307c" d="m58.53 36.629c.434 2.625-2.01 2.914-5.33 3.377-3.318.467-6.262.926-6.699-1.697-.436-2.625 1.906-5.127 5.227-5.594 3.322-.462 6.367 1.29 6.802 3.914"/><path fill="#633d19" d="m15.872 60.18c-.188 1.613-4.359 1.436-8.823-.488-4.472-1.928-6.519-5.922-6.327-7.535.182-1.617 6.835-19.675 11.304-17.748 4.466 1.927 4.03 24.16 3.846 25.771"/><path fill="#ed307c" d="m5.475 36.629c-.436 2.625 2.01 2.914 5.328 3.377 3.319.467 6.264.926 6.696-1.697.44-2.625-1.903-5.127-5.223-5.594-3.321-.462-6.369 1.29-6.801 3.914"/><path fill="#fbb042" d="m7.313 35.1c0 9.754 10.823 17.646 24.2 17.646 13.36 0 24.19-7.893 24.19-17.646 0-9.739-10.824-33.768-24.18-33.768-13.373 0-24.2 24.03-24.2 33.768"/><g fill="#25333a"><path d="m26.825 35.697c0 2.381-1.604 4.318-3.564 4.318-1.975 0-3.56-1.938-3.56-4.318 0-2.383 1.585-4.332 3.56-4.332 1.959 0 3.564 1.949 3.564 4.332"/><path d="m43.746 35.697c0 2.381-1.598 4.318-3.561 4.318-1.975 0-3.561-1.938-3.561-4.318 0-2.383 1.586-4.332 3.561-4.332 1.963 0 3.561 1.949 3.561 4.332"/></g><path fill="#633d19" d="m52.703 27.805c.041-6.621.074-11.02.143-17.766-11.979-11.666-29.15-12.01-41.44-.126-.133 6.646-.266 13.14-.409 19.667 13.71-1.685 27.76-2.273 41.709-1.775"/><path fill="#ed307c" d="m15.09 14.393c.758-14.261 32.664-11.436 35.535-2.73-12.996-1.827-22.71-1.559-35.535 2.73"/><g opacity=".48"><path fill="#ed307c" d="m55.31 42.34c0 2.074-4.115 3.75-9.189 3.75-5.078 0-9.193-1.676-9.193-3.75 0-2.068 4.115-3.744 9.193-3.744 5.073 0 9.189 1.675 9.189 3.744"/></g><g opacity=".48"><path fill="#ed307c" d="m26.911 42.34c0 2.074-4.115 3.75-9.19 3.75-5.08 0-9.19-1.676-9.19-3.75 0-2.068 4.11-3.744 9.19-3.744 5.074 0 9.19 1.675 9.19 3.744"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#bfbebe" d="m39.568 47.4h-15.317c.357 0 .645 3.511.645 7.836 0 4.328-.287 7.839-.645 7.839h15.317c-.356 0-.645-3.511-.645-7.839.002-4.325.289-7.836.645-7.836"/><path fill="#aeaeae" d="m29.615 47.4h-5.363c.357 0 .645 3.511.645 7.836 0 4.328-.287 7.839-.645 7.839h5.363c.357 0 .645-3.511.645-7.839 0-4.325-.288-7.836-.645-7.836"/><path fill="#d1d2d2" d="m63.784 47.31c0 4.047-3.05 7.326-6.806 7.326h-50.13c-3.76 0-6.809-3.279-6.809-7.326v-37.12c0-4.04 3.049-7.321 6.809-7.321h50.13c3.756 0 6.806 3.278 6.806 7.321v37.12"/><path fill="#c6c5c5" d="m12.93 47.31v-37.12c0-4.04 3.049-7.321 6.808-7.321h-12.894c-3.76 0-6.809 3.278-6.809 7.321v37.12c0 4.047 3.049 7.326 6.809 7.326h12.894c-3.759 0-6.808-3.28-6.808-7.327"/><g fill="#243438"><path d="m63.784 36.941c0 4.04-3.05 7.32-6.806 7.32h-50.13c-3.76 0-6.809-3.277-6.809-7.32v-26.778c0-4.047 3.049-7.325 6.809-7.325h50.13c3.756 0 6.806 3.278 6.806 7.325v26.778"/><path d="m.036 35.05h63.749v11.367h-63.749z"/></g><path fill="#58c5e8" d="m58.75 6.244c-10.936 0-21.868 0-32.809 0-6.956 0-13.916 0-20.872 0-.443 0-.812.245-.812.54 0 7.399 0 14.786 0 22.2 0 4.226 0 8.458 0 12.691 0 .296.369.54.812.54 10.937 0 21.877 0 32.811 0 6.96 0 13.912 0 20.87 0 .241 0 .424-.051.557-.141 0 0 .012-.012.02-.02 0 0 .016-.012.02-.023.133-.076.223-.205.223-.356 0-7.397 0-14.788 0-22.18 0-4.237 0-8.471 0-12.704-.004-.295-.377-.54-.82-.54"/><g fill="#28a6de"><path d="m32.698 29.559c8.976 5.378 17.745 9.04 26.868 11.255v-34.03c0-.295-.373-.54-.816-.54h-49.26c5.06 9.535 13.768 17.66 23.21 23.315"/><path d="m32.77 35.27c-10.83-5.899-21.673-14.07-28.513-24.16v30.564c0 .296.369.54.812.54h43.813c-5.352-1.725-10.689-3.986-16.11-6.94"/></g><path fill="#d1d2d2" d="m43.721 62.727c0 .702-.338 1.273-.753 1.273h-22.11c-.419 0-.757-.571-.757-1.273 0-.703.338-1.273.757-1.273h22.11c.415-.003.753.569.753 1.273"/><path fill="#c6c5c5" d="m27.937 62.727c0-.703.338-1.273.753-1.273h-8.125c-.416 0-.753.57-.753 1.273 0 .702.338 1.273.753 1.273h8.125c-.415 0-.753-.571-.753-1.273"/><g fill="#243438"><path d="m34.33 48.615c-.098-.094-.241-.121-.436-.065l-1.123.287c-.35.095-.527.326-.527.698l-.004 1.201c0 .174.039.303.117.377.062.062.144.093.249.093.06 0 .116-.013.188-.027l1.122-.286c.35-.094.528-.326.532-.703v-1.197c-.003-.177-.042-.304-.118-.378m-.596 1.367c0 .133-.062.215-.189.25l-.398.104c-.023.004-.048.008-.066.008-.039 0-.065-.012-.09-.031-.026-.025-.043-.072-.038-.14v-.427c0-.133.062-.215.187-.249l.403-.104c.069-.016.121-.008.151.023.03.027.043.072.043.136v.431h-.003z"/><path d="m31.58 49.53c0-.372-.175-.604-.528-.698l-1.122-.287c-.194-.056-.338-.026-.431.065-.082.074-.121.201-.121.377l.004 1.195c.004.377.179.61.528.703l1.126.287c.066.02.128.027.182.027.105 0 .188-.031.249-.094.078-.073.117-.201.117-.377l-.004-1.198m-.746.778c-.02.021-.05.031-.089.031 0 0-.043-.004-.066-.008l-.4-.104c-.124-.035-.19-.117-.19-.25v-.431c0-.062.016-.108.042-.136.031-.031.082-.039.155-.023l.4.104c.124.034.19.116.19.249v.431c0 .062 0 .109-.042.137"/><path d="m32.369 52.609c.02 0 .039-.004.066-.013l.4-.103c.124-.029.19-.115.19-.252v-.426c0-.063-.017-.105-.039-.138-.035-.034-.09-.038-.155-.021l-.404.103c-.124.031-.187.116-.187.252l-.004.429c0 .062.016.104.043.131.02.026.051.038.09.038"/><path d="m31.456 52.609c-.023 0-.043-.004-.07-.013l-.4-.103c-.124-.029-.187-.115-.187-.252l-.004-.426c0-.063.016-.105.043-.138.031-.034.085-.038.151-.021l.408.103c.121.031.187.116.187.252v.429c0 .062-.016.104-.039.131-.023.026-.054.038-.089.038"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#f79420" d="m49.956 62.27c-2.298 2.201-5.945 2.126-8.151-.175l-40.03-41.78c-2.204-2.301-2.122-5.949.175-8.15l11.05-10.585c2.298-2.204 5.947-2.124 8.148.175l40.03 41.782c2.203 2.297 2.126 5.946-.174 8.149l-11.05 10.584"/><path fill="#e88a24" d="m47.13 57.15l-40.03-41.78c-2.201-2.301-2.125-5.948.172-8.151l-5.317 5.097c-2.3 2.201-2.378 5.85-.174 8.148l40.03 41.786c2.205 2.298 5.852 2.376 8.149.175l5.318-5.1c-2.296 2.203-5.946 2.125-8.147-.175"/><g fill="#3d585c"><path d="m20.659 1.247c-.361.338-.767.718-1.199 1.134l-6.742 6.457c-1.403 1.344-2.512 2.462-2.477 2.498l.618.647c.032.034 1.198-1.027 2.601-2.372l6.741-6.458c.433-.416.832-.805 1.183-1.151l-.725-.755"/><path d="m61.23 43.588c-.361.336-.768.72-1.203 1.134l-6.737 6.457c-1.403 1.345-2.514 2.465-2.479 2.498l.618.646c.036.035 1.198-1.025 2.602-2.37l6.739-6.458c.436-.413.831-.805 1.185-1.15l-.725-.757"/><path d="m33.67 14.827c-.36.336-.767.72-1.199 1.136l-6.739 6.455c-1.405 1.345-2.515 2.465-2.481 2.498l.62.647c.032.034 1.197-1.027 2.601-2.372l6.739-6.458c.434-.416.833-.802 1.184-1.149l-.725-.757"/><path d="m23.873 4.601l-1.727 1.653c-1.404 1.342-2.512 2.462-2.479 2.498l.617.645c.036.036 1.2-1.025 2.603-2.369l1.727-1.653-.741-.774"/><path d="m27.05 7.92l-1.727 1.653c-1.401 1.344-2.512 2.464-2.479 2.498l.62.646c.033.034 1.197-1.027 2.6-2.371l1.728-1.653-.742-.773"/><path d="m30.19 11.197l-1.727 1.653c-1.403 1.344-2.512 2.462-2.479 2.498l.616.645c.036.036 1.2-1.025 2.604-2.369l1.725-1.654-.739-.773"/><path d="m47.11 28.858c-.271.253-.555.525-.857.814l-6.743 6.458c-1.397 1.343-2.509 2.462-2.476 2.498l.618.643c.035.035 1.2-1.025 2.602-2.366l6.739-6.461c.303-.288.587-.562.852-.821l-.735-.765"/><path d="m37.32 18.633l-1.388 1.33c-1.403 1.342-2.513 2.462-2.478 2.5l.618.643c.033.036 1.199-1.027 2.601-2.369l1.388-1.33-.741-.774"/><path d="m40.5 21.955l-1.388 1.33c-1.405 1.344-2.515 2.462-2.479 2.498l.615.645c.034.036 1.2-1.026 2.604-2.368l1.387-1.332-.739-.773"/><path d="m43.639 25.23l-1.39 1.33c-1.4 1.344-2.51 2.462-2.478 2.495l.618.647c.034.034 1.201-1.027 2.6-2.369l1.39-1.332-.74-.771"/><path d="m50.883 32.792l-1.389 1.331c-1.4 1.343-2.513 2.463-2.479 2.497l.619.646c.034.033 1.198-1.027 2.602-2.369l1.385-1.332-.738-.773"/><path d="m54.06 36.12l-1.39 1.328c-1.4 1.344-2.511 2.462-2.477 2.499l.618.643c.036.036 1.198-1.024 2.603-2.369l1.385-1.327-.739-.774"/><path d="m57.2 39.39l-1.388 1.33c-1.402 1.345-2.513 2.462-2.478 2.498l.616.645c.036.036 1.198-1.024 2.599-2.368l1.391-1.33-.74-.775"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#f79420" d="m63.54 2.425c-.037-1.139-.705-1.863-1.543-2.17-.825-.405-1.842-.377-2.692.434-.013.008-.025.019-.038.029-.008.008-.016.015-.024.023-.008.001-.017.019-.024.027-.042.038-.079.075-.116.116-12.02 12.02-24.04 24.04-36.06 36.06-7.441 7.442-14.883 14.883-22.325 22.325-1.553 1.556-.416 4.302 1.783 4.302 17.833 0 35.671 0 53.5 0 1.676 0 3.348 0 5.02 0 1.373 0 2.519-1.146 2.519-2.518 0-17.837 0-35.671 0-53.51 0-1.604 0-3.205 0-4.809.004-.105.004-.209-.005-.313m-10.688 24.296c0 7.952 0 15.905 0 23.86 0 .612-.51 1.123-1.122 1.123-.744 0-1.495 0-2.242 0-7.953 0-15.904 0-23.859 0-.978 0-1.485-1.227-.792-1.919 3.319-3.319 6.638-6.637 9.952-9.955 5.365-5.36 10.726-10.719 16.09-16.08.017-.019.033-.035.05-.052.004-.004.008-.008.013-.013 0-.004.008-.006.012-.001.002-.004.009-.001.013-.015.382-.361.834-.371 1.203-.193.373.139.672.461.688.967 0 .048 0 .096 0 .143-.002.715-.002 1.43-.002 2.144"/><path fill="#e88a24" d="m6.375 59.27c7.44-7.441 14.884-14.883 22.326-22.325 11.604-11.603 23.21-23.21 34.816-34.814-.139-.958-.73-1.595-1.489-1.873-.826-.405-1.843-.377-2.697.434-.008.008-.021.019-.033.029-.008.008-.017.015-.024.023-.009 0-.017.019-.025.027-.041.038-.078.075-.116.116-12.02 12.02-24.04 24.04-36.06 36.06-7.442 7.441-14.885 14.882-22.326 22.324-1.554 1.556-.417 4.302 1.782 4.302 1.875 0 3.752 0 5.628 0-2.2 0-3.337-2.747-1.783-4.302"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#d0d2d3" d="m47.563 57.54c0 2.805-2.543 5.076-5.679 5.076h-36.2c-3.136 0-5.679-2.271-5.679-5.076v-45.744c0-2.803 2.543-5.076 5.679-5.076h36.21c3.136 0 5.679 2.273 5.679 5.076v45.744z"/><path fill="#eaeae9" d="m47.563 53.962c0 2.805-2.543 5.077-5.679 5.077h-36.2c-3.136 0-5.679-2.272-5.679-5.077v-45.747c0-2.803 2.543-5.074 5.679-5.074h36.21c3.136 0 5.679 2.271 5.679 5.074v45.747z"/><path fill="#d0d2d3" d="m39.58 5.899c0 .337-1.688.612-3.769.612h-24.06c-2.085 0-3.772-.275-3.772-.612v-5.515c0-.339 1.687-.613 3.772-.613h24.06c2.08 0 3.769.274 3.769.613v5.515"/><g fill="#34484c"><path d="m7.161 15.435c10.737 0 21.476 0 32.21 0 2.168 0 2.168-3 0-3-10.733 0-21.472 0-32.21 0-2.163 0-2.163 3 0 3"/><path d="m7.161 21.525c10.737 0 21.476 0 32.21 0 2.168 0 2.168-2.998 0-2.998-10.733 0-21.472 0-32.21 0-2.163 0-2.163 2.998 0 2.998"/><path d="m7.161 27.751c10.737 0 21.476 0 32.21 0 2.168 0 2.168-3 0-3-10.733 0-21.472 0-32.21 0-2.163 0-2.163 3 0 3"/><path d="m7.161 33.84c10.737 0 21.476 0 32.21 0 2.168 0 2.168-3 0-3-10.733 0-21.472 0-32.21 0-2.163 0-2.163 3 0 3"/><path d="m7.161 55.856c4.941 0 9.882 0 14.823 0 2.164 0 2.164-2.999 0-2.999-4.941 0-9.882 0-14.823 0-2.163 0-2.163 2.999 0 2.999"/></g><path fill="#ee4237" d="M32.951 47.24 22.763 37.896 51.992 6.02 62.18 15.369z"/><g fill="#da4241"><path transform="matrix(.7371.6758-.6758.7371 26.23-20.256)" d="m36.746 1.957h4.803v43.25h-4.803z"/><path transform="matrix(.7365.6764-.6764.7365 32.447-23.306)" d="m44.21 8.376h3.864v43.25h-3.864z"/></g><path fill="#e58732" d="m27.858 42.568l5.089 4.662-6.593 2.08-6.58 2.07 1.497-6.735 1.492-6.749z"/><path fill="#ea97bd" d="m63 14.469c-1.188 1.303-3.244 1.352-4.595.115l-5.309-4.871c-1.352-1.233-1.475-3.288-.286-4.588 1.191-1.299 3.25-1.352 4.596-.113l5.313 4.871c1.348 1.234 1.475 3.287.281 4.586"/><path transform="matrix(.737.6759-.6759.737 22.873-34.487)" fill="#bcbdbf" d="m48.84 11.401h13.825v1.496h-13.825z"/><g fill="#e7e6e6"><path transform="matrix(.7371.6757-.6757.7371 23.344-33.509)" d="m47.831 12.503h13.823v1.495h-13.823z"/><path d="m61.35 16.271l-10.19-9.345 1.01-1.1 10.19 9.342z"/></g><path fill="#f79420" d="m24.13 47.914l-.582-.544 2.756-6.23 3.806 3.489z"/><path fill="#424143" d="m21.347 44.31l-.072.335-1.501 6.745 6.59-2.08.322-.1z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#8c6d53" d="M33.34 63.62 8.95 48.21 9.224 19.783 33.612 35.2z"/><path fill="#a4805e" d="m58.46 15.956l-.27 28.424-24.85 19.24.272-28.42z"/><path fill="#c19d84" d="m32 33.99v28.96l1.2.67 1.04-.743.434-28.627z"/><path fill="#8a5f3d" d="M33.612 35.2 9.224 19.783 34.07.543 58.46 15.956z"/><g fill="#d6e8ed"><path d="m50.16 28l-7.84 6.25-2.16-10.09 9.08-1.15z"/><path d="m48.966 23.31l-5.926 4.592-23.404-16.177 5.883-4.561z"/></g><g fill="#b6c9ce"><path d="m47.27 24.627l-6.08 4.704-23.296-16.261 5.886-4.552z"/><path d="m47.593 24.591l.887 4.826-6.845 5-.923-5.03z"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><g fill="#fbb11c"><path d="m14.376 32.02c0 2.275-3.173 4.116-7.084 4.116s-7.082-1.841-7.082-4.116c0-2.265 3.171-4.113 7.082-4.113s7.084 1.848 7.084 4.113"/><path d="m49.979 32.02c0-2.269 3.172-4.113 7.084-4.113s7.082 1.844 7.082 4.113c0 2.275-3.17 4.116-7.082 4.116s-7.084-1.84-7.084-4.116"/><path d="m32.18 49.829c2.273 0 4.112 3.167 4.112 7.082 0 3.909-1.839 7.081-4.112 7.081-2.272 0-4.115-3.172-4.115-7.081 0-3.915 1.841-7.082 4.115-7.082"/><ellipse cx="32.18" cy="7.143" rx="4.115" ry="7.083"/><path d="m19.589 44.607c1.608 1.613.668 5.158-2.099 7.922-2.764 2.766-6.309 3.703-7.916 2.1-1.606-1.605-.666-5.15 2.101-7.917 2.765-2.769 6.31-3.702 7.914-2.105"/><path d="m44.766 19.439c-1.607-1.609-.67-5.148 2.1-7.915 2.764-2.77 6.31-3.707 7.916-2.102 1.605 1.609.664 5.15-2.1 7.914-2.768 2.769-6.313 3.709-7.916 2.103"/><path d="m44.766 44.607c1.605-1.598 5.148-.664 7.916 2.104 2.764 2.767 3.705 6.312 2.1 7.917-1.604 1.604-5.147.666-7.916-2.102-2.77-2.758-3.709-6.303-2.1-7.919"/><path d="m19.589 19.439c-1.606 1.608-5.149.666-7.915-2.102-2.766-2.766-3.707-6.305-2.101-7.914 1.607-1.605 5.152-.668 7.916 2.102 2.768 2.766 3.708 6.313 2.1 7.914"/></g><g fill="#e29a25"><path d="m3.514 32.02c0-1.934 2.318-3.555 5.429-3.986-.53-.071-1.08-.126-1.65-.126-3.911 0-7.082 1.848-7.082 4.113 0 2.275 3.171 4.115 7.082 4.115.571 0 1.12-.048 1.65-.121-3.11-.436-5.429-2.049-5.429-3.995"/><path d="m53.08 32.02c0-1.938 2.317-3.555 5.435-3.986-.533-.077-1.08-.126-1.652-.126-3.912 0-7.084 1.844-7.084 4.113 0 2.275 3.172 4.115 7.084 4.115.572 0 1.119-.048 1.652-.121-3.118-.436-5.435-2.049-5.435-3.995"/><path d="m33.83 50.43c-.505-.384-1.063-.601-1.652-.601-2.272 0-4.115 3.167-4.115 7.082 0 3.909 1.842 7.081 4.115 7.081.59 0 1.147-.223 1.652-.602-1.445-1.1-2.463-3.584-2.463-6.479 0-2.899 1.018-5.386 2.463-6.481"/><path d="m32.18 14.226c.59 0 1.147-.221 1.652-.603-1.45-1.096-2.463-3.583-2.463-6.481s1.013-5.384 2.463-6.477c-.505-.383-1.063-.605-1.652-.605-2.275 0-4.115 3.17-4.115 7.082 0 3.913 1.839 7.084 4.115 7.084"/><path d="m11.674 46.719c-2.766 2.768-3.707 6.307-2.101 7.918.879.873 2.343.969 3.938.439-.234-.118-.45-.26-.634-.439-1.608-1.611-.668-5.15 2.098-7.918 1.253-1.255 2.662-2.109 3.98-2.544-1.782-.917-4.834.091-7.281 2.544"/><path d="m48.702 19.89c-.233-.124-.45-.26-.634-.445-1.606-1.607-.664-5.15 2.101-7.918 1.252-1.252 2.659-2.109 3.979-2.545-1.783-.915-4.836.094-7.284 2.545-2.765 2.769-3.707 6.312-2.099 7.918.881.877 2.342.968 3.937.445"/><path d="m48.07 44.607c.184-.182.399-.326.634-.442-1.595-.528-3.058-.435-3.938.442-1.606 1.607-.669 5.154 2.101 7.916 2.448 2.447 5.501 3.463 7.284 2.545-1.32-.432-2.729-1.293-3.979-2.545-2.77-2.759-3.708-6.307-2.102-7.916"/><path d="m18.957 19.88c-1.319-.436-2.728-1.293-3.98-2.545-2.763-2.768-3.706-6.309-2.098-7.912.182-.189.4-.331.632-.446-1.593-.532-3.057-.438-3.937.446-1.606 1.603-.666 5.144 2.101 7.912 2.446 2.451 5.498 3.46 7.282 2.545"/></g><path fill="#fbb11c" d="m46.44 32.02c0-7.874-6.387-14.264-14.265-14.265-7.877 0-14.266 6.39-14.266 14.265 0 4.917 2.486 9.25 6.269 11.814-3.781-2.564-6.268-6.896-6.268-11.813 0-7.875 6.389-14.265 14.266-14.265 1.965 0 3.836.4 5.532 1.12-2.161.911-4.045 2.342-5.508 4.131.03 0 .059-.004.089-.004 5.158 0 9.341 4.182 9.341 9.341 0 5.01-3.948 9.09-8.901 9.318 1.377 1.502 3.07 2.708 4.976 3.511 5.131-2.159 8.735-7.233 8.735-13.153"/><g fill="#e29a25"><path d="m24.18 43.837c2.281 1.547 5.03 2.452 7.998 2.452 1.965 0 3.836-.395 5.532-1.111 0 0-.003 0-.004-.002-1.701.716-3.568 1.112-5.529 1.112-2.964 0-5.716-.904-7.997-2.451"/><path d="m32.73 41.665c-.146.007-.291.022-.439.022-5.159 0-9.341-4.182-9.341-9.34 0-5.129 4.134-9.289 9.251-9.337 1.463-1.789 3.347-3.221 5.508-4.131-1.696-.72-3.567-1.12-5.532-1.12-7.877 0-14.266 6.39-14.266 14.265 0 4.917 2.486 9.249 6.268 11.813 2.281 1.547 5.03 2.451 7.997 2.451 1.961 0 3.828-.396 5.529-1.112-1.904-.803-3.598-2.01-4.975-3.511"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#fbb041" d="M63.97,31.984c0,17.667-14.317,31.982-31.983,31.982C14.315,63.966,0,49.65,0,31.984 C0,14.319,14.315,0,31.986,0C49.652,0,63.97,14.319,63.97,31.984z"/><g opacity=".987"><path fill="#e79d3c" d="m15.221 41.34c-5.669-12.167-5.918-25.26-.795-36.07-8.686 5.718-14.426 15.54-14.426 26.722 0 17.662 14.315 31.978 31.986 31.978.314 0 .623-.035.938-.041-7.334-6.182-13.513-13.601-17.703-22.585"/></g><g fill="#fff"><path d="m27.488 24.636c0 5.38-2.907 9.739-6.498 9.739-3.591 0-6.504-4.359-6.504-9.739 0-5.376 2.913-9.735 6.504-9.735 3.591 0 6.498 4.359 6.498 9.735"/><path d="m49.48 24.636c0 5.38-2.905 9.739-6.495 9.739-3.591 0-6.504-4.359-6.504-9.739 0-5.376 2.913-9.735 6.504-9.735 3.59 0 6.495 4.359 6.495 9.735"/></g><g fill="#25333a"><path d="m25.2 24.636c0 2.819-1.884 5.101-4.206 5.101-2.326 0-4.208-2.282-4.208-5.101 0-2.811 1.882-5.099 4.208-5.099 2.322 0 4.206 2.288 4.206 5.099"/><path d="m47.19 24.636c0 2.819-1.884 5.101-4.207 5.101-2.326 0-4.206-2.282-4.206-5.101 0-2.811 1.88-5.099 4.206-5.099 2.324 0 4.207 2.288 4.207 5.099"/></g><path fill="#633d19" d="m51.996 39.27c0 11.05-8.963 20.01-20.01 20.01-11.04 0-20.01-8.965-20.01-20.01"/><path fill="#fff" d="m48.566 41.29c0 4.411-7.578 7.994-16.92 7.994-9.334 0-16.915-3.583-16.915-7.994"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#bfc7cb" d="m46.557 50.22c0 7.568-6.617 13.706-14.779 13.706-8.161 0-14.778-6.138-14.778-13.706v-36.511c0-7.568 6.617-13.704 14.777-13.704 8.162 0 14.779 6.136 14.779 13.704v36.511z"/><path fill="#1f2e35" d="m44.43 48.661c0 6.929-5.617 12.546-12.548 12.546-6.929 0-12.548-5.617-12.548-12.546v-33.429c0-6.929 5.619-12.548 12.548-12.548 6.931 0 12.548 5.619 12.548 12.548v33.429"/><path fill="#152228" d="m26.837 48.659v-33.427c0-5.624 3.701-10.382 8.795-11.978-1.184-.371-2.446-.571-3.753-.571-6.929 0-12.548 5.619-12.548 12.548v33.427c0 6.931 5.619 12.548 12.548 12.548 1.307 0 2.569-.2 3.753-.572-5.094-1.593-8.795-6.353-8.795-11.975"/><circle fill="#ec1c24" cx="31.879" cy="13.644" r="8.111"/><path fill="#c32127" d="m31.879 13.644c0-3 1.632-5.621 4.057-7.02-1.192-.691-2.578-1.089-4.057-1.089-4.48 0-8.111 3.633-8.111 8.112 0 4.48 3.631 8.113 8.111 8.113 1.479 0 2.864-.398 4.057-1.089-2.425-1.403-4.057-4.02-4.057-7.02"/><circle fill="#ffdd15" cx="31.879" cy="31.945" r="8.111"/><circle fill="#4fba80" cx="31.879" cy="50.2" r="8.111"/><path fill="#e7c31e" d="m31.751 31.945c0-3 1.634-5.619 4.06-7.02-1.195-.693-2.58-1.087-4.06-1.087-4.478 0-8.108 3.631-8.108 8.11s3.631 8.11 8.108 8.11c1.479 0 2.864-.398 4.06-1.086-2.426-1.403-4.06-4.02-4.06-7.02"/><path fill="#43aa6f" d="m31.751 50.2c0-3 1.634-5.621 4.06-7.02-1.195-.689-2.58-1.089-4.06-1.089-4.478 0-8.108 3.632-8.108 8.112 0 4.479 3.631 8.111 8.108 8.111 1.479 0 2.864-.397 4.06-1.09-2.426-1.4-4.06-4.02-4.06-7.02"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><g transform="translate(0 12.271)"><path d="m14.622 48.24c0 1.712-1.389 3.102-3.103 3.102h-3.256c-1.71 0-3.099-1.39-3.099-3.102v-37.695c0-1.711 1.389-3.101 3.099-3.101h3.255c1.714 0 3.103 1.389 3.103 3.101v37.695" fill="#888887"/><path d="m12.139 51.18c-1.712 0-3.099-1.387-3.099-3.101v-37.693c0-1.373.892-2.536 2.129-2.945h-2.906c-1.71 0-3.099 1.389-3.099 3.101v37.695c0 1.712 1.389 3.102 3.099 3.102h3.255c.341 0 .67-.058.974-.159h-.353" fill="#757675"/><path d="m58.81 48.24c0 1.712-1.39 3.102-3.104 3.102h-3.255c-1.714 0-3.104-1.39-3.104-3.102v-37.695c0-1.711 1.39-3.101 3.104-3.101h3.255c1.714 0 3.104 1.389 3.104 3.101v37.695" fill="#888887"/><path d="m56.33 51.18c-1.714 0-3.1-1.387-3.1-3.101v-37.693c0-1.373.893-2.536 2.125-2.945h-2.901c-1.714 0-3.104 1.389-3.104 3.101v37.695c0 1.712 1.39 3.102 3.104 3.102h3.255c.342 0 .666-.058.975-.159h-.354" fill="#757675"/><path d="m63.836 23.842c0 2.049-1.664 3.709-3.711 3.709h-56.41c-2.048 0-3.711-1.66-3.711-3.709v-20.13c0-2.048 1.663-3.711 3.711-3.711h56.41c2.047 0 3.711 1.663 3.711 3.711v20.13" fill="#ffdd15"/><path d="m37.951 13.799c-7.933-.664-15.725-2.199-23.404-4.274-3.532-.951-7.08-1.901-10.587-2.926-1.328-.389-2.655-.808-3.96-1.285v18.528c0 2.049 1.663 3.709 3.711 3.709h56.41c2.047 0 3.711-1.661 3.711-3.709v-11.617c-8.557 1.593-17.262 2.296-25.885 1.574" fill="#e0be23"/><g fill="#243438"><path d="m63.836 20.803v-12.09l-15.426 18.839h9.9z"/><path d="m26.607 27.552h11.06l22.56-27.545c-.037-.003-.07-.007-.106-.007h-10.953l-22.565 27.552"/><path d="M6.738 0 0 8.229 0 20.751 16.995 0z"/><path d="m27.729 0l-22.565 27.552h10.709l22.563-27.552z"/></g></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#fbb041" d="m62.713 30.827c-3.981-1.158-7.963-2.316-11.943-3.475-.506-1.988-1.269-3.838-2.311-5.603 1.987-3.641 3.977-7.282 5.967-10.922.544-.996-.541-2.086-1.539-1.538-3.627 1.991-7.252 3.982-10.878 5.974-1.781-1.069-3.658-1.853-5.673-2.362-1.183-4.03-2.365-8.06-3.548-12.1-.313-1.071-1.853-1.075-2.168 0-1.173 4.04-2.349 8.07-3.524 12.11-1.976.507-3.82 1.274-5.576 2.316-3.666-2-7.333-4.01-10.999-6.01-.994-.543-2.085.543-1.537 1.541 2.01 3.659 4.02 7.319 6.03 10.978-1.05 1.774-1.82 3.634-2.324 5.634-3.961 1.161-7.925 2.323-11.885 3.484-1.07.314-1.076 1.856 0 2.168 3.964 1.153 7.924 2.306 11.889 3.459.516 2.036 1.313 3.929 2.389 5.729-1.978 3.618-3.956 7.235-5.932 10.854-.546.996.539 2.087 1.537 1.54 3.613-1.985 7.227-3.97 10.841-5.953 1.772 1.053 3.633 1.824 5.636 2.332 1.159 3.964 2.322 7.924 3.483 11.883.315 1.074 1.856 1.076 2.168 0 1.151-3.955 2.305-7.911 3.454-11.867 2.025-.509 3.903-1.287 5.697-2.353 3.59 1.962 7.183 3.926 10.774 5.888.218.184.482.241.739.211.272-.016.514-.141.702-.325.208-.192.35-.451.367-.745.029-.261-.033-.523-.218-.743-1.966-3.583-3.937-7.169-5.904-10.754 1.058-1.787 1.828-3.664 2.338-5.679 3.98-1.168 7.966-2.336 11.947-3.502 1.073-.314 1.077-1.857.002-2.17"/><circle fill="#f9ec21" cx="31.553" cy="31.836" r="17.901"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#91aab7" d="m58.61 38.14h-1.672c-1.104-4.086-6.398-11.09-12.787-11.09-.57 0-1.129.074-1.68.179-2.475-6.392-7.436-13.604-13.163-13.604-4.382 0-8.308 4.229-11.02 9.07-.325-.048-.653-.076-.986-.076-5.71 0-10.333 7.333-10.333 10.301 0 .332.076.654.188.971-1.145 1.516-2.04 3.091-2.646 4.526-2.6.739-4.505 2.957-4.505 5.61v.251c0 3.258 2.848 5.896 6.361 5.896h52.25c3.514 0 5.608-2.638 5.608-5.896v-.251c0-3.256-2.094-5.894-5.608-5.894"/><path fill-rule="evenodd" fill="#d0d2d3" d="m8.636 43.832c-1.13-5.946 1.137-10.459 6.295-13.227 6.898-3.7 13.567-2.877 20 1.997 3.461-3.913 7.667-5.63 12.605-3.056 4.273 2.224 5.595 6.144 5.02 10.95 1.09.098 2.073.145 3.045.294 6.953 1.055 10.755 9.555 6.863 15.536-.484.745-1.732 1.388-2.624 1.388-18.743.082-37.493.043-56.24.098-1.711.009-2.454-.76-2.971-2.226-1.029-2.908-.28-6.148 2.358-8.311 1.604-1.312 3.557-2.19 5.646-3.443"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#405866" d="m64 57.1c0 3.813-3.087 6.898-6.898 6.898h-50.21c-3.807 0-6.898-3.086-6.898-6.898v-50.2c0-3.809 3.091-6.898 6.898-6.898h50.2c3.812 0 6.898 3.089 6.898 6.898v50.2"/><path fill="#354a54" d="m.191 48.824v8.315c0 3.791 3.072 6.86 6.856 6.86h49.908c3.787 0 6.854-3.069 6.854-6.86v-49.903c-10.861 39.462-49.915 41.963-63.62 41.588"/><path fill="#f4f4f4" d="m54.04 14.186c-1.962-1.675-4.909-1.444-6.582.516l-20.1 23.515-10.815-9.03c-1.809-1.51-4.498-1.268-6.01.538-1.509 1.805-1.266 4.495.54 6l14.492 12.1c.942.786 2.119 1.087 3.248.949 1.193-.094 2.35-.641 3.189-1.622l22.554-26.387c1.676-1.958 1.442-4.905-.516-6.581"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><g transform="translate(4)"><path d="m36.904 57.57c-.355 1.542-1.428 2.37-2.998 2.4-2.335.053-4.448-2.01-4.823-4.332v-26.606c0-1.182-.952-2.14-2.125-2.14-1.176 0-2.128.958-2.128 2.14 0 0 .269 27.973.263 28.03.876 3.83 4.188 7.266 8.822 7.23 4.343-.032 7.953-3.675 7.459-7.963-.011-.076-2.667-2.641-4.47 1.243" fill="#9d9ea4"/><g><path d="m25.607 11.349c0-1.078.873-1.953 1.953-1.953 1.08 0 1.955.875 1.955 1.953v14.311c0 1.078-.875 1.955-1.955 1.955-1.08 0-1.953-.876-1.953-1.955v-14.311" fill="#a8a8a8"/><path d="m53.886 33.26c-.326-.301-.563-.716-.627-1.262-.274-2.352-2.077-4.447-3.116-6.506-.511-1.01-.124-1.983.558-2.558-4.906-5.688-13.434-9.454-23.14-9.454-15.222 0-27.561 9.253-27.561 20.669 0 1.393.187 2.753.539 4.068 1.947-1.424 4.473-2.29 7.239-2.29 3.944 0 7.398 1.75 9.373 4.383 1.57-3.595 5.63-6.162 10.409-6.162 4.676 0 8.667 2.465 10.302 5.946.322-1.571 1.823-2.917 3.144-3.728 2.127-1.306 4.516-2 6.991-2.24.872-.083 1.454.327 1.751.907.323-.095.673-.129 1.033-.082 1.123.145 2.197.488 3.255.885-.071-.191-.12-.393-.12-.606 0-.658-.008-1.314-.03-1.97" fill="#cf1285"/><path d="m27.369 13.428c-15.13.075-27.369 9.297-27.369 20.665 0 1.393.187 2.753.539 4.068 1.947-1.424 4.473-2.29 7.239-2.29 3.944 0 7.398 1.75 9.373 4.382 0 0-2.674-20.994 10.218-26.825" fill="#e90d8c"/><path d="m8.914 33.03c0-8.915 7.524-16.507 18.07-19.405.132-.064.256-.136.388-.197-15.13.075-27.369 9.297-27.369 20.665 0 1.393.187 2.753.539 4.068 1.947-1.424 4.473-2.29 7.239-2.29.484 0 .952.027 1.416.076-.181-.953-.28-1.926-.28-2.917" fill="#c31a7f"/><path d="m27.56 13.428c15.13.075 27.367 9.297 27.367 20.665 0 1.393-.185 2.753-.535 4.068-1.944-1.424-4.475-2.29-7.241-2.29-3.946 0-7.4 1.75-9.371 4.382 0 0 2.674-20.994-10.22-26.825" fill="#e90d8c"/><g><path d="m14.298 13.817c0 1.821 1.214 3.295 2.713 3.295 1.495 0 2.709-1.474 2.709-3.295 0-1.82-1.214-6.307-2.709-6.307-1.499 0-2.713 4.488-2.713 6.307" fill="#27a8e0"/><path d="m16.895 7.51c-1.458.213-2.622 4.545-2.622 6.333 0 1.835 1.222 3.322 2.731 3.322.688 0 1.308-.319 1.79-.829-2.147-2.281-2.816-5.692-1.899-8.826" fill="#57c6e9"/></g><g><path d="m33.933 8.99c0 1.822 1.215 3.295 2.714 3.295 1.499 0 2.713-1.474 2.713-3.295 0-1.819-1.214-6.307-2.713-6.307-1.499 0-2.714 4.488-2.714 6.307" fill="#27a8e0"/><path d="m36.53 2.684c-1.458.211-2.622 4.545-2.622 6.333 0 1.836 1.225 3.321 2.732 3.321.689 0 1.308-.319 1.79-.828-2.146-2.282-2.817-5.693-1.9-8.826" fill="#57c6e9"/></g><g><path d="m38.919 20.05c0 1.82 1.214 3.294 2.713 3.294 1.495 0 2.71-1.474 2.71-3.294 0-1.82-1.215-6.309-2.71-6.309-1.499 0-2.713 4.488-2.713 6.309" fill="#27a8e0"/><path d="m41.518 13.744c-1.46.212-2.623 4.546-2.623 6.335 0 1.834 1.222 3.32 2.731 3.32.688 0 1.308-.319 1.79-.829-2.148-2.281-2.817-5.693-1.898-8.826" fill="#57c6e9"/></g><g><path d="m20.337 6.406c0 1.82 1.212 3.295 2.713 3.295 1.495 0 2.709-1.476 2.709-3.295 0-1.819-1.214-6.309-2.709-6.309-1.501 0-2.713 4.489-2.713 6.309" fill="#27a8e0"/><path d="m22.935.097c-1.462.211-2.622 4.545-2.622 6.333 0 1.836 1.223 3.322 2.732 3.322.688 0 1.308-.32 1.786-.829-2.144-2.281-2.818-5.693-1.896-8.826" fill="#57c6e9"/></g><g><path d="m6.229 18.594c0 1.82 1.212 3.295 2.711 3.295 1.499 0 2.713-1.475 2.713-3.295 0-1.819-1.214-6.309-2.713-6.309-1.499 0-2.711 4.49-2.711 6.309" fill="#27a8e0"/><path d="m8.824 12.286c-1.456.212-2.622 4.545-2.622 6.333 0 1.836 1.224 3.322 2.731 3.322.69 0 1.308-.318 1.79-.829-2.145-2.282-2.814-5.693-1.899-8.826" fill="#57c6e9"/></g></g></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#bbbbbc" d="m35.25 28.851c-4.425-2.093-8.975-1.995-13.649.51-4.465 2.395-6.427 6.301-5.45 11.448-1.808 1.084-3.498 1.844-4.888 2.983-2.285 1.869-2.931 4.672-2.039 7.19.445 1.265 1.089 1.933 2.57 1.929 10.21-.033 20.42-.033 30.627-.045-15.205-12.665-11.01-20.485-7.171-24.01"/><path fill="#fbb041" d="m44.856 27.955c-2.825-.823-5.654-1.645-8.479-2.468-.359-1.412-.901-2.725-1.642-3.979 1.412-2.585 2.825-5.171 4.237-7.756.388-.707-.384-1.481-1.093-1.091-2.574 1.413-5.149 2.827-7.724 4.242-1.264-.76-2.598-1.316-4.03-1.678-.841-2.863-1.68-5.728-2.52-8.59-.224-.761-1.316-.763-1.539 0-.833 2.865-1.669 5.732-2.503 8.598-1.403.359-2.712.904-3.959 1.645-2.604-1.423-5.208-2.846-7.809-4.27-.707-.384-1.483.386-1.092 1.095 1.427 2.599 2.853 5.197 4.282 7.795-.747 1.26-1.293 2.582-1.651 4-2.813.824-5.629 1.648-8.44 2.474-.759.223-.764 1.317 0 1.539 2.815.819 5.627 1.638 8.444 2.456.365 1.447.931 2.791 1.694 4.068-1.405 2.568-2.808 5.139-4.211 7.708-.389.707.382 1.481 1.09 1.093 2.567-1.408 5.133-2.818 7.698-4.225 1.259.748 2.582 1.293 4 1.654.821 2.817 1.649 5.627 2.472 8.438.224.763 1.319.767 1.539 0 .818-2.809 1.638-5.616 2.455-8.426 1.438-.361 2.771-.913 4.04-1.67 2.55 1.392 5.102 2.785 7.653 4.18.153.132.342.172.522.15.195-.011.366-.102.499-.23.148-.138.25-.322.262-.529.021-.185-.022-.372-.155-.528-1.398-2.544-2.796-5.09-4.193-7.638.752-1.268 1.298-2.602 1.66-4.03 2.828-.829 5.659-1.658 8.484-2.486.761-.223.764-1.318 0-1.541"/><circle fill="#f9ec21" cx="22.73" cy="28.672" r="12.712"/><path fill="#d0d2d3" d="m16.15 40.813c-.977-5.147.985-9.06 5.45-11.45 5.97-3.2 11.744-2.487 17.309 1.727 2.999-3.385 6.635-4.874 10.909-2.644 3.697 1.925 4.843 5.32 4.349 9.479.94.087 1.792.126 2.634.255 6.02.913 9.311 8.271 5.941 13.445-.421.646-1.501 1.201-2.271 1.203-16.225.068-32.45.033-48.677.085-1.481.004-2.124-.662-2.57-1.929-.893-2.52-.242-5.321 2.039-7.19 1.389-1.14 3.081-1.899 4.887-2.981"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#37b34a" d="M63.792,56.915c0,3.798-3.079,6.876-6.875,6.876H6.875C3.08,63.791,0,60.713,0,56.915V6.875
C0,3.08,3.08,0,6.875,0h50.042c3.796,0,6.875,3.08,6.875,6.875V56.915z"/><path fill="#0f7b40" d="m.191 48.662v8.29c0 3.778 3.06 6.839 6.833 6.839h49.743c3.777 0 6.835-3.061 6.835-6.839v-49.74c-10.828 39.33-49.753 41.826-63.41 41.45"/><path fill="#f4f4f4" d="m53.867 14.14c-1.956-1.669-4.894-1.439-6.562.514l-20.04 23.437-10.781-9c-1.802-1.505-4.482-1.264-5.985.536-1.504 1.8-1.262 4.48.538 5.983l14.444 12.06c.938.783 2.111 1.083 3.235.946 1.188-.093 2.341-.639 3.179-1.616l22.483-26.3c1.668-1.954 1.436-4.891-.515-6.562"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path transform="matrix(.8024-.5968.5968.8024-12.917 21.16)" fill="#ee4237" d="m16.325 3.01h18.344v54.15h-18.344z"/><g fill="#da4241"><path transform="matrix(.8023-.5969.5969.8023-16 19.01)" d="m17.508 6.583h6.371v54.15h-6.371z"/><path transform="matrix(.8026-.5965.5965.8026-9.516 23.529)" d="m28.23-.93h5.13v54.15h-5.13z"/></g><path fill="#e58732" d="m41.655 51.81l7.355-5.47.788 8.75.798 8.738-8.146-3.278-8.15-3.27z"/><path fill="#ea97bd" d="m15.784 1.668c1.32 1.768.81 4.376-1.137 5.824l-7.673 5.706c-1.945 1.452-4.588 1.185-5.906-.583-1.32-1.772-.809-4.38 1.137-5.824l7.673-5.71c1.945-1.447 4.59-1.185 5.906.587"/><path transform="matrix(.8025-.5967.5967.8025-4.04 8.495)" fill="#bcbdbf" d="m1.64 9.413h18.339v1.87h-18.339z"/><g fill="#e7e6e6"><path d="M19.843 7.122 5.128 18.07 4.01 16.569 18.726 5.626z"/><path transform="matrix(.8024-.5968.5968.8024-3.363 7.534)" d="m.523 7.91h18.343v1.87h-18.343z"/></g><path fill="#f79420" d="m47.4 57.61l-.842.63-7.148-4.76 5.49-4.08z"/><path fill="#424143" d="m42.05 60.39l.4.16 8.15 3.273-.794-8.743-.042-.427z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22pt" height="22pt" viewBox="0 0 64 64" enable-background="new 0 0 64 64"><path fill="#1b75bb" d="m61.976 38.29l-3.881-3.879h1.25c2.342 0 4.859-.722 4.859-2.302 0-.002 0-.006 0-.008s0-.006 0-.008c0-1.58-2.52-2.302-4.863-2.302h-1.232l3.483-3.482c1.657-1.655 2.929-3.946 1.813-5.065-.192-.19-.536-.416-1.098-.416-1.072 0-2.591.856-3.966 2.229l-5.869 5.87c-.283.281-.536.574-.773.864h-14.15l10.04-10.04c.016-.012.033-.032.047-.047l.03-.028c.538.085 1.105.126 1.659.126h8.298c2.344 0 4.865-.72 4.865-2.3 0-1.578-2.52-2.3-4.861-2.3h-5.489l.882-.88c.842-.842 1.515-1.77 1.893-2.612.267-.597.346-1.062.328-1.432 0-.002 0-.006 0-.008 0-.211-.048-.392-.104-.538-.006-.014-.013-.022-.017-.032-.081-.196-.189-.344-.286-.443h-.005c-.188-.192-.534-.419-1.096-.419-1.074 0-2.595.856-3.97 2.233l-.872.872v-4.929c0-2.341-.718-4.861-2.3-4.861-1.58 0-2.298 2.52-2.298 4.861l.002 8.302c0 .397.027.781.065 1.159l-9.927 9.922v-13.85c0-.02 0-.038 0-.054v-.065c.426-.309.847-.657 1.262-1.07l5.87-5.868c1.657-1.659 2.929-3.949 1.812-5.064-.188-.191-.531-.419-1.093-.419-1.073 0-2.595.856-3.969 2.231l-3.881 3.88v-1.248c0-2.343-.717-4.863-2.297-4.863l-.006.002-.012-.002c-1.578 0-2.3 2.523-2.3 4.865v1.232l-3.484-3.483c-1.373-1.374-2.894-2.229-3.965-2.229-.562 0-.906.228-1.098.417-.305.305-.718 1.026-.079 2.453.38.842 1.048 1.77 1.893 2.61l5.87 5.87c.283.283.576.53.864.768v13.855l-9.87-9.871c-.016-.018-.036-.036-.052-.051l-.03-.028c.085-.54.129-1.102.129-1.659v-8.298c0-2.342-.718-4.863-2.3-4.863-1.578 0-2.298 2.518-2.298 4.861v5.488l-.882-.882c-1.376-1.376-2.895-2.229-3.963-2.229-.566 0-.91.226-1.1.417h-.003c-.003.007 0 .008-.014.012-.004.006-.004.011-.007.016-.089.095-.188.222-.261.394-.032.071-.05.144-.067.217-.019.054-.027.113-.038.177-.194 1.21.864 2.935 2.189 4.262l.874.872h-4.926c-2.344 0-4.863.72-4.863 2.3 0 1.58 2.52 2.296 4.863 2.296h8.306c.396 0 .775-.024 1.149-.065l10.07 10.07h-14.275c-.324-.437-.692-.866-1.084-1.262l-5.87-5.868c-1.373-1.375-2.893-2.229-3.967-2.229-.56 0-.906.228-1.095.417-1.118 1.115.154 3.406 1.812 5.061l3.88 3.88h-1.248c-2.343 0-4.863.722-4.863 2.302 0 .002.004.006.004.008s-.004.006-.004.008c0 1.58 2.523 2.302 4.865 2.302h1.234l-3.483 3.483c-1.657 1.656-2.929 3.946-1.813 5.065.19.189.534.415 1.098.415 1.072 0 2.593-.856 3.965-2.229l5.87-5.87c.281-.28.536-.573.773-.864h13.893l-9.738 9.736c-.02.018-.037.038-.059.058l-.02.023c-.54-.083-1.104-.126-1.657-.126h-8.303c-2.341 0-4.865.718-4.865 2.298s2.523 2.3 4.865 2.3h5.486l-.882.882c-.842.841-1.511 1.769-1.891 2.612-.269.596-.344 1.062-.328 1.433 0 .004 0 .004 0 .006.012.213.049.392.103.54.008.012.014.021.016.031.081.197.19.344.289.441.004.002.004.006.008.008.004.004.004.004.004.006.191.189.534.415 1.1.415 1.068 0 2.59-.853 3.967-2.23l.87-.87v4.924c0 2.344.72 4.863 2.302 4.863.427 0 1.23-.22 1.786-1.677.331-.862.51-1.994.51-3.187v-8.297c0-.397-.027-.783-.065-1.159l9.904-9.904v14.13c0 .02 0 .037 0 .053v.065c-.423.309-.85.656-1.262 1.07l-5.868 5.867c-1.659 1.659-2.933 3.949-1.813 5.065.19.191.536.419 1.098.419 1.074 0 2.591-.856 3.965-2.23l3.88-3.881v1.248c0 2.344.722 4.863 2.3 4.863v-.002l.008.002c1.58 0 2.298-2.523 2.298-4.865v-1.231l3.483 3.482c1.374 1.374 2.896 2.229 3.969 2.229.562 0 .908-.228 1.096-.417.305-.305.72-1.026.079-2.452-.376-.841-1.048-1.771-1.891-2.611l-5.87-5.869c-.284-.283-.573-.53-.866-.768v-14.198l9.908 9.908c.012.014.028.027.042.043l.033.032c-.083.537-.126 1.104-.126 1.657v8.3c0 2.344.72 4.863 2.3 4.863 1.578 0 2.3-2.52 2.3-4.863v-5.486l.882.881c1.373 1.376 2.896 2.232 3.968 2.232.562 0 .907-.228 1.096-.419 0-.004.004-.006.004-.006.002-.003.008-.007.008-.007.097-.097.205-.245.284-.437.007-.014.013-.027.019-.04.057-.146.089-.32.104-.523 0-.008 0-.021 0-.028.012-.369-.067-.834-.328-1.424-.376-.842-1.048-1.771-1.893-2.614l-.872-.87h4.928c2.342 0 4.861-.722 4.861-2.298 0-1.582-2.52-2.3-4.861-2.3h-8.31c-.382 0-.768.027-1.149.064l-9.76-9.758h13.911c.326.438.694.866 1.086 1.262l5.867 5.868c1.375 1.374 2.896 2.229 3.968 2.229.562 0 .905-.228 1.096-.417 1.117-1.115-.156-3.405-1.813-5.062"/><g fill="#1c679a"><path d="m36.35 4.863v1.248l3.88-3.88c.968-.967 2-1.655 2.901-1.99-.2-.13-.478-.241-.864-.241-1.073 0-2.595.856-3.969 2.231l-1.972 1.976c.011.217.024.437.024.656"/><path d="m31.739 6.097v-1.232c0-1.8.429-3.692 1.342-4.479-.276-.238-.593-.386-.957-.386l-.006.002-.012-.002c-1.43 0-2.148 2.064-2.276 4.193l1.909 1.904"/><path d="m45.44 2.717c-.166.403-.407.819-.686 1.23-.314.888-.475 1.988-.475 3.06l.002 8.302c0 .397.027.781.065 1.159l-7.994 7.992v1.93l9.922-9.922c-.037-.378-.063-.762-.063-1.159v-8.302c0-1.793.428-3.68 1.333-4.47-.276-.243-.597-.391-.967-.391-.446 0-.822.223-1.137.571"/><path d="m17.426 19.789h-.716l10 10h1.932l-10.07-10.07c-.372.042-.755.066-1.147.066"/><path d="m21.654 4.104c.372.591.851 1.197 1.418 1.762l5.87 5.87c.283.283.576.53.864.768v11.923l1.933 1.932v-13.856c-.293-.237-.582-.484-.864-.768l-5.872-5.87c-.842-.84-1.515-1.768-1.891-2.61-.643-1.426-.227-2.148.079-2.453.058-.059.141-.119.228-.178-.38-.145-.744-.239-1.062-.239-.562 0-.906.228-1.098.417-.228.229-.518.69-.377 1.509.345.452.6 1.077.772 1.793"/><path d="m49.552 44.17c.382-.037.767-.064 1.148-.064h-1.216l.068.064"/><path d="m49.52 19.755l-.047.051h1.785c-.558 0-1.121-.042-1.659-.126l-.029.028c-.018.015-.035.035-.05.047"/><path d="m51.699 29.792h1.931c.239-.291.492-.583.771-.864l5.87-5.87c.965-.965 1.999-1.653 2.901-1.991-.2-.127-.477-.238-.864-.238-1.072 0-2.591.856-3.966 2.229l-5.869 5.87c-.284.28-.536.573-.774.864"/><path d="m60.65 41.541l-5.868-5.868c-.394-.396-.761-.824-1.082-1.262h-1.934c.326.438.694.866 1.086 1.262l5.867 5.868c1.375 1.374 2.896 2.229 3.968 2.229.388 0 .664-.108.868-.239-.908-.335-1.938-1.023-2.905-1.99"/><path d="m18.52 44.23l.021-.023c.018-.02.038-.04.056-.058l9.74-9.736h-1.932l-9.692 9.691h.146c.555 0 1.121.043 1.661.126"/><path d="m50.812 11.935l.872-.872c.965-.967 1.999-1.657 2.903-1.993-.202-.129-.48-.24-.866-.24-.804 0-1.857.483-2.909 1.297v1.808"/><path d="m2.967 43.14c-.091-.059-.17-.12-.231-.178-1.119-1.119.158-3.409 1.812-5.064l3.485-3.483h-1.233c-2.344 0-4.867-.722-4.867-2.302 0-.002.006-.006.006-.008s-.006-.006-.006-.008c0-1.58 2.523-2.302 4.865-2.302h1.248l-3.878-3.88c-1.661-1.655-2.933-3.946-1.815-5.061.059-.059.14-.119.231-.18-.381-.142-.745-.237-1.066-.237-.56 0-.906.228-1.095.417-1.118 1.115.154 3.406 1.812 5.061l3.88 3.88h-1.249c-2.343 0-4.863.722-4.863 2.302 0 .002.004.006.004.008s-.004.006-.004.008c0 1.58 2.523 2.302 4.865 2.302h1.234l-3.483 3.483c-1.657 1.655-2.929 3.945-1.813 5.064.19.189.534.415 1.098.415.318 0 .682-.097 1.063-.237"/><path d="m31.739 59.34v-1.248l-1.909 1.905c.125 2.134.845 4.206 2.276 4.206v-.002l.008.002c.364 0 .681-.148.957-.386-.914-.787-1.342-2.677-1.342-4.477"/><path d="m22.793 63.784c-1.115-1.116.156-3.406 1.813-5.065l5.87-5.867c.413-.414.836-.762 1.262-1.07v-.065c0-.016 0-.033 0-.053v-14.13l-1.933 1.933v12.194c0 .02 0 .037 0 .053v.065c-.423.309-.85.656-1.262 1.07l-5.868 5.867c-1.659 1.659-2.933 3.949-1.813 5.065.19.191.536.419 1.098.419.318 0 .684-.097 1.062-.241-.088-.055-.169-.118-.229-.177"/><path d="m39.837 61.59l-3.482-3.482v1.231c0 .224-.014.449-.023.673l1.574 1.578c1.374 1.374 2.896 2.229 3.969 2.229.386 0 .665-.108.866-.239-.904-.337-1.939-1.023-2.904-1.99"/><path d="m46.21 57.44v-8.3c0-.554.044-1.12.129-1.657l-.034-.032c-.014-.016-.029-.029-.043-.043l-9.906-9.908v1.93l7.976 7.979c.012.014.028.027.042.043l.033.032c-.083.537-.126 1.104-.126 1.657v8.3c0 1.084.162 2.193.486 3.089.075.141.156.281.216.416.059.13.099.245.14.363.362.605.843.995 1.458.995.37 0 .69-.148.965-.392-.908-.789-1.336-2.678-1.336-4.472"/><path d="m51.691 52.838l-.88-.881v1.81c1.058.819 2.11 1.304 2.917 1.304.386 0 .664-.11.864-.241-.904-.335-1.936-1.025-2.901-1.992"/><path d="m7.188 19.789h1.928c-2.34 0-4.859-.716-4.863-2.296 0-1.581 2.523-2.3 4.863-2.3h-1.928c-2.344 0-4.863.72-4.863 2.3 0 1.58 2.519 2.296 4.863 2.296"/><path d="m16.434 11.05l.882.882v-5.488c0-1.794.429-3.683 1.337-4.472-.279-.243-.597-.39-.969-.39-1.578 0-2.298 2.518-2.298 4.861v3.676c.351.276.705.587 1.048.931"/><path d="m17.302 56.897v-4.924l-.873.87c-.346.348-.702.662-1.06.938v3.116c0 2.344.72 4.863 2.302 4.863.237 0 .597-.077.961-.392-.907-.79-1.33-2.677-1.33-4.471"/><path d="m12.11 15.192h1.93l-.87-.872c-1.329-1.327-2.389-3.052-2.191-4.262.008-.063.016-.123.036-.176.016-.073.038-.146.067-.217.075-.172.17-.299.261-.394.006-.006.006-.001.012-.016.002-.004.008-.006.001-.012h.004c.059-.06.14-.121.231-.18-.384-.14-.748-.237-1.064-.237-.566 0-.91.226-1.1.417h-.002c-.003.007-.001.008-.014.012-.004.006-.004.011-.007.016-.089.095-.188.222-.261.394-.032.071-.05.144-.067.217-.019.054-.027.113-.038.177-.194 1.21.864 2.935 2.189 4.262l.874.871"/><path d="m3.697 46.4c0-1.58 2.52-2.298 4.863-2.298h-1.932c-2.341 0-4.865.718-4.865 2.298s2.523 2.3 4.865 2.3h1.932c-2.343 0-4.863-.72-4.863-2.3"/><path d="m11.363 54.659c0-.002 0-.002-.002-.006-.002-.002-.008-.006-.001-.008-.099-.098-.206-.244-.289-.441-.002-.001-.001-.02-.012-.031-.06-.148-.097-.327-.107-.54 0-.002 0-.002 0-.006-.018-.37.062-.837.328-1.433.378-.844 1.05-1.771 1.891-2.612l.882-.882h-1.93l-.882.882c-.842.841-1.511 1.769-1.891 2.612-.269.596-.344 1.062-.328 1.433 0 .004 0 .004 0 .006.012.213.049.392.103.54.008.012.014.021.016.031.081.197.19.344.289.441.004.002.004.006.008.008.004.004.004.004.004.006.191.189.534.415 1.1.415.316 0 .68-.095 1.064-.237-.092-.06-.173-.119-.234-.178"/></g></svg>
<pre>/* add custom extensions by tagging your stylesheet [[$:/tags/FontAwesome]].
* Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/
/* FONT PATH
* -------------------------- */
@font-face {
font-family: 'FontAwesome';
src: local("FontAwesome"), url(data:application/font-woff;base64,d09GRgABAAAAARdUAA4AAAAB3OwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABRAAAABwAAAAcbQLSdUdERUYAAAFgAAAAHgAAAB4AJwIzT1MvMgAAAYAAAAA+AAAAYIg2egFjbWFwAAABwAAAAVIAAALCyQOgrGdhc3AAAAMUAAAACAAAAAj//wADZ2x5ZgAAAxwAAP5RAAGx7AUuRy9oZWFkAAEBcAAAADMAAAA2CeYVl2hoZWEAAQGkAAAAIQAAACQO+QooaG10eAABAcgAAAKOAAAIqjpiEzxsb2NhAAEEWAAABEoAAARcGM6ExG1heHAAAQikAAAAHwAAACAClgIcbmFtZQABCMQAAAGYAAADgDJ2hNRwb3N0AAEKXAAADPAAABWe3VxBO3dlYmYAARdMAAAABgAAAAY1blTBAAAAAQAAAADQyg1XAAAAAMtR3zAAAAAA0Obl7QABAAAADAAAABYAAAACAAEAAQIsAAEABAAAAAIAAAAAeNpjYGbTYpzAwMrAwtLDYszAwNAGoZmKGRgYuxjwgILKomIGBwaFrwxsDP+BfDYGRpAwI5ISBQZGALtECDMAAHjazZG7SgNhEIVnY7xjZrwnKusmaCcqPkAI2IcUNhbGFKmDTyA+gfgEsqU2QcRCRMTKMqQUIRewsDLOWY1387saCCjYCIIDc4YDh/lghojaqNkTZPlK1rHvrE8ftFx/ZilB7TRFDrm0S3k6oDM6d3qcOWc1GovZscz0q4bU1rgmNa05XddN3da87mtBy1rTBkKwMYs4kkgjh3VsYht5nKCAMmpoeCHP9uJ1MsanfVB2WhT6QiEVjWpCU5rRNd3QLXV1T0+1qFVVEAQO5pFAChmsYQNbcLGHUxRRhXrkiRf9oJhLkzUrZtksmUWzUO2tXFUOy/ell9LRxaRMyLhEJCyjMiLDMiSDMiD9EpQ2CYglxIYb/Mav/MLP/MSP/MD3XOc7vmWPwco3fN0307zk35fVQS2UFfAl8D3QfO1/qM6OcFf7WHdP5MdE8Fd73wEm5qCkAAAAAAAB//8AAnjavH0JfFTV1fi7975l9pk3b7ZMJpOZzJoEkjBrCFmGsJOAbAICYkRRBBdUEMSFUSkK4gaKVKtGrVS6fXax/1bFb7rp10VqW2o3//3Htrb9qrZ+rT9bIfPyP/e+mckkJKL9/t8fMu/dfT333nPOPec8DnNbOY7YRHhwEsdlg3KQyEF5CBXU3FY8uFUInNoqcqc4+g9xVf+mUf/5I5z4pJDn6sDjkJAcTLgcYijYEE1lkkEZRdOpbpQMJvxIfLK5eAfKeaNR73CePlGueEdzOO4W8u54WJgbgugiF01F4Y9weGdzyF2r09WyOqEODupoBo/ssOCGFpzqxsmEWxbGelOZLMokEy6Rm73p0jWXbpoNr6mXrSqO9Ub9JGeyxduFwOnBxOJmp7N58cXwiuGad4ozqgPIy/VJA+L4dg6zNuShDRIXhK7buAD9IehqQwzBIxzFNnsmHOBddicMg4vPqx+od6sfIAldQ6T+VCasHvvK6/eop49fddVxJCA/Eo5fdSNaFcGQAElaYjWf6o+ilTeOprjquHr6nte/oh6L0NnhRvISJ3Ccl+viFnFcRBYlXrLgZhgBFItGojHZ4YKxzsiduIXAHIhOh9vl9vMzcKKbZDPZbpSVtclJy3R6YKDygYj63qPJ3BVtCLVdkUs+qr4XCShmoWBWkCCadKdyZuXQN18VOxqyLQ6EHC3Zhg7x1W9mzs+v7z2V612/vlco9K4PEC7sP7GnuW3atLbmPSf84SJnVhQ+ju16WWcQFPPT2448JUzzRuz2iHea8NSR5vsGThdobp6Woc0x7Vue83EcD0PawqehhQk/dncTmFA6puShlL14ryHU39mqDnXfctWScHjJVbd0D6lvFu/L2/EaXfiCi++e9fo/mxfkwuHcguZ/vv6/3yw+rZX9BZi7Ia5Bg1EFiqPzFhHgCQCaVSiYZiNKJuFWBBgTr/rASuR0KE61R+2BCXXiler9Ne3o/TeUTuUN9H47ud7lVR9VTZLZWWd6+21TnVO0oPfQhlpnRL8AvdzYqE5foKdLBFfq1lPo1aOIEaaWRIRyOyZvBn81Sqhrjh9X16DEArQLXY9eZu1qnLxZ2IEau9HN6q3d6s/VtS+/TAzlZiY+pJW0jQDZMPb1XAygqgQhqW6Bjn+Criy/wNnEQNSWCQj5g9cPH77+oOQMZOZu7NL3Lv/E3k8s79V3bZybCTgltfCG+q033kDdt+28886d6Y3bL75gVrw53Qx/8VkXXLx9I/mjFv8GxxnpmpJovVaouZXr4c7hLuCu4nZz93CPcf/GcUI6FW1GDWIdcrhmIADrs/iRnIoyqC8tAzQ+/mOmP1t94xcTyke9bGeb5MFzUW+Rox4Cz2FuNEaoyqnmq1OdrUxYhh+whSTCQspVotBDEzmLXswKVumTHw0/Peok1UnUh85S4HOnWN0CW8Q8BXixej7pbj1mhGrQuBE7Szzh+lMql+rvT2H2HHWT/GQxmKPbaH8K0Sf+YZVn+IeTxXBssbL950xY5JBTa1UX0lolj/Oj/2H/+Pow1x5XC/H29jjK0eeoG+erfcX85HEfPWW1GwWYkz7QLyrO4qiTTBh61gRVhQEITTgX/89n4aOPqgAxwyyMQNhpbvK4ave/OFZjhgLOrus5i3g7/2XOBT44MySxoRWhaKoHwSmhh0c9Em/3Fafc4Vviu0M97PNRB4rie6mf/G0Ji/LdgTZTv8+n/hLfB14o98qRvwh2/iAX4riww4rEhpge0bKjqax+bPkuh6RHgp2VrP5K/ZVWEoqCq1QbipZK/xWEfmisr1KKhs9o+0UIzsbZ2gw3aw86LSFtbmbAtgyPhKsOwUGESpgXNxnmxXOKeUgxA9oyBCjIqHMMPtaXngwfw0Nn5KTOP1Qhac9u7psESavuk5Vzc21nQO1Ha3+xQGvFuY/Xatbej9zS0rkv0uXWyKUpZoRFPgCtSafs2YzL7RIlC7SeYQBw8MVaEOCPbped7tnaDk3x7F0n1N+r/6H+/sSuxw82X1YfsDZt2LJ0//FXj+9fumVDkzVQv7np4OPFfP+mfvjD+U/RlLtOIN+nvoZ6rwhYmpsuCyx87fpNkBxybbr+tYWBy5qaLYEr1BfxwiLboDHboOGfUMERR/cFLlIBFw1IIrLmp+2byI/O5ufsloLFzh4o//HcA2WH/RqVOVEOnn8rMjembnTNMH1ZCA1CfzvFPAL1jM4HozGuBH8q2iA6XAkKQbA+JZgRB8xICNaoKMF/2mpYrjGJAlI0RlFHwO8hqAXRwYAFnC2HJmEVZwD/Zz2EBe3OAmoNlAFFqy1IgiA/wN3hk4cPn8SHbaZvKI7QfIO+9l6XybJ/SqvNLNX9xuJEvmmNdxmsFuPNMUlnnW+vtfwvs81mfM5SE59l0Hvvc5nNYxPfrbeaTbeEWWKvFRJjF63hMLriNyYX9mUiidUmryFyt/5yt/WOhE82f93m3KI3XpMxmE1G59qaxLRa7DSztC0t05eaTAZz+B7DlurEhh1JnUVL3ObDTnZ2lHBZDUZmcLO4SzU8pHqWhbP4FaB/HX5Kt3YjFITRDYqSwCCtgrCEyms6y+hbGEN2htgtbE7hgSZx54fzFishOWK1FAdQoU0yqN82SOQqu2Vgfe8w4FMDDHTSc62L6Qmz2DoXpS12EqgCI8sk7qKffHW4H2BejvALt+sx1j8AwcP9y6/fvpx8ndX+mUgqFfmMXVv/NTBglwqEU9j6Z12Djpfwr7QeubIAaCF2MsQorFHqGkCptB87ZTdsKoCfqvkRwLkAV8U9uAf9n26dmZh1xf5iv8lk1nXrsAH/KLA68B5bGr82YBxQAxSxpYguGkI8Qr9So3jmQj2W8Mziv+sQ1i801OrwKq/3h9+mfVM3fY3yAbS9lU6xAhQwnFsAtc5xCKRbkoPRGJw5Wi+CsvCCL94eP8XOVJKPD/j2oJ0Gk/qyCV2kDgDiw/F7fAPx03kaL8LZHffNVu+oM6HpplN2Hs52NMgYH6SyNh2wd08ZxWy1facENpytBQUsyOZHgQxnw7CbwtYOOzuBTULbEYY0cBg8eEr9xamDB0+h+Cl0zQn1MXW9+tiJE+hC9AS6kAypFbihsFBUIdXBUg58QXXSEyfYPCYAX1oM26MM0M6hNGlBlEyRiFPU6BxHCKibGARTakciIlA7DbAxIAq5DXRzYcnozhGiY4hc/CoPcpifMzuQB9lN75ns+P2WYs5sRw4IVt+FcAeym4u5Fi96XBd2oOUQYoWQo5DECknQckdYhx73Yh+P2MmkFniTzQb0pmJGlDVgHoHngkw371B8ilnbN83gPP12d5mOECkSaOUiXBdgKKW9sPxWxky725XooasPuSSKx6BolrKeNIBwysGEoHGVUJS9jgI4MCQN/fj2jk913IFejberz8v1as6esau5elluQkCaIUp8cU1HU1ou+ocCo3jfHe3wh+XGOjWnKKhQ1xhDBUY35apgxcOFGQ7gqLSrAipOOQnbRQlYupEtylfBCz9gUL9p9BjVglWncxXYwoG/H1Zg5uDBM6AGD5hM6jf1epSzKQ4GNxZ10I4TVZB2/AzQmaCt2h6nbYYaW4Jigmjytq6vaqEB9UCzUc76kw9t6v0OdZBtcgN2i8mEevR6tWBDH3xIUzGDCYoCmNnKD7agGAkSOLyC7mBkFBqyirYbuxUXGUGdiKCTxc6T8EKdF6AcHoh6T8FGVfMXQ9pLct604S81OEcMBL2r2rAJF55Q/Ywz+dvuLhyvaWioKf6iq2qMrFwt5ZBQPJwdurTCDIzNJMueHwwUh6yyzRYIBOtx4EMXPX5qoV0t6HVKBOcjil1RCz/4sFWPKm1KVvaiWLQHRUMNFgw4WzJBz/sEPdglka8gmckED2c/oHYchdQmWa7ff//3ysjXjpMLJJvFuE+PdFeo3//8KKp2CClbbgUIFzg1543GY/79+0oo3qYLDFi/X1dj2HMfTYnake/Erqs23gKLqBqfCXPz2CrAXLAhDAjL6H4NlAccs4kKclJe2CnWlQqe04XsXJC1Hc7qP6Kcukn9y0H1r1tuUVJ0umDlKfvmffXCvX+aa2wCcDQrNbR/EArdKwW+bFZmooeQchA5ttwK2dCQgNX31K9cecktilZENKXs651/6zXyxW6FKDQ7hOzfpwWYJWRCi6BrSpSCom5SfgGHxmGk6bP4x9Ol6bP4lXFcK+UMLpRGCEz24CF+mHkIIzMmdkOiU8xDOcFjeL1ooFLc3ydwFf/+4dFJwtzDtD5+UTUTmK1xXuOx19M1nqa7vbOaR0RpQTh/KSXoguVMUVaSKxPdAaRDW5EuEG8nXGHz4cOb1aEi268xRBe+jnTqP79eaKdwmSvRETKXZXBZ2fBgu8to2CDFqltwqEHjzdJ1TnFmQJmTjCEKtedYh3J9m/uEQk3tzx/qumndnQsK6ruyzRutd3a8/Y0tz90cTWR2n7/c7I0K3PzoaQvtOP+36Px0X9/2olBTa9k2JTXloD7qxX8IuC11OztmKE2ppmj5noXRkX20hVYMiL9zLI5aBz9YEOkUhq0GOx319DivoGZlGAMaAUOvSgSmmO90fMO1b/UoNjrvuobZdc+oP1e/rP78mbrZDdfNG41bvc/1DUfn3iGUQv0oNbQX7z96/7Tg8i2BUeQzMK/TdMGG+5H4qU+pp+7fcIGpc15gFCkNbFkenHb/0QeR55Vdu15R/6T1K0A4fghwOLZvwbFYgV04aFwEzmpF/Yp6iu3DIloES5UfPE1XOFoEIRTNXKStQQovAT7Pypo6cWmcNpGUmU1SLYRdKbgnrAPlz51rsHqjnoYGD/1FvVbD3AkqVu1HbvMJkVpnnbOmZXZLDbxrI0ItA13Y774BczaPtWcBt+XjtAmO1FIou6cBepsRb+PjgMIDQLTbcIwS5JUUH7lH6NzPHjCbaqOxdsfC5csXOtpjUa/ZfAB9Vv2pGcA0JtVLLeEb9u+/IdwCThb5048+Cln1hFqcIUS9MUedNfPk15/MWOscMYD+GV9TU+rutRATdvNmvsa7FtlQAtnWemvA6w5DkrWciRH5FObpPaQRdlaFc8OJWw8nfiucc3StOkNpBX5B+CFGq8hB+gZ0X0alcKDd0iE5JAedyTTSksgoD/9IHkgvSnbQH+Hoc4Qr5vl8nkarefYuwn8BfjSIcDTbMEK7USkfjcV5lYVTPjMEYpaQBtMfx+4Gy2fDmf2Icc2lvsyg/PFkSE4q/41fD/wLBNbX1z8Cf93dN9fX97C/R3p64O9m9re+p+f4+vU0WU+PkD91i7D7X/rRedHO9AeEt9geXVfFoyhhREBBVCgx5EIF2Bz7NvPXRVRnLJWOFNPRdH8KDabzUfyDCG+kkX1qLh1RHZEI/mEkn0aDqf50tJiJlXHTB6QtpbrSZ6tN0EKB+oM9kcaFkh+hFSjPgsMtfvRahMbl00MfoX0pFuirh0xQGf5+NK01m4y8BzjPPdDmFdzF3DaAWKBJLJTuguWcTcHajWa7MVvGUfoc74Ao0S2xLpXySaKbHfOAhsdcgsjcPSgTHSXlqvzipXGX+o5y7czhjYvu8XlcIoIzEZuconuKjgiY+IiziUcSz4d5pZVHOowtLlEnmxVHMOZDUTP+YOESl/qX8Lzzhx+uNRoNnp3k4bqMDk2RcPT0O7zJggfMNbwTHMVBcGw6I4RvmD5/+Lrcqi2LZ3XyLRZdrWh01BqiW6KGuM7YIIa3NuhbBHNI8G6P6kJ6ncOrM0WCsRoXEol+68Lh63bMsdpq59Z7ya9dIau/graohYpTu899UCjdFaOEW+MCMDaYnsGFBhZwXvMH3M5gLBZUatpC6jx1XrhV8zvdQl5vbm849Y+GdrMugJ5WVwepX9CDX1/ey/OitheZgObv5LhGbTNhfJ9gGRSzcollrWFoofLxXALLesaioOgC7D7D8Bukdy18XiNEFfOQhrsMmZWrzwE8Bg/GB3xHfPHcOVcjju457fHBokZ75tQBszJIsZlBIKEHz7kaByiz4ohvID7CXV2SDdBo5iDXCD2gYhiAR5eQgVEEqsKuKvGhbWTBX44d+8sxMkRRplN5+hxKKhvTmEtvVJLFS0f5yWTgGE2KFxzePMzSEXjeMW3evGl3nM6jihzDKG9Zw+WWwCyRBCBO2SjUzmcVNANRAs0OM0fFExDlQ4rOBkD4eQkQ/0S3kE7B4RYRAavxkyTlUtJIMSTin302+KPpSnTV8Pexu7ctGTW9gzx9aR15JXiw0bqyzmFV9ltF1KPm+tU/x/jbkFvn1JuF7mVI7fZu9M2I9hOEO/6zQxchS8iP1W4eF4evO0cyGpRYPd6ET1okNbBY/eQFDf+7Y6rJWidGFd7O2yyoOeQT4Aw2mHS2x79FcIf6To2r3g7UWkxvd+gsJTqanV1O2OEv5LiIKxmQU7EWoL0k6JxD9CPCcEfoGqZhrM8OtvC7+U6UtkHaVkRJNEjmJ06HhUgAPPAKsZHBzQt70c7G2jm9FyzoWOBDGOnEplnLdm1Idly8rTexRIeKv8fWA2HJKArIxYfTLUmB34B+f5t7rWvuJ25c1x6cuqI7/dArc7c/9vS6Kc9M2axeaQ2gc67pndIZlHlD+mRKt2Ph+fg1yduzbcXcy2b4zInvJ2s3e1uGt67nPVaTP+JrdSYE8lqzzqwXeLQcK8jbseKmvtSq6R0BT+ilBy5+7JI5PtGl0aY8XZ/TOc5ZQlm8KJZuwbEsJU0hhN4tSNBDEcOTcqRFqYFu3iE6z7L4YNhnRrs2I0/XYkUJfvGmjraNd/kEi/+eiM4k6nHt9TJ22S0IyU8Ts7HZWLfNt3928us3n4tj9lCvhFPYGKoxGwVyKdYLgh7HEoaIVWkNdpjvL76xQr9h2blWO187JUsc2K7B6s0SgfbWcjfBzCVcVu0mjK5jaFOPdgtGGSOI4v+UDqBLqBsDrLoYeIoSoGM41kJoH+g+7HbYYX7LwA3lhSn8wg4BO3xGTmFKzFEYZ0SuBUN2WXw1aHfc7OiAnz24ZEm154MfZ0wvw5yF7wmjiOg3Oi26Jt7BYyFWV1NHbGYkmhSpDssXJRYH9IgXBEP86bBAGvrV38+EWSTyeZd7FBFhnhgfDO50KP6gt8mSj3if8MJfhOfKrmGOH6mFuUVIMBsR2jq0pM7CT1mhXzwH6fQEI8TzS7Pri1993HbV/KCz2RY3WKwIO+xJpK8NeC1N6NyN6P6N23Gt2+fgTR6Lecel2GtHu7UxJowXcCH3AMcppXEM827XuEFMR+mgsEGsR2kHXQKTjGM3TgH+ywTMxo4komJD9LIElk4LDHQ66HA56M0JTFEUcGhC7xFh9QVTUci7VBvbuehCxO0IuqsH1mKQhS7/zUsub9IjWHATjqukJ0igI8YbH2x8z6aNreA3dWZzvNfL57KdJrNVIMMcEazm8aE8DRV2w5hjxKNA1ZAvmovMIsa8sDR7JJV96Yn5Ew+5bdu/3f55ItXppIXzl2YEU63RtGMTG/NTI7EpGeJsd5LMlJgzXB/COFQfdk4YyGk81zH8DHaz9t+5X5e4qPcDJikilqRaTjPJEoExVqPeU8wncqU4lpKHZ2FU0OSSszj/P7VbE1ck+VK7mU8oS+owH/4faLf8Mf1j21092tVj/S+P9P+XNp/d/THb/CF8uvE3x/JZ/BPBzYfFn63viFPMDK2d5CFC/CnmEQDxPcVNFjOZe6hSGrp2Iufw3ytOfsLQibOxe/gzxlTjQdM7jpQmgYv+m5BBuZgWvTqk16OA3mJWBPB/wHoosqacZk8+N949moYMUTEKmt1HH2fvWXUnJ+xjie+v8XKodMx/t48DtIOMK2iBJgrHPm4X8QkfLUETFQGXqv8YXdR4jEyeuJ7NH6Ogyn0qE9Z1CDEOk8TFzKZau3rFsR3F3I5jx3bgwo5j6JC91mSOUQZRkywo6NDRcsyxHU+hg4ogV2gpSaMFLJyfa6EjSWmTTAJIqjSCgaxiZ0PFUfc4ljbObx3cunWQ33oqj3KDGLCJD1g/RDoSh6olIHkbTbi1WFBzBZYUBWDw2IDxkCVwmrGx+UJJXhFw9reELZwIFF4NF+G4YDYmOZNOlAIMHQF6DjQLkN3QPhkB8oEoCxgwQbRl7Vtr8/g6l0Eq/laCJ/ZLGTQ4XFAHhLciR9WBo+FMOvpWBFJtyZNBF01lcNFU31cHhgtoEA+lI0fR4FPR6J9jJVqJ1+Q+3GO5HBZE+RlRxvQmmoAGOhxU77f1zO+xqoeCaAp6Gk0hJbkK7oq5w6eC0WiQiHOvOImmqCfHyJQoVGK8gd1Tjbmc5u6n90zk/nE3UgN8Trt9wv915r2hxqvnhALQO5T3CpQOiUUbGErvhMZnIvSenDIsCRAACUDgiNuFOQeqc/kkHug8H0CWo29zH+bUk+pq9eRS8erzrvTpE6mkznfleVeLS1E+HETNwazbZnNng80oGE739T17UoV+nbzvVv2Td/7yfH9Dg//8X975pH63tl7Ff0I/RYCx6Vw3Nx9apc0mF4W5dGWRMha0qfyLlQo2VF+mwNIEdN9F2JRLMOFM/o3s3HZk2wDmArL6hByQ0fqlx3YMMygnuZ6MlRDTNIvd7RpmYEgAxPQ5a3wABYoD6hC/bp06tM63BEh1NADFtA/gQqWc4o9e1ErZcaxGsslQjChqQiDre282Qyk2/Io6VISisG8dCqzzQSlLKuPP7sibuTXj5WynJTR0mh5P1T2jdJjbpWh3l10oFJBExcVWPZW275bo7QqTDIIuC/lyF7kRs+Jd1G4Qt5Z7Z/d5bYrzHTXPVv+gevzaHVOJW8fbDAbX9KaQ5AzNWHzV/mc3D8KW4VVgJ8chtVjup2KuFbwNfLmXrykGs8em06PX1TzsF02F2/apz7iN2GxpuHRgT/u0FQNLls/siLnYBgNJUuW+74a5bmVSg/JE00q7eObE0p1M0e7ix0o4jna3MqMGMxHHzqnBLIqOPw7/xNPrUZd5PFfCG0n4dnhd6cHr1W+NnUoDrkylClNpIDp0EvJ60BdZBo/6AWSlhZT0akZgicJ8ziqdM4zNRFlHZeEBxlYKOh1i+ZSlmzPjR5Wv6Jl8UpBeYbkRLPcRTkkBjgqoEHPSByBGgLQyp4I4dklAo6mTPiAa0WjE4Yc+XnplbG2sP7tgf9jL9IIyjAcFzY6Nk7Nyypks+ani9SrFDj1fJSmvF65VTN5TOa9JwS/pDcU1ZZwbMO41Rp1WvkTLbx5f/iTVsESZrFip7cw68UuK94yaOyZpAiQ2eYsdrC27RnaJeWhLzQRtSVVqXq7VrBPoU1FobYJuwtpgdEeLZ329Rtgt3E01JvRIZN1ia3TTqVfdwaBbaHPjC4t+s8MrFLwOM7jC3Bh5QmvphB9zqArjVYG4ktQ/0wAYzlf7hNwo1VNNAUXLsFuu54xaxDEU05hyynl3iaI2du5K19ylHkqst6I0lQ4dfokOHQwMHT4YOjpy0GETHVMjfok5YOTgYfLilwz6SvllODmjfLc89rqUVjVRjTqhSlVDN3nt4Dg6OkD4qEFf3Zgxa2JsW8Y3olJ7db1jaxxXEZ3vkdOwL0qCCHBSy3GKtimw2UBVM0LrsYzCGIU94aWqacFTy0PsLf5Bk4OKekfgqY3nQyMP8UeFPwDGxOmxS5McL+1HdCPlDxXfwYqiHKUz4QUo/wM4jir8T4vvFN9hTi0IHjSNVuYaKPOSUplnCKHTQpdDUVpeBUphhUMB+BCtgXngv5aAJhwD+/TukKOaPaGgrKnvOOWgpsOTDMqaIk9ahhNijOROgXaZjfsI6z/SPEwoLDdedCdXijkzD2o+U46pSpao1K5ya85sQ5Ue0IS1lmje5glkAsv1NLN701QroqICrVSqxsqYZVaK39YjiT1dyUQP423CiI9pw03Ks88qyhql1ksd3lpwnhmCbhvXNvTohyUvhaATk46Nm8l40dYCGg5oJWurm7aSyixWtU/g7Wth3tVNv4XnWrsdbaZV4Hr78HiZygafHWpWL/stVG33ASFzWKHpFo5rQ7WsVwc3FzDm8TpjqRYExIHIxqwkFAJnsmRB5RRw/ma7+fA48c+KvDh31dFVf89b3Xskk02fDjak2vribT2XscjmYKCho74G5ce1frAiWI6/uPrwsp957BeLptkeTyoYbXH5ts8K02ilS7E7p7Uu7BoPDKN9orRXR7lP8ijoMT53BQjJuC6Pkfbj7JaBsjDrgCapDO6qDuIzGj8IgRyNBYdaYC87uXuwFGL/5vj2jsJBK9P7qeiBtKBYhediQVKSIkDU70fuiopIN9L4MhBfSQv5KmV0o2wlLeSDMvgvXEEX0hWBxy9ny+nyxwPjA9C1Ue89kbceZ97H34rcQ+PHBWBustyVADRl8uylgLEymSEmwc5pSj+StjH2wIJIaVcSJerECivXkZlMBnHBQYPXsG8fPA4a6Nswzv/Kh0klou9NnKnir/lw0eQz5ab1Vdh3PSodGpMKUB5S19Dl/StFuQTehxDd5C9Rdn2oIOVPIY+Coiwly0LznvqI7fwEp+fsTE84FUPsvk5gMpUAVNAwTT+mpK0jBFYVLfsGr/rewZXDNfjvtz8FZLQQ2PWK+jv1P9TfUYEn2BLaUd0r+LbH9xat5606+IMX8N/WHhy+/wnUo76k/pZJV/pRB6qjLnoO5kbS0IY+GKmS3hCbXY2vltYYa0wdCzHEamaqmEORaLSPiiAUt0ci+E56H9IXjaq/xoXUTJzPp/vUX4UvD/dD3AEmqLA/Gl0Y3QwJ+jR8JC0USvVpvC129KIKj0qbKEYRCoVIcXsslYxB+ShSzKVmzkzhgvprqD+aSkfxnRGcy0RoM/qgAhTpS0PtKAq1Q4bidrqhc2kY4z4hRzXoUbljFaxHO/hL3aSISx+URDWefsWKYh2BovCdoWwmQqtLf0hbaFs13CI98izUmS/rfpcHs9StCu5VGluolPYyDU8YKepA0f5UPtWPonT8+iK4AHHb6HhSHk9fJKL+Csa6v5/ORRT6HhvVZS9QeC/RclSW2iLAIeYo6Z634BiGvtqDSblMr6mUghra8PAnr97QHRIE2WozSSYr2Z1+An9vCKgszBGgylRKdiHOVJ85d/vgxuxsMaS3OmS9F07KuqMv70WHKCYCqbgx52mr1hK3axQ7Ly8/JqPWisp4F91eNKbb3w3qV+9VNEFaqP5e1A+L/hripm71q9RtMKD+e0vSs+gdL0tfEcil6SH5AiaHSzNAei/LkIqW5PfMI3cJfxeu1do3WTsmazeTeZugIZO0G+cmbAg+NGGzK7YuBE0/sbQeK8BaWSEVAKIUFdWbHWC6m1S3hCqPMA8ajLeTwEShLH2pLgx1EY2GGscnpuWeZiKufKFUUllBFHFXwBwr0MY004exwsEXG9V5E0RNbWcqnIE9cPa5hUp7IxmqCQbkgvD9llpvzntpi/o+g3T1/ZZLwV/bggzg1KKQQVsEhlKU+j76AwRfCdGfVF9hatTJT0L4lRD/0EPlGJRkmtmvVGKqzwNKo0xlEpz28o4/Xv+eKKkYDQAcVdFCcKu2ZZe3fPxlu7lgdjjgYcd2g8HyusVgkB2Wb1hgSMYdDKf/+qJFcZhfNDsUdAm+wiTqdKKpeMhgtZbvtqBdOc7MuYBaXkixJDkddMrOEt6XZDfMDlc4xZDnZELTGavWB9MoLGb5hJ3OSc0USsJFBtVC2FfwhdX2b9/sbYaZw79ojzd7b/pWHD0DeBRML0ynhk19/fzbbjt/S1c+37WFutDXLfavtqOThYI6pb2mtpZsfLy+fUk7/NU/PkjRsDJMadqGtz1326KnnloEL7vGJ2N3GE52e0EbzouMPwuoKxXLCCcpl1nkNB4goroD9MY8RqVSNaVPeruOqdBON0+NQQiA5Hxeff13u2B5eZy16x37kPQ1L446WtS3fv3a0P37rQfdttbm7jp/k0PGOkK6F3b7sH7Vgy9ekf3qV778QMwQczTEPLGegI1EU9GLjt3u9MCa86xXbtyExAs2DKnfuuLyVmFhrj/n8tbxFtEshRZlOhR+tiGZvvYnj+0I261EH4sYYrJbv27PNs0ui0D5oFaqCSGMv2FxsE035mYMTgF2cHfMz9O7pNF7shFu2jkDA+dMm8WjNQf2rclqvl6i+QYrkuu8snjP+cvnz1+bHMgj1Lhi2y2f31AOWX9rKaSES9Bx56l8eZAZyYnGYNfX+OGi5AJgZ3OhMcqZBC9HZyHAUemEDLzdYv7Im12a0FXXm0c+ge5DJ9F9xWd9jpu+4ov7dq10kMsdB9RY8W9q7IDDcQD9ElvQLw/g3NvbN13/Daou/I3rN21/+5W//x1Pj/u+cpPD53Os3KX+ZHboD+pbyPVmaHboTeRS//wm06kdlKg8tp6r4bq4Wdy5APnZFsSaah/fzghtZ4m7Cimo2AVtcTDBNEopj18BWgi5eMZ+5uGkDmejsSwg2rh58aoN0JfP4H2jvUC3o8vUdZunGeymXbYp9/zXaofjk+glZD5vbcZgF7xhf5DYIo/eijw6VHDE5h5Wt/9m4Ul02fXXfqbngn+b/r27egpbaD9VFV852s2/SviFoun4eba5UGzfzF/sq++vfwvZ5AttJsWuYIPaduebCfT+1D1zG3JLP//iHvtfXvjKtVtzX76Azd3IO3B2KwyeghSiImfdkwhySRUJT0QvO/iqu1rYlczG143m0q5kJlwoIs9oOMU1zJAjIcLJnXM7H4eNSbHQB9qDfmCSjEbJomYNZjN55lS+p6euoaGOiu7Wh8McGhkBKD8gHKA6f7B9W5FS5nbH9IhxvpsRFfmnykBsG9Ijze0WYMkLA1Ny/Y8PCnJeMvHEKqr/qRbTgnlAb8FW/fFhI0YGcIv4W4iovIVgY95iw58c7C8IA6lC/+PF+YplQETEjIbV4rdky4AeG4ePSzaz6UI9SiOC3DqbzZg3C48N9ufoSTai3VGcKQddloA+h7uW49wlKe7IuDeq9leYN6X9uCpddlxcZJzGSIncC1bZEXDlUUAdQgMopxbUwfFuPMTcefokHA3R3OrgqBoNpKmEI1ZaYDQS5ftTp5j2en59b653PdJeEKLVG8ixbLkcCgxD+aigvSEUB1CASbxSwwPDX2BJaIZCVfCi08zYiQDPAXq9MKA9+0t0DKxnYQiomCx3NdXnk1r4KjGF8h12FwKipkWMZbJ+PhnU1AiQvRIZhKMAlrClWsKBiq5lu8VKavxQ5yKXP5nsmzLEVFtPCaJeLdD77MDm9jWp/kRvqqN2RikJ1YAuq/rRJCNc2+LOJk+gpa5xVteq83fO1soYF1jOxdeve3Zqdn5jHWMxDFt8tBRYXwgRyeJuaOmKnf9VFk91ENVvkh3lBP7OnpbuK3rX7FyyMhlkmceEaMk1/EtV2V04RU0BIYEVJQqwh0Vj6WgmSs9AIUtNI3QjqkQnce+qF783t+8l9dS0mXItTwRkwCYstTkbPX7jI8/e/S7q/9p76FOkRf20+svP6f5tlkWHXXbE23grsWBd2t3eMj9+HhIP3/rO5zd+bizNn2RavE4Hw4rKJxnsP36S6CaVk+2s3Pzvqo+r89XHv6tpbbR2LmtpalnW2ap5qfEhVbPCVjJMNOrDhfz31BeffRb1fk9jMab6oy6ed1FCiPKHLxlNWp2txB9ewznFo3yA8nIjUrVVkfId1SHGGj6DG/zKU2Xu7lNKWsFvKkqxVkmX+cND4lHyVpk/fMbtnXiI8YfP4AbjX0AZtKw0FKpojOmnWKEabpSHMzpCNaw0m1ctpBN1oTFar5rOf5Dd+pcv4tLaTZxGrTKjHsQHpD69qxM4qkOnM0o8BlrCinJKp4Jy1qi3gHM2/aCE81a14OhwqAUaVizQMKpvV84Ba5w3iLLoQINoEFAsGeVdLjUve6iwmbFgRIc9spp3uxELQnlTQW8czaIOVPGP8oKmP91B7bto0hZ86U01BiWB3hFXjPUxNI9KGmsd4t1M6oJZ7SA/ZK8fBj2n3zZ7yBFmwA9oTJutFn/phxqj21ZjMfES4r/kjaaYpQ/tjxRUzhMhuzoNtjYqxu41NtZPE0gW3GZ7vTMqRbkxum6OM++P6hivI79n3encuj171iF44sF1e8hgkflJgT4Deyp34tIqKEfhmjRqXzuXy6ruVCqJakkgKTW2fGlVvfpM88O9pwsN6Xq0BFx8riGtHhsurD/Rpf6bgEoVB+A3vz6kbkvO8/rrQ+gAvFHH4AXz1W0iL/NVjaG8HA4XRCZbwzEgGn+VO3pxiwuwyMZd01Zds/K/StH1WnULy3OVS1dt/FBO4khBq6t8dzz+pnjsvfCEBY7e+o675S3d6pZssOjKuk1mwHCddM6CsqaBFZSTctmH8zAC8BO4f3IAjJqHKk9R+Z1hoLhO52HHOwU0b5Gj2lin6Woc5Vm0cTl2emUAD9WQUDegm/QVjQFC6qY4D+CV9EX5dECxxDJnbIpc+8zZNTPndK1bdYNwy2/PqVvbmr54QZ3L7HVumb3tPq/n/i9u/c6BjdOANm46tmOYyTWRwo5j5NEafXxR1Nx7w6o6Rdp2YaL9mi5Ug/u2W3R8zzK0hqyft+PhYyvs+qkIj+Y6NuYuNEx1U0qXenIyG6JbRTYdZXz2kDNZtrKR5Ido/hde9r/ZOntXz7V3PPkf/1F8mwYxkQQoHC//0/3t7ehH+sGDn/tT8QtaXRqJMWoPh+JVVLushesuUXpVWHumLG0VTAc5WzQg2lwB6iZBABOpWn1eM7oGtCQV8rC3xy1/YzJHw4ep/U8+X7LtN/wG1YaDbg5/J1e8Ucz3pU9x6b6+tAhP/GWffX0vPcvj7TomljT8rTyqR91v0Mw8zH/huv35/GmWQaBPNufzxUOMTp1Xkn+i08zIbdoFOsHM0mYLjknuEgNNk8RL2cMl65DZsiqlnye5rYNblcamJVtLb/LtDbI+1tBMBl73LW6K+4oXPnP8yVdeRInBJ1+5DV00QFoaAhtks0FcsuK86eSZwa1blzQ1KltLb5WTNwTgcIDM8abFPvzYba88OYgSL77y5PFn1EcGSDMccvIGg7ho2ZpejY3AjVilvPAuzJAM87KbO86drpLr0voHPZMrriobP84PMfLz8U38VBn4QUwmiEkGUS052BxoPSx7lIoDUfEgVhZVb3bDXgHlayVAq+T/TmaSZ1BEDsOR0Le5T3uqeYv+YaOzoV2S3DsUo+HaSNxoktzPGe3I3dB4nWQ2Gu6VDN02t+mIwVJJ6tpJkzY0VyfVmWhSU6fVbYSkOP+AyZ7kd2Fdv8XhcFj6dXgXn7SbHnjALCd5vru9FJFsFPmdfFI2P/Bx05fMGI0wJBwAmE+XHOq93zAoyBNqbJtlMJgk/w5pjWK6vNVjNXzS4DxP0n2iVm+wLHZNiXqQbKwkNepNOv910hq75fKWMUlt/a62BjeWi0MHbNbamqtreDJvvRNj5/p5hAdvrdUGEXVuGoHDgfMhal4jnkvj3HVW8u6/kqssN7Kb4cIRxjeyiQwbZqaAYLJTgAl384xFQO9BYGFKgC/4RQppVGk5JoYCdMWGASph7VITQS+oz//7yjU3PhROEKOCAWnHAhGRELbVOQ033v0CmoNuRnNw5903Gpx1trCARKqrCMkcpkT4oRvXrFT/63sd/sdRfNtNe923HCZ3qn9+e59tdVwPlCeRRJGXCBXbcEbinvk/2XHn2/v2Ffft/PF8TzzijIoIInlRlIjFhiR9fLVtD79mxbp39y7qm/daBe9menOd3BWjlmYQvR1NZej9fIUSgiMcekpJTOhXN4IDh7LIYEU62MpgP7EZ00Ea3U/poqSUE9U5gQRUNFozR8MfXZxQBwdyA15PpNGV5aM1U8KNMVsgYI7UtbrbhJ/edn1B8IfsaYc10Jyfpo8Cdvr5u8LnDzx/wzaXOkT3T2QPb+yY5nFHm2PJFXvntj2z6Yhmrwbnk4s6fjBjw3rvdZ9ods8WEoF0KGwv5kXJqpPxgs94/bYFCwOJOTVdMloXPm9hMLxoltO1cdGdj09tjvelcT7d57mtL11z/Z6myMz928+/6AhXsb/EZEm7qM3oqh0txuY6A46MxjCRLII2YAJV8cNuuo9H01SPlR6I5V2OSY1S81qV0weAhu5gkrMyopXhag5YHWl7yC9sWJW/7adCm7u1LmIOBGyxxvCUmiifdTVGPF4YTzSQWJw/sumZtlBo74pkrCFu9ChtMzaG1b+wMQu4tuVfvGzrgS+gThLVT+M1/UqVC61DclfNnERg4QKb33vusgVY1lklsZi3h0PpQEKY7W7+xHXe9Rtm/KBjUeLSIxedf93sOTMjwQ3LVzoTi27zaKMWnzLl0X3Coo0u56xF4eBCzfYwyTF6HPCkMyz9ktx4S77C0KnvnmmqtyLPVbKRPJ3eULYQRqXTUWywEDgygR7KlnDMcfaTxXzzrIF1m3ZunO+xd9s98zfu3LRuYFbz83gOnv1C/s3iffZJbCuTzy+9cUGLLblols/l8s1alLS1LLhx6dPPF1/FrS88TQ0s2ycyvTwqoxqAfSROcbmIw2XB1XiGsxRQktHswH5SuS2rJNNux3AeI8FqVpmEJrUoVfJSvgeiVrhl0cCTQaU4RIUQmY1xVKBXZoEBPuD0mjWhdMXMPOt7i7ne9ZiXjDiRolkgcaBk2yAAiG5xqKz/q+G51AYV0IzZpByCXY+d2NqNAJWgaJCS6ZCLgJsdws7xKOg7f/zj+2jutgXzpqMZ8/GCPx7ceccC/EdC/ihZO6dsQyer0c5d+GuvpWbPTiXnzBn+DLr7oUe3b+wtHkB7ovbQtEfwtdWYJuN7M1spRipPjzRUQma4BG0AsVATYDHCqJ9MUi4RdpTak2EHGgLsDv4w0Jjq8iSWTahW6Fcv90YfuahicjF10SN4EDGxDmaPTP0iEKF1JrkWvRn13vBdzGk0nsp9t0J70X00NpHd3zrNrm+1kH/F+uJEd36j4riYNaCYq8geM7NoVOj0meI27eoPH3hG0cQU8YBaKAvhsoRlAVxmiJEsowKNLB+7AaT56FXkqG0pN4XTSWBQX+lTKgpYTklTIRRswhTx1IJc/EQgiK49toMqsDOYRawn6lAJZkthgOU/NDEoomQxVwW5uKBBrk4D6wqtT+XezdwCeteQBsrPFUkHHRKcTE6HdnohdulTngftfoRtydSOSImplK6iiNH3F45wx/lvj3AL7zqeX37XK1c3paN1XbP6ttstwzAl2/tmddVF001Xv3LX8vY4CkDLKJszEG/Hdz3x44HFT78/8OMn6p4+kZ9377ZzhExjw6JkZuHaOZplmTlrF2aSixoaM8I52+6dl4+3a/zLdk1fq6KvYOFcnB/W3lQuyd0F+4cYi1L59ZhLEsERK3ndVW/6coTEdCpJbVxBcEm6oIWy0WLdPD2iYlHAtKMNUguMi1ukCuZuOj4N1J5KK6xuP6LIMvxID6KX9WwhjRpX2q8zmfU6kymh1+vsen1a0BkIMRh8okEvwW8Xb4VTw9Zpk21yBw7wNht56diOIZvsMqSmr71wZuM5kam+zbHo+S+db0tfUzclck5j7sK10+N6Z1vvTLcyw+Fw2kQT4LnNBoO5e/4sasDC5RoqL/yv601GHfzSJkn0ClKrJAiSQIRGyWAURL1xu0nkXbxgM2KzERODzkMw+RKjIXVO+a8XThU9mXNuO/f6c9derY97PF6vMTBVf/VaCLh1ScYjhgFrbW4MxHmit1gEwdDudkdbzYjno7cSl5tUiNyybYQC4y+x9f7h9vmYIc1Mlg6fdoeuRVGLZSU222QW+j7nvKgLcV0XOdHnmJG+JipgSaUrRzhqvAwV7Bk7KtRHJzHS1z5/fns7HoiXl2McsNGCoqg5f+U8FUYA1qZxF9PzlKkfU5yPXfUytXsgnqhWsZOJbTjKyt8US7FnHVgz5KOlZRk1PpomFailZVr+AGOABu+2GE0GncHA65XFjs4/zWi+dFb7vpkDu6fVuDwuz4U109+Y/uylt/xsR/7A8MM3fn/6b9shbMFGV014QX7l4oe+tavzjx1Kv2PpQgPmeT222fFLU+6s9fumet1rXRE70re5Pa7MtAX/+ddb4oON7lVT6lz14ak/R447n1KfP52dUld31QLPanf88carfnbiazNndC1uM2xc4V7jNsiywSXGHxkr80B1+hyMBgW6m2FpHN0r+JKBImY/FrALP6ZbDDUTTHW0/UQzj0WdmGpiCHmH0blx/braZK5+iX7Dorz613PaQsRvtEvJ9kTNqlqLZA8ZowErqbNMnzXdIDlR/3f24QZLrd7enuh0WOqa+Jrpc5W5IkHx2lU1ifakZDf6SajtHCTnF23QL6nPJWvXrd/oNDqICOmm1/BNdRZHZ6Ldrq+1NOB93+lHTskAZVvqiDUQNYbsUvm8qtiJ5c6mgMYPjOqBrP/NqKrIjmMCVz5jaNzgaIR2Rmt2SkTNZqGMsm6kfKjBkvwwhz5z3nnoM6ZJLZdwp6Po8LnnqpuFNR9uw2SUlzaH3upSHS3Y4aj1iZIufNVNP3UKgMwwi89A43Buv8DM8p3JUsNkXjot+FwGe0e7TVJMLnLRPVlsFqXGaY0GByEeb63bYGxLt8wWBLNkx51o+qfFNntjTdg2/ZAT0PlqlAetMgq6Zl8dcRhm9kqiGWfvuYi4TIpkbgw3Ww0unyBObZkW4F3OQ9Nt4ZpGe5v4afXlTmyXzIIwuyVNpo/nv02Bs3yFoH2chnEssAXxGkVK76u1Vxdyudkdt4t3l2xoUT5jRlwx6wLU//Br6k8+r/7XG6HmN5657Gh90NfctPXQ7MW9i6dcj9a+pDu+98DAFQORy87nN22YY/Hdqhb/8r+uuI/fj2+6UDC6v7Sdj5Ipdy9f3ffAVwzR8N7jlzinX9tjYG27YCRP/h1wJMbnZpzAIAlRmzKydqdG/v2RlZ0oElPVEyPcyKtfOCS8p/5z/vzj6i+KevwPFP/Vc6+UeIxPsHldRtcoB8fhv368wanJUS5agLeLnPrrP9XW/KvnlLf2T+qvy0KVOH9avWqR4LH/9F8/dS4hdo+wCN13+seayM/Yu4LIGKvOUTqYybG2bihGwwUgddQL+//hk4cHRg30A2bL7NWQQllWn9qzKbTHqywGfoOas6nYHdf2ipqSDS9unF2dpJPNJmUXyEyfgG4m2TS1QRZ0ikN0f9CUVM2KmFfMZuUDeA4gLo+g3PW9o2qpEDw0ZFZOc4oZDxQHzQo1NZbXZEqEW0vfH+qq0qB1aUxCuj0zriDlAAJUu+xCJQZz4dE4E7PhrinU4q1YsdfdXhPGLvX5N2uCTtkrDKLw1dfcjs3YYffd440g05fV36k3/bwm5LB7CRLR/3nu+deQpmWrftfncAZr3kRzXDhcc3udXTbffs3V6utP1DocoZqfo9tQ3ZfNKFJzDxAb5teef04NlvQ0udLdVD3XSLEHbtz9lHv8d1mCZdPFaEJLr7yttbe1tRe1stdj1Qq/pxP8px7hPZbhv1k8PP8lbaRt35XXZYklu07+rg1d2Ktlo3/volFrU+gd9FuzLJuLN5fIzFxNAq9P9/ami08k2N56HaPFW7gUgwZKWcGPi1hgb7EgOP4siJ6XmWzFUniAAg2ROUHmxTzlRfSn1AvU7R29fNQh2qe1Ruue+nyLNFWpJQZ5F6tzCH0FvZLqz6vXqfvR9STP+KapfrQ2qKzfEgvOTM5o9Hckapvct3Ret+LqzPpeap8z358aDpPn1J80qn9rYnyb3Agn0rsoI8DvTEDgUgxfaaA0AQpycqoFDlzstDHigBn3p0NM9xN7VrOISfkwdrqZkHttM84NXLqgeJ3gUN9vW/PJ5z65po0vQEdysMDUXKo/sWx1V+zPL+ral7TrXvxzrGv1smcC586w2RZcitrQFOxIXr6hp2fD5cni2+rJVD9ddf2ppnWHPvu3O48gwac46PJzKD719JE7//bZQ+vomh/558hOUSfsY/SNG8Dayp5UJF5iMssSM09Onz2MBUmf2Yz2rGfmh+jT7dKeNDfkFwb2+w2m+AtpU31d43NthkaTVO+4/XZfU6Oh7bnGunpT+oW4yeDfPy5VY93tt9c1jk2D8+OyYRfNZmwczdbkG1t0o8FUf+edfqNhTJrKN77oOk9zm8bzI5lQHlU/kUq3A5TDBvteNT+yzGMTSwzJkiZs+QTvFij+xmu3JsEKN1I4ujhRLPjD/vPmeXo95vj8ef458wKB+S9+d+nxEhcS9QEkPnjZMT7IOJGfOP7pGSU2ZMDg9jhrLR48M2SON7T2RG960oWuq2ZGOqanlzfP6rpzijO3dGnN9GI+l6tmQvanLzvSPV3jQM6ZobHS9Irss/rIwqxzWXcutHfX7M4jXNX4ZGHnuBaowqSs4TKYMRKpvS166mEn+/oZbB8Uo3GL9MKQkcDdaByNwlD4HqTdZGh4fDKo4QRUns3tFxnaMxAIhGZ2xuswEfD8uMWDFLvLqZt3HoxYsZBY3J9CfRp3kr9w1YqXXkSbNEqmL60Ozfj0i7vvfgahLhLkj1324JFN6DrXkzdFe1ob4ubQTOyx1Do9bgMKpPvyOO9JNAUJEfHSnAuw7mDU3TWreXl6umNRMtVfYU96Aucuy+WipdEtwmDNmPPwAaH/EpdzeveRyy490jl7195QrnuZM7uQwCDKir6v2n5+Cbb48khQcwctqIHds0qydnsoM/O32hfk2H92vDFmt1h18rUIJaogo31/jzEZXG6GUZXJuqNjpjp1BjRggIY8nfbixNN+6ShwrNE+D9hZDZOTAe7KjwChFXDmqscnxXVS/jbV9WIX6YyHQv9beA2IcFJmxGBapvikC1Yc9eGK5QbYm0R2Z8LuKqlKZ8ngK5OgqtLEpBRSLldk064XJpr0lumjc54vUcmluc7MpHOdWXj97ePmmq2fGXNwDiBxfglwdfwkYBvSoJZ0saEtztZA1S99OKiWAHssnVHPMCOm05jNlNT3JNFRjxC10E9Dxuk4Unli1XBcUdZS2/uH19rta9FmcILjOHqfalVOpPV4XFP2o+khqXoYcoHj+IfrQbK2cSn68SSqTwiNquhdsia6ElmUrdbaEwRWttYY1cCwxPdLTUWb1yLz+KZtzLDWlxrjHW0opFYn1XUstSum6TkirSk9qKKZyj5uEB6r83hGzyuVIcv4Vl3CWmufpC/Fs7WrlQ1XRcBSU8Z0uBFr1hg7IlQXc4Ke29monNmui0dneQIY4EY+TJfMiH6BPeN0ByxISmimBuGMj1IWRQ8SozGHlIqKsTKxSynfKKxmSAyUkpSJxpIsSgK6yOmiJwSNEmG3s2ArzQ7/JfqjqbtRml7lhVxMdh6OXVcm5mIpRHfUgmgNDbTIDC2QYYAuapBOdEmU7qTEV5SxKqkYi6QV4s663FF6sQ70Wowe65SnknVJGYah0Ha5srClSG54iyWGCwIPNZbIeCzZjGYIOuGHilhsKOHSODHMZh4l4aGorBZHiVxXNpMWY4DyUQYwy0tHSXQ20IvMbhJl/C4q90jp427EQpGLCRqEXNCubCqadWVZ5bDr0XZ2I0C+UmnIoN10xhLZBsDXMzQr1MZemRSbkEyIBtAxou8oyTAR8limZDtRshA3ZcIx65BRSGDhqQta4mcYH7WrCH/jtUDIbGwVsSAg0WaJNsjYTYiHYJMRiXoLNhhEhK0YESKIOgkREQ5XYiRWm0HUE0lAVgfRpeAtIbOPJ14iSBJGosATo8JLercohGuCoiiZCCZ6ZJJIyCqYeb1BESxEb9ILxGTVGZBs0yG9oNMRn0GplWpFARkNZmwRsdkANQqCjkgBA++RBZ5HhLeQljZRFGy4QSdYRAk6JGHeatHZxIPnSQKPiUEvomYFEzOyISJJ0DpMZLM5CC23m3jepMNuhAgiNQRhXsReK8VKsA5yEYPFgUWbTu8SBRFjs8lBhFqdwSQLVp8UVrBglLDgFSChQ2eptwsEY16PRYQcWHAJxAzjhJFexEaTIiF6bd4gmRV6IW/iMW08DCOSmkWrJGDBQ2oEAj0TDNiok3SI/rNKBgOyyLxTlHgEw62XBEHQmyRRqCcSJrwLy4TYzQYbMemJjK0u+fiJ+4hC7CKS9DaCDbxRlOhUYeS0Cia9URQwLCaBWPUW3oxh7rCCeSIptZi32dAZSj7qd5GMDCYk6URRp2AXArBwIZsZQArD0Os9RDBSS66CwYARgnHFSBB5xNtEXq/Dgp4X9QoRLYIkm3U2XucUMU/HSHBZawSd3mzWC8hiJaKbTqzVxFsFD4ylgSoo2KECPYyQG+CuBll1FmSywphJegkCDTyCeeUdvFDD6wnisaSDAYXhtnqhCXpkkQSbnieiaBKJBUZyyd0SQjboghH5ZB7mzALTiAIxHpmmEhLXIWzUi0JIFH162MxoHuxoquEFJ0+gNslpc2Gx1mHQhUXJLBowDDoPfW3gFR0y241EtIu8oPNgUmcNIj3AjWTndR6ixwDFAAGAK9jMJmiBQqw6QjCva7IZgrINWwmiNkABGoleNJqRLNTaCU8AfIlgMcTBJRslnV6vI3ZFjwQdr9j0UJOR2LDJoNNJkohhVAUdMvLYDD2AlYawQRSGbw1/EuoBZMFEW6uDaaaQRqACWFZYFACKa0RYuUasJ7wNOkMMCXO9XGN18VKtjmkYOEec4s2MbnJSbcIylq8vabVSGVA/gDkTO+BsHPuWg0MSnG7tcw4aaoU/W1xJ9Tw3R6P4WOxB/Lq79a27NIWajt1TbDb1198U7r9Bb5VLdw2/h+SRy6kmKD624UF0IDZr72c0xlLQb2wwHhvaQtbOc3DV37TUdCFq4XSdAdRLMB1E5d9ZvoU63s9zFPVX8zw3DC4qkYc/kjVFZuYe/oZzZdYXNSHxh8k8lP5+byQvHBA4Juvpkiqm4qjSLvvWUkK4Qa5XFWYhboRTVIV+REngmvhfNtapStHLjMNxihf9Ab1T1xgbtSXJZo7KLray731UjUHQWbbbFHIGmR3/8VeUmFrg5/jSt0noVTb9uPjACJT9Abe+Fw1obDw00Lte4PJFTg1oLJVB2rVBGAKqvJHvXa8Z1V5fLbs5j9o2oawC5+iXdfTsBCoznzJUsUYqfwRIsztlhaCYNh40I4sViPoIuuhe6HT5gzv3qo+oj9xLB6j0MZ170UUQoHhNpji9o2Jp0EWQiX2JquCNMita5HcT5/PHxuWiRrRoLpqC1c1S0LoFRZNN5JidcJmbxk3nZnLLubWMU04JFJvGTchSw9QTfwW6xKErfw2amV9gMj9MCBfy4lIKvPSJS/cu23qj2LdzxqxegR/72WhD75K9d+xd0msofTZ6WLNtR1aWJExJcOuyvZc+sVTonTVjZ594oyZAiPPCDUsXowubmt2RujuLlkk+MS0kmHyeWl/60nTxscVLbxC231kXcTc3oc0sUsMnbSP3iluFd7kgN4u7rGRxBEhhP8/INiDFRo2jZFDZeEo5LFsWsSHuDKdps2v7TKykR19SwKJ8FjdzCc/4XvXFm/wkYFSk9ri1xmuqJ0HfidrGuO+QrzjTd8IXj9Ud8vlerW0cn4rsPvfQ8p3XLz+xfPXqlbt2rnh1xTg/ysWh9ACpN3lrrPF2STGCuynu+1Gt96AP/wkcvtqDvhgkqq0fm6j4xrvLDy4/90fLd96wcvVqKHmst2QnMs/sY3MaXHDUyAk1S0g/KKVdc0p+JOXfeOx0AbbLu7dhNOXkowjNmDuw+XDjLU+j/GNvwB6659cZn/UkmvLM3d2HN/f1+H8M9MZSWHOtTEc9SK2mM6jLatLxJYmVZnoMBFEsLYdkp/CP9jmbT+c3z2lH/8iVzVNFvTn1bfVd/B/qu4786vN27z6P1KB7SoJdV89Wl6Mv1EfQPerVEdaVkfdH8hJhPOjF3DpuM7eT28sdGLWZLyDGY2R7HEPOLaWlznD2JBNuZXKODewbLOy6l2HbVNC2NOmUwZhhpqwZOZFMkG5mdgfKoj5qsQQKYVbQkQS5YsgpMWP44M7SWonGPEOXo9M+IvjzZptsKS6+UscDTrxh+Z777li5xihtWLbn4PLZevOuXWb97OUH9yzbIAmNzefuu2/P8g0SpNRdib9skW3mvF8gvtPrWhJL1128MKa9WpYmWmILL16nvZBlIGg5x0ssAuBJPx/AQ7BjDuoB57PwXjKQL/7zS9iItUPSq17jCIdsOUD5buvl0bS2RXelVyxecUP/3ekV9Wb9ggV6c/2K9N39My6PnbMidfeitmmI70W36aScLRR27G/ak5wRpo/ijOSepjB74MEOY9iha/USG6BF6D8DOJdTl149oMM8b+O9aiGHjuwnvHYXo50b9VwDF+GS9MsMY+5iSidkWePDKWeSEgrqUVChh0jpE5epTMUjDpZvhYpD9IsKiH5Sgermz+7Mqz9DzUX2/A7qVJl2P+bi5Beak6+o5aNA6dsNkBnKUL8e/5n6M/w59Wfqp1En1cuhX31AXHxg+J98XvOxuyx+ZI9wo3Ajs6TsKFum0KxflITcS5oPiDGbUlV+57j0wo2Pbr/94uF/XP36Y49ei883dNnMhuIT51yy+WA/0fUsy63oKT7vbaiL1qCHDN02k0G9pOeaZau78JyLH9z+6MVEd+2nHvvN1cUnDCZblwFfsOjw5sv6h//RsyK3rAfP8UTrArXqJRDXbUAPda1edg0UtmGMjBzVc56jfSODycWx76+M6sbLyTLLa7we53i9NTfF0ugHdTiSzzsM6h8NbVbtVi4Pw01guNV8lXZtvvJtTzb8Hl+cfdwnb5lmQDUGR1k5/jSnWVvAXNUNjzLMYgX21U/1T76Bs9uyq7665gfGXj1rd3TsbkuzGfyxrWOPtZU3mbvKAvYfJnKyM74gUVsG2h1bjMtSjKasBWYv3xyOq52bJPxMy8zs7lD7E96tvm07lZ8gsNr9KsuG7tWM9A5WjBGT340PQX+vslRMh9VK173wD84PK74fdu3LuRthO2CrIKutDinWjbPpBjHEPgQF55HiDDKmq3ZnEutmF8SUmZtMn2nMO5hOpii2KUqxbFI+6yDcdMXSzb3Tp02va77Mq5sWVmwzbZvRoguSnVg9LLb29rbW1bSEzvVc0LHg4tnL5qDdwp+1cbBbtIFSv7QFYV3TvDs2C29Xx1SP1ool63pXT63z5XTthlmNdoTTR1Zfa1qIc4+F7ckVqeYp7prajhnJ6cvnJZa3ZGs61W9qY2axK+S6iy5qfCJukiP9u9XL1ZsqEePGlVTpEKW5jWwvHSMkGNEUTDKaYVXtIwxUIYUdbJXLARIsWZwt38hpSiEUb05nNUkgd8leGpWuEpmy7wdMGhB92+du2/sJxCe2915lMFoE0wpLIr161zWzZ/X2/mzOpo7I2+hhqdHdFpm/ZMGSG65ZemC6VUfpxkusfqsQmtrcPWNBrm/R1NalDTg/+u26XGjqhWufze9WTOHokhs67bVAUz7QvnZGx+oFs2Z1O1p8nhEulr5qY3ZaqKXN7nTHbSadxXx5mz8amYIbFkZ10yNhp6vW29k1e8WCuiq+6EX01kmJtmrGZFmfElnJ7RS1AXE53UpVb7Uet2hDZkUAWm5X1l0ZLJrepbhGRy6mffdNhkEabxuwLaIj5trO1J6Glcu2+dv9CHfmOhUzQhZxaqhr9XmbVrU3t8lh2SlZgeZWGpovtuAVr/TvBFp/amyBaCU6i+i0eqML+7ZccfAz23d0drlsco2w0m4Z/Qy5EMR4NeIlAjS+JafX11iuM8fEN9U/3bh4RrDVZw+Gfe0dCz51zoZDK2fMcoYQJisNxIyjZsljQkbR6pXiRkW9/dtX9LfM7JgeCLa09vXvWPIIWvRCTfjUreW5sXOcoSLHMd4u/z3cY5rVheq+y+P86H/YP76+8d/YpN/5rvrEe5V7bIzKTR730VNWuym5y+QRBCpuVrELiO6uONVRJ7FMFHrWBFWFocXVX+ik+3DtyMMlmw4K0zlsplYygPBFYSY33VqxBRpx052iB6FJ3vxRFNmi/ho32U+dsmfsL9ntgkjfp36wYYPfDz9043e+09kJP/KbUkjx0ZKDPM/y/ixD80LWDM1rf+k+FunfoA6zfJ3fKa4vhWB/ycF4D9r3Pyn+b+M83KKqW3ZqT5mSeBXVFtlh4aMhTSiCPQEB0wg/QGS6CTWqxExMJEcVptUfovyjZv239YImIo/6dYolaIoRSpRSSjZHYqagRdEB4Y54vWJ+SempHYx6eaBkNJl6DMgi5DcXv8i8fGGYs7oteoIQlZegP4SI3uK2UruguoyrtbYBCvEWNCX8URxmYcWWAd2IKGlP1XSYoR9CdWi1S4jSVyQ1lJJ+gy5d0h91E9FNbR7Q2x2R3sT9+KotMxT9VMfmrutf3LTjt3df9rXda5uXLPLrsAmLcvL/Mvce8HEUd//wzuzu7fWye/2k60X1ZOl0d+o6S3KRqyz3JgtXWTZYbphmc9im2HQDpmNBIFQHQueJ8+SSQEJCJxBCAol4QngIoSV5CGDpVu/M7DUV2+R53///835s3c72mdkpv/mV7/eNB29+8NCW5llaecASq2lZYltnYF4VswicC4ie1r16hveHofpDXx7d8eK+ht69l7X33eVWu7kpMouxecXN79574KHPlzb7di931bTtWNxZLfZM37ISXPTXNyQrUL5scwrk/mzpeIlcK1M4MvietnC+MTG46fLFFkWFaXPTU3+ZfuHT/X1P7V1RPn+uxsQoWZmh5rX7b7r/8v4mXDhztLp5sXWt1fBMYZzuBcu8j4bqQOi/Ft15fmd974WXtm28w80qtRUGi9Cy7Ojb91zywKdLm7y7l7qqp25fOLNaXLv+tlwwL1uA1RagFpKxkMrEvGIPTbzA5GiyDyStA+pBHm/Grx8rbCySl7/kgYvqgZYEnxCIRH1RJBKZIqbIeIGWbt69oHT+zIqaBQvLjSpYpvRrbArFrLbGaJcv0RRd4OtfJn69+JZNl/SYTZqSR7ur6gNN8+YGm87vbytpaChxVVS4KmvAuclkAv0HyTGOnS1zOoVgR0W4w6eDwMUV65xmFzQ0zV+8tbZ5yYqBVxOJg0tXX0gX2ypq1JHiZZHyaRVOtau5b2r1gtryyorSYLgz3DQ/IibwswfhOGGbodyovuahcWgKWnf0ImmQwgAZeF5lSJQiVlDEAhKOkeTVQYjvOJ/EqRaqkSZmSEimcbUJUrVhPgDSgJwQRExYlPRFI9EI/FNi5YrElJniJ8cO/qU+sHzWAWBwu0xh840vzWyd+5sBcM/hA7PmVE+bXn0k2GWPelv7E2ULbFXG8ublsYYtK+NaXchYr2+n9e5o37aFsenb99Jb3n5781tvbYYf+qe1dyXnrVh4wc6FvU0zFhwOd/NliVJ/NfPTG7tvi7UllrVetWLmzhmNiRaPo35jw2V7u0Oexg3hTZu6a0duttf2tNim+KssYfUUCLX+utWN07c0FtNbt/7hD1vfzehZMRaEmiqiKshqmdCjcpYYDmjyI3EYNTHUwlCLAgZplMMhQiZP7YRZD0fpJ3fcOLdMg3WvZXP3Hd03t0zawLL+o8NJPDYxyaOfBO3fEq0Mh4GLk70gdagrYBSHPrrquovmzbvoOmkjlkEK3yCSXzqR5yUKZjANGLQGpDTZiByCm4CywVCCmMCooAmBkDLRK0haACmhNosngZbWFJ2Q7pX4xKVAAwx0MkKwDVIY2yAFiD+JIAUFSPcmqCTESASaHHtvBkIBaz/yL2IShc8RspzNSZhgCvIsARZaAEyQPEvvwqE+2cwHM+8dG8dTTFERD/EhDWDOyYnyB+oP6aTAnp1Owl6JnjsnEzDJ4UGN4GZ6h5MC80oh3wmWYVOMhHHnGF+r/Lh6GlvHwXHV9vuCmpikDsl70OvO+O3GPChzL01l8niGb0ePf282PpKi7Bj1JD/YmS2MxQkbIfEPCMQwRBnFaZlySAIb/KFwdgLnKMmYUFEP+i+vn3FuBIDIuTPqHwIz68vXdopXrFJOLW+OWZAIE2sun6pcKT7kbTln4Vw2NXUN3TDyEYkCsFcH/7WurKq6uqrswj+GwJL510XE4QRXVezneX9xFZf4zFp2Q+u8vh7yzR9DY/5WEmNYnsHRMEsuzdjrklg9gtIIZfDw+irgMflIOCdYLT4N1oBNi2D3+k3fX89cKz6zYEnrYpNKfAYtjUAnNJbN2NT68Ov0tSMe+k+gpnPt2s5ZZ5018n76Rchv3jMt4oyk3wHXgi+nTLnOPaXO9eexOP61RG7AI6k/FMQwAxGsmcQTS2bEHGcKwUCCjFlGXfCq+OEdj4i/PpsD8kNKnZ7rfGtP348PL1hw+Md9a5+cfqjAerF/CxBuuAMUvUoXiS+KH756wfUHlTb5YQVUrulDl7+O7prRdrjAunHJhm0XvIryWDJqkv2N/R3GtvKMAcfFgbBOGQ4sZjPHWhgSds1aMk0oLMMIBWxGv6ZlSGgLG8IYu1nM2b8FthBu35uC5aPUPm2JFpoYPSOni2iHys7bNSVFYl+RQmFWOWlnUKk3KA0yI9RqwarJLgW3THLpPkCVY03elkA0sDUQANh6WA7Qu7TQKEMX6ZVBdIPKrFAQbaIGPUrlQA+Vo4ebIHoNetfES1GuJrl03yhVjsoSymOFSH7XmCEWW39m52O4cwKvEAsDHC1PfGIwX7F/3BVZr0Gg5yTbmCHLLg+ShGkZqKTN1xtkjpowt6GpR2/suu2wUV8B15Iz6ZfIBmauu/JqwXfyMp9wNUbNAlvBnC+vAeTMbJihYD4G9tkrtQ67uJ+d2zT3cEnX3KYdWumKl8hmt3RdShz+Y3Hx+0D2NH7INV+KT2bHBYnnyoznPwoJs0hqwtD3XExCvffH9EEmD/qFBYixqF8EjHqO2Cfe+ca1+5c6rOFbLiyvn9b8Mlj3xhtgQQEWGKuzTgAD+xLcAT4GdzDJKz89NPDSrJrelQtatwZl8is/Bfynv8wDhJkMk+CD/QCEHs7gg0mYDEY0tq0vLEWuDLVB/BVOg9YATo/TgERkern4qvivO/t7z/J5iyqi82bfCpR33pm+C+MznDgDigPb8J3QG65hkn2Pb+y+pa5ukVFwKbV9j7/8+MeHPj0DpMPwN2dGc7jwvDcoMDoyStGXozHMI9mqJSNNXGAlA04maACNEnQAB9zs5lXpDzXFjNJgYF4Q+xk5r+HZXzFWPZgp2NmHwVVyRqB/bbQOX2iDbJGeLtkAVDorXa/lbQa5UqxeC/N4z0kSZTUWe9BjiownYJ70GDFu+8aSdJQDkyeDVshRdSVSWGOvSBGt9aR7c2qhtE+CH0t6IUYILKkrDIlMpbJXT7JXOyeVvRcfTc2pTdXlZZMUWvHPp5Zn5KJsYABG6DHEaiRNLF5ayrLmMuxxB8btkslMwkCIUXjWwGYzYAp6OfI4OnnL67cEa4Pz1s/ztNAeQaNSVy9r6DivnDMxKgOvYkxc+Z4r9pBd3kB2z+toWFatVmkEUEmNgsX/eRXQDN3nAWmqrKIMu0c/nz7Rd8stfViEqZk3rwZ2qIIaQRkOz2pS+mUGg8yvbJpVmA6HlYKGhc8AwxVdN/z5MIRvroVwLRZKmZztSU5ZkQQVR8s2j2Rv8kxQKHly8eLNY8lXiIWDRpIttk2IScwCmSYaX5hCZaBAufg2pPIGqboSBqVMOjwXJLG5AwwCdw6TNn02un5xmnzzQcmUgc1PGh2aD3pzciXhltNTJdQqsqYkIeySfRUHamaiP4wSG3ckJhE2G7EXYA6DA6+eSRAZ+XLZP+xzHyVLBwiHBLuwtRbnq2bd7MFp2y4/fPm2aR3KUmVS86EmibYdyU2VjU1Mlc1WqWkNG7t6uozhVk2lzVbFNDVWblp+/TP/+cz1y2minQ7XoKe559TOvGh+ZeX8i2ZumK+qUN16/fW3os38Dbdvr56zs6YoFnA4ArXFFmu4pqK2tqImbLUU1+JjsaKanXOqt9++7uHtU6duf5iM/xLGrZ3E6hBVft5+JvFVEpcSfQH+ZTAfFC/BpmlODgoatVr8qUIBEoSSsheTLhI0y5ODBE24V0KrBL2oFOi/El2HmR0TGIlSgJ4sKCVRv+egJ7NYhOgb2QiKd4acQ7KSZe19mIiQPY3tnaV47RB58BAmvezFpJdrlDBrkb/qXGyRvwPQjTPW9B8t3X8/7NXyoJfYwgYJ0+YgKtYa9VvETr//vbhT8xao+MF1LUf757S43piYxxBx7pawMHK+ypEM+sQp84hfg2rhbmVBZk+Tx0EtLgm6Xq3W8iKpY9AriJ+dIpNUIQ87Ry2jevNWLzbnz0LHUS8lihMJAAFHgbrjqAHg3ptFTQuR4WjMfjBUi/1UnUzO+UUyhzNBybVFFWjo6zA3TB8YHJhRbzsIph+09R9113XVuef0zSHbaY0AMEp5R19DQCWmMq4uvydm/r3nHz58fse+oztX6mo7XjKub+4aGOhqXm98qcXV1+dqSRztX15chjt3WfFyjM2R3+vY41VOddWWCbqVO4/uo3+XcXrJxbdLdTE3L+nF0fLHYGTcfkyMkqEyJaYx0iPQt3THpHgFojeTvh4OVzZJZ4gkUZML7ZhRL8FU3/te0C5TGpp8ODTA4zoB5CdcHpz2NRmUMnvwvXvxofoZqHZoyTEj0bLWJO4+9sEHxw4af3cdge9w+pEUx4vnEA3nER7t+J0Q85Bd9zvjQXLwStPaFlQ1GU5RyfaMV7MByX+MzcOwo7VTJOculsFqj2S9xsRBgh7JDI5QSclNDFIHVyXQQSaJwekOrqJRehjJW5J32NBIatVBljqI6jQfSxcZF0n33aPn6MR3DJj7TgFykg0vkZHtveRLk8ICj9ToUYMtH8frKksOdCUSXd9+yVFH+4ep/qNc4oNjiYOrMKomVsIco6cMDojJdAq9n1GgNuXG9QWHMAtYHnO9kmqTpAEuF4krNSnSZMwSzsvYNJu70lfI7zqjnhAM1M8ohHLAkT4UOY6GiRMHsTsim0onUbcY+Qp3AlqFOgqUYGh7icPi4Pj0t4SbA6LRm3YfPCHZxqUYHwHNBhLW7kLCnGAa74jAGTyYexVkZngDGANlE4yy4yyl4y2n7AnsC5LxTkiW9BYdBOcp1eIv1WAdcQGhMLhxFt5Gy8OhbKrwKK9lDhb1lgwn8VNkxFOhQ7yiWA3q1Sd5hsLiwEmK7s0a1rSDeQvoKJVP44jzHE7+RHvbo9RPqNeoP1FfIAlKB1ygEjRP5MeOjttnx+0HJuHDPt35wP/P7j/T9ePLi5HHDVmP1Am4T5i/Oiem5XHBqXx6tCBNn+L46P/F6+Epjo/NM8ZpxWUjIFxUIcv8UK6k/5xY8IJj6X9OcvCf/wcvFP952pydvAGDmw5JAlyByzTWQJ6mzzxD/YH66v9+L/nftNKc70pBe7WBLK+BLzrWI6sZREwTcfQjntwK5v9I6/6urW8Ur4TROIjTUiskpwryk8w8L9s2QQKNkphvJ/H/WRs9Q4sauYFJuvGA7R5OknZFp6SM9vbmnM+kdGW++wByhzgUREJHIseXju3TTdS6sRZqAhWbFecE8vlyLBW+LFWFKfc1azIwWGOM2EFiwY5J9uvcNEzUbuJLIHmXVv5zDrIUOfASktaJO4CE0Z9NYk7MVNamTfqNXfiFkLAPSlacjAoPrXAh93O1Mn2c7NPuCc/BSRjG5p+sdRv7vQ7aE+hpxKc/mMXgkPDxQ1Q16oudUqTpGYv+naRCsnqapIhpSVpMEumHSQ2nBvPSohsdBIOTl+bz0wqRWRwTgj+PLRUyDeB8kgheTkcjBh/nC2GrYzQUjWPrbTQesaCj0UYo+UODiIVlLGYuCcQPxMGhhPiHabj6ewcTicFUr9udTKWSbndvCu8TYWgaCCQwwwVrBzDhRv/QOkyrcIPBIXfKLbcmrXK0HQKDbgVeCSbcDT4ay3mJjI+ODLVCYp3AYq7JE42T+gzFPXEPEpMwrvfsKIMmhmTy2AcJNxhy0yl3AsekjFLR2WIilUp9cAxgQ27KPTI0hpsVM6zkaVnH+YZKMCoEa3ECChHxdRSpPD8uzDK0FlqhU5LtClNtZG1YeEAQsacE/R/j/DfH5eu7cMZOli8xJeUtJb1LylVifM4k0tiElLuxN8CGsRmDSM6eS/+TiSAprhSvaMdz7nIKwEx2EO5U1ijtSjGsVII3UaJGqRT3gEPg8KSHj5MUOYJ+pEv2iHuUkx+W+NtQvn6TzReV9//Jc/cykx2EC/HLpeceQm8gDwVvonxNdhjOlfJK9g6BQ5kch5WTH8b5mktdzUSYhWPqaywPBT/ZQSZyplKPOfzZhKzi94NzJz1MSfk6jvK1s7C+xnFZ8JMdRPk6ZXEnOQyPT/y46AqcsUkO47EItS+4k3xHnCsFGE/rjBpS5uox7Yb+bPLKIuMbahtwYe6Z37kRnOprk2fOBRomQi+UnvlvfEBw9qm+CX5mJXrmznw+v2Pl05WnqM6MHVqSG6skbNZCNCPJlm905lbktS0gWjCGYFXjt0REkCWIbT895HZLZOxud5pASclwwJubJjLFCPGfnovd9AILmjV4DNE2dQXzLnsFPiA6EtWPx7axlgYfKMC+w3nFImBGZoywNbVoBDRGwGDOEbBteFDQMOT1wymsCB2U4K0G6QG9flCvB5SEVCoh7dK9eQW3MLKQKKt70SyV85lnJFnHgmb2nJwTmLTWClUGEhbG9zM1oKGlyspj8W0kCoQhSaM8gnNAvzLGmZGRMkD0JhbJY/9Ub4ekChrBeKoE8DoBjqJGkVRHkTKi3xSugkEwZU6tSEnah9o5ayR8KVIFkr6fnut2u0fIBQz+LZx/VCg/FJVhxG0BknEyxyZ9Y4789siRCfS3zGABOe6PJ8PDyMzpHsIylC9PC2wEWULlHN1ZIa3Q5BfQ1ECXmOwawCZ+Mpsl+o/WlQx1DdDJU5yACXx4oAumsGsAmfqO9iPhV7p8kuPUpPnWwoJlDpL1yDxdSId0+gtoakLGBrpAEuf7FCeYVDoxPseA5PgUxymCZ5sYTRB9oYIyEPQ43P8aM/EYkmNaTS6qMhuBYZTUr/mYjMmvkDwboXZ2tHbO7H7YLBnXryQbJk0oCfpnjzT1HOzpOch8mTG9S8Bv+w+uwuySqw7+vH82vlD8b0lalwzp6WvwA2fPpv+Ob+1Jf086KYVtiDukOw+O9RlRSb6m2VYqG4/ckvH/LGiMY3hygZHGsBMZIFXsmseWj/W/MhkibgGNjhfTOjWn1usMLOtrWbv91tvXYnJckRLwGhJ1ePire6Jg8PvinzmvXWEw6hQ+WUd8w+DuxTGXGsc1k8vwD0aSFc++LIdnS5F+V00twzOBFnjDoJaw+RWkLRL6ljck+ZA6aUyLRgtGTsv4vGEmlLWMSXpzrFYnyl+YtDUvarbhH3hrLvnc4XNLb5vxyIxbys89nFh75LLuB7ovO7I2MdQcvPyGnx5dNS95/+Er+j0tVzgiW+/dcsM9Nx7cfO+WiOMK0Ne1qKNj0difi857wKRSmR44b9mB2ZVabeXsA0D+2kVzB5p8CplQ2rJ+6oWvf3ase9mujfMX+dzd8zbuWrpgcGy/suCvkBn3cK857egrsTKhpXg6kTc/Y3LaCURNQ5CcS+SgF+HH45mbJL7M3SzmywzhKDJQK4H9oRomwMEgFvBEx2cMLVzZPMNTYb6Ixdxiln0VHU6VrLSLv+ejTKJklQ0E+eEraSqL8YgzDaiK69j6sPhu+ZH24VQu32hll4qtMOvgal+5S7zJqvdVuMAW85OD+aI8DBqj077X0iDeFJ2WL8yqweqwmxrjz2ukiig/VUvYjIgJNUggWZxoTIq3ACcYD35I6cPQrYV6J0QjP19Ihn5O4NfirwNyq91WJbdd/sDlNvmUGquolHxpZku+NLM3PvyZOPLZwxvRFjCfPfzReEL3V86/8cbz0QPQY7rWreuyW/VV4LV+6W7S9UV828b8Y9BwPa7fTl42M4E7lOz92OMCd5d/o2xya82UTKmqbHarHJdVjP97ZYvYqvTZYsnRY1BRoeJ/WzYViW8ox1b+rB8ibmLfvUjJoD1N1pswaReD/15JJKMgeOrfynxGzkMbaZZp/24aEmacf5dfT/m8IZ9Mgsnw1NAJXpvitUktL0WFZJMwkSlMZiO+9VbqyHtHUm+Jb4GKt+jkWyA14R6c3ESKk/HwektcJr6VTIIK8ADAbOm6nF4Ej8U+JJPhuRL7w2+h9lAHiOb1e9QTxIqPyoSGA1SOeEE6VJBG16DvhtKoFIFTX3PG46dKs4VpQy4dxfsCYUEbbxPQ9+rR/6R+SI/+Z/YYSj+CBEa6V5/OnScbMPluditSmf38Fj12AN/wLZpWZ0e/JRijGGkUDJArviz4TX854ZA4yU5mA6RN5r84SK7T4xjdkST+wy+i8S+VwRuVdHVmqoxagqW1rG8QZyCcJAQ/AYwzG2asg9kIQuxoyuQQNuLE7TUbVYcG9+SDh7pb1z/Qc/yjr07Ez1oXjxdV1J83fLavmNi7in2obbEpn5L7/c3Lphclpg80bBS/WqPj9Xq3y7f06ns7B342EIxccMKscLlc4G+wb6W7On5x+sHtuoDNoTXT230NhmEtsb/9w9CAjdq702yIZ5ldPq3HWbSsQSEXAvAjn9FU3hxsiQsDalbPG3F8VLbsLGrBZVQNNZ3agfuhjDPFBPKL0qEoGioVqDpMpFAWEyoXOonKajL/v6oWOvHUS6888chb79B//dtNRoGt09QIYXuFr8JssQsbn9oiGMuqzzv+4KFKz43Dj/yv6gpaU/oNz/WCx16Qn/vjbWLds7sqh2QKukhm5QSZimHoPzZEFbITBsj9eKX8+TLw+f+uIrFuCcklRH/gl1g/x+kPzMbxMbqwczKFgpKp5LUjxBBK41GrdHItilhZEJ2I23Dl6LXcQubv5P31GS7Tseo1s1GBZnRMxobBBjCs9qTZhJsn07Yp4TTxSsaibtFoGLBbSsCrJy3Aock1UYzn5FfoZgNj0bAqKZHum7xwed/4lykTxh0CpiyEDy4QxvYkoH5GLZ0BuuCxu964i0zoDUiUJSg/krhdXBoSdwqCTOMtjxbJ5EYZbYPlNyXevnvsNeD2Ew+CX0zHCDQZ2Rs7gk8Td+BIgLkNN+/dW6c2ALkdXHffjPma4XHXiSeLfnqcyKqj344el13ODlFKqgSVoRLVPW2wsHRIAQSCcxsg/EqYXSmGyZWQBC6wTsDcA4B4R5vzWCNoaVKDr8SblrBmi8EitoqtaGNml4g3uvlK8K8PjMVFpg/Avyp52H6yVtkE2kaaXQ+AdW0gKt4lqj0B9aefqgMezMvkjnOYlqlUrO/k4gSjOD2aZA8QH2MqD+rv8WJQPCDhg7Dnp5OGElZpdqRTZp+SN7KURu/gdRzzvWHKB1mfGSYcFSVKmOQEbWkWjxTL5hCNJnWEQUABPJIFMGfm82R8KaSFbp7sOo5aH9bjEaeXSrgwnUR/x5lk1lQxMjjGckEv/BdqLwrF18Swgy79PfrrLbBu0L0FFo6vFQp09b9GjvNUhg+EkTCLMRPl7LwehR/nM459jyQ+mmJAFGBSZFZ2nDPhsQ+JxWw0cwBgv6nsf/gs2dxSWwGHOi5PLqyoRavR2orMJrY+PnVOWchAdq3kFuZZsplJfntrl9vEDy4Olpe0TLPbltfihTs6RNfm06LO7jLYAmVN8zMHs3w0WJenpexUkJpKraY2U7uRJJL5yhnVo9lokZxiiZNLsEBgZHNBCiGMQIZGBez9H8fELoDLIQpZABck3oitmUgEpuARoODRLNZQ5l4KnhmllBq1SqEAFP58gxKv01BBxDALJaAg8XGT6QtgcHQ7bigqEj/nfSbQtSh98xfiFxnQIcCjY+JjGVwhMM8Eryl4TPof0qPBzaOUypp7IVCMUqQtALKJFAQtD5HrB8/DYEJgvsnHi587gARBBIQvTOhVS2APD/gMLJH4+ZcmlKUl55IbxB+aNksUVVTBI+8b8zJp/dqDOsoI0W02Sb6dY6zfeETTFh4lzu4ZCG0yn4I478EOrCkrkmis5Ac0uUIzKkKlcbSnM+2f11izunlquW+mhldr7tWw8kEwpeue/d3Amr3BCmfGehqbHGbLIpvBFRAqF97gczRUlSWKbSv08r1KpwYoW/puzq63Ie7TTszbVYgQIlECZyczE+639PgZLinpgYP2RCJLu40SSYkTRwJsy8GDgGTGOJZOBZmNxLgkBQhD6iz048pxn4x7iUBLa+oQHczEuhc+3lkEQng3BIpAAFtnA8A9hE/iH0aWJhfSBDgOj1oUK7JbKC/WdwVMPoyC4MPQSp5oRKB9UQ8BhojEWqHH5KMFYPIQh2Im+4VCEpMOidWJROlLvjlmldO0Qqm7XRSTLzx3CBivhCZ0hJbbrgJg77Mvw0/SIs3Uzlsxr7axNBLWmjfbAws3n3NF9exlc+L0x/ffP1KmUJuM1pP3Ax/QP/AhE1SoFeqyDx8QvxJ/B+9/1VHEJ/rbW8MtnmB1SOVYFSieumddXU9jQ3mTp0tqbyz2H6P3ozJN/y5lYk9dJvo7lunTtMjQY8vUtfWcK6atWz+LOUOR3n3VUQkmlqhtc3tDR6iLzKkjaL11kJVw+KgA9ls3Y9ULaQFBMndhbWkSdKUp8THZVzqVbSQZbEhTwVY9StMoTaM0wR9kot7ZRSNURakXbRm0lXR875Hxsy8Xz+zD7pKcyctpoYSKnYvJxmRCmViBKuANeaMGjB2ChVscqpsN5CZ0TJicxoQ1hhiDRCIdQouC5fNLOys7Aue4gVnlvbgv3LzIV+rbumDRuc6AMxzoWnNUEVBoAITQFaCPrukKhNHxcxd3bUVXLWpOfFwFWBZYfRWV5vrqrvLuleDpBfjURaFbQiwSNZTR+kBHZWfp/OUru8u7quvNlRU+K2QgBIChxt2ayUl91DnubRlZjEkSrrwI6X8UZ8oxsROn8yCFeyPRtlPuTBrPAm4yC7jNTFJ8910Cz5jRMQDqXfFdrDIg4JMoMUqdEL85gX1u6UTyffE560HJofKgFcx4XxoiJFxLgh60UaQOnjhxEOJf7FGLZJmdxMe1Hc/m6IG57CiA5DnPoUovyOSEAoS4QiwIszEAJHB4oNuAwzKYzeLNJw7GY71nbX2O5HdCefaeI6KRvlupZN4kW/GC9A0nDm68D87fsGmbVIAodIo3Jw+eEHojmYLYxxRV0yEq0Z12/Ai8RU/AJTw35xstcTN5Jd8G1C8Fg1HLEkLNHEY7kxATe3r+lmpfd2jXvqheXaTWR/ftOrSuXXJygQmYHL62ddaz9GNpasmDBy7q7rRzMhln7+y+6MCDS6SBMCMjUTncDB8eDy0egycwzuNh4v64KKGMcJdLoRpFk8lJ1P3yzp50geMnJgM5Sdgckz1tmKFP2qAjSGJLATcBFyEyXUF63jAxS7E4eogw80m/c8h4MUx8yoeQrDcn71MeyMBd4oB7j2msM208igPqM90ax6LlnKI96GSAwOhAyZuc/r5armZoMaHSjlLbrpcmu73r3I0DM5qNjKFEr7EY1KxQN3Vzna3nYI8WhLUqkKIZdBcrffNeMaVXcKAX8qqNlsd2jpCpiXb3P+jcVtU4yyP3ceoaq9I9e+o0vqwCl8rjUvGwF3AK3Caso26ZZIusLGC3NWKJlZZxrIRshJYXuRTOfzzmxwanQSKcAuvNjy/YYYRaMckp1KqEhl0s/rf4KS3TKhIG9ZBSDy7s7ToBFgFWa2QkKRUkvxVveqKrV7xUrxxiFPijGYFtMVAkBCNIaqFxx4IfXSPkuI8+ktYYgPYIsRBqLGjrQX+0h+B+y964V3z8cU2Ro+7Bl8XHXxb/C//eyoxs+GFjUxkcTrN0os7tGZlBP4f/wIwFnZ0/Gev7ggccKhCP1aJVVRbDX0YiUArNO/TVGwVBfAVEBGEjXsU1CAL4hVALLxunybwanwURdF2tgO9okC6G75wSd156P3p1KAPUb1FkQPEL3w9fQa+THoceCyLiKyQj9PTx78e5wlmTsvkKug7fcab3g3gsG+EiUQMoxr2fubqgNEK+kGB8BQCpBsZnFrwzEd9+kjog1a/IVsT4b1A5oVzSRxivTv6MVML4Dwb3TFIHCRIvYiAtLI5aFobq8QlsJBoQPCHgodkA068fuaoKrje/8LzmUTPoZ8CmmvRFOrGOTSbT/5n+Gf3wo+lPPoxGrxI/WQ/WQfdT4O2Ta++5h7Rf9WhC9j8ZbD2PAgoejkXPFTxxDxDYD8R/jbyXnj4DlBaD74OPOoZnNjDPBYdnouHtJfEroALrb7j7brAQlP4kU1d6TuIyWVzQV6VxqArIUC2FJuDzOoGlYKlcsOg0RbKWbUMLiGdBfOmUNCptNMoZjXL1HnG7WCtu37NaoWXkRjRi9prlct369q9ukoTrhulH3zo6vUHauemr9vU6udwMerU88xEZm0YGxUGzHCpWX3v//deuVkDppFHQr1+51wgvJ9L697y7p2MPyOm7vd8jB9LnG/euXK8XjLzU/4nc4JvAP4Z9OFGjySx0ohIbMOPOE565M5JBhgotbwYjGMkJwnX2HM45fruYGmvDktb1RFrJIwAH3TK92U3pqczfqewgErQvMGfincBZIlH6E5X/I2cwhMBPJCjfs0DLB/h+uCh3a0V63xmtOUSHgkT2JJ3FGZuwQmTP5D+drCsh9ZTCXp+Tp2l3NjXpT87PBeTxzibkw3CG/cJ8TPYD8nkAv5ssWchpzVEOKootrTl/F0zuSWxDhDsCENkjCMPAj9ktyHEzw0snJnJCQslNGDykEZ/9WGs0aG57TwV4TVJjBBezG3/4V/GD27QKJa95Gax6gyMnlCrgKvSGlKL4vR+DmRpgROd5oHrvNo3BqLkNuP76w40sUCrJUe4N8d6XNbxSQb8y3kcyb7dzjGMGIUM5IS0ia4kJ7BGPY7cql8ft1usNugmMAumb+Vk8SAi8EEgnA4Jcgb5lbDQqe4n9NZHl0LdUsPnZAg/Skho4huqWC2UlYKL9spiNaKHQlH5efB5shv1oQMacLOmjaNzu52P0lSO7A1sC++oGBuv2BgL0lWhnL97ZF2CaxOfTGIMW31WLr8Z31eL74bUjuwLopsEBdN2WAH04gG5CO3sDW8bUi7TWHx+mPIn/quQkSycn9ViVVApjPVTpMVyqVZNoFM7gy4WVkiNEy0NLCHd5J65kIdcqHMrp6MUaQsUqXUnvL6RdpcDoMGrsavZiqgj7VpeDPIg79gD35WmH6ZN8SQoHWpnkcvWgQg8SqRLeYAcJvgV9cgd9XwBrSXmjLqWCyUDABZJms5h0E33vSbSGU6MhErU2IauvybgPYppFg4dIiDE3dvlKlfgdYgo9VEzZDeiVYkqrGtQoFCwlaEfunuUW0XNB0hUMwKQqpTUKY2UBf4EsAEJ5WWBCNzwON2Zm98rfZMQBLBNtLPyKn8GNGVkAXSNdfJtAX1b4PfPjvgyN7KbMN7Vw2BGdQCqQ+lPQBpAhedJN9Iu78Zbaul7wptYgvm/QaA3AZxCHoVscSg/RyVVFRbcUdRWtgoNjAMMeuaW2tw78hwbfotXgW9IJ6Aaob4pDsHcVuuOWoqJVvafq9zbsU5vxteRkriyTUhxICoRJPbXdBDY//YlUEdB8He9Qa0Ljmn0vQIuIUGkxvo7UHLpOYA2wrDAn+XwEcHy0IjvoFAOvlpVUFPFYCGIMMmlvAhTbZ6AXfZRBZ6hkz88OnFXnUd6v1HEyM13RH37gqhK12g6DY6rrCXQ9Ggl6sYlkMNS6pveCDU1P/UlNK6xg7Z7aqsEyAwtTYyorP/5D9GV5yklsKMAADGjyBhlvwzH0XDh4AwfaiBTtLnArnOB0CFLJJJif/q9RCq3I3yeOidLVcM24KTnP4YRRriozGB1Sp0HVMH6kGF9LzPm8RUwJbYKYsvCGEpgsuSXj26mhCXxCYRXRq30uMeFwgJTL50u7xziCjhu/xuVJGi4yg8SZ82QoSSdLDLwFzRJtAkhYdp86T+B7Pp/PBVIOh5hwib//7nkivsmSzTdmAWfMUwI/3ye96w+F9s9xjfvugqo04LpNf0qTkZjcQb9amCcif9L/QnnqRSOSxSzTAS3n81KhnEgdjOeSMYowhCOhm5hIWQz8IQnhKKMyi5TEimaCK8W0YgMj/bqPVqtYRiNYHegDCJ+I97SuwRXUBul2nKm17eCsoY2rVAoZXU6bNQyjM9ocLu2+F2vAW3qFkrayDtFK0+AlHZIQrJBXiXunvHQx73cVmfQMq9Go/3JMbcL0NTKWZRkI2PcFzXaNUD+F1+7Q8m8CyoLerzmGTbKAZmgaJgfUau0Oe6BDrdYNqHS7D9EMuhFAluMy63F6BNVHa96TdqwmX0J2wcY/HLKFecgk1udsqLAhq8mhR1CVd2h5QXPWGlzSNV//5LmjaImwSaHRKNmy3srFfaCaBI+9Bu7itfegD3mteD2+8ihqYhcLmgNa/k8P/3Gv3Ka8WAWggi3y98x5h9ce0AjipU9JYM+ACoxS9Jto/bBW4nbPiZjYc7EVgz1ZpkjQxVjfSofCcmycy+maMC94phgZlk0MJ0S/+ctjvPZyjdB2YVeHjTXoNnF6nQJu3x8ILLjQGeiqjYUq51W1lYZthufvFDSXa/n6Le1NvMygXiDXaTW0Jd6ytGzNeYaywOxwVbSuNz4tYAdrbn3f/iiujUcVFZURK3rX5UoIVXCdXb5kflGNt9Ri0vM+R0VpfeOs0sOvO5/E8NmPybyeMr2MNx7RAVpJ875iy5IOe0XI4RN4o6Uq2DJ1WeabYR7llqwMrgWcOcOiHKJCOYfheE6ACWbl8Gz4dzkwW7B1Zj+vfcDy1kP3A79WKTf9XK8QX8X4HgMH7zaLi4lO7c7631yPs0aT/vfXKsPDaDVYtlHLX/ek8XHxNj3Pq8G2lxWaizXCkm5ei05sFzSX4mtRsnkhj/GM0MDNEQ53yuPLEBxkoElyzU0SOWow8jRavgokjcbVSLaZmfINziiDKx9BjYLEJQK3tP2t+BO5XMn/TFC+IwSUpdxP5KafGJQKufjLd0ib+yPwSltUFDCL127SCIt5bZ9GgG16vZ4XlwaXWpcZwL2CXmtI/1jQ9Gn5xYJmk5YXn9YIks2LldYddWStjhs+5pApzFmuMea7Ti4ljWqMsL8fR3L1g23pF8VHwLdEYckJmvuzZumsrRo6XqQ3vXiRmAB3i/v+59zxzmvowE0o77u1fAEvk5xSI2nHhkbbc1DLEHyC2WipjQlxj8UTCfnwAbQIkg5Ia0SatBjaR0ss23Qut/nxkM5+F48wZmvm6JzCgcP2ebjg2GwAwC6f+J4b3H2lbzo4Nu+eBejINo/4DsE1f/teznrMyn3/jfvRVmWAg6/j8jzquQZvzl7OKpX6Q3Z2Bdh0FmfdZ+XWgrNXs/ZDeqWSXbkNX3K99wk0ZiwG5Wj5zGDms0eSyWQaLaXFt9EOOnQ8mXSjVpq+xWqFfehXq4R9RNaWNMtgmU6jtoq3gD6r9KvW6MQHMhfg9W3dKMV8heoxQs0kOENmTAijZTiTL+oNmXwGL+pGcSQFGSJBnwE7JVpq4tGIKRZBP06arg0zXgI8WtMiwztoakA7LTLmWv6m3bs0XGTerou7b+squ42fKbzo2lYj18uUmjnb3kp4busuuW3+BX3NbzgrZjQtq5kvlzcEO6qnhqudwgybv6mms3wqxzZ62yoag36eTj49p+jolTO2Tq8yM6PDYIQaBc9EwBEAXB33AjDyNfxqhHM1npW+01/nt6llUPwBoFm13u4Ng288EY9FKQNAfAVND3KtxRWWsDAInkQmRhLb9S2sFCdYMCUzlFkLbtFq0w/UlUB3DhbCjZaDv9NqxT6t2V1SNzyURXmQeE5yzy1B/WYmrlOLx4DB9sfGZRvNwhngy8fvsyfQO0vM2o7CrNS9OBn8xPg049eacZbTz+dzi3Gq0u7c2gxoJ0ti+dOOyrRXhtHf/VQb1Y1KFMGUST4OTUZAwl7KLp+kSYesqlhMABZrBZjaAXu+YHYHgIQPE74wKmDmhpCPi+CtEBGY+384U40pApn0l0rxp9g7QkxhTVyK+K9gV5eO9LNgu1qByeTU/Mfnwbh4rUyn0ipM37wpDs2u+mfVbPGD6R/d8xHT9/sqPWMEXvWwMwv8pBeMLIHbODnIX/rXFdDAKxQ0oHf+ZXn6czmvghDuoS/p77/uuv5+eDTdL9l+Cstdi8sdyJebPWW5wbiS0aeth+9Q7jvHlE44ZS3kiv1fk5VaHMkXj7l4QhUokfy1B7VfewYrDa/L6qlOjBsXOM0nHqsxoP/NfTg0eZEZd6FmAS/1k6QhJ8mOKBFQpMjOKEV20G/vZKUugMT/xxmS0nSXLb8uX/7xpQyc5tOP06CcYZ8ZUwDRPXltwMFxZR5TG/l6cueKsmOyqgA7zlwBpM2zr2bafDv2Ag4QIz+x3J+6zQeMWpqwYMQlOTTuw3yNmUgn3AEwaAGSEbDDBeZpYduWNda2dHbUTE/fdYpCf26v69o9rSVs5UM6fSC4aIMemhZU9F923dkX3usUy+8HkJPzLd2pC//U2j9rx5zYksnKHG/Zc3Z3tV7ObecYze6llqJrN2w+8mNYtWMHeIyzsnq1hm9Y8lx6BzWh7HHiAZ0v++nHuXHFE05XHd+h7K8Xlu/np6kIJlP44YcmK/3I+GKykUnrI4sVmcjoYVdlv7rksDFe78diZEEzZyYcazIO4zEDQmdMzMYEhhBDsEIJxddkxGRpkMPqJSpodwQCDntwMGgXiY0XuO1BZjCuo8MGgy6kaEhc6p9jaLtj6dwLffag32btq+7w8HaFglMVGQV7uLPKo1MAQeBprZwBpnk7iNUGPRM6ckEb6HdJa4V7TnNdc31gYNoc6HLYywEI2OEltgCEOxJLPXxToCxU0WQUTK6akianNTinwiuzGrU7qByffILElTky2Iu5jzd+BR8wm8hqGFqwEwyBMMakyFCid85UCa6PRhpzy5E/zniqitgcB9vniX9j5Fqa541AofNUdYbtgrFIxSkUdt7TUd1ntfmDdt+Fc5fe0WaY47800aAI6QyGME1nayL9F6kOSH082rxs3g6t0SoLlMwNWp1NJTUuk2BsqgiVBZp4z9LEDggDNniJPQBAud3hgnOmDQTqUcXNcWPk+awuQ0HsSOVUM6qN9dTF1FXUXdTj1M8I3wv2hsdasgiGUwsggRH9i7LoL2PEi2TU9wY24yOELsHiI9YymIxZ9hw0IBLH12LgMxnR1bWxWsz1hAMzakAtoevzuAkiaQbw0k3aGRLvuZCPAGCaIpgAlvhqIXFJUtxh8A1DJh++TD4mKPBuLjbo9YbiZ9va0i90zZoHftgeCngUsjYAtEYzaOXUpT5Pe7vbX6rmhiGtdkRri03G4o0O06VeqwyIlyQS0CQo28qvED8VP7uiYqrSaFROLT8Eg4fKUTqtWTE7Ep0nd3M+1SzgMRVXRxwmkyNSXWx6qr2dQFi3y1To6eDrQgXPX++s0Q/pH/ZGIh9PF5eD+6fvE68vqSzSB4FX/IcV6lzAuu1Irams1A8+u7ukzPS0olhr5kuCjsZLGh3BYFHDnKkRO1CbVHTdHZHIHbVp+ocLKxpZnY5trFh6/LFF5U043VS+iG4EJT//uWWVZVP8V+ftbygOBosbyMbRBHaIf3HpoRXoxT8EeEclkI/V4aLegcbLv5AY2Wz7WEmto/ZSh6jbqUfJOh0jE6JvzSKhp7YmEMEYuoaIZ5LPkv14UdQ6ouTjBaI+0mCaQWTCh41j5h8v2q0hzMCczE2aCIYJR63CTVoIiNDo6RgwOSJk257UznDbC0zSQumXQhaz2RIC3StWjDRsEV/cvB64ly93OngaLJerw1Ni4LjCEKspX768ckrMoADdK9GwFn7CEWrvCBUVh6bNRAsVmB5csgS+Ztcua3g2bX+2YbnGjtKNz8CPSHrEvvH89dqqQFH/DPB0UWBae7CoKNg+LVAE5q+M1oQ18pWA5h1O4P9NuxlUmjvC4Y6jPT3pX4LPxcvKTLQbbBXPr7YGmnte6LTXxd5Nb54SjzsWaiJK/7Slm+YHIpHA/ONoE3U4FPTP3pw27c3p6aWf7GrskplMsq7Ggc9xmjMaOZRmtOJ28e9AN+vwpkXit9MfXYDuDnY92oUf0i1q4i0BawQcFq/3QHM52Jv1IbqM/Rcl4Ih/IJNW0HGhJpRdMGOtsCmrlAExgA/CxcqvHcEvTEZlGoC71SqF5YsSO/1rlSr9JehSKZXmL8qs4nEeAlvo72Z6Ay/OCnsxVwH6hDpdJVivN42sAOlbjQZdJTzHTV9TmeddwGOTQHjyMLIp1vdgC4KJllmwF1YckCPADMheLASQGG6ZYHzZZ3I9y8s5+d7nFQq5/jmXQMc5w4+cgrgBLbeN7md5Tq4QR8Ct8j+MUVLT4H2vSm34HRC/r9Vq/PQCtS8dgqLHhxbY4D0Af6O/YiJODSXhmRN8CWqseRP4jRKpqNSWMbcHyLdmDMLqFCmX1+PR64xaSEEn1On0/TP+OLLvjzO26LU6mNmn92f2V84ygISR54PpZJCXK0HiaGrrfVM718ttNvn6zqn3bR27S0n4VbIUe5jYRzG7swt1bcYETCEuitb96H/cpFCjRffn4kOima0QzWhNbbkBLAEALE0vAEtEXvwBGwbdokV8ECwFfxV/IPJ0s/ia+GfQKn64VfwD4ZoPbO0FRZgJTvyQ+Z34Z/F1oBX/If5d/CkopveJPxX/AaYQ3HuK3Uf87nS53Piw5y4bBQbO5AlhckqPQQO4gMCiP8ApIAcCAkfTg+lm+kkwfKMPnE8PjvwOpjTp1m74cCi9+NfwrLnpY+ApcM1F4nbYdv5N519+M7gZrEy3+1B+htJHYf+yqUengjefOfIM+EK8ZT/oA6+kn1kMZ/41PcMOnyuwxZgy2HIUGkmwcyumJ0fjjy8jF1A5yTEfxin5BsbHS1PdlxuT7+1/QfzYeLXPzlTa/OKHTyUvfuqpi5PgjZLiHxSXkJ8f7FowfHjBrl0LmHMX7DoHXtHase/ti4Au1dGaPs/u84Envnn00W8ehTfcV1RaWnQfuumz/OW7CvqLjmBmjPdDieSiSLORH4RaSWrB4LaLHrvoosfgY2TDjuELGnkAH8v8L+yXEM0KmHdc8LARBYjEPWNcoKhfiefAWI8YFaM9fVAJhsejDhwRXx2CT6TnDoLqyWJ957OXsC8iOR1HKrZTm7CORRbCMTsx1FnCuB+hLoO6j4AkMT+LpE/skIykMIHEFSDZjEbzQitAYoQTyAQZwTAIoMMMPoP5J+J+FvtU0FXy3dFQcVHQ3xnfpv3F2tbZNHPDqpUXfGicWVEtvi9+Vh5O8M5V8aYP32uNrloi12kq/Etee2FTeEZ3wmhzy/g/wfiQSaZ/yr6YrSj3jIi3fXNEZ9KwHFT4THYFXeyt8zv3ngAXgtLbm/QA3tc6x23o7jbw6kbDlh0VRedPW5mUy2+BFzh8CnlVNaf02ot8Cq64SC73jfD2De2dxilVtEFu9EZ9vc/rFTfeKPPW0c/eL1qdtUWGfUHHgLq41FGrqHnxwkdm2iudTp0qzAeWhucYWwimqvSt5GQUbUBrXcKmHSTUx7E4CQ0nYe8Crh8s1WKhHkm6Qm0sGEIDlQ4QzkRcsTHMTcDKOKmunTQ6zuA1AD9B4Orq9peD8tCiWfJlB/tpGK+cfu3TxvZQxe0PVgTbTZqw1/mLNz3+mjoVq7tb7LtHzdp1VXd++4TXqbtcYSgf+J3494M9wfIIIzf7ZUAu4zWbnwD0U1aXi5kCSsZYyW4rD5uNm3lLrLntHPWq9uplRlc3aDDZZazRKONsRsHKIYGd5WxpmgvZmP5+mfq2ugWO8Dphaj/8ZdQc97Q61F6dcYqz46pf+9lao1fVZSxaqTEGTUAFasaN74DqGN3H4Gr1YjsbHsrDNJJwoqg9EbQ+j8ljMDpRDdKPdVkeW953fGCe54GZOzqmGFnAMf8D5oqPa9ztU+a99pmvBcC6Veed1wDd79iXrt62tJLlxGUj6ZPO2qgTwEL7ucRYG5L5ZGEYNXii2FGCQ60cCVr4XS1ggo1xoKWi0V9rUwIwSp2QA9YW3dCxv3zp7eumXQ7uKay/2c+YgaWk1AKu+RmYrqxY0rfEdp/YU7+rfyoEU5iqMTZGJBskaBaVHSPgmCdfKsOv9BrxHqVGqxTv1MgVxgz2HloM6cWkUgmSekFgiC1gWPLVGB6laJZN4Wdm/EFyEMTxTLwVTOeeY9JrQA9+OlinYQRhmDhGM0NBPUAPF5P6LE/UMEcxLHlmFlE+iydvkYAoOArnYFym4NDYd6zVkhJk/HuHZanMMyV771gkesxQk8JZGJcreABVxV1aeWERUAXl/Ny3o/oMkgjCzDIJC8E+Lw2jGSkWy8JkJSVxkoIsl6tErGcxmtntoUWXJKtXLpnavGBB5Jabbtg+8MjMzX3eyrUbZ+zpqa2d75t6WPyg2NkaiwXa6dmzHgM0mqGn7t37vNvt8aId9h8fHrnO6fR6p/oT7ZGe7Rf9grmgefbs1hivkt20dUspracZdc5PnuB6c2hlQFiYAwbCjJTZwofSS/CfLDmyG7tMQT69uwdWwv9Onw2j6T0jn++FN9HnjHwE7yR8lQTDlT1IfBiLkIQ3F60tKKomRuYnJrNlpVlMatwSLCQJTmzGy0iyaA8R2xsOWsRe69hD1IXdA3DQNUd6RqZj1JjB+26LxW0GJ9xms9syMlzW1LikqYmZn6ic3bSk6XBTeVkTmBVOwB9sSY6sS26dwak13Mw1b62ZyWnUHDiKzzeVlTcxxRb8HOn/a01lYnd5U1M5+EFZk5DeGE78Ge/9WfpNhOFt4Kb4C7t3vxA/oOFk6oNlZQfVMk6Tvil7V3ljI5pHgZhmT8oAGqd1lBdwwAj8oBrMAF8QbBIfpkeqsciCHCoUCOJxh5Ph8buFbgJBJBi30MFarJQAIax+QCexfElmumAso6bAgzwa9eNo2Y0OyyxGXxg1Y3Q2KMN8QnjFxZHAIkuNWUYCQckUS+Oxn8ZTApD4QtAsEZRmBDR94qAMLdaEYDEXCa1kSDTjS/B30AGZJNmSm53QFEMTDBqv0M0kJh4/jNhFY3gKirQgOR7nx2S21HAytKTEJWKkmSpUi6Z8GQngMraCWrwU9GnRMgS90owfUBMDTogzAwjICU1ggNAgGZIqAj8fVwERuKMkg+hpTpoz4mfiDGJtFtFxBfFJot1CpY5Ls2OEwMJwmWvN+CU0eSyqIVypmQdn6tnJwptVCoYV2FWMTmmV0+LtDMPSNMfJGAMDIASQXhxnkBiLxFkFUM7yWT1LPaqQSwdUChOv0QCt12ZmGKMqpGuUyWVmW6BIqeKRTGGwmfVbeKAotdHAW+QohkBh4JQyRsUZADBaDUYAzAp5CGhYpdasdJir4rDM4WYVKpZWqI2digq7LYYmBb2tzBD0ehxmDYQymYrT0EXzY2ZTmZkGzmINb5kvh0AmN7kZKGNYxh9mSxjjAwo97XLKy7ThEKORAdqoDJ93aYVFpYbolTITbYHQAM06P2ifl76bVskUkFbStIoG34MKg4xVsDJIa8t4hepJpZrWchBqGXkdq6F1CgVLQ6CEDCPXyoFeC+NGM+SsloA9KA+uKTJsDPIWpddZsUSYY6yY4Y8UFd+bEBL+ciur9AKAhm+ldonBaTVF3RGvQsNDNcsAL017jZf4rOunWsrLad6oPH9KR6WKQQMf7+TkAXPQeI5WzcDartDUaL+/fhqLZIR18eU6JGqolA5HzMs7eIUWmoO83igo61aUNDZ3RqeoQm6Ph9YCrc6udzAbgABkqChAR6s0MrEbyA0sK1dCoFfScvy5oXgbb9XZHPpipZcrZ6ecYzS23rOrBDKVF4RDTS5eDVq6nX6zaapXTjsBqKkFdJtN0HFMgnWWmBS0fJ9OQTNcfRsA9S5dhQvSKgUoFsxOUOZndFq1BWjtrNyiUwFoAGqFQaGVoZzQMhcjMEj6ZBidBQC1XtApGAVkWUZGc0DbZFerWlwKmrO1Tukolj1Qz2+UW02u1qIiAbBTN6jdjOVyhS5cQusaq8PWDrleDlkFV6vXzQzKZWFbu6UYCLvcps3L7XzAraLLDHYIFSzQGX8m52iGVso4APVxBvBDKoMcABkAjINmP4UyOdQBjUbGaFgZjaoNMCdfVNssZrPBqOEZYZZDz/GKYjNqxugjFbltADRpULNWG1SWpSr9lIBfoWaUvNfb6TGytEZXJrOqzSpdh9agkNnkMreWllXUTg0Z/rN2lldh1ZuLMXP4xliH8dragV+suLDcBIodZcc61uzZvrnx9aXVM0og9AZQpcsFdTEb0C6KT987dQbrqfbZULFsKtWsGWpXxOlQ6bJx5lgO01JuJEOHqRqqhVqCPXUCQdqHDemYq4sOhhgPnqEtEvUwGknQMOFmgxwe4YCXi7F4bkc7jBAM4bvIWNICapyMJTbGK79sLYT62I37rvDpnv3kYLPJLf5KPAqWddXccPjCYIDhN5130eGUG4Tp99785dLSbTeO/B1N6HD+c9/MmX9g57QLZjTpPqSPAIWxffbeaTYBKmj/3OkdTdFyp/KCcWswP75TZpq79Jq5qqPwhuqW1Zz2og+WL7+9p0OrAexv375v6j9u/qLJ9cVHs/9Cnw3A9fcKD71lnxZrMonejx8HaluivrMoWiazoOaFREOOhS9OhmuYqb8WHBGOxm66CmCe5kgNZsSNZViPIY4xdQHCY49jUemsbaIFSgRW6M+PCd/ikpoeo7gxmLuDMzM3hRqWza3ucxaV8brryjtK/BX2qvqBR3o7ktvag7OWNB1ZYXZ3TY0sqC6rKa6J/M+DnZdtawNbPji2v29u57Xi8I+36bsyO4DFO+DdmoWxCqvKynF6vd0w1+rxWhOV8eVhV+u2zuaVTQGt36w1loQi7spKd1PlqgOB6buvO/ZBl37bjwF7befcvv3SjjiMd4guq2J0L/MBiQ9ppTpIFFPWxhAnON81hBI5WGA5jMVlSuymQZxmASaGy8GQ0jE7oD8OsEWmdJ3FJQM+i9PzhdlJWzWMyyT+Hmt4wQre+5Fubgsjk5kdNR7x7xqFXOwxd6rjc7rp89YkzHcxLXOZeT+zeL3G4SfQC3rtumLd/mYTuresOOD4vFPcK/7SYDZVmI1KheiwcQrzHHZ/fE1//8gnBlAPDozV0WX8ywMTvB/PgBWKbb1EXgZDGStobm8waD9JzBws+k0xxIY6QhESdEiso8RGSmvzFwVznIIsxQ4RHkXJshOifSbBTHyDxpCc1MaFqI/OsJ6ReGokx2fjaFiqriRS/OfKrxVBe6otPBhuS9mDiq8r/1wcKanTA6pzE0hu6gSUXuw98B8HDvwHGCqpKweLD4obdLw9KH4ZbmsLA33QzuvA7QfFh8vrSoqtILlli5i00r34hgNSXhmc1wDxbs0Iur5TbKU6y+GcUXVddYm2VW3kD6UHumCya0AcIrmhE6LEN9c7MkBy8ro4BW/p60SClQcGuwYGwCv5fGR1Xh7s096C1QJZdjiIRCqzxV+o3GFBj95QXFWypNnqb2r0W5uXlIaLDXpm2bgB5hPwrnlWr8uOpJWSkiIvsLt6Z5mvmWSMCKG1xbvsKGpHnVhvSojP0IBQ0wICaFjBsWOhAIlbZomrbSCI3SKxjBkPEL9bNk6I7QkWDkucWy1mNrXy9rc/efv2ldIGbGP04nsanVZ870mlW/mk+J5WpxHf0zOs4sknFSyjB350EvifVHgVTwI/Ogn8mZNQlX8M2kR1bK/4ql6plPV8o9F80yNTKvWgppfVGdTffKPRo7OgRjqrVktnxVfRWb3mm2/UmXXfT9lLKB61UCqAxzU8rMnICBip8QcIuyvhtoz5iZhM2MMBMXc5AfN5rO5p8ddP9v1qdOPDn+2/Dk2YwR7x0qE7MFXrzhcAf2uFgfcsWXnk5I3nnlPq0nJ/RaWJPZ26r0n8wTv7P3t444U/f+mfF7wKiu64FVhe3iuDpaWuea/tvPHkkQjv0pZIGGGyVMZOXJ7xCiSKTs8E3/gJ8SKJAkQKuLGwB6MzJ8kZGeaT+r4Eo0eNELQMYtkE389jWRAsDPfooKyXTVFt2MOKIjwJnMVsJM0AjYuoW3jDsCpLYdgKMuQJjcAQwv3DRZB2MkA7wIOD82W9QftQ++uCwMf4X7DGRNvaKcnIhs5Gre4ZY5FVEGjDrxskyIzjQrBWOE7POS7UBoXjQ3Zxejr5I6D8EVxRG3x4zxtCrSAIL7D6Urcdg6w5QiGN9jWTno8a/7xjEBcsKN0oPUb8PaQu/dGPsL5jdHSEu5HppC4jfngyaR1nibggkgYgWuixsiCaHWk07luMhEwCK33wEbTIIgg0SGrBsyT+ddI18RaGIDKQ5RZuK2hNYySoKlhDB7AuD61LkDwCLQG0huH2Wo5bS+epDS5DAssMV9egRYm8LDhKWRNGo7OrfqqVVloFHeAYhvftnHF0+2qrTenb2nd1k4xmdGWAV5tZVi831ur0xbHykiINlPEKJQu1nMzWpOENpuh/dEeNDiTfI5leZtDKeW9ZS6CpikFSOZQZlcAdqpHR3yQ+ckfXu0pLTM0oEwdWsLqg08awRrXatGRalRywVt+0cp1Nxgo0Uzq13WpVllwzCGRX682sTEDyJkOrTDVbioqbllUXsUDub+jrLGnTqL0KaBZUdgjUrMHlaahdHlS1eKtcCsjYy1e29J2v1NE0QP8hq1NIvLsPcXp2A6Uko14VtZjaTF2MemRuTYxnZJJEC1BLFjsTVWsgDPxoLYc7YzzmD6B1LxoZccwqj3bxgtCJncGwsRt1XbK4hE6QAd+MofWltKgMkGPkUAgvbqUlOvweNqnOM5n5jgW75AqNtpgzOLXOpyr/a9uWBVVVb/RvW4NWiYPi6JE/iX/QKgYBOPInEADBWdf9VEyLH4n/8/b+K5MPguWzplYyMq1OJrvyt+HKSshqler6VR27FtkEebkFZcy4rNVaxrB2axNYvDQSUtTE7PIif0vLI0uLpqhdRRf+Y8Q7Xae1e7zT3I7bNQ6WVWlcWlbVs7HX731uzepVjuKnmnpvnK61fHZE2lzTce2Bvpb2Pc9s3QmY5IOXzUpcr1WjZgAbm1t3arQq1KIaNsM1PRfWobejPLT2atDbraWsZn5veqfDztc4up/smBblZa66Kpl9dqF8sYNSUALmXidcsWit7cQ6T8hhgmM/0HNosDSYGZ45++EXnn/48M+9vp+Lt6dffup+4GeiT72cfgL47/f29Cz95rrrvmGbRceIeNa6d4D1R2Dab9Nl4sfvrAPHRsBfnL8Vf5TBTabYC5CstgXrXmgsrsoojqBnoPFYC7H5AKDuFcNpFqdZF4hFwyxa+TNatMxBQxTWjWhxV5bhJHuBe1lP37qe+U16w3bx2OuC3S4cB+Ub/TN7lq1dstCz48XLd7TaonbOPKNjTfeSRKVs+sVrlzRHPGaWUcsdM+pqtcFI59lNflZm5OUcWiNpq2LL1lzSAUPN8xYvmtNoMFhqZNbZXXt2XQN+2LWr2U1rnTal8kPxW2AP2sDbJ7S8XFMxa9/CKqNv3pyKA4OAhrShuG7WzulFBqG0sbW1Wqe/oFNmnDZrYPvVHbbOrhXLFk6P6XTsSjtnaY02uKBl3sXdzU4e9R/6his4S2M4CKuR6GJC8svfWIp4aBtJ3BKRsoDkCw9MHgP+C5iy7EbM33YuqBdH0l8s2Mn8drgs+7dzAT1vwU7gaFu8R/wn0OxZ3Aamj1KjYCb6uaq9fdGePQWypg1JS9WZuJtJKUHNpwiaYpIZUtAsYaVECvrg6QKo4DWTcIM+fLpAqjFycSavY5lNC4lN+VPmFfN/4gzmaU0xK+jgaTM7lMkiaMUsoxK7qTh62txOkOElnWk+m+BMEU1U0G40SOFcBiOOTT1N4FcK+yypM+FY6uDIL75DnBWH+r4rH9/OnwJ9PxPOXnY6DP5M1DpwnxaKP+M7vhrJ5SYqhiMsiUiGJbK4Bc+uVAQLphYyGtESIFecEHViS4PgMXlwFJVAj25sEF//0R3i17e/8ZDhgiOAe27f27uho2GU0uhLDF+IJdYA3Qvl2iWxtp6+jgC4X9ysB78sMXwIVr/8xB9vB4o7ngJlLQdif7r0OfHb/e/bdyQ5H3jfY6VVenuktadt2lmc+Kdk0ifWj1lnNxJkoFgoiLUMsYyUIdlDsYYT60hNWI2JlZqQqFSJLRD9m2DJYz7SB2ovN0xpb6nXd7VzbFV5UUW5pVihoi0qdZWjfnrsvhK9oDa1VxtUaLQw+P2msubyRd4De/oOjbXU0QcWV0010kJZfHE1F55Tu3KeyR22Lpi6yXiJL5CQI0nqxiJO7oe0BRbzpXFN+OojkXV2tck0d/BKEAHBMZY4kOOmwGtpI2SkJV3OAagVRAvT2TApJAIVIxmSNWUThhiVOckkfyye+Mmgln+HlikVGstfs1teiw6CPTq7RdyT2ZwADDkKUz8RT/yY18J1bUCm1Cct8hmrc6mTeIX61C7WiPfOX51NiDYNMP4n9sTNx2b7MojQpkwYkFSY3KCWs659x3htUWKaFAfJQrpXihHpPWP09oTryZNOF82diVuVY3z+EPGU6JKseFFpQR0GEtUw9oFHw7KHSEIZF5g4miQtOBLXI+O8SNAFWlAO6EgN7RMwbC5wMhHWE4Rbz7kriYYGrmHu3AZO0CSSd53DLC+7RL/8gsrKC5brLymTRaMLOjqGF9Nfv/tF/YCjSByyL6/sXV18553Fq3vDy+zAzWirajr94MURxS4wmEhUeaw2aLAaoM3qqUokODOti1T4KyI62syN+Af8zik3ThF/GyybYrVir03wOhgCr2MPTkbjsZm6Epl+hrE+uon/MO70eLUpWaPQAjWfzJImtAI6nwxl3EzRajWfzADPoYoQ4jEQoFn2i5aFqx+p4xY1Vs3VxcVfx+WLmqrm6OK3FpuaF8Qr7th8h93c1B2vuDMqnYj9P7S9B2AbRfY/vjO7q1XvXbJkdbnbkiW5Wy6xHcdOHDtOHKc5vffelUYLCRDSgEAMCaG3JAQCgTP1ODoXjjv4AZe7g7uDg6OXJNbkP7MrOU7gvnD/7+/nRLvTdmdnd8p78977PBCNijtJ4cgdBmNFZ0XurbMPm/v7QXQ2ehn+OLJysqv8LoO1fHQ07845h80mEjgUkbRV4msjoDQqHknuEjloNlV0RvN6Z/eSIrHc22OiEeV5Q1VR9HyJGJ2bDcrnXr7vk8X7e7tM1wRoUs7lS0HKvXwg1WPTHTiFZyEKVbExXxUYrIxCn3G63C9EptTWTsn/TYE8W1oSpOPBklhWf1+wpNJX8GiAtivtOrNBbzDrcIgGMk/1pTor58+A4x69cYN3yJDM1Zlivxi1EAcH07PKSoK+EZbMJVaok2gw58JK8UkHHzSNoNIySd42gMW9uZEaSU2mFlOUDq+EfsgjVtK8EMmvEvZHCBemG0hy+z1RL3GrLZhgYq6B1RlN/FqKvy3kdNFIMZXJ4CUfEhAcP162olSmN4rjfuKXA8eNG+vAwuf/zYpZldjGtKBP87N1Sp3utWEb5RoRrZK3rbob/TOVxmVKZ4OOF28EstnSWDPDyEVa3JurkehzwGzYtGg2vXbSmw/9q7z/DjAPtHy5c+eX6DjajY6TEOgE3aDy46uu+hg9h46g50gIJg7t7ddNAsuAWBeosHcrLlB0Gc1CVwaQAgmQa3VKIEaPIzEdT6f2PjmnZ2RMbtbZVA65l517OrlaxOZmMu0PPvcWOjgDHrlnbjYsvqTiFv5hzj521ceg8rJnGPDPRN6/lqA3AA3r95Ix4o0ZRIxBz5g0QOeL+QMRxsRUoS8/Qte+8zsw4d130Scg8in9gC/5zY0rbweGV4nb0IT+cHLXtT8ctt7vP3Pd/r872DZUjdYs6WjIuN+1Lq0DzvuCklN+qpAgAxg8qS7siQAXr3s28LuI7camg2G6j+5LZNnPSe1ZCYDXpET6f7k96yzOKBfhwI84IKJQQkDouEAlccUXfwJcKPEyl0j7b05IBNtyQnfojHxHielYYyiW8oHlI1axBj2nS+lg4lwy2UZjvrSvLdG/tcz96B10GL1zP6OFVcZiI9NmPN/LyJnkspwSUXVZGZRKVH0qiRSWldXIxqBjRiPTg7OZHngKPT9kxRD8H1Q8ynFQnS9GmMd83X3LdO/QIX40QinDf0rwiH/IUP8ba2eJ88WgBwDUi9s//0KCvVHQjQE6IuzQ+SlIZCOYXdOaqugYCRYRwDl6nKIqJyuuCKILD08oC+XUV+94Jtt3Q/eqgmikpMwe9wyX7oJ1yUqZDD43BLwAgttVqoWf4yer/OTG18YolYGpZVdofiTfcOGFBHODiGB9FBLsVF9xvoiIfpU0cQFDhAd0MW/ZzYmEBEzk0C7OQxCOhTJEbRgTd35+LsZMOWHjY6nJGg9r+g9KVUBfqq6j1a7IzIUd0YJhU6eHy+aOiy13V82JZ4+05utzKscW+0ZaIovA7VdvHdZS1DCkKN49Ll7UiP7Vu/XjMu/Y5i1Ak+k05Bt3v9JU3fL2C5ZCb4EpX14IodJbMqG8ZHx5lsZaPJHeX75tfXvAVT49f+bM9mKXrQQ2dVVf2920tLE87vYOqWtLDB/XvmZpR09508hr8tu1WTVZwTzmmd3tN0dr44JPo1EXKPH9vI6Oi8qhijF91EqNpXbyFl5EgTG15AhOTsiiQw34OmIGQj7BMMSEGZIAmZk4kdpkxB0xxhvLcEZTlB5sO6IXcTxUF4/sxb+//JRxvZeH+mYHfNj7Az6a4f3Wsx/Li38zvX+i3KxRqcqufPyqcpVKY05+PrqyYmzXGviecD5/MFBUOzEaEf3+bAKdRA+jk5vOnt0EGkEbaEyABRNrQznXFldeP6SwaMiQosIhf6stYW/bdC26E+1Fh6/ddJsoUrlz+rh6PHstv17qMINZ5mkV7StWtHcsB+iB9WACahw/fedcpaq8cK5KqbHIi9zuIrkFHFszekxFZVeXcNplm1jbVLQj+SM4dWdnR0fnnaieP8Obaic6luwshF8JlQ9J7qhZ4vI4t3/SOX7s2PGdn2z3elwLq6ddV3EvB17K6I7VrjiyfHl7G1quOlx9HTVIN8+I+eZsqoyaRy0jdHuIbHHmQB5LmuwhlcMQTDuXStuo4NdNX77kpuGT/QGdiewWR/lvxJENLFrEpb6XiRyYcMiL1yIv+Sj4vvQJzqDkaq4D4Lq4WMwZuKK1AKz5qLi5uLgZdmRkZ2c4srPtBIW0P0GO9Cee3KZwhX/fmY7XQWNRqKkp5K1Q/U2ioSedudVbGm4KuLjd1IV9e6kLu9FKcpdicDWnNHKE3OI4LgyKm6NRnDiOv7MjIxvMPLWtf/O2U6e20Ru2nep/W1kdCA8tnCsGkqJQQ+O0pixXFEqk6PfM/JyhYV+lypIx5a7Jk++aYtvG32kQPeLA8wBBm46lgNYGVIV46ARBDSgDsJGU8lAl4AI4L3QJ601P6V7Wu8zut+1b2j5yqU2vs4Gr95JTd8WyO5aCkZfzlCdtVSMWLRyBPtbbbPpVa9qXLG4DmDCx66J/XrNBb7Pr1lrta9uWLAEPXM5pkvn+EJdgJ/DPzWNACQ8twAloyJMNPDTHutI5ppiQxfgrRlX0P3L0PGjCgeRDD/c/B64DTeePPtK/5TmcQpesICpLyQMP/Xj+KJCicznl5Tlw3n1ff3v/VWW3o++Pnj/7MJBXlqGvs8vLswfzkATbhPIRN+qC+9ef4TXYvmQcZU7YAvvAmQlb4oPJr15wBvZtmYAyk/EtTMalSpRi/LOKKebvmMaS4Ho0vGW/j8cIIkutywI8GoBXXdoQjugIDgf+59PgtMHhpleTn4GmteCm1157rR0akv8CTehxknAz1OOcRnQSNK5l/t6fBU/ivMXoOlymEZ4EjldfRX/tbz/UflhIHAgOwlaS8DiwhcR3Ej878vYtg0LqFEg5p4kROxbIxz1C5CcMtLElkmOzZ0fQd6kA3PDwer3OFBuz7nS4dv1dj6xvrnvidKxyPW26RLG1PtGtAgYNGJkYR87JIiB/mh5eNkmU3Jr1ug7OxlFv/+M4CH689P1KqawLEu41PL1spk5RL1OvU+9Tf6P+QX1CfU4RbbKogyZsvxJy+ayHaPc6OCcw4qhfMJYpjlVBfpPAI9j8Mam1EJMXeAnnp3JTmluBohQiCRFgBQh8Pm8PaIopaVMsnwvkw2ziWgaT+A5YDQwmvKKKqwU9MqJEjBdhmtwQPxFPJcdMHBDgtwNVMIyHJsnUhXFqxKAC1ZB5cdjVU2fW5LjGVQwpXH3Am1thC+RPHSoVMRJRLudktbQIAMCJNbRna2bABWlYHsMj0buv0jJ9kV1kQA6n2qxRgr+LZQadjWVMIpWVOyTRWDSqEwDcaSy4viBWIK3PYdurcmPZeoPULA/RwTwPqGQ1nFIk5SQMp7JqC5QbxqmD9dUZjWJ5ZqZRbvxhnT03y+JWemQ5Yg5mjeg/rizJ1dA5PwRORiW2DJMFrl5bGUdnC+cPBbfTntJwCcMZRtTY0ZAekTRPrjvtlGbRqwEk/ybRBQ0rJzeVzIlVOmLVat+BB07tmQwZVsL6uAy5w+IzuqzVWS24T0jVzmajorTSAK2RCRtu0jPWRUa1ykTPURoVUoaFQJGp8Rk1KiMdVFsf6y3yumm9Wa3V5Q61ZqpppcLrjNstwSCUqd5hDWKVCDNDkGZAjsNlzbd1SCR5doDJ9UmTDN6AKU9TqmtRSSKj73wxh5ZIJbooJ+sfZc1xRvNL2DwZ7ZU/UojeVAFOJRNzIAcqOLhMrwHy5LoOuagIAP7Own6BFo+xf2P6JEpNIL4aWH+KLiE6zUS4wluW8qrmwijj1Rw53El4ff8o4Ok5ohJJpGREJ4+HKRL00Xk9PH2Ku4oU437Hd9lYitdkrmN1jiXNm+KsWKbigNg9d0ooa0wOJ8/V6U2RAnNGkVUp0ZholUgpUSt1MptHJpayUhPolpryHK7EZq9t6IiuRbGlhyFsyahrKN27Yk2mdXhNo95TkGnPiKx7E/0LvYn+/odEoLx9WHuBTtnsqXR4c8WbSnPvzzF4O+s6YoGQTml0F2FuTS/NtNM047Jx8q0FSpVUnmvWizk9VDBSRkRDlVKlETFyUGDMy7N3jALBsrIgALdMX1Ss19S0xgGoHIrJU3d+1qrXD6N//Gbe0t8Ce+/Yu9YtHhbPkIp9+qDZPnbkLf6M4TaFeUjTig33UYNxxhx4leymVuH5QAWVIJC2XY75o9XAxIn0JmOomqZNmHpwi/ROmiuA+SBN1uHxbxQMZgNExBHDZaPFBXTMSaRcDkATepC3kiYavCo6UA2riKITvpDJ793nqHmgU71oaOeqsUOM+TXyfTKfzzfL59h3+9Py/XLfrGZfxv7efbfvc9Tn2hq6V3W2LJWPuo+euaqzeYly9JP1sn18Gcf+XvwvI15gaJkOZ7RY8+vkOKN5Fp9x+/6MusdHy5YO71wF3ujd74jnGxq6V3c2LVKPfrBGvl/mm+X3kYJQS2psnk1qxP8cdSfHqPCDrZ7SrC84v6dz9cRGe249X2RWqkJH/IFO2VLG1LpM1vlYXep5U1l1edZhM1YL+mICPsgQqosaR02iZlJzqKupQ2RvzF/Au+ILCAq2gZTeaMxPpkORXlCuxf94A2uiEIvHApHV8Xq3gh4tze/nekipGC+hjIVYUwD4NCww0QE87ZoAq8GfkFTBo98IFCN/LWF/8OACGl7FIFAc0PC7vjENG8rFmQYN3AlMen1uDlfP1NWNNDNOWtRi2KTU1EPxDHHAASFgrSazVsoAkU9WVjANSmtlEgvDQNpipy3Fcfl6llG8QXNyv8NhNSkZQLv0hV6dBj5dvf38j/BEspl5d8aj0/40I+80yoeV6Nxt0eDmXWWuUSO+qhZLxYzdxQx9oHHS9Z0qp08K9vSfUybzOQVLlNRVc3JgPgSVoJzRg5dpTizRZ7AROHP4JBVkINNlPmFzXC0BbigTE31IKctxjEakgSJarfZAD0NLAZAbYKiUDY20i4ohKAJnVAqTSk6bVFY8DBmlHO76W3bypn8y4k+SUSe8wZn8p3NBDV3+OFh3TqPore2wyIfncxI8dWihryjDy2kMIiZx/nffi75RAMhEJUBEFtTEiwvmGtBE3rY6jTNB7BcbqTG4J6ykrqT2UXdRj1F9A7tmA85v2Uvh2Qn9QHxXGS63L9P8Qvz/dXmdAKLm0oBMsjecIAf2TFnD3jn9vbUTS4KwN9hj328PJjN5UKf/eADU/y6/pzdYkkwwiYm1F71HH3KvGJKk5uydWCuigiVB/Bg9wfOJgcuA8ueCSPm/LQB2Aqok2Iso4q2c2DWIqJQ8rZoageeAhdRG3kPiQ9RvqDeoP2NK7AJQAScoANU/s3s64ARSeO+a/zJO/5ff89f0j8tBi/639/u/+Xwsr0R0XtAe6rvoYuF/PiR+bcGLB0gN8rv0q68C1H9fk4jyW8/ye4YifESD4HW//qXg0V+Ae/r54HnlAEgM/C8u61f+/6qN3+uNX1AzfWwPz/1RksuVH8FgHS5vWufxMHo/pfGI3reXtNk/Aos+sreVoF5B6fF99H7/S7y6YwIleHXHEuDF+faPPsKlPxa0HdP46QIucgYvfRtJ5IgCz4PpRsKTAMEnDkgtn2yI0RILFzzzedw4gzjH8Q0qTeyDfaGUmTBxnQNoub+rsmVdBT62rq1A945qbdnSwB/ANSuA9nF3dW1O/RfVtcnmxxbd9SZoquzyV6xtJcd1YFrrqIYtLeTABCvmDl96YCg53pI83bZi4YHmtpULby14Dn2yNL8yQ9Y9dtfo0w+uOD18bkXzLUvxceiBpbNWtjUfWLiirfnWhcQe7gIFiZ9zg4AtqTOmjPqFh8fPDvuWTMqDXmuf1QvzJi3p3Hvv3k76yxte8PW/wmvnRXwv3JD45tZbv7mInZK2A3Pilwk0bCAPKMgHFBBjU5go/GY0plgSMJFMxOETyYZkA3vO60zG7bX2ZNzpzffDPmOuEfb58yeACXDdJ4sRQjBJeSo0KKFWg4SmwkNTwVoloMTiC5SyVjCvx/WLBX8tgh0asR3HWayPfw4WpM6BdJw8F0t2zjG9KgRSD+jjD/gp+YUXHyDvLCkOdqN5aB779qBIrhA+iRpRI3vW70JxS9yC4iyEbCro8ud4wFH86zNFTaDPkwOOerN7+kDZ4UUPPPBAckc6tOpOID286KmnnkpWoh5vlfqMUnkG4j9yVld5Qa8/rn4CXI+PfVJpnzruR4ueUMeF/UIkpliI2y3B791P5VM1xFuDwUUTBFc/jam7MHS5MeNDCT2Sc+mNPlcoUuxxRVyET/e4fMSjGs4RNsA9Lq4EAXChv3uRCOzXHqleoflgGjr5ThKwr1/z2nSYXLD0fBQEX/st+j2wDB/3NOpH/4LtY65aXn3/kmVFHUsSDclbmQfWod/P7n4u+Vg8hl4D4j++CXRXfXi1xrFwdeiu408Pbb3+j/a6DeMebc88snrY2lFl1tQ3TMsPHXj05+KWNPJaC5ethDp+54nsK5BNBtoTwVSqPnVicRlXNHJxJ5pAMNEhkwcPPfxSBksUT6MdYMPy3uvmBppHtT58aOXkk0+tg9L6JnAL2LMpcfi2K16rukY2tGixDDENc0A1euZSaSK6of/zpYtvyy5eVDoiW4Oefbx7Inrk3cWzMluGSPVbH7l/85WHf+MOggVrSmqBtDXNZ3FpPP8AwRAY8M7A79Ga0vqAAUKVg0G76TE95QH8HFKAxxWvzkQAeylR/nUvX3fdy8kdu2bZbLNaa5zO/S2Gdn3misZZ9JvHNmw8dmzjhmN70Xen0DD5s1tXP2H5O9g2YqLCSHAYZE+eAjLGSa6/7vzTb+4SZTv3tbTGnWKXuGIo/ecNx/D1R49ufAp9j57ZdHT/svHggVsLIdj3JBCj76hL+EYxbk8d1Zry60G2TgUBQkBQIcEPHb24CVaZZjp8odR34mjSel/aTlx4J4QxfG9J7+LFvUi9rL1koqU4v2KVxRyubDfq2+l+4Uvcr79x0qybpWDs3tOn9+7+PfyLRDesCv1R+EA/7Hxpx45p03fQWb2Ll4xoW4xeOrK0rFCvx/eoWGV2sXC+8DFvGjJ+1bUz+0/v2Xv6rd3oaeBbCd7G6ah32o4dL+3cQVDVL4wWfSuiKQXul3mYRx7Go0PRnI8XYmPmyWjD3DKtAjTROI7GAoBYgAHMndE68gaAiPYFdERLlCXSO07Jcn6cEqN9MaJIyEYxRW+k61UQjcdjX8apJG44PPf4jdWTC50087QGcmLPiGtFiVPyIp22cbf476e5e/9amgwUvIee0/1F3xY0F3kKzYVw39tamVER9Fa6GmTuf4DSdTvfRxP2uduHVGg0YI8zKpcFwEJ0vTGDLvXZSpq94zk5LEPbxjfdMHuUwQCmWys02ur1o5OfopsyPDTDsYfBQjDnAbXRSB+tRtc+KQfTnHYG6o25lih6Ae3xDffo3UajVEs3gXnPfd6BtutHj715Qp1CAWibSlUp9JG4WOjzZE+37qLvF50Lvy1CQHIDKYMNeV1pg960wxT8/kj3MBFVEHBm4taJE7dupn8cC82SJCUxQ5bmk5BW2bOod1E/hQ89Su2WCfbZpjum0NSUO0yz7RO2gA2k0ERwBkwX63TipEWIUgiT6wniVjQhHDEtl8ClD03cuHEimrBFsHMWk+k2TJVjHr51EJ/2PzywgCftSnn+MunSdszgYttTKVzmhC0/++gJAf0vQRpw9pzwuNMGtZtx8WkwsWUCaUScPH5cOF5shAC0S5qCMvnXBDYLL6D/ST6K6YFMzJ+c4dtHeclAdaQxDckGEHETFyMtGzgKvpKJUqdwZM/4rSgEpF4L6rN4pQCFrH4d2PUxf3yBHBME/j6h81tfALvw8WOwq7vYr9nht3g8Fv8OjR/n3jhwSOh0CF/gR/P5wyX4KzlUPa9TlAKHEmb5lFl8NIZTXYNSM/lUHU718nuJA6UZ3g0hGKwqONPxDNp2c7bNyGZuXfjX+3RKnb3H8zn63U17Cz0WzrFmEzC9ZVZaPPOCG9DRh1/tNTmznLKMbQ8eBHkzDbqMnNcuh9lvyNQtdUty9Bli20yZ7bOgYUe2ImzxiF3rFB6gKTANHVbA+RzObLGvvlKeNe4yQRAQ/PTib6IjlDDxP8fRHOavAzgU08VcDIXeMgMTYnN3OtBpUGBGn4DzOAzymLeSTzjRZAf6wgEKYKMDHHQAjQOPPQ3+XSuhmGWUEq+wBbgvV1BN1ChqCjWVWoy50R2YH72Vug/zo6eJVzHSS93EjpfM2DiKXyN5txytN6WdJETIzqC7gFhbx0xEoSkSiBXj2Z42cXoPnx7GBPvFDGdKAQpHcI4E6Dg97wGKyISNsctjQkSw0y+iSS5ZAnXED5RpIIbJVaOOK+JjUBeJprAReJhqnqgjCRQvn6DVmIJUSCVKpRIoJEaQLZMrxGqxAkhlIolSJpGc/0yvh0qo0UBll9UKxRKTSSIG1lMWi0wKDQYolU00maBcYTAo5D04rhRJ9HqJSAk2oT8bDFJODTGrpOakE3U6mRiHcFwsm4LT9DocUYglcnD1iyqVCnMESqVKr5qqVKqNaiCXA7VR9Qel1qoFIpEcSiUyMaeEzIwjy/v/rdDaO3ueAw5NpHT5kcNfQZlUqZQmv/tKqig+DZvVYpYVq0XJp8C/gJSTSTgFmJfYIJFsSEga3nhFIn35DQkemP/67nOZ7PPv5Gz/twrFt/0K56ffqyXc95+KJMgI56Ot33My7fdgnVY2AuV+K5bpvgVv62SZSPS1wfA1OCdRKJIa+CmCX0hVStkXAMmUSgfSfyZTq2Wfgc/kajUS/0Oh1SqWLIfraJWEY8Xa5O7ld0Ktgt5ikrrR2T7jkYt+FUmfVmCagSCtUlSmN4anGrI7XwmM/3OM4UG4hWhxFOrAe+DAytfRbagH3fb6SnDgF+InQS+Y8no6/jpNjR51r6DXcu+o/nsHRUD2oAiTjU8JIYZPg/ZydZSV8lAT8dhZTiWoq/Cc9NO9OhOncRFX0bzyOxHfAl5SRjZwRZxB2C/nIO+fkCAMAGKvYyD7r8QGpByGeEAE3Gx8wJSFEgCRCU9yMV6H0h/xB/QcTcoGyG1ErN9DBmUxe8oeHECKTgR77FvBKqkc/VYOphIDwCQFkStcXnajQ62EQFRTeEX1B/fdNFalMANWykgmdiolsDhW7zUrFDKnAZjkWgnBJ5DHkK24MzwUbFIp8PPwkCFysO7KPdDItoRtJQ640ryspVDJMFv5/bU03nTQXo+uypCDUvk5LUMRK8NzFBxpdXBFRsxdAeAPuszl6BwnB4zUGpyZJ1FB2Lnoqg3tt4SCKkOBCNKsY+2Qw8hmviLYRa/J7uZ8dJBheFAxI34jydlRGyaL6+aPXlgiM9sBGNzPhG808td9G52BADfjtx8Jk411HOahC2mRCngIXU57eMLOg982HY784lue3XD4YIKjIUMDlk4cPNyA3u6eirlDHBfB65dcD1nAMJhZnNr9K94YnZibnAs+1lvVYjPtliAb3DN3LmrWWw0GNlMCXck/S5wig8GqByfm/qT9Hb+u/cQkw0NAS4kEGDqBh8Rp4SVwfMtxJy0AfFxH/2L7QR6wDJvJSln8lRnIcvTcFuCp73uuDn3SPJOR07hTMSLZnBb0Yf1Tz/6KV/DpnDm3czoxI2I4CXP7nDlAA6xz5x7kdAyN7yM/iN/Hl+jjtC+8we0v4XWpf+0bwJyk4HccUxgEuRJ4NGTEEq2wX25zJmiccHVLdt2I5urCdnT9eMCuXFXsLKly/roG3qUyJdpHrrLp5ib/AMxArnW1j3Wqfq5N2VToV844GlckZgIMz2oa9b/YBCbRT/WRTY+23kWYFv0Vzw36UF8fuSSxiFxCkEHTz5rejyHPG6OaeRT5iMfARjwZqbPhl9vgIeDpGsBba/Na5FFdJEycQMIU+QwTRMmS/OiK/7F1iQSi4I654hs+vEFsmJoYYXSf4n3ZMYlBf+CXWpxI4BnsLXTIZumYP7/DYqsGrYmEFVl5/5MDOsODvlUp1cLjHPyq9cGQ9oo54JgiFiVAluqAgHBnVPPwN4EQ8XqaD0iKnk/55c6JqRsxI5cd2UIYgi1H1OC4U7dpkzqqN7CaadM0rEH7lE0/Zow26oe64mId1Ol/zcyULzYmzxBXmXfxe8V3qZKN5oNg/0GDSKOJGNaiZ9caImrVbv2E/gk66I3oS3eX6iNazc/06fCvHaeX7wmx6bfGo32GQ7+8AvJelhF/pOeR16KUoB+ARPKrli86kb4W4CPE7e8j7QfSbiCV/Mz3j1HDCI7Vr2pZFbHiBcR6gNj68mZELiNH836ZADEVIGakmLzFBIJOKEsyA7/88XvEVllYRotPnBDTOGAV/1WJG6tU/vXydLRCoYLXQKOiOnX+VW8E38GP7/TNN/gOfnwnkKfDf+j05elJEb4jTW4txYH+Z3AA8zqBC3PYd/H7IhrOmCwSQcFxkRRzO0YroZli/gGP8ngQEDWkwdt87LvTJ9f87o6CtnZ7zexpS3vG2IDN2rV6zYh7Vuy8483jR58u4yx15TVaZ1koEv/9HVXwhRdNV6Gvb7fmFWoiS677C+DAgjfeQ/vQFy/23PN5Ewie7PvudN/BjYCRBzJnjhzTPXXcE39MyfE5YV4TUVLMRWkxR2ohOA06oPGxsYAE+NIbzZhn07A+TJlo9CmnaYQXEVjnP8Fx6Ch69Jln6DAOfYOOtgI1Xry+3A6GJ+9kXnsGPQoUyTvpsLv/NUOuof81t5sO4wBOAAvRAjDzz95Nm/rfB7uO//mKEydOTPgzmIkWoC82Aeg9Dnahm3KSH2aZkh8qFNBtyoLuLBN0YxL+Q9MAHq2YYlfhftkt9El+t87jyoG8ZGMATIXYLWhxJuCZZqKhkMZDd7Dh1O4dQX1MaX553ILfMPHCqz+7i1HR5xsBZO/9bMF4+eHlk1qHgcCxI8B8CJx79e51V89UV8vrWmOtrZHckTU1Q0curll9191rr5uidPqltS3Fbc2lOSNqaoe2L6xecy/sz//tmsOfAOk/7lzwRDSQs/SOsptP3Y4+OyQyoy/X7JyqH6qsqYtG6rPr29vrs69buXrnZLU3Vx6vDZcOEdJ2XGrHIWChEuukGO979BLjC28mZyJIcSDmL44FRGoqEx/dAU6bGeV96LImPBFzRj18+acmFLAPbb3v2fZ72589/9Wzdvuz3bAWrBMSXk65xKWnPdvd/axdRP2MBYSym1yELyUX3Ie2Jp/mE4D/L8LF4mfvE24n2CNzFPsDQeYAF5WbtN6YRkQRzIjMKrLlHyAW0Nygul4Gk/74Afog5b93Bvrggz+CSS/DxIn0g5z4EGw660T9eaj375sFf72b/w568gDjPIs2CliKCjy3fYXf41Tc66PaWKgIj0iGVybhYQUAAR8gG5sxYgoT5bWBCPFIMvmAkscqECAI8hnM+YSNRQ6xSQsFjAud+E8vsEAcjJe42KFNoVmtVWp1wK6yKZTSrLxspWJWYLheBwIG/e29rgDNGEfY7TNz23U6p1tf4Bo7stFoqBhqZjKzi7KUCiUnDeaNKKrPKbTrAP0hWnDhJDr+r21w77tgDR4t4vCMlfv3HGkMBdROjTq8Zck0R4alyGUViZZqGqy2woWZzscezV/sdvkaNZqlyqaMjJJbTsbznHqXRh1Zt3LdopkdlRqNgs5w14bammfM2tyIkmja33f/CNoFGojvb3LM6wapNmoCNY9aTV1N3UR8i/i9xEsE/o8ZOw4f/eqYScQRVWxiWcpForFANGaK0hwxihMR1R0T7oYxf4DzB/iuSXLxMYRvgG+DJ81UsUDUS6nxUdC9xBfEyCX8VYGIkaEGGRYxgqHRoL7PGOk5b6Lb5pRl5Nbsfl9Tk/xrh9FWOmVKqUPX7mHFZXPQbW+W1Gje312Tu+YTpfKfzrqTpd2FxeOLC7tLT9Y5/6lUfuKqPVneVZg7L7ewq/xkLcquKSHF/Z7SOaCHUU8ptRk7vJ52naPUWOrxk0pKat4CPUBx5UfoeXQEPf/RlVd+BCpAN6j46NjPDJIZtaI37ncXhUrvzh0thxp7RbHrOLj5uKukxD5t0Xz0T/f9b4hqgXx07t2lITiuLXt0dtv41jvqtF9JpV9p6+5oHc8nTWi5o177pVT6pbb+jhbor4Wy0dn3lGSXuO5/I3kfmnHcVVxhnzl/0TR7SYnL78IZ92SPlkFcNV5HyZNdOfhp4cHLnhGHBsuzOEqNKcAh1GxqKdFu9OmJpDgcolNnYywi8qRV8Q3ExoIcCOwLYUF42wnCjQSiujC/gngIrcNGBIz8kDEc8ZA04kKBTMRhg0ewagFpYUz0cnevsGHC3CkzvM2trV7/keGloYrRK8pz/VmLg/UtOWd6htuKilq7pb7GqyG8mgbnHHjKl3gks+lrmQovoNWYk9M6S/xx9FJhU1GooQhOGywW+6i2Og72dI7qDvvWZ2QsGR2apaI19REz7ZuRV+dRn6qLK1mnOVesWjDCbJegybYY2JJvMhWiVSHJakP7X+Dydr3ZWbCcBvBdX7Tcb4bveWNRnzcS7bgMd1dE1eN56BTvU17N72POo1YSax+Pm/iS4K1RSICMDN4UhUfMYQ1ql5tXTY4QRiKStkoJAQ/Rqg+Eiaq9z8CjjUU04Yib905AXBHgnLCBuEXT6FOa38JaCDvuvO3+feUV5evWrQQKb45617pgIK9x9OjGPLRnyJoFNSfqqpsmPX1tT/sUcOJDhvmQgRMaZ1Z1hzLEkDOLDP4e0d9E96lKlZ1jKpNfDi8taxtRXmacNms6Pb6y/YYrwWsvy6U5WRuPmcT+gDPLZHDkdZSiNy2lc5vvrGCyOufbGfM9I7efLOh/Om8snDzR7RqXvGXsI88HghU9XeVgEgNFT7dEPVnrnmbQjVsY5bIxY8rKuy6xDdcS6ywJ8ChpzpPPBDxAE/4JenMpGLPX0Bmut9KGglJvk2IvqLsC/vYS7XQPbAkcnLK9vHDK4sZrrMljqJX+6idY+KUXKOa3+Jtl8JhOAogbB4lUjLe3EvA1ecsjNVkOUvAqPOSbAABFNp55gGqibIEJFLp5yYiKcFXkhzxgM7B42CgN/ob6YGWjenEv+PcB9M1t8TqDiWW9hnDp5KOJlpbE0WfxqViq8GdJ4xMO/GnFbUDB6HsXe+pGoB3IbHRBm37DN795dHNF9zBPdtvifDzQvz2gZH24ZkaRuhyfJi+ZpQ/qlbq1O1f+6cD4A3hd1OL++G/cNoKmnVKcjRH4F2JaJXISLXYyroEhRXERrFAPRzBQTQKqVsqdDq94i3uf4FSH7LHzcD5EfCG8pIgaKMVGBdAoT67ffnLbtqL2ipDbqZeDmJZmWscEvBKDxiBTA0x+lQ/Vd8TEkGHj/44sHRlXiZVxcdYD7Z76FaNq9E5ZuZ6RQli4SsEyYu3QLMAwtAm+p3Ppy9TGKvl2kFNRGzNEy4Y3TG0rYzvqlMVywLJgye/m5SxR6TMNTgiYm4foffnZjFk0WWvUsZABIC9Iq6xRXzCQAY0AQkjLnqqi9Vl1jARE84EuTYtVYRr0WR7L3YXp56E8zu9Fgn6w+Bv+fDLAQYb0B36wBriYlyC/EARAotFiEsAB1TwVa4T1oayc2tqcLNoSDtry8mzB8GdFQgq8vzhAUgLF6Htn4B700SGTx2UtrLK1S5JN6MPnQOsLD4PS03Dh1ctjv91bTwocAvZ7bgf2+xhpeygcDITRJHtuns2elwu+uDzhXuZmdPbA8GaaljIauPG9V4DzHmA/tPWTZPXyP4x5dL5vx9fA8fWOHd9Q4ALC9ALB0nak/Czz/KyPFqCsIpifIAhnPP6G6COX6ALF2pQamQKVf611KiQ6E91z/jRa7qOhW5RQ4RXiO3PwHJWhFrMn0bsmhnPpwQTG0z/1DmVWUEf3SfjxeCHJ1ynHXGrmJbWCdK2pOoEOsBIwuN7kV+gdbYZSojOioI+mPaKEB73ywbkZoI2ehNwXa/8jOmnga3/+GWVWQE/3Gc4p2Zz+F66GG/v/dsk8VMzPCYQewV9O4HPDxpQqf8pik2yHp+YlHtKZ/7jspc58BWgEEbXmdfTRgfvRy/M5IL5aqlJzQ99eOeupa0aOvOapWVOON1xNXHGjuNUfDDg2zwW6Gw8A++vJc2llvjO8UhptRy8RDLUbtkot4mskUDppFr78TXyXxtprHIEg0S0kXsk3TV+45vX9aEC7ryetz3ZRp8VGeA0lVPO0uTofXGJdthn1C8Q2T5bPuA/ccJkwkaVw5uBC6LGfyAurcF3P4rq2YfoypZHGz5J4BiGiOx400kDrTQ46xfENLhHA742gQw+YE+IRxvN1RAvdoCPiPheZi3TFgXz48yX4+4p25T6Sl/twrtnqzi1TuwBQ+JIT/AoAfOp4KGgxF5zMz7k322RxZkVVLoI3xoqVElVFvtdszj+Zn31PtsXizilRefCFVvikBV/o0Y4MWyz4ljn351gsnrwynOlWVxR4zQmOy7I4HYxUalgJrjRIGUZqQDt2GqUikOG05nJcttnhYKVS06pSOo/Ot4XcAbNIytj5vFyrwwZFUsN21GeQ0bTMAOLbccDkT2XaASs1XdM/cqVBysEMhzWX533MFxIMwu84N4XNwZujXFTY9gyEiDK+YIMdzSJYIshnDjFWEe21zLN4r/NY51k9N07ZUBvv6lq9EITAny1etm5oRhyILLLI+YTF67Uwz56vImfwpbygbPXynUdWrcjyeXm+gvQpapC/FqJRXEc1Ej8projvJ5rDrojO4ImQ808MRC/fR8PliItO0IN6Ie9aLIW/19vfe+aMiEpmnrmYSCcuhmH8zJn+XrJ7Ogjszw9wHFKJRD/+MZfkIGpwLFVMkHnz48XHa1ioRZnkHRI8RDyT43XURzpnJk7HsxOLOSM2yvRte/JJ9P2TEO0fvwEHt20YD2ZBAstHgmg/hGDWeEiRIk9ukxuPjyZZo48b5cJlOGTGiZeMVR8VoSgvv7sRiGIWyhgWtpnxUsOl3bvEeKPZn5j2sdT6rlGVX0H4VeWorvXrH94Av6rqwIGujqqv4IaHwfrBFFPy4Q1lq9RK9aqyDQ/jIpx6Ven6h9eXrlJzXevpM4NJJ26Al9Tgb11FtVBd1DTMTVBUvuA8iPc3KPhGMxE8RBWPLnGRsQsT7PuQE+j4jWXeiBgTJHjpHByLCn2Xnz8DKXUWXtQu4OYUC/B1ejhEX2iZdyRXqrcoZNla96ZRFvrx/G/rdbr4WIJvi/5K4HN52NsTt8d1EV39ealcIR0nkUit0m7p+zKzrFsqldgk4ySZWiUPKtOjfFBr1+L/+8aRolJczCqV0DeH9NLcI/MshVI2OGqTWwYeyP+mHt8wfvuJ69J1AAfB5x0b1+nqQW7qQnxn2xf8UcKnPMnfuzdVlVY7JF0/fqIU5gN5twylJ18e+FjaBS/bFgJRYhasM/kDJtYXE3ExHTESNsVYHWcMxQI6H5wMnMA5H93K/nRfiJm/Z8aX1Vfs/SKC/oL+Evli75VVX87Y4wAN25ct/375su2gAb755pvoYSbxMwzv+aZXztNjz4A6+est6w4eXNfyuhw9dWYsff6VrUH0zpBAYAjIDlK8376Ub+y0jcFQ3rML2XG4gzpKnSKzQ9prd8qN/WVx8Av5vrSikwf8L+9E5qJiluFBM6oYvAI6GM1lRTQDTlOB4CFTcJN5MQjjP5ucfNbuh9Bvgxf+m6tAIonQZrQ5iTThth3HgAJUAfnxHW1hzcUyfhtK2PxnLvpQvehZFS35udRdftumTTZ/8r+4BFyjkM6CYLpUoSluGdZa5vOVtQ5rKUZjLpYYhW+JbzwgE+T7LkHaIxo9pSmstoF5SUfQoogQMJ3AixlCJjAAv8cOhGCf3+q3Ijwhn+XM8J8EhliI4pn8bjPX/y6BkQKZBJQ5HWL6kjg/yS8VkKJnm5Jx2NefQKlFAS8SlAnEzlx0+J7eu8TPbCc+Y/Qc0SBiAgAvUH5tNTAJYAfkLDrR7EML9/YeQuUn0d5HwZx1BYd694Lr/XNw+qJPwQ1+pqd5jh8twkUK1vElToIXSJEbfM1z8aWfgut9uA0M+kzUz/srNFBlvNcoQYwYJT5Nf87Hp4PFlE2Ux0CLmkIOWMXiEa8VLPFidIRoAqT8Weh45xgOYErN/wZNLGqkZ288uhH/B99v6B67cePY7g1/iY84f3dHec64xnHhsfZOWG8TMVYPt5CtNtX7G8NDK5tfXH1+1Nza5bOGj2aA2MUBZsyIWctrZnecX23JDtBqemId80ndREMgm7Z3rFzZMWrFilGpM/oR3jJmaP345CST26jCVwK7iLZYxxHPBrRIpjY5zXtmor8dX+zJLAgvBg0AigF6cEmoINO75DiwzdzjK7ZBKQ1PNM2Y0ZRsVtmKyUw4Da+FB1LyWxVlIb3Kg7uRR6OLEXt8QwxogIsjYlkdnbgBOm+4IXl+NGh4FxPMw9ET776LlsxnhqPh4Cj5JcWItp3/x7vvMvf2y9BwfL4CuIT+OxL9yD6M+Q8jlYNnrOHUdDJLQfKqeQJK4IB5gNWASAUY3sbRj+N4ISKiL0AWv4Cf5sFTU544CIYu74TIS76glsVRFk/YIgEPl1exwcVoFrDyQPSCR8EAlqnYB8pVRRazbS9dtAp9rvHo5KxYm+1RPNWQN8pkoUu5e8I+q/LeAiWr8RSCFa8MF9uT3Wx5WQm6QmzLAq1lQQnth7fQGSr0Yp0ZmPKVDgdoXh+S2H2Fe0XvbkTvKzLFkonZKoNcKW0+1qCTSaT+j2KqQBd0W0Itj9bD1gytW5KDTkXf0SsNUmBoNYQMORoQqLVxRjhyhl7TBUd7bDkTVFKPNvnMSwG9tEUlhpgYKQiC6ffVinQa0welvK2/IN9JXGILYaM8mGYlPoXw1+MpPA0Pwxm55EfoV37D0KXRc5fAO7giDIWIhD/JW26wFMIE08UfJvD8xX5R4hwlY1/B9NyitrOJtkWAIhddwJQdTfHXUQNyev7XH6f7BLBnJn6+z+X0M++d53VXmXgCX5pNKbh3eOwFJ57XRmKaLDVqDfqYGzMqKauaGFEA5AHWeFwxAvQjpJP9bD5d505B1lyWzuiDu9a3r58FWzZu3jiM1u6TDv/s758Nl+6jLsjkV/1zf+d9G6eVQc1e6VawCiTAqq3SvUgmO4Y2ohK08ZhMptknfRIy0AqZJ6X7FDfqM3NzM/XrQvhvr1Yhbe3qapUqtHuBWjx7am5VVe5erVy6ddeurVI5TlRJbj148FYJKfjEq68+QQoSrTjejobf0xwspaqmhlEd1FRqLrUWD87LfPZR/+WZYHcKaIG8v8KBtMEYgupBOtmD6VuQGEb0JcAr/AkJJ3rY4NjPJtLDWma14P8ofX3aNI/FRz7plZbic7xEncXHyBzhavIfvMKf0CuDYz+bmEyAi1J9eEHI6uOhwwVeA93Jp9HUOYqUE5EjHiUteK47ztPWYV4/pZjYEXK0SLCgrIKsmhO5eEMFAkjIdyGiaswreGdSmuKAkftpCcDrqztYpuvzhswYVw3d5siQlXMq4fj3/w9aWZkZ5YaKa3x/cOYq9rkrxEPF5e5KcAU4Gn7ssQ/eQysq8CVDxXHfO84cCHJxQXCqfsnGaROqfEztwRwn+oyVmZ3Wkrkj0A+Hbsfx573hoFMaK3CBClchiAN20/DxZejHw7fnOtEL3nAgUyxnDd6w2Oiv7lyTnt93823Opyp4ewYHFHH8BgDZb/U5mDTSP+/ECAouj3AHEHH+AEFi4AFCdQ5aSxxSAKFgVBvNp9MlYbfOLPXnGMZPnVrGVAXqr6i6Btwj00Wdev2w+vCYaG6pOViRrS50cM68andWQQcYo4lp8i0OW92SKRKRNSnJKMuxqEYMNXaFA566sKMsLtN6sk2MO6/Gl1vUST9auf623pqR+2eM8AL31nUBd8czluyDO9999i89Tc7gNWWd7x870ayq3ubUhJKx3n1blj745NHD3at9OcfgM5qae59A3+B/j95WGFM7r6nbALg/nd67MSKq2eHWh9M2ZQLuGvG/ZcbUShVPUVPAEyVSzpiJpfGY4Rgf71BKFwZ0WOdheYsWAkBhEFSZOWPYSNTSBUFD1Al8mK2kw7Gw0RS+fHRxj12jLKYZOS0/t7lMFkffQhADqjs01hVNVz4EWN+RWUfg/iFtaw8AsKvQXxEY3WA0NS/cfCu8tii3KL8hqgJ9iRrj9w963mZVNydain/ku7kYH6Hbt1MizZTGVoFAVDFiPGoe27AyA0G4KbkBblbbVkyc0WTyGhyZLtn1brBq2px6i9tgdAGL+JZo8niPsZl+9jx/M5YfM+qBd8NRWspKeakiagQ1j9pM7aEOUSepP1AfUd+ADED8VwhSmKgvHInmMx43m44X8xu5fA7tiXGeAOfRhU0+AnjgiQ1QZaZiIvvCr0xwfcfxQh1+tg+4A8WENef19IgczRTmPEQ+gBlhvueSvZewSc95CCANnyTQeZiW85M6cC6HPyN30VaMu1jt5Y8RHfQQF6/XkxuQx79YkOBM83hoHqKS64nGCPIcwSbG9/cHwkSTJSzi+P3ry8VyBxUFeo0RXFsFCOUm4exQLy8kKXGHzmzXW86NG5NbktkYYNyR3JEQFDNqUAD0flNGcYFSAoA3w8H5M5oPiI06m0QTHOM2cxnGTIkmZ5Rjnp3LgBJWJxaLDbocKKaNsRe4hbTV4rBLHLZJsWxP1naFBDO8JZiwDdNK06sSu9EZtFkMNqndmBdpLLG+wCiYfKAPmOzhAkx34MrE/oyhO5ScSaMpoXXSYkZlurUkJ0KbMpy+mM9pXHvD+d2P3rgxN5S7ZAk+bLzx0d3nb+DTVuWF8ufMyQ/lrSJpYOslHXVcptFRQTOsBDMFzTgcygo6s4MPoHO/+91LLwHRoRKRd7rcaM20BnIAzTJAL2VyZUwRrRGLOV1WExDBArGOk4j1gSamWFPgoNWwgCuQ5+o3zDZlGI3KqHhSrDE7YArA4hnKzUNcBo2vVBnLcbgV5eLK4oaxi7XmEe7U/TkRf3fa7IehWcpZk2SYvs9F53SmwmBkeMbLBE56wbK7986cuffuZQsE9OgFC2+6ZtKka25auGAXoxw8ZHjsB2HMSPGsS3btaqkx1BRqDrWYWk9dQ93Me5EkSLm8o3I9H2CJUbsm7dSeTcmDST+LpSXGae9IAb5T8XLhVFeMDPgi1iiBHLKui+u9T+fhAh5dLEy0XYUfCPMaVaS6yE/kf6DUm1Gh0VTavaIv4zp99dmOaSMmTWrOq3DU1IB4VizDYDNkmN1ZpbkV3nyfWGc3FpqycxvDcWD0ZRVVV+fn+IPB5pkzmrOZH2oOoufRPUiPkMhl9fc/MGfvnDl7Aby+sXts4843H1+5dOnKx8GVbbNbqkom10iAqzX2ozjW2hrjfoy1wh/CLuv7NqeiePqS5gnomD88FrT+M5irl2qVaoMt1xcLerLUCpHcqLflBuOVWa2+mlBhnb9VP33X9ORjUBXs2rXp2kI/fJ5UOkcMRp85g+6VlHSXNJeiY9eqhxcUo2PboPe8vGT48BLmW3wka4F24NtBTFErMR9px/S0H3OTI6hx1OvUX6mzgAUS4AXVYApF6cIBEAt4DEQW7zNFTJigMIRDPuEEhBMbDhBn9HjeM3gCHjL36TRhUwzolYzb78FpHCbUTZjQ8Bk8GnIj8hswytLgBcQUjpjCMUy2x0JkH8UBo+lEjccQIP/dXMRjIGsUH+MGeFQ+A/9cBvy5yY/jbYrwtbinGciRx6GPkYfWizgHnsk9fNcgjxLixWt8WjFe7vlEE9nRGfSYBI1N6MAEvS5fQNs28FN31AFiBlE6T8TLElJ5DkBr0q8Dz9U41e1XMjwVFuPfTmTl2DxY09xwaOdOUDn1qeCojizgym4fmYM+JUfwytjcfmPtxNKJWy1XWhqW9SyY09kK98s0dnPAnCXZ0NZxgQJMW/sb89EH7767f/du9m2hby20xCzv6RbrYYZUCkymeFanxFJi+Zv7xHHLSdPZIcH7zUXJa3NyXjTeM1zohqvCjkdiJvS8s+QtU/2n0RA6BMbEik8byp0PisUM1JQ6765I5pmNFm2N2T2k5ubCMvQvi8GqqQGY6TRpG+I3FWG+4k9/2rd7N/q8Fv4wY8MGt7so5C4Obl7p9RQVeb4wx9evd1l8OT5LJLhphbdsxO7xa7Zar7AM27StmstWOeUakc2bMX7y/KlL6NHzkleMGFEUiw5f8G6Fa0gwoxJ8nVHhn1eAvnob/1VUABW6AMDjjyff1jv0Cg6Ccd3dQDV2bH8JUJXi65JvfRwbMSIGj1RW5ucXFEwFytEmuRzAysqyMrAmF/8Z8d/kybm5x8CVpGSy25j6KytDV5SXj1XMmMqIx5jN501BicSdEc1zGaYClQPcbcZxlyMi8aiMUm4KUIGM5DJcawmuFd6DvgKq5LLRZRa1lPN7A9mlFrUEiHzK6Z4yi0IOWJnPQRL1jAjWoq9feaWiYts15RDQUk2Gzh/8A/6a1KlTZHzKBsanHHO7xCNfDbWGuoN6lvoaiICRp0J4RpHYiItYonZjEvl+Jo1wj3jahynSnxc9Eitz1s25lRxeD8ICRCpRQoUcQYvlzQhjAq9QxVQDPIeyxNQQcgFM9IkI1p2B35bgpf94fBHE5xiRGxFSpYwm11xSD4/Mz5cU6iEeSy/W4qBD+MH4amK8RSNn0Jt4V3E6T6zY/xN+rVal07F6bWslyC5YS7PwFInrdOn4uVhCrGBYepRMXGVRqSwFI9sKMiJREPN7oYKVsmKWZaBEwrpoh71ZKtabRP5IhbPYb84x2WgZVwLkBP46jwEbm40atiiXYW2A5UQykYJVAT9ggyysDFaqvpN+ukkrE+EhqmAVOJdjgAFqZAO1WQv9Uo4Ri0GQVMNEUpVkWy00IyH20uJsUR79SMwilkbUalAq1cAOAGTbL6EcHtHaS1WSoizf7RlVdNdBHY6JcazXUUWPBQvFnIRDuyScbMgQlbuxyBsyiXtEEEDIMCIxm6GXArFXRkxSACO3hX3+HIVCw4nFMsBCVsQ+q9CMZE1c1zDAtI7FDWRwOQMbeT5PLdZ1qhUWcFAvkkw1KdAtcj2+Jcux46RKpaeBr2eiSCQVy8wqqVzslUMgIhU058iVGhV+VwwNLM+q1CPHBXO/r2PVUCEFK1hOBq4cTDxIB9EOKipENWHKYRyPDbudukWgGzABECGK754oTzXwdEKKTOBSyOrEiZCfJxNi+J17Iio6nDLjFJTJ2IgADosncoJpqeMpDt7KNpBCsoxd3DDgM0Sp6wO8gCgQ/gkeqKjSoHOZtBn2UnBigSgUPvtZbb03019Wq61rb80vrKkLOAsz2p3app6RhWHMRPVs0uZrqnL9QzMLMuXZ4GqVIrNAKt2y11qiLti7Fy7ICzbGI+Kte72ZHeFKlJtfm59fSz9cGJrYs7A6Nmd6ubq0MUdvYn+El3I/q4f4PJIzjtFTPimvsSiMSqtrUaY/0FBWY1aa1E6LdnGWLwt4Fl5pWCKe+X9GeR2yFVzoBct2OtNRgrJAyIkeAn/8cE1pcUlBcq1ln6ykBjxPai5A/1pcHd+6JFERC8506nQFSvjIJTQfTSkvUNzXIjJDmQjiA9CayAsi+88BNlTMk2pkVQRGApNCkOCixGdZFUPciqQ3u/BiayIq/yJj5ectxSi+9+09AFBqdXln5kwmLAbSHx+W2sSjcOAJXai9qzLw6dPikrYS8bqnI+AOnAPvRwdeKm6Zs3fPnIcyO8vV6qEzRXGpTXL2XjGU9uACt2e6s8ffeO/X2/cD1q7TEz1/vU67aQKYiwsIdpsX22HEdM9wsgs18PBhCUi561SDgdbFXH46piVWDL/YMEZoytDkD/T87Ee3Tbipu5DpSzd0D/zuSOXCSlA36hcb+nCqceBf8Meu5dVT5oVRAsWFhm96EqgnowPM3T2/tuFp+UqCTQzI1GJES4n4syQ7RGSvjMy8vxQHLjw0XCKOTfuaFAaIJ+3LIyYgGziJ5x9I/TxE1OBw8gzoK+Sk6DkpRy/UKnsERxy8cBNEGlTDgyAeHK5qABGlthfyYqMkf+l/CNP/Xi6BULIHh/tbOlYv76Af56u5y1dc7LtLOwhHOZfXsiR6DwTyiBIgZegMQum5KwdrZqVFePA/6bswG4YuXV36GvocqF9xd8xsL1GvUG9puvaRx3bWXysRrRRJ+39JHwa8Pj80PAePmzdeAWqJLaspb75a3ZBT9NiufS8UZjdwEgmd80saM4Nl/kriu5dvA9lC4Jdblii2uIWZLbXVrOWRLqsF76wmo7BHGMadWk253HxbyRxJ4Dx4LEdenZ0Xv2dS9KtzJ1avmVI5d3JPbycsbl577TCRjptUYGeLD068/ZGtf9025io/lAEJuwKvunAVa8m0l3XVFqLD6P20Iv5Hj8is4iwxgNIZ57fxvh15n42gC9wNz85bUznvyORFa7b9VrPw/ilhCCKuUG3Xbx68FUhvaYzrSkRyGStL3mw2B6xAEqhcMRxzK+PTr+h6CZQVyeUKSUc3uSUoAfbX16CuAb9HvLzOQxE5s1FNbJP0KkB0B4hnFzagI/udKQUB4rdEAgLAIKo/NfEvs6TS30ut0tnJO32RVy5Q8YQPjpstpM3684T+F2C8L9knok6hHyb8eRZO/L2UL5uIA+qVCF+WT5v1l4nn4nzZvpQfJsTLPLNSvlY4ihtw2Mo74DBSHqLlS/SgY1WMaETD7Dx0fNvk1RseHQ83lPc/EbiyAzDouz+ufXppGVdfUqXKUlpqmmfMElETGqq7ktvXjju5MTEK1kXPf98yz9j4B/TthDteXcGGAm5f7YRyr+oS2WsOXonXUddSBwR07BCP3xkiJrQ81UbUVElESBfCOszaBATQWo7HD/v5CGG7iEqba+CfwH4JaltM5KIA86cRjjpL5bX57Y6chqzMDG9bfl6b12EwBcyeHIfd39bNZ3ncfCTPwxfJy2/zZhiNQVLkp1fwufiSRW1x4tlC+BdvW3SeaiqJDNPZ3Xadvxv+x0iCiI/sNrPNaLRZrPYMi0WnVhpx3J5KxCEQ7+Mz7VYh87JyVovN2Ne2CPShePq3iFa3dgyLZOSaM51l/t0t/zEijHVeLsYSfsFlIF48JMCFf2LqRwpPA4A6mwB9MI6D5xIM1Z+AuM8l+wZ82/Tx658ar4AUZlN47194NgvrXMSPC/7ujJamoHsO+vjWt4R55q0naXbVvMNJ6i0838Arkh/OW5WefZLUrejjOfAOmsIT2yXP5kw/G1kqyAgjwyzAjyxi/EeWCv55OSqgXp28Eg+QT1BPHxxKAuDN1WqNARxTaoU2nEGtBg1fKl1IKBPQpvxlcRQzjuohFCTBSmYEvWTiF4z0vxRYimCXgtcsKKhcEyc2AsK3iAeSJdyNxwFNnD/AE5CsXCp1FHt9YMjpPeWzh7eESh1FsszyrlXtPQ/O+MOtj4wssY1SZYAt6MKN31015obfzh5z/cwxZeXZZdaeq0cu9Ve3j+lqLpHRDy0c3lkI5EYHs8lqNzUXNdBxkScjy6aQjvtq1zO+6KS2jSOusI+c3RVceLSn94tJ1ZH9bi/YfxsAu2a/vG+8v2rKtCuW7oq+NLktuyLTacorn92g1iw4zNCmbJktj51aZACG2kvWgDG8bgDRbwwUp7fZPEZMQgcEHBQ9j7aLFzwjLxhhyTsyGYQ5PzYAl8wPcC78M9j4+z/1eIMSBhZ5oxqg100ISF1Dwm3roHrytIxgyAY6yic3mEoDQ0YkOqafmEMzEx6c/8QEvawie8nYpfsPz1q0LF/sMWZ5YyUt2XP3zxqsSQY+eqBWqvDZoUIGvQUqlbcxKs3QL23j1D1dGWKVPcvKljVcX7BnxsqmokWPTwPzTixeYDPPb2t6cPnsu+euNEwqG1daH7Bthx9fqrBPp2TJAm5p+DIvzF6ilOsialKcC0e1ajx5EeMKNe4lrpADMImUrqxwonnNW7Rh5fbtK8HmWU9d8xZZ05JUenWjSQiaL16QPnWjb9Gr6NvukdeAuy6jCwbZM1I8Qj9lBkLtMPU0gBkwHdA7wEA9MwbqZo5eUiNAqVunaYcbLnkYft4nqiT4RKw/zZgqItIz/J2riUK6SE3GRiCMyXvg4owmhncEQOwbeL+AhF7IxFNIJvExFwuQ5ZP0G5xCeDXeVXEYj/5AKkSA3sIheA69GPSYT9U0EU8bSx8+9IS2FCwGmShz6mwDy57aWlH5oEpqVBk82gcnnAJiUIHOop3o7IiGGnRQ63rB1H/3SXQWcCeXTL+aV98ECXCs80NB+dKlB7Jx00+CREPmeecp9OOpG77orN4NEltn7nkeiE+ZUb+pWCnLAMykzVtPAf6++E6TH6iegnKsh98HHFgCuNhj/mJ/gqgA2NGi3MF23Rzfc3IIjh91mdxalwbBokW8zBle4lPaczmulqaYSFyJiZpJl5ZDM4KMOKOJ9Zj655g8bBPrdzB+h/8fdn0yobfb9TChB/eTwkkKHxKWmZJHgA2MBrZHJLNNQDZIzgzlIGHKyDChhCM/Hy4I2u1Be3Jc8s5EZNiwSEI4wnGLFoIXh6+oqFgxHJXN4NeFq3Df+xGvC/lEdkwJQ57/dph3FvCzwi6CPsWbKrgES1kXcbdSBQFhCARFTdwHAsL8UQ54QtNLMIuIU5zHQt5krTcU8sKnvUBs6s8mYfraLvTeA4+g0w+Z6HdIQv+yLhB4YOvXD84CS0PeLZot76M37voezZ36FMndiuOg6O7vwJ6pp7wh+LeGcLghPHr0qJDHG7ru7ofQ24+kwzMf+gps9YQ6O+9Cb3ywBUjfDXn5GCj6YAv6/t0Qsd2QXaCY71Lf1ob7/3Iex5w2aYmMjLfV/v86uxLAJqr0/94cmSRNc02ONm3TJmka7AU0TdMibVNOEaRQFpC7IJVzoVCBcqyEQqGKrlAOgUKpshwWRNm/iggrBVflFlBcQdDiKiuuuv51XaFNHv/33iRtyuV/bTMzb96beTPv+r5vvve935eJi0YwnMwE2k/GUkflZDUi4SsyYoFOHZfrssmKl2RJQWHlvFkUt0mCQcfjxIijU1wyR8h1HhbuTCHGQ9UU7QuVJXN00WQu4Kk9OksM0RnJgwDDHpg9Z3tKHnrGyjrtqlQHOr1Vn6jpPr9/F9FQPGmZXW1Oik7J65FgcNfHPnhzy9/rNuB2ykXHK5wqVVqv4Y+WJGiFGK2Gi++Vn+Qb4WS5pxRyGzM4p+QlW7b8kVxVwisJaTmzh46NX5Cf8MC2koFLj8oYWeYDPQuKnX1LtuYXp6jHNgY2zCxfd4lbjt40wnd65gbKB8lTYxlBYKsnoBFKHo677Aj8nLzjGYs6ZmDSoAm+HLTlgcLVf2p8CTJpXQbou3qieKs9O17kOEYUk+MtppjMmt6JFVaVilGeYQS1p9/mwXabTzVZp7J/NsJbtsjysLVggQaemTKoLHhQJ9MunrG67KEJ/aajPpqCsWN861Hg7RmpeTC63V8j4X8WkEOx6QF0RzIzR4j7EUbnvGdKjpMonRhXii2JqkYh1TkxZhNnSyIA8wVQxOIrq/tA/VLViwfeembtruiTfL47r1BpyXGNYz4+o94Vjj/FFWSReI+rqxf+PjFDpolnhgW3BJ8bysfqZBlWa4ZMb5alwxVQZCYM52N0fKa16QZgtPWvf33s6D/3Nvj6zJ/T5aGeyStvjxjwxgfH8uUqPVNYyGmi5d3fP3f2/Xy5Ws3bkoo4tVrR/T32ZAshW2G+wpfiekkAD0pWlSFQ9pQIj5x0pFPP02oYZvZhz5w54RO2mfoGbShHP9AA/lA/u+LLauiv/nIF6kLOiT9RbXkDDbCrkJZe80N5QysFE+fx53j1l7BfYBW+S69mpY930FDOlkvrTLiIdSYF1FII3G6By0v42EIYJBvHhZPudub0tBkE0bQQxvttEk1iXMyJmPh4vItDpiJPda/4+F5VniKjF4vuY2PijTmm+JjxWLj3GplHenjQDU8PHEwsPOzp8WRNaevZ0pqaUq5LaQ3zxmySC9mhFk9RdnaRp8VkukbirrUd527yFBV50ONG42upRcyW9rtrIn1PMpg1E2tFWxy0kX/FHSsZ16BLa65DLzqEHkKHoBcuZqY2zg345jY2zmWb5jbCo4wr8DyW/gHsxuxoj28k3cHchgP5CBgKJoJpoBxTv4WgCqzA339rwUawFdPCnaARvAz+DA6Ct8ER8FdwRsJYZukqVDY0W2uTkU2iayxd5MtK6AtiNokSQ7TNlkM2CfZCpPi9eI8L5oA4BdJY4sfBq3PJBGgzO3G2BIFUcHhZaIZe0QZzeDf+yDGbWJsXaqDbI5h0BnKfWefVmWFnKOi8LpnTwZuNCsbp0vGCG5rFzgzuOGyKS8F4WNEhQqEQUo+CUdCcIwcWw2k21nCEtcXEalG5LluHZuksZjt3xBDLnjHExhneh/ZznN1s0cNntDla+Ec9Sf3AnCQcFGMDLliNGp9DjXCyPjUwCjJnGV7GHDoYrWV2oUVvM6noa2068wrkfDqrKYA+KYTztEVoKHxEHijn4TC0ksNjpdaHTm45sm0XB+W7rRvhA59/zp0+LGPnaYNrLqC/4VbtFFxYA6+lDoXO75ex0CT/hJej/jAn0LQN/3H5Xao6fcCwu5c8wjNLjIkc2qxQGPDhFbncbNcbDAZbjFwFi7lEg0IBJ/KJBnwNfBRyMFkDpynlMTYj/rPFyFRoE7SZotXoEJcYOA0noHotG88plDzawLDwfTjqqJyBTceOaVt/J+N7FU+BSnTah1bFwxz0EqfB1++T8bCyByzaceUv++SsBzJQG70PRkeh41tgt28/k6MbDx9nVM1X09C76Ah0a55FX15JhzWtDK4KI64xWAk51BUdgP/5HF0LPIW+gnF//3sfOEXJ4bbuFNxcwkr6Eup7gGDuAToM2gYFbvAIw7/9S5lrsHT/0sC/l+7nzr7qy0Txmb6iDPbRpYfh4y09lr399rLk1+BLBEMdGTJ7SnRnKR53fwBK6umd6GM4wBIBBssvPBZ/8Qn+2IR64JROeGIVkwO8MsHE7kDvIPs8w2lYerYEThzTFy0MvjtzTEE5k4O2VTA6+FgnNbqMfPMmsR8c2bui7vfw4VPGQUX81PkoAR0ZMfwsHH/66aKRs4JH0MKHRsIqpltrdziRMcwdPakSFaBP1Yasot+ZT8P+MzYseyVEI+SA+4XaGhOKLkoehugMSRoUc7C4neNOIpobNhzPkg9eLNBIzvIE6pnKnGMWyuqWPnnsyBdr135x5Jh/EV/XDJnrmzZdhwz63yVntiza/W7z+vXN7+5eNGX+qyNP7Nnzo/fDtRs+e7Vh9qJzc85t33OCq2yV541au3ZUHndj8dSprTvyitjgwGefHRhg09Id06fb2ZXc83U9AkPcWY9P4yV5ejvm0aPa1naM/u/10HectwO8RiC+UBpjhfxlq2GMwUp36EuroYyE8Q5dvnuYr/l2R2vyjm+fnKJ8YdbjAzNg6l/WBdaoV+zZzlwxWq3GoINcyIhkH/yO7OHLZI+G0PBUGl6P9zt2fPvtjifezbK7Zr3Qc/83awLreuTaPgXEmzS4VSCT1ulIPuKM1EucjfqJywBdgQfkgXxQBHqDfpg+D8YUegQYA8bjr/ppYCaoAPMwpV4MqsFT4FmwGqzD1Ho7uIBHBFEBOeneYzOSlXLm2zevWYjciDukyA0SfLL7bCTdbfTeI9VM7G+Mwl02Z4RrR4ilrBwTmcJzOQRTaL4YylIkXwMms9ubKSPKaxkI3AjK+c0tx5h1zLaWY4Od4b9CzRRNIt6s9DhZUzxFM6USb/NDx0DRbGiogMYKaJhNf6Fw65vOihdvj/9hYEVbxs5gzZI331xStX8/uujq3qu7q3y8hU3sOS7Bm+vwDir2PtDJaO+nwVJ5ssKqtphUCV6PTQZaVqG9sKSIrQ9MQJf4TsePo48rKtZG/J6zd7ap7Zl2skXbMu32TFvnsZn2TLKN6WzP5M4l3/aH9hRXdIypKE7ukCf+OfZXSW8L/5D8gIKHorGruzBVaUpPzOwswCiDMUZmMneDGjaKlTFKc0bYv0EFHn/PUqyJ1Nu+Ze+2EDDkDpgIHOO2NtfXN7Oovnnr1mbYXJhx45OMwsIM+Eq6j/nRlw5fySiENSStnlxYPquey205lF5YmM73IvsXXsD7kDzaCdOvi/hIcJv4MOiS0I4TT1XNIe+1RJoAkVBNIcMwjzTJETadl27I4ddDbu35S/VDNy2YPXnS7MoNQza9c3brxE+G8knxcrWxexn6eXH11RUw7kzlhfrV1cu3j3y8esk46ySdIVH3t63dpuVnyTXG2AdfHXsYcXnsgVPv1m455x1dWb2scrR3/8Ytb/XP5xJEozrG8+j0Jz5efhpqh6/cuWvl8IVl4/xOq0E/0LD1rDPdadSIcT37tb7tTNCEZFriR56sXUgDw2mtp0n+MBMgNW17EFKAE4KDEsbS50JHkXp4oH4NbNTRrE3ywOFlw7oVK0c+xzniaJloL6gvZhoIXpNs1iXT9ZNJsa3fQoGPYTeQSwLAkmJyMvtOSeoTbawmihMgt8+SwnbMhQSCkYbsbBMCMU52gZAQo9R2IViBFrW7F8d6cTBan2hyCintuPqk3JL9/xCpt2nCZvvU+5oZmrK88LeWmQcp2eIa/Ng1WNgUISDQ3CC45jeXWqyFTpKAPq0Vcc63gEjys//3ZRdu3cLyNaRyPPEEqqLr2nCSqGBtLtGmYGxOG0sFe6c0ZU49ixBMBFvWR8xM9BG8DscE+zx1CrWgZjaIY/4SOMo0nkLfMzPhSNSMWuAI6Fcz2oBP300f8GkZNfTrbZzfxoLgJGZjIMBy1N9H4B/MRhqA/scR0HfWBYDBwAFdZz0DyJpRXEjhO8yL+oHnQQNm0EQ9L7goFPb9d15pIe49d87Ii3QsmTbXuYmLUyOBIiU+Ilhd+9W/9khodPIewmYEETeyf+SQIfoc/ZAhOHzPHbnofulDWjIirvKd1xms+/zSZJB/n9WgOy9G5nTfx0EfJEuKEO4vUobivbb7pM4nqSUloljig07YzZKv7AbTyEJ0dKGbMt+C3kOf6nFiyX0z4SwS9Gd4/PFhXzI9wVwAbCKuSVEDYcgBpT3kh1JyIanAzJjFAhX1LS6XFmG3jT3W63ITQisRW7owIkvytU0BZU2CW7CyjK+0lFSEvxQChlEO6zNeiBfG9xmmJD5gmCj8Y1V8dJROb45OzhSV0VGqqGilmJkcbdbroqJ5FRtFr4Iv1s4PrJ9fq0jIHOwZ+bGJOXpe1zs5Kd06vft0a3pScm/d+aNC3MclhSNStbDJ7yNLsnx+Jotj5CLDiHKG0ytYQeBscovcIKg4LtZhj421O2I5TiUYcKSNEwRWEdg2/+mn5+fPfmrGeMtln09l6JSbl1qwKtVZUOBMXVWQmpfbaXDxVdvihuco32xRKDAtG4Al1nKCMKJmyGqJFDphQlWhjggFeErb+nMrY7a5iUbUS+faSXcPKSewqG4mc07E5s0mubqnavdOMOcOXbs8qOpVdXDSC99pVcXFfUtnOONugd5t6vABA2IWvk6Xn/kHLn8sPYEBFUM/s6bwXEpM0GboM1uMKyOJ/1OxdNVzJ258VPGqGb3nMOh1azqnLzt0iPdD+aGOunf470mHawYIUV82zHy/77RBX1bFucIa8riMGZjUxWUlmPwZVrM1fspsET/WkrKnMM5yMdi6emZiUiL+oiMK+EO3q91D/pV4P9+MZdxiwgltBjWTlMlI2B0mYmSj5gQrhzuil67hoUsmWUlnFWlx0rbWIMQxeP/C0z+jlp9PL+zxRGVfSzrHJ1q6leZ10kC2y4Sqwx8drprQhYWaTnml3SyJPJdu6Vv5RA/kT7H4pCVVuPb6e6Df07+U+toqLMtPTMwvK+xanONQ4axwhsq4GLOWi0p0WA0Ga3KiilPHmOOUOCecn8qRU8wWI+LMzC/NS5DN078/3CV55WLafObEUespG4EPlLA0XTbc/nFQ8iUjmk0Q8zwCkCsTojBHILMKthBWJWMuYIkiHcCuvJJjg6v12frgKl4LZ5kcfJ+3ZXaT0S6rzdUzrknouZlyh5gRteSvMke6nX8CjZiEmguWzByUnDxo5pKCZsQAmYLlgrv0emYko48zwthgmcFiMcCvyh1wz+q6KzoDwz+ASpi9BkucEXWpW335Rlo/X3Kyr1/aDYK3859bgPPLNFiecROtEBB07nCvblPYteH+6jIhQz3fcvpkMmeEN86PLl5sbgeokYLrf1qiilp5tboRpu4NAKnHkTkgtukKOoD7UsSlkjkRp90L9XXLr9VqxFr0jV6a1SF3kXf8Cf1E7RqIh0oAw0bjYY0nNOkFGRBkySn4xQB+NzOZ/PKAyGk2HujVsMGSQh+GxgwfqjKhupZt6PyHs3SxcGrLKqiYDLehVrU+2P+bC3WjRtVdkA48fkksR0jGTDI0ejL6ZVULWh+rm/UhzNzWAstMqqHD4Ta9+mZz2z3kELZT4QjdzsdfgJjS6I24eo33qV5PCqDWaJgaEXMeK6EolMrg8kmTdFq2YPU+XOEScgQtjRS8iC7uW729UCbqehvl6U3fNqXLE/J1oqww+Kdw3aOb3F8fQv/cSVpgWcStNLgsBva9shMaHyrdp40zTK2qmmqI0+5rvdzedFJfoXyoB3j4jnbIhwTU7lfKR7oPaSKT2UnGfrhQHGmdpHDrPHm38q37qUqlhUkn515+FNxajptpRXuxQm1Eu9PyW/XH715A3MF0dadgmlndow/Sq1tLI4oWsuEhZZtGUEx+S9lI23ldQhsssrGDRj7MKLxtaMo5SR0rgf/1SsCN/GR2mcKi7KKEiikzaQomUEkksXrqsFDCyLx6WFv/G2uJdIPj9Z6ZSihPl8cpK8qX054ffq9pY0MJj+U++eQdtYjFTtJHBKVMD3JBAegPSujsjYmR3Y2s2O5BYEgPwRzVBDADdcm0bBYVVlIoU4Y6oq/TwSwcJqvaiMgiQ6olP62PoCYI3EaKdNB1+szu3WdOQ1dgDRZrmiombdo0qYJyXebmU/PmPcX4DpBSHKAJ7L/q0Pd7tR3I1J3E6gzMEI0VFUYRfRg8sRROX7oUrUX/ydv+RfPOPKnKsbDOaYqLNSiAxUpaT3k7m7/Ynodluls30XWB9Lc+YBAYC6bfrc9h0ZrSNVcm65XYqrPNRrNj5zSHBhTMpkKMuQA6DSYzrjXgJTNiAFcXWZVIO7EVyjr0tAGFpkT04/7zaFvPOWfXDJIrnv5ixdxPR9D+E3ndg/Y3amkkAtyLl/Av4P9sOwvVJz1XVuCKZJtwBeII9COO4Eoj+9q47/1voIAl4dJh2aRtn81b8c06jTQGfZFXPTxOUYHjUIMhJbZlJ93tCpgTrOdhobOyFt0MCFhCkmLQERyD6/BfobmPh3EdjgaT71OHuM/8vwgTdYUiVSXte1QM9KZoSe9r63Na3OX8t1VhEvrl9c/fmrPyjjFbd/MP5lgY/VbzW7V7j4dGJfAT2AJcnDllmzaVzTnA5kmdj552HKe47l5DgTj7ooGaOwer7gC0v3gQahLsi8bT0fiPUDeEM0n3y9sJm3bmBdq6HvLtzAOR/PTBCG+GEq0S2gwphTu4qrfdoDKEbedmIq1vZE2h+vhqs0KRiYnR5sfuymcfCyd/RfitXp3UgXESn7Jhdntts9KCL1VsmXhXtvtYKHnzV/SxrR05N+FX6H8p/82jPihNwGhgODolrM/xetobX5BAp6Syhcvf3l2YEIFm/Behay/6uLH66sooQnHoxGnDaOklTuDvxxNSwUZLCTfbaS+7KAYduLITfVMramqvLa+D+r1aqTm3j5buOS6Kx6WMRm+XSuPvwJ9u/UJtirhQm5kogrv01hFklABNJOP20icTEc3s9oRnUG1htKwOUpHwnSiiS4o4RYZSeQBdos9dqpqx6+qC19CHu5TyPTD2xR3Q9oZ2qUT3Ug4olRn48tbBHSyUmJdx2dElKe2ARCjnfbxx5Bsw9/UXoWEbxz2P/rNNij8gPS3wckcjpnZZieiYJDm0DbgOkK8KLDa3iQtE5KRvhBliqL2DQkRtUyEzuJnalU8kHG2O1DGCJyPrtB3bLTnCp6fO7SU2rm4vNR0kIMZuXRsY3W5HVpYDzX/f+lXnXgsKK2q2HTsWtJE43p/laGl0ZDFDvl6bmws/UDTU7v46+DJOGObIAqFn8WTMDSAzXkT+50zUuak9xaWWaSA1XNR729Xrks03R5WjFEBdmqXNZPsv2/PepHqobUwpmbtnUq/lCcrkKKspNcupVmjSRgpJkwfl93p0pM87trBrXPSnrx5D/45NiLWaGI27OM3E7p5++I+Ts6tRQ+mbjUse8eW61qQ9llbSL4tXbkkc/RUcaS2aPKR2cEGPloLCIVnDJs+Z0vnlIyj4fnpJlzRF/EhWUzLt92H98wJcd8vxd0MBQUIBEuJJGHkBfwVLfs9M1PoQ0gJR/CIcwUZi5wpekz4MbUYw9ERqbMSesrzEMzrtjM551RNWDXgIsn1j4mUxgqiRy7N68/ZeueNUSk354uu7Jk7cdR3hQ2Xxj/WYREPzicrKE+j6xnca0bia6ZUnmKxHFbzSlubyFGTUlk8bLh/V08RGGw01grGfUpD383m6CKg4lAk+LD65/fojk/nHSSboDLp+onLscrjuzx9uxDlTPzIhTDMJh0ikumAXroXOAHhtHpsOb21LkiLC+jb8Eur/hm7EpBeQTZaUOyg3d1BLTMSJ9NtwExCzabL5KdjNBprAJYVDjHRlMIkoBhnQvm+bX6SYCGlkhQxIStESrEIYEkcjrEbCBN0WthahTtSNYaUR7w5/jRALVOKBbxw6epV4AWB8sDRaFKNRgxjdFC2iBnICS+lJMGlANgS9JhEVkGBMyulTli8aip//8/PFBnHZ0M+zBzD+kCMBtPXOu6V8g03ZA77Penq+p2zOxHE9O+ny8Z+udEB22AZa+IWWzw2GRZSP9EQNlNAuJHxBT3YhHWIEwZXqbsie9FeemHolwsiCmpJoMakg1V7O128qFDWKaLXi5k2FOhoHSeC2mKDxdadziNHcocCb4MObDGJ8QrzF2Vbe4Of3zqQ95nVnjsc5hG0v/IIFOllcpi3HGWEHK6FdAEjFHskkP9SE4a5na7OcgYDw6FugBRNbquxhfOs/Wr/+I37Y1a1BHz4lvNcHCSmm+GnIRFLX+7ZexWF/29oLOudpolYtrNtoE2xGm4L0dZfN42apiYvokIGmJvS9F/ZDZagO/5fBfl70fVMTBLAnXAB7IjD9ExlAviZ/U6CJJQfYFMTFavXBdv/dIMQPHIQ+c4Q+Y/mENlWh5L472a0PezDF5eaIDN/62gWt1tTabNJqL7zWimWsH6jTKJwzpvUHqwP+qjf5E5pOnTQn+DerWH/1wZYm6iMKniWwUR39WknPpmP7Xs9nIp4PfvVdvpB8o/qCzSySXKf6yGqTu76W5FIWHiWvFYw8ASF+0orpUDWZhSYYq26dAzqIXzASpoZeZGbKJrpFm9ERsqYQQPDJ5TL03k/ohHxF8FpvY3q6sTfTcEX2OVPfV0xPM5w6d46tb13NzQxMOHfOpWdn6dPPBU6ynnPp+sBzevyk/wOhyVJFAAAAeNpjYGRgYGBhOOrlrL8rnt/mKwM3OwMIXHj29C2M/v/230tOTjYhIJeDgQkkCgCXOA8JAHjaY2BkYGBj+M/AwMDJ8P/t//+cnAxAEWTApAEAeXcFNwAAAHjajVSxbhQxEJ29Xdt7goMIFCmQJg0KoFwDCoIGbZESikikiQQIiTZAC5XFZ/A1/BCiyOkgXIJ5XnvWY99GYaWn8Y5n7DcznqktfSJ8kyOi6nuAoXHUgK6SnEBWFqAA8v6PIY+C9HvSv1r08rX2/mLPrz2U19l8D/gM/Qe20exDwR66Ozr+w/cR24zB+zXh7M7b1fF/uDudA51bKOYpbBpxv7kKkUtDScp4Ta77oiR3sa8nbgUu34Djy2IbQRfP2fcwST9TdsjdicyNyvLufijrXFanII97WBFHyGXnbdoi35wHcT/VVuQh1WSIW0rmqtL+HnLyVovaKJvdh7jdb8n5UljaDHG7RV572ojyEHlYxtw0ej22mxlvS9uG8570Oya+G4+JpW4S88a6puCK9f2s76w7N7T+ZoyIX9SukzlRqa86k+IbOOKsOTBDDV56gNscGP75jib2i87fb6fLN128F9GbvNfF/pvhfx583RlqcME5ifKNzxPwDv7KwyAPOnJBTDPuT/iuILfG6h3zcp17n3WVzfL9hPUNuRXw56r+ErW7V3+FrN254j4ieirqf9cD+h6aIeYZsN3HIN6wsutxxHsP+h4CT4+YT+5ntqsGP6K9KIc5BPtdTcMcxPt0Ts5U2G6O9MrQq96mLeYx9/402J/gjI9Yv5L112I+mCU9KPsp8uTZ3Mc1lT5JbrRJv8P1mP7/bPTYZc6i12bijoPI5xnWt4Kd+wtcCM7Psb+lx2ZejgZ4j/3DyPth1L/w+mnkXgJ2NzyUHT+/LSTnV9ShX4PjtbaIvy3Wbbm2fLZz+L+txZnhjfu56E7DXA4zsp+V6GX4/Ax7bon1L1Xw5veoBf+24MR76fsHSvurTgAAeNqdwm1MkgkAAGA0JTRM8gwJURFNkeFHiKTOOCKPFM2QeahknJIior5SmnmI5AxJkcw48wrJ88yQI+IUyXOcKRE5jjzzDJU559zN3ZxzzDnmmnPudttt9//2PCAQCP6/hIMYICXI6UX1EnoZvEHeGceij7X5ZPnM+xz4ZvhqfA/BBWDbcd7xQ0gBRAnZ8Mvy0/od+TP9e/xXT+BPqKCZ0CaoI4AUUBIwfDLzpDYQHpgbqIEVweSwP0/hTg0FYYNavyAEewdzgs2ng08DcARcDj8MSQoRh1hC3AgkgotYPVN0xorEIdnIQeQCcicUHUoOBUJNoZsoOIqCEqAmUNthmWGysN3wrHB7REJEW4Qt4hBNRANoLXonMiNSEWmNXMeQMG2YnShOlDbqKFoWvXwWf/avmLYYa2xMLCNWFLuFpWDLsTrsRhw8jhaniVvDUXBaPAQviQ+ON8Q7E/AJ8oTVRExia+J6Eu0c4pyYACaICHrCTjIv2ZTsIrKIPcTFFFKKKmWXxCDNnmed96RK09BpQJo5HZxecIF7wUiGkdPJUvL+l2IKjEKmNF1kXZyioqgy6jB16xLz0lGm8qt0GpzWRNu6zLpszWJnubPp2fxsWfZwtjXbQ8fSafRy+lSOTw4rZy9XmLt4hXdlMA+W15vnviq8amEEMXiMnXx2fl/+BhPBbGTuFSi+trOYLHMhtDC1UFq4UIQq4heZikHFuOKCYkmxtniXTWaL2Tb2/jXmNUNJeElGSWvJ0XXKdd0/OAiOjLP5Da0UW6opo5fJy/a4Bdwh7twN9I3uck75RPnnCnxFX8URL4E3WQmpFFUa+XC+lO+s8q6iVrVV2QQ+AqKALXBWQ6uBamO1p4Zb86TGXYuu5deqah0ABOAAQ4CnjlTXWucQBgvVQs/Nxpvzt5JuSeox9QP1jgZiw+ht3G1dI65Reyfmjr4p6VuKKFUkEbmasc1As1kMF9PF4hZ0i73lSEKTCCUqiU3ivku7C9z1tFnvce9tShlSlXS3ndje0L4tS5dJZFv3DR2tHeZORqesc01OkEvkU13wLkWXW8FQOB7kPpjsbuo2dH9+yHrY04PocT/qfbSrTFUKlBPfIXv5j7GPV/vWv199CjzVqzAqukreD+6v6V9TZ6onn7GemQdwA6IBzw/hg5xBy4/KoaAh5dDhc+bzxWHe8OILwYtpDVqjHvEeoYw4tc6fpLpoHUc395L7ckcfo+frl19BX00bQAbAoDcc/KwdhY6Bx0rHnhgJRt44bLxh3G3Svsa8Nk1Qf1mbNJvlvx5MLb9JfzMxnTqtmUmdaZ2xWdQWs2X7bfRbrZVk7bBa3jHfzdoo77HvTbP+s/LZaTvCTrOr7Qe/iR1mx+GHhg+7c8Cc9ffRedb8wcfGj+sLSQuKBc8f3EXwoupTxieXM9dpXMIslfxLuXSw3Lg8t5KxYl7Zd+FcfJfZtf+fvwHfCeXDAAB42mNgZGBg0mWSZFBnAAEmIGYEQgYGBzCfAQANVgC3AHjajVE9SwNBEH13iZooBAUJYnWFWFjkW8RgEwwRrERFwULId4LJXbxLFFtLa3+Bv0D8FRo7C8HGH2Ll27lNvEgEWXbn7c7MmzezAJbwhhCMcBTAObePDcR587GJGPoah5DArcZhrONR4xms4V3jWeZ+aTyHB2NR4whWjCeNo1g2hhovYMP41DiGHTOi8TPiZlHjF6TMM42HgHmn8SvmR/gjhFXzHrtw0MMNXLTRRIvKLRRRxhXqRHtENmr0W8gghTQ22ZGFAjpcViDLk1udtk6rsmuMLJHdpreAa/E56NIecjcxIEOZsX51D3kyTI/Pj6tn/oiwfnGeiAqP6lS0hRy1ZLlTgT6mMx2QoU4OT1hVRw3hshjpyNkSz7S5qZwq0ahqg9YN5DR0RfXiskaNr13Re8G3Ml/7wldhHz8sNq26VUWlP1NXWCaVT/u1lnD2OMEk16h+eSIvIZX+H5nkhHw1tnScxCnPSqC7tEz6mJwD3vZFjZp7RnwZ1shii2cO24H/cKR3xVEaMx3hkhxtetRPdL4Bq7mLeHjafVcFlCPHEVX9EcPe7ZntgOMwOFnBSKvw2ecLM6MyGrU0cxrNzA0sXBgcMNtxmJmZmZkdZmZwmKmqZ7S39/Je7u1VV/f0766u/lXVKqDwf//hTBZUQMEgFC4qnF84r3Bh4ZLCpWRQkUpUpgpVqUZ1alCTWrRCewoXFC4rXEx7aZX20XF0PJ1AJ9JJdDKdQqfSaXQVuipdja5Op9M16Ay6Jl2Lrk3XoevS9ej6dAO6Id2IzqQb001ojdrUoS71yKQ+DWidhnRTuhndnG5Bt6Rb0a1pP51FZ9MBOocO0m3otnQ7uj3dge5Id6I7013ornQ3ujvdg+5J96J7033ovnQ/uj89gB5ID6IH04geQhaNyaYJKZrSjBxy6RDNyaMF+RRQSIcLK4UrCy2KKKaEUtqgTdqibTpCD6WH0cPpEfRIehQ9mh5Dj6XH0bn0eHoCPZGeROfR+XQBXUgX0cV0CV1Kl9GT6XJ6Cj2VnkZPp2fQM+lZ9Gx6Dj2XnkfPpxfQC+lF9GJ6Cb2UXkYvp1fQK+lV9Gp6Db2WXkevpzfQG+lN9GZ6C72V3kZvp3fQO+ld9G56D72X3kfvpw/QB+lD9GH6CH2UPkYfp0/QJ+lT9Gn6DH2WPkefpy/QFfRF+hJ9mb5CX6Wv0dfpG/RN+hZ9m75D36Xv0ffpB/RD+hH9mH5CP6Wf0c/pF/RL+hX9mn5DV9Jv6Xf0e/oD/ZH+RH+mv9Bf6W/0d/oH/ZP+Rf+m/6AAAmCgiBLKqKCKGupooIkWVrAHe7GKfTgOx+MEnIiTCmfgZJyCU3EaroKr4mq4Ok7HNXAGrolr4dq4Dq6L6+H6uAFuiBvhTNwYN8Ea2uigix5M9DHAOoa4KW6Gm+MWuCVuhVtjP87C2TiAc3AQt8FtcTvcHnfAHXEn3Bl3wV1xN9wd98A9cS/cG/fBfXE/3B8PwAPxIDwYIzwEFsaFK2BjAoUpZnDg4hDm8LCAjwAhDiNCjAQpNrCJLWzjCB6Kh+HheAQeiUfh0XgMHovH4Vw8Hk/AE/EknIfzcQEuxEW4GJfgUlyGJ+NyPAVPxdPwdDwDz8Sz8Gw8B8/F8/B8vAAvxIvwYrwEL8XL8HK8Aq/Eq/BqvAavxevwerwBb8Sb8Ga8BW/F2/B2vAPvxLvwbrwH78X78H58AB/Eh/BhfAQfxcfwcXwCn8Sn8Gl8Bp/F5/B5fAFX4Iv4Er6Mr+Cr+Bq+jm/gm/gWvo3v4Lv4Hr6PH+CH+BF+jJ/gp/gZfo5f4Jf4FX6N3+BK/Ba/w+/xB/wRf8Kf8Rf8FX/D3/EP/BP/wr/xH4NTgwHDMIpGySgbFaNq1Iy60TCaRstYMfYYe41VY59xnHG8cYJxonGScbJxinGqcVrh8krqu2tr+9ek7aytLdt23nbytpu3vbw187aft4O8Xc/bYd7uz9rOwaw1s9Y8eHZp5llxXFqksWuXY2VFtlNV/obyglCVHO4nxTixorqIkVqEyXYxjVVUnLreopo4I8+KZgqJUxHdjRME83KkFsGGqhwJgsXI9au6DdLECKbTcuzOfMsz7GBWSiIrdopOsFBVXk2NLC8pJu5CFaPAmjQnwabvsSLD1WWnnIbSlFx/HGw1Qs/aHtluZHuK9wyVlVQiNY1U7FTFFL2gF9jz4tSzZnU+zCR0Al/F9Y3ASxdqxPY0clU2qOV6GpYPR3YwUZWxpVsjsWZF/h8Xx0Ewr4pYWNG8FEaun5Rta6EiqzgN/IS/e5Oym1ieazcStZWMHOXOnKSu9U13kjh1/jbzR56aJs1MtZWfqKiRdSKZ3sr0Q2mcuNPtopyl4foTnpfhcl3PXZlathKvjTbciQoqoWsnaaTKofJt16svrHAktqqobE1kQfYw26kmblKKHStSJdtR7CG5sFacqHA0tuz5phVNWlOLXbjsVZdKUZxeCi0mARMjCCvTIJLxpp6+7OiV8k5JHVJ20uR9NqIgO3lr2dFHqIVeGo+EGPWF6+dqIyOR1ivBXLetw6lilzBOejXXnwYZLLYjpfzYCZJWDstYUWNgptXHlr9UrSgKNrUdjUzVVlQzPQ3z75oR2kXCIzYndo+o0TT1vGauxwvL8/aqLduzFtaOWcWZO2XaKWvKMRKpqtpmovFt1ESxvSBWTfaK7/ozPb3E/vRV1bY85U+sqBxZ/iRYVOxgseA7Li+sma+S+tJfabjjR7GP6Z5sKpW0+OhhKEvaHLDNKbNQRdlmjbwjJuzJDd9QUeLyjqt53wki9wjT1/JqzPiR7cgiyaabMC8zxwvJhPa618wYP+LNo8CYq+0iR3NczU2OW4mTLsYx2yqO25P3xFzp13QicSxv2tDZJcspFVmXU0TLc/05kzNzZSVMY4eP1eLoURGnjZF81inE9cu8eehsN2Yu7zDOeJBlB9mm5DEP2LkS7w1N8WyjlWXwZt26npBtlh+4ujxrOVu5nPqSQxpMMQ4acfDEiOLYcCYcFMwGdp5fHCvPa9ji1ik7NlF1h68xZ7dWhW0VraVhNiIOWc0YOTrKyH3HjOgF9hwzlIbHgmQZzuHBWJU3I455p5RY8Twuc0blw9TGkaumthWrujA3i5PSLArSsCi+LDFH0kl5rCzOEIadJnyVIXvFCjV/3LAYWxuqLv4ZjZmoc2ZcEDGfkHoIPM4YkTtXicMLzpxaynkp4mUV2zD2VInJ69qc5lN7XuNrZHs4fFd2NO32vbMgmPFpdnJAY9dAie9QbdfZ5yrRJ61mKgdppuggzlTtK44bTuF+XIyDiKnGIosTrXHwLCubLipLrhXZ7oAJM2P+T7gkjQO+40ZOZ5nZXFJbVxTO8QnzNVGcW6vM7Yjv3uKMyDmv7okRI6bFuMp5ge95pla0i0fLCtbMuhlTK1JKR4tJg7GJE8TsfFWNUzeRG6sKqWTHss2FSimuMAFnZamUupzIEcap6/EJZlUGh1J3ataCd7d8W5UXajJ3k8ZUTOJdDik2XXEdcLI0NV2bqtVJkI6FSr54XPPvmJGMf8cMMf+O6cu56kfxjV3A6hJRPzq1MlHxnMtG2bNCaTRRkuYiGMu5dDQ2c35rvtUPp0GSL52p2T3zaX2fD5PNLXH197breSpgx+zdnQJ1GtqVBqVfV1uhRGF2u3yBYTavFC/YkNKUQ8s3FsqpzDjXhdakymlO86IqbwmZuaIVnVqYzZMq+5irl+UV5cVQ0wbxNG/PTr7LExAnk6xY6Pgt2pzFagKRcjmXZMOsLI46g2FjV2VpxClHJIevGzKt03Gm8bT1bjNMjxwR37nKVlxAZUFx48pRdaQfXo6rvMnKstBk1qxKiRoxm5hDqRs77NGIk52SwrNlTzhB5dUmXj5a9h0zkieo3UOSoHb3dYJykoVnFu047paZm5wy61lWzUnMmYmr43HMdzeM3XhXQVrdGVsWreKou9at6aefrF/mQbZ35ejLQZfrLOXrwaqnOOiFhpmiGZt9188IndZ1SIy67U49K/m6InDYc1hLZcsIcpQpTF2ZPTBUGhmzcWik8cRw/cg4FG4bUTo25tGmMU5seSar2k7M7tV5aCzECB1rzBE56naG+3ZGE06n4zRR8Yn/OyTHai2HdQ5ePaanc9Oo2+2JMJvbXE3TcX6QvFPc4muubS2fHjtzxJmVCZOFH9Wc0vmlt0xe/Mbi/iyyFuUpv2nnkWFNOHW0B+2VsZuMU3F9fg2cCb2okTV6aI8X8EZHq1RrVz8Nd38VXu3d1c9CfJOfucFmXOEwjQJ3UuLASLfYTHcstSWeb4dc1II0ig+nfGP8HGCqBOUpp2VPFUVIAU/c0IhTudp+vyI/btwNZYzTGTbmpU3ljgP+4eDzH08YdFb02UfLw8tY74TMpGXN9bKaI5/6K5Mg2fVBxtabG/wU51eptolH1tdaWWXTA6NAhjoiuiLkrtZNEX0RAxHrIvTPtoPt/Wvsa6vNI0MBDbvSFdBQQEMBDQU0FNBwWBz11jRiLFpHRFdEL1vtrLZ0+iIGItZFCKi9JkK+tgXUFlC7J8IUIYi2INqCaOe2nb2Wt4LrCK4juI7gOoLrCK4juI7gOrJTV3bqCqIriK4gurl5B/IFD7TzVs8QaDff8oCZt/28lcV7skZPdu3Jrj3Ztac/CLSXQ8+RjU3Z2JRlTQGZAjIFZArIFJApIFNM7QuiL4i+IPqC6OemHtTfBNQfsL+n+puABvJhIKCBgAbyYSDbDGSbQV8m26LJNgNBrAtiXRDCi57woie86AkvesKLnvCiJ7zorQtiKIihIIQUvaEghr3itKOvkUnBmv4gCCGFyaRg0RbREdEV0RNhiuiLGIhYFzEsbShOm6wKJUxZyxRKmEIJUyhhCiVMoYQplDDbsklHNukIQshgChlMIYMpZDCFDKaQwRQymEIGU8hgChlMIYMpZDAlfZldQXQF0RWEcMDsDv8LkjDfogABVME1bQAA) format("woff");
font-weight: normal;
font-style: normal;
}
.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-genderless:before,.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}
<$list filter="[tag[$:/tags/FontAwesome]]">
<$transclude>
</$list>
</pre>
The following tiddlers were imported:
# [[$:/.tw/footer]]
# [[$:/config/Navigation/openLinkFromInsideRiver]]
# [[$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen]]
# [[$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home]]
# [[$:/config/Tiddlers/TitleLinks]]
# [[$:/DefaultTiddlers]]
# [[$:/emojione/0023-20E3.svg]]
# [[$:/emojione/1F1EB-1F1F7.svg]]
# [[$:/emojione/1F393.svg]]
# [[$:/emojione/1F3A8.svg]]
# [[$:/emojione/1F41E.svg]]
# [[$:/emojione/1F466.svg]]
# [[$:/emojione/1F467.svg]]
# [[$:/emojione/1F4BB.svg]]
# [[$:/emojione/1F4CF.svg]]
# [[$:/emojione/1F4D0.svg]]
# [[$:/emojione/1F4DD.svg]]
# [[$:/emojione/1F4E6.svg]]
# [[$:/emojione/1F506.svg]]
# [[$:/emojione/1F600.svg]]
# [[$:/emojione/1F6A6.svg]]
# [[$:/emojione/1F6A7.svg]]
# [[$:/emojione/2600.svg]]
# [[$:/emojione/2601.svg]]
# [[$:/emojione/2611.svg]]
# [[$:/emojione/2614.svg]]
# [[$:/emojione/26C5.svg]]
# [[$:/emojione/2705.svg]]
# [[$:/emojione/270F.svg]]
# [[$:/emojione/2744.svg]]
# [[$:/fonts/FontAwesome]]
# [[$:/Import]]
# [[$:/isEncrypted]]
# [[$:/language]]
# [[$:/languages/fr-FR]]
# [[$:/n0d1/ui/ViewTemplate/summary-date]]
# [[$:/plugins/danielo/keyboardSnippets]]
# [[$:/plugins/felixhayashi/hotzone]]
# [[$:/plugins/felixhayashi/tiddlymap]]
# [[$:/plugins/felixhayashi/tiddlymap/graph/edgeTypes/anime]]
# [[$:/plugins/felixhayashi/tiddlymap/graph/edgeTypes/voir]]
# [[$:/plugins/felixhayashi/tiddlymap/graph/views/Emoji One]]
# [[$:/plugins/felixhayashi/tiddlymap/graph/views/Emoji One/filter/nodes]]
# [[$:/plugins/felixhayashi/tiddlymap/graph/views/Emoji One/map]]
# [[$:/plugins/felixhayashi/tiddlymap/graph/views/Jean]]
# [[$:/plugins/felixhayashi/tiddlymap/graph/views/Jean/filter/nodes]]
# [[$:/plugins/felixhayashi/tiddlymap/graph/views/Jean/map]]
# [[$:/plugins/felixhayashi/tiddlymap/graph/views/Live View]]
# [[$:/plugins/felixhayashi/tiddlymap/graph/views/Live View/filter/nodes]]
# [[$:/plugins/felixhayashi/tiddlymap/misc/defaultViewHolder]]
# [[$:/plugins/felixhayashi/tiddlymap/misc/meta]]
# [[$:/plugins/felixhayashi/topstoryview]]
# [[$:/plugins/felixhayashi/vis]]
# [[$:/plugins/kixam/moment]]
# [[$:/plugins/kixam/timeline]]
# [[$:/SiteSubtitle]]
# [[$:/SiteTitle]]
# [[$:/styles/VELCS]]
# [[$:/themes/tiddlywiki/snowwhite]]
# [[$:/themes/tiddlywiki/vanilla]]
# [[$:/view]]
# [[2D]]
# [[3D]]
# [[À propos]]
# [[affiche-install-party-velcs.pdf]]
# [[Atelier]]
# [[Audacity]]
# [[Audio]]
# [[BiblioBox]]
# [[Bibliothèques]]
# [[Calendrier]]
# [[Cloud]]
# [[Cozy]]
# [[Crowdsourcing]]
# [[DEEE]]
# [[deux]]
# [[Discourse]]
# [[Docbook]]
# [[Docker]]
# [[DomainePublic]]
# [[Dotclear]]
# [[emojione]]
# [[emojione-icons]]
# [[emojione-list]]
# [[EPNAdmin]]
# [[ERP]]
# [[Exemple 1]]
# [[Exemple 10]]
# [[Exemple 100]]
# [[Exemple 1000]]
# [[Exemple 2]]
# [[Exemple 20]]
# [[Exemple 200]]
# [[Exemple deux]]
# [[Exemple un]]
# [[Exemple unix]]
# [[FirefoxOS]]
# [[flyer-velcs-paris12.pdf]]
# [[Freeplane]]
# [[Git]]
# [[GnuLinux]]
# [[Graphisme]]
# [[Greenstone]]
# [[HandyLinux]]
# [[Imprimante3D]]
# [[InfoGnuEureka]]
# [[Inkscape]]
# [[Jean]]
# [[Jeux]]
# [[KanoOS]]
# [[KeePass]]
# [[LibreOffice]]
# [[MindMapping]]
# [[Node.js]]
# [[Odoo]]
# [[OpenFoodFacts]]
# [[OpenSCAD]]
# [[openshot.svg]]
# [[OpenShotVideo]]
# [[OpenStreetMap]]
# [[ownCloud]]
# [[PAO]]
# [[Personnalisation]]
# [[Piwik]]
# [[RaspberryPi]]
# [[screencasting]]
# [[Scribus]]
# [[scribus_splash.png]]
# [[Sécurité]]
# [[SimpleScreenRecorder]]
# [[Sivi]]
# [[SonicPi]]
# [[Steam]]
# [[SVG]]
# [[Terminal]]
# [[TiddlyMap]]
# [[TiddlyWiki]]
# [[Timeline]]
# [[Timeline avec filtre sur un prefix]]
# [[Timeline avec groupTag]]
# [[Timeline avec Tag]]
# [[tmux]]
# [[Tous]]
# [[Tupi]]
# [[uMap]]
# [[un]]
# [[VELCS]]
# [[VELCS#00]]
# [[VELCS#01]]
# [[VELCS#02]]
# [[VELCS#03]]
# [[VELCS#04]]
# [[VELCS#05]]
# [[VELCS#06]]
# [[VELCS#07]]
# [[VELCS#08]]
# [[VELCS#09]]
# [[VELCS#10]]
# [[VELCS#11]]
# [[VELCS#12]]
# [[VELCS#13]]
# [[VELCS#14]]
# [[VELCS#15]]
# [[VELCS#16]]
# [[VELCS#17]]
# [[VELCS#18]]
# [[VELCS#19]]
# [[VELCS#20]]
# [[VELCS#21]]
# [[VELCS#22]]
# [[VELCS#23]]
# [[VELCS#24]]
# [[VELCS#25]]
# [[VELCS#26]]
# [[VELCS#27]]
# [[VELCS#28]]
# [[VELCS#29]]
# [[VELCS#30]]
# [[VELCS#31]]
# [[VELCS#32]]
# [[VELCS#33]]
# [[VELCS#34]]
# [[VELCS#35]]
# [[VELCS#36]]
# [[VELCS#37]]
# [[VELCS#38]]
# [[VELCS#39]]
# [[VELCS#40]]
# [[VELCS#41]]
# [[VELCS#42]]
# [[VELCS#43]]
# [[VELCS#44]]
# [[VELCS#45]]
# [[VELCS#46]]
# [[VELCS#47]]
# [[VELCS#48]]
# [[VELCS#49]]
# [[VELCS#50]]
# [[VELCS#51]]
# [[VELCS#52]]
# [[VELCS#53]]
# [[VELCS#54]]
# [[VELCS#55]]
# [[VELCS#56]]
# [[VELCS#57]]
# [[VELCS#58]]
# [[VELCS#Install Party]]
# [[Vidéo]]
# [[Web]]
# [[Wezer]]
# [[wiki]]
# [[Xmind]]
# [[XWiki]]
{
"tiddlers": {
"$:/language/Buttons/AdvancedSearch/Caption": {
"title": "$:/language/Buttons/AdvancedSearch/Caption",
"text": "recherche avancée"
},
"$:/language/Buttons/AdvancedSearch/Hint": {
"title": "$:/language/Buttons/AdvancedSearch/Hint",
"text": "Recherche avancée"
},
"$:/language/Buttons/Cancel/Caption": {
"title": "$:/language/Buttons/Cancel/Caption",
"text": "annuler"
},
"$:/language/Buttons/Cancel/Hint": {
"title": "$:/language/Buttons/Cancel/Hint",
"text": "Annule l'édition de ce tiddler"
},
"$:/language/Buttons/Clone/Caption": {
"title": "$:/language/Buttons/Clone/Caption",
"text": "cloner"
},
"$:/language/Buttons/Clone/Hint": {
"title": "$:/language/Buttons/Clone/Hint",
"text": "Clone ce tiddler"
},
"$:/language/Buttons/Close/Caption": {
"title": "$:/language/Buttons/Close/Caption",
"text": "fermer"
},
"$:/language/Buttons/Close/Hint": {
"title": "$:/language/Buttons/Close/Hint",
"text": "Ferme ce tiddler"
},
"$:/language/Buttons/CloseAll/Caption": {
"title": "$:/language/Buttons/CloseAll/Caption",
"text": "fermer tout"
},
"$:/language/Buttons/CloseAll/Hint": {
"title": "$:/language/Buttons/CloseAll/Hint",
"text": "Ferme tous les tiddlers"
},
"$:/language/Buttons/CloseOthers/Caption": {
"title": "$:/language/Buttons/CloseOthers/Caption",
"text": "fermer les autres tiddlers"
},
"$:/language/Buttons/CloseOthers/Hint": {
"title": "$:/language/Buttons/CloseOthers/Hint",
"text": "Ferme les autres tiddlers"
},
"$:/language/Buttons/ControlPanel/Caption": {
"title": "$:/language/Buttons/ControlPanel/Caption",
"text": "panneau de contrôle"
},
"$:/language/Buttons/ControlPanel/Hint": {
"title": "$:/language/Buttons/ControlPanel/Hint",
"text": "Ouvrir le panneau de contrôle"
},
"$:/language/Buttons/Delete/Caption": {
"title": "$:/language/Buttons/Delete/Caption",
"text": "supprimer"
},
"$:/language/Buttons/Delete/Hint": {
"title": "$:/language/Buttons/Delete/Hint",
"text": "Supprime ce tiddler"
},
"$:/language/Buttons/Edit/Caption": {
"title": "$:/language/Buttons/Edit/Caption",
"text": "éditer"
},
"$:/language/Buttons/Edit/Hint": {
"title": "$:/language/Buttons/Edit/Hint",
"text": "Édite ce tiddler"
},
"$:/language/Buttons/Encryption/Caption": {
"title": "$:/language/Buttons/Encryption/Caption",
"text": "chiffrement"
},
"$:/language/Buttons/Encryption/Hint": {
"title": "$:/language/Buttons/Encryption/Hint",
"text": "Affecte ou résilie le mot de passe pour la sauvegarde de ce wiki"
},
"$:/language/Buttons/Encryption/ClearPassword/Caption": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Caption",
"text": "résilier le mot de passe"
},
"$:/language/Buttons/Encryption/ClearPassword/Hint": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Hint",
"text": "Résilie le mot de passe et sauvegarder ce wiki sans chiffrement"
},
"$:/language/Buttons/Encryption/SetPassword/Caption": {
"title": "$:/language/Buttons/Encryption/SetPassword/Caption",
"text": "affecter un mot de passe"
},
"$:/language/Buttons/Encryption/SetPassword/Hint": {
"title": "$:/language/Buttons/Encryption/SetPassword/Hint",
"text": "Affecte un mot de passe pour sauvegarder une version chiffrée de ce wiki"
},
"$:/language/Buttons/ExportPage/Caption": {
"title": "$:/language/Buttons/ExportPage/Caption",
"text": "exporter tout"
},
"$:/language/Buttons/ExportPage/Hint": {
"title": "$:/language/Buttons/ExportPage/Hint",
"text": "Exporte tous les tiddlers"
},
"$:/language/Buttons/ExportTiddler/Caption": {
"title": "$:/language/Buttons/ExportTiddler/Caption",
"text": "exporter ce tiddler"
},
"$:/language/Buttons/ExportTiddler/Hint": {
"title": "$:/language/Buttons/ExportTiddler/Hint",
"text": "Exporte ce tiddler"
},
"$:/language/Buttons/ExportTiddlers/Caption": {
"title": "$:/language/Buttons/ExportTiddlers/Caption",
"text": "exporter ces tiddlers"
},
"$:/language/Buttons/ExportTiddlers/Hint": {
"title": "$:/language/Buttons/ExportTiddlers/Hint",
"text": "Exporte ces tiddlers"
},
"$:/language/Buttons/Fold/Caption": {
"title": "$:/language/Buttons/Fold/Caption",
"text": "replier le tiddler"
},
"$:/language/Buttons/Fold/Hint": {
"title": "$:/language/Buttons/Fold/Hint",
"text": "Replie le corps du tiddler"
},
"$:/language/Buttons/Fold/FoldBar/Caption": {
"title": "$:/language/Buttons/Fold/FoldBar/Caption",
"text": "fold-bar"
},
"$:/language/Buttons/Fold/FoldBar/Hint": {
"title": "$:/language/Buttons/Fold/FoldBar/Hint",
"text": "Barres optionnelles pour replier et déplier les tiddlers"
},
"$:/language/Buttons/Unfold/Caption": {
"title": "$:/language/Buttons/Unfold/Caption",
"text": "déplier le tiddler"
},
"$:/language/Buttons/Unfold/Hint": {
"title": "$:/language/Buttons/Unfold/Hint",
"text": "Déplie le corps de ce tiddler"
},
"$:/language/Buttons/FoldOthers/Caption": {
"title": "$:/language/Buttons/FoldOthers/Caption",
"text": "replier les autres tiddlers"
},
"$:/language/Buttons/FoldOthers/Hint": {
"title": "$:/language/Buttons/FoldOthers/Hint",
"text": "Replie le corps des autres tiddlers ouverts"
},
"$:/language/Buttons/FoldAll/Caption": {
"title": "$:/language/Buttons/FoldAll/Caption",
"text": "replie tous les tiddlers"
},
"$:/language/Buttons/FoldAll/Hint": {
"title": "$:/language/Buttons/FoldAll/Hint",
"text": "Replier le corps de tous les tiddlers ouverts"
},
"$:/language/Buttons/UnfoldAll/Caption": {
"title": "$:/language/Buttons/UnfoldAll/Caption",
"text": "déplier tous les tiddlers"
},
"$:/language/Buttons/UnfoldAll/Hint": {
"title": "$:/language/Buttons/UnfoldAll/Hint",
"text": "Déplie le corps de tous les tiddlers ouverts"
},
"$:/language/Buttons/FullScreen/Caption": {
"title": "$:/language/Buttons/FullScreen/Caption",
"text": "plein-écran"
},
"$:/language/Buttons/FullScreen/Hint": {
"title": "$:/language/Buttons/FullScreen/Hint",
"text": "Entre ou sort du mode plein-écran"
},
"$:/language/Buttons/Help/Caption": {
"title": "$:/language/Buttons/Help/Caption",
"text": "aide"
},
"$:/language/Buttons/Help/Hint": {
"title": "$:/language/Buttons/Help/Hint",
"text": "Afficher le panneau d'aide"
},
"$:/language/Buttons/Import/Caption": {
"title": "$:/language/Buttons/Import/Caption",
"text": "importer"
},
"$:/language/Buttons/Import/Hint": {
"title": "$:/language/Buttons/Import/Hint",
"text": "Importe des fichiers"
},
"$:/language/Buttons/Info/Caption": {
"title": "$:/language/Buttons/Info/Caption",
"text": "informations"
},
"$:/language/Buttons/Info/Hint": {
"title": "$:/language/Buttons/Info/Hint",
"text": "Affiche les informations sur ce tiddler"
},
"$:/language/Buttons/Home/Caption": {
"title": "$:/language/Buttons/Home/Caption",
"text": "accueil"
},
"$:/language/Buttons/Home/Hint": {
"title": "$:/language/Buttons/Home/Hint",
"text": "Ouvre les tiddlers par défaut"
},
"$:/language/Buttons/Language/Caption": {
"title": "$:/language/Buttons/Language/Caption",
"text": "langue"
},
"$:/language/Buttons/Language/Hint": {
"title": "$:/language/Buttons/Language/Hint",
"text": "Choix de la langue pour l'interface utilisateur"
},
"$:/language/Buttons/More/Caption": {
"title": "$:/language/Buttons/More/Caption",
"text": "plus"
},
"$:/language/Buttons/More/Hint": {
"title": "$:/language/Buttons/More/Hint",
"text": "Autres actions"
},
"$:/language/Buttons/NewHere/Caption": {
"title": "$:/language/Buttons/NewHere/Caption",
"text": "nouveau, ici"
},
"$:/language/Buttons/NewHere/Hint": {
"title": "$:/language/Buttons/NewHere/Hint",
"text": "Crée un nouveau tiddler avec pour tag le tiddler courant"
},
"$:/language/Buttons/NewJournal/Caption": {
"title": "$:/language/Buttons/NewJournal/Caption",
"text": "nouveau journal"
},
"$:/language/Buttons/NewJournal/Hint": {
"title": "$:/language/Buttons/NewJournal/Hint",
"text": "Crée un nouveau tiddler journal"
},
"$:/language/Buttons/NewJournalHere/Caption": {
"title": "$:/language/Buttons/NewJournalHere/Caption",
"text": "nouveau journal, ici"
},
"$:/language/Buttons/NewJournalHere/Hint": {
"title": "$:/language/Buttons/NewJournalHere/Hint",
"text": "Crée un nouveau tiddler journal avec pour tag le tiddler courant"
},
"$:/language/Buttons/NewImage/Caption": {
"title": "$:/language/Buttons/NewImage/Caption",
"text": "nouvelle image"
},
"$:/language/Buttons/NewImage/Hint": {
"title": "$:/language/Buttons/NewImage/Hint",
"text": "Crée une nouveau tiddler image"
},
"$:/language/Buttons/NewMarkdown/Caption": {
"title": "$:/language/Buttons/NewMarkdown/Caption",
"text": "nouveau tiddler Markdown"
},
"$:/language/Buttons/NewMarkdown/Hint": {
"title": "$:/language/Buttons/NewMarkdown/Hint",
"text": "Crée un nouveau tiddler avec la syntaxe Markdown"
},
"$:/language/Buttons/NewTiddler/Caption": {
"title": "$:/language/Buttons/NewTiddler/Caption",
"text": "nouveau tiddler"
},
"$:/language/Buttons/NewTiddler/Hint": {
"title": "$:/language/Buttons/NewTiddler/Hint",
"text": "Crée un nouveau tiddler"
},
"$:/language/Buttons/OpenWindow/Caption": {
"title": "$:/language/Buttons/OpenWindow/Caption",
"text": "ouvrir dans une nouvelle fenêtre"
},
"$:/language/Buttons/OpenWindow/Hint": {
"title": "$:/language/Buttons/OpenWindow/Hint",
"text": "Ouvre ce tiddler dans une nouvelle fenêtre"
},
"$:/language/Buttons/Palette/Caption": {
"title": "$:/language/Buttons/Palette/Caption",
"text": "palette"
},
"$:/language/Buttons/Palette/Hint": {
"title": "$:/language/Buttons/Palette/Hint",
"text": "Choisit une palette de couleur"
},
"$:/language/Buttons/Permalink/Caption": {
"title": "$:/language/Buttons/Permalink/Caption",
"text": "permalink"
},
"$:/language/Buttons/Permalink/Hint": {
"title": "$:/language/Buttons/Permalink/Hint",
"text": "Remplace l'URL dans la barre d'adresse du navigateur par un lien direct vers ce tiddler"
},
"$:/language/Buttons/Permaview/Caption": {
"title": "$:/language/Buttons/Permaview/Caption",
"text": "permaview"
},
"$:/language/Buttons/Permaview/Hint": {
"title": "$:/language/Buttons/Permaview/Hint",
"text": "Remplace l'URL dans la barre d'adresse du navigateur par un lien direct vers l'ensemble des tiddlers présents dans le déroulé"
},
"$:/language/Buttons/Refresh/Caption": {
"title": "$:/language/Buttons/Refresh/Caption",
"text": "rafraîchir"
},
"$:/language/Buttons/Refresh/Hint": {
"title": "$:/language/Buttons/Refresh/Hint",
"text": "Rafraîchit la totalité du wiki"
},
"$:/language/Buttons/Save/Caption": {
"title": "$:/language/Buttons/Save/Caption",
"text": "enregistrer"
},
"$:/language/Buttons/Save/Hint": {
"title": "$:/language/Buttons/Save/Hint",
"text": "Confirme les changements apportés à ce tiddler"
},
"$:/language/Buttons/SaveWiki/Caption": {
"title": "$:/language/Buttons/SaveWiki/Caption",
"text": "enregistrer les modifications"
},
"$:/language/Buttons/SaveWiki/Hint": {
"title": "$:/language/Buttons/SaveWiki/Hint",
"text": "Enregistre les modifications"
},
"$:/language/Buttons/StoryView/Caption": {
"title": "$:/language/Buttons/StoryView/Caption",
"text": "vue sur le déroulé"
},
"$:/language/Buttons/StoryView/Hint": {
"title": "$:/language/Buttons/StoryView/Hint",
"text": "Choisit le mode de visualisation du déroulé"
},
"$:/language/Buttons/HideSideBar/Caption": {
"title": "$:/language/Buttons/HideSideBar/Caption",
"text": "cacher la barre latérale"
},
"$:/language/Buttons/HideSideBar/Hint": {
"title": "$:/language/Buttons/HideSideBar/Hint",
"text": "Cache la barre latérale"
},
"$:/language/Buttons/ShowSideBar/Caption": {
"title": "$:/language/Buttons/ShowSideBar/Caption",
"text": "afficher la barre latérale"
},
"$:/language/Buttons/ShowSideBar/Hint": {
"title": "$:/language/Buttons/ShowSideBar/Hint",
"text": "Affiche la barre latérale"
},
"$:/language/Buttons/TagManager/Caption": {
"title": "$:/language/Buttons/TagManager/Caption",
"text": "gestionnaire de tags"
},
"$:/language/Buttons/TagManager/Hint": {
"title": "$:/language/Buttons/TagManager/Hint",
"text": " Gestionnaire de tags"
},
"$:/language/Buttons/Theme/Caption": {
"title": "$:/language/Buttons/Theme/Caption",
"text": "thème"
},
"$:/language/Buttons/Theme/Hint": {
"title": "$:/language/Buttons/Theme/Hint",
"text": "Choix du thème pour l'affichage"
},
"$:/language/Buttons/Bold/Caption": {
"title": "$:/language/Buttons/Bold/Caption",
"text": "gras"
},
"$:/language/Buttons/Bold/Hint": {
"title": "$:/language/Buttons/Bold/Hint",
"text": "Met la sélection en gras"
},
"$:/language/Buttons/Clear/Caption": {
"title": "$:/language/Buttons/Clear/Caption",
"text": "effacer"
},
"$:/language/Buttons/Clear/Hint": {
"title": "$:/language/Buttons/Clear/Hint",
"text": "Remplace l'image par une couleur pleine"
},
"$:/language/Buttons/EditorHeight/Caption": {
"title": "$:/language/Buttons/EditorHeight/Caption",
"text": "hauteur de l'éditeur"
},
"$:/language/Buttons/EditorHeight/Caption/Auto": {
"title": "$:/language/Buttons/EditorHeight/Caption/Auto",
"text": "Ajuste automatiquement la hauteur en fonction du contenu"
},
"$:/language/Buttons/EditorHeight/Caption/Fixed": {
"title": "$:/language/Buttons/EditorHeight/Caption/Fixed",
"text": "Hauteur fixe :"
},
"$:/language/Buttons/EditorHeight/Hint": {
"title": "$:/language/Buttons/EditorHeight/Hint",
"text": "Choisit la hauteur de l'éditeur de texte"
},
"$:/language/Buttons/Excise/Caption": {
"title": "$:/language/Buttons/Excise/Caption",
"text": "exciser"
},
"$:/language/Buttons/Excise/Caption/Excise": {
"title": "$:/language/Buttons/Excise/Caption/Excise",
"text": "Effectue une excision"
},
"$:/language/Buttons/Excise/Caption/MacroName": {
"title": "$:/language/Buttons/Excise/Caption/MacroName",
"text": "Nom de la macro :"
},
"$:/language/Buttons/Excise/Caption/NewTitle": {
"title": "$:/language/Buttons/Excise/Caption/NewTitle",
"text": "Titre du nouveau tiddler :"
},
"$:/language/Buttons/Excise/Caption/Replace": {
"title": "$:/language/Buttons/Excise/Caption/Replace",
"text": "Remplacer le texte excisé par :"
},
"$:/language/Buttons/Excise/Caption/Replace/Macro": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Macro",
"text": "macro"
},
"$:/language/Buttons/Excise/Caption/Replace/Link": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Link",
"text": "lien"
},
"$:/language/Buttons/Excise/Caption/Replace/Transclusion": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Transclusion",
"text": "transclusion"
},
"$:/language/Buttons/Excise/Caption/Tag": {
"title": "$:/language/Buttons/Excise/Caption/Tag",
"text": "Utiliser le titre de ce tiddler comme tag du nouveau tiddler"
},
"$:/language/Buttons/Excise/Caption/TiddlerExists": {
"title": "$:/language/Buttons/Excise/Caption/TiddlerExists",
"text": "Attention : le tiddler existe déjà"
},
"$:/language/Buttons/Excise/Hint": {
"title": "$:/language/Buttons/Excise/Hint",
"text": "Excise le texte sélectionner vers un nouveau tiddler"
},
"$:/language/Buttons/Heading1/Caption": {
"title": "$:/language/Buttons/Heading1/Caption",
"text": "en-tête 1"
},
"$:/language/Buttons/Heading1/Hint": {
"title": "$:/language/Buttons/Heading1/Hint",
"text": "Applique le formatage des en-têtes de niveau 1 aux lignes de la sélection"
},
"$:/language/Buttons/Heading2/Caption": {
"title": "$:/language/Buttons/Heading2/Caption",
"text": "en-tête 2"
},
"$:/language/Buttons/Heading2/Hint": {
"title": "$:/language/Buttons/Heading2/Hint",
"text": "Applique le formatage des en-têtes de niveau 2 aux lignes de la sélection"
},
"$:/language/Buttons/Heading3/Caption": {
"title": "$:/language/Buttons/Heading3/Caption",
"text": "en-tête 3"
},
"$:/language/Buttons/Heading3/Hint": {
"title": "$:/language/Buttons/Heading3/Hint",
"text": "Applique le formatage des en-têtes de niveau 3 aux lignes de la sélection"
},
"$:/language/Buttons/Heading4/Caption": {
"title": "$:/language/Buttons/Heading4/Caption",
"text": "en-tête 4"
},
"$:/language/Buttons/Heading4/Hint": {
"title": "$:/language/Buttons/Heading4/Hint",
"text": "Applique le formatage des en-têtes de niveau 4 aux lignes de la sélection"
},
"$:/language/Buttons/Heading5/Caption": {
"title": "$:/language/Buttons/Heading5/Caption",
"text": "en-tête 5"
},
"$:/language/Buttons/Heading5/Hint": {
"title": "$:/language/Buttons/Heading5/Hint",
"text": "Applique le formatage des en-têtes de niveau 5 aux lignes de la sélection"
},
"$:/language/Buttons/Heading6/Caption": {
"title": "$:/language/Buttons/Heading6/Caption",
"text": "en-tête 6"
},
"$:/language/Buttons/Heading6/Hint": {
"title": "$:/language/Buttons/Heading6/Hint",
"text": "Applique le formatage des en-têtes de niveau 6 aux lignes de la sélection"
},
"$:/language/Buttons/Italic/Caption": {
"title": "$:/language/Buttons/Italic/Caption",
"text": "italiques"
},
"$:/language/Buttons/Italic/Hint": {
"title": "$:/language/Buttons/Italic/Hint",
"text": "Met la sélection en italiques"
},
"$:/language/Buttons/LineWidth/Caption": {
"title": "$:/language/Buttons/LineWidth/Caption",
"text": "épaisseur du trait"
},
"$:/language/Buttons/LineWidth/Hint": {
"title": "$:/language/Buttons/LineWidth/Hint",
"text": "Choisit une épaisseur de trait pour le remplissage"
},
"$:/language/Buttons/Link/Caption": {
"title": "$:/language/Buttons/Link/Caption",
"text": "lien"
},
"$:/language/Buttons/Link/Hint": {
"title": "$:/language/Buttons/Link/Hint",
"text": "Crée un lien wikitext"
},
"$:/language/Buttons/ListBullet/Caption": {
"title": "$:/language/Buttons/ListBullet/Caption",
"text": "liste à puces"
},
"$:/language/Buttons/ListBullet/Hint": {
"title": "$:/language/Buttons/ListBullet/Hint",
"text": "Formate les lignes de la sélection comme une liste à puces"
},
"$:/language/Buttons/ListNumber/Caption": {
"title": "$:/language/Buttons/ListNumber/Caption",
"text": "liste numérotée"
},
"$:/language/Buttons/ListNumber/Hint": {
"title": "$:/language/Buttons/ListNumber/Hint",
"text": "Formate les lignes de la sélection comme une liste numérotée"
},
"$:/language/Buttons/MonoBlock/Caption": {
"title": "$:/language/Buttons/MonoBlock/Caption",
"text": "bloc de chasse constante"
},
"$:/language/Buttons/MonoBlock/Hint": {
"title": "$:/language/Buttons/MonoBlock/Hint",
"text": "Formate les lignes de la sélection en bloc de chasse constante"
},
"$:/language/Buttons/MonoLine/Caption": {
"title": "$:/language/Buttons/MonoLine/Caption",
"text": "chasse constante"
},
"$:/language/Buttons/MonoLine/Hint": {
"title": "$:/language/Buttons/MonoLine/Hint",
"text": "Formate la sélection avec une police de caractères à chasse constante"
},
"$:/language/Buttons/Opacity/Caption": {
"title": "$:/language/Buttons/Opacity/Caption",
"text": "opacité"
},
"$:/language/Buttons/Opacity/Hint": {
"title": "$:/language/Buttons/Opacity/Hint",
"text": "Choisit l'opacité du remplissage"
},
"$:/language/Buttons/Paint/Caption": {
"title": "$:/language/Buttons/Paint/Caption",
"text": "couleur de remplissage"
},
"$:/language/Buttons/Paint/Hint": {
"title": "$:/language/Buttons/Paint/Hint",
"text": "Choisit la couleur de remplissage"
},
"$:/language/Buttons/Picture/Caption": {
"title": "$:/language/Buttons/Picture/Caption",
"text": "image"
},
"$:/language/Buttons/Picture/Hint": {
"title": "$:/language/Buttons/Picture/Hint",
"text": "Insère une image"
},
"$:/language/Buttons/Preview/Caption": {
"title": "$:/language/Buttons/Preview/Caption",
"text": "prévisualisation"
},
"$:/language/Buttons/Preview/Hint": {
"title": "$:/language/Buttons/Preview/Hint",
"text": "Affiche le panneau de prévisualisation"
},
"$:/language/Buttons/PreviewType/Caption": {
"title": "$:/language/Buttons/PreviewType/Caption",
"text": "type de prévisualisation"
},
"$:/language/Buttons/PreviewType/Hint": {
"title": "$:/language/Buttons/PreviewType/Hint",
"text": "Choisit le type de prévisualisation"
},
"$:/language/Buttons/Quote/Caption": {
"title": "$:/language/Buttons/Quote/Caption",
"text": "citation"
},
"$:/language/Buttons/Quote/Hint": {
"title": "$:/language/Buttons/Quote/Hint",
"text": "Formate les lignes de la sélection comme une citation"
},
"$:/language/Buttons/Size/Caption": {
"title": "$:/language/Buttons/Size/Caption",
"text": "taille de l'image"
},
"$:/language/Buttons/Size/Caption/Height": {
"title": "$:/language/Buttons/Size/Caption/Height",
"text": "Hauteur :"
},
"$:/language/Buttons/Size/Caption/Resize": {
"title": "$:/language/Buttons/Size/Caption/Resize",
"text": "Retailler l'image"
},
"$:/language/Buttons/Size/Caption/Width": {
"title": "$:/language/Buttons/Size/Caption/Width",
"text": "Largeur :"
},
"$:/language/Buttons/Size/Hint": {
"title": "$:/language/Buttons/Size/Hint",
"text": "Choisit la taille de l'image"
},
"$:/language/Buttons/Stamp/Caption": {
"title": "$:/language/Buttons/Stamp/Caption",
"text": "tampon"
},
"$:/language/Buttons/Stamp/Caption/New": {
"title": "$:/language/Buttons/Stamp/Caption/New",
"text": "Ajoutez le vôtre"
},
"$:/language/Buttons/Stamp/Hint": {
"title": "$:/language/Buttons/Stamp/Hint",
"text": "Insère un fragment de texte prédéterminé"
},
"$:/language/Buttons/Stamp/New/Title": {
"title": "$:/language/Buttons/Stamp/New/Title",
"text": "Nom tel qu'il apparaît dans le menu"
},
"$:/language/Buttons/Stamp/New/Text": {
"title": "$:/language/Buttons/Stamp/New/Text",
"text": "Texte du fragment. (N'oubliez pas d'ajouter une légende dans le champ //caption//.)"
},
"$:/language/Buttons/Strikethrough/Caption": {
"title": "$:/language/Buttons/Strikethrough/Caption",
"text": "barré"
},
"$:/language/Buttons/Strikethrough/Hint": {
"title": "$:/language/Buttons/Strikethrough/Hint",
"text": "Barre le texte sélectionné"
},
"$:/language/Buttons/Subscript/Caption": {
"title": "$:/language/Buttons/Subscript/Caption",
"text": "indice"
},
"$:/language/Buttons/Subscript/Hint": {
"title": "$:/language/Buttons/Subscript/Hint",
"text": "Met en indice le texte sélectionné"
},
"$:/language/Buttons/Superscript/Caption": {
"title": "$:/language/Buttons/Superscript/Caption",
"text": "exposant"
},
"$:/language/Buttons/Superscript/Hint": {
"title": "$:/language/Buttons/Superscript/Hint",
"text": "Met en exposant le texte sélectionné"
},
"$:/language/Buttons/Underline/Caption": {
"title": "$:/language/Buttons/Underline/Caption",
"text": "souligner"
},
"$:/language/Buttons/Underline/Hint": {
"title": "$:/language/Buttons/Underline/Hint",
"text": "Souligne le texte sélectionné"
},
"$:/language/ControlPanel/Advanced/Caption": {
"title": "$:/language/ControlPanel/Advanced/Caption",
"text": "Avancé"
},
"$:/language/ControlPanel/Advanced/Hint": {
"title": "$:/language/ControlPanel/Advanced/Hint",
"text": "Informations internes sur ce ~TiddlyWiki"
},
"$:/language/ControlPanel/Appearance/Caption": {
"title": "$:/language/ControlPanel/Appearance/Caption",
"text": "Apparence"
},
"$:/language/ControlPanel/Appearance/Hint": {
"title": "$:/language/ControlPanel/Appearance/Hint",
"text": "Personnalisation de l'apparence de votre ~TiddlyWiki."
},
"$:/language/ControlPanel/Basics/AnimDuration/Prompt": {
"title": "$:/language/ControlPanel/Basics/AnimDuration/Prompt",
"text": "Durée de l'animation"
},
"$:/language/ControlPanel/Basics/Caption": {
"title": "$:/language/ControlPanel/Basics/Caption",
"text": "Fondamentaux"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint",
"text": "Utilisez les [[crochets doubles]] pour les titres contenant des espaces. Vous pouvez aussi décider de <$button set=\"$:/DefaultTiddlers\" setTo=\"[list[$:/StoryList]]\">Conserver le déroulé actuel</$button>"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt",
"text": "Tiddlers par défaut"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint",
"text": "Liste des tiddlers qui seront affichés au démarrage :"
},
"$:/language/ControlPanel/Basics/Language/Prompt": {
"title": "$:/language/ControlPanel/Basics/Language/Prompt",
"text": "Bonjour ! Langue active :"
},
"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt",
"text": "Modèle pour les titres des tiddlers journaux"
},
"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt",
"text": "Tags pour les nouveaux tiddlers journaux"
},
"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt",
"text": "Nombre de tiddlers //shadow// remplacés"
},
"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt",
"text": "Nombre de tiddlers //shadow//"
},
"$:/language/ControlPanel/Basics/Subtitle/Prompt": {
"title": "$:/language/ControlPanel/Basics/Subtitle/Prompt",
"text": "Sous-titre"
},
"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt",
"text": "Nombre de tiddlers système"
},
"$:/language/ControlPanel/Basics/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tags/Prompt",
"text": "Nombre de tags"
},
"$:/language/ControlPanel/Basics/Tiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tiddlers/Prompt",
"text": "Nombre de tiddlers"
},
"$:/language/ControlPanel/Basics/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/Title/Prompt",
"text": "Titre de ce ~TiddlyWiki"
},
"$:/language/ControlPanel/Basics/Username/Prompt": {
"title": "$:/language/ControlPanel/Basics/Username/Prompt",
"text": "Signer les modifications avec ce nom d'utilisateur"
},
"$:/language/ControlPanel/Basics/Version/Prompt": {
"title": "$:/language/ControlPanel/Basics/Version/Prompt",
"text": "Version de ~TiddlyWiki :"
},
"$:/language/ControlPanel/EditorTypes/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Caption",
"text": "Types d'éditeur"
},
"$:/language/ControlPanel/EditorTypes/Editor/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Editor/Caption",
"text": "Éditeur"
},
"$:/language/ControlPanel/EditorTypes/Hint": {
"title": "$:/language/ControlPanel/EditorTypes/Hint",
"text": "Ces tiddlers déterminent l'éditeur à utiliser pour éditer tel ou tel type de tiddler."
},
"$:/language/ControlPanel/EditorTypes/Type/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Type/Caption",
"text": "Type"
},
"$:/language/ControlPanel/Info/Caption": {
"title": "$:/language/ControlPanel/Info/Caption",
"text": "Info"
},
"$:/language/ControlPanel/Info/Hint": {
"title": "$:/language/ControlPanel/Info/Hint",
"text": "Information sur ce TiddlyWiki"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt",
"text": "Entre le raccourci ici"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption",
"text": "ajoute un raccourci"
},
"$:/language/ControlPanel/KeyboardShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Caption",
"text": "Raccourcis clavier"
},
"$:/language/ControlPanel/KeyboardShortcuts/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Hint",
"text": "Gère la spécification des raccourcis clavier"
},
"$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption",
"text": "Aucun raccourci clavier spécifié"
},
"$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint",
"text": "supprime le raccourci clavier"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/All": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/All",
"text": "Toutes plates-formes"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac",
"text": "Plate-forme Macintosh seulement"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac",
"text": "Plates-formes non-Macintosh seulement"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux",
"text": "Plate-forme Linux seulement"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux",
"text": "Plate-formes non-Linux seulement"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows",
"text": "Plate-forme Windows seulement"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows",
"text": "Plates-formes non-Windows seulement"
},
"$:/language/ControlPanel/LoadedModules/Caption": {
"title": "$:/language/ControlPanel/LoadedModules/Caption",
"text": "Modules chargés"
},
"$:/language/ControlPanel/LoadedModules/Hint": {
"title": "$:/language/ControlPanel/LoadedModules/Hint",
"text": "Liste des modules chargés, avec leurs tiddlers sources. Les italiques indiquent que les tiddlers sources n'existent pas, le plus souvent parce que le module a été créé lors du processus d'amorçage."
},
"$:/language/ControlPanel/Palette/Caption": {
"title": "$:/language/ControlPanel/Palette/Caption",
"text": "Palette"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Caption",
"text": "Cloner"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Prompt",
"text": "Il est recommandé de cloner cette palette « shadow » avant de l'éditer"
},
"$:/language/ControlPanel/Palette/Editor/Prompt/Modified": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt/Modified",
"text": "Cette palette « shadow » a été modifiée"
},
"$:/language/ControlPanel/Palette/Editor/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt",
"text": "Édition de"
},
"$:/language/ControlPanel/Palette/Editor/Reset/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Reset/Caption",
"text": "Réinitialiser"
},
"$:/language/ControlPanel/Palette/HideEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/HideEditor/Caption",
"text": "Masquer l'éditeur"
},
"$:/language/ControlPanel/Palette/Prompt": {
"title": "$:/language/ControlPanel/Palette/Prompt",
"text": "Palette en cours :"
},
"$:/language/ControlPanel/Palette/ShowEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/ShowEditor/Caption",
"text": "Afficher l'éditeur"
},
"$:/language/ControlPanel/Plugins/Add/Hint": {
"title": "$:/language/ControlPanel/Plugins/Add/Hint",
"text": "Installer des plugins à partir de la bibliothèque officielle"
},
"$:/language/ControlPanel/Plugins/Add/Caption": {
"title": "$:/language/ControlPanel/Plugins/Add/Caption",
"text": "Ajouter des plugins"
},
"$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint",
"text": "Ce plugin est déjà installé dans la version <$text text=<<installedVersion>>/>"
},
"$:/language/ControlPanel/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Caption",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Disable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Disable/Caption",
"text": "désactiver"
},
"$:/language/ControlPanel/Plugins/Disable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Disable/Hint",
"text": "Désactive ce plugin au prochain rechargement de la page"
},
"$:/language/ControlPanel/Plugins/Disabled/Status": {
"title": "$:/language/ControlPanel/Plugins/Disabled/Status",
"text": "(désactivé)"
},
"$:/language/ControlPanel/Plugins/Empty/Hint": {
"title": "$:/language/ControlPanel/Plugins/Empty/Hint",
"text": "Aucun"
},
"$:/language/ControlPanel/Plugins/Enable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Enable/Caption",
"text": "activer"
},
"$:/language/ControlPanel/Plugins/Enable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Enable/Hint",
"text": "Active ce plugin au prochain rechargement de la page"
},
"$:/language/ControlPanel/Plugins/Install/Caption": {
"title": "$:/language/ControlPanel/Plugins/Install/Caption",
"text": "installe"
},
"$:/language/ControlPanel/Plugins/Installed/Hint": {
"title": "$:/language/ControlPanel/Plugins/Installed/Hint",
"text": "Plugins installés :"
},
"$:/language/ControlPanel/Plugins/Languages/Caption": {
"title": "$:/language/ControlPanel/Plugins/Languages/Caption",
"text": "Langues"
},
"$:/language/ControlPanel/Plugins/Languages/Hint": {
"title": "$:/language/ControlPanel/Plugins/Languages/Hint",
"text": "Plugins de langue"
},
"$:/language/ControlPanel/Plugins/NoInformation/Hint": {
"title": "$:/language/ControlPanel/Plugins/NoInformation/Hint",
"text": "Aucune information disponible"
},
"$:/language/ControlPanel/Plugins/NotInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/NotInstalled/Hint",
"text": "Ce plugin n'est pas installé"
},
"$:/language/ControlPanel/Plugins/OpenPluginLibrary": {
"title": "$:/language/ControlPanel/Plugins/OpenPluginLibrary",
"text": "ouvre la bibliothèque de plugins"
},
"$:/language/ControlPanel/Plugins/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Caption",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Plugins/Hint": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Hint",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Reinstall/Caption": {
"title": "$:/language/ControlPanel/Plugins/Reinstall/Caption",
"text": "réinstalle"
},
"$:/language/ControlPanel/Plugins/Themes/Caption": {
"title": "$:/language/ControlPanel/Plugins/Themes/Caption",
"text": "Thèmes"
},
"$:/language/ControlPanel/Plugins/Themes/Hint": {
"title": "$:/language/ControlPanel/Plugins/Themes/Hint",
"text": "Plugins de thème"
},
"$:/language/ControlPanel/Parsing/Caption": {
"title": "$:/language/ControlPanel/Parsing/Caption",
"text": "Parsing"
},
"$:/language/ControlPanel/Parsing/Hint": {
"title": "$:/language/ControlPanel/Parsing/Hint",
"text": "Ici, vous pouvez désactiver globalement des règles individuelles de parsing du wiki. Soyez prudent, car désactiver certaines règles peuvent empêcher ~TiddlyWiki de fonctionner correctement (vous pouvez revenir au parsing par défaut avec le [[safe mode|http://tiddlywiki.com/#SafeMode]] )"
},
"$:/language/ControlPanel/Parsing/Block/Caption": {
"title": "$:/language/ControlPanel/Parsing/Block/Caption",
"text": "Block Parse Rules"
},
"$:/language/ControlPanel/Parsing/Inline/Caption": {
"title": "$:/language/ControlPanel/Parsing/Inline/Caption",
"text": "Inline Parse Rules"
},
"$:/language/ControlPanel/Parsing/Pragma/Caption": {
"title": "$:/language/ControlPanel/Parsing/Pragma/Caption",
"text": "Pragma Parse Rules"
},
"$:/language/ControlPanel/Saving/Caption": {
"title": "$:/language/ControlPanel/Saving/Caption",
"text": "Sauvegarde"
},
"$:/language/ControlPanel/Saving/Heading": {
"title": "$:/language/ControlPanel/Saving/Heading",
"text": "Sauvegarde"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading",
"text": "Paramètres avancés"
},
"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir",
"text": "Dossier des //sauvegardes//"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Backups": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Backups",
"text": "Sauvegardes"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Description": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Description",
"text": "Ces paramètres ne servent que lors de la sauvegarde vers http://tiddlyspot.com ou vers un serveur distant compatible"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Filename": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Filename",
"text": "Nom du fichier enregistré"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Heading",
"text": "~TiddlySpot"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Hint": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Hint",
"text": "//L'URL par défaut est `http://<nom du wiki>.tiddlyspot.com/store.cgi`. Elle peut être remplacée par une adresse serveur personnalisée.//"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Password": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Password",
"text": "Mot de passe"
},
"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL",
"text": "URL du serveur"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir",
"text": "Dossier des dépôts"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UserName": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UserName",
"text": "Nom utilisé pour ce Wiki"
},
"$:/language/ControlPanel/Settings/AutoSave/Caption": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Caption",
"text": "Sauvegarde automatique"
},
"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description",
"text": "Pas de sauvegarde automatique des modifications"
},
"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description",
"text": "Sauvegarde automatique des modifications"
},
"$:/language/ControlPanel/Settings/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Hint",
"text": "Sauvegarde automatique des modifications pendant l'édition"
},
"$:/language/ControlPanel/Settings/CamelCase/Caption": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Caption",
"text": "Liens Wiki //Camel Case//"
},
"$:/language/ControlPanel/Settings/CamelCase/Hint": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Hint",
"text": "Vous pouvez désactiver globalement les liens créés à partir des expressions de la forme ~CamelCase. Pour que ce paramètres prenne effet, il est nécessaire de recharger le wiki"
},
"$:/language/ControlPanel/Settings/CamelCase/Description": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Description",
"text": "Active les liens automatiques sur les expressions de la forme ~CamelCase"
},
"$:/language/ControlPanel/Settings/Caption": {
"title": "$:/language/ControlPanel/Settings/Caption",
"text": "Paramétrage"
},
"$:/language/ControlPanel/Settings/Hint": {
"title": "$:/language/ControlPanel/Settings/Hint",
"text": "Ce paramétrage vous permet de personnaliser le comportement de TiddlyWiki."
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption",
"text": "Barre d'adresse pendant la navigation"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint",
"text": "Comportement de la barre d'adresse du navigateur lorsqu'on pointe vers un tiddler :"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description",
"text": "Ne pas modifier la barre d'adresse"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description",
"text": "Inclure uniquement le titre du tiddler cible"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description",
"text": "Inclure le titre du tiddler cible ainsi que le déroulé courant"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Caption",
"text": "Historique de navigation"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Hint",
"text": "Mise à jour de l'historique de navigation du navigateur lorsqu'on pointe vers un tiddler :"
},
"$:/language/ControlPanel/Settings/NavigationHistory/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/No/Description",
"text": "Ne pas mettre à jour l'historique"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description",
"text": "Mettre à jour l'historique"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption",
"text": "Instrumentation de la Performance"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint",
"text": "Affiche des statistiques de performance dans la console de développement du navigateur. Nécessite de recharger la page pour prendre effet."
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description",
"text": "Active l'instrumentation de la performance"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption",
"text": "Style des boutons de la barre d'outils"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint",
"text": "Choix du style des boutons de la barre d'outils :"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless",
"text": "Sans bordure"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed",
"text": "Avec une bordure"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded",
"text": "Arrondis"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Caption",
"text": "Boutons de la barre d'outils"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Hint",
"text": "Apparence par défaut des boutons sur la barre d'outils :"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description",
"text": "Afficher l'icône"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description",
"text": "Afficher le texte"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption",
"text": "Onglet par défaut sur la barre latérale"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint",
"text": "Indique l'onglet de la barre latérale qui sera affiché par défaut"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/Caption": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption",
"text": "Comportement à l'ouverture du tiddler"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint",
"text": "Navigation depuis un emplacement //interne// au déroulé"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint",
"text": "Navigation depuis un emplacement //externe// au déroulé"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove",
"text": "Ouvrir au-dessus du tiddler courant"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow",
"text": "Ouvrir en dessous du tiddler courant"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop",
"text": "Ouvrir tout en haut du déroulé"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom",
"text": "Ouvrir tout en bas du déroulé"
},
"$:/language/ControlPanel/Settings/TitleLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Caption",
"text": "Titres des tiddlers"
},
"$:/language/ControlPanel/Settings/TitleLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Hint",
"text": "Faut-il afficher les titres des tiddlers comme des liens ?"
},
"$:/language/ControlPanel/Settings/TitleLinks/No/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/No/Description",
"text": "Ne pas afficher les titres des tiddlers comme des liens"
},
"$:/language/ControlPanel/Settings/TitleLinks/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description",
"text": "Afficher les titres des tiddlers comme des liens"
},
"$:/language/ControlPanel/Settings/MissingLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Caption",
"text": "Liens wiki"
},
"$:/language/ControlPanel/Settings/MissingLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Hint",
"text": "Peut-on pointer vers des tiddlers qui n'existent pas encore ?"
},
"$:/language/ControlPanel/Settings/MissingLinks/Description": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Description",
"text": "Active les liens vers les tiddlers inexistants"
},
"$:/language/ControlPanel/StoryView/Caption": {
"title": "$:/language/ControlPanel/StoryView/Caption",
"text": "Vue sur le déroulé"
},
"$:/language/ControlPanel/StoryView/Prompt": {
"title": "$:/language/ControlPanel/StoryView/Prompt",
"text": "Vue courante :"
},
"$:/language/ControlPanel/Theme/Caption": {
"title": "$:/language/ControlPanel/Theme/Caption",
"text": "Thème"
},
"$:/language/ControlPanel/Theme/Prompt": {
"title": "$:/language/ControlPanel/Theme/Prompt",
"text": "Thème courant :"
},
"$:/language/ControlPanel/TiddlerFields/Caption": {
"title": "$:/language/ControlPanel/TiddlerFields/Caption",
"text": "Champs des tiddlers"
},
"$:/language/ControlPanel/TiddlerFields/Hint": {
"title": "$:/language/ControlPanel/TiddlerFields/Hint",
"text": "Il s'agit de la totalité des [[champs|TiddlerFields]] utilisés dans ce wiki (y compris les tiddlers système, mais non compris les tiddlers //shadow//)."
},
"$:/language/ControlPanel/Toolbars/Caption": {
"title": "$:/language/ControlPanel/Toolbars/Caption",
"text": "Barres d'outils"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Caption",
"text": "Barre d'outils du mode édition"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Hint",
"text": "Choix des boutons à afficher pour les tiddlers en cours d'édition"
},
"$:/language/ControlPanel/Toolbars/Hint": {
"title": "$:/language/ControlPanel/Toolbars/Hint",
"text": "Choix des boutons à afficher dans les barres d'outils"
},
"$:/language/ControlPanel/Toolbars/PageControls/Caption": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Caption",
"text": "Barre d'outils de la page"
},
"$:/language/ControlPanel/Toolbars/PageControls/Hint": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Hint",
"text": "Choix des boutons à afficher sur la barre d'outils principale de la page"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption",
"text": "Barre d'outils de l'Éditeur"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint",
"text": "Choisir les boutons à afficher dans la barre d'outils de l'éditeur. À noter que la présence de certains boutons dépendra du type du tiddler édité"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption",
"text": "Barre d'outils du mode visualisation"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint",
"text": "Choix des boutons à afficher pour les tiddlers en mode visualisation"
},
"$:/language/ControlPanel/Tools/Download/Full/Caption": {
"title": "$:/language/ControlPanel/Tools/Download/Full/Caption",
"text": "Télécharger le wiki complet"
},
"$:/core/fr-FR/readme": {
"title": "$:/core/fr-FR/readme",
"text": "Ce plugin contient les principaux composants de TiddlyWiki, notamment :\n\n* Les modules du code JavaScript ;\n* Les icônes ;\n* Les //templates// nécessaires à l'élaboration de l'interface utilisateur de TiddlyWiki ;\n* Les traductions en anglais britannique (''en-GB'') des chaînes de caractères utilisées par le cœur de l'application et susceptibles d'être traduites dans d'autres langues.\n"
},
"$:/language/Date/DaySuffix/1": {
"title": "$:/language/Date/DaySuffix/1",
"text": "er"
},
"$:/language/Date/DaySuffix/2": {
"title": "$:/language/Date/DaySuffix/2",
"text": ""
},
"$:/language/Date/DaySuffix/3": {
"title": "$:/language/Date/DaySuffix/3",
"text": ""
},
"$:/language/Date/DaySuffix/4": {
"title": "$:/language/Date/DaySuffix/4",
"text": ""
},
"$:/language/Date/DaySuffix/5": {
"title": "$:/language/Date/DaySuffix/5",
"text": ""
},
"$:/language/Date/DaySuffix/6": {
"title": "$:/language/Date/DaySuffix/6",
"text": ""
},
"$:/language/Date/DaySuffix/7": {
"title": "$:/language/Date/DaySuffix/7",
"text": ""
},
"$:/language/Date/DaySuffix/8": {
"title": "$:/language/Date/DaySuffix/8",
"text": ""
},
"$:/language/Date/DaySuffix/9": {
"title": "$:/language/Date/DaySuffix/9",
"text": ""
},
"$:/language/Date/DaySuffix/10": {
"title": "$:/language/Date/DaySuffix/10",
"text": ""
},
"$:/language/Date/DaySuffix/11": {
"title": "$:/language/Date/DaySuffix/11",
"text": ""
},
"$:/language/Date/DaySuffix/12": {
"title": "$:/language/Date/DaySuffix/12",
"text": ""
},
"$:/language/Date/DaySuffix/13": {
"title": "$:/language/Date/DaySuffix/13",
"text": ""
},
"$:/language/Date/DaySuffix/14": {
"title": "$:/language/Date/DaySuffix/14",
"text": ""
},
"$:/language/Date/DaySuffix/15": {
"title": "$:/language/Date/DaySuffix/15",
"text": ""
},
"$:/language/Date/DaySuffix/16": {
"title": "$:/language/Date/DaySuffix/16",
"text": ""
},
"$:/language/Date/DaySuffix/17": {
"title": "$:/language/Date/DaySuffix/17",
"text": ""
},
"$:/language/Date/DaySuffix/18": {
"title": "$:/language/Date/DaySuffix/18",
"text": ""
},
"$:/language/Date/DaySuffix/19": {
"title": "$:/language/Date/DaySuffix/19",
"text": ""
},
"$:/language/Date/DaySuffix/20": {
"title": "$:/language/Date/DaySuffix/20",
"text": ""
},
"$:/language/Date/DaySuffix/21": {
"title": "$:/language/Date/DaySuffix/21",
"text": ""
},
"$:/language/Date/DaySuffix/22": {
"title": "$:/language/Date/DaySuffix/22",
"text": ""
},
"$:/language/Date/DaySuffix/23": {
"title": "$:/language/Date/DaySuffix/23",
"text": ""
},
"$:/language/Date/DaySuffix/24": {
"title": "$:/language/Date/DaySuffix/24",
"text": ""
},
"$:/language/Date/DaySuffix/25": {
"title": "$:/language/Date/DaySuffix/25",
"text": ""
},
"$:/language/Date/DaySuffix/26": {
"title": "$:/language/Date/DaySuffix/26",
"text": ""
},
"$:/language/Date/DaySuffix/27": {
"title": "$:/language/Date/DaySuffix/27",
"text": ""
},
"$:/language/Date/DaySuffix/28": {
"title": "$:/language/Date/DaySuffix/28",
"text": ""
},
"$:/language/Date/DaySuffix/29": {
"title": "$:/language/Date/DaySuffix/29",
"text": ""
},
"$:/language/Date/DaySuffix/30": {
"title": "$:/language/Date/DaySuffix/30",
"text": ""
},
"$:/language/Date/DaySuffix/31": {
"title": "$:/language/Date/DaySuffix/31",
"text": ""
},
"$:/language/Date/Long/Day/0": {
"title": "$:/language/Date/Long/Day/0",
"text": "Dimanche"
},
"$:/language/Date/Long/Day/1": {
"title": "$:/language/Date/Long/Day/1",
"text": "Lundi"
},
"$:/language/Date/Long/Day/2": {
"title": "$:/language/Date/Long/Day/2",
"text": "Mardi"
},
"$:/language/Date/Long/Day/3": {
"title": "$:/language/Date/Long/Day/3",
"text": "Mercredi"
},
"$:/language/Date/Long/Day/4": {
"title": "$:/language/Date/Long/Day/4",
"text": "Jeudi"
},
"$:/language/Date/Long/Day/5": {
"title": "$:/language/Date/Long/Day/5",
"text": "Vendredi"
},
"$:/language/Date/Long/Day/6": {
"title": "$:/language/Date/Long/Day/6",
"text": "Samedi"
},
"$:/language/Date/Long/Month/1": {
"title": "$:/language/Date/Long/Month/1",
"text": "janvier"
},
"$:/language/Date/Long/Month/2": {
"title": "$:/language/Date/Long/Month/2",
"text": "février"
},
"$:/language/Date/Long/Month/3": {
"title": "$:/language/Date/Long/Month/3",
"text": "mars"
},
"$:/language/Date/Long/Month/4": {
"title": "$:/language/Date/Long/Month/4",
"text": "avril"
},
"$:/language/Date/Long/Month/5": {
"title": "$:/language/Date/Long/Month/5",
"text": "mai"
},
"$:/language/Date/Long/Month/6": {
"title": "$:/language/Date/Long/Month/6",
"text": "juin"
},
"$:/language/Date/Long/Month/7": {
"title": "$:/language/Date/Long/Month/7",
"text": "juillet"
},
"$:/language/Date/Long/Month/8": {
"title": "$:/language/Date/Long/Month/8",
"text": "août"
},
"$:/language/Date/Long/Month/9": {
"title": "$:/language/Date/Long/Month/9",
"text": "septembre"
},
"$:/language/Date/Long/Month/10": {
"title": "$:/language/Date/Long/Month/10",
"text": "octobre"
},
"$:/language/Date/Long/Month/11": {
"title": "$:/language/Date/Long/Month/11",
"text": "novembre"
},
"$:/language/Date/Long/Month/12": {
"title": "$:/language/Date/Long/Month/12",
"text": "décembre"
},
"$:/language/Date/Period/am": {
"title": "$:/language/Date/Period/am",
"text": "am"
},
"$:/language/Date/Period/pm": {
"title": "$:/language/Date/Period/pm",
"text": "pm"
},
"$:/language/Date/Short/Day/0": {
"title": "$:/language/Date/Short/Day/0",
"text": "Di"
},
"$:/language/Date/Short/Day/1": {
"title": "$:/language/Date/Short/Day/1",
"text": "Lu"
},
"$:/language/Date/Short/Day/2": {
"title": "$:/language/Date/Short/Day/2",
"text": "Ma"
},
"$:/language/Date/Short/Day/3": {
"title": "$:/language/Date/Short/Day/3",
"text": "Me"
},
"$:/language/Date/Short/Day/4": {
"title": "$:/language/Date/Short/Day/4",
"text": "Je"
},
"$:/language/Date/Short/Day/5": {
"title": "$:/language/Date/Short/Day/5",
"text": "Ve"
},
"$:/language/Date/Short/Day/6": {
"title": "$:/language/Date/Short/Day/6",
"text": "Sa"
},
"$:/language/Date/Short/Month/1": {
"title": "$:/language/Date/Short/Month/1",
"text": "Jan"
},
"$:/language/Date/Short/Month/2": {
"title": "$:/language/Date/Short/Month/2",
"text": "Fév"
},
"$:/language/Date/Short/Month/3": {
"title": "$:/language/Date/Short/Month/3",
"text": "Mar"
},
"$:/language/Date/Short/Month/4": {
"title": "$:/language/Date/Short/Month/4",
"text": "Avr"
},
"$:/language/Date/Short/Month/5": {
"title": "$:/language/Date/Short/Month/5",
"text": "Mai"
},
"$:/language/Date/Short/Month/6": {
"title": "$:/language/Date/Short/Month/6",
"text": "Jun"
},
"$:/language/Date/Short/Month/7": {
"title": "$:/language/Date/Short/Month/7",
"text": "Jul"
},
"$:/language/Date/Short/Month/8": {
"title": "$:/language/Date/Short/Month/8",
"text": "Aoû"
},
"$:/language/Date/Short/Month/9": {
"title": "$:/language/Date/Short/Month/9",
"text": "Sep"
},
"$:/language/Date/Short/Month/10": {
"title": "$:/language/Date/Short/Month/10",
"text": "Oct"
},
"$:/language/Date/Short/Month/11": {
"title": "$:/language/Date/Short/Month/11",
"text": "Nov"
},
"$:/language/Date/Short/Month/12": {
"title": "$:/language/Date/Short/Month/12",
"text": "Déc"
},
"$:/language/RelativeDate/Future/Days": {
"title": "$:/language/RelativeDate/Future/Days",
"text": "dans <<period>> jours"
},
"$:/language/RelativeDate/Future/Hours": {
"title": "$:/language/RelativeDate/Future/Hours",
"text": "dans <<period>> heures"
},
"$:/language/RelativeDate/Future/Minutes": {
"title": "$:/language/RelativeDate/Future/Minutes",
"text": "dans <<period>> minutes"
},
"$:/language/RelativeDate/Future/Months": {
"title": "$:/language/RelativeDate/Future/Months",
"text": "dans <<period>> mois"
},
"$:/language/RelativeDate/Future/Second": {
"title": "$:/language/RelativeDate/Future/Second",
"text": "dans 1 seconde"
},
"$:/language/RelativeDate/Future/Seconds": {
"title": "$:/language/RelativeDate/Future/Seconds",
"text": "dans <<period>> secondes"
},
"$:/language/RelativeDate/Future/Years": {
"title": "$:/language/RelativeDate/Future/Years",
"text": "dans <<period>> ans"
},
"$:/language/RelativeDate/Past/Days": {
"title": "$:/language/RelativeDate/Past/Days",
"text": "il y a <<period>> jours"
},
"$:/language/RelativeDate/Past/Hours": {
"title": "$:/language/RelativeDate/Past/Hours",
"text": "il y a <<period>> heures"
},
"$:/language/RelativeDate/Past/Minutes": {
"title": "$:/language/RelativeDate/Past/Minutes",
"text": "il y a <<period>> minutes"
},
"$:/language/RelativeDate/Past/Months": {
"title": "$:/language/RelativeDate/Past/Months",
"text": "il y a <<period>> mois"
},
"$:/language/RelativeDate/Past/Second": {
"title": "$:/language/RelativeDate/Past/Second",
"text": "il y a 1 seconde"
},
"$:/language/RelativeDate/Past/Seconds": {
"title": "$:/language/RelativeDate/Past/Seconds",
"text": "il y a <<period>> secondes"
},
"$:/language/RelativeDate/Past/Years": {
"title": "$:/language/RelativeDate/Past/Years",
"text": "il y a <<period>> ans"
},
"$:/language/Docs/ModuleTypes/animation": {
"title": "$:/language/Docs/ModuleTypes/animation",
"text": "Animations pouvant être utilisées par le RevealWidget."
},
"$:/language/Docs/ModuleTypes/command": {
"title": "$:/language/Docs/ModuleTypes/command",
"text": "Commandes qui peuvent être exécutées en mode Node.js."
},
"$:/language/Docs/ModuleTypes/config": {
"title": "$:/language/Docs/ModuleTypes/config",
"text": "Données à inclure dans `$tw.config`."
},
"$:/language/Docs/ModuleTypes/filteroperator": {
"title": "$:/language/Docs/ModuleTypes/filteroperator",
"text": "Méthodes d'opérateurs pour les filtres."
},
"$:/language/Docs/ModuleTypes/global": {
"title": "$:/language/Docs/ModuleTypes/global",
"text": "Données globales à inclure dans `$tw`."
},
"$:/language/Docs/ModuleTypes/isfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/isfilteroperator",
"text": "Opérandes pour l'opérateur de filtre « is »."
},
"$:/language/Docs/ModuleTypes/macro": {
"title": "$:/language/Docs/ModuleTypes/macro",
"text": "Définitions de macros ~JavaScript."
},
"$:/language/Docs/ModuleTypes/parser": {
"title": "$:/language/Docs/ModuleTypes/parser",
"text": "Parseurs pour divers types de contenu. "
},
"$:/language/Docs/ModuleTypes/saver": {
"title": "$:/language/Docs/ModuleTypes/saver",
"text": "Les tiddlers de sauvegarde contiennent les différentes méthodes pour enregistrer des fichiers à partir du navigateur."
},
"$:/language/Docs/ModuleTypes/startup": {
"title": "$:/language/Docs/ModuleTypes/startup",
"text": "Fonctions de démarrage."
},
"$:/language/Docs/ModuleTypes/storyview": {
"title": "$:/language/Docs/ModuleTypes/storyview",
"text": "Différents points de vue sur le déroulé, qui personnalisent l'animation et le comportement des widgets de liste."
},
"$:/language/Docs/ModuleTypes/tiddlerdeserializer": {
"title": "$:/language/Docs/ModuleTypes/tiddlerdeserializer",
"text": "Convertit différents types de contenu en tiddlers."
},
"$:/language/Docs/ModuleTypes/tiddlerfield": {
"title": "$:/language/Docs/ModuleTypes/tiddlerfield",
"text": "Définit le comportement des champs de tiddler."
},
"$:/language/Docs/ModuleTypes/tiddlermethod": {
"title": "$:/language/Docs/ModuleTypes/tiddlermethod",
"text": "Ajoute des méthodes au prototype `$tw.Tiddler`."
},
"$:/language/Docs/ModuleTypes/upgrader": {
"title": "$:/language/Docs/ModuleTypes/upgrader",
"text": "Applique une procédure de mise à jour aux tiddlers lors de l'opération de mise à jour/importation."
},
"$:/language/Docs/ModuleTypes/utils": {
"title": "$:/language/Docs/ModuleTypes/utils",
"text": "Ajoute des méthodes dans `$tw.utils`."
},
"$:/language/Docs/ModuleTypes/utils-node": {
"title": "$:/language/Docs/ModuleTypes/utils-node",
"text": "Ajoute des méthodes spécifiques à Node.js dans `$tw.utils`."
},
"$:/language/Docs/ModuleTypes/widget": {
"title": "$:/language/Docs/ModuleTypes/widget",
"text": "Les widgets encapsulent les méthodes de rendu et de rafraichissement du DOM."
},
"$:/language/Docs/ModuleTypes/wikimethod": {
"title": "$:/language/Docs/ModuleTypes/wikimethod",
"text": "Ajoute des méthodes à `$tw.Wiki`."
},
"$:/language/Docs/ModuleTypes/wikirule": {
"title": "$:/language/Docs/ModuleTypes/wikirule",
"text": "Règles d'analyse pour le parseur WikiText principal."
},
"$:/language/Docs/PaletteColours/alert-background": {
"title": "$:/language/Docs/PaletteColours/alert-background",
"text": "Fond pour les alertes"
},
"$:/language/Docs/PaletteColours/alert-border": {
"title": "$:/language/Docs/PaletteColours/alert-border",
"text": "Bordure pour les alertes"
},
"$:/language/Docs/PaletteColours/alert-highlight": {
"title": "$:/language/Docs/PaletteColours/alert-highlight",
"text": "Surlignage pour les alertes"
},
"$:/language/Docs/PaletteColours/alert-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/alert-muted-foreground",
"text": "Fond atténué pour les alertes"
},
"$:/language/Docs/PaletteColours/background": {
"title": "$:/language/Docs/PaletteColours/background",
"text": "Couleur de fond générale"
},
"$:/language/Docs/PaletteColours/blockquote-bar": {
"title": "$:/language/Docs/PaletteColours/blockquote-bar",
"text": "Barre de citation"
},
"$:/language/Docs/PaletteColours/button-background": {
"title": "$:/language/Docs/PaletteColours/button-background",
"text": "Fond du bouton par défaut"
},
"$:/language/Docs/PaletteColours/button-border": {
"title": "$:/language/Docs/PaletteColours/button-border",
"text": "Bordure du bouton par défaut"
},
"$:/language/Docs/PaletteColours/button-foreground": {
"title": "$:/language/Docs/PaletteColours/button-foreground",
"text": "Premier plan du bouton par défaut"
},
"$:/language/Docs/PaletteColours/code-background": {
"title": "$:/language/Docs/PaletteColours/code-background",
"text": "Fond pour le code"
},
"$:/language/Docs/PaletteColours/code-border": {
"title": "$:/language/Docs/PaletteColours/code-border",
"text": "Bordure pour le code"
},
"$:/language/Docs/PaletteColours/code-foreground": {
"title": "$:/language/Docs/PaletteColours/code-foreground",
"text": "Premier plan pour le code"
},
"$:/language/Docs/PaletteColours/dirty-indicator": {
"title": "$:/language/Docs/PaletteColours/dirty-indicator",
"text": "Indicateur de modifications non sauvegardées"
},
"$:/language/Docs/PaletteColours/download-background": {
"title": "$:/language/Docs/PaletteColours/download-background",
"text": "Fond pour le bouton de téléchargement"
},
"$:/language/Docs/PaletteColours/download-foreground": {
"title": "$:/language/Docs/PaletteColours/download-foreground",
"text": "Premier plan pour le bouton de téléchargement"
},
"$:/language/Docs/PaletteColours/dragger-background": {
"title": "$:/language/Docs/PaletteColours/dragger-background",
"text": "Fond pour le glissé-déposé"
},
"$:/language/Docs/PaletteColours/dragger-foreground": {
"title": "$:/language/Docs/PaletteColours/dragger-foreground",
"text": "Premier plan pour le glissé-déposé"
},
"$:/language/Docs/PaletteColours/dropdown-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-background",
"text": "Fond des menus déroulants"
},
"$:/language/Docs/PaletteColours/dropdown-border": {
"title": "$:/language/Docs/PaletteColours/dropdown-border",
"text": "Bordure des menus déroulants"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background-selected",
"text": "Fond pour les onglets à menu déroulant sélectionnés"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background",
"text": "Fond pour les onglets à menu déroulant"
},
"$:/language/Docs/PaletteColours/dropzone-background": {
"title": "$:/language/Docs/PaletteColours/dropzone-background",
"text": "Fond de la zone « déposé »"
},
"$:/language/Docs/PaletteColours/external-link-background-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-background-hover",
"text": "Fond lors du passage de la souris sur un lien externe"
},
"$:/language/Docs/PaletteColours/external-link-background-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-background-visited",
"text": "Fond pour un lien externe déjà visité"
},
"$:/language/Docs/PaletteColours/external-link-background": {
"title": "$:/language/Docs/PaletteColours/external-link-background",
"text": "Fond pour un lien externe"
},
"$:/language/Docs/PaletteColours/external-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-hover",
"text": "Premier plan lors du passage de la souris sur un lien externe"
},
"$:/language/Docs/PaletteColours/external-link-foreground-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-visited",
"text": "Premier plan pour un lien externe déjà visité"
},
"$:/language/Docs/PaletteColours/external-link-foreground": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground",
"text": "Premier plan pour un lien externe"
},
"$:/language/Docs/PaletteColours/foreground": {
"title": "$:/language/Docs/PaletteColours/foreground",
"text": "Premier plan"
},
"$:/language/Docs/PaletteColours/message-background": {
"title": "$:/language/Docs/PaletteColours/message-background",
"text": "Fond pour les messages"
},
"$:/language/Docs/PaletteColours/message-border": {
"title": "$:/language/Docs/PaletteColours/message-border",
"text": "Bordure pour les messages"
},
"$:/language/Docs/PaletteColours/message-foreground": {
"title": "$:/language/Docs/PaletteColours/message-foreground",
"text": "Premier plan pour les messages"
},
"$:/language/Docs/PaletteColours/modal-backdrop": {
"title": "$:/language/Docs/PaletteColours/modal-backdrop",
"text": "Arrière-plan pour les fenêtres modales"
},
"$:/language/Docs/PaletteColours/modal-background": {
"title": "$:/language/Docs/PaletteColours/modal-background",
"text": "Fond pour les fenêtres modales"
},
"$:/language/Docs/PaletteColours/modal-border": {
"title": "$:/language/Docs/PaletteColours/modal-border",
"text": "Bordure pour les fenêtres modales"
},
"$:/language/Docs/PaletteColours/modal-footer-background": {
"title": "$:/language/Docs/PaletteColours/modal-footer-background",
"text": "Fond pour les pieds de page des fenêtres modales"
},
"$:/language/Docs/PaletteColours/modal-footer-border": {
"title": "$:/language/Docs/PaletteColours/modal-footer-border",
"text": "Bordure pour les pieds de page des fenêtres modales"
},
"$:/language/Docs/PaletteColours/modal-header-border": {
"title": "$:/language/Docs/PaletteColours/modal-header-border",
"text": "Bordure pour les en-tête des fenêtres modales"
},
"$:/language/Docs/PaletteColours/muted-foreground": {
"title": "$:/language/Docs/PaletteColours/muted-foreground",
"text": "Premier plan atténué"
},
"$:/language/Docs/PaletteColours/notification-background": {
"title": "$:/language/Docs/PaletteColours/notification-background",
"text": "Fond pour les notifications"
},
"$:/language/Docs/PaletteColours/notification-border": {
"title": "$:/language/Docs/PaletteColours/notification-border",
"text": "Bordure pour les notifications"
},
"$:/language/Docs/PaletteColours/page-background": {
"title": "$:/language/Docs/PaletteColours/page-background",
"text": "Fond de page"
},
"$:/language/Docs/PaletteColours/pre-background": {
"title": "$:/language/Docs/PaletteColours/pre-background",
"text": "Fond pour le code préformaté"
},
"$:/language/Docs/PaletteColours/pre-border": {
"title": "$:/language/Docs/PaletteColours/pre-border",
"text": "Bordure pour le code préformaté"
},
"$:/language/Docs/PaletteColours/primary": {
"title": "$:/language/Docs/PaletteColours/primary",
"text": "Couleur principale"
},
"$:/language/Docs/PaletteColours/sidebar-button-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-button-foreground",
"text": "Premier plan des boutons de la barre latérale"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover",
"text": "Premier plan au passage de la souris sur les boutons de commande de la barre latérale"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground",
"text": "Premier plan sur les boutons de commande de la barre latérale"
},
"$:/language/Docs/PaletteColours/sidebar-foreground-shadow": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground-shadow",
"text": "Ombre du premier plan de la barre latérale"
},
"$:/language/Docs/PaletteColours/sidebar-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground",
"text": "Premier plan de la barre latérale"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover",
"text": "Premier plan atténué au passage de la souris sur la barre latérale"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground",
"text": "Premier plan atténué de la barre latérale"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background-selected",
"text": "Fond pour les onglets sélectionnés de la barre latérale"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background",
"text": "Fond pour les onglets de la barre latérale"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border-selected",
"text": "Bordure pour les onglets sélectionnés de la barre latérale"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border",
"text": "Bordure pour les onglets de la barre latérale"
},
"$:/language/Docs/PaletteColours/sidebar-tab-divider": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-divider",
"text": "Séparateur d'onglets pour la barre latérale"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected",
"text": "Premier plan pour les onglets sélectionnés de la barre latérale"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground",
"text": "Premier plan pour les onglets de la barre latérale"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover",
"text": "Premier plan au passage de la souris sur le lien d'un tiddler de la barre latérale"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground",
"text": "Premier plan du lien d'un tiddler de la barre latérale"
},
"$:/language/Docs/PaletteColours/static-alert-foreground": {
"title": "$:/language/Docs/PaletteColours/static-alert-foreground",
"text": "Premier plan pour les alertes statiques"
},
"$:/language/Docs/PaletteColours/tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/tab-background-selected",
"text": "Fond pour les onglets sélectionnés"
},
"$:/language/Docs/PaletteColours/tab-background": {
"title": "$:/language/Docs/PaletteColours/tab-background",
"text": "Fond pour les onglets"
},
"$:/language/Docs/PaletteColours/tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/tab-border-selected",
"text": "Bordure pour les onglets sélectionnés"
},
"$:/language/Docs/PaletteColours/tab-border": {
"title": "$:/language/Docs/PaletteColours/tab-border",
"text": "Bordure pour les onglets"
},
"$:/language/Docs/PaletteColours/tab-divider": {
"title": "$:/language/Docs/PaletteColours/tab-divider",
"text": "Séparateur d'onglets"
},
"$:/language/Docs/PaletteColours/tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tab-foreground-selected",
"text": "Premier plan pour les onglets sélectionnés"
},
"$:/language/Docs/PaletteColours/tab-foreground": {
"title": "$:/language/Docs/PaletteColours/tab-foreground",
"text": "Premier plan pour les onglets"
},
"$:/language/Docs/PaletteColours/table-border": {
"title": "$:/language/Docs/PaletteColours/table-border",
"text": "Bordure des tableaux"
},
"$:/language/Docs/PaletteColours/table-footer-background": {
"title": "$:/language/Docs/PaletteColours/table-footer-background",
"text": "Fond pour les bas de tableau"
},
"$:/language/Docs/PaletteColours/table-header-background": {
"title": "$:/language/Docs/PaletteColours/table-header-background",
"text": "Fond pour les en-têtes de tableau"
},
"$:/language/Docs/PaletteColours/tag-background": {
"title": "$:/language/Docs/PaletteColours/tag-background",
"text": "Fond pour les tags"
},
"$:/language/Docs/PaletteColours/tag-foreground": {
"title": "$:/language/Docs/PaletteColours/tag-foreground",
"text": "Premier plan pour les tags"
},
"$:/language/Docs/PaletteColours/tiddler-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-background",
"text": "Fond pour les tiddlers"
},
"$:/language/Docs/PaletteColours/tiddler-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-border",
"text": "Bordure pour les tiddlers"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover",
"text": "Premier plan au passage de la souris sur les boutons de commande d'un tiddler"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected",
"text": "Premier plan pour le bouton de commande sélectionné d'un tiddler"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground",
"text": "Premier plan pour les boutons de commande d'un tiddler"
},
"$:/language/Docs/PaletteColours/tiddler-editor-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-background",
"text": "Fond pour l'éditeur de tiddlers"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border-image": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border-image",
"text": "Image de bordure pour l'éditeur de tiddlers"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border",
"text": "Bordure de l'éditeur de tiddlers"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-even": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-even",
"text": "Fond de l'éditeur de tiddlers pour les champs pairs"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd",
"text": "Fond de l'éditeur de tiddlers pour les champs impairs"
},
"$:/language/Docs/PaletteColours/tiddler-info-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-background",
"text": "Fond du panneau d'information d'un tiddler"
},
"$:/language/Docs/PaletteColours/tiddler-info-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-border",
"text": "Bordure du panneau d'information d'un tiddler"
},
"$:/language/Docs/PaletteColours/tiddler-info-tab-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-tab-background",
"text": "Fond pour les onglets du panneau d'information d'un tiddler"
},
"$:/language/Docs/PaletteColours/tiddler-link-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-background",
"text": "Fond pour les liens vers un tiddler"
},
"$:/language/Docs/PaletteColours/tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-foreground",
"text": "Premier plan pour les liens vers un tiddler"
},
"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground",
"text": "Premier plan du sous-titre du wiki"
},
"$:/language/Docs/PaletteColours/tiddler-title-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-title-foreground",
"text": "Premier plan du titre du wiki"
},
"$:/language/Docs/PaletteColours/toolbar-new-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-new-button",
"text": "Premier plan pour le bouton 'Nouveau tiddler' de la barre latérale"
},
"$:/language/Docs/PaletteColours/toolbar-options-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-options-button",
"text": "Premier plan pour le bouton 'Options' de la barre latérale"
},
"$:/language/Docs/PaletteColours/toolbar-save-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-save-button",
"text": "Premier plan pour le bouton 'Enregistrer' de la barre latérale"
},
"$:/language/Docs/PaletteColours/toolbar-info-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-info-button",
"text": "Premier plan pour le bouton 'Info' de la barre latérale"
},
"$:/language/Docs/PaletteColours/toolbar-edit-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-edit-button",
"text": "Premier plan pour le bouton 'Éditer' de la barre latérale"
},
"$:/language/Docs/PaletteColours/toolbar-close-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-close-button",
"text": "Premier plan pour le bouton 'Fermer' de la barre latérale"
},
"$:/language/Docs/PaletteColours/toolbar-delete-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-delete-button",
"text": "Premier plan pour le bouton 'Supprimer' de la barre latérale"
},
"$:/language/Docs/PaletteColours/toolbar-cancel-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-cancel-button",
"text": "Premier plan pour le bouton 'Annuler' de la barre latérale"
},
"$:/language/Docs/PaletteColours/toolbar-done-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-done-button",
"text": "Premier plan pour le bouton 'Terminé' de la barre latérale"
},
"$:/language/Docs/PaletteColours/untagged-background": {
"title": "$:/language/Docs/PaletteColours/untagged-background",
"text": "Fond pour la pastille « sans-étiquette »"
},
"$:/language/Docs/PaletteColours/very-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/very-muted-foreground",
"text": "Premier plan très atténué"
},
"$:/language/EditTemplate/Body/External/Hint": {
"title": "$:/language/EditTemplate/Body/External/Hint",
"text": "Ceci est un tiddler externe, conservé en dehors du fichier TiddlyWiki principal. Vous pouvez éditer les tags et les champs mais pas directement le contenu lui-même"
},
"$:/language/EditTemplate/Body/Placeholder": {
"title": "$:/language/EditTemplate/Body/Placeholder",
"text": "Entrez le texte ici"
},
"$:/language/EditTemplate/Field/Remove/Caption": {
"title": "$:/language/EditTemplate/Field/Remove/Caption",
"text": "supprimer le champ"
},
"$:/language/EditTemplate/Field/Remove/Hint": {
"title": "$:/language/EditTemplate/Field/Remove/Hint",
"text": "Supprime le champ"
},
"$:/language/EditTemplate/Fields/Add/Button": {
"title": "$:/language/EditTemplate/Fields/Add/Button",
"text": "ajouter"
},
"$:/language/EditTemplate/Fields/Add/Name/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Name/Placeholder",
"text": "nom du champ"
},
"$:/language/EditTemplate/Fields/Add/Prompt": {
"title": "$:/language/EditTemplate/Fields/Add/Prompt",
"text": "Ajouter un nouveau champ :"
},
"$:/language/EditTemplate/Fields/Add/Value/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Value/Placeholder",
"text": "valeur du champ"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/System": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/System",
"text": "Champs système"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/User": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/User",
"text": "Champs utilisateur"
},
"$:/language/EditTemplate/Shadow/OverriddenWarning": {
"title": "$:/language/EditTemplate/Shadow/OverriddenWarning",
"text": "Ce tiddler est une version modifiée d'un tiddler « shadow ». Pour revenir à la version par défaut, il vous suffit de supprimer ce tiddler."
},
"$:/language/EditTemplate/Shadow/Warning": {
"title": "$:/language/EditTemplate/Shadow/Warning",
"text": "Ceci est un tiddler « shadow ». Toute modification supplantera la version par défaut "
},
"$:/language/EditTemplate/Tags/Add/Button": {
"title": "$:/language/EditTemplate/Tags/Add/Button",
"text": "ajouter"
},
"$:/language/EditTemplate/Tags/Add/Placeholder": {
"title": "$:/language/EditTemplate/Tags/Add/Placeholder",
"text": "nom du tag"
},
"$:/language/EditTemplate/Tags/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Caption",
"text": "liste des tags"
},
"$:/language/EditTemplate/Tags/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Hint",
"text": "Montre la liste des tags"
},
"$:/language/EditTemplate/Title/BadCharacterWarning": {
"title": "$:/language/EditTemplate/Title/BadCharacterWarning",
"text": "Attention : il est préférable d'éviter l'usage des caractères <<bad-chars>> dans les titres de tiddlers"
},
"$:/language/EditTemplate/Type/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Type/Dropdown/Caption",
"text": "liste des types de contenu"
},
"$:/language/EditTemplate/Type/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Type/Dropdown/Hint",
"text": "Montre la liste des types de contenu"
},
"$:/language/EditTemplate/Type/Delete/Caption": {
"title": "$:/language/EditTemplate/Type/Delete/Caption",
"text": "supprimer le type de contenu"
},
"$:/language/EditTemplate/Type/Delete/Hint": {
"title": "$:/language/EditTemplate/Type/Delete/Hint",
"text": "Supprime le type de contenu"
},
"$:/language/EditTemplate/Type/Placeholder": {
"title": "$:/language/EditTemplate/Type/Placeholder",
"text": "type du contenu"
},
"$:/language/EditTemplate/Type/Prompt": {
"title": "$:/language/EditTemplate/Type/Prompt",
"text": "Type :"
},
"$:/language/Exporters/StaticRiver": {
"title": "$:/language/Exporters/StaticRiver",
"text": "HTML Statique"
},
"$:/language/Exporters/JsonFile": {
"title": "$:/language/Exporters/JsonFile",
"text": "Fichier JSON"
},
"$:/language/Exporters/CsvFile": {
"title": "$:/language/Exporters/CsvFile",
"text": "Fichier CSV"
},
"$:/language/Exporters/TidFile": {
"title": "$:/language/Exporters/TidFile",
"text": "Fichier \".tid\""
},
"$:/language/Docs/Fields/_canonical_uri": {
"title": "$:/language/Docs/Fields/_canonical_uri",
"text": "L'URI complet vers le contenu externe d'un tiddler image"
},
"$:/language/Docs/Fields/bag": {
"title": "$:/language/Docs/Fields/bag",
"text": "Nom du <q>bag</q> d'où provient le tiddler"
},
"$:/language/Docs/Fields/caption": {
"title": "$:/language/Docs/Fields/caption",
"text": "Texte à afficher sur un onglet ou un bouton"
},
"$:/language/Docs/Fields/color": {
"title": "$:/language/Docs/Fields/color",
"text": "Couleur CSS associée au tiddler"
},
"$:/language/Docs/Fields/component": {
"title": "$:/language/Docs/Fields/component",
"text": "Nom du composant responsable pour un [[tiddler d'alerte|AlertMechanism]]"
},
"$:/language/Docs/Fields/current-tiddler": {
"title": "$:/language/Docs/Fields/current-tiddler",
"text": "Sert à cacher le tiddler situé au début de l'[[historique|HistoryMechanism]]"
},
"$:/language/Docs/Fields/created": {
"title": "$:/language/Docs/Fields/created",
"text": "Date de création du tiddler"
},
"$:/language/Docs/Fields/creator": {
"title": "$:/language/Docs/Fields/creator",
"text": "Nom de l'utilisateur qui a créé le tiddler"
},
"$:/language/Docs/Fields/dependents": {
"title": "$:/language/Docs/Fields/dependents",
"text": "Quand le tiddler est un plugin, énumère les titres des plugins dépendants"
},
"$:/language/Docs/Fields/description": {
"title": "$:/language/Docs/Fields/description",
"text": "Texte de description d'un plugin, ou d'une boîte de dialogue"
},
"$:/language/Docs/Fields/draft.of": {
"title": "$:/language/Docs/Fields/draft.of",
"text": "Pour les tiddlers en cours d'édition, contient le titre du tiddler initial"
},
"$:/language/Docs/Fields/draft.title": {
"title": "$:/language/Docs/Fields/draft.title",
"text": "Pour les tiddlers en cours d'édition, contient le nouveau titre prévu pour le tiddler"
},
"$:/language/Docs/Fields/footer": {
"title": "$:/language/Docs/Fields/footer",
"text": "Texte de bas de page dans le cas d'un wizard"
},
"$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against": {
"title": "$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against",
"text": "Champ de stockage temporaire utilisé dans [[$:/core/templates/static.content]]"
},
"$:/language/Docs/Fields/icon": {
"title": "$:/language/Docs/Fields/icon",
"text": "Titre du tiddler contenant l'icone associée à un tiddler"
},
"$:/language/Docs/Fields/library": {
"title": "$:/language/Docs/Fields/library",
"text": "Avec une valeur à <q>yes</q>, indique qu'un tiddler doit être sauvegardé comme bibliothèque JavaScript"
},
"$:/language/Docs/Fields/list": {
"title": "$:/language/Docs/Fields/list",
"text": "Liste ordonnée de titres de tiddlers à associer au tiddler"
},
"$:/language/Docs/Fields/list-before": {
"title": "$:/language/Docs/Fields/list-before",
"text": "Si présent, contient le titre du tiddler avant lequel ce tiddler doit être ajouté dans la liste ordonnée. Si ce champ est présent mais vide, le titre doit être ajouté au début de la liste."
},
"$:/language/Docs/Fields/list-after": {
"title": "$:/language/Docs/Fields/list-after",
"text": "Si présent, contient le titre du tiddler après lequel ce tiddler doit être ajouté dans la liste ordonnée."
},
"$:/language/Docs/Fields/modified": {
"title": "$:/language/Docs/Fields/modified",
"text": "Date et heure à laquelle le tiddler a été modifié pour la dernière fois"
},
"$:/language/Docs/Fields/modifier": {
"title": "$:/language/Docs/Fields/modifier",
"text": "Titre du tiddler associé à l'utilisateur qui a modifié ce tiddler pour la dernière fois"
},
"$:/language/Docs/Fields/name": {
"title": "$:/language/Docs/Fields/name",
"text": "S'il s'agit d'un plugin, le nom de la personne associée à ce tiddler"
},
"$:/language/Docs/Fields/plugin-priority": {
"title": "$:/language/Docs/Fields/plugin-priority",
"text": "S'il s'agit d'un plugin, un nombre indiquant la priorité de ce tiddler"
},
"$:/language/Docs/Fields/plugin-type": {
"title": "$:/language/Docs/Fields/plugin-type",
"text": "S'il s'agit d'un plugin, le type de plugin de ce tiddler"
},
"$:/language/Docs/Fields/revision": {
"title": "$:/language/Docs/Fields/revision",
"text": "Numéro de révision du tiddler présent sur le server"
},
"$:/language/Docs/Fields/released": {
"title": "$:/language/Docs/Fields/released",
"text": "Date de version d'un TiddlyWiki"
},
"$:/language/Docs/Fields/source": {
"title": "$:/language/Docs/Fields/source",
"text": "URL source associée à ce tiddler"
},
"$:/language/Docs/Fields/subtitle": {
"title": "$:/language/Docs/Fields/subtitle",
"text": "Texte du sous-titre pour un wizard"
},
"$:/language/Docs/Fields/tags": {
"title": "$:/language/Docs/Fields/tags",
"text": "Liste des tags associés à un tiddler"
},
"$:/language/Docs/Fields/text": {
"title": "$:/language/Docs/Fields/text",
"text": "Texte du corps de ce tiddler"
},
"$:/language/Docs/Fields/title": {
"title": "$:/language/Docs/Fields/title",
"text": "Nom unique du tiddler"
},
"$:/language/Docs/Fields/type": {
"title": "$:/language/Docs/Fields/type",
"text": "Type de contenu du tiddler"
},
"$:/language/Docs/Fields/version": {
"title": "$:/language/Docs/Fields/version",
"text": "S'il s'agit d'un plugin, l'information de version"
},
"$:/language/Filters/AllTiddlers": {
"title": "$:/language/Filters/AllTiddlers",
"text": "Tous les tiddlers sauf les tiddlers système"
},
"$:/language/Filters/RecentSystemTiddlers": {
"title": "$:/language/Filters/RecentSystemTiddlers",
"text": "Les tiddlers modifiés récemment, y compris les tiddlers système"
},
"$:/language/Filters/RecentTiddlers": {
"title": "$:/language/Filters/RecentTiddlers",
"text": "Les tiddlers modifiés récemment"
},
"$:/language/Filters/AllTags": {
"title": "$:/language/Filters/AllTags",
"text": "Tous les tags sauf les tags système"
},
"$:/language/Filters/Missing": {
"title": "$:/language/Filters/Missing",
"text": "Les tiddlers manquants"
},
"$:/language/Filters/Drafts": {
"title": "$:/language/Filters/Drafts",
"text": "Les tiddlers en cours d'édition"
},
"$:/language/Filters/Orphans": {
"title": "$:/language/Filters/Orphans",
"text": "Les tiddlers orphelins"
},
"$:/language/Filters/SystemTiddlers": {
"title": "$:/language/Filters/SystemTiddlers",
"text": "Les tiddlers système"
},
"$:/language/Filters/ShadowTiddlers": {
"title": "$:/language/Filters/ShadowTiddlers",
"text": "Les tiddlers shadow"
},
"$:/language/Filters/OverriddenShadowTiddlers": {
"title": "$:/language/Filters/OverriddenShadowTiddlers",
"text": "Les tiddlers shadow modifiés"
},
"$:/language/Filters/SystemTags": {
"title": "$:/language/Filters/SystemTags",
"text": "Les tags système"
},
"GettingStarted": {
"title": "GettingStarted",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\nBienvenue sur ~TiddlyWiki et parmi la communauté ~TiddlyWiki.\n\nCommencez par vérifier que vos modifications peuvent être sauvegardées\ncorrectement — reportez-vous aux [[instructions détaillées|http://tiddlywiki.com/languages/fr-FR/index.html#Saving]] sur http://tiddlywiki.com/.\n\n!! Personnalisez ce ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nRendez-vous dans le [[panneau de contrôle|$:/ControlPanel]] pour plus d'options.\n"
},
"$:/language/Help/build": {
"title": "$:/language/Help/build",
"description": "Lance automatiquement les commandes configurées",
"text": "Compile le wiki courant à partir des cibles spécifiées. Si aucune cible n'est spécifiée, toutes les cibles seront compilées.\n\n```\n--build <target> [<target> ...]\n```\n\nLes cibles de compilation sont définies dans le fichier `tiddlywiki.info` du [[dossier associé au wiki|WikiFolders]].\n\n"
},
"$:/language/Help/clearpassword": {
"title": "$:/language/Help/clearpassword",
"description": "Efface le mot de passe pour les prochaines opérations",
"text": "Efface le mot de passe pour les prochaines opérations\n\n```\n--clearpassword\n```\n"
},
"$:/language/Help/default": {
"title": "$:/language/Help/default",
"text": "\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<dossierwiki>] [--<commande> [<arguments>...]...]\n```\n\nListe des commandes disponibles :\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link> : <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nPour obtenir de l'aide sur une commande précise :\n\n```\ntiddlywiki --help <command>\n```\n"
},
"$:/language/Help/editions": {
"title": "$:/language/Help/editions",
"description": "Liste les éditions TiddlyWiki disponibles",
"text": "Liste les noms et descriptions des éditions disponibles. Vous pouvez créer un nouveau wiki à partir d'une édition particulière avec la commande `--init`.\n\n```\n--editions\n```\n"
},
"$:/language/Help/help": {
"title": "$:/language/Help/help",
"description": "Affiche de l'aide sur les commandes TiddlyWiki",
"text": "Affiche un texte d'aide sur une commande particulière :\n\n```\n--help [<commande>]\n```\n\nSi aucun nom de commande n'est fourni, affiche la liste de toutes les commandes disponibles.\n"
},
"$:/language/Help/init": {
"title": "$:/language/Help/init",
"description": "Initialise un nouveau dossier wiki",
"text": "Initialise un [[dossier wiki (WikiFolder)|WikiFolders]] vide en copiant l'une des éditions présentes dans le répertoire //editions//.\n\n```\n--init <édition> [<édition> ...]\n```\n\nPar exemple :\n\n```\ntiddlywiki ./MonDossierWiki --init empty\n```\n\nNote :\n\n* Le répertoire correspondant au dossier wiki est créé si nécessaire\n* L'édition par défaut est ''empty''\n* La commande //init// échoue si le dossier wiki n'est pas vide\n* La commande //init// supprime les éventuelles définitions `includeWikis` du fichier `tiddlywiki.info` de l'édition spécifiée\n* Lorsque plusieurs éditions sont spécifiées, chaque édition écrase les fichiers qu'elle a en commun avec les précédentes (par conséquent, le fichier `tiddlywiki.info` proviendra de la dernière édition spécifiée)\n* `--editions` renvoie une liste des éditions disponibles\n"
},
"$:/language/Help/load": {
"title": "$:/language/Help/load",
"description": "Charge des tiddlers à partir d'un fichier",
"text": "Charge des tiddlers à partir de fichiers ~TiddlyWikiClassic 2.x.x (`.html`), `.tiddler`, `.tid`, `.json` ou d'autres types de fichiers.\n\n```\n--load <chemindufichier>\n```\n\nPour charger des tiddlers à partir d'un fichier ~TiddlyWiki chiffré, vous devrez commencer par spécifier le mot de passe à l'aide de la [[commande password|PasswordCommand]]. Par exemple :\n\n```\ntiddlywiki ./MonWiki --password pa55w0rd --load mon_wiki_secret.html\n```\n\nÀ noter que Tiddlywiki refusera de charger une version plus ancienne d'un plugin déjà chargé."
},
"$:/language/Help/makelibrary": {
"title": "$:/language/Help/makelibrary",
"description": "Construit le plugin bibliothèque requis par la procédure de mise à jour",
"text": "Construit le tiddler `$:/UpgradeLibrary` pour la procédure de mise à jour.\n\nLa bibliothèque de mise à jour est formatée comme un tiddler de plugin ordinaire avec le type `library`. Elle contient un exemplaire de chacun des packs de plugins, thèmes et languages disponibles dans le répertoire de TiddlyWiki5.\n\nCette commande est prévue pour un usage interne ; elle n'a d'intérêt que pour les utilisateurs qui construisent une variante de la procédure de mise à jour.\n\n```\n--makelibrary <titre>\n```\n\nL'argument //titre// a pour valeur par défaut `$:/UpgradeLibrary`.\n"
},
"$:/language/Help/notfound": {
"title": "$:/language/Help/notfound",
"text": "Il n'existe pas d'aide sur le sujet."
},
"$:/language/Help/output": {
"title": "$:/language/Help/output",
"description": "Change le répertoire de départ pour la sortie des prochaines commandes",
"text": "Change le répertoire de départ pour la sortie des prochaines commandes. Par défaut, le répertoire de sortie est le sous-répertoire `output` du répertoire de l'édition courante.\n\n```\n--output <nom de chemin>\n```\n\nSi le chemin spécifié est relatif, il est calculé relativement au répertoire de sortie courant. Par exemple, `--output .` indique le répertoire courant comme répertoire de sortie.\n"
},
"$:/language/Help/password": {
"title": "$:/language/Help/password",
"description": "Fournit un mot de passe pour les prochaines opérations de chiffrement",
"text": "Fournit un mot de passe pour les prochaines opérations de chiffrement.\n\n```\n--password <motdepasse>\n```\n''Note'' : Cette commande n'est pas appropriée pour servir un TiddlyWiki protégé par mot de passe. Pour cela, utilisez plutôt l'option password de la [[commande Server|ServerCommand]].\n"
},
"$:/language/Help/rendertiddler": {
"title": "$:/language/Help/rendertiddler",
"description": "Enregistre un tiddler avec un rendu correspondant au type de contenu spécifié",
"text": "Enregistre un tiddler sous le chemin de fichier indiqué, avec un rendu correspondant au type de contenu (ContentType) spécifié — par défaut `text/html`. Un tiddler modèle (template) peut être indiqué optionnellement. Dans ce cas, c'est le tiddler modèle qui est rendu, avec la variable \"currentTiddler\" initialisée avec le tiddler dont le titre est donné en valeur du premier paramètre.\n\n```\n--rendertiddler <titre> <chemindufichier> [<type>] [<modèle>]\n```\n\nPar défaut, le nom de fichier est résolu relativement au sous-répertoire `output` du répertoire de l'édition. La commande `--output` peut servir à rediriger la sortie vers un répertoire différent.\n\nLes répertoires présents dans le chemin du fichier et qui n'existent pas encore sont créés automatiquement. "
},
"$:/language/Help/rendertiddlers": {
"title": "$:/language/Help/rendertiddlers",
"description": "Enregistre un ensemble de tiddlers sélectionnés par un filtre, avec un rendu correspondant au type de contenu (ContentType) spécifié",
"text": "Enregistre un ensemble de tiddlers (sélectionnés par un filtre) dans le répertoire indiqué et avec l'extension indiquée — par défaut `.html`. Le choix du rendu est fonction du type de contenu (ContentType) spécifié — par défaut `text/html` :\n\n```\n--rendertiddlers <filtre> <modèle> <chemindurépertoire> [<type>] [<extension>]\n```\n\nPar exemple :\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nTous les fichiers du répertoire cible sont supprimés. Le répertoire cible est créé récursivement s'il n'existe pas."
},
"$:/language/Help/savetiddler": {
"title": "$:/language/Help/savetiddler",
"description": "Enregistre un tiddler dans un fichier sous sa forme brute",
"text": "Enregistre un tiddler texte ou binaire dans le fichier spécifié, sous sa forme brute. \n\n```\n--savetiddler <titre> <chemindufichier>\n```\n\nLes répertoires présents dans le chemin du fichier et qui n'existent pas encore sont créés automatiquement. "
},
"$:/language/Help/savetiddlers": {
"title": "$:/language/Help/savetiddlers",
"description": "Enregistre un groupe de tiddlers vers un répertoire",
"text": "Enregistre un groupe de tiddlers vers le chemin spécifié, sous leur forme brute, texte ou binaire. \n\n```\n--savetiddlers <filtre> <chemin-de-répertoire> [\"noclean\"]\n```\n\nPar défaut, le répertoire de sortie est calculé relativement au sous-répertoire `output` du répertoire de l'édition. La commande `--output` peut servir à diriger la sortie vers un répertoire différent.\n\nLes fichiers présents dans le répertoire de sortie sont supprimés avant d'enregistrer les fichiers des tiddlers spécifiés par le filtre. Pour empêcher cette suppression, ajouter le drapeau ''noclean''.\n\nLes éventuels répertoires manquants dans le chemin spécifié sont créés automatiquement.\n"
},
"$:/language/Help/server": {
"title": "$:/language/Help/server",
"description": "Fournit une interface serveur HTTP à TiddlyWiki",
"text": "Le serveur embarqué dans TiddlyWiki5 est très simple. Bien qu'il soit compatible avec TiddlyWeb, il n'a pas la robustesse requise pour une utilisation intensive sur l'Internet.\n\nÀ la racine de l'url, il sert le tiddler spécifié avec le rendu indiqué. Au-delà, il sert des tiddlers encodés en JSON, et reconnaît les principales opérations HTTP pour `GET`, `PUT` et `DELETE`.\n\n```\n--server <port> <tiddlerracine> <typedurendu> <typeduservice> <nomdutilisateur> <motdepasse> <machine>\n```\n\nLes arguments sont :\n\n* ''port'' - numéro de port sur lequel servir le contenu (défaut : \"8080\")\n* ''tiddlerracine'' - le titre du tiddler à afficher à la racine de l'URL (défaut : \"$:/core/save/all\") \n* ''typedurendu'' - le type avec lequel le contenu du tiddler racine doit être rendu (`text/plain` par défaut)\n* ''typeduservice'' - le type avec lequel le contenu du tiddler racine doit être servi (`text/html` par défaut)\n* ''nomdutilisateur'' - le nom d'utilisateur qui servira par défaut à signer les modifications\n* ''motdepasse'' - mot de passe optionnel permettant une authentification basique\n* ''machine'' - nom de machine optionnel d'où le contenu doit être servi (\"127.0.0.1\" par défaut, autrement dit \"localhost\")\n\nSi le mot de passe est spécifié en argument, le navigateur demandera à l'utilisateur d'entrer le nom d'utilisateur et le mot de passe. On notera que le mot de passe est transmis en clair, et que cette implémentation ne convient donc pas pour un usage général.\n\nPar exemple :\n\n```\n--server 8080 $:/core/save/all text/plain text/html MonNomUtilisateur m0tdepa55e\n```\n\nLe nom d'utilisateur et le mot de passe peuvent être spécifiés en tant que chaînes vides si vous avez besoin d'indiquer le nom de machine ou le préfixe de chemin sans pour autant demander un mot de passe :\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nSi vous souhaitez faire fonctionner plusieurs serveurs TiddlyWiki en même temps sur la même machine, vous devrez leur assigner à chacun un port différent.\n"
},
"$:/language/Help/setfield": {
"title": "$:/language/Help/setfield",
"description": "Prépare des tiddlers externes for use",
"text": "//Notez que cette commande est expérimentale et peut changer ou être remplacée avant qu'elle soit finalisée//\n\nInitialise le champ spécifié d'un groupe de tiddlers avec le résultat de la wikification d'un tiddler template, la variable `currentTiddler` prenant tour à tour la valeur de chaque tiddler.\n\n```\n--setfield <filtre> <nom-du-champ> <titre-du-template> <type-de-rendu>\n```\n\nLes paramètres sont les suivants :\n\n* ''filtre'' - filtre identifiant les tiddlers cibles\n* ''nom-du-champ'' - le champ à modifier (\"text\" par défaut)\n* ''titre-du-template'' - le tiddler à wikifier dans le champ spécifié. Si manquant ou blanc, le champ spécifié est supprimé\n* ''type-de-rendu'' - le type de texte à utiliser pour le rendu (\"text/plain\" par défaut ; \"text/html\" peut être utilisé pour inclure des éléments HTML)\n"
},
"$:/language/Help/unpackplugin": {
"title": "$:/language/Help/unpackplugin",
"description": "Déballe les tiddlers contenus dans un plugin",
"text": "Extrait les tiddlers utiles d'un plugin, en les créant sous forme de tiddlers ordinaires :\n\n```\n--unpackplugin <titre>\n```\n"
},
"$:/language/Help/verbose": {
"title": "$:/language/Help/verbose",
"description": "Bascule en mode verbeux",
"text": "Bascule les informations en mode verbeux, pratique pour le débogage.\n\n```\n--verbose\n```\n"
},
"$:/language/Help/version": {
"title": "$:/language/Help/version",
"description": "Affiche le numéro de version de TiddlyWiki",
"text": "Affiche le numéro de version de TiddlyWiki.\n\n```\n--version\n```\n"
},
"$:/language/Import/Imported/Hint": {
"title": "$:/language/Import/Imported/Hint",
"text": " Les tiddlers suivants ont été importés :"
},
"$:/language/Import/Listing/Cancel/Caption": {
"title": "$:/language/Import/Listing/Cancel/Caption",
"text": "Annuler"
},
"$:/language/Import/Listing/Hint": {
"title": "$:/language/Import/Listing/Hint",
"text": "Les tiddlers suivants sont prêts pour l'importation :"
},
"$:/language/Import/Listing/Import/Caption": {
"title": "$:/language/Import/Listing/Import/Caption",
"text": "Importer"
},
"$:/language/Import/Listing/Select/Caption": {
"title": "$:/language/Import/Listing/Select/Caption",
"text": "Sélectionner"
},
"$:/language/Import/Listing/Status/Caption": {
"title": "$:/language/Import/Listing/Status/Caption",
"text": "Statut"
},
"$:/language/Import/Listing/Title/Caption": {
"title": "$:/language/Import/Listing/Title/Caption",
"text": "Titre"
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible",
"text": "Plugin bloqué : incompatible ou obsolète"
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Version": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Version",
"text": "Plugin bloqué (la version <<incoming>> en cours d'importation est plus ancienne que la version <<existing>> actuelle)"
},
"$:/language/Import/Upgrader/Plugins/Upgraded": {
"title": "$:/language/Import/Upgrader/Plugins/Upgraded",
"text": "Plugin mis à jour à partir de <<incoming>> vers <<upgraded>>"
},
"$:/language/Import/Upgrader/State/Suppressed": {
"title": "$:/language/Import/Upgrader/State/Suppressed",
"text": "Tiddler d'état temporaire bloqué"
},
"$:/language/Import/Upgrader/System/Suppressed": {
"title": "$:/language/Import/Upgrader/System/Suppressed",
"text": "Tiddler système bloqué"
},
"$:/language/Import/Upgrader/ThemeTweaks/Created": {
"title": "$:/language/Import/Upgrader/ThemeTweaks/Created",
"text": "Thème modifié à partir de <$text text=<<from>>/>"
},
"$:/language/AboveStory/ClassicPlugin/Warning": {
"title": "$:/language/AboveStory/ClassicPlugin/Warning",
"text": "On dirait que vous essayez de charger un plugin conçu pour ~TiddlyWiki Classic. Merci de noter que [[ces plugins ne fonctionnent pas avec TiddlyWiki version 5.x.x|http://tiddlywiki.com/#TiddlyWikiClassic]]. Plugins ~TiddlyWiki Classic détectés :"
},
"$:/language/BinaryWarning/Prompt": {
"title": "$:/language/BinaryWarning/Prompt",
"text": "Ce tiddler contient des données binaires"
},
"$:/language/ClassicWarning/Hint": {
"title": "$:/language/ClassicWarning/Hint",
"text": "Ce tiddler est écrit au format TiddlyWiki Classic, qui n'est pas entièrement compatible avec TiddlyWiki version 5. Pour en savoir plus, rendez-vous à l'adresse http://tiddlywiki.com/static/Upgrading.html. "
},
"$:/language/ClassicWarning/Upgrade/Caption": {
"title": "$:/language/ClassicWarning/Upgrade/Caption",
"text": "Mettre à jour"
},
"$:/language/CloseAll/Button": {
"title": "$:/language/CloseAll/Button",
"text": "Tout fermer"
},
"$:/language/ConfirmCancelTiddler": {
"title": "$:/language/ConfirmCancelTiddler",
"text": "Souhaitez-vous annuler les modifications apportées au tiddler « <$text text=<<title>>/> » ?"
},
"$:/language/ConfirmDeleteTiddler": {
"title": "$:/language/ConfirmDeleteTiddler",
"text": "Souhaitez-vous supprimer le tiddler « <$text text=<<title>>/> » ?"
},
"$:/language/ConfirmOverwriteTiddler": {
"title": "$:/language/ConfirmOverwriteTiddler",
"text": "Souhaitez-vous supplanter le tiddler « <$text text=<<title>>/> » ?"
},
"$:/language/ConfirmEditShadowTiddler": {
"title": "$:/language/ConfirmEditShadowTiddler",
"text": "Vous êtes sur le point d'éditer un ShadowTiddler. Toute modification supplantera la version par défaut du système, rendant les prochaines mises à jour non-triviales. Êtes-vous sûr(e) de vouloir éditer \"<$text text=<<title>>/>\"?"
},
"$:/language/Count": {
"title": "$:/language/Count",
"text": "total "
},
"$:/language/DefaultNewTiddlerTitle": {
"title": "$:/language/DefaultNewTiddlerTitle",
"text": "Nouveau tiddler"
},
"$:/language/DropMessage": {
"title": "$:/language/DropMessage",
"text": "Lâcher ici (ou appuyer sur « escape » pour annuler)"
},
"$:/language/Encryption/Cancel": {
"title": "$:/language/Encryption/Cancel",
"text": "Annuler"
},
"$:/language/Encryption/ConfirmClearPassword": {
"title": "$:/language/Encryption/ConfirmClearPassword",
"text": "Souhaitez-vous supprimer ce mot de passe ? Si oui, ce wiki ne sera plus chiffré au moment de la sauvegarde"
},
"$:/language/Encryption/PromptSetPassword": {
"title": "$:/language/Encryption/PromptSetPassword",
"text": "Choisir un nouveau mot de passe pour ce TiddlyWiki"
},
"$:/language/Encryption/Username": {
"title": "$:/language/Encryption/Username",
"text": "Nom d'utilisateur"
},
"$:/language/Encryption/Password": {
"title": "$:/language/Encryption/Password",
"text": "Mot de passe"
},
"$:/language/Encryption/RepeatPassword": {
"title": "$:/language/Encryption/RepeatPassword",
"text": "Répéter le mot de passe"
},
"$:/language/Encryption/PasswordNoMatch": {
"title": "$:/language/Encryption/PasswordNoMatch",
"text": "Les mots de passe ne correspondent pas"
},
"$:/language/Encryption/SetPassword": {
"title": "$:/language/Encryption/SetPassword",
"text": "Définir ce mot de passe "
},
"$:/language/Error/Caption": {
"title": "$:/language/Error/Caption",
"text": "Erreur"
},
"$:/language/Error/Filter": {
"title": "$:/language/Error/Filter",
"text": "Erreur de filtre"
},
"$:/language/Error/FilterSyntax": {
"title": "$:/language/Error/FilterSyntax",
"text": "Erreur de syntaxe dans l'expression du filtre"
},
"$:/language/Error/IsFilterOperator": {
"title": "$:/language/Error/IsFilterOperator",
"text": "Erreu de filtre : Opérande inconnu pour l'opérateur de filtre 'is'"
},
"$:/language/Error/LoadingPluginLibrary": {
"title": "$:/language/Error/LoadingPluginLibrary",
"text": "Erreur lors du chargement de la bibliothèque de plugins"
},
"$:/language/Error/RecursiveTransclusion": {
"title": "$:/language/Error/RecursiveTransclusion",
"text": "Erreur dans le widget //transclude// : transclusion récursive"
},
"$:/language/Error/RetrievingSkinny": {
"title": "$:/language/Error/RetrievingSkinny",
"text": "Erreur pendant la récupération de la liste des tiddlers (dégrossis)"
},
"$:/language/Error/SavingToTWEdit": {
"title": "$:/language/Error/SavingToTWEdit",
"text": "Erreur lors de l'enregistrement vers TWEdit"
},
"$:/language/Error/WhileSaving": {
"title": "$:/language/Error/WhileSaving",
"text": "Erreur lors de l'enregistrement"
},
"$:/language/Error/XMLHttpRequest": {
"title": "$:/language/Error/XMLHttpRequest",
"text": "Code d'erreur XMLHttpRequest"
},
"$:/language/InternalJavaScriptError/Title": {
"title": "$:/language/InternalJavaScriptError/Title",
"text": "Erreur interne JavaScript"
},
"$:/language/InternalJavaScriptError/Hint": {
"title": "$:/language/InternalJavaScriptError/Hint",
"text": "C'est assez embarrassant. Il est recommandé de rafraîchir l'affichage de votre navigateur"
},
"$:/language/InvalidFieldName": {
"title": "$:/language/InvalidFieldName",
"text": "Caractères illicites dans le nom du champ « <$text text=<<fieldName>>/> ». Les champs ne peuvent contenir que des lettres minuscules non accentuées et les caractères souligné (`_`), tiret (`-`) et point (`.`)"
},
"$:/language/LazyLoadingWarning": {
"title": "$:/language/LazyLoadingWarning",
"text": "<p>Chargement d'un texte externe ''<$text text={{!!_canonical_uri}}/>''</p><p>Si ce message ne disparaît pas, il se peut que vous utilisiez un navigateur qui n'accepte pas les textes externes dans cette configuration. Voir http://tiddlywiki.com/#ExternalText</p>"
},
"$:/language/LoginToTiddlySpace": {
"title": "$:/language/LoginToTiddlySpace",
"text": "Identification sur TiddlySpace"
},
"$:/language/MissingTiddler/Hint": {
"title": "$:/language/MissingTiddler/Hint",
"text": "Le tiddler « <$text text=<<currentTiddler>>/> » est manquant - cliquez sur {{$:/core/images/edit-button}} pour le créer"
},
"$:/language/No": {
"title": "$:/language/No",
"text": "Non"
},
"$:/language/OfficialPluginLibrary": {
"title": "$:/language/OfficialPluginLibrary",
"text": "Bibliothèque officielle des plugins ~TiddlyWiki"
},
"$:/language/OfficialPluginLibrary/Hint": {
"title": "$:/language/OfficialPluginLibrary/Hint",
"text": "La bibliothèque officielle des plugins ~TiddlyWiki sur tiddlywiki.com. Plugins, thèmes et packs pour les différentes langues sont maintenus par l'équipe responsable du noyau."
},
"$:/language/PluginReloadWarning": {
"title": "$:/language/PluginReloadWarning",
"text": "Merci d'enregistrer {{$:/core/ui/Buttons/save-wiki}} et de recharger {{$:/core/ui/Buttons/refresh}} pour que les changements apportés aux plugins prennent effet"
},
"$:/language/RecentChanges/DateFormat": {
"title": "$:/language/RecentChanges/DateFormat",
"text": "DD MMM YYYY"
},
"$:/language/SystemTiddler/Tooltip": {
"title": "$:/language/SystemTiddler/Tooltip",
"text": "Ceci est un tiddler système"
},
"$:/language/TagManager/Colour/Heading": {
"title": "$:/language/TagManager/Colour/Heading",
"text": "Couleur"
},
"$:/language/TagManager/Icon/Heading": {
"title": "$:/language/TagManager/Icon/Heading",
"text": "Icône"
},
"$:/language/TagManager/Info/Heading": {
"title": "$:/language/TagManager/Info/Heading",
"text": "Info"
},
"$:/language/TagManager/Tag/Heading": {
"title": "$:/language/TagManager/Tag/Heading",
"text": "Tag"
},
"$:/language/Tiddler/DateFormat": {
"title": "$:/language/Tiddler/DateFormat",
"text": "DD MMM YYYY à hhhmm"
},
"$:/language/UnsavedChangesWarning": {
"title": "$:/language/UnsavedChangesWarning",
"text": "Vos dernières modifications n'ont pas été sauvegardées dans votre TiddlyWiki"
},
"$:/language/Yes": {
"title": "$:/language/Yes",
"text": "Oui"
},
"$:/language/Modals/Download": {
"title": "$:/language/Modals/Download",
"type": "text/vnd.tiddlywiki",
"subtitle": "Télécharger vos modifications",
"footer": "<$button message=\"tm-close-tiddler\">Fermer</$button>",
"help": "http://tiddlywiki.com/static/DownloadingChanges.html",
"text": "Votre navigateur ne supporte que l'enregistrement manuel.\n\nPour enregistrer les modifications de votre wiki, faites un clic droit sur le lien de téléchargement ci-dessous et choisissez \"Enregistrer...\" ou \"Télécharger...\", puis choisissez le répertoire et le nom de fichier.\n\n//Il est possible d'accélérer un peu les choses en cliquant sur le lien en pressant la touche contrôle (Windows) ou la touche option/alt (Mac OS X). On ne vous demandera pas un nom de fichier ou de répertoire, mais votre navigateur proposera probablement un nom difficile à identifier — il vous faudra sans doute le renommer pour ajouter une extension .html avant qu'il soit réellement utilisable.//\n\nSur les smartphones qui n'autorisent pas le téléchargement de fichiers, vous pouvez ajouter le lien à vos favoris/signets, puis synchroniser vos signets avec un ordinateur de bureau, d'où le wiki pourra être enregistré normalement.\n"
},
"$:/language/Modals/SaveInstructions": {
"title": "$:/language/Modals/SaveInstructions",
"type": "text/vnd.tiddlywiki",
"subtitle": "Enregistrez votre travail",
"footer": "<$button message=\"tm-close-tiddler\">Fermer</$button>",
"help": "http://tiddlywiki.com/static/SavingChanges.html",
"text": "Les modifications effectuées dans ce wiki doivent être sauvegardées sous forme de fichier ~TiddlyWiki HTML.\n\n!!! Navigateurs de bureau\n\n# Sélectionnez ''Enregistrer sous'' depuis le menu ''Fichier''\n# Choisissez un nom de fichier et un dossier\n#* Certains navigateurs demandent aussi de spécifier explicitement le format d'enregistrement, à savoir ''Page Web, HTML uniquement'' ou quelque chose d'approchant\n# Fermez cet onglet\n\n!!! Navigateurs sur smartphone\n\n# Créez un favori/signet pour cette page\n#* Si vous utilisez iCloud ou Google Sync, le signet sera automatiquement synchronisé avec le navigateur de votre ordinateur de bureau, d'où vous pourrez l'ouvrir et enregistrer le fichier comme indiqué ci-dessus\n# Fermez cet onglet\n\n//Si vous ouvrez à nouveau le signet dans Safari pour mobile, vous verrez ce message une nouvelle fois. Si vous voulez continuer et utiliser le fichier, cliquez simplement sur le bouton ''Fermer'' ci-dessous//\n"
},
"$:/config/NewJournal/Title": {
"title": "$:/config/NewJournal/Title",
"text": "DD MMM YYYY"
},
"$:/config/NewJournal/Tags": {
"title": "$:/config/NewJournal/Tags",
"text": "Journal"
},
"$:/language/Notifications/Save/Done": {
"title": "$:/language/Notifications/Save/Done",
"text": "Wiki enregistré"
},
"$:/language/Notifications/Save/Starting": {
"title": "$:/language/Notifications/Save/Starting",
"text": "Enregistrement du wiki en cours"
},
"$:/language/Search/Filter/Caption": {
"title": "$:/language/Search/Filter/Caption",
"text": "Filtres"
},
"$:/language/Search/Filter/Hint": {
"title": "$:/language/Search/Filter/Hint",
"text": "Recherche via une combinaison de [[filtres|http://tiddlywiki.com/static/Filters.html]]"
},
"$:/language/Search/Filter/Matches": {
"title": "$:/language/Search/Filter/Matches",
"text": "//<small><<resultCount>> correspondances</small>//"
},
"$:/language/Search/Matches": {
"title": "$:/language/Search/Matches",
"text": "//<small><<resultCount>> correspondances</small>//"
},
"$:/language/Search/Matches/All": {
"title": "$:/language/Search/Matches/All",
"text": "Toutes les correspondances :"
},
"$:/language/Search/Matches/Title": {
"title": "$:/language/Search/Matches/Title",
"text": "Correspondances sur les titres :"
},
"$:/language/Search/Search": {
"title": "$:/language/Search/Search",
"text": "Recherche"
},
"$:/language/Search/Shadows/Caption": {
"title": "$:/language/Search/Shadows/Caption",
"text": "Shadows"
},
"$:/language/Search/Shadows/Hint": {
"title": "$:/language/Search/Shadows/Hint",
"text": "Recherche parmi les tiddlers //shadow//"
},
"$:/language/Search/Shadows/Matches": {
"title": "$:/language/Search/Shadows/Matches",
"text": "//<small><<resultCount>> correspondances</small>//"
},
"$:/language/Search/Standard/Caption": {
"title": "$:/language/Search/Standard/Caption",
"text": "Standard"
},
"$:/language/Search/Standard/Hint": {
"title": "$:/language/Search/Standard/Hint",
"text": "Recherche parmi les tiddlers standard"
},
"$:/language/Search/Standard/Matches": {
"title": "$:/language/Search/Standard/Matches",
"text": "//<small><<resultCount>> correspondances</small>//"
},
"$:/language/Search/System/Caption": {
"title": "$:/language/Search/System/Caption",
"text": "Système"
},
"$:/language/Search/System/Hint": {
"title": "$:/language/Search/System/Hint",
"text": "Recherche parmi les tiddlers //système//"
},
"$:/language/Search/System/Matches": {
"title": "$:/language/Search/System/Matches",
"text": "//<small><<resultCount>> correspondances</small>//"
},
"$:/language/SideBar/All/Caption": {
"title": "$:/language/SideBar/All/Caption",
"text": "Tout"
},
"$:/language/SideBar/Contents/Caption": {
"title": "$:/language/SideBar/Contents/Caption",
"text": "Sommaire"
},
"$:/language/SideBar/Drafts/Caption": {
"title": "$:/language/SideBar/Drafts/Caption",
"text": "Brouillons"
},
"$:/language/SideBar/Missing/Caption": {
"title": "$:/language/SideBar/Missing/Caption",
"text": "Manquants"
},
"$:/language/SideBar/More/Caption": {
"title": "$:/language/SideBar/More/Caption",
"text": "Plus"
},
"$:/language/SideBar/Open/Caption": {
"title": "$:/language/SideBar/Open/Caption",
"text": "Ouverts"
},
"$:/language/SideBar/Orphans/Caption": {
"title": "$:/language/SideBar/Orphans/Caption",
"text": "Orphelins"
},
"$:/language/SideBar/Recent/Caption": {
"title": "$:/language/SideBar/Recent/Caption",
"text": "Récents"
},
"$:/language/SideBar/Shadows/Caption": {
"title": "$:/language/SideBar/Shadows/Caption",
"text": "Shadows"
},
"$:/language/SideBar/System/Caption": {
"title": "$:/language/SideBar/System/Caption",
"text": "Système"
},
"$:/language/SideBar/Tags/Caption": {
"title": "$:/language/SideBar/Tags/Caption",
"text": "Tags"
},
"$:/language/SideBar/Tags/Untagged/Caption": {
"title": "$:/language/SideBar/Tags/Untagged/Caption",
"text": "sans étiquette"
},
"$:/language/SideBar/Tools/Caption": {
"title": "$:/language/SideBar/Tools/Caption",
"text": "Outils"
},
"$:/language/SideBar/Types/Caption": {
"title": "$:/language/SideBar/Types/Caption",
"text": "Types"
},
"$:/SiteSubtitle": {
"title": "$:/SiteSubtitle",
"text": "un carnet de notes non linéaire pour le Web"
},
"$:/SiteTitle": {
"title": "$:/SiteTitle",
"text": "Mon ~TiddlyWiki"
},
"$:/language/Snippets/ListByTag": {
"title": "$:/language/Snippets/ListByTag",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Liste de tiddlers par tag",
"text": "<<list-links \"[tag[task]sort[title]]\">>\n"
},
"$:/language/Snippets/Table4x3": {
"title": "$:/language/Snippets/Table4x3",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Tableau avec 4 colonnes par trois lignes",
"text": "|! |!Alpha |!Beta |!Gamma |!Delta |\n|!Un | | | | |\n|!Deux | | | | |\n|!Trois | | | | |\n"
},
"$:/language/Snippets/TableOfContents": {
"title": "$:/language/Snippets/TableOfContents",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Table des matières",
"text": "<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
},
"$:/language/ThemeTweaks/ThemeTweaks": {
"title": "$:/language/ThemeTweaks/ThemeTweaks",
"text": "Réglages du thème"
},
"$:/language/ThemeTweaks/ThemeTweaks/Hint": {
"title": "$:/language/ThemeTweaks/ThemeTweaks/Hint",
"text": "Vous pouvez ajuster certains aspects du thème ''Vanilla''."
},
"$:/language/ThemeTweaks/Options": {
"title": "$:/language/ThemeTweaks/Options",
"text": "Options"
},
"$:/language/ThemeTweaks/Options/SidebarLayout": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout",
"text": "Agencement de la barre latérale"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid",
"text": "Déroulé fixe, barre latérale extensible"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed",
"text": "Déroulé extensible, barre latérale fixe"
},
"$:/language/ThemeTweaks/Options/StickyTitles": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles",
"text": "Titres accrochés"
},
"$:/language/ThemeTweaks/Options/StickyTitles/Hint": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles/Hint",
"text": "“Accroche\" les titres de tiddler en haut de la fenêtre du navigateur pendant le défilement. Attention<<:>> Ne fonctionne pas du tout avec Chrome, et peut causer quelques problèmes de mise en page dans Firefox"
},
"$:/language/ThemeTweaks/Options/CodeWrapping": {
"title": "$:/language/ThemeTweaks/Options/CodeWrapping",
"text": "Enroule les lignes trop longues à l'intérieur des blocs de code"
},
"$:/language/ThemeTweaks/Settings": {
"title": "$:/language/ThemeTweaks/Settings",
"text": "Réglages"
},
"$:/language/ThemeTweaks/Settings/FontFamily": {
"title": "$:/language/ThemeTweaks/Settings/FontFamily",
"text": "Famille de polices"
},
"$:/language/ThemeTweaks/Settings/CodeFontFamily": {
"title": "$:/language/ThemeTweaks/Settings/CodeFontFamily",
"text": "Famille de polices pour le code"
},
"$:/language/ThemeTweaks/Settings/BackgroundImage": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImage",
"text": "Image de fond de page"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment",
"text": "Arrimage de l'image de fond de page"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll",
"text": "Défile avec les tiddlers"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed",
"text": "Arrimée à la fenêtre"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize",
"text": "Taille de l'image de fond de page"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto",
"text": "Auto"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover",
"text": "Élargie"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain",
"text": "Contenue"
},
"$:/language/ThemeTweaks/Metrics": {
"title": "$:/language/ThemeTweaks/Metrics",
"text": "Tailles"
},
"$:/language/ThemeTweaks/Metrics/FontSize": {
"title": "$:/language/ThemeTweaks/Metrics/FontSize",
"text": "Taille police"
},
"$:/language/ThemeTweaks/Metrics/LineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/LineHeight",
"text": "Hauteur ligne"
},
"$:/language/ThemeTweaks/Metrics/BodyFontSize": {
"title": "$:/language/ThemeTweaks/Metrics/BodyFontSize",
"text": "Taille de la police dans un tiddler"
},
"$:/language/ThemeTweaks/Metrics/BodyLineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/BodyLineHeight",
"text": "Hauteur de ligne dans un tiddler"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft",
"text": "Gauche du déroulé"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint",
"text": "marge gauche du déroulé principal<br>(zone des tiddlers) au bord gauche de la page"
},
"$:/language/ThemeTweaks/Metrics/StoryTop": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop",
"text": "Haut du déroulé"
},
"$:/language/ThemeTweaks/Metrics/StoryTop/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop/Hint",
"text": "marge supérieure du déroulé pincipal<br>au bord supérieur de la page"
},
"$:/language/ThemeTweaks/Metrics/StoryRight": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight",
"text": "Droite du déroulé"
},
"$:/language/ThemeTweaks/Metrics/StoryRight/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight/Hint",
"text": "marge de gauche du menu latéral<br>au bord gauche de la page"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth",
"text": "Largeur du déroulé"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint",
"text": "largeur hors tout du déroulé"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth",
"text": "Largeur des tiddlers"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint",
"text": "largeur des tiddlers dans le déroulé"
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint",
"text": "Décroché de la barre latérale"
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint",
"text": "largeur minimum de la page à partir de laquelle déroulé principal et barre latérale apparaissent côte à côte"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth",
"text": "Largeur de la barre latérale"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint",
"text": "largeur de la barre latérale dans l'agencement extensible-fixe"
},
"$:/language/TiddlerInfo/Advanced/Caption": {
"title": "$:/language/TiddlerInfo/Advanced/Caption",
"text": "Avancé"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint",
"text": "aucune information"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading",
"text": "Détails sur le plugin"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint",
"text": "Ce plugin contient les tiddlers <q>shadow</q> suivants :"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading",
"text": "Statut <q>shadow</q>"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint",
"text": "Le tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> n'est pas un tiddler <q>shadow</q>"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint",
"text": "Le tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> est un tiddler <q>shadow</q>"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source",
"text": "Il est défini dans le plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint",
"text": "Il est modifié par un tiddler normal"
},
"$:/language/TiddlerInfo/Fields/Caption": {
"title": "$:/language/TiddlerInfo/Fields/Caption",
"text": "Champs"
},
"$:/language/TiddlerInfo/List/Caption": {
"title": "$:/language/TiddlerInfo/List/Caption",
"text": "Liste"
},
"$:/language/TiddlerInfo/List/Empty": {
"title": "$:/language/TiddlerInfo/List/Empty",
"text": "Ce tiddler ne contient pas de champ //list//"
},
"$:/language/TiddlerInfo/Listed/Caption": {
"title": "$:/language/TiddlerInfo/Listed/Caption",
"text": "Listé"
},
"$:/language/TiddlerInfo/Listed/Empty": {
"title": "$:/language/TiddlerInfo/Listed/Empty",
"text": "Ce tiddler ne figure pas dans la liste d'un autre tiddler"
},
"$:/language/TiddlerInfo/References/Caption": {
"title": "$:/language/TiddlerInfo/References/Caption",
"text": "Références"
},
"$:/language/TiddlerInfo/References/Empty": {
"title": "$:/language/TiddlerInfo/References/Empty",
"text": "Aucun tiddler ne pointe vers celui-ci"
},
"$:/language/TiddlerInfo/Tagging/Caption": {
"title": "$:/language/TiddlerInfo/Tagging/Caption",
"text": "Étiquetage"
},
"$:/language/TiddlerInfo/Tagging/Empty": {
"title": "$:/language/TiddlerInfo/Tagging/Empty",
"text": "Le titre de ce tiddler ne sert de tag à aucun tiddler"
},
"$:/language/TiddlerInfo/Tools/Caption": {
"title": "$:/language/TiddlerInfo/Tools/Caption",
"text": "Outils"
},
"$:/language/Docs/Types/application/javascript": {
"title": "$:/language/Docs/Types/application/javascript",
"description": "Code JavaScript",
"name": "application/javascript",
"group": "Développeur"
},
"$:/language/Docs/Types/application/json": {
"title": "$:/language/Docs/Types/application/json",
"description": "Données au format JSON",
"name": "application/json",
"group": "Développeur"
},
"$:/language/Docs/Types/application/x-tiddler-dictionary": {
"title": "$:/language/Docs/Types/application/x-tiddler-dictionary",
"description": "Dictionnaire de données",
"name": "application/x-tiddler-dictionary",
"group": "Développeur"
},
"$:/language/Docs/Types/image/gif": {
"title": "$:/language/Docs/Types/image/gif",
"description": "Image au format GIF",
"name": "image/gif",
"group": "Image"
},
"$:/language/Docs/Types/image/jpeg": {
"title": "$:/language/Docs/Types/image/jpeg",
"description": "Image au format JPEG",
"name": "image/jpeg",
"group": "Image"
},
"$:/language/Docs/Types/image/png": {
"title": "$:/language/Docs/Types/image/png",
"description": "Image au format PNG",
"name": "image/png",
"group": "Image"
},
"$:/language/Docs/Types/image/svg+xml": {
"title": "$:/language/Docs/Types/image/svg+xml",
"description": "Image au format SVG",
"name": "image/svg+xml",
"group": "Image"
},
"$:/language/Docs/Types/image/x-icon": {
"title": "$:/language/Docs/Types/image/x-icon",
"description": "Fichier icone au format ICO",
"name": "image/x-icon",
"group": "Image"
},
"$:/language/Docs/Types/text/css": {
"title": "$:/language/Docs/Types/text/css",
"description": "Feuille de style CSS statique",
"name": "text/css",
"group": "Développeur"
},
"$:/language/Docs/Types/text/html": {
"title": "$:/language/Docs/Types/text/html",
"description": "Marquage HTML",
"name": "text/html",
"group": "Texte"
},
"$:/language/Docs/Types/text/plain": {
"title": "$:/language/Docs/Types/text/plain",
"description": "Format texte",
"name": "text/plain",
"group": "Texte"
},
"$:/language/Docs/Types/text/vnd.tiddlywiki": {
"title": "$:/language/Docs/Types/text/vnd.tiddlywiki",
"description": "TiddlyWiki version 5",
"name": "text/vnd.tiddlywiki",
"group": "Texte"
},
"$:/language/Docs/Types/text/x-tiddlywiki": {
"title": "$:/language/Docs/Types/text/x-tiddlywiki",
"description": "TiddlyWiki Classic",
"name": "text/x-tiddlywiki",
"group": "Texte"
},
"$:/languages/fr-FR/icon": {
"title": "$:/languages/fr-FR/icon",
"type": "image/svg+xml",
"text": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"900\" height=\"600\"><rect width=\"900\" height=\"600\" fill=\"#ED2939\"/><rect width=\"600\" height=\"600\" fill=\"#fff\"/><rect width=\"300\" height=\"600\" fill=\"#002395\"/></svg>\n"
}
}
}
<dl>
<$list filter="[all[current]has[debut]]">
<dd><i class="fa fa-calendar-o"></i> {{!!debut}}</dd>
<dd><i class="fa fa-male"></i> {{!!animateur}}</dd>
<dd><i class="fa fa-tags"></i> {{!!description}}</dd>
<dd>» //{{!!summary}}//</dd>
<dd>{{!!url}}</dd>
</$list>
</dl>
{
"tiddlers": {
"$:/plugins/danielo/keyboardSnippets/keyboard-snippets.js": {
"modified": "20140422024102379",
"modifier": "danielo",
"text": "/*\\\ntitle: $:/core/modules/widgets/keyboard-snippets.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar EditTextWidget = require(\"$:/core/modules/widgets/edit-text.js\")[\"edit-text\"];\n\n/*\nThe edit-text widget calls this method just after inserting its dom nodes\n*/\nEditTextWidget.prototype.postRender = function() {\n\tvar self = this;\n\tvar domNode = self.domNodes[0];\n\tthis.KEYMAP = this.wiki.getTiddlerData(\"$:/plugins/danielo/keyboardSnippets/KEYMAP\");\n\tthis.KEYBINDINGS = this.parseKeyBindings(this.wiki.getTiddlerData(\"$:/plugins/danielo/keyboardSnippets/KEYBINDINGS\"));\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"keydown\", handlerObject: this, handlerMethod: \"insertAtCursor\"}\n\t]);\n\n\n};\n\n\nEditTextWidget.prototype.createKeySnippet = function(preTag,postTag){\n if(typeof arguments[0] == \"object\")\n {\n\t var result = arguments[0];\n\t if(result.hasOwnProperty(\"length\")) return {regExp:result, length:result[0][\"replace\"].length};\n\t if(result.pre && result.post) result.length=result.pre.length;\n\t return result;\n }\n\t\n\treturn {pre:preTag, post:postTag, length:preTag.length };\n};\n\n\nEditTextWidget.prototype.getKeyName = function (keyCode){\n return this.KEYMAP[keyCode];\n};\n\n\nEditTextWidget.prototype.parseKeyBindings = function (keyCombinations){\nvar keybindings={}; \nif (keyCombinations) {\n\tfor(var comb in keyCombinations){\n\t\tkeybindings[comb.toLowerCase()]=this.createKeySnippet(keyCombinations[comb]);\n\t}\n\treturn keybindings;\n}\n\n keybindings={\n\n\t\t \"ctrl+b\" : this.createKeySnippet(\"''\",\"''\"), //b -- bold\n\t\t \"ctrl+i\" : this.createKeySnippet(\"//\",\"//\"), //i --italics\n\t\t \"ctrl+o\" : this.createKeySnippet(\"\\n#\",\" \"), //o -- Ordered list\n\t\t \"ctrl+u\" : this.createKeySnippet(\"__\",\"__\"), //u -- understrike list\n\t\t \"ctrl+k\" : this.createKeySnippet(\"\\n```\\n\",\"```\"), //k -- code\n\t\t \"ctrl+s\" : this.createKeySnippet(\",,\",\",,\"), //s -- subscript\n\t\t \"ctrl+l\" : this.createKeySnippet(\"\\n*\",\" \"), //l -- list\n\t\t \"ctrl+right_arrow\" : {moveto:\"|\"}\n\t\t};\n\treturn keybindings;\n\t\t\n\n};\n\nEditTextWidget.prototype.composeKeyCombo = function (event){\nvar keyCombo=\"\";\n if(event.ctrlKey)keyCombo+=\"ctrl+\";\n if(event.shiftKey)keyCombo+=\"shift+\";\n\t\t\tif(event.altKey)keyCombo+=\"alt+\";\n\t\t\tkeyCombo+=this.getKeyName(event.keyCode);\n\nreturn keyCombo;\n\n};\n\n\n\nEditTextWidget.prototype.insertAtCursor = function (event) {\n var snippet , myField=this.domNodes[0];\n\n if(snippet=this.KEYBINDINGS[this.composeKeyCombo(event)] )\n //para evitar sobreescribir otros eventos solo reaccionamos ante combinaciones que\n //estén en nuestro map de KEYBINDINGS\n {\n\tvar reacted=false;\n //Internet explorer\n if (document.selection) {\n myField.focus();\n var sel = document.selection.createRange();\n sel.text = snippet;\n }\n //MOZILLA and others\n else if (myField.selectionStart || myField.selectionStart == '0') {\n var selection = this.getSelection(myField);\n if( snippet.hasOwnProperty(\"moveto\") ){\n\t\t\t\t\tvar move = selection.followingText.indexOf(snippet.moveto);\n\t\t\t\t\tif(move >=0){ \n\t\t\t\t\t\treacted=true; //only stop default if we have to move\n\t\t\t\t\t\tthis.moveSelection(myField,selection,move+1);\n\t\t\t\t\t\t}\n\t\t\t\t}else{\n\t\t\t\t\treacted=true;\n\t\t\t\t\tmyField.value = selection.previousText\n\t\t\t\t\t\t+ this.applyTag(snippet,selection.text)\n\t\t\t\t\t\t+ selection.followingText;\n\t\t\t\t\tthis.moveSelection(myField,selection,snippet.length);\n\t\t\t\t}\n } else {\n myField.value += snippet;\n }\n\tif (reacted){ event.preventDefault(); event.stopPropagation();}\n\t\n this.saveChanges(this.domNodes[0].value);\n }\n\t\n};\n\n/*selection { object } domNode {dom object} \nlength{number} number of characters to move the selection */\nEditTextWidget.prototype.moveSelection = function(domNode,selection,length){\ndomNode.selectionStart = selection.start + length;\ndomNode.selectionEnd = selection.start + length + selection.text.length;\n};\n\nEditTextWidget.prototype.getSelection = function(domNode){\nvar selStarts=domNode.selectionStart; var selEnds=domNode.selectionEnd;\nreturn {\n\t\tstart:selStarts,\n\t\tend:selEnds,\n\t\ttext:domNode.value.substring(selStarts,selEnds),\n\t\tpreviousText:domNode.value.substring(0, selStarts),\n\t\tfollowingText:domNode.value.substring(selEnds, domNode.value.length)\n\t\t};\n};\n\nEditTextWidget.prototype.applyTag = function(tag,text){\n\tif(tag.hasOwnProperty(\"multiline\")){\n\t\tvar elements = text.split(\"\\n\");\n\t\tfor(var i in elements) \n\t\t\tif(elements[i].length > 1 || elements.length < 2)\n\t\t\t\telements[i]=tag.pre+elements[i]+tag.post;\n\t\t\t\n\t\ttext=elements.join(\"\\n\");\n\t}else if (tag.hasOwnProperty(\"regExp\")){\n\t\tvar regExps = tag.regExp;\n\t\tfor(var i in regExps){\n\t\t\tvar regExp = new RegExp(regExps[i].exp,regExps[i].modificators);\n\t\t\ttext = text.replace(regExp,regExps[i].replace);\n\t\t}\n\t}\t\n\telse{\n\t\ttext=tag.pre+text+tag.post;\n\t}\n\t\n\treturn text;\n\t\n};\n\n})();",
"type": "application/javascript",
"title": "$:/plugins/danielo/keyboardSnippets/keyboard-snippets.js",
"tags": "plugin",
"module-type": "widget",
"creator": "danielo",
"created": "20140418153435777"
},
"$:/plugins/danielo/keyboardSnippets/KEYBINDINGS": {
"modified": "20140422000833962",
"modifier": "danielo",
"text": "{ \n \"ctrl+b\" : { \"pre\":\"''\", \"post\":\"''\"}, \n \"ctrl+i\" : { \"pre\":\"//\", \"post\":\"//\"},\n \"ctrl+o\" : { \"pre\":\"#\", \"post\":\" \", \"multiline\":\"true\"},\n \"ctrl+l\" : { \"pre\":\"*\", \"post\":\" \",\"multiline\":\"true\"},\n \"ctrl+m\" : { \"pre\":\"<<\", \"post\":\">>\"},\n \"ctrl+u\" : { \"pre\":\"__\", \"post\":\"__\"}, \n \"ctrl+k\" : { \"pre\":\"\\n```\\n\", \"post\":\"```\"}, \n \"ctrl+s\" : { \"pre\":\",,\", \"post\":\",,\"},\n \"ctrl+alt+t\" : { \"pre\":\"{{\", \"post\":\"}}\"},\n \"ctrl+alt+l\" : { \"pre\":\"[[\", \"post\":\"]]\"},\n \"alt+h\" : { \"pre\":\"|! \", \"post\":\" |\"},\n \"alt+s\" : { \"pre\":\"~~\", \"post\":\"~~\"},\n \"alt+w\" : { \"pre\":\"<$\", \"post\":\"/>\"},\n \"alt+z\" : { \"pre\":\"{{!!\", \"post\":\"}}\"},\n \"ctrl+right_arrow\" : { \"moveto\" : \"|\"},\n \"alt+t\" : [ {\"exp\":\"^\", \"modificators\":\"gm\", \"replace\":\"| \"},{\"exp\":\" +\", \"modificators\":\"g\", \"replace\":\" | \"},{\"exp\":\"$\", \"modificators\":\"gm\", \"replace\":\" |\"}]\n\n}",
"type": "application/json",
"title": "$:/plugins/danielo/keyboardSnippets/KEYBINDINGS",
"tags": "plugin",
"creator": "danielo",
"created": "20140419050820052"
},
"$:/plugins/danielo/keyboardSnippets/KEYCODES": {
"modified": "20140418180839226",
"modifier": "danielo",
"text": "{\n \"backspace\" : \"8\",\n \"tab\" : \"9\",\n \"enter\" : \"13\",\n \"shift\" : \"16\",\n \"ctrl\" : \"17\",\n \"alt\" : \"18\",\n \"pause_break\" : \"19\",\n \"caps_lock\" : \"20\",\n \"escape\" : \"27\",\n \"page_up\" : \"33\",\n \"page down\" : \"34\",\n \"end\" : \"35\",\n \"home\" : \"36\",\n \"left_arrow\" : \"37\",\n \"up_arrow\" : \"38\",\n \"right_arrow\" : \"39\",\n \"down_arrow\" : \"40\",\n \"insert\" : \"45\",\n \"delete\" : \"46\",\n \"0\" : \"48\",\n \"1\" : \"49\",\n \"2\" : \"50\",\n \"3\" : \"51\",\n \"4\" : \"52\",\n \"5\" : \"53\",\n \"6\" : \"54\",\n \"7\" : \"55\",\n \"8\" : \"56\",\n \"9\" : \"57\",\n \"a\" : \"65\",\n \"b\" : \"66\",\n \"c\" : \"67\",\n \"d\" : \"68\",\n \"e\" : \"69\",\n \"f\" : \"70\",\n \"g\" : \"71\",\n \"h\" : \"72\",\n \"i\" : \"73\",\n \"j\" : \"74\",\n \"k\" : \"75\",\n \"l\" : \"76\",\n \"m\" : \"77\",\n \"n\" : \"78\",\n \"o\" : \"79\",\n \"p\" : \"80\",\n \"q\" : \"81\",\n \"r\" : \"82\",\n \"s\" : \"83\",\n \"t\" : \"84\",\n \"u\" : \"85\",\n \"v\" : \"86\",\n \"w\" : \"87\",\n \"x\" : \"88\",\n \"y\" : \"89\",\n \"z\" : \"90\",\n \"left_window key\" : \"91\",\n \"right_window key\" : \"92\",\n \"select_key\" : \"93\",\n \"numpad 0\" : \"96\",\n \"numpad 1\" : \"97\",\n \"numpad 2\" : \"98\",\n \"numpad 3\" : \"99\",\n \"numpad 4\" : \"100\",\n \"numpad 5\" : \"101\",\n \"numpad 6\" : \"102\",\n \"numpad 7\" : \"103\",\n \"numpad 8\" : \"104\",\n \"numpad 9\" : \"105\",\n \"multiply\" : \"106\",\n \"add\" : \"107\",\n \"subtract\" : \"109\",\n \"decimal point\" : \"110\",\n \"divide\" : \"111\",\n \"f1\" : \"112\",\n \"f2\" : \"113\",\n \"f3\" : \"114\",\n \"f4\" : \"115\",\n \"f5\" : \"116\",\n \"f6\" : \"117\",\n \"f7\" : \"118\",\n \"f8\" : \"119\",\n \"f9\" : \"120\",\n \"f10\" : \"121\",\n \"f11\" : \"122\",\n \"f12\" : \"123\",\n \"num_lock\" : \"144\",\n \"scroll_lock\" : \"145\",\n \"semi_colon\" : \"186\",\n \"equal_sign\" : \"187\",\n \"comma\" : \"188\",\n \"dash\" : \"189\",\n \"period\" : \"190\",\n \"forward_slash\" : \"191\",\n \"grave_accent\" : \"192\",\n \"open_bracket\" : \"219\",\n \"backslash\" : \"220\",\n \"closebracket\" : \"221\",\n \"single_quote\" : \"222\"\n }",
"type": "application/json",
"title": "$:/plugins/danielo/keyboardSnippets/KEYCODES",
"tags": "plugin",
"created": "20140418175933770"
},
"$:/plugins/danielo/keyboardSnippets/KEYMAP": {
"modified": "20140418184001124",
"modifier": "danielo",
"text": "{\"8\":\"backspace\",\"9\":\"tab\",\"13\":\"enter\",\"16\":\"shift\",\"17\":\"ctrl\",\"18\":\"alt\",\"19\":\"pause_break\",\"20\":\"caps_lock\",\"27\":\"escape\",\"33\":\"page_up\",\"34\":\"page down\",\"35\":\"end\",\"36\":\"home\",\"37\":\"left_arrow\",\"38\":\"up_arrow\",\"39\":\"right_arrow\",\"40\":\"down_arrow\",\"45\":\"insert\",\"46\":\"delete\",\"48\":\"0\",\"49\":\"1\",\"50\":\"2\",\"51\":\"3\",\"52\":\"4\",\"53\":\"5\",\"54\":\"6\",\"55\":\"7\",\"56\":\"8\",\"57\":\"9\",\"65\":\"a\",\"66\":\"b\",\"67\":\"c\",\"68\":\"d\",\"69\":\"e\",\"70\":\"f\",\"71\":\"g\",\"72\":\"h\",\"73\":\"i\",\"74\":\"j\",\"75\":\"k\",\"76\":\"l\",\"77\":\"m\",\"78\":\"n\",\"79\":\"o\",\"80\":\"p\",\"81\":\"q\",\"82\":\"r\",\"83\":\"s\",\"84\":\"t\",\"85\":\"u\",\"86\":\"v\",\"87\":\"w\",\"88\":\"x\",\"89\":\"y\",\"90\":\"z\",\"91\":\"left_window key\",\"92\":\"right_window key\",\"93\":\"select_key\",\"96\":\"numpad 0\",\"97\":\"numpad 1\",\"98\":\"numpad 2\",\"99\":\"numpad 3\",\"100\":\"numpad 4\",\"101\":\"numpad 5\",\"102\":\"numpad 6\",\"103\":\"numpad 7\",\"104\":\"numpad 8\",\"105\":\"numpad 9\",\"106\":\"multiply\",\"107\":\"add\",\"109\":\"subtract\",\"110\":\"decimal point\",\"111\":\"divide\",\"112\":\"f1\",\"113\":\"f2\",\"114\":\"f3\",\"115\":\"f4\",\"116\":\"f5\",\"117\":\"f6\",\"118\":\"f7\",\"119\":\"f8\",\"120\":\"f9\",\"121\":\"f10\",\"122\":\"f11\",\"123\":\"f12\",\"144\":\"num_lock\",\"145\":\"scroll_lock\",\"186\":\"semi_colon\",\"187\":\"equal_sign\",\"188\":\"comma\",\"189\":\"dash\",\"190\":\"period\",\"191\":\"forward_slash\",\"192\":\"grave_accent\",\"219\":\"open_bracket\",\"220\":\"backslash\",\"221\":\"closebracket\",\"222\":\"single_quote\"}",
"type": "application/json",
"title": "$:/plugins/danielo/keyboardSnippets/KEYMAP",
"tags": "plugin",
"created": "20140418183742933"
}
}
}
{
"tiddlers": {
"$:/plugins/felixhayashi/hotzone/config.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/hotzone/config.js\ntype: application/javascript\nmodule-type: library\n\n@preserve\n\n\\*/\n(function(){\"use strict\";exports.config={classNames:{storyRiver:\"tc-story-river\",tiddlerFrame:\"tc-tiddler-frame\",tiddlerTitle:\"tc-title\"},references:{userConfig:\"$:/config/hotzone/focusOffset\",focussedTiddlerStore:\"$:/temp/focussedTiddler\"},checkbackTime:$tw.utils.getAnimationDuration()}})();",
"title": "$:/plugins/felixhayashi/hotzone/config.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/plugins/felixhayashi/hotzone/hotzone.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/hotzone/hotzone.js\ntype: application/javascript\nmodule-type: startup\n\n@preserve\n\n\\*/\n(function(){\"use strict\";exports.name=\"hotzone\";exports.platforms=[\"browser\"];exports.after=[\"story\"];exports.synchronous=true;exports.startup=function(){var e=require(\"$:/plugins/felixhayashi/hotzone/config.js\").config;var t=null;var i=false;var r=document.getElementsByClassName(e.classNames.storyRiver)[0];var s=r.getElementsByClassName(e.classNames.tiddlerFrame);var n=$tw.wiki.getTiddlerData(e.references.userConfig,{});var a=isNaN(parseInt(n.focusOffset))?150:parseInt(n.focusOffset);var o=function(t,i,r){if(!(t instanceof Element))return;if(!$tw.utils.hasClass(t,e.classNames.tiddlerFrame))return;var s=t.getElementsByClassName(e.classNames.tiddlerTitle)[0];if(s){var n=s.innerText||s.textContent;return n.trim()}};var l=function(e,r){if(r){t=null}if(!i){i=true;window.setTimeout(d,e||0)}};var f=function(t,i){$tw.wiki.addTiddler(new $tw.Tiddler({title:e.references.focussedTiddlerStore,text:t},$tw.wiki.getModificationFields()));if(i){var r=document.getElementsByClassName(\"hzone-focus\")[0];if(r){$tw.utils.removeClass(r,\"hzone-focus\")}$tw.utils.addClass(i,\"hzone-focus\")}};var d=function(){if(s.length){var e=42;for(var r=0;r<s.length;r++){if(window.getComputedStyle(s[r])[\"display\"]===\"block\"){e=s[r].getBoundingClientRect().left;break}}var n=document.elementFromPoint(e+1,a);var l=o(n);if(l!==t&&$tw.wiki.getTiddler(l)){t=l;f(t,n)}}else if(t){t=\"\";f(t)}i=false};var u=function(e){if(e[\"$:/HistoryList\"]){if(!$tw.wiki.tiddlerExists(\"$:/HistoryList\"))return;var t=$tw.wiki.getTiddler(\"$:/HistoryList\").fields[\"current-tiddler\"];var i=$tw.wiki.getTiddlerList(\"$:/StoryList\");var r=i.indexOf(t)>=0;if(!r)return;l($tw.utils.getAnimationDuration()+100)}else if(e[\"$:/StoryList\"]){l($tw.utils.getAnimationDuration()+100,true)}};var c=function(e){l(250)};$tw.wiki.addEventListener(\"change\",u);window.addEventListener(\"scroll\",c,false);c()}})();",
"title": "$:/plugins/felixhayashi/hotzone/hotzone.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/plugins/felixhayashi/hotzone/Configuration": {
"title": "$:/plugins/felixhayashi/hotzone/Configuration",
"text": "Please see the [[GitHub page|https://github.com/felixhayashi/TW5-HotZone]] for more information on the options.\n\nSave and reload the wiki to activate changes.\n\n<table>\n <tr>\n <th align=\"left\">Focus offset:</th>\n <td><$edit-text tiddler=\"$:/config/hotzone/focusOffset\" tag=\"input\" default=\"71px\" /></td>\n </tr>\n</table>"
},
"$:/temp/focussedTiddler": {
"title": "$:/temp/focussedTiddler"
},
"$:/plugins/felixhayashi/hotzone/License": {
"title": "$:/plugins/felixhayashi/hotzone/License",
"text": "This code is released under the BSD license. For the exact terms visit:\n\nhttps://github.com/felixhayashi/TW5-HotZone/blob/master/LICENSE"
},
"$:/plugins/felixhayashi/hotzone/Readme": {
"title": "$:/plugins/felixhayashi/hotzone/Readme",
"text": "Please visit the [[GitHub page|https://github.com/felixhayashi/TW5-HotZone]] for more information."
}
}
}
{
"tiddlers": {
"$:/plugins/felixhayashi/tiddlymap/layout": {
"text": ".tmap-flash-message {\n border: 1px solid lightgray;\n padding: 5px; }\n .tmap-flash-message.tmap-valid {\n background: #D1EED4; }\n .tmap-flash-message.tmap-malformed {\n background: #EED5D1; }\n\n.tmap-graph-placeholder::before {\n content: \"TiddlyMap\";\n display: block;\n text-align: center;\n padding: 20px;\n background-color: whitesmoke; }\n\nhtml {\n /*\n body {\n background: url(unquote('<$macrocall $name=\"makedatauri\" type={{$:/plugins/felixhayashi/tiddlymap/media/surface.png!!type}} text={{$:/plugins/felixhayashi/tiddlymap/media/surface.png}}/>'));\n }\n */ }\n html .tmap-link {\n color: #5778D8; }\n html .tmap-link:hover {\n color: white;\n background: #5778D8; }\n html .tmap-small-list, html .tmap-very-small-list {\n overflow: auto;\n min-height: 20px;\n max-height: 150px;\n display: block; }\n html .tmap-very-small-list {\n max-height: 70px; }\n html .tmap-quick-connect {\n font-size: 0.7em; }\n html .tmap-quick-connect .tc-drop-down {\n padding: 5px;\n width: 250px;\n white-space: normal;\n line-height: 1em;\n position: absolute;\n z-index: 1000;\n right: 50px; }\n html .tmap-quick-connect .tc-drop-down select {\n width: 80px;\n word-wrap: initial; }\n html .tmap-quick-connect .tc-drop-down table {\n border: none;\n margin-bottom: 0px; }\n html .tmap-quick-connect .tc-drop-down table td {\n padding: 3px;\n border: none;\n vertical-align: top; }\n html .tmap-quick-connect .tc-drop-down .tmap-scroll-table {\n height: 120px;\n overflow: auto;\n display: block; }\n html .tmap-quick-connect .tc-drop-down hr {\n border: 0;\n height: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n border-bottom: 1px solid rgba(255, 255, 255, 0.3); }\n html .tmap-quick-connect .tc-drop-down a {\n display: inline;\n padding: 0;\n color: #5778d8;\n background: transparent; }\n html .tmap-quick-connect .tc-drop-down a:hover {\n background: transparent;\n color: #5778d8;\n text-decoration: underline; }\n html .tmap-quick-connect .tc-drop-down button {\n display: inline-block;\n padding: 0px 3px;\n width: auto;\n text-align: left;\n color: #333333;\n line-height: 1; }\n html .tmap-quick-connect .tc-drop-down button:hover {\n color: #ffffff; }\n html .tmap-quick-connect .tc-drop-down button svg:hover {\n fill: #ffffff; }\n html .tc-modal-wrapper {\n z-index: 1010; }\n html .tc-modal-wrapper .tc-modal-header svg {\n vertical-align: sub; }\n html .tc-modal-wrapper .tc-modal-header h3 {\n line-height: 10px; }\n html .tc-modal-wrapper .tc-modal-body {\n min-height: 250px;\n max-height: 70vh;\n overflow: auto; }\n html .tc-modal-wrapper .tc-modal-body > div > p:first-child {\n margin-top: 0px; }\n html .tc-modal-wrapper .tc-modal-body > div > p:last-child {\n margin-bottom: 0px; }\n html .tc-modal-wrapper .tc-modal-body .tc-image-button {\n font-size: 14px; }\n html .tc-modal-wrapper .tc-modal-body .tmap-modal-editor .tc-tiddler-frame {\n padding: 0px;\n width: auto;\n margin: 0px;\n border: none; }\n html .tc-modal-wrapper .tc-modal-body .tmap-modal-editor .tc-tiddler-frame .tc-tiddler-title {\n display: none; }\n html .tc-modal-wrapper .tc-modal-body #edge-type-manager .tc-tab-buttons {\n padding-top: 0px; }\n html .tc-modal-wrapper .tc-modal-body #edge-type-manager > div:first-child {\n height: 100%;\n float: left;\n width: 20%;\n position: fixed; }\n html .tc-modal-wrapper .tc-modal-body #edge-type-manager > div:first-child .searchbar input {\n width: 100%; }\n html .tc-modal-wrapper .tc-modal-body #edge-type-manager > div:first-child ul {\n height: calc(100% - 135px);\n overflow: auto;\n margin: 5px 0 0 0;\n padding-left: 0px;\n list-style: none; }\n html .tc-modal-wrapper .tc-modal-body #edge-type-manager > div:first-child ul li {\n white-space: nowrap; }\n html .tc-modal-wrapper .tc-modal-body #edge-type-manager > div:last-child {\n height: 100%;\n width: calc(80% - 20px);\n margin-left: 22%; }\n html .tc-modal-wrapper .tc-modal-body fieldset legend {\n font-weight: bold; }\n html .tc-modal-wrapper .tc-modal-body table {\n margin: 6px 0;\n clear: both;\n border: none;\n width: 100%; }\n html .tc-modal-wrapper .tc-modal-body table td, html .tc-modal-wrapper .tc-modal-body table th {\n border: 1px solid lightgray; }\n html .tc-modal-wrapper .tc-modal-body table.tmap-key-value-table th {\n width: 30%; }\n html .tc-modal-wrapper .tc-modal-body table.tmap-config-table tr:nth-child(odd) {\n background-color: #E8E8E8; }\n html .tc-modal-wrapper .tc-modal-body table.tmap-config-table tr:nth-child(even) {\n background-color: #FFFFFF; }\n html .tc-modal-wrapper .tc-modal-body table.tmap-config-table tr:hover {\n background-color: #FFFFF3; }\n html .tc-modal-wrapper .tc-modal-body table.tmap-config-table tr td {\n border: none;\n vertical-align: top;\n padding: 5px; }\n html .tc-modal-wrapper .tc-modal-body table.tmap-config-table tr td:first-child {\n width: 15%; }\n html .tc-modal-wrapper .tc-modal-body table.tmap-config-table tr td:last-child {\n width: 35%; }\n html .tc-modal-wrapper .tc-modal-body table.tmap-config-table tr td input, html .tc-modal-wrapper .tc-modal-body table.tmap-config-table tr td textarea, html .tc-modal-wrapper .tc-modal-body table.tmap-config-table tr td select {\n width: 100%;\n /* prevents bad looking select boxes and wrapping in textareas */\n word-wrap: normal; }\n html .tc-modal-wrapper .tc-modal-body table.tmap-config-table tr .tmap-note {\n margin: 10px 10px 10px 0; }\n html .tc-modal-wrapper .tc-modal-body table.tmap-config-table tr .tmap-description {\n font-style: italic; }\n html .tc-modal-wrapper .tc-modal-body table ul {\n padding-left: 30px; }\n html .tc-modal-wrapper .tc-modal-body table ul li {\n list-style: none; }\n html .tc-modal-wrapper .tc-modal-footer {\n padding: 8px; }\n html .tc-modal-wrapper .tc-modal-footer .tmap-dialog-button {\n font-weight: bold; }\n html .tc-modal-wrapper .tc-modal-footer .tmap-hidden-close-button {\n display: none; }\n html #tmap-node-filter-dialog #tmap-filter-tips {\n font-size: 0.8em; }\n html #tmap-node-filter-dialog textarea {\n height: 100px;\n max-height: 300px;\n overflow: auto;\n width: 100%;\n font-size: 11px;\n font-family: \"Courier New\", Courier, monospace; }\n html .tc-sidebar-scrollable .tmap-widget {\n position: relative;\n min-height: 350px; }\n html .tc-sidebar-scrollable .tmap-widget.tmap-halfscreen {\n position: absolute;\n right: 0px;\n top: 0;\n left: 0px;\n bottom: 0;\n padding: 0px;\n width: 100% !important;\n border: none;\n border-left: 1px solid lightgray;\n height: 100% !important;\n margin: 0;\n background: #ececec;\n z-index: 1000; }\n html .tmap-widget {\n position: relative;\n border: 1px dotted lightgray;\n padding: 2px;\n width: 100%;\n color: #666666;\n display: block; }\n html .tmap-widget .tmap-loading-bar {\n display: block;\n position: absolute;\n text-align: center;\n font-size: 2em;\n padding: 10px;\n top: 50%;\n background: rgba(245, 245, 245, 0.5);\n z-index: 1;\n width: 250px;\n margin: auto;\n left: 0px;\n right: 0px; }\n html .tmap-widget.tmap-click-to-use:not(.tmap-fullscreen) .vis-network:not(.vis-active) {\n cursor: pointer; }\n html .tmap-widget.tmap-click-to-use:not(.tmap-fullscreen) .vis-network:not(.vis-active) .vis-navigation {\n display: none; }\n html .tmap-widget.tmap-click-to-use:not(.tmap-fullscreen) .vis-network:not(.vis-active):hover:before {\n box-shadow: 10px 10px 5px lightgray;\n color: gray;\n background: white;\n content: \"Click to use\";\n font-size: 18px;\n font-weight: bold;\n left: 50%;\n margin-left: -100px;\n position: absolute;\n text-align: center;\n top: 50px;\n width: 200px;\n z-index: 2000;\n padding: 5px;\n pointer-events: none; }\n html .tmap-widget .tmap-vis-graph {\n height: calc(100% - 35px); }\n html .tmap-widget .tmap-vis-graph .vis-network .vis-network-tooltip {\n max-width: 250px;\n white-space: normal; }\n html .tmap-widget .tmap-vis-graph .vis-network .vis-manipulation {\n border-top: 1px solid #d6d9d8;\n background: rgba(245, 245, 245, 0.7); }\n html .tmap-widget .tmap-vis-graph .vis-network .vis-navigation .vis-button.tmap-button-enabled {\n right: 15px; }\n html .tmap-widget .tmap-vis-graph .vis-network .vis-navigation .vis-button.tmap-button-enabled.tmap-fullscreen-button {\n bottom: 90px;\n background-image: url(<$macrocall $name=\"makedatauri\" type=\"image/png\" text={{$:/plugins/felixhayashi/tiddlymap/media/fullscreen.png}} />); }\n html .tmap-widget .tmap-vis-graph .vis-network .vis-navigation .vis-button.tmap-button-enabled.tmap-halfscreen-button {\n bottom: 130px;\n background-image: url(<$macrocall $name=\"makedatauri\" type=\"image/png\" text={{$:/plugins/felixhayashi/tiddlymap/media/halfscreen.png}} />); }\n html .tmap-widget .tmap-vis-graph .vis-network .vis-navigation .vis-button:hover {\n box-shadow: 0 0 3px 3px rgba(75, 75, 75, 0.3); }\n html .tmap-widget .tmap-vis-graph .vis-network .vis-navigation .vis-button:hover:before {\n background: beige;\n display: block;\n color: black;\n padding: 3px;\n position: relative;\n border: 1px solid lightgray;\n width: 80px;\n left: -70px;\n top: -30px;\n z-index: 1000;\n text-align: center; }\n html .tmap-widget .tmap-vis-graph .vis-network .vis-navigation .vis-button:hover.vis-up:before {\n left: 30px;\n content: \"Scroll up\"; }\n html .tmap-widget .tmap-vis-graph .vis-network .vis-navigation .vis-button:hover.vis-down:before {\n left: 30px;\n content: \"Scroll down\"; }\n html .tmap-widget .tmap-vis-graph .vis-network .vis-navigation .vis-button:hover.vis-right:before {\n left: 30px;\n content: \"Scroll right\"; }\n html .tmap-widget .tmap-vis-graph .vis-network .vis-navigation .vis-button:hover.vis-left:before {\n left: 30px;\n content: \"Scroll left\"; }\n html .tmap-widget .tmap-vis-graph .vis-network .vis-navigation .vis-button:hover.vis-zoomOut:before {\n content: \"Zoom out\"; }\n html .tmap-widget .tmap-vis-graph .vis-network .vis-navigation .vis-button:hover.vis-zoomIn:before {\n content: \"Zoom in\"; }\n html .tmap-widget .tmap-vis-graph .vis-network .vis-navigation .vis-button:hover.vis-zoomExtends:before {\n content: \"Reset focus\"; }\n html .tmap-widget .tmap-vis-graph .vis-network .vis-navigation .vis-button:hover.tmap-fullscreen-button:before {\n content: \"Fullscreen\"; }\n html .tmap-widget .tmap-vis-graph .vis-network .vis-navigation .vis-button:hover.tmap-halfscreen-button:before {\n content: \"Halfscreen\"; }\n html .tmap-widget.tmap-no-buttons .vis-navigation {\n display: none; }\n html .tmap-widget.tmap-advanced-editor {\n background: #F2F2F2; }\n html .tmap-widget.tmap-advanced-editor .tmap-topbar {\n background: #d6d9d8; }\n html .tmap-widget.tmap-advanced-editor .tmap-topbar .tmap-radar-button {\n font-size: 1.5em;\n vertical-align: middle; }\n html .tmap-widget .tmap-menu-bar {\n width: 100%; }\n html .tmap-widget .tmap-topbar {\n background: #F5F5F5;\n border-bottom: 1px solid lightgray;\n padding: 3px 5px;\n height: 35px;\n position: relative; }\n html .tmap-widget .tmap-topbar .tmap-view-label {\n width: 100%;\n text-align: center;\n font-weight: bold;\n padding-top: 3px; }\n html .tmap-widget .tmap-topbar .tmap-focus-button {\n position: absolute;\n right: 10px; }\n html .tmap-widget .tmap-topbar .tmap-focus-button input {\n width: 140px; }\n html .tmap-widget .tmap-topbar .tmap-popup {\n position: relative; }\n html .tmap-widget .tmap-topbar .tmap-popup .tc-drop-down {\n position: absolute;\n z-index: 999;\n right: 0px; }\n html .tmap-widget .tmap-topbar .tc-drop-down {\n background-color: #F3F3F3;\n min-width: 170px;\n max-width: 210px;\n padding: 5px;\n margin: 5px 0; }\n html .tmap-widget .tmap-topbar .tc-drop-down button, html .tmap-widget .tmap-topbar .tc-drop-down a {\n padding: 0px;\n text-decoration: none; }\n html .tmap-widget .tmap-topbar .tc-drop-down button:hover, html .tmap-widget .tmap-topbar .tc-drop-down a:hover {\n color: #ffffff; }\n html .tmap-widget .tmap-topbar .tc-drop-down button svg, html .tmap-widget .tmap-topbar .tc-drop-down a svg {\n vertical-align: middle; }\n html .tmap-widget .tmap-topbar [hidden] {\n display: none; }\n html .tmap-widget .tmap-topbar .tc-block-dropdown {\n width: 370px;\n min-width: 370px;\n padding: 5px;\n margin: 15px 0 0 -370px; }\n html .tmap-widget .tmap-topbar .tc-block-dropdown a {\n display: inline;\n padding: 0px; }\n html .tmap-widget .tmap-topbar select {\n width: 30%;\n max-width: 200px;\n word-wrap: initial;\n padding: 0px; }\n html .tmap-widget .tmap-topbar button {\n line-height: inherit;\n color: #666666; }\n html .tmap-widget .tmap-topbar > * {\n display: inline-block; }\n html .tmap-widget .tmap-topbar .tmap-separator:after {\n color: #bdbdbd;\n margin: 3px;\n content: \" | \"; }\n html .tmap-widget .tmap-topbar .tc-edit-add-tag .tc-add-tag-name input {\n width: 70%; }\n html .tmap-widget .tmap-topbar .tc-sidebar-header {\n text-shadow: none; }\n html .tmap-widget .tmap-topbar .tc-edit-tags {\n border: none;\n padding: inherit;\n box-shadow: none; }\n\nhtml:fullscreen body {\n overflow: hidden; }\nhtml:fullscreen .tc-dropzone > *:not(.tmap-has-fullscreen-child) {\n z-index: 0; }\nhtml:fullscreen .tmap-has-fullscreen-child {\n z-index: 1 !important;\n left: 0px !important;\n top: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n position: fixed !important; }\n html:fullscreen .tmap-has-fullscreen-child .tmap-widget.tmap-fullscreen {\n background: white !important;\n height: 100% !important;\n width: 100% !important;\n position: fixed !important;\n top: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n left: 0 !important;\n z-index: 999 !important;\n border: none !important;\n margin: 0 !important; }\n\nhtml:-moz-full-screen body {\n overflow: hidden; }\nhtml:-moz-full-screen .tc-dropzone > *:not(.tmap-has-fullscreen-child) {\n z-index: 0; }\nhtml:-moz-full-screen .tmap-has-fullscreen-child {\n z-index: 1 !important;\n left: 0px !important;\n top: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n position: fixed !important; }\n html:-moz-full-screen .tmap-has-fullscreen-child .tmap-widget.tmap-fullscreen {\n background: white !important;\n height: 100% !important;\n width: 100% !important;\n position: fixed !important;\n top: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n left: 0 !important;\n z-index: 999 !important;\n border: none !important;\n margin: 0 !important; }\n\nhtml:-webkit-full-screen body {\n overflow: hidden; }\nhtml:-webkit-full-screen .tc-dropzone > *:not(.tmap-has-fullscreen-child) {\n z-index: 0; }\nhtml:-webkit-full-screen .tmap-has-fullscreen-child {\n z-index: 1 !important;\n left: 0px !important;\n top: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n position: fixed !important; }\n html:-webkit-full-screen .tmap-has-fullscreen-child .tmap-widget.tmap-fullscreen {\n background: white !important;\n height: 100% !important;\n width: 100% !important;\n position: fixed !important;\n top: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n left: 0 !important;\n z-index: 999 !important;\n border: none !important;\n margin: 0 !important; }\n\nhtml:-ms-fullscreen body {\n overflow: hidden; }\nhtml:-ms-fullscreen .tc-dropzone > *:not(.tmap-has-fullscreen-child) {\n z-index: 0; }\nhtml:-ms-fullscreen .tmap-has-fullscreen-child {\n z-index: 1 !important;\n left: 0px !important;\n top: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n position: fixed !important; }\n html:-ms-fullscreen .tmap-has-fullscreen-child .tmap-widget.tmap-fullscreen {\n background: white !important;\n height: 100% !important;\n width: 100% !important;\n position: fixed !important;\n top: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n left: 0 !important;\n z-index: 999 !important;\n border: none !important;\n margin: 0 !important; }\n",
"type": "text/vnd.tiddlywiki",
"title": "$:/plugins/felixhayashi/tiddlymap/layout",
"tags": [
"$:/tags/Stylesheet"
]
},
"$:/plugins/felixhayashi/tiddlymap/adapter.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/tiddlymap/adapter.js\ntype: application/javascript\nmodule-type: library\n\n@module TiddlyMap\n@preserve\n\n\\*/\n(function(){var t=require(\"$:/plugins/felixhayashi/tiddlymap/view_abstraction.js\").ViewAbstraction;var e=require(\"$:/plugins/felixhayashi/tiddlymap/edgetype.js\").EdgeType;var i=require(\"$:/plugins/felixhayashi/vis/vis.js\");var s=require(\"$:/core/modules/macros/contrastcolour.js\").run;var r=function(){this.wiki=$tw.wiki;this.opt=$tw.tmap.opt;this.logger=$tw.tmap.logger;this.utils=$tw.tmap.utils};r.prototype.deleteEdge=function(t){return this._processEdge(t,\"delete\")};r.prototype.deleteEdges=function(t){t=this.utils.convert(t,\"array\");for(var e=0;e<t.length;e++){this.deleteEdge(t[e])}};r.prototype.insertEdge=function(t){return this._processEdge(t,\"insert\")};r.prototype._processEdge=function(t,i){this.logger(\"debug\",\"Edge\",i,t);if(typeof t!==\"object\"||!i||!t.from)return;if(i===\"insert\"&&!t.to)return;var s=$tw.tmap.indeces.tById[t.from];if(!s||!this.utils.tiddlerExists(s))return;var r=new e(t.type);var o=this.utils.getTiddler(s);var a=r.getNamespace();if(a===\"tw-list\"){if(!t.to)return;return this._processListEdge(o,t,r,i)}else if(a===\"tw-field\"){if(!t.to)return;return this._processFieldEdge(o,t,r,i)}else if(a===\"tw-body\"){return null}else{return this._processTmapEdge(o,t,r,i)}return t};r.prototype._processTmapEdge=function(t,e,i,s){if(s===\"delete\"&&!e.id)return;var r=this.utils.parseFieldData(t,this.opt.field.edges,{});if(s===\"insert\"){e.id=e.id||this.utils.genUUID();r[e.id]={to:e.to,type:i.getId()};if(!i.exists()){i.persist()}}else{delete r[e.id]}this.utils.writeFieldData(t,this.opt.field.edges,r);return e};r.prototype._processListEdge=function(t,e,i,s){var r=i.getId(true);var o=this.utils.getTiddler(t);var a=$tw.utils.parseStringArray(t.fields[r]);a=(a||[]).slice();var d=$tw.tmap.indeces.tById[e.to];if(s===\"insert\"){a.push(d);if(!i.exists()){i.persist()}}else{var n=a.indexOf(d);if(n>-1){a.splice(n,1)}}this.utils.setField(o,r,$tw.utils.stringifyList(a));return e};r.prototype._processFieldEdge=function(t,e,i,s){var r=$tw.tmap.indeces.tById[e.to];if(r==null)return;var o=s===\"insert\"?r:\"\";this.utils.setField(t,i.getId(true),o);if(!i.exists()){i.persist()}return e};r.prototype.getAdjacencyList=function(t,e){$tw.tmap.start(\"Creating adjacency list\");e=e||{};if(!e.edges){var i=this.utils.getMatches(this.opt.selector.allPotentialNodes);e.edges=this.getEdgesForSet(i,e.toWL,e.typeWL)}var s=this.utils.groupByProperty(e.edges,t);$tw.tmap.stop(\"Creating adjacency list\");return s};r.prototype.getNeighbours=function(t,e){$tw.tmap.start(\"Get neighbours\");e=e||{};t=t.slice();var i=e.addProperties;var s=this.getAdjacencyList(\"to\",e);var r=this.utils.getDataMap();var o=this.utils.getDataMap();var a=parseInt(e.steps)>0?e.steps:1;var d=function(){var a=this.utils.getArrayValuesAsHashmapKeys(t);for(var d=t.length-1;d>=0;d--){if(this.utils.isSystemOrDraft(t[d]))continue;var n=this.getEdges(t[d],e.toWL,e.typeWL);$tw.utils.extend(r,n);for(var l in n){var p=$tw.tmap.indeces.tById[n[l].to];if(!a[p]&&!o[n[l].to]){var g=this.makeNode(p,i,e.view);if(g){o[n[l].to]=g;t.push(p)}}}var u=s[$tw.tmap.indeces.idByT[t[d]]];if(u){for(var h=0;h<u.length;h++){var f=$tw.tmap.indeces.tById[u[h].from];if(a[f])continue;if(!o[u[h].from]){var g=this.makeNode(f,i,e.view);if(g){o[u[h].from]=g;t.push(f)}}r[u[h].id]=u[h]}}}}.bind(this);for(var n=0;n<a;n++){var l=t.length;d();if(l===t.length)break}var p={nodes:o,edges:r};this.logger(\"debug\",\"Retrieved neighbourhood\",p,\"steps\",n);$tw.tmap.stop(\"Get neighbours\");return p};r.prototype.getGraph=function(e){$tw.tmap.start(\"Assembling Graph\");e=e||{};var i=new t(e.view);var s=this.utils.getMatches(e.filter||i.getNodeFilter(\"compiled\"));var r=this.utils.getArrayValuesAsHashmapKeys(s);var o=this.getEdgeTypeWhiteList(i.getEdgeFilter(\"compiled\"));var a=parseInt(e.neighbourhoodScope||i.getConfig(\"neighbourhood_scope\"));var d={edges:this.getEdgesForSet(s,r,o),nodes:this.selectNodesByReferences(s,{view:i,outputType:\"hashmap\",addProperties:{group:\"matches\"}})};if(a){var n=this.getNeighbours(s,{steps:a,view:i,typeWL:o,addProperties:{group:\"neighbours\"}});this.utils.merge(d,n);if(i.isEnabled(\"show_inter_neighbour_edges\")){var l=this.getTiddlersById(n.nodes);var r=this.utils.getArrayValuesAsHashmapKeys(l);$tw.utils.extend(d.edges,this.getEdgesForSet(l,r))}}$tw.tmap.stop(\"Assembling Graph\");this.logger(\"debug\",\"Assembled graph:\",d);return d};r.prototype.getEdges=function(t,e,i){if(!this.utils.tiddlerExists(t)||this.utils.isSystemOrDraft(t)){return}var s=this.utils.getTiddler(t);var r=this.utils.getTiddlerRef(t);var o=this._getTmapEdges(t,e,i);var a=this.utils.getMatches($tw.tmap.opt.selector.allListEdgeStores);var d=this.utils.getDataMap();d[\"tw-body:link\"]=this.wiki.getTiddlerLinks(r);for(var n=0;n<a.length;n++){d[\"tw-list:\"+a[n]]=$tw.utils.parseStringArray(s.fields[a[n]])}var a=this.utils.getMatches($tw.tmap.opt.selector.allFieldEdgeStores);for(var n=0;n<a.length;n++){d[\"tw-field:\"+a[n]]=[s.fields[a[n]]]}$tw.utils.extend(o,this._getEdgesFromRefArray(r,d,e,i));return o};r.prototype._getEdgesFromRefArray=function(t,i,s,r){var o=this.utils.getDataMap();for(var a in i){var d=i[a];if(!d||r&&!r[a])continue;a=new e(a);for(var n=0;n<d.length;n++){var l=d[n];if(!l||!$tw.wiki.tiddlerExists(l)||this.utils.isSystemOrDraft(l)||s&&!s[l])continue;var p=a.getId()+$tw.utils.hashString(t+l);var g=this.makeEdge(this.getId(t),this.getId(l),a,p);if(g){o[g.id]=g}}}return o};r.prototype._getTmapEdges=function(t,e,i){var s=this.utils.parseFieldData(t,this.opt.field.edges,{});var r=this.utils.getDataMap();for(var o in s){var a=s[o];var d=$tw.tmap.indeces.tById[a.to];if(d&&(!e||e[d])&&(!i||i[a.type])){var n=this.makeEdge(this.getId(t),a.to,a.type,o);if(n){r[o]=n}}}return r};r.prototype.getEdgeTypeWhiteList=function(t){var i=this.utils.getDataMap();var s=this.utils.getMatches(this.opt.selector.allEdgeTypes);var r=t?this.utils.getMatches(t,s):s;for(var o=0;o<r.length;o++){var a=new e(r[o]);i[a.getId()]=a}return i};r.prototype.getEdgesForSet=function(t,e,i){var s=this.utils.getDataMap();for(var r=0;r<t.length;r++){$tw.utils.extend(s,this.getEdges(t[r],e,i))}return s};r.prototype.selectEdgesByType=function(t){var i=this.utils.getDataMap();i[new e(t).getId()]=true;var s=this.utils.getMatches(this.opt.selector.allPotentialNodes);var r=this.getEdgesForSet(s,null,i);return r};r.prototype._processEdgesWithType=function(t,i){t=new e(t);this.logger(\"debug\",\"Processing edges\",t,i);var s=this.selectEdgesByType(t);if(i.action===\"rename\"){var r=new e(i.newName);r.loadDataFromType(t);r.persist()}for(var o in s){this._processEdge(s[o],\"delete\");if(i.action===\"rename\"){s[o].type=i.newName;this._processEdge(s[o],\"insert\")}}$tw.wiki.deleteTiddler(t.getPath())};r.prototype.selectNodesByFilter=function(t,e){var i=this.utils.getMatches(t);return this.selectNodesByReferences(i,e)};r.prototype.selectNodesByReferences=function(t,e){e=e||{};var i=e.addProperties;var s=this.utils.getDataMap();var r=Object.keys(t);for(var o=0;o<r.length;o++){var a=this.makeNode(t[r[o]],i,e.view);if(a){s[a.id]=a}}return this.utils.convert(s,e.outputType)};r.prototype.makeEdge=function(t,i,s,r){if(!t||!i)return;if(t instanceof $tw.Tiddler){t=t.fields[this.opt.field.nodeId]}else if(typeof t===\"object\"){t=t.id}s=new e(s);var o={id:r||this.utils.genUUID(),from:t,to:i,type:s.getId(),title:s.getData(\"description\")};o.label=this.utils.isTrue(s.getData(\"show-label\"),true)?s.getLabel():undefined;o=$tw.utils.extend(o,s.getData(\"style\"));return o};r.prototype.makeNode=function(e,i,r){var o=this.utils.getTiddler(e,true);if(!o||o.isDraft()||this.wiki.isSystemTiddler(o.fields.title)){return}var a=$tw.utils.extendDeepCopy($tw.tmap.opt.config.vis.groups[i&&i.group||\"matches\"]);var d=o.fields[this.opt.field.nodeIcon];if(d){var n=this.utils.getTiddler(d);if(n&&n.fields.text){var l=n.fields.type?n.fields.type:\"image/svg+xml\";var p=n.fields.text;a.shape=\"image\";if(l===\"image/svg+xml\"){p=p.replace(/\\r?\\n|\\r/g,\" \");if(!this.utils.inArray(\"xmlns\",p)){p=p.replace(/<svg/,'<svg xmlns=\"http://www.w3.org/2000/svg\"')}}var g=$tw.config.contentTypeInfo[l].encoding===\"base64\"?p:window.btoa(p);a.image=\"data:\"+l+\";base64,\"+g}}var u=o.fields[this.opt.field.nodeLabel];a.label=u&&this.opt.field.nodeLabel!==\"title\"?this.wiki.renderText(\"text/plain\",\"text/vnd-tiddlywiki\",u):o.fields.title;var h=o.fields[this.opt.field.nodeInfo];a.title=h&&this.opt.field.nodeInfo!==\"text\"?this.wiki.renderText(\"text/html\",\"text/vnd-tiddlywiki\",h):o.fields.title;if(o.fields.color){a.color=o.fields.color;a.font=a.font||{};a.font.color=s(a.color,a.color,\"#000000\",\"#FFFFFF\")}if(typeof i===\"object\"){a=$tw.utils.extend(a,i)}a.id=this.assignId(o);var r=new t(r);if(r.exists()){var f=r.getPositions()[a.id];if(f){$tw.utils.extend(a,f);if(!r.isEnabled(\"physics_mode\")){a.fixed={x:true,y:true}}}}return a};r.prototype.selectNodesByIds=function(t,e){var i=this.getTiddlersById(t);return this.selectNodesByReferences(i,e)};r.prototype.selectNodeById=function(t,e){e=this.utils.merge(e,{outputType:\"hashmap\"});var i=this.selectNodesByIds([t],e);return i[t]};r.prototype.getTiddlersById=function(t){if(Array.isArray(t)){t=this.utils.getArrayValuesAsHashmapKeys(t)}else if(t instanceof i.DataSet){t=this.utils.getLookupTable(t,\"id\")}var e=[];for(var s in t){var r=$tw.tmap.indeces.tById[s];if(r)e.push(r)}return e};r.prototype.getId=function(t){return $tw.tmap.indeces.idByT[this.utils.getTiddlerRef(t)]};r.prototype.deleteNode=function(t){if(!t)return;var e=typeof t===\"object\"?t.id:t;var i=$tw.tmap.indeces.tById[e];if(!this.utils.tiddlerExists(i))return;var s=this.opt.field.nodeId;var r=this.wiki.getTiddlerList(\"$:/StoryList\");var o=r.indexOf(i);if(o!==-1){r.splice(o,1);var a=this.wiki.getTiddler(\"$:/StoryList\");this.utils.setField(a,\"list\",r)}var d=this.getNeighbours([i]);this.deleteEdges(d.edges);this.wiki.deleteTiddler(i)};r.prototype.getView=function(e,i){return new t(e,i)};r.prototype.createView=function(e){if(typeof e!==\"string\"||e===\"\"){e=\"My view\"}var i=this.wiki.generateNewTitle(this.opt.path.views+\"/\"+e);return new t(i,true)};r.prototype.createEdgeType=function(t){return new e(t)};r.prototype.storePositions=function(e,i){i=new t(i);i.setPositions(e)};r.prototype.assignId=function(t,e){var i=this.utils.getTiddler(t,true);if(!i)return;var s=this.opt.field.nodeId;var r=i.fields[s];if(!r||e&&s!==\"title\"){r=this.utils.genUUID();this.utils.setField(i,s,r);this.logger(\"info\",\"Assigning new id to\",i.fields.title)}$tw.tmap.indeces.tById[r]=i.fields.title;$tw.tmap.indeces.idByT[i.fields.title]=r;return r};r.prototype.getCollectionFilter=function(t){var e=this.getGraph({view:t});var i=Object.keys(this.utils.getLookupTable(e.nodes,\"id\"));return this.utils.joinAndWrap(i,\"[field:\"+this.opt.field.nodeId+\"[\",\"]]\")};r.prototype.insertNode=function(e,i){if(!i||typeof i!==\"object\")i={};if(!e||typeof e!==\"object\"){e=this.utils.getDataMap()}var s=this.utils.getDataMap();s.title=this.wiki.generateNewTitle(e.label?e.label:\"New node\");e.label=s.title;if(this.opt.field.nodeId===\"title\"){e.id=s.title}else{e.id=this.utils.genUUID();s[this.opt.field.nodeId]=e.id}if(i.view){var r=new t(i.view);r.addNodeToView(e)}this.wiki.addTiddler(new $tw.Tiddler(s,this.wiki.getModificationFields(),this.wiki.getCreationFields()));return e};exports.Adapter=r})();",
"title": "$:/plugins/felixhayashi/tiddlymap/adapter.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/plugins/felixhayashi/tiddlymap/callback_manager.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/tiddlymap/callback_manager.js\ntype: application/javascript\nmodule-type: library\n\n@module TiddlyMap\n@preserve\n\n\\*/\n(function(){\"use strict\";var e=require(\"$:/plugins/felixhayashi/tiddlymap/utils.js\").utils;var t=function(){this.wiki=$tw.wiki;this.logger=$tw.tmap.logger;this.callbacks=e.getDataMap()};t.prototype.add=function(e,t,i){this.logger(\"debug\",'A callback was registered for changes of \"'+e+'\"');this.callbacks[e]={execute:t,isDeleteOnCall:typeof i===\"boolean\"?i:true}};t.prototype.remove=function(e){if(!e)return;if(typeof e===\"string\"){e=[e]}for(var t=0;t<e.length;t++){var i=e[t];if(this.callbacks[i]){this.logger(\"debug\",'A callback for \"'+i+'\" will be deleted');delete this.callbacks[i]}}};t.prototype.handleChanges=function(e){if(this.callbacks.length==0){this.logger(\"debug\",\"No registered callbacks exist at the moment\");return}for(var t in e){if(!this.callbacks[t])continue;if(this.wiki.getTiddler(t)){this.logger(\"debug\",'A callback for \"'+t+'\" will be executed');this.callbacks[t].execute(t);if(!this.callbacks.isDeleteOnCall)continue}this.remove(t)}};exports.CallbackManager=t})();",
"title": "$:/plugins/felixhayashi/tiddlymap/callback_manager.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/plugins/felixhayashi/tiddlymap/defaults.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/tiddlymap/defaults.js\ntype: application/javascript\nmodule-type: library\n\n@module TiddlyMap\n@preserve\n\n\\*/\n(function(){var i={path:{pluginRoot:\"$:/plugins/felixhayashi/tiddlymap\",edgeTypes:\"$:/plugins/felixhayashi/tiddlymap/graph/edgeTypes\",views:\"$:/plugins/felixhayashi/tiddlymap/graph/views\",options:\"$:/plugins/felixhayashi/tiddlymap/config\",tempRoot:\"$:/temp/felixhayashi/tiddlymap\",localHolders:\"$:/temp/felixhayashi/tiddlymap/holders\",dialogs:\"$:/plugins/felixhayashi/tiddlymap/dialog\"},ref:{dialogStandardFooter:\"$:/plugins/felixhayashi/tiddlymap/dialog/standardFooter\",defaultGraphViewHolder:\"$:/plugins/felixhayashi/tiddlymap/misc/defaultViewHolder\",graphBar:\"$:/plugins/felixhayashi/tiddlymap/misc/advancedEditorBar\",sysConf:\"$:/plugins/felixhayashi/tiddlymap/config/sys\",sysUserConf:\"$:/plugins/felixhayashi/tiddlymap/config/sys/user\",visConf:\"$:/plugins/felixhayashi/tiddlymap/config/vis\",visUserConf:\"$:/plugins/felixhayashi/tiddlymap/config/vis/user\",welcomeFlag:\"$:/plugins/felixhayashi/tiddlymap/flag/welcome\",focusButton:\"$:/plugins/felixhayashi/tiddlymap/misc/focusButton\",sysMeta:\"$:/plugins/felixhayashi/tiddlymap/misc/meta\"},config:{sys:{field:{nodeId:\"tmap.id\",nodeLabel:\"caption\",nodeIcon:\"icon\",nodeInfo:\"description\",viewMarker:\"isview\",edgeTypeMarker:\"isview\",edges:\"tmap.edges\"},suppressedDialogs:{},debug:\"false\",notifications:\"true\",editNodeOnCreate:\"false\",singleClickMode:\"false\"}},misc:{unknownEdgeLabel:\"__noname__\",cssPrefix:\"tmap-\",sysEdgeTypeNS:\"tmap\"}};exports.defaults=i})();",
"title": "$:/plugins/felixhayashi/tiddlymap/defaults.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/plugins/felixhayashi/tiddlymap/dialog_manager.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/tiddlymap/dialog_manager.js\ntype: application/javascript\nmodule-type: library\n\n@module TiddlyMap\n@preserve\n\n\\*/\n(function(){\"use strict\";var t=require(\"$:/plugins/felixhayashi/tiddlymap/utils.js\").utils;var e=require(\"$:/plugins/felixhayashi/tiddlymap/callback_manager.js\").CallbackManager;var i=function(t,e){this.wiki=$tw.wiki;this.logger=$tw.tmap.logger;this.adapter=$tw.tmap.adapter;this.opt=$tw.tmap.opt;this.callbackManager=t;if(e){this.context=e}};i.prototype.open=function(e,i,a){if(t.isTrue(this.opt.config.sys.suppressedDialogs[e],false)){this.logger(\"warning\",\"Suppressed dialog\",e);return}i=i||{};this.logger(\"debug\",\"Dialog param object\",i);if(typeof a===\"function\"&&this.context){a=a.bind(this.context)}var r=this.opt.path.tempRoot+\"/dialog-\"+t.genUUID();var l=t.getTiddler(this.opt.path.dialogs+\"/\"+e);var s={title:r,buttons:l.fields[\"buttons\"]||\"ok_cancel\",output:r+\"/output\",result:r+\"/result\",temp:r+\"/temp\",templateId:e,currentTiddler:r+\"/output\"};if(i.dialog){if(i.dialog.preselects){this.wiki.addTiddler(new $tw.Tiddler({title:s.output},i.dialog.preselects));delete i.dialog.preselects}t.merge(s,i.dialog)}s.footer=t.getText(this.opt.path.footers);s=t.flatten(s);i=t.flatten(i);this.callbackManager.add(s.result,function(e){this.getElement(\"hidden-close-button\").click();var i=this.wiki.getTiddler(e);var l=i.fields.text;if(l){var n=this.wiki.getTiddler(s.output)}else{var n=null;$tw.tmap.notify(\"operation cancelled\")}if(typeof a===\"function\"){a(l,n)}var o=t.getMatches(\"[prefix[\"+r+\"]]\");t.deleteTiddlers(o)}.bind(this),true);var n=new $tw.Tiddler(l,i,s);this.wiki.addTiddler(n);this.logger(\"debug\",\"Opening dialog\",n);$tw.rootWidget.dispatchEvent({type:\"tm-modal\",param:n.fields.title,paramObject:n.fields});this.addKeyBindings();return n};i.prototype.getElement=function(e){return t.getFirstElementByClassName(\"tmap-\"+e)};i.prototype.addKeyBindings=function(){var e=$tw.tmap.keycharm({container:t.getFirstElementByClassName(\"tc-modal\")});var i=/tmap-triggers-(.+?)-on-(.+?)(?:\\s|$)/;var a=document.getElementsByClassName(\"tmap-trigger-field\");for(var r=0;r<a.length;r++){var l=a[r].className.split(\" \");for(var s=0;s<l.length;s++){var n=l[s].match(i);if(!n){continue}var o=n[1];var d=n[2];var p=this.getElement(o);if(!p)continue;e.bind(d,function(){this.click()}.bind(p))}}};exports.DialogManager=i})();",
"title": "$:/plugins/felixhayashi/tiddlymap/dialog_manager.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/plugins/felixhayashi/tiddlymap/edgetype.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/tiddlymap/edgetype.js\ntype: application/javascript\nmodule-type: library\n\n@module TiddlyMap\n@preserve\n\n\\*/\n(function(){var t=function(i){if(i instanceof t){return i}if(!i){i=\"tmap:unknown\"}else if(typeof i!==\"string\"){throw\"Cannot create edge-type\"}this.createShortcuts();this.data=this.utils.getDataMap();this.whitelist=[\"description\",\"style\",\"label\",\"modified\",\"created\",\"show-label\"];this.id=this.utils.getWithoutPrefix(i,this.opt.path.edgeTypes+\"/\");this.loadDataFromType(this.id)};t.prototype.createShortcuts=function(){this.wiki=$tw.wiki;this.opt=$tw.tmap.opt;this.logger=$tw.tmap.logger;this.utils=$tw.tmap.utils};t.prototype.getPath=function(){return this.opt.path.edgeTypes+\"/\"+this.id};t.prototype.exists=function(){return this.utils.tiddlerExists(this.getPath())};t.prototype.getLabel=function(){return this.data.label||this.getId(true)};t.prototype.getNamespace=function(){var t=this.id.match(\"^(.*):\");return t?t[1]:\"\"};t.prototype.getId=function(t){return t?this.id.substring(this.id.indexOf(\":\")+1):this.id};t.prototype.getData=function(t){if(t===\"label\"){return this.getLabel()}return t?this.data[t]:this.data};t.prototype.setData=function(){var t=arguments;if(t.length===2){if(typeof t[0]===\"string\"){if(t[1]&&this.utils.inArray(t[0],this.whitelist)){if(t[0]===\"style\"){this.setStyle(t[1])}else{this.data[t[0]]=t[1]}}else{delete this.data[t[0]]}}}else if(t.length===1&&typeof t[0]===\"object\"){for(var i in t[0]){this.setData(i,t[0][i])}}};t.prototype.setStyle=function(t,i){if(typeof t===\"string\"){t=this.utils.parseJSON(t)}if(typeof t===\"object\"){if(i){this.utils.merge(this.data.style,t)}else{this.data.style=t}}};t.prototype.persist=function(t,i){if(!t){t=this.getPath()}if(typeof t===\"string\"){var e={title:t};if(!this.utils.startsWith(t,this.opt.path.edgeTypes)){e.id=this.id}else{$tw.utils.extend(e,this.wiki.getModificationFields());if(!this.exists()){$tw.utils.extend(e,this.wiki.getCreationFields())}}var s=i?$tw.config.preferences.jsonSpaces:null;this.data.style=JSON.stringify(this.data.style,null,s);$tw.wiki.addTiddler(new $tw.Tiddler(this.data,e))}};t.prototype.loadDataFromType=function(i){if(i instanceof t){this.setData(i.getData())}else{if(i instanceof $tw.Tiddler){i=i.fields.title}if(typeof i===\"string\"){if(!this.utils.startsWith(i,this.opt.path.edgeTypes)){i=this.opt.path.edgeTypes+\"/\"+i}this.loadDataFromTiddler(this.wiki.getTiddler(i),false)}}};t.prototype.isShipped=function(){return $tw.wiki.getSubTiddler(this.opt.path.pluginRoot,this.getPath())};t.prototype.loadDataFromTiddler=function(t){var i=this.utils.getTiddler(t);if(i){var e=$tw.wiki.getSubTiddler(this.opt.path.pluginRoot,this.getPath())||{};var s=$tw.utils.extend({},e.fields,i.fields);this.setData(s)}};exports.EdgeType=t})();",
"title": "$:/plugins/felixhayashi/tiddlymap/edgetype.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/plugins/felixhayashi/tiddlymap/exception.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/tiddlymap/exception.js\ntype: application/javascript\nmodule-type: library\n\n@module TiddlyMap\n@preserve\n\n\\*/\n(function(){Exception={};Exception.EnvironmentError=function(n){this.name=\"EnvironmentError\";this.message=\"Critical parts of the underlying system changed: \"+n};Exception.DependencyError=function(n){this.name=\"DependencyError\";this.message=\"TiddlyMap cannot run without: \"+n};for(var n in Exception){Exception[n].prototype=Object.create(Error.prototype);Exception[n].constructor=Exception[n]}exports.Exception=Exception})();",
"title": "$:/plugins/felixhayashi/tiddlymap/exception.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/plugins/felixhayashi/tiddlymap/utils.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/tiddlymap/utils.js\ntype: application/javascript\nmodule-type: library\n\nATTENTION: THIS CLASS MUST NOT REQUIRE ANY OTHER TIDDLYMAP FILE\nIN ORDER TO AVOID ACYCLIC DEPENDENCIES!\n\n@module TiddlyMap\n@preserve\n\n\\*/\n(function(){var e=require(\"$:/plugins/felixhayashi/vis/vis.js\");var t=require(\"$:/plugins/felixhayashi/tiddlymap/exception.js\").Exception;var r={};r.deleteTiddlers=function(e){var t=Object.keys(e);for(var n=0;n<t.length;n++){if(r.tiddlerExists(e[t[n]])){var i=r.getTiddlerRef(e[t[n]]);$tw.wiki.deleteTiddler(i)}}};r.moveFieldValues=function(e,t,n,i){var l=$tw.wiki.allTitles();for(var a=0;a<l.length;a++){var f=r.getTiddler(l[a]);if(f.isDraft()||!f.fields[e]||!i&&$tw.wiki.isSystemTiddler(l[a])){continue}var u={};u[t]=f.fields[e];if(n){u[e]=undefined}$tw.wiki.addTiddler(new $tw.Tiddler(f,u))}};r.getTiddlerIds=function(e,t){var n=[];var i=Object.keys(e);for(var l=0;l<i.length;l++){if(r.tiddlerExists(e[i[l]])){var a=r.getTiddler(e[i[l]]).fields[t];n.push(a)}}return n};r.getLabel=function(e,t){var n=r.getTiddler(e);return n&&n.fields[t]?n.fields[t]:n.fields.title};r.convert=function(t,n){if(typeof t!==\"object\")return;switch(n){case\"array\":return r.getValues(t);case\"hashmap\":case\"object\":if(t instanceof e.DataSet){return e.get({returnType:\"Object\"})}else{return t}case\"dataset\":default:if(t instanceof e.DataSet){return t}if(!Array.isArray(t)){t=r.getValues(t)}return new e.DataSet(t)}};r.inject=function(t,n){if(n instanceof e.DataSet){n.update(r.convert(t,\"array\"))}else if(Array.isArray(n)){t=r.convert(t,\"object\");for(var i in t){if(!r.inArray(t[i],n)){n.push(t[i])}}}else{$tw.utils.extend(n,r.convert(t,\"object\"))}return n};r.getValues=function(t){if(Array.isArray(t)){return t}if(t instanceof e.DataSet){return t.get({returnType:\"Array\"})}var r=[];var n=Object.keys(t);for(var i=0;i<n.length;i++){r.push(t[n[i]])}return r};r.hasOwnProp=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};r.getDataMap=function(){var e=Object.create(null);Object.defineProperty(e,\"hasOwnProperty\",{enumerable:false,configurable:false,writable:false,value:Object.prototype.hasOwnProperty.bind(e)});return e};r.getMatches=function(e,t,n){var i=undefined;if(t!==null&&typeof t===\"object\"){var l=Object.keys(t);i=function(e){for(var n=0;n<l.length;n++){var i=r.getTiddler(t[l[n]]);if(i){e(i,i.fields.title)}}}}if(typeof e===\"string\"){e=$tw.wiki.compileFilter(e)}var a=e.call($tw.wiki,i);if(n){var f=r.getDataMap();for(var u=0;u<a.length;u++){f[a[u]]=$tw.wiki.getTiddler(a[u])}return f}else{return a}};r.isMatch=function(e,t){var n=r.getTiddlerRef(e);return r.getMatches(t,[n]).length>0};r.isInteger=Number.isInteger||function(e){return typeof e===\"number\"&&isFinite(e)&&Math.floor(e)===e};r.escapeRegex=function(e){return e.replace(/[-$^?.+*[\\]\\\\(){}|]/g,\"\\\\$&\")};r.isTrue=function(e,t){if(e==null){return t}else if(typeof e===\"string\"){var r=parseInt(e);return isNaN(r)?e===\"true\":r!==0;if(e===\"1\"||this.data[conf]===\"true\");}else if(typeof e===\"boolean\"){return e}else if(typeof e===\"number\"){return r!==0}return false};r.getTiddlerRef=function(e){if(e instanceof $tw.Tiddler){return e.fields.title}else if(typeof e===\"string\"){return e}};r.getTiddler=function(e,t){if(e instanceof $tw.Tiddler){if(!t){return e}e=e.fields.title}return $tw.wiki.getTiddler(e)};r.getBasename=function(e){return e.substring(e.lastIndexOf(\"/\")+1)};r.notify=function(e){var t=\"$:/temp/tiddlymap/notify\";$tw.wiki.addTiddler(new $tw.Tiddler({title:t,text:e}));$tw.notifier.display(t)};r.tiddlerExists=function(e){var t=r.getTiddlerRef(e);return t&&($tw.wiki.tiddlerExists(t)||$tw.wiki.isShadowTiddler(t))};r.addListeners=function(e,t,r){for(var n in e){t.addEventListener(n,e[n].bind(r))}};r.isPreviewed=function(e){if(e){if(e.getVariable(\"tv-tiddler-preview\")){return true}else{var t=\"tc-tiddler-preview-preview\";return!!r.getAncestorWithClass(e.parentDomNode,t)}}return false};r.getAncestorWithClass=function(e,t){if(typeof e!==\"object\"||typeof t!==\"string\")return;while(e.parentNode){e=e.parentNode;if($tw.utils.hasClass(e,t)){return e}}};r.getPropertiesByPrefix=function(e,t,n){var i=r.getDataMap();for(var l in e){if(r.startsWith(l,t)){i[n?l.substr(t.length):l]=e[l]}}return i};r.getWithoutPrefix=function(e,t){return r.startsWith(e,t)?e.substr(t.length):e};r.startsWith=function(e,t){return typeof e===\"string\"&&e.indexOf(t)===0};r.hasElements=function(e){return Object.keys(e).length>0};r.groupByProperty=function(e,t){e=r.getIterableCollection(e);var n=r.getDataMap();var i=Object.keys(e);for(var l in i){var a=e[i[l]];var f=a[t];if(f==null){throw\"Cannot group by property \"+t}else{if(!Array.isArray(n[f])){n[f]=[]}n[f].push(a)}}return n};r.findAndRemoveClassNames=function(e){for(var t=0;t<e.length;t++){var r=document.getElementsByClassName(e[t]);for(var n=0;n<r.length;n++){$tw.utils.removeClass(r[n],e[t])}}};r.parseFieldData=function(e,t,n){var i=r.getTiddler(e);if(!i)return n;if(!t)t=\"text\";return r.parseJSON(i.fields[t],n)};r.parseJSON=function(e,t){try{return JSON.parse(e)}catch(r){return t}};r.writeFieldData=function(e,t,n){if(typeof n===\"object\"){r.setField(e,t,JSON.stringify(n))}};r.getPrettyFilter=function(e){e=e.trim().replace(\"][\",\"] [\");var t=/[\\+\\-]?\\[.+?[\\]\\}\\>]\\]/g;var r=e.match(t);e=e.replace(t,\" [] \").trim();var n=e.split(/\\s+/);var i=0;var l=[];for(var a=0;a<n.length;a++){l[a]=n[a]===\"[]\"?r[i++]:n[a]}return l.join(\"\\n\")};r.setField=function(e,t,n){if(e&&t){var i={title:r.getTiddlerRef(e)};i[t]=n;var l=r.getTiddler(e,true);$tw.wiki.addTiddler(new $tw.Tiddler(l,i))}};r.setEntry=function(e,t,n){$tw.wiki.setText(r.getTiddlerRef(e),null,t,n)};r.getEntry=function(e,t,n){var i=$tw.wiki.getTiddlerData(r.getTiddlerRef(e),{});return i[t]==null?n:i[t]};r.getField=function(e,t,n){var i=r.getTiddler(e);return i?i.fields[t]:n?n:\"\"};r.getText=function(e,t){return r.getField(e,\"text\",t)};r.getFirstElementByClassName=function(e,t,n){var i=(t||document).getElementsByClassName(e)[0];if(!i&&n!==false){var l=\"Missing element with class \"+e+\" inside \"+t;throw new r.Exception.EnvironmentError(l)}return i};r.isDraft=function(e){return r.getTiddler(e)&&r.getTiddler(e).isDraft()};r.merge=function(e,t){var r=function(e,t){if(typeof e!==\"object\"){e={}}for(var n in t){if(t.hasOwnProperty(n)){if(t[n]!=null){e[n]=typeof t[n]===\"object\"?r(e[n],t[n]):t[n]}}}return e};return r(e,t)};r.drawRaster=function(e,t,r,n,i){var n=parseInt(n)||10;var l=e.canvas;var a=l.width/t;var f=l.width/t;var u=r.x-a/2;var s=r.y-f/2;for(var o=u;o<a;o+=n){e.moveTo(o,s);e.lineTo(o,f)}for(var d=s;d<f;d+=n){e.moveTo(u,d);e.lineTo(a,d)}e.strokeStyle=i||\"#D9D9D9\";e.stroke()};r.isSystemOrDraft=function(e){if($tw.wiki.isSystemTiddler(r.getTiddlerRef(e))){return true}else{var t=r.getTiddler(e);return t&&t.isDraft()}};r.inArray=function(e,t){return t.indexOf(e)!==-1};r.hasSubString=function(e,t){return e.indexOf(t)!==-1};r.joinAndWrap=function(e,t,r,n){if(!n)n=\" \";return t+e.join(r+n+t)+r};r.keysOfItemsWithProperty=function(e,t,n,i){e=r.getIterableCollection(e);var l=Object.keys(e);var a=[];var i=typeof i===\"number\"?i:l.length;for(var f=0;f<l.length;f++){var u=l[f];if(typeof e[u]===\"object\"&&e[u][t]){if(!n||e[u][t]===n){a.push(u);if(a.length===i){break}}}}return a};r.keyOfItemWithProperty=function(e,t,n){var i=r.keysOfItemsWithProperty(e,t,n,1);return i.length?i[0]:undefined};r.deleteByPrefix=function(e){r.deleteTiddlers(r.getByPrefix(e))};r.getByPrefix=function(e){return r.getMatches(\"[prefix[\"+e+\"]]\")};r.getIterableCollection=function(t){return t instanceof e.DataSet?t.get():t};r.getLookupTable=function(e,t){e=r.getIterableCollection(e);var n=r.getDataMap();var i=Object.keys(e);for(var l=0;l<i.length;l++){var a=i[l];var f=t?e[a][t]:e[a];if(typeof f===\"string\"&&f!=\"\"||typeof f===\"number\"){if(!n[f]){n[f]=e[a];continue}}throw'TiddlyMap: Cannot use \"'+f+'\" as lookup table index'}return n};r.getArrayValuesAsHashmapKeys=function(e){return r.getLookupTable(e)};r.getTiddlersWithField=function(e,t,n){if(!n||typeof n!==\"object\")n={};var i=n.tiddlers||$tw.wiki.allTitles();var l=n.limit||0;var a=n.isIncludeDrafts===true;var f=r.getDataMap();var u=Object.keys(i);for(var s=0;s<u.length;s++){var o=r.getTiddler(i[u[s]]);if(o.hasField(e)&&(!o.isDraft()||a)){if(!t||o.fields[e]===t){f[o.fields.title]=o;if(--l===0)break}}}return f};r.Exception=t;r.makeDraftTiddler=function(e){var t=$tw.wiki.findDraft(e);if(t){return $tw.wiki.getTiddler(t)}var n=$tw.wiki.getTiddler(e);t=r.generateDraftTitle(e);var i=new $tw.Tiddler(n,{title:t,\"draft.title\":e,\"draft.of\":e},$tw.wiki.getModificationFields());$tw.wiki.addTiddler(i);return i};r.generateDraftTitle=function(e){var t=0,r;do{r=\"Draft \"+(t?t+1+\" \":\"\")+\"of '\"+e+\"'\";t++}while($tw.wiki.tiddlerExists(r));return r};r.getFullScreenApis=function(){var e=document,t=e.body,r={_requestFullscreen:t.webkitRequestFullscreen!==undefined?\"webkitRequestFullscreen\":t.mozRequestFullScreen!==undefined?\"mozRequestFullScreen\":t.msRequestFullscreen!==undefined?\"msRequestFullscreen\":t.requestFullscreen!==undefined?\"requestFullscreen\":\"\",_exitFullscreen:e.webkitExitFullscreen!==undefined?\"webkitExitFullscreen\":e.mozCancelFullScreen!==undefined?\"mozCancelFullScreen\":e.msExitFullscreen!==undefined?\"msExitFullscreen\":e.exitFullscreen!==undefined?\"exitFullscreen\":\"\",_fullscreenElement:e.webkitFullscreenElement!==undefined?\"webkitFullscreenElement\":e.mozFullScreenElement!==undefined?\"mozFullScreenElement\":e.msFullscreenElement!==undefined?\"msFullscreenElement\":e.fullscreenElement!==undefined?\"fullscreenElement\":\"\",_fullscreenChange:e.webkitFullscreenElement!==undefined?\"webkitfullscreenchange\":e.mozFullScreenElement!==undefined?\"mozfullscreenchange\":e.msFullscreenElement!==undefined?\"MSFullscreenChange\":e.fullscreenElement!==undefined?\"fullscreenchange\":\"\"};if(!r._requestFullscreen||!r._exitFullscreen||!r._fullscreenElement){return null}else{return r}};r.flatten=function(e,t){t=t||{};var r=t.delimiter||\".\";var n=t.prefix||\"\";var i={};function l(e,a){Object.keys(e).forEach(function(f){var u=e[f];var s=t.safe&&Array.isArray(u);var o=Object.prototype.toString.call(u);var d=o===\"[object Object]\"||o===\"[object Array]\";var c=a?a+r+f:n+f;if(!s&&d){return l(u,c)}i[c]=u})}l(e);return i};r.unflatten=function(e,t){t=t||{};var n=t.delimiter||\".\";var i={};if(Object.prototype.toString.call(e)!==\"[object Object]\"){return e}function l(e){var t=Number(e);return isNaN(t)||e.indexOf(\".\")!==-1?e:t}Object.keys(e).forEach(function(a){var f=a.split(n);var u=l(f.shift());var s=l(f[0]);var o=i;while(s!==undefined){if(o[u]===undefined){o[u]=typeof s===\"number\"&&!t.object?[]:{}}o=o[u];if(f.length>0){u=l(f.shift());s=l(f[0])}}o[u]=r.unflatten(e[a],t)});return i};r.genUUID=function(){var e=\"0123456789abcdefghijklmnopqrstuvwxyz\".split(\"\");return function(){var t=e,r=new Array(36);var n=0,i;for(var l=0;l<36;l++){if(l==8||l==13||l==18||l==23){r[l]=\"-\"}else if(l==14){r[l]=\"4\"}else{if(n<=2)n=33554432+Math.random()*16777216|0;i=n&15;n=n>>4;r[l]=t[l==19?i&3|8:i]}}return r.join(\"\")}}();exports.utils=r})();",
"title": "$:/plugins/felixhayashi/tiddlymap/utils.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/plugins/felixhayashi/tiddlymap/view_abstraction.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/tiddlymap/view_abstraction.js\ntype: application/javascript\nmodule-type: library\n\n@module TiddlyMap\n@preserve\n\n\\*/\n(function(){var t=require(\"$:/plugins/felixhayashi/tiddlymap/edgetype.js\").EdgeType;var i=function(t,e){this.createShortcuts();if(t instanceof i){return t}this.path=this.utils.getDataMap();this.path.config=this._getConfigPath(t);if(e){this._createView()}else if(!this.exists()){return}this.path.map=this.path.config+\"/map\";this.path.nodeFilter=this.path.config+\"/filter/nodes\";this.path.edgeFilter=this.path.config+\"/filter/edges\";this.path.visConfig=this.path.config+\"/vis\";this._ignoreOnNextRebuild=this.utils.getDataMap();this.rebuildCache(this.utils.getValues(this.path))};i.prototype.createShortcuts=function(){this.wiki=$tw.wiki;this.opt=$tw.tmap.opt;this.logger=$tw.tmap.logger;this.utils=$tw.tmap.utils};i.prototype._getConfigPath=function(t){if(t instanceof $tw.Tiddler){return t.fields.title}if(typeof t==\"string\"){t=this.utils.getWithoutPrefix(t,this.opt.path.views+\"/\");if(!this.utils.hasSubString(t,\"/\")){return this.opt.path.views+\"/\"+t}}};i.prototype.getPaths=function(){return this.path};i.prototype._createView=function(){if(this.exists()){this.destroy()}var t={};t.title=this.path.config;t[this.opt.field.viewMarker]=true;t.id=this.utils.genUUID();this.wiki.addTiddler(new $tw.Tiddler(t))};i.prototype.isLocked=function(){return this.wiki.isShadowTiddler(this.path.config)};i.prototype.refresh=function(t){return this.rebuildCache(Object.keys(t))};i.prototype.rebuildCache=function(t,i){if(!this.exists())return[];if(this.utils.inArray(this.path.config,t)){this.logger(\"debug\",\"Reloading config of view\",this.getLabel(),\"; trigger full rebuild\");t=this.utils.getValues(this.path)}var e=this._ignoreOnNextRebuild;this._ignoreOnNextRebuild=this.utils.getDataMap();var s=[];for(var r=0;r<t.length;r++){var o=t[r];if(!i&&e[o]){continue}else if(o===this.path.config){this.config=this.getConfig(null,true)}else if(o===this.path.map){this.positions=this.getPositions(true)}else if(o===this.path.nodeFilter){this.nodeFilter=this.getNodeFilter(null,true)}else if(o===this.path.edgeFilter){this.edgeFilter=this.getEdgeFilter(null,true)}else{continue}s.push(o)}return s};i.prototype.exists=function(){return this.utils.tiddlerExists(this.path.config)};i.prototype.getRoot=function(){return this.path.config};i.prototype.getCreationDate=function(t){if(!this.exists())return;var i=this.wiki.getTiddler(this.path.config).fields[\"created\"];if(t){return i instanceof Date?$tw.utils.formatDateString(i,\"DDth MMM YYYY\"):\"\"}return i};i.prototype.getLabel=function(){if(!this.exists())return;return this.utils.getBasename(this.path.config)};i.prototype.destroy=function(){if(!this.exists())return;var t=\"[prefix[\"+this.getRoot()+\"]]\";this.utils.deleteTiddlers(this.utils.getMatches(t));this.path=this.utils.getDataMap()};i.prototype.getReferences=function(){var t=\"[regexp:text[<\\\\$tiddlymap.*?view=.\"+this.getLabel()+\"..*?>]]\";return this.utils.getMatches(t)};i.prototype.rename=function(t){if(!this.exists()||typeof t!==\"string\"){return}if(this.utils.inArray(\"/\",t)){$tw.tmap.notify('A view name must not contain any \"/\"');return}var i=this.getLabel();if(i===t){return}for(index in this.path){var e=this.wiki.getTiddler(this.path[index]);if(!e)continue;this.path[index]=this.path[index].replace(i,t);this.wiki.addTiddler(new $tw.Tiddler(e,{title:this.path[index]}));this.wiki.deleteTiddler(e.fields.title)}this.rebuildCache(this.utils.getValues(this.path),true)};i.prototype.isEnabled=function(t){return this.utils.isTrue(this.getConfig(t),false)};i.prototype.getConfig=function(t,i,e){if(!this.exists()){var s=this.utils.getDataMap()}else if(!i&&this.config){var s=this.config}else{var r=this.wiki.getTiddler(this.path.config).fields;var s=this.utils.getPropertiesByPrefix(r,\"config.\");defaults={\"config.layout.active\":\"user\"};$tw.utils.extend(defaults,s)}return t?s[this.utils.startsWith(t,\"config.\")?t:\"config.\"+t]:s};i.prototype.getStabilizationIterations=function(){return this.stabIterations?this.stabIterations:1e3};i.prototype.getVisConfig=function(){var t=this.utils.parseFieldData(this.path.visConfig,\"text\",{});return this.utils.merge($tw.utils.extendDeepCopy(this.opt.config.vis),t)};i.prototype.setStabilizationIterations=function(t){};i.prototype.getHierarchyEdgeTypes=function(){if(this.getConfig(\"layout.active\")!==\"hierarchical\")return[];var t=this.utils.getPropertiesByPrefix(this.getConfig(),\"config.layout.hierarchical.order-by-\",true);var i=this.utils.getDataMap();for(var e in t){if(t[e]===\"true\"){var s=this.utils.getTiddler($tw.tmap.indeces.tById[e]);if(s){i[this.utils.getBasename(s.fields.title)]=true}}}return i};i.prototype.setConfig=function(){if(arguments[0]==null)return;if(arguments.length===1&&typeof arguments[0]===\"object\"){for(var t in arguments[0]){this.setConfig(t,arguments[0][t])}}else if(arguments.length===2&&typeof arguments[0]===\"string\"){var t=this.utils.getWithoutPrefix(arguments[0],\"config.\");var i=arguments[1];if(i===undefined){return}if(i===null){this.logger(\"debug\",\"Removing config\",t);delete this.config[\"config.\"+t]}else{if(t===\"edge_type_namespace\"&&typeof i===\"string\"&&i.length){i=i.replace(/([^:])$/,\"$1:\")}}this.logger(\"log\",\"Setting config\",t,i);this.config[\"config.\"+t]=i}else{return}this.wiki.addTiddler(new $tw.Tiddler(this.wiki.getTiddler(this.path.config),this.config));this._ignoreOnNextRebuild[this.path.config]=true};i.prototype.isExplicitNode=function(t){var i=this.utils.escapeRegex(this._getAddNodeFilterPart(t));return this.getNodeFilter(\"expression\").match(i)};i.prototype.isLiveView=function(t){return this.getLabel()===this.opt.misc.liveViewLabel};i.prototype.removeNodeFromFilter=function(t){if(!this.isExplicitNode(t))return false;var i=this.getNodeFilter(\"expression\");var e=i.replace(this._getAddNodeFilterPart(t),\"\");this.setNodeFilter(e);return true};i.prototype._getAddNodeFilterPart=function(t){return\"[field:\"+this.opt.field.nodeId+\"[\"+t.id+\"]]\"};i.prototype.setNodeFilter=function(t,i){if(!this.exists())return;t=t.replace(/[\\n\\r]/g,\" \");if(this.getNodeFilter.expression===t){return}if(this.isLiveView()&&!i){$tw.tmap.notify(\"It is forbidden to change the node filter of the live view!\");return}this.utils.setField(this.path.nodeFilter,\"filter\",t);this.logger(\"debug\",\"Node filter set to\",t);this.nodeFilter=this.getNodeFilter(null,true);this._ignoreOnNextRebuild[this.path.nodeFilter]=true};i.prototype.setEdgeFilter=function(t){if(!this.exists())return;t=t.replace(/[\\n\\r]/g,\" \");if(this.getEdgeFilter.expression===t){return}this.utils.setField(this.path.edgeFilter,\"filter\",t);this.logger(\"debug\",\"Edge filter set to\",t,this.path.edgeFilter);this.edgeFilter=this.getEdgeFilter(null,true);this._ignoreOnNextRebuild[this.path.edgeFilter]=true};i.prototype.appendToNodeFilter=function(t){var t=this.getNodeFilter(\"expression\")+\" \"+t;this.setNodeFilter(t)};i.prototype.addNodeToView=function(t){this.appendToNodeFilter(this._getAddNodeFilterPart(t));this.setNodePosition(t)};i.prototype.getEdgeFilter=function(t,i){if(!i&&this.edgeFilter){var e=this.edgeFilter}else{var e=this.utils.getDataMap();var s=this.wiki.getTiddler(this.path.edgeFilter);e.expression=s&&s.fields.filter?s.fields.filter:this.opt.filter.defaultEdgeFilter;e.compiled=this.wiki.compileFilter(e.expression)}return t?e[t]:e};i.prototype.getNodeFilter=function(t,i){if(!i&&this.nodeFilter){var e=this.nodeFilter}else{var e=this.utils.getDataMap();var s=this.wiki.getTiddler(this.path.nodeFilter);e.expression=s&&s.fields.filter?s.fields.filter:\"\";e.compiled=this.wiki.compileFilter(e.expression)}return t?e[t]:e};i.prototype.getPositions=function(t){if(!this.isLiveView()&&!t&&this.positions){return this.positions}var i=this.utils.parseFieldData(this.getPositionStore(),\"text\",{});this.logger(\"debug\",\"Loading positions\",i,\"from\",this.getPositionStore());return i};i.prototype.setPositions=function(t){if(!this.exists()||typeof t!==\"object\")return;$tw.tmap.logger(\"log\",\"Storing positions in\",this.getPositionStore());this.utils.writeFieldData(this.getPositionStore(),\"text\",t);this.positions=t;this._ignoreOnNextRebuild[this.path.map]=true};i.prototype.getPositionStore=function(){if(this.isLiveView()){var t=this.utils.getMatches(this.getNodeFilter(\"compiled\"))[0];if(t){return this.path.map+\"/\"+$tw.tmap.indeces.idByT[t]}}return this.path.map};i.prototype.setNodePosition=function(t){if(t&&t.x&&t.y){var i=this.getPositions();i[t.id]={x:t.x,y:t.y};this.setPositions(i)}};exports.ViewAbstraction=i})();",
"title": "$:/plugins/felixhayashi/tiddlymap/view_abstraction.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/plugins/felixhayashi/tiddlymap/tmap.js": {
"text": "/*\\\ntitle: $:/plugins/felixhayashi/tiddlymap/tmap.js\ntype: application/javascript\nmodule-type: macro\n\nIn connection with tiddlymap, this macro allows us to access\nsystem information from within tiddlers as well as to execute some\nutil functions.\n\n@module TiddlyMap\n@preserve\n\n\\*/\n(function(){\"use strict\";exports.name=\"tmap\";exports.params=function(r){var t=[];for(var e=0;e<r;e++){t.push({name:\"arg\"+e})}return t}(5);var r=function(){return};exports.run=function(){var r=$tw.tmap.utils;switch(arguments[0]){case\"basename\":return r.getBasename(arguments[1]||this.getVariable(\"currentTiddler\"));case\"testJSON\":var t=$tw.wiki.getTiddler(this.getVariable(\"currentTiddler\"));try{JSON.parse(t.fields[arguments[1]]);return\"valid\"}catch(e){return\"malformed\"}case\"splitAndSelect\":var a=this.getVariable(\"currentTiddler\");var n=a.split(arguments[1])[arguments[2]];return n!=null?n:a;case\"uuid\":return r.genUUID();case\"option\":var s=$tw.tmap.opt;var i=arguments[1].split(\".\");for(var u=0;u<i.length;u++){if(typeof s==\"object\"&&s[i[u]]){s=s[i[u]]}else{return\"property doesn't exist\"}}if(!(typeof s==\"string\"))return\"property is not a string\";return s}return\"wrong signature\"}})();",
"title": "$:/plugins/felixhayashi/tiddlymap/tmap.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/plugins/felixhayashi/tiddlymap/caretaker.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/tiddlymap/caretaker.js\ntype: application/javascript\nmodule-type: startup\n\n@module TiddlyMap\n@preserve\n\n\\*/\n(function(){\"use strict\";exports.name=\"tmap.caretaker\";exports.platforms=[\"browser\"];exports.after=[\"startup\"];exports.before=[\"rootwidget\"];exports.synchronous=true;var e=require(\"$:/plugins/felixhayashi/tiddlymap/utils.js\").utils;var t=require(\"$:/plugins/felixhayashi/tiddlymap/adapter.js\").Adapter;var i=require(\"$:/plugins/felixhayashi/tiddlymap/dialog_manager.js\").DialogManager;var a=require(\"$:/plugins/felixhayashi/tiddlymap/callback_manager.js\").CallbackManager;var s=require(\"$:/plugins/felixhayashi/vis/vis.js\");var r=function(t){var i=t;if(!i.path)i.path=e.getDataMap();i.path.pluginRoot=\"$:/plugins/felixhayashi/tiddlymap\";i.path.edgeTypes=\"$:/plugins/felixhayashi/tiddlymap/graph/edgeTypes\";i.path.listEdgeTypes=\"$:/plugins/felixhayashi/tiddlymap/graph/edgeTypes/tw-list:\";i.path.fieldEdgeTypes=\"$:/plugins/felixhayashi/tiddlymap/graph/edgeTypes/tw-field:\";i.path.views=\"$:/plugins/felixhayashi/tiddlymap/graph/views\";i.path.options=\"$:/plugins/felixhayashi/tiddlymap/config\";i.path.tempRoot=\"$:/temp/felixhayashi/tiddlymap\";i.path.localHolders=\"$:/temp/felixhayashi/tiddlymap/holders\";i.path.dialogs=\"$:/plugins/felixhayashi/tiddlymap/dialog\";i.path.footers=\"$:/plugins/felixhayashi/tiddlymap/dialogFooter\";if(!i.ref)i.ref=e.getDataMap();i.ref.defaultGraphViewHolder=\"$:/plugins/felixhayashi/tiddlymap/misc/defaultViewHolder\";i.ref.graphBar=\"$:/plugins/felixhayashi/tiddlymap/misc/advancedEditorBar\";i.ref.sysConf=\"$:/plugins/felixhayashi/tiddlymap/config/sys\";i.ref.sysUserConf=\"$:/plugins/felixhayashi/tiddlymap/config/sys/user\";i.ref.visConf=\"$:/plugins/felixhayashi/tiddlymap/config/vis\";i.ref.visUserConf=\"$:/plugins/felixhayashi/tiddlymap/config/vis/user\";i.ref.welcomeFlag=\"$:/plugins/felixhayashi/tiddlymap/flag/welcome\";i.ref.focusButton=\"$:/plugins/felixhayashi/tiddlymap/misc/focusButton\";i.ref.sysMeta=\"$:/plugins/felixhayashi/tiddlymap/misc/meta\";i.ref.sidebarBreakpoint=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\";if(!i.config)i.config=e.getDataMap();i.config.sys=e.merge($tw.wiki.getTiddlerData(i.ref.sysConf,{}),e.unflatten($tw.wiki.getTiddlerData(i.ref.sysUserConf,{})));i.config.vis=e.merge($tw.wiki.getTiddlerData(i.ref.visConf,{}),e.unflatten($tw.wiki.getTiddlerData(i.ref.visUserConf,{})));if(!i.field)i.field=e.getDataMap();$tw.utils.extend(i.field,i.config.sys.field);if(!i.misc)i.misc=e.getDataMap();i.misc.unknownEdgeLabel=\"tmap:undefined\";i.misc.cssPrefix=\"tmap-\";i.misc.sysEdgeTypeNS=\"tmap\";i.misc.liveViewLabel=\"Live View\";if(!i.filter)i.filter=e.getDataMap();i.filter.edgeTypes=\"[prefix[\"+i.path.edgeTypes+\"]]\";i.filter.listEdgeTypes=\"[prefix[\"+i.path.listEdgeTypes+\"]]\";i.filter.fieldEdgeTypes=\"[prefix[\"+i.path.fieldEdgeTypes+\"]]\";i.filter.views=\"[has[\"+i.field.viewMarker+\"]]\";i.filter.defaultEdgeFilter=i.filter.edgeTypes+\"-[suffix[tw-body:link]]\"+\"-[suffix[tw-list:tags]]\";+\"-[suffix[tw-list:list]]\";if(!i.selector)i.selector=e.getDataMap();var a=\"[all[tiddlers+shadows]!has[draft.of]]\";i.selector.allEdgeTypes=a+\" +\"+i.filter.edgeTypes;i.selector.allEdgeTypesByLabel=i.selector.allEdgeTypes+\" +[removeprefix[\"+i.path.edgeTypes+\"/]]\";i.selector.allViews=a+\" +\"+i.filter.views;i.selector.allViewsByLabel=i.selector.allViews+\"+[removeprefix[\"+i.path.views+\"/]]\";i.selector.allPotentialNodes=\"[all[tiddlers]!is[system]!has[draft.of]]\";i.selector.allListEdgeStores=a+\" +\"+i.filter.listEdgeTypes+\" +[removeprefix[\"+i.path.listEdgeTypes+\"]]\";i.selector.allFieldEdgeStores=a+\" +\"+i.filter.fieldEdgeTypes+\" +[removeprefix[\"+i.path.fieldEdgeTypes+\"]]\"};var l=function(t){$tw.tmap.start(\"Attaching Indeces\");if(!t.indeces){t.indeces={tById:e.getDataMap(),idByT:e.getDataMap()}}var i=$tw.wiki.allTitles();for(var a=0;a<i.length;a++){var s=i[a];var r=$tw.wiki.getTiddler(s);if(!e.isSystemOrDraft(r)){var l=r.fields[$tw.tmap.opt.field.nodeId];if(!l){l=e.genUUID();e.setField(r,$tw.tmap.opt.field.nodeId,l)}t.indeces.tById[l]=s;t.indeces.idByT[s]=l}}$tw.tmap.stop(\"Attaching Indeces\")};var d=function(t){var i=t;var a=function(){};if(e.isTrue($tw.tmap.opt.config.sys.debug,false)&&console){i.logger=function(){if(arguments.length<2)return;var e=Array.prototype.slice.call(arguments);var t=e.shift(e);var i=console.hasOwnProperty(t)?t:\"debug\";console[i].apply(console,e)};i.start=function(e){console.time(\"timer: \"+e)};i.stop=function(e){console.timeEnd(\"timer: \"+e)}}else{i.logger=a;i.start=a;i.stop=a}i.notify=$tw.tmap.opt.config.sys.notifications===\"true\"?e.notify:a};var p=function(){for(var e=$tw.tmap.registry.length-1;e>=0;e--){var t=$tw.tmap.registry[e];if(t.isZombieWidget()){$tw.tmap.logger(\"warn\",\"A graph has been removed.\");t.destruct();$tw.tmap.registry.splice(e,1)}}};var f=function(t){var i=$tw.tmap.opt.field.nodeId;var a=t.fields[i];if(!a)return;var s=$tw.tmap.opt;var r=e.getTiddlersWithField(i,a,{limit:2});delete r[t.fields.title];var l=Object.keys(r)[0];if(l){var d={param:{changedTiddler:t.fields.title,existingTiddler:l,idField:i,id:a}};$tw.tmap.dialogManager.open(\"dublicateIdInfo\",d)}if(l){e.setField(t,$tw.tmap.opt.field.edges,undefined);$tw.tmap.adapter.assignId(t,true)}};var n=function(t){if(!t)t=$tw.tmap;if(!t.opt)t.opt=e.getDataMap();r(t.opt);d(t,t.opt);$tw.tmap.logger(\"warn\",\"Rebuilt globals\")};var o=function(t){if(t[\"$:/HistoryList\"]){var i=e.getField(\"$:/HistoryList\",\"current-tiddler\")}else if(t[\"$:/temp/focussedTiddler\"]){var i=e.getField(\"$:/temp/focussedTiddler\",\"text\")}if(i!=null){e.setField(\"$:/temp/tmap/currentTiddler\",\"text\",i)}};var g=function(t){var i=\"[prefix[\"+$tw.tmap.opt.path.options+\"]!has[draft.of]]\";if(e.getMatches(i,Object.keys(t)).length){n()}};var m=function(t){if(e.isTrue($tw.tmap.opt.config.sys.debug,false)){for(var i in t){if(t[i].deleted){$tw.tmap.logger(\"warn\",\"Tiddler deleted:\",i)}else{$tw.tmap.logger(\"warn\",\"Tiddler modified:\",e.getTiddler(i))}}}};var y=function(t){$tw.wiki.addEventListener(\"change\",function(i){$tw.tmap.start(\"Caretaker handling changes\");m(i);t.handleChanges(i);g(i);for(var a in i){if(e.isSystemOrDraft(a))continue;var s=e.getTiddler(a);if(s){f(s);$tw.tmap.adapter.assignId(s)}else{}}o(i);$tw.tmap.stop(\"Caretaker handling changes\")})};var c=function(){if(e.tiddlerExists($tw.tmap.opt.ref.sysMeta))return;$tw.tmap.logger(\"warn\",\"Creating meta file\");var t=$tw.wiki.getTiddler($tw.tmap.opt.path.pluginRoot);$tw.wiki.setTiddlerData($tw.tmap.opt.ref.sysMeta,{originalVersion:t.fields.version,dataStructureState:\"0.6.9\",showWelcomeMessage:true})};exports.startup=function(){$tw.tmap=e.getDataMap();$tw.tmap.utils=e;$tw.tmap.keycharm=s.keycharm;$tw.tmap.registry=[];window.setInterval(p,1e3);n($tw.tmap);l($tw.tmap);$tw.tmap.adapter=new t;c();$tw.tmap.callbackManager=new a;$tw.tmap.dialogManager=new i($tw.tmap.callbackManager);y($tw.tmap.callbackManager);$tw.tmap.logger(\"warn\",\"TiddlyMap's caretaker successfully started\")}})();",
"title": "$:/plugins/felixhayashi/tiddlymap/caretaker.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/plugins/felixhayashi/tiddlymap/fixer.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/tiddlymap/fixer.js\ntype: application/javascript\nmodule-type: startup\n\n@module TiddlyMap\n@preserve\n\n\\*/\n(function(){\"use strict\";exports.name=\"tmap.fixer\";exports.after=[\"tmap.caretaker\"];exports.before=[\"rootwidget\"];exports.synchronous=true;var t=require(\"$:/plugins/felixhayashi/tiddlymap/utils.js\").utils;var e=require(\"$:/plugins/felixhayashi/tiddlymap/adapter.js\").Adapter;var r=require(\"$:/plugins/felixhayashi/tiddlymap/view_abstraction.js\").ViewAbstraction;var a=require(\"$:/plugins/felixhayashi/tiddlymap/edgetype.js\").EdgeType;var i=function(e,r){var i=t.getByPrefix(e);for(var s=0;s<i.length;s++){var p=t.getBasename(i[s]);if(p===\"__noname__\"){p=\"tmap:unknown\"}p=new a(p);if(!p.exists())p.persist();var d=$tw.wiki.getTiddlerData(i[s]);for(var u=0;u<d.length;u++){d[u].type=(r?r+\":\":\"\")+p.getId();$tw.tmap.adapter.insertEdge(d[u])}$tw.wiki.deleteTiddler(i[s])}};exports.startup=function(){var e=$tw.wiki.getTiddlerData($tw.tmap.opt.ref.sysMeta,{});var a=$tw.wiki.getTiddler($tw.tmap.opt.path.pluginRoot);$tw.tmap.logger(\"debug\",\"Fixer is started\");$tw.tmap.logger(\"debug\",\"Data-structure currently in use: \",e.dataStructureState);var s={before:\"0.6.11\",after:\"0.7.0\"};if($tw.utils.checkVersions(s.before,e.dataStructureState)){$tw.tmap.logger(\"debug\",\"Upgrading data structure to\",s.after);i(\"$:/plugins/felixhayashi/tiddlymap/graph/edges\",null);var p=$tw.tmap.opt.selector.allViews;var d=t.getMatches(p);for(var u=0;u<d.length;u++){var g=new r(d[u]);i(g.getRoot()+\"/graph/edges\",g)}t.setEntry($tw.tmap.opt.ref.sysMeta,\"dataStructureState\",s.after)}var s={before:\"0.7.31\",after:\"0.7.32\"};if($tw.utils.checkVersions(s.before,e.dataStructureState)){$tw.tmap.logger(\"debug\",\"Upgrading data structure to\",s.after);var l=$tw.tmap.adapter.getView(\"Live View\");l.setNodeFilter(\"[field:title{$:/temp/tmap/currentTiddler}]\",true);l.setConfig({\"refresh-trigger\":null,\"refresh-triggers\":$tw.utils.stringifyList([\"$:/temp/tmap/currentTiddler\"])});t.setEntry($tw.tmap.opt.ref.sysMeta,\"dataStructureState\",s.after)}}})();",
"title": "$:/plugins/felixhayashi/tiddlymap/fixer.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/plugins/felixhayashi/tiddlymap/startup/listener.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/tiddlymap/startup/listener.js\ntype: application/javascript\nmodule-type: startup\n\n@module TiddlyMap\n@preserve\n\n\\*/\n(function(){\"use strict\";exports.name=\"tmap.listener\";exports.platforms=[\"browser\"];exports.after=[\"rootwidget\",\"tmap.caretaker\"];exports.before=[\"story\"];exports.synchronous=true;var e=require(\"$:/plugins/felixhayashi/tiddlymap/utils.js\").utils;var t=require(\"$:/plugins/felixhayashi/tiddlymap/edgetype.js\").EdgeType;var a=function(){this.adapter=$tw.tmap.adapter;this.wiki=$tw.wiki;this.logger=$tw.tmap.logger;this.opt=$tw.tmap.opt;e.addListeners({\"tmap:tm-remove-edge\":this.handleRemoveEdge,\"tmap:tm-fill-edge-type-form\":this.handleFillEdgeTypeForm,\"tmap:tm-save-edge-type-form\":this.handleSaveEdgeTypeForm,\"tmap:tm-create-edge-type\":this.handleCreateEdgeType,\"tmap:tm-create-edge\":this.handleCreateEdge,\"tmap:tm-suppress-dialog\":this.handleSuppressDialog,\"tmap:tm-generate-widget\":this.handleGenerateWidget,\"tmap:tm-download-graph\":this.handleDownloadGraph,\"tmap:tm-manage-edge-types\":this.handleManageEdgeTypes,\"tmap:tm-cancel-dialog\":this.handleCancelDialog,\"tmap:tm-confirm-dialog\":this.handleConfirmDialog},$tw.rootWidget,this)};a.prototype.handleCancelDialog=function(t){e.setField(t.param,\"text\",\"\")};a.prototype.handleConfirmDialog=function(t){e.setField(t.param,\"text\",\"1\")};a.prototype.handleManageEdgeTypes=function(e){if(!e.paramObject)e.paramObject={};var t={param:{filter:this.opt.selector.allEdgeTypesByLabel+\" +[search:title{$:/temp/tmap/edgeTypeSearch}]\"+\" +[sort[title]]\"}};var a=$tw.tmap.dialogManager.open(\"edgeTypeManager\",t);var p=e.paramObject.type;if(p){this.handleFillEdgeTypeForm({paramObject:{id:p,output:a.fields[\"output\"]}})}};a.prototype.handleSuppressDialog=function(t){if(e.isTrue(t.paramObject.suppress,false)){e.setEntry(this.opt.ref.sysUserConf,\"suppressedDialogs.\"+t.paramObject.dialog,true)}};a.prototype.handleDownloadGraph=function(t){var a=this.adapter.getGraph({view:t.paramObject.view});a.nodes=e.convert(a.nodes,\"array\");a.edges=e.convert(a.edges,\"array\");e.setField(\"$:/temp/tmap/export\",\"text\",JSON.stringify(a,null,2));$tw.rootWidget.dispatchEvent({type:\"tm-download-file\",param:\"$:/temp/tmap/export\",paramObject:{filename:t.paramObject.view+\".json\"}})};a.prototype.handleGenerateWidget=function(e){if(!e.paramObject)e.paramObject={};var t={dialog:{preselects:{view:e.paramObject.view||\"Default\"}}};$tw.tmap.dialogManager.open(\"getWidgetCode\",t)};a.prototype.handleRemoveEdge=function(e){this.adapter.deleteEdge(e.paramObject)};a.prototype.handleCreateEdge=function(e){var t={from:this.adapter.makeNode(e.paramObject.from).id,to:this.adapter.makeNode(e.paramObject.to).id,type:e.paramObject.label,id:e.paramObject.id};this.adapter.insertEdge(t);$tw.tmap.notify(\"Edge inserted\")};a.prototype.handleSaveEdgeTypeForm=function(a){var p=e.getTiddler(a.paramObject.output);var i=new t(p.fields.id);if(e.isTrue(p.fields[\"temp.deleteType\"],false)){this.logger(\"debug\",\"Deleting type\",i);this.adapter._processEdgesWithType(i,{action:\"delete\"});this.wiki.addTiddler(new $tw.Tiddler({title:a.paramObject.output}));$tw.tmap.notify(\"Deleted type\")}else{i.loadDataFromTiddler(p);i.persist();if(!p.fields[\"temp.newId\"]){e.setField(p,\"temp.newId\",p.fields[\"id\"])}else if(p.fields[\"temp.newId\"]!==p.fields[\"id\"]){this.adapter._processEdgesWithType(i,{action:\"rename\",newName:p.fields[\"temp.newId\"]});e.setField(p,\"id\",p.fields[\"temp.newId\"])}$tw.tmap.notify(\"Saved type data\")}};a.prototype.handleFillEdgeTypeForm=function(a){var p=new t(a.paramObject.id);var i=a.paramObject.output;var r=this.adapter.selectEdgesByType(p);p.persist(i,true);e.setField(i,\"temp.idImmutable\",p.isShipped()?\"true\":\"\");e.setField(i,\"temp.newId\",p.getId());e.setField(i,\"temp.usageCount\",Object.keys(r).length);e.deleteByPrefix(\"$:/state/tabs/edgeTypeManager\")};a.prototype.handleCreateEdgeType=function(a){var p=this.wiki.generateNewTitle(this.opt.path.edgeTypes+\"/New Type\");var i=new t(e.getBasename(p));i.persist();this.handleFillEdgeTypeForm({paramObject:{id:i.getId(),output:a.paramObject.output}})};exports.startup=function(){new a}})();",
"title": "$:/plugins/felixhayashi/tiddlymap/startup/listener.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/cannotDeleteViewDialog": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/cannotDeleteViewDialog",
"subtitle": "{{$:/core/images/locked-padlock}} You cannot delete this view!",
"text": "It is not possible to delete the current view as ''<<count>>'' tiddlers\nare referencing it. To delete the view you must first remove the tiddlymap\nwidgets in the tiddlers listed below or change their view attributes.\n\n''References''\n\n<ul>\n<$list filter=<<filter>> variable=\"item\">\n <li><$link><<item>></$link></li>\n</$list>\n</ul>\n\nAfter the references are removed, you may delete the view."
},
"$:/plugins/felixhayashi/tiddlymap/dialog/configureTiddlyMap": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/configureTiddlyMap",
"subtitle": "{{$:/core/images/options-button}} Configuration of ~TiddlyMap",
"text": "<$importvariables filter=\"[[$:/plugins/felixhayashi/tiddlymap/misc/macros]]\">\n\nPlease visit the [[online docs|http://tiddlymap.org#Changing%20TiddlyMap's%20default%20configuration]] for more information about the following options.\n\n<fieldset>\n <legend>Field settings</legend>\n <table class=\"tmap-config-table\">\n <<tmap-row title:\"Node-id field\" field:\"config.sys.field.nodeId\" type:\"input-text\"\n descr:\"Field with a unqiue value to identify tiddlers and trace their changes (missing ids are autogenerated).\"\n note:\"Setting this field to 'title' will prevent ~TiddlyMap from discovering name changes.\">>\n <<tmap-row title:\"Node-icon field\" field:\"config.sys.field.nodeIcon\" type:\"input-text\"\n descr:\"Local image used as node image in the graphs.\">>\n <<tmap-row title:\"Node-label field\" field:\"config.sys.field.nodeLabel\" type:\"input-text\" \n descr:\"Alternative node label to use instead of the title.\">>\n <<tmap-row title:\"Node-info field\" field:\"config.sys.field.nodeInfo\" type:\"input-text\"\n descr:\"Field used as tooltip when hovering a node in a graph.\"\n note:\"It is prohibited to use the text field here.\">>\n </table> \n</fieldset>\n\n<fieldset><legend>System's talkativeness</legend>\n <table class=\"tmap-config-table\">\n <<tmap-row title:\"Debug output\" field:\"config.sys.debug\" type:\"input-checkbox\"\n descr:\"Set this to true if you want debug information to be displayed in the browser console.\">>\n <<tmap-row title:\"Show notifications\" field:\"config.sys.notifications\" type:\"input-checkbox\"\n descr:\"Set this to true if you want to receive fade-out notifications for important events.\">>\n </table> \n</fieldset>\n\n<fieldset><legend>Interaction & behaviour</legend>\n <table class=\"tmap-config-table\">\n <<tmap-row title:\"Allow single click mode\" field:\"config.sys.singleClickMode\" type:\"input-checkbox\"\n descr:\"A single click on a node is sufficient to open the corresponding tiddler.\"\n note:\"Drag and drop will still work and does not cause a tiddler to be opened.\">>\n <<tmap-row title:\"Edge click behaviour\" field:\"config.sys.edgeClickBehaviour\" type:\"input-select\"\n selectFilter:\"[[nothing|Nothing]] [[manager|Open edge-type manager]]\"\n descr:\"What should happen when you click on an edge?\">>\n <<tmap-row type:\"input-select\" title:\"Raster size\" field:\"config.sys.raster\"\n selectFilter:\"[[|disabled]] [[5|5px]] [[10|10px]] [[15|15px]] [[20|20px]] [[30|30px]] [[40|40px]]\"\n descr:\"Snap nodes to an invisible raster of the given size after drag'n'drop.\"\n note:\"Only works when the view is not in floating mode\">>\n </table>\n</fieldset>\n\n</$importvariables>"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/configureView": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/configureView",
"subtitle": "{{$:/core/images/theme-button}} View configuration -- <<view>>",
"text": "<$importvariables filter=\"[[$:/plugins/felixhayashi/tiddlymap/misc/macros]]\">\n\n<fieldset><legend>Statistics</legend>\n <table class=\"tmap-key-value-table\">\n <tr>\n <th align=\"left\">Created on</th>\n <td><<createdOn>></td>\n </tr>\n <tr>\n <th align=\"left\">Nodes contained in graph</th>\n <td><<numberOfNodes>></td>\n </tr>\n <tr>\n <th align=\"left\">Edges contained in graph</th>\n <td><<numberOfEdges>></td>\n </tr>\n </table>\n</fieldset>\n\n<fieldset><legend>Export</legend>\n <$button>Download graph (JSON format)\n <$action-sendmessage $message=\"tmap:tm-download-graph\" view=<<view>> />\n </$button>\n</fieldset>\n\n\n<fieldset><legend>Layout</legend>\n <table class=\"tmap-config-table\">\n <<tmap-row title:\"Floating nodes\" field:\"config.physics_mode\" type:\"input-checkbox\"\n descr:\"Set this to true if you want your nodes to freely swirl around.\">>\n </table>\n</fieldset>\n\n<fieldset><legend>Other</legend>\n <table class=\"tmap-config-table\">\n <<tmap-row title:\"Edge-type namespace\" field:\"config.edge_type_namespace\" type:\"input-text\"\n descr:\"A namespace (like 'foaf' in 'foaf:knows') that will be automatically added to all edge-types you create in this view.\"\n note:\"All namespaces are automatically stripped when the edge label is displayed in the graph\">>\n </table>\n</fieldset>\n\n<fieldset><legend>Neighbourhood</legend>\n <table class=\"tmap-config-table\">\n <<tmap-row title:\"Neighbourhood scope\" field:\"config.neighbourhood_scope\" type:\"input-select\"\n selectFilter:\"[[0|Do not display a neighbourhood]] [[1|1 steps away]] [[2|2 steps away]] [[3|3 steps away]] [[4|4 steps away]] [[5|5 steps away]] [[*|No limit]]\"\n descr:\"Display the neighbourhood that can be reached within the given number of steps starting from the matches returned by the node filter.\">>\n <<tmap-row type:\"input-checkbox\" title:\"Show inter-neighbour edges\" field:\"config.show_inter_neighbour_edges\"\n descr:\"When neighbours are displayed in a map along with matches, also display their relations to other neighbours\">>\n </table>\n</fieldset>\n\n</$importvariables>"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/getConfirmation": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/getConfirmation",
"subtitle": "{{$:/core/images/import-button}} You must confirm in order to proceed!",
"text": "<<message>>\n\n''Are you really sure you want to do this?''\n\n\n"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/createView": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/createView",
"subtitle": "{{$:/core/images/new-button}} Creating a new view",
"text": "Please specify a view name.\n\nName:\n<$edit-text focus=\"true\" tiddler=<<output>> field=\"text\" type=\"text\" tag=\"input\" default=\"\"\n class=\"tmap-trigger-field tmap-triggers-ok-button-on-enter\" /> <sup>[1]</sup>\n\n---\n\n<sup>[1]</sup> <small>Attention: using the name of an existing view will overwrite it!</small>"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/deleteNodeDialog": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/deleteNodeDialog",
"subtitle": "{{$:/core/images/delete-button}} Deleting the node named \"<<var.nodeLabel>>\"",
"text": "''Please choose an option or abort:''\n\n<$radio tiddler=<<output>> field=\"opt.delete\" value=\"from system\">\n Delete from system <sup>[1]</sup>\n</$radio><br />\n<$radio tiddler=<<output>> field=\"opt.delete\" value=\"from filter\">\n Delete from graph's filter <sup>[2]</sup>\n</$radio>\n\n---\n\n<sup>[1]</sup>\n<small>This will delete the node named \"<<var.nodeLabel>>\" ''and'' the corresponding tiddler named \"<<var.nodeRef>>\" ''and'' all connected edges.</small><br/>\n<sup>[2]</sup>\n<small>''Important:'' Removing a node from the graph's filter only works, if the node has been added in the map editor per double click or via \"Add Node\". Then we can delete the node \"<<var.nodeLabel>>\" from the existing filter used by the graph without removing the underlying tiddler. If the node hasn't been added as mentioned above, you need to change the underlying tiddler in a way that it doesn't match your filter anymore, if you want it to be removed from the graph.</small>"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/dublicateIdInfo": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/dublicateIdInfo",
"subtitle": "{{$:/core/images/info-button}} Dublicate id detected",
"buttons": "ok_suppress",
"text": "~TiddlyMap requires the value of the id field (\"<<param.idField>>\") to be\nunique in order to correctly identify nodes and tiddlers.\n\nThe tiddler \"<<param.changedTiddler>>\" had the same id as the\ntiddler \"<<param.existingTiddler>>\".\n\nTherefore ~TiddlyMap\n\n* assigned a new id to tiddler \"<<param.changedTiddler>>\"\n* removed all edges from \"<<param.changedTiddler>>\"\n\n"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/edgeNotVisible": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/edgeNotVisible",
"subtitle": "{{$:/core/images/info-button}} Edge will not be visible in view \"<<view>>\"",
"buttons": "ok_suppress",
"text": "~TiddlyMap just noticed that you created an edge of type <<type>> that will not be visible in this view.\n\nThe reason is that the view's edge filter prevents edges of type \"<<type>>\" from being displayed. To change this, open the view's menu and change the edge-filter configuration.\n\nFor further information, please see: [[Node and edge-type filters|http://tiddlymap.org#Node%20and%20edge-type%20filters]]."
},
"$:/plugins/felixhayashi/tiddlymap/dialog/edgeTypeManager/deleteType": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/edgeTypeManager/deleteType",
"caption": "Removal",
"text": "<table class=\"tmap-config-table\">\n <$macrocall $name=\"tmap-row\" title=\"Delete type\" field=\"temp.deleteType\" type=\"input-checkbox\" default={{!id}} readonly={{!!temp.idImmutable}}\n descr=\"If you want to delete this edge-type, set this to true and click the save button afterwards. System types (e.g. 'tw-body:link') cannot be deleted.\"\n note=\"Consequently, all edges of this type will be deleted.\" />\n</table>"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/edgeTypeManager/description": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/edgeTypeManager/description",
"caption": "Description",
"text": "<table class=\"tmap-config-table\">\n <<tmap-row title:\"Description\" field:\"description\" type:\"input-textarea\"\n descr:\"An optional description for this edge-type. The description will be displayed as tooltip when moving the mouse over an edge of this type.\">>\n</table>"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/edgeTypeManager/generalSettings": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/edgeTypeManager/generalSettings",
"caption": "General",
"text": "<table class=\"tmap-config-table\">\n <$macrocall $name=\"tmap-row\" title=\"Identifier\" field=\"temp.newId\" type=\"input-text\" default={{!!id}} readonly={{!!temp.idImmutable}}\n descr=\"A unique identifier (e.g. "foaf:name").\" #FFA500/>\n <<tmap-row title:\"Label\" field:\"label\" type:\"input-text\"\n descr:\"An optional alias used as edge-label.\">>\n <<tmap-row title:\"Show label\" field:\"show-label\" type:\"input-checkbox\" default:\"true\"\n descr:\"If unchecked, no edge label will be displayed.\">>\n</table>"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/edgeTypeManager/overview": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/edgeTypeManager/overview",
"caption": "Overview",
"text": "! {{!!id}}\n\n<table class=\"tmap-key-value-table\">\n <$set name=\"self\" value=<<currentTiddler>>>\n <$list filter=\"[[Created on|created]]\n [[Modified on|modified]]\n [[Edges of this type|temp.usageCount]] \">\n <tr>\n <th align=\"left\"><<tmap \"splitAndSelect\" \"|\" \"0\">></th>\n <td>\n <$transclude tiddler=<<self>> field=<<tmap \"splitAndSelect\" \"|\" \"1\">> />\n </td>\n </tr>\n </$list>\n </$set>\n</table>\n\n{{!!description}}\n\n "
},
"$:/plugins/felixhayashi/tiddlymap/dialog/edgeTypeManager/styling": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/edgeTypeManager/styling",
"caption": "Styling",
"text": "\\define flashTypeClass() tmap-flash-message tmap-$(flashType)$\n\n<$set name=\"trigger\" value={{!!style}}>\n<$set name=\"flashType\" value=<<tmap \"testJSON\" \"style\">>>\n<div class=<<flashTypeClass>>>The JSON you entered is: <<flashType>></div>\n</$set>\n</$set>\n\n<table class=\"tmap-config-table\">\n <$macrocall $name=\"tmap-row\" title=\"Styling\" field=\"style\" type=\"input-textarea\" test=\"json\"\n descr=\"Edge-types can be styled using a JSON format and the styling properties [[defined by Vis.js|http://visjs.org/docs/network/edges.html]]. Please [[validate your JSON|http://jsonlint.com/]] before saving.\" />\n</table>"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/edgeTypeManager": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/edgeTypeManager",
"subtitle": "{{$:/core/images/tag-button}} Edge-type manager",
"buttons": "edge_type_manager",
"text": "\\define defaultTab() $:/plugins/felixhayashi/tiddlymap/dialog/edgeTypeManager/overview\n\\define settingsTab() $:/plugins/felixhayashi/tiddlymap/dialog/edgeTypeManager/generalSettings\n\n<$importvariables filter=\"[[$:/plugins/felixhayashi/tiddlymap/misc/macros]] [[$:/core/macros/tabs]]\">\n\n<div id=\"edge-type-manager\">\n <div>\n <div class=\"searchbar\">\n <$edit-text focus=\"true\" tiddler=\"$:/temp/tmap/edgeTypeSearch\" type=\"search\" tag=\"input\" default=\"\" />\n </div>\n <ul>\n <$list filter=<<param.filter>> emptyMessage=\"//No results//\">\n <li>\n <$button class=\"tc-btn-invisible tmap-link\">{{!!title}}\n <$action-setfield $tiddler=<<qualify \"$:/state/tabs/edgeTypeManager\">> text=<<defaultTab>> />\n <$action-sendmessage $message=\"tmap:tm-fill-edge-type-form\" id={{!!title}} output=<<output>> />\n </$button>\n </li>\n </$list>\n </ul>\n </div>\n <div>\n <$reveal type=\"nomatch\" text=\"\" default={{!!id}} >\n <$macrocall $name=\"tabs\" default=<<defaultTab>> state=\"$:/state/tabs/edgeTypeManager\"\n tabsList=\"[all[shadows]prefix[$:/plugins/felixhayashi/tiddlymap/dialog/edgeTypeManager/]]\" />\n </$reveal>\n <$reveal type=\"match\" text=\"\" default={{!!id}} >\n <div style=\"text-align: center;\">Please select an edge-type from the list or create a new one.</div>\n </$reveal>\n </div>\n</div>\n\n</$importvariables>"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/editFilters": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/editFilters",
"subtitle": "{{$:/core/images/edit-button}} Filter editor -- <<view>>",
"text": "<$importvariables filter=\"[[$:/plugins/felixhayashi/tiddlymap/misc/macros]]\">\n\n<fieldset>\n <legend>Filters <sup>[1]</sup></legend>\n <table class=\"tmap-config-table\">\n <<tmap-row title:\"Node filter\" field:\"prettyNodeFilter\" type:\"input-textarea\"\n descr:\"Show tiddlers in the graph that match this filter. Drafts and system tiddlers are automatically excluded.\">>\n <<tmap-row title:\"Edge filter\" field:\"prettyEdgeFilter\" type:\"input-textarea\"\n descr:\"Show edges that match this filter\" >>\n </table> \n</fieldset>\n\n</$importvariables>\n\n---\n\n<sup>[1]</sup> A new line is equivalent to a space symbol.<br />\n<sup>[2]</sup> It is suggested to read [[Node and edge-type filters|http://tiddlymap.org#Node%20and%20edge-type%20filters]] and [[Edge-type namespaces|http://tiddlymap.org#Node%20and%20edge-type%20filters]] before using ~Tiddlymap's filter editor. Completely new to filters? Please see [[Introduction to filter notation|http://tiddlywiki.com/#Introduction%20to%20filter%20notation]].\n"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/fullscreenTiddlerEditor": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/fullscreenTiddlerEditor",
"subtitle": "{{$:/core/images/edit-button}} <<param.ref>>",
"text": "<div class=\"tmap-modal-editor\">\n <$edit-text tiddler=<<param.ref>> field=\"color\" tag=\"input\" type=\"color\"/>\n <$importvariables filter=\"[all[tiddlers+shadows]prefix[$:/core/macros/]]\">\n <$set name=\"currentTiddler\" value=<<param.ref>> >\n <$transclude tiddler=\"$:/core/ui/EditTemplate\" field=\"text\" mode=\"block\" />\n </$set>\n </$importvariables>\n</div>"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/fieldChanged": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/fieldChanged",
"subtitle": "{{$:/core/images/info-button}} The field \"<<name>>\" changed",
"text": "You changed the field \"<<name>>\" from \"<<oldValue>>\" to \"<<newValue>>\".\n\nIt is recommended to let ~TiddlyMap copy all values from the former field \"<<oldValue>>\" to the new field \"<<newValue>>\" so the data stored in \"<<oldValue>>\" is not lost. This operation has to be done now or never.\n\nDo you want to move each tiddler's existing \"<<oldValue>>\" value to \"<<newValue>>\"? Please note that any value currently stored in \"<<newValue>>\" would consequently be overridden and the old field \"<<oldValue>>\" would be eventually removed!"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/fullscreenNotSupported": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/fullscreenNotSupported",
"subtitle": "{{$:/core/images/info-button}} Your machine does not support fullscreen",
"buttons": "ok_suppress",
"text": "Please have a look [[here|http://caniuse.com/#feat=fullscreen]] to see a list of supported devices/browsers.\n\nSorry for this :(\n\n"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/getWidgetCode": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/getWidgetCode",
"subtitle": "{{$:/core/images/permalink-button}} Widget Code Generator",
"buttons": "ok",
"text": "<$importvariables filter=\"[[$:/plugins/felixhayashi/tiddlymap/misc/macros]]\">\n\nThe following wizard will assist you in creating the widget code you can use (copy'n'paste) to embed this view in a tiddler. Please visit the [[online demo|http://tiddlymap.org]] for some examples on how the attributes below affect the displayed graph.\n\n''Widget-code''\n\n<pre style=\"white-space: normal;\">\n<$tiddlymap\n\nview=\"{{!!view}}\"\n\n<$list filter=\"[field:title<output>field:var.click-to-use[false]]\">\n click-to-use=\"false\"\n</$list>\n<$list filter=\"[field:title<output>has[var.editor]]\">\n editor=\"<$view tiddler=<<output>> field='var.editor' />\"\n</$list>\n<$list filter=\"[field:title<output>has[var.width]]\">\n width=\"<$view tiddler=<<output>> field='var.width' />\"\n</$list>\n<$list filter=\"[field:title<output>has[var.height]]\">\n height=\"<$view tiddler=<<output>> field='var.height' />\"\n</$list>\n<$list filter=\"[field:title<output>has[var.class]]\">\n class=\"<$view tiddler=<<output>> field='var.class' />\"\n</$list>\n<$list filter=\"[field:title<output>field:var.show-buttons[false]]\">\n show-buttons=\"false\"\n</$list>\n\n></$tiddlymap>\n</pre>\n\nIf you are unsure about a parameter, just leave everything as is and simply copy the widget code displayed above.\n\n<fieldset>\n <legend>Parameters</legend> \n <table class=\"tmap-config-table\">\n <$macrocall $name=\"tmap-row\" type=\"input-select\" title=\"View\" field=\"view\" \n selectFilter=<<tmap \"option\" \"selector.allViewsByLabel\">>\n descr=\"The view to display\" />\n <<tmap-row type:\"input-select\" title:\"Editor bar\" field:\"var.editor\"\n selectFilter:\"[[|Hidden]] [[vis|Simple]] [[advanced|Advanced]]\"\n descr:\"Whether the widget should act as an editor or not\">>\n <<tmap-row type:\"input-text\" title:\"Height\" field:\"var.height\"\n descr:\"Graph's height in css units. Defaults to '300px'.\">>\n <<tmap-row type:\"input-text\" title:\"Width\" field:\"var.width\"\n descr:\"Graph's width in css units. Defaults to '100%'.\">>\n <<tmap-row type:\"input-text\" title:\"Class\" field:\"var.class\"\n descr:\"A custom class to apply your own css.\">>\n <<tmap-row type:\"input-checkbox\" title:\"Click to use\" field:\"var.click-to-use\" default:\"true\"\n descr:\"A click is needed to enable the graph.\">>\n <<tmap-row type:\"input-checkbox\" title:\"Show buttons\" field:\"var.show-buttons\" default:\"true\"\n descr:\"Show or hide the graph's navigation buttons.\">>\n </table>\n</fieldset>\n\n</$importvariables>"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/getNodeTitle": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/getNodeTitle",
"subtitle": "{{$:/core/images/tag-button}} Please specify a node title",
"text": "''Title'':\n<$edit-text field=\"text\" type=\"text\" tag=\"input\" default=\"\" focus=\"true\" tiddler=<<output>>\n class=\"tmap-trigger-field tmap-triggers-ok-button-on-enter\" />\n \n<sup>[1]</sup> \n\n<ul class=\"tmap-small-list\">\n<$set name=\"term\" value={{!!text}}>\n<$list filter=\"[all[tiddlers]!is[system]] +[search:title<term>]\" emptyMessage=\"//A tiddler with this title does not exist yet and will be created.//\">\n <li>\n <$button class=\"tc-btn-invisible tmap-link\">\n <$view field=\"title\" />\n <$action-setfield $tiddler=<<output>> text={{!!title}} />\n </$button>\n </li>\n</$list>\n</$set>\n</ul>\n\n---\n\n<sup>[1]</sup>\n<small>If you leave the title field blank, a name will be automatically generated for you. By choosing an existing title, you add the tiddler as node to the view.</small>"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/previewContent": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/previewContent",
"subtitle": "{{$:/core/images/video}} Previewing \"<<param.ref>>\"",
"text": "<$transclude tiddler=<<param.ref>> field=\"text\" mode=\"block\" />"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/getEdgeType": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/getEdgeType",
"subtitle": "{{$:/plugins/felixhayashi/tiddlymap/icon}} Type specification (optional)",
"text": "\\define filter() $(allEdgeTypes)$ +[search:title[$(term)$]]\n\nYou are about to connect \"<<fromLabel>>\" with \"<<toLabel>>\". Please specify a type.\n\n''Type'': \n<$edit-text focus=\"true\" tiddler=<<output>> field=\"text\" type=\"text\" tag=\"input\" default=\"\"\n class=\"tmap-trigger-field tmap-triggers-ok-button-on-enter\" />\n\n<$set name=\"term\" value={{!!text}}>\n<$set name=\"allEdgeTypes\" value=<<tmap \"option\" \"selector.allEdgeTypesByLabel\">>>\n\n<ul class=\"tmap-small-list\">\n<$list filter=<<filter>> emptyMessage=\"//A type with this name does not exist yet and will be created.//\">\n <li>\n <$button class=\"tc-btn-invisible tmap-link\">\n <$view field=\"title\" />\n <$action-setfield $tiddler=<<output>> text={{!!title}} />\n </$button>\n </li>\n</$list>\n</ul>\n\n</$set>\n</$set>\n\n"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/getViewName": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/getViewName",
"subtitle": "{{$:/core/images/tag-button}} Please specify a view name",
"text": "Name:\n<$edit-text focus=\"true\" tiddler=<<output>> field=\"text\" type=\"text\" tag=\"input\" default=\"\"\n class=\"tmap-trigger-field tmap-triggers-ok-button-on-enter\" /> <sup>[1]</sup>\n\n<$reveal type=\"nomatch\" text=\"0\" default=<<count>>>\n \n Note that ''<<count>>'' tiddlers are referencing this view and renaming the view will cause the reference to be invalid. It is recommended to first remove the tiddlymap widgets in the tiddlers listed below or change their view attributes accordingly.\n\n ''References''\n\n <ul>\n <$list filter=<<filter>> variable=\"item\">\n <li><$link><<item>></$link></li>\n </$list>\n </ul>\n \n</$reveal>\n\n---\n\n<sup>[1]</sup> <small>Attention: using the name of an existing view will overwrite it!</small>"
},
"$:/plugins/felixhayashi/tiddlymap/dialog/welcome": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialog/welcome",
"subtitle": "{{$:/core/images/info-button }} Welcome",
"buttons": "ok",
"text": "It seems that you freshly installed ~TiddlyMap.\n\n* In case you need any help, please consult the [[online docs|http://tiddlymap.org#Documentation]] first.\n* You are welcome to create an [[issue|https://github.com/felixhayashi/TW5-TiddlyMap/issues]] at ~GitHub for any bug you discover.\n* Make sure to revisit the [[demo site|http://tiddlymap.org]] to see whether your version is up-to-date.\n* If you like ~TiddlyMap, please give it a star at [[GitHub|https://github.com/felixhayashi/TW5-TiddlyMap]] or tell your friends about it :)\n\nHave a great time.\n\n---\n\n''Please note:'' By using this plugin you agree to the product's [[License Terms|$:/plugins/felixhayashi/tiddlymap/license]]. ~TiddlyMap is distributed under the [[BSD 2-Clause License|http://opensource.org/licenses/BSD-2-Clause]], which belongs to the same license family, as the license used by ~TiddlyWiki.\n\n"
},
"$:/plugins/felixhayashi/tiddlymap/dialogFooter/edge_type_manager": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialogFooter/edge_type_manager",
"text": "\\define defaultTab() $:/plugins/felixhayashi/tiddlymap/dialog/edgeTypeManager/overview\n\n<$button class=\"tmap-dialog-button tmap-save-button\" tooltip=\"Save the current changes\">Save\n <$action-sendmessage $message=\"tmap:tm-save-edge-type-form\" output=<<output>> />\n</$button>\n<$button class=\"tmap-dialog-button tmap-create-button\" tooltip=\"Create a new edge-type\">Create\n <$action-sendmessage $message=\"tmap:tm-create-edge-type\" output=<<output>> />\n</$button>\n<$button class=\"tmap-dialog-button tmap-cancel-button\" tooltip=\"Cancel the most resent changes and exit\">Quit\n <$action-setfield $tiddler=<<result>> text=\"1\" />\n</$button>\n"
},
"$:/plugins/felixhayashi/tiddlymap/dialogFooter/ok": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialogFooter/ok",
"text": "<$button class=\"tmap-dialog-button tmap-ok-button\" tooltip=\"Confirm dialog\">OK\n\n <!-- trigger dialog callback -->\n <$action-setfield $tiddler=<<result>> text=\"1\" />\n \n</$button>\n"
},
"$:/plugins/felixhayashi/tiddlymap/dialogFooter/ok_cancel": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialogFooter/ok_cancel",
"text": "<$transclude tiddler=\"$:/plugins/felixhayashi/tiddlymap/dialogFooter/ok\" mode=\"inline\" />\n<$button class=\"tmap-dialog-button tmap-cancel-button\" tooltip=\"Close dialog without saving\">Cancel\n <!-- trigger dialog callback -->\n <$action-setfield $tiddler=<<result>> text=\"\" />\n</$button>\n"
},
"$:/plugins/felixhayashi/tiddlymap/dialogFooter/ok_suppress": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialogFooter/ok_suppress",
"text": "<$set name=\"currentTiddler\" value=<<title>> >\n\n<$checkbox field=\"suppress\" checked=\"1\" unchecked=\"0\" default=\"0\"> Do not show this dialog again</$checkbox>\n<$button class=\"tmap-dialog-button tmap-ok-button\" tooltip=\"Confirm this dialog\">OK\n\n <!-- trigger dialog callback -->\n <$action-setfield $tiddler=<<result>> text=\"1\" />\n \n <!-- suppress dialog in the future -->\n <$action-sendmessage $message=\"tmap:tm-suppress-dialog\"\n dialog=<<templateId>>\n suppress={{!!suppress}} />\n \n</$button>\n\n</$set>"
},
"$:/plugins/felixhayashi/tiddlymap/dialogFooter": {
"title": "$:/plugins/felixhayashi/tiddlymap/dialogFooter",
"text": "\\define footer() $:/plugins/felixhayashi/tiddlymap/dialogFooter/$(buttons)$\n\n<$transclude tiddler=<<footer>> />\n\n<!-- we need this button to be able to close a tiddler from outside programmatically -->\n<$button class=\"tmap-hidden-close-button\" message=\"tm-close-tiddler\" />"
},
"$:/plugins/felixhayashi/tiddlymap/license": {
"title": "$:/plugins/felixhayashi/tiddlymap/license",
"subtitle": "License",
"caption": "License",
"text": "!! ~TiddlyMap\n\nCopyright (c) 2014, Felix Küppers\nAll rights reserved.\n\n~TiddlyMap is licensed under the [[BSD 2-Clause License|http://opensource.org/licenses/BSD-2-Clause]]. For the exact license terms, please visit [[https://github.com/felixhayashi/TW5-TiddlyMap/blob/master/LICENSE]]. \n\n!! ~TiddlyWiki\n\nCreated by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright © Jeremy Ruston 2004-2007 Copyright © ~UnaMesa Association 2007-2014\n\nPublished under the following [licenses](https://github.com/Jermolene/TiddlyWiki5/tree/master/licenses):\n\n# BSD 3-clause \"New\" or \"Revised\" License (including any right to adopt any future version of a license if permitted)\n# Creative Commons Attribution 3.0 (including any right to adopt any future version of a license if permitted)\n\n!! Vis.js\n\nCopyright (c) 2014 [Almende B.V.](https://github.com/almende/vis)\n\nPublished under the following licenses:\n\n# Apache License Version 2.0, January 2004 http://www.apache.org/licenses/\n# MIT License (MIT)\n"
},
"$:/plugins/felixhayashi/tiddlymap/readme": {
"title": "$:/plugins/felixhayashi/tiddlymap/readme",
"text": "* Please refer to the project-readme hosted at [[https://github.com/felixhayashi/TW5-TiddlyMap]].\n* A demo with several examples and explanations can be found at [[http://tiddlymap.org]]."
},
"$:/plugins/felixhayashi/tiddlymap/graph/edgeTypes/tmap:unknown": {
"title": "$:/plugins/felixhayashi/tiddlymap/graph/edgeTypes/tmap:unknown",
"description": "Automatically assigned to an edge that does not have a type assigned",
"style": "{\"color\":\"gray\"}",
"show-label": "false"
},
"$:/plugins/felixhayashi/tiddlymap/graph/edgeTypes/tw-body:link": {
"title": "$:/plugins/felixhayashi/tiddlymap/graph/edgeTypes/tw-body:link",
"description": "A link that is contained in the tiddler's body pointing to another resource.",
"style": "{\"color\":\"orange\", \"dashes\":true}",
"label": "links to",
"text": ""
},
"$:/plugins/felixhayashi/tiddlymap/graph/edgeTypes/tw-list:list": {
"title": "$:/plugins/felixhayashi/tiddlymap/graph/edgeTypes/tw-list:list",
"description": "Contained in a list of this tiddler",
"style": "{ \"color\": \"red\", \"dashes\":true}",
"label": "listed in",
"text": ""
},
"$:/plugins/felixhayashi/tiddlymap/graph/edgeTypes/tw-list:tags": {
"title": "$:/plugins/felixhayashi/tiddlymap/graph/edgeTypes/tw-list:tags",
"description": "A tag that refers to a tiddler of the same name.",
"style": "{ \"color\": \"DarkSlateGray\", \"dashes\":true}",
"label": "tagged with"
},
"$:/plugins/felixhayashi/tiddlymap/media/fullscreen.png": {
"title": "$:/plugins/felixhayashi/tiddlymap/media/fullscreen.png",
"type": "image/png",
"text": "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"
},
"$:/plugins/felixhayashi/tiddlymap/media/halfscreen.png": {
"created": "20150408173343768",
"id": "2ad95ce9-d39f-4f03-9cfa-7bbdfd26dd6c",
"modified": "20150408173350882",
"title": "$:/plugins/felixhayashi/tiddlymap/media/halfscreen.png",
"type": "image/png",
"text": "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"
},
"$:/plugins/felixhayashi/tiddlymap/icon": {
"created": "20150703133457707",
"modified": "20150703141319471",
"tags": "$:/tags/Image",
"title": "$:/plugins/felixhayashi/tiddlymap/icon",
"text": "<svg\n xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n xmlns:cc=\"http://creativecommons.org/ns#\"\n xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n xmlns:svg=\"http://www.w3.org/2000/svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\"\n class=\"tc-image-tiddlymap-button tc-image-button\"\n version=\"1.1\"\n width=\"22pt\"\n height=\"22pt\"\n viewBox=\"0 0 128 128\">\n <defs\n id=\"defs4\">\n <marker\n refX=\"0\"\n refY=\"0\"\n orient=\"auto\"\n id=\"Arrow1Lend\"\n style=\"overflow:visible\">\n <path\n d=\"M 0,0 5,-5 -12.5,0 5,5 0,0 z\"\n transform=\"matrix(-0.8,0,0,-0.8,-10,0)\"\n id=\"path3850\"\n style=\"fill-rule:evenodd;stroke:#000000;stroke-width:1pt\" />\n </marker>\n <marker\n refX=\"0\"\n refY=\"0\"\n orient=\"auto\"\n id=\"Arrow1Lstart\"\n style=\"overflow:visible\">\n <path\n d=\"M 0,0 5,-5 -12.5,0 5,5 0,0 z\"\n transform=\"matrix(0.8,0,0,0.8,10,0)\"\n id=\"path3847\"\n style=\"fill-rule:evenodd;stroke:#000000;stroke-width:1pt\" />\n </marker>\n <inkscape:path-effect\n effect=\"skeletal\"\n id=\"path-effect4329\" />\n <inkscape:path-effect\n effect=\"skeletal\"\n id=\"path-effect4321\" />\n <inkscape:path-effect\n effect=\"skeletal\"\n id=\"path-effect4315\" />\n <inkscape:path-effect\n effect=\"skeletal\"\n id=\"path-effect4307\" />\n <inkscape:path-effect\n effect=\"skeletal\"\n id=\"path-effect4299\" />\n <inkscape:path-effect\n effect=\"skeletal\"\n id=\"path-effect4293\" />\n </defs>\n <g\n transform=\"translate(0,-1024.5289)\"\n id=\"layer1\">\n <path\n d=\"m 17.867073,4.5821643 a 3.7249374,3.7249374 0 1 1 -7.449875,0 3.7249374,3.7249374 0 1 1 7.449875,0 z\"\n transform=\"matrix(-6.3328802,0,0,6.2775831,193.9581,1100.3667)\"\n id=\"path4139-1-14\"\n style=\"fill-opacity:1;fill-rule:nonzero\" />\n <path\n d=\"M 77.450496,1064.5069 C 58.849552,1025.9634 15.704158,1023.3858 2.8821873e-7,1034.558 L 0.02388589,1035.2674 C 24.502636,1022.2072 44.810725,1042.1507 60.163934,1074.112 z\"\n id=\"path4337\"\n style=\"fill-opacity:1;stroke-width:0.58181816;stroke-miterlimit:4;stroke-dasharray:none;marker-start:none;marker-end:none\" />\n <path\n d=\"m 12.878637,11.280739 4.75937,-2.7478243 4.759371,-2.7478236 0,5.4956479 0,5.495648 -4.759371,-2.747824 z\"\n transform=\"matrix(4.6545455,0,0,4.6545455,-13.580429,1027.7638)\"\n id=\"path3004\"\n style=\"fill-opacity:1;fill-rule:nonzero\" />\n </g>\n <metadata\n id=\"metadata3772\">\n <rdf:RDF>\n <cc:Work\n rdf:about=\"\">\n <dc:title></dc:title>\n <dc:format>image/svg+xml</dc:format>\n <dc:type\n rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" />\n </cc:Work>\n </rdf:RDF>\n </metadata>\n</svg>\n"
},
"$:/plugins/felixhayashi/tiddlymap/media/surface.png": {
"title": "$:/plugins/felixhayashi/tiddlymap/media/surface.png",
"type": "image/png",
"text": "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"
},
"$:/plugins/felixhayashi/tiddlymap/misc/advancedEditorBar": {
"title": "$:/plugins/felixhayashi/tiddlymap/misc/advancedEditorBar",
"text": "\\define showEdgeField() show-$(curEdgeId)$\n\n<!-- ===== View Switcher ======================================== -->\n\n<div class=\"tmap-menu-bar\">\n View:\n <$reveal type=\"match\" text=\"false\" default=<<param.isViewBound>> >\n <$select tiddler=<<param.ref.viewHolder>> field=\"text\" default=<<param.ref.view>> >\n <$list filter=<<tmap \"option\" \"selector.allViews\">> >\n <option value={{!!title}}>\n <$view tiddler=<<tmap \"basename\">> field=\"title\" />\n </option>\n </$list>\n </$select>\n </$reveal>\n <$reveal type=\"match\" text=\"true\" default=<<param.isViewBound>> >\n <b><<param.viewLabel>></b>\n </$reveal>\n\n <$button popup=<<qualify \"$:/temp/menu\">>>{{$:/core/images/menu-button}}</$button>\n \n <$reveal type=\"popup\" position=\"below\" state=<<qualify \"$:/temp/menu\">> >\n <div class=\"tc-drop-down\">\n <a href=\"http://tiddlymap.org#Documentation\" target=\"_blank\">{{$:/core/images/info-button}} Open online help</a>\n <hr />\n <$button class=\"tc-btn-invisible\" message=\"tmap:tm-create-view\">{{$:/core/images/new-button}} Create empty view</$button>\n <$button class=\"tc-btn-invisible\" message=\"tmap:tm-rename-view\">{{$:/core/images/tag-button}} Rename view</$button>\n <$button class=\"tc-btn-invisible\" message=\"tmap:tm-delete-view\">{{$:/core/images/delete-button}} Delete view</$button>\n <$button class=\"tc-btn-invisible\" message=\"tmap:tm-store-position\">{{$:/core/images/globe}} Save positions</$button>\n <$button class=\"tc-btn-invisible\" message=\"tmap:tm-generate-widget\">{{$:/core/images/permalink-button}} Grab widget code</$button>\n <hr />\n <$button class=\"tc-btn-invisible\" message=\"tmap:tm-edit-view\">{{$:/core/images/theme-button}} Configure view</$button>\n <$button class=\"tc-btn-invisible\" message=\"tmap:tm-edit-filters\">{{$:/core/images/edit-button}} Edit filters</$button>\n <hr />\n <$button class=\"tc-btn-invisible\" message=\"tmap:tm-configure-system\">{{$:/core/images/options-button}} Global configurations</$button>\n <$button class=\"tc-btn-invisible\" message=\"tmap:tm-manage-edge-types\">{{$:/core/images/tag-button}} Manage edge-types</$button>\n </div>\n </$reveal>\n \n <$button class=\"tmap-radar-button\" popup=<<qualify \"$:/temp/radar\">>>☀</$button> \n \n <$reveal type=\"popup\" position=\"below\" state=<<qualify \"$:/temp/radar\">> >\n <div class=\"tc-drop-down\">\n <$button class=\"tc-btn-invisible\">Hide neighbourhood\n <$action-setfield $tiddler=<<param.ref.view>> config.neighbourhood_scope=\"0\" />\n </$button>\n <hr />\n <$list filter=\"[[1|1 step distance]]\n [[2|2 step distance]]\n [[3|3 step distance]]\n [[4|4 step distance]]\n [[5|5 step distance]]\">\n <$button class=\"tc-btn-invisible\">\n <<tmap \"splitAndSelect\" \"|\" \"1\">>\n <$action-setfield $tiddler=<<param.ref.view>>\n config.neighbourhood_scope=<<tmap \"splitAndSelect\" \"|\" \"0\">> />\n </$button>\n </$list>\n <hr />\n <$button class=\"tc-btn-invisible\">No limit\n <$action-setfield $tiddler=<<param.ref.view>> config.neighbourhood_scope=\"100\" />\n </$button>\n </div>\n </$reveal>\n \n</div>"
},
"$:/plugins/felixhayashi/tiddlymap/misc/focusButton": {
"title": "$:/plugins/felixhayashi/tiddlymap/misc/focusButton",
"text": "<div class=\"tmap-focus-button\">\n <$reveal type=\"nomatch\" state=\"$:/temp/tmap/state/focus\" text=<<qualify>>>\n <$button class=<<tv-config-toolbar-class>>>{{$:/core/images/advanced-search-button}}\n <$action-setfield $tiddler=<<param.searchOutput>> text=\"\" />\n <$action-setfield $tiddler=\"$:/temp/tmap/state/focus\" text=<<qualify>> />\n <$action-sendmessage $message=\"tmap:tm-reset-focus\" />\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=\"$:/temp/tmap/state/focus\" text=<<qualify>>>\n <$button class=<<tv-config-toolbar-class>> >{{$:/core/images/advanced-search-button}}\n <$action-setfield $tiddler=\"$:/temp/tmap/state/focus\" text=\"\" />\n <$action-sendmessage $message=\"tmap:tm-reset-focus\" />\n </$button>\n <div class=\"tmap-popup\">\n <div class=\"tc-drop-down\">\n <$edit-text focus=\"true\" tiddler=<<param.searchOutput>> field=\"text\" type=\"text\" tag=\"input\" default=\"\" />\n <small><$count filter=<<param.nodeFilter>> /> results</small>\n <hr />\n <div class=\"tmap-very-small-list\">\n <$list filter=<<param.nodeFilter>> variable=\"item\" emptyMessage=\"//No results//\">\n <$button class=\"tc-btn-invisible\" set=\"$:/temp/tmap/state/focus\" setTo=\"\" message=\"tmap:tm-focus-node\" param=<<item>>>\n <$view tiddler=<<item>> field=\"title\" />\n </$button>\n </$list>\n </div>\n </div>\n </div>\n </$reveal>\n</div>"
},
"$:/language/Buttons/TiddlyMap/Caption": {
"title": "$:/language/Buttons/TiddlyMap/Caption",
"text": "tiddlymap"
},
"$:/language/Buttons/TiddlyMap/Hint": {
"title": "$:/language/Buttons/TiddlyMap/Hint",
"text": "Show TiddlyMap actions"
},
"$:/plugins/felixhayashi/tiddlymap/misc/macros": {
"title": "$:/plugins/felixhayashi/tiddlymap/misc/macros",
"text": "\\define input-text(field, index, default, readonly)\n <$reveal type=\"match\" text=\"\" default=\"$readonly$\">\n <$edit-text tiddler=<<output>> field=\"$field$\" index=\"$index$\" type=\"text\" tag=\"input\" default=\"$default$\" />\n </$reveal>\n <$reveal type=\"nomatch\" text=\"\" default=\"$readonly$\">\n <input type=\"text\" value=\"$default$\" readonly=\"true\" disabled=\"true\" />\n </$reveal>\n\\end\n\n\\define input-textarea(field, index, default, default)\n <$edit-text tiddler=<<output>> field=\"$field$\" index=\"$index$\" type=\"text\" tag=\"textarea\" default=\"$default$\" />\n\\end\n\n\\define input-checkbox(field, index, readonly, default)\n <$reveal type=\"match\" text=\"\" default=\"$readonly$\">\n <$checkbox tiddler=<<output>> field=\"$field$\" index=\"$index$\" checked=\"true\" unchecked=\"false\" default=\"$default$\" />\n </$reveal>\n <$reveal type=\"nomatch\" text=\"\" default=\"$readonly$\">\n <input type=\"checkbox\" value=\"$default$\" readonly=\"true\" disabled=\"true\" />\n </$reveal>\n\\end\n\n\\define input-select(field, index, selectFilter, default)\n <$select tiddler=<<output>> field=\"$field$\" index=\"$index$\" default=\"$default$\">\n <$list filter=\"$selectFilter$\">\n <option value=<<tmap \"splitAndSelect\" \"|\" \"0\">> >\n <<tmap \"splitAndSelect\" \"|\" \"1\">>\n </option>\n </$list>\n </$select>\n\\end\n\n\\define input-radio(field, index, default)\n <$radio tiddler=<<output>> field=\"$field$\" index=\"$index$\" value=\"$value$\" />\n\\end\n\n\\define tmap-row(title, field, index, type, descr, note, default, readonly, selectFilter)\n <tr>\n <td class=\"tmap-title\">$title$:</td>\n <td>\n <<$type$\n field:\"$field$\"\n index:\"$index$\"\n values:\"$values$\"\n readonly:\"$readonly$\"\n default:\"$default$\"\n selectFilter:\"$selectFilter$\">>\n </td>\n <td>\n <span class=\"tmap-description\">$descr$</span>\n <$reveal type=\"nomatch\" text=\"\" default=\"$note$\">\n <div class=\"tmap-note\">''Note:'' $note$</div>\n </$reveal>\n </td>\n </tr>\n\\end"
},
"$:/plugins/felixhayashi/tiddlymap/misc/defaultViewHolder": {
"title": "$:/plugins/felixhayashi/tiddlymap/misc/defaultViewHolder",
"text": "$:/plugins/felixhayashi/tiddlymap/graph/views/Default"
},
"$:/plugins/felixhayashi/tiddlymap/config/sys": {
"title": "$:/plugins/felixhayashi/tiddlymap/config/sys",
"type": "application/json",
"text": "{ \n \"field\": {\n \"nodeId\": \"tmap.id\",\n \"nodeLabel\": \"caption\",\n \"nodeIcon\": \"icon\",\n \"nodeInfo\": \"description\",\n \"viewMarker\": \"isview\",\n \"edgeTypeMarker\": \"tmap.is-edge-type\",\n \"edges\": \"tmap.edges\"\n },\n \"suppressedDialogs\": {\n },\n \"edgeClickBehaviour\": \"manager\",\n \"debug\": \"false\",\n \"notifications\": \"true\",\n \"editNodeOnCreate\": \"false\",\n \"singleClickMode\": \"false\"\n}\n"
},
"$:/plugins/felixhayashi/tiddlymap/config/vis": {
"title": "$:/plugins/felixhayashi/tiddlymap/config/vis",
"type": "application/json",
"text": "{\n \"clickToUse\": true,\n \"autoResize\": false,\n \"height\": \"100%\",\n \"width\": \"100%\",\n \"configure\": {\n \"enabled\": false\n },\n \"interaction\": {\n \"dragNodes\":true,\n \"dragView\": true,\n \"hideEdgesOnDrag\": false,\n \"hideNodesOnDrag\": false,\n \"hover\": false,\n \"navigationButtons\": true,\n \"selectable\": true,\n \"selectConnectedEdges\": true,\n \"tooltipDelay\": 300,\n \"zoomView\": true,\n \"keyboard\": {\n \"enabled\": false,\n \"speed\": {\n \"x\": 10,\n \"y\": 10,\n \"zoom\": 0.02\n },\n \"bindToWindow\": false\n }\n },\n \"nodes\": {\n \"shape\": \"box\",\n \"color\": {\n \"border\" : \"#2B7CE9\",\n \"background\" : \"#97C2FC\",\n \"highlight\": {\n \"border\": \"#2B7CE9\",\n \"background\": \"#D2E5FF\"\n },\n \"hover\": {\n \"border\": \"white\",\n \"background\": \"white\"\n }\n }\n },\n \"edges\": {\n \"smooth\": {\n \"enabled\": true\n },\n \"color\": {\n \"color\": \"#848484\",\n \"inherit\": false\n },\n \"arrows\": {\n \"to\": {\n \"enabled\": true\n }\n }\n },\n \"physics\": {\n \"forceAtlas2Based\": {\n \"springLength\": 200,\n \"centralGravity\": 0,\n \"springConstant\": 0.130\n },\n \"solver\": \"forceAtlas2Based\",\n \"stabilization\": {\n \"enabled\": true,\n \"iterations\": 1000,\n \"updateInterval\": 100,\n \"onlyDynamicEdges\": false,\n \"fit\": false\n }\n },\n \"groups\": {\n \"neighbours\": {\n \"color\": \"#E6E6E6\"\n },\n \"matches\": {\n \"color\": \"#97C2FC\"\n }\n },\n \n \"locale\": \"en_EN\"\n}\n"
},
"$:/plugins/felixhayashi/tiddlymap/misc/quickConnectButton": {
"tags": "$:/tags/ViewToolbar",
"title": "$:/plugins/felixhayashi/tiddlymap/misc/quickConnectButton",
"description": "{{$:/language/Buttons/TiddlyMap/Hint}}",
"caption": "{{$:/plugins/felixhayashi/tiddlymap/icon}} {{$:/language/Buttons/TiddlyMap/Caption}}",
"text": "\\define tiddlerSearchFilter()\n [!is[system]!has[draft.of]search:title{$:/temp/quickConnectSearch}sort[title]]\n\\end\n\n\\define showButton(state)\n<$button set=\"$:/temp/tiddlymap/quickConnectButton\"\n setTo=\"$state$\" tooltip={{$:/language/Buttons/TiddlyMap/Hint}} \n aria-label={{$:/language/Buttons/TiddlyMap/Caption}}\n class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/plugins/felixhayashi/tiddlymap/icon}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/TiddlyMap/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n\\define hidePopup()\n<$macrocall $name=\"showButton\" state=<<qualify>> />\n\\end\n\n\\define showPopup()\n<$macrocall $name=\"showButton\" state=\"\" />\n<div class=\"tmap-quick-connect tc-reveal tc-popup\">\n <div class=\"tc-drop-down\">\n <div>{{$:/core/images/close-others-button}} ''Create connection'' <sup>[1]</sup></div>\n <table>\n <tr>\n <td>Type:</td>\n <td>\n <$edit-text tiddler=\"$:/temp/quickConnectSearch/type\" field=\"text\" type=\"text\" tag=\"input\" default=\"\" />\n <$select tiddler=\"$:/temp/quickConnectSearch/type\" default=\"\">\n <option></option>\n <$list filter=<<tmap \"option\" \"selector.allEdgeTypesByLabel\">> >\n <option>{{!!title}}</option>\n </$list>\n </$select>\n </td>\n </tr>\n <tr>\n <td>Search:</td>\n <td>\n <$edit-text tiddler=\"$:/temp/quickConnectSearch\" type=\"search\" tag=\"input\" default=\"\"></$edit-text>\n <small><$count filter=<<tiddlerSearchFilter>> /> results</small>\n </td>\n </tr>\n <tr>\n <td colspan=\"2\">\n <table class=\"tmap-very-small-list\">\n <$list filter=<<tiddlerSearchFilter>> variable=\"item\" emptyMessage=\"//No results//\">\n <tr>\n <td>\n <$button>⇦\n <$action-sendmessage $message=\"tmap:tm-create-edge\"\n from=<<item>>\n to=<<currentTiddler>>\n label={{$:/temp/quickConnectSearch/type}}\n view={{$:/temp/quickConnectSearch/view}} />\n </$button>\n </td>\n <td>\n <$button>⇨\n <$action-sendmessage $message=\"tmap:tm-create-edge\"\n from=<<currentTiddler>>\n to=<<item>>\n label={{$:/temp/quickConnectSearch/type}}\n view={{$:/temp/quickConnectSearch/view}} />\n </$button>\n </td>\n <td><$view tiddler=<<item>> field=\"title\" /></td>\n </tr>\n </$list>\n </table>\n </td>\n </tr>\n </table>\n <hr />\n <div>''Existing Connections''</div>\n <p>\n <$tmap-connections>\n <div>\n <$button class=\"tc-btn-invisible\">{{$:/core/images/close-button}}\n <$action-sendmessage $message=\"tmap:tm-remove-edge\" id=<<edge.id>> from=<<edge.from>> to=<<edge.to>> type=<<edge.type>> />\n </$button>\n <<direction>>\n <$link to=<<neighbour>>>\n <$view field=\"title\" />\n </$link>\n (<<edge.type>>)\n </div>\n </$tmap-connections>\n </p> \n </div>\n</div>\n\\end\n\n<$list filter=\"[{$:/temp/tiddlymap/quickConnectButton}prefix<qualify>first[]]\"\n variable=\"item\" emptyMessage=<<hidePopup>>><<showPopup>>\n</$list>"
},
"$:/plugins/felixhayashi/tiddlymap/hook/editor": {
"caption": "Map",
"tags": "$:/tags/SideBar",
"title": "$:/plugins/felixhayashi/tiddlymap/hook/editor",
"text": "<$tiddlymap\n editor=\"advanced\"\n object-id=\"main_editor\"\n click-to-use=\"false\"\n width=\"calc(100% - 15px)\"\n bottom-spacing=\"35px\">\n</$tiddlymap>"
},
"$:/plugins/felixhayashi/tiddlymap/graph/views/Default/filter/edges": {
"title": "$:/plugins/felixhayashi/tiddlymap/graph/views/Default/filter/edges",
"filter": "[prefix[$:/plugins/felixhayashi/tiddlymap/graph/edgeTypes]]"
},
"$:/plugins/felixhayashi/tiddlymap/graph/views/Default/filter/nodes": {
"title": "$:/plugins/felixhayashi/tiddlymap/graph/views/Default/filter/nodes",
"filter": "[!is[system]!has[draft.of]] +[limit[100]]"
},
"$:/plugins/felixhayashi/tiddlymap/graph/views/Default": {
"title": "$:/plugins/felixhayashi/tiddlymap/graph/views/Default",
"config.physics_mode": "true",
"isview": "true"
},
"$:/plugins/felixhayashi/tiddlymap/graph/views/Live View/filter/edges": {
"title": "$:/plugins/felixhayashi/tiddlymap/graph/views/Live View/filter/edges",
"filter": "[prefix[$:/plugins/felixhayashi/tiddlymap/graph/edgeTypes]]",
"text": "\n\n"
},
"$:/plugins/felixhayashi/tiddlymap/graph/views/Live View/filter/nodes": {
"title": "$:/plugins/felixhayashi/tiddlymap/graph/views/Live View/filter/nodes",
"filter": "[!is[system]field:title{$:/temp/focussedTiddler}]"
},
"$:/plugins/felixhayashi/tiddlymap/graph/views/Live View": {
"title": "$:/plugins/felixhayashi/tiddlymap/graph/views/Live View",
"config.neighbourhood_scope": "1",
"config.refresh-triggers": "$:/temp/focussedTiddler",
"config.physics_mode": "true",
"isview": "true"
},
"$:/plugins/felixhayashi/tiddlymap/graph/views/Graph search/filter/nodes": {
"title": "$:/plugins/felixhayashi/tiddlymap/graph/views/Graph search/filter/nodes",
"filter": "[!is[system]search{$:/temp/search}] [!is[system]search:tags{$:/temp/search}] [!is[system]search:text{$:/temp/search}limit[10]]"
},
"$:/plugins/felixhayashi/tiddlymap/graph/views/Graph search": {
"title": "$:/plugins/felixhayashi/tiddlymap/graph/views/Graph search",
"config.neighbourhood_scope": "1",
"config.physics_mode": "true"
},
"$:/plugins/felixhayashi/tiddlymap/widget/connections.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/tiddlymap/widget/connections.js\ntype: application/javascript\nmodule-type: widget\n\n@module TiddlyMap\n@preserve\n\n\\*/\n(function(){\"use strict\";var e=require(\"$:/core/modules/widgets/widget.js\").widget;var t=require(\"$:/plugins/felixhayashi/tiddlymap/edgetype.js\").EdgeType;var r=function(t,r){e.call(this,t,r);this.utils=$tw.tmap.utils};r.prototype=Object.create(e.prototype);r.prototype.render=function(e,t){this.parentDomNode=e;this.computeAttributes();this.execute();this.renderChildren(e,t)};r.prototype.execute=function(){var e=[this.getVariable(\"currentTiddler\")];var t={typeWL:$tw.tmap.adapter.getEdgeTypeWhiteList(\"[!suffix[tw-body:link]]\")};var r=$tw.tmap.adapter.getNeighbours(e,t);var i=r.nodes;var s=r.edges;var a=[];for(var o in s){var n=s[o];var d=i[n.to]?\"To\":\"From\";var p=i[n[d.toLowerCase()]];if(!p)continue;a.push({type:\"tmap-edgelistitem\",edge:n,neighbour:p,direction:d,children:this.parseTreeNode.children})}this.makeChildWidgets(a)};r.prototype.refresh=function(e){for(var t in e){if(!this.utils.isSystemOrDraft(t)){this.refreshSelf();return true}}return this.refreshChildren(e)};exports[\"tmap-connections\"]=r;var i=function(t,r){e.call(this,t,r);this.utils=$tw.tmap.utils};i.prototype=Object.create(e.prototype);i.prototype.execute=function(){var e=this.parseTreeNode;var t=$tw.tmap.indeces.tById[e.neighbour.id];var r=this.utils.flatten(e.edge);for(var i in r){if(typeof r[i]===\"string\"){this.setVariable(\"edge.\"+i,r[i])}}this.setVariable(\"currentTiddler\",t);this.setVariable(\"neighbour\",t);this.setVariable(\"direction\",e.direction);this.makeChildWidgets()};i.prototype.refresh=function(e){return this.refreshChildren(e)};exports[\"tmap-edgelistitem\"]=i})();",
"title": "$:/plugins/felixhayashi/tiddlymap/widget/connections.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/felixhayashi/tiddlymap/widget/map.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/tiddlymap/widget/map.js\ntype: application/javascript\nmodule-type: widget\n\n@module TiddlyMap\n@preserve\n\n\\*/\n(function(){\"use strict\";var e=require(\"$:/core/modules/widgets/widget.js\").widget;var t=require(\"$:/plugins/felixhayashi/tiddlymap/view_abstraction.js\").ViewAbstraction;var i=require(\"$:/plugins/felixhayashi/tiddlymap/callback_manager.js\").CallbackManager;var s=require(\"$:/plugins/felixhayashi/tiddlymap/dialog_manager.js\").DialogManager;var r=require(\"$:/plugins/felixhayashi/tiddlymap/utils.js\").utils;var a=require(\"$:/plugins/felixhayashi/tiddlymap/edgetype.js\").EdgeType;var n=require(\"$:/plugins/felixhayashi/vis/vis.js\");var o=function(t,a){e.call(this);this.initialise(t,a);this.adapter=$tw.tmap.adapter;this.opt=$tw.tmap.opt;this.notify=$tw.tmap.notify;this.callbackManager=new i;this.dialogManager=new s(this.callbackManager,this);this.computeAttributes();this.objectId=this.getAttribute(\"object-id\")?this.getAttribute(\"object-id\"):r.genUUID();this.editorMode=this.getAttribute(\"editor\");if(this.editorMode){r.addListeners({\"tmap:tm-create-view\":this.handleCreateView,\"tmap:tm-rename-view\":this.handleRenameView,\"tmap:tm-delete-view\":this.handleDeleteView,\"tmap:tm-edit-view\":this.handleEditView,\"tmap:tm-configure-system\":this.handleConfigureSystem,\"tmap:tm-store-position\":this.handleStorePositions,\"tmap:tm-edit-filters\":this.handleEditFilters,\"tmap:tm-generate-widget\":this.handleGenerateWidget},this,this)}r.addListeners({\"tmap:tm-focus-node\":this.handleFocusNode,\"tmap:tm-reset-focus\":this.repaintGraph},this,this)};o.prototype=Object.create(e.prototype);o.prototype.handleConnectionEvent=function(e,t){var i={fromLabel:this.adapter.selectNodeById(e.from).label,toLabel:this.adapter.selectNodeById(e.to).label};this.dialogManager.open(\"getEdgeType\",i,function(i,s){if(i){var n=r.getText(s);var o=r.hasSubString(n,\":\");var d=this.view.getConfig(\"edge_type_namespace\");n=new a((d&&!o?d:\"\")+n);if(!n.exists())n.persist();e.type=n.getId();var h=this.adapter.insertEdge(e);var l=this.view.getEdgeFilter(\"compiled\");var g=this.adapter.getEdgeTypeWhiteList(l);if(!g[n.getId()]){var p={type:n.getId(),view:this.view.getLabel()};$tw.tmap.dialogManager.open(\"edgeNotVisible\",p)}}if(typeof t==\"function\"){t(i)}})};o.prototype.checkForFreshInstall=function(){if(r.getEntry(this.opt.ref.sysMeta,\"showWelcomeMessage\",true)){r.setEntry(this.opt.ref.sysMeta,\"showWelcomeMessage\",false);this.dialogManager.open(\"welcome\")}};o.prototype.openStandardConfirmDialog=function(e,t){var i={message:t};this.dialogManager.open(\"getConfirmation\",i,e)};o.prototype.logger=function(e,t){var i=Array.prototype.slice.call(arguments,1);i.unshift(\"@\"+this.objectId.toUpperCase());i.unshift(e);$tw.tmap.logger.apply(this,i)};o.prototype.render=function(e,t){this.parentDomNode=e;if(r.isPreviewed(this)){this.initAndRenderPlaceholder(e);return}this.registerClassNames(e);this.sidebar=r.getFirstElementByClassName(\"tc-sidebar-scrollable\");this.isContainedInSidebar=this.sidebar&&this.sidebar.contains(this.parentDomNode);this.viewHolderRef=this.getViewHolderRef();this.view=this.getView();this.initAndRenderEditorBar(e);if(!r.isPreviewed(this)){this.initAndRenderGraph(e)}$tw.tmap.registry.push(this);this.checkOnRefreshTriggers();this.checkForFreshInstall()};o.prototype.registerClassNames=function(e){if(!$tw.utils.hasClass(e,\"tmap-widget\")){var t=[\"tmap-widget\"];if(this.isClickToUse()){t.push(\"tmap-click-to-use\")}if(this.getAttribute(\"editor\")===\"advanced\"){t.push(\"tmap-advanced-editor\")}if(!r.isTrue(this.getAttribute(\"show-buttons\"),true)){t.push(\"tmap-no-buttons\")}if(this.getAttribute(\"class\")){t.push(this.getAttribute(\"class\"))}$tw.utils.addClass(e,t.join(\" \"));this.graphLoadingBarDomNode=document.createElement(\"div\");$tw.utils.addClass(this.graphLoadingBarDomNode,\"tmap-loading-bar\");e.appendChild(this.graphLoadingBarDomNode)}};o.prototype.initAndRenderEditorBar=function(e){this.graphBarDomNode=document.createElement(\"div\");$tw.utils.addClass(this.graphBarDomNode,\"tmap-topbar\");e.appendChild(this.graphBarDomNode);this.rebuildEditorBar();this.renderChildren(this.graphBarDomNode)};o.prototype.initAndRenderPlaceholder=function(e){$tw.utils.addClass(e,\"tmap-graph-placeholder\")};o.prototype.rebuildEditorBar=function(){var e=r.flatten({param:{viewLabel:this.view.getLabel(),isViewBound:String(this.isViewBound()),ref:{view:this.view.getRoot(),viewHolder:this.getViewHolderRef(),edgeFilter:this.view.getPaths().edgeFilter},allEdgesFilter:this.opt.selector.allEdgeTypes,searchOutput:\"$:/temp/tmap/bar/search\",nodeFilter:\"[list[$:/temp/tmap/nodes/\"+this.view.getLabel()+\"]\"+\"search:title{$:/temp/tmap/bar/search}]\"}});for(var t in e){this.setVariable(t,e[t])}var i={type:\"tiddler\",attributes:{tiddler:{type:\"string\",value:this.view.getRoot()}},children:[]};if(this.editorMode===\"advanced\"){i.children.push({type:\"transclude\",attributes:{tiddler:{type:\"string\",value:this.opt.ref.graphBar}}})}else{i.children.push({type:\"element\",tag:\"span\",attributes:{\"class\":{type:\"string\",value:\"tmap-view-label\"}},children:[{type:\"text\",text:e[\"param.viewLabel\"]}]})}i.children.push({type:\"transclude\",attributes:{tiddler:{type:\"string\",value:this.opt.ref.focusButton}}});this.makeChildWidgets([i])};o.prototype.refresh=function(e){if(this.isZombieWidget()||!this.network||r.isPreviewed(this))return;this.callbackManager.handleChanges(e);var t=this.isViewSwitched(e);var i=this.view.refresh(e);if(t||i.length){var s={resetData:true,resetOptions:true,resetFocus:{delay:0,duration:0}};if(t){this.logger(\"warn\",\"View switched\");this.view=this.getView(true)}else{this.logger(\"warn\",\"View modified\",i);s.resetData=false}this.rebuildGraph(s);this.checkOnRefreshTriggers()}else{this.checkOnGraph(e)}this.checkOnEditorBar(e,t,i)};o.prototype.checkOnRefreshTriggers=function(){this.callbackManager.remove(this.refreshTriggers);var e=this.getAttribute(\"refresh-triggers\")||this.view.getConfig(\"refresh-triggers\");this.refreshTriggers=$tw.utils.parseStringArray(e)||[];this.logger(\"debug\",\"Registering refresh trigger\",this.refreshTriggers);for(var t=0;t<this.refreshTriggers.length;t++){this.callbackManager.add(this.refreshTriggers[t],this.handleTriggeredRefresh.bind(this),false)}};o.prototype.rebuildGraph=function(e){if(r.isPreviewed(this))return;this.logger(\"debug\",\"Rebuilding graph\");e=e||{};this.hasNetworkStabilized=false;this.network.selectNodes([]);if(e.resetData){this.graphData.edges.clear();this.graphData.nodes.clear();this.graphData.edgesById=null;this.graphData.nodesById=null}if(e.resetOptions){this.graphOptions=this.getGraphOptions();this.network.setOptions(this.graphOptions)}this.rebuildGraphData(true);if(!r.hasElements(this.graphData.nodesById)){return}this.network.stabilize();if(e.resetFocus&&!this.preventNextContextReset){this.fitGraph(e.resetFocus.delay,e.resetFocus.duration)}this.doZoomAfterStabilize=true;this.preventNextContextReset=false};o.prototype.getContainer=function(){return this.parentDomNode};o.prototype.rebuildGraphData=function(e){$tw.tmap.start(\"Reloading Network\");if(!e&&this.graphData){return this.graphData}var t=this.adapter.getGraph({view:this.view});var i=t.nodes;var s=t.edges;this.graphData.nodes=this.getRefreshedDataSet(i,this.graphData.nodesById,this.graphData.nodes);this.graphData.edges=this.getRefreshedDataSet(s,this.graphData.edgesById,this.graphData.edges);this.graphData.nodesById=i;this.graphData.edgesById=s;r.setField(\"$:/temp/tmap/nodes/\"+this.view.getLabel(),\"list\",this.adapter.getTiddlersById(i));$tw.tmap.stop(\"Reloading Network\");return this.graphData};o.prototype.isViewBound=function(){return r.startsWith(this.getViewHolderRef(),this.opt.path.localHolders)};o.prototype.isViewSwitched=function(e){if(this.isViewBound()){return false}else{return r.hasOwnProp(e,this.getViewHolderRef())}};o.prototype.checkOnEditorBar=function(e,t,i){if(t||i.length){this.removeChildDomNodes();this.rebuildEditorBar();this.renderChildren(this.graphBarDomNode);return true}else{return this.refreshChildren(e)}};o.prototype.checkOnGraph=function(e){var t=this.view.getNodeFilter(\"compiled\");var i=r.getMatches(t,Object.keys(e),true);for(var s in e){if(r.isSystemOrDraft(s))continue;var a=i[s];var n=this.graphData.nodesById[this.adapter.getId(s)];if(a||n){this.rebuildGraph();return}}var o=this.view.getEdgeFilter(\"compiled\");var d=r.getMatches(o,Object.keys(e));if(d.length){this.logger(\"info\",\"Changed edge-types\",d);this.rebuildGraph();return}};o.prototype.initAndRenderGraph=function(e){this.logger(\"info\",\"Initializing and rendering the graph\");this.graphDomNode=document.createElement(\"div\");e.appendChild(this.graphDomNode);$tw.utils.addClass(this.graphDomNode,\"tmap-vis-graph\");e.style[\"width\"]=this.getAttribute(\"width\",\"100%\");this.handleResizeEvent=this.handleResizeEvent.bind(this);this.handleClickEvent=this.handleClickEvent.bind(this);window.addEventListener(\"resize\",this.handleResizeEvent,false);if(!this.isContainedInSidebar){this.callbackManager.add(\"$:/state/sidebar\",this.handleResizeEvent)}window.addEventListener(\"click\",this.handleClickEvent,false);var t=r.getFullScreenApis();if(t){window.addEventListener(t[\"_fullscreenChange\"],this.handleFullScreenChange.bind(this),false)}this.handleResizeEvent();this.graphOptions=this.getGraphOptions();this.graphData={nodes:new n.DataSet,edges:new n.DataSet,nodesById:r.getDataMap(),edgesById:r.getDataMap()};this.network=new n.Network(this.graphDomNode,this.graphData,this.graphOptions);this.visNetworkDomNode=this.graphDomNode.firstElementChild;this.addKeyBindings();this.network.on(\"click\",this.handleVisSingleClickEvent.bind(this));this.network.on(\"doubleClick\",this.handleVisDoubleClickEvent.bind(this));this.network.on(\"stabilized\",this.handleVisStabilizedEvent.bind(this));this.network.on(\"dragStart\",this.handleVisDragStart.bind(this));this.network.on(\"dragEnd\",this.handleVisDragEnd.bind(this));this.network.on(\"select\",this.handleVisSelect.bind(this));this.network.on(\"viewChanged\",this.handleVisViewportChanged.bind(this));this.network.on(\"beforeDrawing\",this.handleVisBeforeDrawing.bind(this));this.network.on(\"stabilizationProgress\",this.handleVisLoading.bind(this));this.network.on(\"stabilizationIterationsDone\",this.handleVisLoadingDone.bind(this));this.addGraphButtons({\"fullscreen-button\":function(){this.handleToggleFullscreen(false)}});if(this.isContainedInSidebar){this.addGraphButtons({\"halfscreen-button\":function(){this.handleToggleFullscreen(true)}})}this.rebuildGraph({resetFocus:{delay:0,duration:0}})};o.prototype.addKeyBindings=function(e){this.visNetworkDomNode.tabIndex=0;var t=n.keycharm({container:this.parentDomNode});t.bind(\"delete\",function(){this.handleRemoveElement(this.network.getSelection())}.bind(this))};o.prototype.isClickToUse=function(){return r.isTrue(this.getAttribute(\"click-to-use\"),true)||this.isMobileMode()&&this.objectId===\"main_editor\"};o.prototype.isMobileMode=function(){var e=r.getText(this.opt.ref.sidebarBreakpoint,960);return window.innerWidth<=parseInt(e)};o.prototype.getGraphOptions=function(){var e=this.view.getVisConfig();e.clickToUse=this.isClickToUse();e.manipulation={enabled:this.editorMode?true:false,initiallyActive:true,controlNodeStyle:{}};e.manipulation.deleteNode=function(e,t){this.handleRemoveElement(e);this.resetVisManipulationBar(t)}.bind(this);e.manipulation.deleteEdge=e.manipulation.deleteNode;e.manipulation.addEdge=function(e,t){this.handleConnectionEvent(e);this.resetVisManipulationBar(t)}.bind(this);e.manipulation.addNode=function(e,t){this.handleInsertNode(e);this.resetVisManipulationBar(t)}.bind(this);e.manipulation.editEdge=function(e,t){var i=this.handleReconnectEdge(e);this.resetVisManipulationBar(t)}.bind(this);r.merge(e,{physics:{forceAtlas2Based:{centralGravity:this.view.isEnabled(\"physics_mode\")?.001:0},stabilization:{iterations:this.view.getStabilizationIterations()}}});this.logger(\"debug\",\"Loaded graph options\",e);return e};o.prototype.resetVisManipulationBar=function(e){if(e)e(null);this.network.disableEditMode();this.network.enableEditMode()};o.prototype.handleCreateView=function(){this.dialogManager.open(\"createView\",null,function(e,i){if(e){var s=r.getText(i);var a=new t(s);if(a.isLocked()){this.notify(\"Forbidden!\")}else{var a=this.adapter.createView(s);this.setView(a.getRoot())}}})};o.prototype.handleRenameView=function(){if(!this.view.isLocked()){var e=this.view.getReferences();var i={count:e.length.toString(),filter:r.joinAndWrap(e,\"[[\",\"]]\")};this.dialogManager.open(\"getViewName\",i,function(e,i){if(e){var s=r.getText(i);var a=new t(s);if(a.isLocked()){this.notify(\"Forbidden!\")}else{this.view.rename(s);this.setView(this.view.getRoot())}}})}else{this.notify(\"Forbidden!\")}};o.prototype.handleEditView=function(){var e={view:this.view.getLabel(),createdOn:this.view.getCreationDate(true),numberOfNodes:\"\"+Object.keys(this.graphData.nodesById).length,numberOfEdges:\"\"+Object.keys(this.graphData.edgesById).length,dialog:{preselects:this.view.getConfig()}};this.dialogManager.open(\"configureView\",e,function(e,t){if(e&&t){var i=r.getPropertiesByPrefix(t.fields,\"config.\");this.view.setConfig(i)}})};o.prototype.handleDeleteView=function(){var e=this.view.getLabel();if(this.view.isLocked()){this.notify(\"Forbidden!\");return}var t=this.view.getReferences();if(t.length){var i={count:t.length.toString(),filter:r.joinAndWrap(t,\"[[\",\"]]\")};this.dialogManager.open(\"cannotDeleteViewDialog\",i);return}var s=\"You are about to delete the view \"+\"''\"+e+\"'' (no tiddler currently references this view).\";this.openStandardConfirmDialog(function(t){if(t){this.view.destroy();this.setView(this.opt.path.views+\"/default\");this.notify('view \"'+e+'\" deleted ')}},s)};o.prototype.handleTriggeredRefresh=function(e){var t=r.getMatches(this.view.getNodeFilter(\"compiled\"));var i=$tw.utils.hashString(t.join());if(i!=this.triggerState){this.logger(\"log\",e,\"Triggered a refresh\");this.triggerState=i;this.rebuildGraph({resetData:false,resetOptions:false,resetFocus:{delay:1e3,duration:1e3}})}};o.prototype.handleConfigureSystem=function(){var e={dialog:{preselects:r.flatten({config:{sys:this.opt.config.sys}})}};this.dialogManager.open(\"configureTiddlyMap\",e,function(e,t){if(e&&t){var i=r.getPropertiesByPrefix(t.fields,\"config.sys.\",true);if(i[\"field.nodeId\"]!==this.opt.field.nodeId&&isWelcomeDialog!==true){var s={name:\"Node-id\",oldValue:this.opt.field.nodeId,newValue:i[\"field.nodeId\"]};this.dialogManager.open(\"fieldChanged\",s,function(e,t){if(e){r.moveFieldValues(s.oldValue,s.newValue,true,false);this.notify(\"Transported field values\")}})}this.wiki.setTiddlerData(this.opt.ref.sysConf+\"/user\",i)}})};o.prototype.handleReconnectEdge=function(e){var t=this.graphData.edges.get(e.id);this.adapter.deleteEdge(t);var i=$tw.utils.extend(t,e);return this.adapter.insertEdge(i)};o.prototype.handleRemoveElement=function(e){if(e.edges.length&&!e.nodes.length){this.handleRemoveEdges(e.edges)}if(e.nodes.length){this.handleRemoveNode(this.graphData.nodesById[e.nodes[0]])}this.resetVisManipulationBar()};o.prototype.handleRemoveEdges=function(e){this.adapter.deleteEdges(this.graphData.edges.get(e));this.notify(\"edge\"+(e.length>1?\"s\":\"\")+\" removed\")};o.prototype.handleRemoveNode=function(e){var t={\"var.nodeLabel\":e.label,\"var.nodeRef\":$tw.tmap.indeces.tById[e.id],dialog:{preselects:{\"opt.delete\":\"from\"+\" \"+(this.view.isExplicitNode(e)?\"filter\":\"system\")}}};this.dialogManager.open(\"deleteNodeDialog\",t,function(t,i){if(t){if(i.fields[\"opt.delete\"]===\"from system\"){this.adapter.deleteNode(e)}else{var s=this.view.removeNodeFromFilter(e);if(!s){this.notify(\"Couldn't remove node from filter\");return}}this.notify(\"Node removed \"+i.fields[\"opt.delete\"])}})};o.prototype.handleFullScreenChange=function(){var e=r.getFullScreenApis();if(e&&this.enlargedMode===\"fullscreen\"&&!document[e[\"_fullscreenElement\"]]){this.handleToggleFullscreen()}};o.prototype.handleToggleFullscreen=function(e){var t=r.getFullScreenApis();this.logger(\"log\",\"Toggled graph enlargement\");if(this.enlargedMode){this.network.setOptions({clickToUse:this.isClickToUse()});r.findAndRemoveClassNames([\"tmap-\"+this.enlargedMode,\"tmap-has-\"+this.enlargedMode+\"-child\"]);if(this.enlargedMode===\"fullscreen\"){document[t[\"_exitFullscreen\"]]()}this.enlargedMode=null}else{if(!e&&!t){this.dialogManager.open(\"fullscreenNotSupported\");return}this.enlargedMode=this.isContainedInSidebar&&e?\"halfscreen\":\"fullscreen\";$tw.utils.addClass(this.parentDomNode,\"tmap-\"+this.enlargedMode);var i=this.isContainedInSidebar?this.sidebar:r.getFirstElementByClassName(\"tc-story-river\");$tw.utils.addClass(i,\"tmap-has-\"+this.enlargedMode+\"-child\");if(this.enlargedMode===\"fullscreen\"){document.documentElement[t[\"_requestFullscreen\"]](Element.ALLOW_KEYBOARD_INPUT)}this.notify(\"Activated \"+this.enlargedMode+\" mode\");this.network.setOptions({clickToUse:false})}this.handleResizeEvent()};o.prototype.handleGenerateWidget=function(e){$tw.rootWidget.dispatchEvent({type:\"tmap:tm-generate-widget\",paramObject:{view:this.view.getLabel()}})};o.prototype.handleStorePositions=function(e){this.adapter.storePositions(this.network.getPositions(),this.view);if(e){this.notify(\"positions stored\")}};o.prototype.handleEditFilters=function(){var e=r.getPrettyFilter(this.view.getNodeFilter(\"expression\"));var t=r.getPrettyFilter(this.view.getEdgeFilter(\"expression\"));var i={view:this.view.getLabel(),dialog:{preselects:{prettyNodeFilter:e,prettyEdgeFilter:t}}};this.dialogManager.open(\"editFilters\",i,function(i,s){if(i){this.view.setNodeFilter(r.getField(s,\"prettyNodeFilter\",e));this.view.setEdgeFilter(r.getField(s,\"prettyEdgeFilter\",t))}})};o.prototype.handleVisStabilizedEvent=function(e){if(!this.hasNetworkStabilized){this.hasNetworkStabilized=true;this.logger(\"log\",\"Network stabilized after \"+e.iterations+\" iterations\");this.view.setStabilizationIterations(e.iterations);var t=this.view.isEnabled(\"physics_mode\");this.network.storePositions();this.setNodesMoveable(this.graphData.nodesById,t);if(this.doZoomAfterStabilize){this.doZoomAfterStabilize=false;this.fitGraph(1e3,1e3)}}};o.prototype.handleFocusNode=function(e){this.network.focus(this.adapter.getId(e.param),{scale:1.5,animation:true})};o.prototype.isZombieWidget=function(){return!document.body.contains(this.getContainer())};o.prototype.fitGraph=function(e,t){this.logger(\"debug\",\"Fit graph\",this.activeFitTimeout);window.clearTimeout(this.activeFitTimeout);var i=function(){if(this.isZombieWidget())return;this.network.redraw();this.network.fit({animation:{duration:t||0,easingFunction:\"easeOutQuart\"}})};this.activeFitTimeout=window.setTimeout(i.bind(this),e||0)};o.prototype.handleInsertNode=function(e){this.dialogManager.open(\"getNodeTitle\",null,function(t,i){if(t){var s=r.getText(i);if(r.tiddlerExists(s)){if(r.isMatch(s,this.view.getNodeFilter(\"compiled\"))){this.notify(\"Node already exists\")}else{e=this.adapter.makeNode(s,e,this.view);this.view.addNodeToView(e);this.rebuildGraph()}}else{e.label=s;this.adapter.insertNode(e,{view:this.view,editNodeOnCreate:false});this.preventNextContextReset=true}}})};o.prototype.handleVisSingleClickEvent=function(e){if(r.isTrue(this.opt.config.sys.singleClickMode)){this.handleVisClickEvent(e)}};o.prototype.handleVisDoubleClickEvent=function(e){if(!e.nodes.length&&!e.edges.length){if(this.editorMode){this.handleInsertNode(e.pointer.canvas)}}else if(!r.isTrue(this.opt.config.sys.singleClickMode)){this.handleVisClickEvent(e)}};o.prototype.handleVisClickEvent=function(e){if(e.nodes.length){this.openTiddlerWithId(e.nodes[0])}else if(e.edges.length){if(!this.editorMode)return;this.logger(\"debug\",\"Clicked on an Edge\");var t=this.opt.config.sys.edgeClickBehaviour;var i=new a(this.graphData.edgesById[e.edges[0]].type);if(t===\"manager\"){$tw.rootWidget.dispatchEvent({type:\"tmap:tm-manage-edge-types\",paramObject:{type:i.getId()}})}}};o.prototype.handleResizeEvent=function(e){if(this.isZombieWidget())return;if(this.isContainedInSidebar){var t=window.innerHeight;var i=this.parentDomNode.getBoundingClientRect().top;var s=this.getAttribute(\"bottom-spacing\",\"25px\");var r=t-i+\"px\";this.parentDomNode.style[\"height\"]=\"calc(\"+r+\" - \"+s+\")\"}else{var a=this.getAttribute(\"height\");this.parentDomNode.style[\"height\"]=a?a:\"300px\"}if(this.network){this.repaintGraph()}};o.prototype.handleClickEvent=function(e){if(this.isZombieWidget()||!this.network)return;var t=document.elementFromPoint(e.clientX,e.clientY);if(!this.parentDomNode.contains(t)){var i=this.network.getSelection();if(i.nodes.length||i.edges.length){this.logger(\"debug\",\"Clicked outside; deselecting nodes/edges\");this.network.selectNodes([]);this.resetVisManipulationBar()}}else if(this.graphDomNode.contains(t)){this.visNetworkDomNode.focus()}};o.prototype.handleVisDragEnd=function(e){if(e.nodes.length){var t=this.graphData.nodesById[e.nodes[0]];if(!this.view.isEnabled(\"physics_mode\")){this.setNodesMoveable([t],false);var i=parseInt(this.opt.config.sys.raster);if(i){var s=this.network.getPositions()[t.id];this.graphData.nodes.update({id:t.id,x:s.x-s.x%i,y:s.y-s.y%i})}this.handleStorePositions()}}};o.prototype.handleVisSelect=function(e){};o.prototype.handleVisViewportChanged=function(e){this.doZoomAfterStabilize=false};o.prototype.handleVisBeforeDrawing=function(e){};o.prototype.handleVisLoading=function(e){this.graphLoadingBarDomNode.style.display=\"block\";var t=\"Loading \"+e.iterations/e.total*100+\"%\";this.graphLoadingBarDomNode.innerHTML=t};o.prototype.handleVisLoadingDone=function(e){this.graphLoadingBarDomNode.style.display=\"none\"};o.prototype.handleVisDragStart=function(e){if(e.nodes.length){var t=this.graphData.nodesById[e.nodes[0]];this.setNodesMoveable([t],true)}};o.prototype.destruct=function(){window.removeEventListener(\"resize\",this.handleResizeEvent);window.removeEventListener(\"click\",this.handleClickEvent);if(this.network){this.network.destroy()}};o.prototype.openTiddlerWithId=function(e){var t=$tw.tmap.indeces.tById[e];this.logger(\"debug\",\"Opening tiddler\",t,\"with id\",e);if(this.enlargedMode===\"fullscreen\"){this.dispatchEvent({type:\"tm-edit-tiddler\",tiddlerTitle:t});var i=this.wiki.findDraft(t);if(!i)return;var s={param:{ref:i}};this.dialogManager.open(\"fullscreenTiddlerEditor\",s,function(e,t){if(e){this.dispatchEvent({type:\"tm-save-tiddler\",tiddlerTitle:i})}else{this.dispatchEvent({type:\"tm-cancel-tiddler\",tiddlerTitle:i})}})}else{this.dispatchEvent({type:\"tm-navigate\",navigateTo:t})}};o.prototype.getViewHolderRef=function(){if(this.viewHolderRef){return this.viewHolderRef}this.logger(\"info\",\"Retrieving or generating the view holder reference\");var e=this.getAttribute(\"view\");if(e){this.logger(\"log\",'User wants to bind view \"'+e+'\" to graph');var t=this.opt.path.views+\"/\"+e;if(this.wiki.getTiddler(t)){var i=this.opt.path.localHolders+\"/\"+r.genUUID();this.logger(\"log\",'Created an independent temporary view holder \"'+i+'\"');this.wiki.addTiddler(new $tw.Tiddler({title:i,text:t}));this.logger(\"log\",'View \"'+t+'\" inserted into independend holder')}else{this.logger(\"log\",'View \"'+e+'\" does not exist')}}if(typeof i===\"undefined\"){this.logger(\"log\",\"Using default (global) view holder\");var i=this.opt.ref.defaultGraphViewHolder}return i};o.prototype.setView=function(e,t){if(e){if(!t){t=this.viewHolderRef}this.logger(\"info\",'Inserting view \"'+e+'\" into holder \"'+t+'\"');this.wiki.addTiddler(new $tw.Tiddler({title:t,text:e}))}this.view=this.getView(true)};o.prototype.getView=function(e){if(!e&&this.view){return this.view}var i=this.getViewHolderRef();var s=new t(r.getText(i));this.logger(\"info\",'Retrieved view \"'+s.getLabel()+'\" from holder \"'+i+'\"');if(s.exists()){return s}else{this.logger(\"log\",'Warning: View \"'+s.getLabel()+\"\\\" doesn't exist. Default is used instead.\");return new t(\"Default\")}};o.prototype.getRefreshedDataSet=function(e,t,i){if(!i){return new n.DataSet(r.convert(e,\"array\"))}var s=[];for(var a in t){if(!e[a]){s.push(a)}}i.remove(s);var o=i.get({returnType:\"Object\"});var d=[];for(var a in e){var h=e[a];d.push(h)}i.update(d);return i};o.prototype.repaintGraph=function(){var e=r.getFullScreenApis();if(!e||!document[e[\"_fullscreenElement\"]]||this.enlargedMode){this.logger(\"info\",\"Repainting the whole graph\");this.network.redraw();this.fitGraph(0,1e3)}};o.prototype.setGraphButtonEnabled=function(e,t){var i=\"vis-button\"+\" \"+\"tmap-\"+e;var s=r.getFirstElementByClassName(i,this.parentDomNode);$tw.utils.toggleClass(s,\"tmap-button-enabled\",t)};o.prototype.setNodesMoveable=function(e,t){this.network.storePositions();var i=[];var s=Object.keys(e);for(var r=0;r<s.length;r++){var a=e[s[r]].id;var n={id:a,fixed:{x:!t,y:!t}};i.push(n)}this.graphData.nodes.update(i)};o.prototype.addGraphButtons=function(e){var t=r.getFirstElementByClassName(\"vis-navigation\",this.parentDomNode);for(var i in e){var s=document.createElement(\"div\");s.className=\"vis-button \"+\" \"+\"tmap-\"+i;s.addEventListener(\"click\",e[i].bind(this),false);t.appendChild(s);this.setGraphButtonEnabled(i,true)}};if($tw.boot.tasks.trapErrors){var d=window.onerror;window.onerror=function(e,t,i){if($tw.tmap.utils.hasSubString(e,\"NS_ERROR_NOT_AVAILABLE\")&&t==\"$:/plugins/felixhayashi/vis/vis.js\"){console.error(\"Strange firefox related vis.js error (see https://github.com/felixhayashi/TW5-TiddlyMap/issues/125)\",arguments)}else if(d){d.apply(this,arguments)}}}exports.tiddlymap=o})();",
"title": "$:/plugins/felixhayashi/tiddlymap/widget/map.js",
"type": "application/javascript",
"module-type": "widget"
}
}
}
{"ee846606-4b6c-49f2-9c02-a4898141d7bb":{"x":-811,"y":-77},"cd736286-4d3e-439f-bf8b-648da8436eb8":{"x":-1087,"y":-291},"298cd50d-26f0-484b-8db4-d6ca9ccbcc66":{"x":-672,"y":-287},"edgeId:28a5cfc4-c927-4a33-86b6-943a81e791d6":{"x":-951,"y":-183},"edgeId:3b828cac-8ea0-4bdb-8cb9-cc335321c87d":{"x":-732,"y":-176}}
{"3e713118-c258-4a6c-b59c-16eec918d35b":{"x":-1348,"y":-415},"1086135e-bb27-4446-bcf3-08d55bc01869":{"x":-1106,"y":-242},"123b10ae-f783-45a2-8a6d-3e568e94faf9":{"x":-1325,"y":-206},"0aaf4475-088c-4fe0-afd6-a59879ffe365":{"x":-1502,"y":-262},"7f6a2780-8299-4d31-adf1-5e26415ef27c":{"x":-1594,"y":-317},"8b0ac1f1-8762-4941-9c6b-d70cc1f70af4":{"x":-1614,"y":-417},"edgeId:46e5a394-8761-48a3-8d68-f52d4e34f6c6":{"x":-1214,"y":-338},"edgeId:caa82888-6a85-450a-a505-7189860b92ff":{"x":-1301,"y":-313},"edgeId:f8c7e5e5-0395-4e11-84e3-0a85529c3f69":{"x":-1411,"y":-323},"edgeId:b6252a4a-7990-4b20-b37e-3386ef476e7b":{"x":-1476,"y":-374},"edgeId:d901c683-a294-448e-af8d-b05962735136":{"x":-1483,"y":-446}}
$:/plugins/felixhayashi/tiddlymap/graph/views/Jean
{
"originalVersion": "0.8.4+4928",
"dataStructureState": "0.7.32",
"showWelcomeMessage": false
}
{
"tiddlers": {
"$:/plugins/felixhayashi/topstoryview/config.js": {
"text": "/*\\\n\ntitle: $:/plugins/felixhayashi/topstoryview/config.js\ntype: application/javascript\nmodule-type: library\n\n@preserve\n\n\\*/\n(function(){\"use strict\";exports.config={classNames:{storyRiver:\"tc-story-river\",backDrop:\"story-backdrop\",tiddlerFrame:\"tc-tiddler-frame\",tiddlerTitle:\"tc-title\"},references:{userConfig:\"$:/config/topStoryView\",focussedTiddlerStore:\"$:/temp/focussedTiddler\",refreshTrigger:\"$:/temp/focussedTiddler/refresh\"},checkbackTime:$tw.utils.getAnimationDuration()}})();",
"title": "$:/plugins/felixhayashi/topstoryview/config.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/plugins/felixhayashi/topstoryview/layout": {
"text": "html .tc-story-river:after {\n content: \"\";\n display: block; }\n",
"type": "text/vnd.tiddlywiki",
"title": "$:/plugins/felixhayashi/topstoryview/layout",
"tags": [
"$:/tags/Stylesheet"
]
},
"$:/plugins/felixhayashi/topstoryview/Configuration": {
"title": "$:/plugins/felixhayashi/topstoryview/Configuration",
"text": "Please see the [[GitHub page|https://github.com/felixhayashi/TW5-TopStoryView]] for more information on the options.\n\nSave and reload the wiki to activate changes.\n\n<table>\n <tr>\n <th align=\"left\">Scroll offset:</th>\n <td><$edit-text tiddler=\"$:/config/topStoryView\" field=\"scroll-offset\" tag=\"input\" default=\"150px\" /></td>\n </tr>\n</table>"
},
"$:/plugins/felixhayashi/topstoryview/License": {
"title": "$:/plugins/felixhayashi/topstoryview/License",
"text": "This code is released under the BSD license. For the exact terms visit:\n\nhttps://github.com/felixhayashi/TW5-TopStoryView/blob/master/LICENSE"
},
"$:/plugins/felixhayashi/topstoryview/Readme": {
"title": "$:/plugins/felixhayashi/topstoryview/Readme",
"text": "Please visit the [[GitHub page|https://github.com/felixhayashi/TW5-TopStoryView]] for more information."
},
"$:/plugins/felixhayashi/topstoryview/top.js": {
"text": "/*\\\ntitle: $:/plugins/felixhayashi/topstoryview/top.js\ntype: application/javascript\nmodule-type: storyview\n\nViews the story as a linear sequence\n\n@preserve\n\n\\*/\n(function(){\"use strict\";var t=require(\"$:/plugins/felixhayashi/topstoryview/config.js\").config;var e=\"cubic-bezier(0.645, 0.045, 0.355, 1)\";var i=function(e){this.listWidget=e;this.pageScroller=new $tw.utils.PageScroller;this.pageScroller.scrollIntoView=this.scrollIntoView;this.pageScroller.storyRiverDomNode=document.getElementsByClassName(t.classNames.storyRiver)[0];var i=$tw.wiki.getTiddler(t.references.userConfig);var o=i?i.fields:{};var r=parseInt(o[\"scroll-offset\"]);this.pageScroller.scrollOffset=isNaN(r)?71:r;this.recalculateBottomSpace()};i.prototype.refreshStart=function(t,e){};i.prototype.refreshEnd=function(t,e){};i.prototype.navigateTo=function(t){var e=this.listWidget.findListItem(0,t.title);if(e===undefined)return;var i=this.listWidget.children[e];var o=i.findFirstDomNode();if(!(o instanceof Element))return;this.pageScroller.scrollIntoView(o)};i.prototype.insert=function(t){if(!t)return;var e=t.findFirstDomNode();if(!(e instanceof Element))return;this.startInsertAnimation(e,function(){this.recalculateBottomSpace();this.pageScroller.scrollIntoView(e)}.bind(this))};i.prototype.remove=function(t){if(!t)return;var e=t.findFirstDomNode();if(!(e instanceof Element)){t.removeChildDomNodes();return}var i=this.getLastFrame()===e;this.startRemoveAnimation(t,e,function(){t.removeChildDomNodes();this.recalculateBottomSpace();if(i){this.pageScroller.scrollIntoView(this.getLastFrame())}}.bind(this))};i.prototype.getLastFrame=function(){var t=this.listWidget.children[this.listWidget.children.length-1];return t?t.findFirstDomNode():null};i.prototype.recalculateBottomSpace=function(){var t=this.pageScroller.storyRiverDomNode;if(this.getLastFrame()){var e=this.getLastFrame().getBoundingClientRect();var i=window.innerHeight;if(e.height<i){t.style[\"paddingBottom\"]=i-e.height+\"px\";return}}t.style[\"paddingBottom\"]=\"\"};i.prototype.scrollIntoView=function(t){if(!t)return;var e=$tw.utils.getAnimationDuration();this.cancelScroll();this.startTime=Date.now();var i=$tw.utils.getScrollPosition();var o=t.getBoundingClientRect(),r={left:o.left+i.x,top:o.top+i.y,width:o.width,height:o.height};var n=function(t,e,i,o){if(t<=i){return t}else if(e<o&&i<t+e-o){return t+e-o}else if(i<t){return t}else{return i}},s=n(r.left,r.width,i.x,window.innerWidth),a=r.top-this.scrollOffset;if(s!==i.x||a!==i.y){var l=this,c;c=function(){var t;if(e<=0){t=1}else{t=(Date.now()-l.startTime)/e}if(t>=1){l.cancelScroll();t=1}t=$tw.utils.slowInSlowOut(t);window.scrollTo(i.x+(s-i.x)*t,i.y+(a-i.y)*t);if(t<1){l.idRequestFrame=l.requestAnimationFrame.call(window,c)}};c()}};i.prototype.startInsertAnimation=function(t,i){var o=$tw.utils.getAnimationDuration();var r=window.getComputedStyle(t),n=parseInt(r.marginBottom,10),s=parseInt(r.marginTop,10),a=t.offsetHeight+s;setTimeout(function(){$tw.utils.setStyle(t,[{transition:\"none\"},{marginBottom:\"\"}]);i()},o);$tw.utils.setStyle(t,[{transition:\"none\"},{marginBottom:-a+\"px\"},{opacity:\"0.0\"}]);$tw.utils.forceLayout(t);$tw.utils.setStyle(t,[{transition:\"opacity \"+o+\"ms \"+e+\", \"+\"margin-bottom \"+o+\"ms \"+e},{marginBottom:n+\"px\"},{opacity:\"1.0\"}])};i.prototype.startRemoveAnimation=function(t,i,o){var r=$tw.utils.getAnimationDuration();var n=i.offsetWidth,s=window.getComputedStyle(i),a=parseInt(s.marginBottom,10),l=parseInt(s.marginTop,10),c=i.offsetHeight+l;setTimeout(o,r);$tw.utils.setStyle(i,[{transition:\"none\"},{transform:\"translateX(0px)\"},{marginBottom:a+\"px\"},{opacity:\"1.0\"}]);$tw.utils.forceLayout(i);$tw.utils.setStyle(i,[{transition:$tw.utils.roundTripPropertyName(\"transform\")+\" \"+r+\"ms \"+e+\", \"+\"opacity \"+r+\"ms \"+e+\", \"+\"margin-bottom \"+r+\"ms \"+e},{transform:\"translateX(-\"+n+\"px)\"},{marginBottom:-c+\"px\"},{opacity:\"0.0\"}])};exports.top=i})();",
"title": "$:/plugins/felixhayashi/topstoryview/top.js",
"type": "application/javascript",
"module-type": "storyview"
}
}
}
{
"tiddlers": {
"$:/plugins/felixhayashi/vis/img/network/acceptDeleteIcon.png": {
"title": "$:/plugins/felixhayashi/vis/img/network/acceptDeleteIcon.png",
"type": "image/png",
"text": "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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNVQxNjo0NTowOCswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDVUMTY6NDU6MDgrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjBmYzFjNjhhLTcwZTYtMGY0Ni05ZDk4LWFhNDVjNjYxYThjODwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpiYzZmYmUxNi1mOTBkLWI1NDQtODUzOC05MjFkNjBiZjU0ZWI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDVUMTY6NDU6MDgrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjBmYzFjNjhhLTcwZTYtMGY0Ni05ZDk4LWFhNDVjNjYxYThjODwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNVQxNjo0NTowOCswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOmJjNmZiZTE2LWY5MGQtYjU0NC04NTM4LTkyMWQ2MGJmNTRlYjwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz450LuoAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAATUSURBVHjajJZtTJVlGMd/13U/z+F4sBQOCiovZiMt8YiKZrMtypdh09StbLOtzA1RUmuTkppzIilJOB0Oa21tbaV+6UP5Mlnm5heVkfhyQJ1ONITAkAMqcTDonNOHA6g9qF3b/eF5/vf18r/u676uWwoLC3G73QCoKiICgIhQeGejVw3LMOTIP0xGdRQAFi1E9DyGSkLsKxtWEmAQuXfvHrJlyxZiYmIQkQHjeac/jjfKBsJ8YlnRzQKIgBoIh8ByaRSICAilRCjdk1UeAIhEIogIPT09SFFRER6PZ4DByqr1+WpRoYAquKYuqCPz9SZeeCVA4vggAC2XPVw54eXi0WTOH8yIslIIs+bryTsq+hl0d3cjxcXFuN1uVJVVp9dvEigSwP3iYj9vfV7L6IldPE5uXvZwcKuPsz/7+qLc/I1vexFAMBjEzJ49G9u2WV1TsEaVUhOBmJxVVeR9X8NTI3t5kgxN6GXakia67/bSeC4ZkexprccCZxLnVodCIRRgdU1BgsBuBVzz8qt49yv/oMb2f5TJd7kzBsXeLPHzal4VaiAmZnfupY0JIoKqKqoUGAHX9MV+llf4HxmtMaDyaDZLtvqZushPWEHsAlVFP/3rswSNsEEt4O0v/E9MCebx8PxCP5YNlr3hg7+/TFBEl6mClflGHUl9VdIvGycuJdDgvm/bAtu6j3c0uSmZufQhnRHPBsnIqcOyQGSZAjlEgCkLGh3RDHk6yJWTCQCUZi+gav8Mzh3KpGzeQgCuV3sZEhd06D2f3QgCas9XIuozCjw3q92xMXF8O8218QDM/fAMGLAsmLO2Jnof6rwkpjv10rLaURtEJimWJomtMDLdGUlyRhuBei8AU5Y0M2ZCMyPSW8hc2AxAW4OXUeOdbcKbFsQ2YKwkizCg1uAH9kxWOzU/+ga+X8s/Q/iBKur4w8tL79c69ESiTFXFQvQmyhhu1XsYNeHhW5s2o4OuwDB6ug2uISF8fZED9HQbgh1PM3Zah8PB7UYPGBBalDB+MFB/Kt6x0e0JMSzpDr9XxzmwprNxDB95F9eQkANrrI3HssFQq4hWAnDxaMqgaUoYF6DJ73X8b74Qz/C0Qds016tSUANqVypG92EMnD+SwZ9XPc5KSg/QWu900HotgRHjnA5uN3m4diojmiKzV3cNL25DdTvGwJESn0NhzMR2Ohqc6etoiidpgrNET3zrix6yKf3Bld8WLZ8IZcAG6ip9/LQpyOIt91vG2BltHCwezbbpKzEKYoFodKVO+fUh48f3+Lh20oexIBQqExFk586dxMbGkntp41rELscozFpRxaLN/6Mv/cf4hcMzCYdAzboDKXm7Ozs7MTk5ObhcLs4lzqmeeus4GCublgvJtF61Sc1qxR0beqzh7g4Xx3ZN5/KxaagCsvlASl4pQG9vb5TB0KFDibZtZfmlonxcVgVhAcuGjJxa0l9uImVKO3GpXahA4EYsjbXx3PgtmYbTk1CiKYM1h1LzKvrncmdnJ1JeXo7b7cYYQ9+A4L2r21IJR9ZhXOuxXGAZBvKv/Uui8wELVHYgUn44bdWNfmKRSIRgMIiUlJQQGxs78Krof7oYY8jt2TUCy3oH0XmI+MAejW0gYpoxxg/mF4zu3a8rbvXrPuigq6uLfwcA6IKAIsDf9kIAAAAASUVORK5CYII="
},
"$:/plugins/felixhayashi/vis/img/network/addNodeIcon.png": {
"title": "$:/plugins/felixhayashi/vis/img/network/addNodeIcon.png",
"type": "image/png",
"text": "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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNFQxNDo0MDoyOSswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDRUMTQ6NDA6MjkrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjVkNWIwNmQwLTVmMjAtOGE0NC1hMzIwLWZmMTEzMzQwNDc0YjwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo2OWVmYWE1NS01ZTI5LTIzNGUtYTUzMy0xNDkxYjM1NDNmYmE8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDRUMTQ6NDA6MjkrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjVkNWIwNmQwLTVmMjAtOGE0NC1hMzIwLWZmMTEzMzQwNDc0Yjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNFQxNDo0MDoyOSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjY5ZWZhYTU1LTVlMjktMjM0ZS1hNTMzLTE0OTFiMzU0M2ZiYTwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz5WKqp9AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAYXSURBVHjafFZtUFTXGX7e9z27sveuMCwYV8ElrA7YSFYHtJUPkaaI0aRqG8wP00zUzljDINNSA/2ROtpO24SxnahlxjYd7SSjmUkymcxYlDhQPzHGisEVp8HwYWCVVVgEsrsuLnL74+5uqTF9Z+7cO/d8PO95zvO851BlZSV0XQcAMDOYGQBARDhX3JRmMDYZwLPMWAzGHACYIgwS46oBNBNwtOL8CwE8EkSEUCgE2rJlC2w2G4go8Zwo/bMDgnoG6gxLfAAAYvPDMCCszKTAMIAGAhrWnf15AAAMwwARIRKJgDZv3gy73Q4iAjPjxIr9VVOMRhbAYKB8zvrO0llrfEsdKwLZek6YAPSFvtSu3GtLawu0ZJ6625SHGBQB1T88t6MxvopgMAjaunUrdF0HM+P4yv27DMYeJmB1RqW3Jnf3tQX2p0L4P9EXuqEd7PmDp+XuMU9sRbvXnnt1TxxACgoKYLVacbzsQDUJGkSATe6qi28uPtzusM6Kxie6NHLGUX3lxVUNX9StPHnn4wy3njuUYcu6n2pNi66avcEXnByP/nv8aiaIyrqz2gO5A9+9FI1GIfn5+WhZdTAdjFMkwMvZOy7uWnTAOz3L4Yk71m3t69fdfTDoUGTBeHTUfiHQ6lo7Z2OXJvpDAChKe+aOCdKRKWxZ2+1qb3yyd3GYmRkQ7GQBVs99wfv6on3eR2k4PdTkDEbH7IuS8/svld/561PJS/pDk1/bzwx94pze7xc5v/H+YPY6r5BAkdrJzODTK46lE6PeYEJt7u+8j+OZwCBiEAgAoNgKJoEQf6PvNvdrXgtZoNhSf7q0KZ3B2AQmVMze0Jmt54S/DcDCVig2NcvEUGxJAE4Pl+YOr0iv6BRSIPAmBeBZAmHlE2sH4p1uhrq1s0MnnEQMBsf8wRASAICQQCCITN1X7/sOuc0kgOVp3/fPs2WHv+coG7gQOJUnLGsUCTxEjPzUohEA+NfIWUdtx0+efzA1kSSkIGyBAQNCKgHAEBAJ3u79U7kiAcWoem/gb5Fd33nrH3kp+SMWtuAB+GllMJxMjCx9QRgA3uiqL5kwHiTlpxb3smlfMDGYGPP1hcMAkJvs8ScpfdJspdj+MK6Pf+5+u29vyb4lR4+BGEziVESAkEpw6Av1OhUpHCz4qOXbzFWz4Ncdj/v/o08Lt92ODDgZDCEFJYoUGH4mzugP92puPTf0pD3H7wvfdFZdqSxnMtWjoGAAmG9fOLxjwesdjT2/XzIQ7ks3sycYMSEwGHNtWf5bkX5NkYCJBxUBXiGV0XHvosOt54Zey33j/K+8P33++vjnbiGJbbLE+J9SANAb6nJ2B79wcUwETAwQQ7fMjPzMvfP8ja87HUIKMOiaAqMZhrGmLdAy78eZrwwsTS0eObTs+IdtgVanxBUExqGbb5VzrIISGIoUXsmqbgEhJldCQWqRf27SvPAn/o8XmgLhZsUkR4ll37mhk3n94Z4OlzY/7NLcYZfm7o1z2zT4vsvUNSXqprBCkmiTFbPX90/fh8GIT2sf+zTPdDMf4dVnNg4z+E0ixsGeBs9jd5ViSgLHjCb/peaR+MD3d4/ZJg2llyuG2Vwy7QWAs8PNnn1f7vkGSGxAzE6mk+kxkx/p/4unffSCR0hAoL1EBCYiPNdWNcwkNQTCR7feWX6g+7f/A7I8rcw/U6UEe0Ndrhc/W7mtL9ztmqlSgstSS/zTJ28dalpOpkRryrwbhwBACgsLMWPGDOT4ll3qyeqAkJTdCF7P/CrUY/GkLL1rE+2hTbSH8+0Lb/WEuhzhyaA905blf9Vd/895WnZwLHrPevir/cvOB1oLYpTtLrm6oYGIMDExAaqtrUVKSgqYGSKCk0WHq5ikkWEWtNL0imv5qUW+RclLRjJsrhBAuH1/QL8R7HR4xy5nescuP23E6hOA6mLv+sb4uTw6Ogqqq6uDpmkQkcStorX4XRcM1FjZ+kvFFjCJKU1WpkNJJUqIMtX1RyLeX3JtQ0JRhmGYZ/L27duRnJycuFGISOJ9pqh5lrB6iYgqGOxRrOaa54DcZmKvkJxk8JHC9rKh+KVhOsD4+Dj+MwADIf8n5m4xGwAAAABJRU5ErkJggg=="
},
"$:/plugins/felixhayashi/vis/img/network/backIcon.png": {
"title": "$:/plugins/felixhayashi/vis/img/network/backIcon.png",
"type": "image/png",
"text": "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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNFQxNTowMTowOSswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDRUMTU6MDE6MDkrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOmI2YjQwMjVkLTAxNjQtMzU0OC1hOTdlLTQ4ZmYxMWM3NTYzMzwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmOWQ3OGY4ZC1lNzY0LTc1NDgtODZiNy1iNmQ1OGMzZDg2OTc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDRUMTU6MDE6MDkrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmI2YjQwMjVkLTAxNjQtMzU0OC1hOTdlLTQ4ZmYxMWM3NTYzMzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNFQxNTowMTowOSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOmY5ZDc4ZjhkLWU3NjQtNzU0OC04NmI3LWI2ZDU4YzNkODY5Nzwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4jq1U/AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAVTSURBVHjanFVfTFNnFP+d77ve8qeVFbBrpcVgRrCRFikFByLxwSAaE32oRCHD6JMxxhhn8G2RxxH3MsOTbyYsmCAxPMmMMYtkIUYmK60OO0qAK23BFlNob0uh3x7WS5jLZPpLbm6+k/P9zrm5v9855PF4UFhYCABgjIExBgAgIqRSqRIi6gDQRkQ1RGTB3wgR0e8AHgH4Sa/XR/EBiAiJRAJ04cIF5Ofng4g2n0gkUkxENwF0c843LzHGQEQQQkCLExEA9ALotVgsUQAQQmgNQhJCbF5kjCEUCl0moj4t5na7fTU1NUpVVVXUYrEkASAcDhe8efOmxOfzWScmJqoBdBNR99LS0hWz2dynNSSEAF28eBGFhYVgjCEcDn9HRD1EhIMHD3o9Hs9kWVlZAh9BKBQqGB4edr58+dKZ+6JbJpOpBwBWV1fB6+rqIMsyIpHIFcZYL2MMra2tY5cuXRrfuXNnBtvAYDBk3G63oqpqZm5uzgrgSDKZjBoMhueZTAbc5XIhFouVEtFTxhiOHTs2dv78eS8+Efv374+oqpqZnZ21cs5PJJPJPlmWkyynnBuMMTQ0NHi7uro+mVyDx+Pxulwu71ZOlkqlSonoJhGhvb39s8k1nDx50ss5hyRJN9PpdKlERB2aWjSVaEilUvzBgwcORVEs5eXloXPnzk1sV8BkMiUdDofP7/dXZ7PZDilnIhw4cGBeS1pbW2P37t1zBwKBikQiUUREWFhYsHHO0d7evm0Ru90+/+rVq2rO+XGJiJxEhMrKyhgAjI6OWoeHh5tWVla+4JzDZrO9bW5unhwcHGzz+/32np4e+xaDbfoHAMxmc6ijo2O0oqIiJkkSNjY2HBIRmRljMJvNyWfPnln7+/tPMMZQXl6+0NbW9qK2tjYcj8floaEhqKpq+HCkbD3PzMwYBgYG0NXV9UuusFna2kEgELAQEQ4dOvSis7PzN41Ar9dnrl27NqCNkv/C3bt3zy4tLVmICJxzEBFJRBQmorLFxcWCqqqq0Pj4eO3Y2JhbUZTdra2tL2pra8OJRGLHnTt3zkqS9K+huHU4EhHMZnMoGo0W5OIh7nK5jjLGKq1W69vDhw8rRqMxMjc3t2t5eXnX5ORklc/nM+fl5SWnpqa+0uv1K/n5+Ws6nW5NluXNd15e3ppOp1uz2WyzZ86cGQ0Gg6ZAIFCZzWZ/lYjokRDiuN/vt7W0tMw3NTUpbrd78P79++5gMFgRiUTKHj58WMYYQ3V19etTp05tq6Lp6Wkb5xxCiEfc7XZPM8a6FxcXTfX19a/1en2Gcy5qamreNjY2/qGq6joRZe12+9Tp06e3JY/FYgWPHz8+mhvr3/CWlpbk+vp6PmOseWVlBS6XS9GSJUkSdrs93NDQ8Oe+ffvC/8fJIyMjddFo9Esi6pVleVjT2m0A8Hq9zqGhIefnjoknT544A4GAM/eDbxMReFNTE0pKSpKqqsaI6Pj8/LxVVdWM3W6PfCr5xMTE1zllXS0uLn6aSqXAGxsbodPpoNfrn6uqCs75EUVRrJFIZMfevXsXdTrdxseIE4mEPDIyUu/3++tynd8yGo29RIR0Og26fv06ioqKwBgD5xzv3r27zBjrIyJIkgSHwzFZWVmp7NmzJ1ZaWpoAgGg0WqgoSvHMzIw1GAw6tvjhitFo7NPW5fv370Hd3d0oKCgA53zTQMvLy+VCiKuSJH0rSdLmztZytIWv5RPRD0T0Y3Fx8dzWfby6ugopHo//w4mcc8iyPMc5v5FOp7/PZrOdQohWInIC2C2EgBBigYi8Qoifs9lsv06nWyIiaFxagXg8jr8GAGxuIe7LBeWhAAAAAElFTkSuQmCC"
},
"$:/plugins/felixhayashi/vis/img/network/connectIcon.png": {
"title": "$:/plugins/felixhayashi/vis/img/network/connectIcon.png",
"type": "image/png",
"text": "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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNFQxNDozODo1NyswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDRUMTQ6Mzg6NTcrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjlmYjUwMDU0LWE3ODEtMWQ0OC05ZTllLTU2ZWQ5YzhlYjdjNjwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3ZWRhMjI0MC0yYTQxLTNlNDQtYWM2My1iNzNiYTE5OWI3Y2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDRUMTQ6Mzg6NTcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjlmYjUwMDU0LWE3ODEtMWQ0OC05ZTllLTU2ZWQ5YzhlYjdjNjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNFQxNDozODo1NyswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjdlZGEyMjQwLTJhNDEtM2U0NC1hYzYzLWI3M2JhMTk5YjdjYTwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4ubxs+AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAUtSURBVHjajJZ/bNT1Gcdfz/P53PV6B4W7VltLqdAaplIOiMOoyxxJCSs/Gv/yB4gzJroAosmmDklwkYWR0bQsdmkykoojTpcsWYLxD/lRZdMQkTHRtkLZRqG0tIVe7662vTu43n32x/VKZ/jh89cn38/zvN7P5/l88zwf2blzJz6fDwARQUSm1n8s31CM0/VAnbNmsUPuAsDpgEO+Bg4C7//iyv5hvmMiQiqVQpqamvB6vVNwEeG1JZtCBrYi/MrkAwDNgjhwAlbzICBLA0rDb0+/839C6XQaaWxspLCw8Dp86cbNmqVFJQddE6KzdjZ9D89g+B6fSyCOcyn1nxil+O9xKg5HqWFSHGXLjrP7W/ICqVQK2bNnDz6fDxFh65KNvxbHDhF4rJj2bXPo+IGfcW5h5xL4f99P+FCEMIAob75x9t0dAMlkElNXV4e1lteXbNqiQoMaeOFOjrdU868SD2luYyEP6dUh+sYmSHeOU6GO5Z8VLx5+NNZxIpPJ5AS2L3upROCoCvz8Lo7vnkf77cAHhpiz/zIL9vWz8L8p/NvupmM0Q7pjnAoLqz8tDrc8MnQqYVUVhVdF4LEg7b+rvDn8wDDlH0WoPpukLJImSBaMwjcJqmwWts2jPZLG/8kwYVFeVdXXZcFf4yVDc2cNKfBFmD9X+0ncCP58F48eG+Feo2CAUkvs4dl0V/uJvdXLiiV+ut++n7YLSfxPfMMG54ChzB3WIesVWB2i82bw1AR6fJR7C4VsfYiv6u/k3A9nEgP4zXke8DiYHyAOMK+QxPIgnZ9GqSHr1itQJ8DK2fTerDQ+S/bHRXQJaHSCwNIZ2Xh+7+S3VAmwNMBA/tuPZtErgKquUmdMWIFlRURvdamRNEXGwIWrlP47pTMzLiunxghGMwTLvcTWlHAp77s4QNSrYMQtss6ZMgWqCm5cHoDHO1nbk6K8zEN8+3zatv2Hn1b59EqJZdxmYUERg9P9KwpIiAOTdWUWBXuLzB/vZG3P1Un4PNp2d1MbmyD45TWCxuCsQm0x56bHGHFYEZwxok7toAA9Sfw3hCcoL/NOwi9QO5wmWO1j4JEgZxTkodmcWRGkf3pcX0r8xoAaBixKu4U5/xwndM+0tpAvS6mP+PZK2nb1UBvPEKwKMLDvPj4ESGc55lGy303sdJKQdZB2rkMdctAB/4gzN+/Q2ENNd4LyUi/xN+bTtquX2thk5nk4wI3gAF+OMNcA1nFQDfK+BY5GqbkwWabTY5QZhXWlnNx1ntrY1Rz87fuvw29m/Sn8J+PUGAFj5T19baA1IspuBZp7cx1x4SwG1cEf+lgRSROs8jGwb+Ht4QB/GSSsAhYano39LWIBxNEIbP14hPDuiyS2VtJuHXQlKKvxM/jiXDq/D/xPlwifGMkJZB2NIoKpr69nxeiZxLHicFSFVWfGqBidIP3LSjrWltD94CyufF/4kQgPuVz2Lz93+dDRa9eu5QQ8Hg8/iXee+Dy4CKMs7xqn4nwKz9IirhQqmVuB42m8ey+x7LMoD6iAON782eChhqmRuXfvXgKBAKqKqtI0/8nNKrQI4BVYXkzHgzPpC88gWuHL/caXrhLoGiN0apSKr0ZZRBZM7q2w5ZnLR1oAnHOMjY0hra2tFBQUYIyZmstvVT1Z6eDlAuEVq7merxmwueNPDXy9PvybjKP5mctHLk4/XTKZRJqbm/H7/VNw1VyEMYbW4FN3WNWnnchKoy5sHeVGBRX6VWi3ymFx7r11Ix8MTX/y5C2RSPC/AQB61erowbpqSwAAAABJRU5ErkJggg=="
},
"$:/plugins/felixhayashi/vis/img/network/cross.png": {
"title": "$:/plugins/felixhayashi/vis/img/network/cross.png",
"type": "image/png",
"text": "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/GMzLdsAADvGaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTQtMDItMTRUMTE6NTU6MzUrMDE6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE0LTAyLTE0VDEyOjA1OjE3KzAxOjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNC0wMi0xNFQxMjowNToxNyswMTowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NjU0YmM5YmQtMWI2Yi1jYjRhLTllOWQtNWY2MzgxNDVjZjk0PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjk4MmM2MGIwLWUzZjMtMDk0MC04MjU0LTFiZTliNWE0ZTE4MzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjk4MmM2MGIwLWUzZjMtMDk0MC04MjU0LTFiZTliNWE0ZTE4MzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo5ODJjNjBiMC1lM2YzLTA5NDAtODI1NC0xYmU5YjVhNGUxODM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMTRUMTE6NTU6MzUrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjIxODYxNmM2LTM1MWMtNDI0OS04YWFkLWJkZDQ2ZTczNWE0NDwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0xNFQxMTo1NTozNSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NjU0YmM5YmQtMWI2Yi1jYjRhLTllOWQtNWY2MzgxNDVjZjk0PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAyLTE0VDEyOjA1OjE3KzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjc8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NzwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+cZUZMwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAA2ElEQVR42gDLADT/AS0tLUQFBQUVFxcXtPHx8fPl5eUNCAgITCkpKesEHx8fGgYGBjH+/v4a+Pj4qgQEBFU6OjodMTExzwQUFBSvEBAQEfX19SD19fVqNDQ0CElJSd/9/f2vAwEBAfrn5+fkBwcHLRYWFgsXFxfz29vbo9LS0uwDDQ0NDfPz81orKysXIyMj+ODg4Avh4eEa/f391gMkJCRYPz8/KUhISOMCAgKh8fHxHRsbGx4UFBQQBDk5OeY7Ozv7CAgItPb29vMEBASaJSUlTQ0NDesDAEwpT0Ko8Ri2AAAAAElFTkSuQmCC"
},
"$:/plugins/felixhayashi/vis/img/network/cross2.png": {
"title": "$:/plugins/felixhayashi/vis/img/network/cross2.png",
"type": "image/png",
"text": "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/GMzLdsAADoRaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTQtMDItMTRUMTE6NTY6MTUrMDE6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE0LTAyLTE0VDExOjU2OjE1KzAxOjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNC0wMi0xNFQxMTo1NjoxNSswMTowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6OWIwNjRhODctYWNlZi1jMjQ5LTg5MWUtNDAxOTVmMWJjMTNkPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjlmYTI2M2QyLTljOWMtNWY0OC1iYjNiLThmYmQ5NmI5ZTBhMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjlmYTI2M2QyLTljOWMtNWY0OC1iYjNiLThmYmQ5NmI5ZTBhMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo5ZmEyNjNkMi05YzljLTVmNDgtYmIzYi04ZmJkOTZiOWUwYTI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMTRUMTE6NTY6MTUrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjliMDY0YTg3LWFjZWYtYzI0OS04OTFlLTQwMTk1ZjFiYzEzZDwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0xNFQxMTo1NjoxNSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8cGhvdG9zaG9wOklDQ1Byb2ZpbGU+c1JHQiBJRUM2MTk2Ni0yLjE8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj41PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjU8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PvQ0yV0AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAHZJREFUeNoAaQCW/wE1NTWrERER3+3t7Xbp6emKOTk5IgQtLS3kBAQEdfLy8ipOTk5LQ0NDkAE0NDQAEhISxiEhITkTExPH9PT0OgMGBgaPMzMzVS8vL7XU1NRC7+/vEQNfX19lUFBQtfPz82EEBAQMNTU1HwMAMI4nIAoe9RQAAAAASUVORK5CYII="
},
"$:/plugins/felixhayashi/vis/img/network/deleteIcon.png": {
"title": "$:/plugins/felixhayashi/vis/img/network/deleteIcon.png",
"type": "image/png",
"text": "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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNFQxNDo0MTowNCswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDRUMTQ6NDE6MDQrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjc3NDkzYmUxLTEyZGItOTg0NC1iNDYyLTg2NGVmNGIzMzM3MTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDowNmE3NWYwMy04MDdhLWUzNGYtYjk1Zi1jZGU2MjM0Mzg4OGY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDRUMTQ6NDE6MDQrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjc3NDkzYmUxLTEyZGItOTg0NC1iNDYyLTg2NGVmNGIzMzM3MTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNFQxNDo0MTowNCswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjA2YTc1ZjAzLTgwN2EtZTM0Zi1iOTVmLWNkZTYyMzQzODg4Zjwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4aYJzYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAYGSURBVHjalJZ7UJTnFcZ/73m/72PdJY1RbhoQp6lkXRAvmIYxdCUadLVOozPNtGObap1JsKipjiShbdoRbeKEiQHpQK3xj0xa03aamTbaTGyAYV1QGeqFi+JyiZFLAlmESBkWRmS3fyzslGkmnZ5/v/M873Oe75zzvqqoqAibzQaAiKCUAkApRdHIK/NFsx2NR91nOSILADDoJyzNaM4xxbtvPHh0iC+JiYkJ1OHDh4mJiUEpFSXPv/ziPC28TIiXDCOSrAClQDSEpsCwJPIhrEBRQpiSytXlQwDhcBilFPfu3UMVFxdjt9ujFTzfcLBADCoEEAFr1ZbrrNjch2vtEImPBgHob7fTcWE+bVXJNJ/NiFQlEGLvieXHKmYqGB8fRx05cgSbzYaIsPvywV8pKFaA7fGtLTzz61YWpo/xVTHQbufsq5lcez9zWuWhk5mvFwMEg0H0+vXrMU2Tn1wp3CtCiQ5DjGd3A/m/v8IDCZP8r4iNmyRrWx/j/5qktykZpXKzAjVDVxPzGqemptDr1q1jX3NRnIJarcDKK2hgR2ULXRfncv7UYv7xpovhnhiW5Mz+kefeSKO6LJ1A1xzEuk/Ojm4mRibpuZaMZW3OCtRUND60NmiICCIUShisx7a2sLMiQn4s77uEQgIabnqdfHIlgT1/qQeg8vs5dHhdCNB1wYn3RIiC995j26stjAbsNH+YiZJCESnS1Y/XxIXu8r4YIPv/VkVs3CTnTy2ms34xro1+sp9po6sxlTu34ultmsPVvy6is86FCHgO+DDs49zpjufBpCG+seYOC9OHaTidieicb9ouVAhKtouAseI710ma7pLuqwmgYfHqAFt+6WdLoQ/LBl11Lm7VudAa8vb72PCin9TlAWIsGGhLACD+kSAZnusYBii1XQAPYWDllt6ov2lrBkDBR2+6Ofuak2//3M+G/T4wAAPW7fPhKfRTVeqk9qQbFKRmDUTxS3N7QYGYmwzCkqklBGlPDEcTNv+sg9tNCbTXuvBWujE0bHrZj9JE1B/wU1Pm5PwJN6YBS9a2kVvQEcWnrh5GTFD3lxkYkqRMgYQlwVldUvDnen73LHTUuqitdKM0eAr9AFQfd1J/yo2aJn+2sn4Wdn5qEFODJskgBIjx5T0uCrQA08pnIjS9PERDjPnfOKXAMEBECUoGEIHBj+2zkt76UQ6dXheGAev3+cg74Kf6uJPqcicbfuond7cPy4SOiy7+tD9nFvZurx00KOk3CNEC+mE+vjSPBc7IWqgqTaPT60IMcO/xsXGa3HfKjRgRdbl7/KDg0jtubje6aHj7c7J3dgLQ2zoPwwQ91SooOQdAW1VKVMHty0kA5Bb48BycJn/LjWFGbLv4thvvb53kFvjJ+XEdWkPfjQVR/CcNKYgGMc8JWt5Fa2j+MIPPuyI2pa4IoHSkt6vLIuRaQ9q32khzt4GCxtNu6k46GeiIR2lIfDQQsafPzq1LGRGL9Gk9d+vrwewvfHPQOoexQVjxdB/auk/zmaUMdsfz6bVUtIalT7bxveP1ZHh6GPDPYeSzeD69kcpIfxymFWLNrka+ljhBTWkWwz2JiJT84YHnz2iPx0P20PkmRF5i6HYiwZFJsn/YzdezbzE3cQibY5xV266z6RfXohakb+xB9CjanCD9qTbW7Grk4WV38VZm0l6dhQiEw9taHSuDqrS0FIfDwXM3X9mHMsvRAk/sauDpQy38P+GtzOTGB9mEpkD0C2dS8n8zOjqK9ng8WJZFU+JTjasGvaCNXPpvJBPoMlm0OoDNMfWVxONfWNSUPUZ7TUQ56tCZlPwSgMnJSVRpaSmxsbFE1raw82ZxAZZRQUiBYUKGp5UlOX2krBzmoUVjiIKhHge9rfPo+Wcy3ZeXIYASgL1/X5RfMXMvj46OosrLy7HZbGitUUohIuzoem0RofALaOsghgWGjky0MiJTL8b0lOvI8hN1DKXKP0jd3TNTWDgcJhgMoo4ePYrD4Yi+KmaeLlprnrtXFo9h/AAlG1AqE8yFmBrC+jO0bgH9EVpO/1F2Dc5g//OAsbEx/j0Af+USsQynL1UAAAAASUVORK5CYII="
},
"$:/plugins/felixhayashi/vis/img/network/downArrow.png": {
"title": "$:/plugins/felixhayashi/vis/img/network/downArrow.png",
"type": "image/png",
"text": "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"
},
"$:/plugins/felixhayashi/vis/img/network/editIcon.png": {
"title": "$:/plugins/felixhayashi/vis/img/network/editIcon.png",
"type": "image/png",
"text": "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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNVQxNDoxMjoyNSswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDVUMTQ6MTI6MjUrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjY5OTM3ZGZjLTJjNzQtYTU0YS05OTIzLTQyMmZhNDNkMjljNDwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozOWNhNzE5ZC03YzNlLTUyNGEtYmY1NS03NGVmMmM1MzE0YTc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDVUMTQ6MTI6MjUrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjY5OTM3ZGZjLTJjNzQtYTU0YS05OTIzLTQyMmZhNDNkMjljNDwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNVQxNDoxMjoyNSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjM5Y2E3MTlkLTdjM2UtNTI0YS1iZjU1LTc0ZWYyYzUzMTRhNzwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4ykninAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAYpSURBVHjafFZtTFvnFX7Oea+NudiY2Hwam4CBlgQwXdKREDKUoYg0jbRJ29RJ2VZ1mjRFUxSpA3VTfkzJfkQbS7spU6rtx5Z2UtppScjaHxvLuiatWi2jLEoMIUDCh23g2gbj7+tPuPvhOurawPl1dc99n+c55z33fV46ceIEZFkGADAziAgAQERoe/9ZK4GPM/AcgbsIXAcABCgMvkfAqAa89eDoJyF8LogIqqqChoaGYDAYHr8kItS8uc8iIH6iAa9IkAo5EAQX8pqmgUVBCBggYFgDhv0/GAsBgKZpICJkMhnQ4OAgZFkGEYGZUXmp+0cS+CKBwWA0DVRPOg5Zl2q6zaHyJlnVAMQXVTkwHrUqH0Xsvn+tdQAAMQDgpPLS2MViFY8rkGUZzIzaS/t/xqCzGggtz9e697zsnKhoLUtim4jOq/LE6x7X0nsh16dEZ5a/O3a2SCAOHjwInU6Hujd6ThJ4mCDQ+b2G232v7v6vwarPbQn8MGlMr+X0kpE3Wr5Zt5hL5HPhqYSdQIfKJ+yhxDPKWC6Xg+jt7UXD5b5KBt1kCHS85Ljd8/On3NupfnhFaZj4rWff1B98B1R/hnUmKd36bdtCNl4g0en4edNE/cXwLq8qMTMIPAQwmo/WuHvObA8+9c58k/dKtD0TyZWXN5YGA7ej7epKxspM//7SoNOdWc/Jyq2wiwhDzPxT8cP0jys3VMM7OmL0/77zn4Ydui3b8uiK0jD7RrA77c9Wd57cefPpF+2T6bWsFPWkaiPTCWvTsZpHFU+XrS+8G3AR08F6X+1FJvBxQQzHQOWk2SmrW4FPX/U2LVwPuDZj+fJKl2khPpeyAqA9rzR/YqwuiWXX8taN/CabGkrVuq9YJlkQQDjOAJ5jAhz9Vt9W4N5/rNp8I+vtMV/aZm4zLnUNNt0urdYnF68HWoJj4Wo1mLGUNRr8LEgDgNqeCh8xQIKOsgC7iAjVe83rT9zQa8uNM28u70kspessu8q8zq/V3NcZpVzb9+0zmVhOvvvrhaMVzrJg0zeq7xMVCCwdpnWSGBqjUyJwLTFgbvxie3w31uoWR1Y74r60rdxZqrR8q85t2W2MGCp12bm/KC3hyaSTiMhxuGrKcahqpbjOaDOoEhOEoFqJQCCJvqA85I6bfTdDjQlf2lbxVNlS6wt19yy7jRHZZlDnrinNj/6sHMhnNw2Ogco7O79e5fm/xQywRBBCEAuwn4gQ96bkYj4Vyuq9N1Z3Bj4Od5bs0MXt/dZZ21ctiqFan174q985P+Lfp+U1g7XDON/1ctP458WlVjLyJhOISZE0wM0S1QfuRC3lTjkJAKKEtNC9eIOhSh9xHLZOJRZTFuXDsEoStLkR/768ummsaJG9Pb9oe+9J+xaeSVokiQDSJphAo5uaBuWjiKP4QTqS1cUWU7ayesN66wu22frD1vmVW6GW6T8u9eVjGyZzs+w78Nqu0a2mbvVu1KEJQAgeZRL0liQYyx+GOmKeQpu0rMYsAJPNEFGD2dLodLIy6c9Ys7G8yeSUl3tf2/X3rcBVJSOv34l3sCBogi7z1LH/rBHjl4IJ93/ncQFAnjeImJD0Z8zuCwu9q3djDXqTlAKID5xv+9t2R8n8VcUFBljQ8Gyfe40BYBM4DwDLt8Kue79ZcFkbzfEdbUbv+oN4c9KTtsfm1MbYQqqh+2zrVZYKs/7Ef+byimt1POYiJhDhPBFBIiIEXhxfs7/dfYoIF+auBfYTE/pebx/V8hqBP2ODvD34yvuh/WCAmU75Bx6sIgaI/v5+6PV6JLqUsYr7dpDAoehs0h73pHTWrvKgThYbRSt9UmSjef3MpaUvBz4O72UmADgTOPJguGiZor+/HyUlJWBmJFz+D8xTtlUiOpbwpmrmrweeSXrT+g11k4SBN3RGKUcAVCVdFhyP1nreDbY//NPyEXUlU/Pp4XYycGT6V0Ux2WwWdO7cOZSWlkII8diX7SPPNgDaKdbxoNAxwATBAEkEEgSWCEQAqPAMwqvMdCEwMO0tVqZpWsGTT58+DaPR+PhGIYQAAAgh0P7B3ioW/B0iGiCGiwXbCuOHFSJys6AbYFye2T+xWhT3WYJEIoH/DQBMw3kes8OJPgAAAABJRU5ErkJggg=="
},
"$:/plugins/felixhayashi/vis/img/network/leftArrow.png": {
"title": "$:/plugins/felixhayashi/vis/img/network/leftArrow.png",
"type": "image/png",
"text": "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"
},
"$:/plugins/felixhayashi/vis/img/network/minus.png": {
"title": "$:/plugins/felixhayashi/vis/img/network/minus.png",
"type": "image/png",
"text": "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"
},
"$:/plugins/felixhayashi/vis/img/network/plus.png": {
"title": "$:/plugins/felixhayashi/vis/img/network/plus.png",
"type": "image/png",
"text": "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"
},
"$:/plugins/felixhayashi/vis/img/network/rightArrow.png": {
"title": "$:/plugins/felixhayashi/vis/img/network/rightArrow.png",
"type": "image/png",
"text": "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"
},
"$:/plugins/felixhayashi/vis/img/network/upArrow.png": {
"title": "$:/plugins/felixhayashi/vis/img/network/upArrow.png",
"type": "image/png",
"text": "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"
},
"$:/plugins/felixhayashi/vis/img/network/zoomExtends.png": {
"title": "$:/plugins/felixhayashi/vis/img/network/zoomExtends.png",
"type": "image/png",
"text": "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"
},
"$:/plugins/felixhayashi/vis/img/timeline/delete.png": {
"title": "$:/plugins/felixhayashi/vis/img/timeline/delete.png",
"type": "image/png",
"text": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAl2cEFnAAAAEAAAABAAXMatwwAAAVRJREFUOMt108FKG1EUBuBvYtxbRGwxiGBXeYCW0mVpDSKVvIJ0F/syJsFdn6GCkaZ9gro3G1u0ILQgheJKRUwXPQNnxvTAcGf+c/7/nPvfO8UEKLCFJg5w31aNqGtgG3c4xLSZyP0QgI8Tpu0quQhyPwTgsBnkAVYD3MM9DibVId5GbiW+B+VIt7hJha1IdhPWDayVsBvcFtHlDYZ4mgou8D7e+zXyN/TwuUhjbkSXLHIZ61KNvItxaYyayBDrZsf36DyGdilQE+ngA57UyD+xg08luTSxHvP/wRuRewDm7uV9WJ4hsBy5rczJJm7G/tcS6VesjxN2Hj4c5S10Qj2Tz/AunrOEr0VtB+Z6vMJ+zfkfcVQjnMbRvcRC5B/hBU4auMbVjBFHCRsFdp6wK1yXHjz37xItRuejfFQ1nwb4HXVfs4nPYsQv0p+oKlLgNf7gGP4Cw4ZUK7kMJVEAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDExLTA1LTE2VDExOjM1OjIxKzAyOjAw9uVF5gAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMS0wNS0xNlQxMTozNToyMSswMjowMIe4/VoAAAAASUVORK5CYII="
},
"$:/plugins/felixhayashi/vis/readme": {
"title": "$:/plugins/felixhayashi/vis/readme",
"text": "! TW5-Vis.js\n\nA tiddlywiki plugin for the vis.js library.\n\n---\n\n! Notes on Copyright\n\n!! TiddlyWiki\n\nCreated by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright © Jeremy Ruston 2004-2007 Copyright © UnaMesa Association 2007-2014\n\nPublished under the following [licenses](https://github.com/Jermolene/TiddlyWiki5/tree/master/licenses):\n\n1. BSD 3-clause \"New\" or \"Revised\" License (including any right to adopt any future version of a license if permitted)\n2. Creative Commons Attribution 3.0 (including any right to adopt any future version of a license if permitted)\n\n!! The **vis.js** library\n\nCopyright (c) 2014 [Almende B.V.](https://github.com/almende/vis)\n\nPublished under the following licenses:\n\n1. Apache License Version 2.0, January 2004 http://www.apache.org/licenses/\n2. MIT License (MIT)\n"
},
"$:/plugins/felixhayashi/vis/vis.css": {
"title": "$:/plugins/felixhayashi/vis/vis.css",
"type": "text/vnd.tiddlywiki",
"tags": "$:/tags/Stylesheet",
"text": "\\define datauri(title)\n<$macrocall $name=\"makedatauri\" type={{$title$!!type}} text={{$title$}}/>\n\\end\n\n.vis .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}.vis [class*=<<datauri \"$:/plugins/felixhayashi/vis/span\">>]{min-height:0;width:auto}.vis-timeline{position:relative;border:1px solid #bfbfbf;overflow:hidden;padding:0;margin:0;box-sizing:border-box}.vis-panel{position:absolute;padding:0;margin:0;box-sizing:border-box}.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right,.vis-panel.vis-top,.vis-panel.vis-bottom{border:1px #bfbfbf}.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right{border-top-style:solid;border-bottom-style:solid;overflow:hidden}.vis-panel.vis-center,.vis-panel.vis-top,.vis-panel.vis-bottom{border-left-style:solid;border-right-style:solid}.vis-background{overflow:hidden}.vis-panel>.vis-content{position:relative}.vis-panel .vis-shadow{position:absolute;width:100%;height:1px;box-shadow:0 0 10px rgba(0,0,0,0.8)}.vis-panel .vis-shadow.vis-top{top:-1px;left:0}.vis-panel .vis-shadow.vis-bottom{bottom:-1px;left:0}.vis-labelset{position:relative;overflow:hidden;box-sizing:border-box}.vis-labelset .vis-label{position:relative;left:0;top:0;width:100%;color:#4d4d4d;box-sizing:border-box}.vis-labelset .vis-label{border-bottom:1px solid #bfbfbf}.vis-labelset .vis-label:last-child{border-bottom:0}.vis-labelset .vis-label .vis-inner{display:inline-block;padding:5px}.vis-labelset .vis-label .vis-inner.vis-hidden{padding:0}.vis-itemset{position:relative;padding:0;margin:0;box-sizing:border-box}.vis-itemset .vis-background,.vis-itemset .vis-foreground{position:absolute;width:100%;height:100%;overflow:visible}.vis-axis{position:absolute;width:100%;height:0;left:0;z-index:1}.vis-foreground .vis-group{position:relative;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis-foreground .vis-group:last-child{border-bottom:0}.vis-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-item{position:absolute;color:#1a1a1a;border-color:#97b0f8;border-width:1px;background-color:#d5ddf6;display:inline-block}.vis-item.vis-selected{border-color:#ffc200;background-color:#fff785;z-index:2}.vis-editable.vis-selected{cursor:move}.vis-item.vis-point.vis-selected{background-color:#fff785}.vis-item.vis-box{text-align:center;border-style:solid;border-radius:2px}.vis-item.vis-point{background:0}.vis-item.vis-dot{position:absolute;padding:0;border-width:4px;border-style:solid;border-radius:4px}.vis-item.vis-range{border-style:solid;border-radius:2px;box-sizing:border-box}.vis-item.vis-background{border:0;background-color:rgba(213,221,246,0.4);box-sizing:border-box;padding:0;margin:0}.vis-item .vis-item-overflow{position:relative;width:100%;height:100%;padding:0;margin:0;overflow:hidden}.vis-item.vis-range .vis-item-content{position:relative;display:inline-block}.vis-item.vis-background .vis-item-content{position:absolute;display:inline-block}.vis-item.vis-line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis-item .vis-item-content{white-space:nowrap;box-sizing:border-box;padding:5px}.vis-item .vis-delete{background:url(<<datauri \"$:/plugins/felixhayashi/vis/img/timeline/delete.png\">>) no-repeat center;position:absolute;width:24px;height:24px;top:-4px;right:-24px;cursor:pointer}.vis-item.vis-range .vis-drag-left{position:absolute;width:24px;max-width:20%;min-width:2px;height:100%;top:0;left:-4px;cursor:w-resize}.vis-item.vis-range .vis-drag-right{position:absolute;width:24px;max-width:20%;min-width:2px;height:100%;top:0;right:-4px;cursor:e-resize}.vis-time-axis{position:relative;overflow:hidden}.vis-time-axis.vis-foreground{top:0;left:0;width:100%}.vis-time-axis.vis-background{position:absolute;top:0;left:0;width:100%;height:100%}.vis-time-axis .vis-text{position:absolute;color:#4d4d4d;padding:3px;white-space:nowrap}.vis-time-axis .vis-text.vis-measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis-time-axis .vis-grid.vis-vertical{position:absolute;border-left:1px solid}.vis-time-axis .vis-grid.vis-minor{border-color:#e5e5e5}.vis-time-axis .vis-grid.vis-major{border-color:#bfbfbf}.vis-current-time{background-color:#ff7f6e;width:2px;z-index:1}.vis-custom-time{background-color:#6e94ff;width:2px;cursor:move;z-index:1}toDO:get animation working nicely .vis-item{-webkit-transition:top .4s ease-in-out;transition:top .4s ease-in-out}.vis-item.line{-webkit-transition:height .4s ease-in-out,top .4s ease-in-out;transition:height .4s ease-in-out,top .4s ease-in-out}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-horizontal{position:absolute;width:100%;height:0;border-bottom:1px solid}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-minor{border-color:#e5e5e5}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-major{border-color:#bfbfbf}.vis-data-axis .vis-y-axis.vis-major{width:100%;position:absolute;color:#4d4d4d;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-major.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-minor{position:absolute;width:100%;color:#bebebe;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-minor.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title{position:absolute;color:#4d4d4d;white-space:nowrap;bottom:20px;text-align:center}.vis-data-axis .vis-y-axis.vis-title.vis-measure{padding:0;margin:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title.vis-left{bottom:0;-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.vis-data-axis .vis-y-axis.vis-title.vis-right{bottom:0;-webkit-transform-origin:right bottom;-moz-transform-origin:right bottom;-ms-transform-origin:right bottom;-o-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.vis-legend{background-color:rgba(247,252,255,0.65);padding:5px;border:1px solid #b3b3b3;box-shadow:2px 2px 10px rgba(154,154,154,0.55)}.vis-legend-text{white-space:nowrap;display:inline-block}.vis-graph-group0{fill:#4f81bd;fill-opacity:0;stroke-width:2px;stroke:#4f81bd}.vis-graph-group1{fill:#f79646;fill-opacity:0;stroke-width:2px;stroke:#f79646}.vis-graph-group2{fill:#8c51cf;fill-opacity:0;stroke-width:2px;stroke:#8c51cf}.vis-graph-group3{fill:#75c841;fill-opacity:0;stroke-width:2px;stroke:#75c841}.vis-graph-group4{fill:#ff0100;fill-opacity:0;stroke-width:2px;stroke:#ff0100}.vis-graph-group5{fill:#37d8e6;fill-opacity:0;stroke-width:2px;stroke:#37d8e6}.vis-graph-group6{fill:#042662;fill-opacity:0;stroke-width:2px;stroke:#042662}.vis-graph-group7{fill:#00ff26;fill-opacity:0;stroke-width:2px;stroke:#00ff26}.vis-graph-group8{fill:#f0f;fill-opacity:0;stroke-width:2px;stroke:#f0f}.vis-graph-group9{fill:#8f3938;fill-opacity:0;stroke-width:2px;stroke:#8f3938}.vis-timeline .vis-fill{fill-opacity:.1;stroke:none}.vis-timeline .vis-bar{fill-opacity:.5;stroke-width:1px}.vis-timeline .vis-point{stroke-width:2px;fill-opacity:1.0}.vis-timeline .vis-legend-background{stroke-width:1px;fill-opacity:.9;fill:#fff;stroke:#c2c2c2}.vis-timeline .vis-outline{stroke-width:1px;fill-opacity:1;fill:#fff;stroke:#e5e5e5}.vis-timeline .vis-icon-fill{fill-opacity:.3;stroke:none}div.vis-network div.vis-manipulation{border-width:0;border-bottom:1px;border-style:solid;border-color:#d6d9d8;background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(to bottom,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr=<<datauri \"$:/plugins/felixhayashi/vis/#fcfcfc\">>,GradientType=0);position:absolute;left:0;top:0;width:100%;height:30px}div.vis-network div.vis-edit-mode{position:absolute;left:0;top:15px;height:30px}div.vis-network div.vis-close{position:absolute;right:0;top:0;width:30px;height:30px;background-position:20px 3px;background-repeat:no-repeat;background-image:url(<<datauri \"$:/plugins/felixhayashi/vis/img/network/cross.png\">>);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-close:hover{opacity:.6}div.vis-network div.vis-manipulation div.vis-button,div.vis-network div.vis-edit-mode div.vis-button{position:relative;top:-7px;font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;background-repeat:no-repeat;height:24px;margin:0 0 0 10px;vertical-align:middle;cursor:pointer;padding:0 8px 0 8px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-manipulation div.vis-button:hover{box-shadow:1px 1px 8px rgba(0,0,0,0.20)}div.vis-network div.vis-manipulation div.vis-button:active{box-shadow:1px 1px 8px rgba(0,0,0,0.50)}div.vis-network div.vis-manipulation div.vis-button.vis-back{background-image:url(<<datauri \"$:/plugins/felixhayashi/vis/img/network/backIcon.png\">>)}div.vis-network div.vis-manipulation div.vis-button.vis-none:hover{box-shadow:1px 1px 8px rgba(0,0,0,0.0);cursor:default}div.vis-network div.vis-manipulation div.vis-button.vis-none:active{box-shadow:1px 1px 8px rgba(0,0,0,0.0)}div.vis-network div.vis-manipulation div.vis-button.vis-none{padding:0}div.vis-network div.vis-manipulation div.notification{margin:2px;font-weight:bold}div.vis-network div.vis-manipulation div.vis-button.vis-add{background-image:url(<<datauri \"$:/plugins/felixhayashi/vis/img/network/addNodeIcon.png\">>)}div.vis-network div.vis-manipulation div.vis-button.vis-edit,div.vis-network div.vis-edit-mode div.vis-button.vis-edit{background-image:url(<<datauri \"$:/plugins/felixhayashi/vis/img/network/editIcon.png\">>)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit.vis-edit-mode{background-color:#fcfcfc;border:1px solid #ccc}div.vis-network div.vis-manipulation div.vis-button.vis-connect{background-image:url(<<datauri \"$:/plugins/felixhayashi/vis/img/network/connectIcon.png\">>)}div.vis-network div.vis-manipulation div.vis-button.vis-delete{background-image:url(<<datauri \"$:/plugins/felixhayashi/vis/img/network/deleteIcon.png\">>)}div.vis-network div.vis-manipulation div.vis-label,div.vis-network div.vis-edit-mode div.vis-label{margin:0 0 0 23px;line-height:25px}div.vis-network div.vis-manipulation div.vis-separator-line{display:inline-block;width:1px;height:20px;background-color:#bdbdbd;margin:5px 7px 0 15px}div.vis-network div.vis-navigation div.vis-button{width:34px;height:34px;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-navigation div.vis-button:hover{box-shadow:0 0 3px 3px rgba(56,207,21,0.30)}div.vis-network div.vis-navigation div.vis-button:active{box-shadow:0 0 1px 3px rgba(56,207,21,0.95)}div.vis-network div.vis-navigation div.vis-button.vis-up{background-image:url(<<datauri \"$:/plugins/felixhayashi/vis/img/network/upArrow.png\">>);bottom:50px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-down{background-image:url(<<datauri \"$:/plugins/felixhayashi/vis/img/network/downArrow.png\">>);bottom:10px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-left{background-image:url(<<datauri \"$:/plugins/felixhayashi/vis/img/network/leftArrow.png\">>);bottom:10px;left:15px}div.vis-network div.vis-navigation div.vis-button.vis-right{background-image:url(<<datauri \"$:/plugins/felixhayashi/vis/img/network/rightArrow.png\">>);bottom:10px;left:95px}div.vis-network div.vis-navigation div.vis-button.vis-zoomIn{background-image:url(<<datauri \"$:/plugins/felixhayashi/vis/img/network/plus.png\">>);bottom:10px;right:15px}div.vis-network div.vis-navigation div.vis-button.vis-zoomOut{background-image:url(<<datauri \"$:/plugins/felixhayashi/vis/img/network/minus.png\">>);bottom:10px;right:55px}div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends{background-image:url(<<datauri \"$:/plugins/felixhayashi/vis/img/network/zoomExtends.png\">>);bottom:50px;right:15px}div.vis-network-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;font-family:verdana;font-size:14px;font-color:#000;background-color:#f5f4ed;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid #808074;box-shadow:3px 3px 10px rgba(0,0,0,0.2);pointer-events:none}div.vis-network-configuration{position:relative;display:block;float:left;font-size:12px}div.vis-network-configuration-wrapper{display:block;width:700px}div.vis-network-configuration.vis-option-container{display:block;width:495px;background-color:#fff;border:2px solid #f7f8fa;border-radius:4px;margin-top:20px;left:10px;padding-left:5px}div.vis-network-configuration.button{display:block;width:495px;height:25px;vertical-align:middle;line-height:25px;background-color:#f7f8fa;border:2px solid #ceced0;border-radius:4px;margin-top:20px;left:10px;padding-left:5px;cursor:pointer;margin-bottom:30px}div.vis-network-configuration.button.hover{background-color:#4588e6;border:2px solid #214373;color:#fff}div.vis-network-configuration.item{display:block;float:left;width:495px;height:25px;vertical-align:middle;line-height:25px}div.vis-network-configuration.item.s2{left:10px;background-color:#f7f8fa;padding-left:5px;border-radius:3px}div.vis-network-configuration.item.s3{left:20px;background-color:#e4e9f0;padding-left:5px;border-radius:3px}div.vis-network-configuration.item.s4{left:30px;background-color:#cfd8e6;padding-left:5px;border-radius:3px}div.vis-network-configuration.header{font-size:18px;font-weight:bold}div.vis-network-configuration.label{width:120px;height:25px;line-height:25px}div.vis-network-configuration.label.s3{width:110px}div.vis-network-configuration.label.s4{width:100px}div.vis-network-configuration.colorBlock{top:1px;width:30px;height:19px;border:1px solid #444;border-radius:2px;padding:0;margin:0;cursor:pointer}input.vis-network-configuration.checkbox{left:-5px}input.vis-network-configuration.rangeinput{position:relative;top:-5px;width:60px;height:13px;padding:1px;margin:0;pointer-events:none}input.vis-network-configuration.range{-webkit-appearance:none;border:0 solid white;background-color:rgba(0,0,0,0);width:300px;height:20px}input.vis-network-configuration.range::-webkit-slider-runnable-track{width:300px;height:5px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dedede',endColorstr=<<datauri \"$:/plugins/felixhayashi/vis/#c8c8c8\">>,GradientType=0);border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-network-configuration.range::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #14334b;height:17px;width:17px;border-radius:50%;background:#3876c2;background:-moz-linear-gradient(top,#3876c2 0,#385380 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3876c2),color-stop(100%,#385380));background:-webkit-linear-gradient(top,#3876c2 0,#385380 100%);background:-o-linear-gradient(top,#3876c2 0,#385380 100%);background:-ms-linear-gradient(top,#3876c2 0,#385380 100%);background:linear-gradient(to bottom,#3876c2 0,#385380 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#3876c2',endColorstr=<<datauri \"$:/plugins/felixhayashi/vis/#385380\">>,GradientType=0);box-shadow:#111927 0 0 1px 0;margin-top:-7px}input.vis-network-configuration.range:focus{outline:0}input.vis-network-configuration.range:focus::-webkit-slider-runnable-track{background:#9d9d9d;background:-moz-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#9d9d9d),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-o-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:linear-gradient(to bottom,#9d9d9d 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#9d9d9d',endColorstr=<<datauri \"$:/plugins/felixhayashi/vis/#c8c8c8\">>,GradientType=0)}input.vis-network-configuration.range::-moz-range-track{width:300px;height:10px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dedede',endColorstr=<<datauri \"$:/plugins/felixhayashi/vis/#c8c8c8\">>,GradientType=0);border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-network-configuration.range::-moz-range-thumb{border:0;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-network-configuration.range:-moz-focusring{outline:1px solid white;outline-offset:-1px}input.vis-network-configuration.range::-ms-track{width:300px;height:5px;background:transparent;border-color:transparent;border-width:6px 0;color:transparent}input.vis-network-configuration.range::-ms-fill-lower{background:#777;border-radius:10px}input.vis-network-configuration.range::-ms-fill-upper{background:#ddd;border-radius:10px}input.vis-network-configuration.range::-ms-thumb{border:0;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-network-configuration.range:focus::-ms-fill-lower{background:#888}input.vis-network-configuration.range:focus::-ms-fill-upper{background:#ccc}div.vis-color-picker{position:absolute;margin-top:-140px;margin-left:30px;width:293px;height:425px;padding:10px;border-radius:15px;background-color:#fff;display:none;box-shadow:rgba(0,0,0,0.5) 0 0 10px 0}div.vis-color-picker div.vis-arrow{position:absolute;top:147px;left:5px}div.vis-color-picker div.vis-arrow:after,div.vis-color-picker div.vis-arrow:before{right:100%;top:50%;border:solid transparent;content:<<datauri \"$:/plugins/felixhayashi/vis/ \">>;height:0;width:0;position:absolute;pointer-events:none}div.vis-color-picker div.vis-arrow:after{border-color:rgba(255,255,255,0);border-right-color:#fff;border-width:30px;margin-top:-30px}div.vis-color-picker div.vis-color{position:absolute;width:289px;height:289px;cursor:pointer}div.vis-color-picker div.vis-brightness{position:absolute;top:313px}div.vis-color-picker div.vis-opacity{position:absolute;top:350px}div.vis-color-picker div.vis-selector{position:absolute;top:137px;left:137px;width:15px;height:15px;border-radius:15px;border:1px solid #fff;background:#4c4c4c;background:-moz-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4c4c4c),color-stop(12%,#595959),color-stop(25%,#666),color-stop(39%,#474747),color-stop(50%,#2c2c2c),color-stop(51%,#000),color-stop(60%,#111),color-stop(76%,#2b2b2b),color-stop(91%,#1c1c1c),color-stop(100%,#131313));background:-webkit-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-o-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-ms-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:linear-gradient(to bottom,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#4c4c4c',endColorstr=<<datauri \"$:/plugins/felixhayashi/vis/#131313\">>,GradientType=0)}div.vis-color-picker div.vis-new-color{position:absolute;width:140px;height:20px;border:1px solid rgba(0,0,0,0.1);border-radius:5px;top:380px;left:159px;text-align:right;padding-right:2px;font-size:10px;color:rgba(0,0,0,0.4);vertical-align:middle;line-height:20px}div.vis-color-picker div.vis-initial-color{position:absolute;width:140px;height:20px;border:1px solid rgba(0,0,0,0.1);border-radius:5px;top:380px;left:10px;text-align:left;padding-left:2px;font-size:10px;color:rgba(0,0,0,0.4);vertical-align:middle;line-height:20px}div.vis-color-picker div.vis-label{position:absolute;width:300px;left:10px}div.vis-color-picker div.vis-label.vis-brightness{top:300px}div.vis-color-picker div.vis-label.vis-opacity{top:338px}div.vis-color-picker div.vis-button{position:absolute;width:68px;height:25px;border-radius:10px;vertical-align:middle;text-align:center;line-height:25px;top:410px;border:2px solid #d9d9d9;background-color:#f7f7f7;cursor:pointer}div.vis-color-picker div.vis-button.vis-cancel{left:5px}div.vis-color-picker div.vis-button.vis-load{left:82px}div.vis-color-picker div.vis-button.vis-apply{left:159px}div.vis-color-picker div.vis-button.vis-save{left:236px}div.vis-color-picker input.vis-range{width:290px;height:20px}"
},
"$:/plugins/felixhayashi/vis/vis.js": {
"text": "/*\\\ntitle: $:/plugins/felixhayashi/vis/vis.js\ntype: application/javascript\nmodule-type: library\n\n@preserve\n\\*/\n\n/**\n * vis.js\n * https://github.com/almende/vis\n *\n * A dynamic, browser-based visualization library.\n *\n * @version 4.4.0\n * @date 2015-07-03\n *\n * @license\n * Copyright (C) 2011-2014 Almende B.V, http://almende.com\n *\n * Vis.js is dual licensed under both\n *\n * * The Apache 2.0 License\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * and\n *\n * * The MIT License\n * http://opensource.org/licenses/MIT\n *\n * Vis.js may be distributed under either license.\n */\n\"use strict\";(function webpackUniversalModuleDefinition(root,factory){if(typeof exports===\"object\"&&typeof module===\"object\")module.exports=factory();else if(typeof define===\"function\"&&define.amd)define(factory);else if(typeof exports===\"object\")exports[\"vis\"]=factory();else root[\"vis\"]=factory()})(this,function(){return function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:false};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.loaded=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.p=\"\";return __webpack_require__(0)}([function(module,exports,__webpack_require__){\"use strict\";exports.util=__webpack_require__(7);exports.DOMutil=__webpack_require__(13);exports.DataSet=__webpack_require__(14);exports.DataView=__webpack_require__(16);exports.Queue=__webpack_require__(15);exports.Graph3d=__webpack_require__(17);exports.graph3d={Camera:__webpack_require__(21),Filter:__webpack_require__(22),Point2d:__webpack_require__(18),Point3d:__webpack_require__(20),Slider:__webpack_require__(23),StepNumber:__webpack_require__(24)};exports.Timeline=__webpack_require__(25);exports.Graph2d=__webpack_require__(49);exports.timeline={DateUtil:__webpack_require__(31),DataStep:__webpack_require__(52),Range:__webpack_require__(29),stack:__webpack_require__(35),TimeStep:__webpack_require__(37),components:{items:{Item:__webpack_require__(2),BackgroundItem:__webpack_require__(40),BoxItem:__webpack_require__(39),PointItem:__webpack_require__(1),RangeItem:__webpack_require__(36)},Component:__webpack_require__(27),CurrentTime:__webpack_require__(26),CustomTime:__webpack_require__(44),DataAxis:__webpack_require__(51),GraphGroup:__webpack_require__(53),Group:__webpack_require__(34),BackgroundGroup:__webpack_require__(38),ItemSet:__webpack_require__(33),Legend:__webpack_require__(57),LineGraph:__webpack_require__(50),TimeAxis:__webpack_require__(41)}};exports.Network=__webpack_require__(59);exports.network={Images:__webpack_require__(112),dotparser:__webpack_require__(110),gephiParser:__webpack_require__(111),allOptions:__webpack_require__(108)};exports.network.convertDot=function(input){return exports.network.dotparser.DOTToGraph(input)};exports.network.convertGephi=function(input,options){return exports.network.gephiParser.parseGephi(input,options)};exports.Graph=function(){throw new Error(\"Graph is renamed to Network. Please create a graph as new vis.Network(...)\")};exports.moment=__webpack_require__(8);exports.hammer=__webpack_require__(3);exports.Hammer=__webpack_require__(3);exports.keycharm=__webpack_require__(43)},function(module,exports,__webpack_require__){\"use strict\";var Item=__webpack_require__(2);function PointItem(data,conversion,options){this.props={dot:{top:0,width:0,height:0},content:{height:0,marginLeft:0}};if(data){if(data.start==undefined){throw new Error('Property \"start\" missing in item '+data)}}Item.call(this,data,conversion,options)}PointItem.prototype=new Item(null,null,null);PointItem.prototype.isVisible=function(range){var interval=(range.end-range.start)/4;return this.data.start>range.start-interval&&this.data.start<range.end+interval};PointItem.prototype.redraw=function(){var dom=this.dom;if(!dom){this.dom={};dom=this.dom;dom.point=document.createElement(\"div\");dom.content=document.createElement(\"div\");dom.content.className=\"vis-item-content\";dom.point.appendChild(dom.content);dom.dot=document.createElement(\"div\");dom.point.appendChild(dom.dot);dom.point[\"timeline-item\"]=this;this.dirty=true}if(!this.parent){throw new Error(\"Cannot redraw item: no parent attached\")}if(!dom.point.parentNode){var foreground=this.parent.dom.foreground;if(!foreground){throw new Error(\"Cannot redraw item: parent has no foreground container element\")}foreground.appendChild(dom.point)}this.displayed=true;if(this.dirty){this._updateContents(this.dom.content);this._updateTitle(this.dom.point);this._updateDataAttributes(this.dom.point);this._updateStyle(this.dom.point);var editable=(this.options.editable.updateTime||this.options.editable.updateGroup||this.editable===true)&&this.editable!==false;var className=(this.data.className?\" \"+this.data.className:\"\")+(this.selected?\" vis-selected\":\"\")+(editable?\" vis-editable\":\" vis-readonly\");dom.point.className=\"vis-item vis-point\"+className;dom.dot.className=\"vis-item vis-dot\"+className;this.props.dot.width=dom.dot.offsetWidth;this.props.dot.height=dom.dot.offsetHeight;this.props.content.height=dom.content.offsetHeight;dom.content.style.marginLeft=2*this.props.dot.width+\"px\";dom.dot.style.top=(this.height-this.props.dot.height)/2+\"px\";dom.dot.style.left=this.props.dot.width/2+\"px\";this.width=dom.point.offsetWidth;this.height=dom.point.offsetHeight;this.dirty=false}this._repaintDeleteButton(dom.point)};PointItem.prototype.show=function(){if(!this.displayed){this.redraw()}};PointItem.prototype.hide=function(){if(this.displayed){if(this.dom.point.parentNode){this.dom.point.parentNode.removeChild(this.dom.point)}this.displayed=false}};PointItem.prototype.repositionX=function(){var start=this.conversion.toScreen(this.data.start);this.left=start-this.props.dot.width;this.dom.point.style.left=this.left+\"px\"};PointItem.prototype.repositionY=function(){var orientation=this.options.orientation.item;var point=this.dom.point;if(orientation==\"top\"){point.style.top=this.top+\"px\"}else{point.style.top=this.parent.height-this.top-this.height+\"px\"}};PointItem.prototype.getWidthLeft=function(){return this.props.dot.width};PointItem.prototype.getWidthRight=function(){return this.width-this.props.dot.width};module.exports=PointItem},function(module,exports,__webpack_require__){\"use strict\";var Hammer=__webpack_require__(3);var util=__webpack_require__(7);function Item(data,conversion,options){this.id=null;this.parent=null;this.data=data;this.dom=null;this.conversion=conversion||{};this.options=options||{};this.selected=false;this.displayed=false;this.dirty=true;this.top=null;this.left=null;this.width=null;this.height=null;this.editable=null;if(this.data&&this.data.hasOwnProperty(\"editable\")&&typeof this.data.editable===\"boolean\"){this.editable=data.editable}}Item.prototype.stack=true;Item.prototype.select=function(){this.selected=true;this.dirty=true;if(this.displayed)this.redraw()};Item.prototype.unselect=function(){this.selected=false;this.dirty=true;if(this.displayed)this.redraw()};Item.prototype.setData=function(data){var groupChanged=data.group!=undefined&&this.data.group!=data.group;if(groupChanged){this.parent.itemSet._moveToGroup(this,data.group)}if(data.hasOwnProperty(\"editable\")&&typeof data.editable===\"boolean\"){this.editable=data.editable}this.data=data;this.dirty=true;if(this.displayed)this.redraw()};Item.prototype.setParent=function(parent){if(this.displayed){this.hide();this.parent=parent;if(this.parent){this.show()}}else{this.parent=parent}};Item.prototype.isVisible=function(range){return false};Item.prototype.show=function(){return false};Item.prototype.hide=function(){return false};Item.prototype.redraw=function(){};Item.prototype.repositionX=function(){};Item.prototype.repositionY=function(){};Item.prototype._repaintDeleteButton=function(anchor){var editable=(this.options.editable.remove||this.data.editable===true)&&this.data.editable!==false;if(this.selected&&editable&&!this.dom.deleteButton){var me=this;var deleteButton=document.createElement(\"div\");deleteButton.className=\"vis-delete\";deleteButton.title=\"Delete this item\";new Hammer(deleteButton).on(\"tap\",function(event){event.stopPropagation();me.parent.removeFromDataSet(me)});anchor.appendChild(deleteButton);this.dom.deleteButton=deleteButton}else if(!this.selected&&this.dom.deleteButton){if(this.dom.deleteButton.parentNode){this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton)}this.dom.deleteButton=null}};Item.prototype._updateContents=function(element){var content;if(this.options.template){var itemData=this.parent.itemSet.itemsData.get(this.id);content=this.options.template(itemData)}else{content=this.data.content}var changed=this._contentToString(this.content)!==this._contentToString(content);if(changed){if(content instanceof Element){element.innerHTML=\"\";element.appendChild(content)}else if(content!=undefined){element.innerHTML=content}else{if(!(this.data.type==\"background\"&&this.data.content===undefined)){throw new Error('Property \"content\" missing in item '+this.id)}}this.content=content}};Item.prototype._updateTitle=function(element){if(this.data.title!=null){element.title=this.data.title||\"\"}else{element.removeAttribute(\"vis-title\")}};Item.prototype._updateDataAttributes=function(element){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var attributes=[];if(Array.isArray(this.options.dataAttributes)){attributes=this.options.dataAttributes}else if(this.options.dataAttributes==\"all\"){attributes=Object.keys(this.data)}else{return}for(var i=0;i<attributes.length;i++){var name=attributes[i];var value=this.data[name];if(value!=null){element.setAttribute(\"data-\"+name,value)}else{element.removeAttribute(\"data-\"+name)}}}};Item.prototype._updateStyle=function(element){if(this.style){util.removeCssText(element,this.style);this.style=null}if(this.data.style){util.addCssText(element,this.data.style);this.style=this.data.style}};Item.prototype._contentToString=function(content){if(typeof content===\"string\")return content;if(content&&\"outerHTML\"in content)return content.outerHTML;return content};Item.prototype.getWidthLeft=function(){return 0};Item.prototype.getWidthRight=function(){return 0};module.exports=Item},function(module,exports,__webpack_require__){\"use strict\";if(typeof window!==\"undefined\"){var propagating=__webpack_require__(4);var Hammer=window[\"Hammer\"]||__webpack_require__(5);module.exports=propagating(Hammer,{preventDefault:\"mouse\"})}else{module.exports=function(){throw Error(\"hammer.js is only available in a browser, not in node.js.\")}}},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;\"use strict\";(function(factory){if(true){!(__WEBPACK_AMD_DEFINE_ARRAY__=[],__WEBPACK_AMD_DEFINE_FACTORY__=factory,__WEBPACK_AMD_DEFINE_RESULT__=typeof __WEBPACK_AMD_DEFINE_FACTORY__===\"function\"?__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__):__WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_RESULT__!==undefined&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__))}else if(typeof exports===\"object\"){module.exports=factory()}else{window.propagating=factory()}})(function(){var _firstTarget=null;var _processing=false;return function propagating(hammer,options){var _options=options||{preventDefault:false};if(hammer.Manager){var Hammer=hammer;var PropagatingHammer=function(element,options){var o=Object.create(_options);if(options)Hammer.extend(o,options);return propagating(new Hammer(element,o),o)};Hammer.extend(PropagatingHammer,Hammer);PropagatingHammer.Manager=function(element,options){var o=Object.create(_options);if(options)Hammer.extend(o,options);return propagating(new Hammer.Manager(element,o),o)};return PropagatingHammer}var wrapper=Object.create(hammer);var element=hammer.element;element.hammer=wrapper;hammer.on(\"hammer.input\",function(event){if(_options.preventDefault===true||_options.preventDefault===event.pointerType){event.preventDefault()}if(event.isFirst){_firstTarget=event.target}});wrapper._handlers={};wrapper.on=function(events,handler){split(events).forEach(function(event){var _handlers=wrapper._handlers[event];if(!_handlers){wrapper._handlers[event]=_handlers=[];hammer.on(event,propagatedHandler)}_handlers.push(handler)});return wrapper};wrapper.off=function(events,handler){split(events).forEach(function(event){var _handlers=wrapper._handlers[event];if(_handlers){_handlers=handler?_handlers.filter(function(h){return h!==handler}):[];if(_handlers.length>0){wrapper._handlers[event]=_handlers}else{hammer.off(event,propagatedHandler);delete wrapper._handlers[event]}}});return wrapper};wrapper.emit=function(eventType,event){_firstTarget=event.target;hammer.emit(eventType,event)};wrapper.destroy=function(){delete hammer.element.hammer;wrapper._handlers={};hammer.destroy()};function split(events){return events.match(/[^ ]+/g)}function propagatedHandler(event){if(event.type!==\"hammer.input\"){if(!event.srcEvent._handled){event.srcEvent._handled={}}if(event.srcEvent._handled[event.type]){return}else{event.srcEvent._handled[event.type]=true}}var stopped=false;event.stopPropagation=function(){stopped=true};event.firstTarget=_firstTarget;var elem=_firstTarget;while(elem&&!stopped){var _handlers=elem.hammer&&elem.hammer._handlers[event.type];if(_handlers){for(var i=0;i<_handlers.length&&!stopped;i++){_handlers[i](event)}}elem=elem.parentNode}}return wrapper}})},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;(function(window,document,exportName,undefined){\"use strict\";var VENDOR_PREFIXES=[\"\",\"webkit\",\"moz\",\"MS\",\"ms\",\"o\"];var TEST_ELEMENT=document.createElement(\"div\");var TYPE_FUNCTION=\"function\";var round=Math.round;var abs=Math.abs;var now=Date.now;function setTimeoutContext(fn,timeout,context){return setTimeout(bindFn(fn,context),timeout)}function invokeArrayArg(arg,fn,context){if(Array.isArray(arg)){each(arg,context[fn],context);return true}return false}function each(obj,iterator,context){var i;if(!obj){return}if(obj.forEach){obj.forEach(iterator,context)}else if(obj.length!==undefined){i=0;while(i<obj.length){iterator.call(context,obj[i],i,obj);i++}}else{for(i in obj){obj.hasOwnProperty(i)&&iterator.call(context,obj[i],i,obj)}}}function extend(dest,src,merge){var keys=Object.keys(src);var i=0;while(i<keys.length){if(!merge||merge&&dest[keys[i]]===undefined){dest[keys[i]]=src[keys[i]]}i++}return dest}function merge(dest,src){return extend(dest,src,true)}function inherit(child,base,properties){var baseP=base.prototype,childP;childP=child.prototype=Object.create(baseP);childP.constructor=child;childP._super=baseP;if(properties){extend(childP,properties)}}function bindFn(fn,context){return function boundFn(){return fn.apply(context,arguments)}}function boolOrFn(val,args){if(typeof val==TYPE_FUNCTION){return val.apply(args?args[0]||undefined:undefined,args)}return val}function ifUndefined(val1,val2){return val1===undefined?val2:val1}function addEventListeners(target,types,handler){each(splitStr(types),function(type){target.addEventListener(type,handler,false)})}function removeEventListeners(target,types,handler){each(splitStr(types),function(type){target.removeEventListener(type,handler,false)})}function hasParent(node,parent){while(node){if(node==parent){return true}node=node.parentNode}return false}function inStr(str,find){return str.indexOf(find)>-1}function splitStr(str){return str.trim().split(/\\s+/g)}function inArray(src,find,findByKey){if(src.indexOf&&!findByKey){return src.indexOf(find)}else{var i=0;while(i<src.length){if(findByKey&&src[i][findByKey]==find||!findByKey&&src[i]===find){return i}i++}return-1}}function toArray(obj){return Array.prototype.slice.call(obj,0)}function uniqueArray(src,key,sort){var results=[];var values=[];var i=0;while(i<src.length){var val=key?src[i][key]:src[i];if(inArray(values,val)<0){results.push(src[i])}values[i]=val;i++}if(sort){if(!key){results=results.sort()}else{results=results.sort(function sortUniqueArray(a,b){return a[key]>b[key]})}}return results}function prefixed(obj,property){var prefix,prop;var camelProp=property[0].toUpperCase()+property.slice(1);var i=0;while(i<VENDOR_PREFIXES.length){prefix=VENDOR_PREFIXES[i];prop=prefix?prefix+camelProp:property;if(prop in obj){return prop}i++}return undefined}var _uniqueId=1;function uniqueId(){return _uniqueId++}function getWindowForElement(element){var doc=element.ownerDocument;return doc.defaultView||doc.parentWindow}var MOBILE_REGEX=/mobile|tablet|ip(ad|hone|od)|android/i;var SUPPORT_TOUCH=\"ontouchstart\"in window;var SUPPORT_POINTER_EVENTS=prefixed(window,\"PointerEvent\")!==undefined;var SUPPORT_ONLY_TOUCH=SUPPORT_TOUCH&&MOBILE_REGEX.test(navigator.userAgent);var INPUT_TYPE_TOUCH=\"touch\";var INPUT_TYPE_PEN=\"pen\";var INPUT_TYPE_MOUSE=\"mouse\";var INPUT_TYPE_KINECT=\"kinect\";var COMPUTE_INTERVAL=25;var INPUT_START=1;var INPUT_MOVE=2;var INPUT_END=4;var INPUT_CANCEL=8;var DIRECTION_NONE=1;var DIRECTION_LEFT=2;var DIRECTION_RIGHT=4;var DIRECTION_UP=8;var DIRECTION_DOWN=16;var DIRECTION_HORIZONTAL=DIRECTION_LEFT|DIRECTION_RIGHT;var DIRECTION_VERTICAL=DIRECTION_UP|DIRECTION_DOWN;var DIRECTION_ALL=DIRECTION_HORIZONTAL|DIRECTION_VERTICAL;var PROPS_XY=[\"x\",\"y\"];var PROPS_CLIENT_XY=[\"clientX\",\"clientY\"];function Input(manager,callback){var self=this;this.manager=manager;this.callback=callback;this.element=manager.element;this.target=manager.options.inputTarget;this.domHandler=function(ev){if(boolOrFn(manager.options.enable,[manager])){self.handler(ev)}};this.init()}Input.prototype={handler:function(){},init:function(){this.evEl&&addEventListeners(this.element,this.evEl,this.domHandler);this.evTarget&&addEventListeners(this.target,this.evTarget,this.domHandler);this.evWin&&addEventListeners(getWindowForElement(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&removeEventListeners(this.element,this.evEl,this.domHandler);this.evTarget&&removeEventListeners(this.target,this.evTarget,this.domHandler);this.evWin&&removeEventListeners(getWindowForElement(this.element),this.evWin,this.domHandler)}};function createInputInstance(manager){var Type;var inputClass=manager.options.inputClass;if(inputClass){Type=inputClass}else if(SUPPORT_POINTER_EVENTS){Type=PointerEventInput}else if(SUPPORT_ONLY_TOUCH){Type=TouchInput}else if(!SUPPORT_TOUCH){Type=MouseInput}else{Type=TouchMouseInput}return new Type(manager,inputHandler)}function inputHandler(manager,eventType,input){var pointersLen=input.pointers.length;var changedPointersLen=input.changedPointers.length;var isFirst=eventType&INPUT_START&&pointersLen-changedPointersLen===0;var isFinal=eventType&(INPUT_END|INPUT_CANCEL)&&pointersLen-changedPointersLen===0;input.isFirst=!!isFirst;input.isFinal=!!isFinal;if(isFirst){manager.session={}}input.eventType=eventType;computeInputData(manager,input);manager.emit(\"hammer.input\",input);manager.recognize(input);manager.session.prevInput=input}function computeInputData(manager,input){var session=manager.session;var pointers=input.pointers;var pointersLength=pointers.length;if(!session.firstInput){session.firstInput=simpleCloneInputData(input)}if(pointersLength>1&&!session.firstMultiple){session.firstMultiple=simpleCloneInputData(input)}else if(pointersLength===1){session.firstMultiple=false}var firstInput=session.firstInput;var firstMultiple=session.firstMultiple;var offsetCenter=firstMultiple?firstMultiple.center:firstInput.center;var center=input.center=getCenter(pointers);input.timeStamp=now();input.deltaTime=input.timeStamp-firstInput.timeStamp;input.angle=getAngle(offsetCenter,center);input.distance=getDistance(offsetCenter,center);computeDeltaXY(session,input);input.offsetDirection=getDirection(input.deltaX,input.deltaY);input.scale=firstMultiple?getScale(firstMultiple.pointers,pointers):1;input.rotation=firstMultiple?getRotation(firstMultiple.pointers,pointers):0;computeIntervalInputData(session,input);var target=manager.element;if(hasParent(input.srcEvent.target,target)){target=input.srcEvent.target}input.target=target}function computeDeltaXY(session,input){var center=input.center;var offset=session.offsetDelta||{};var prevDelta=session.prevDelta||{};var prevInput=session.prevInput||{};if(input.eventType===INPUT_START||prevInput.eventType===INPUT_END){prevDelta=session.prevDelta={x:prevInput.deltaX||0,y:prevInput.deltaY||0};offset=session.offsetDelta={x:center.x,y:center.y}}input.deltaX=prevDelta.x+(center.x-offset.x);input.deltaY=prevDelta.y+(center.y-offset.y)}function computeIntervalInputData(session,input){var last=session.lastInterval||input,deltaTime=input.timeStamp-last.timeStamp,velocity,velocityX,velocityY,direction;if(input.eventType!=INPUT_CANCEL&&(deltaTime>COMPUTE_INTERVAL||last.velocity===undefined)){var deltaX=last.deltaX-input.deltaX;var deltaY=last.deltaY-input.deltaY;var v=getVelocity(deltaTime,deltaX,deltaY);velocityX=v.x;velocityY=v.y;velocity=abs(v.x)>abs(v.y)?v.x:v.y;direction=getDirection(deltaX,deltaY);session.lastInterval=input}else{velocity=last.velocity;velocityX=last.velocityX;velocityY=last.velocityY;direction=last.direction}input.velocity=velocity;input.velocityX=velocityX;input.velocityY=velocityY;input.direction=direction}function simpleCloneInputData(input){var pointers=[];var i=0;while(i<input.pointers.length){pointers[i]={clientX:round(input.pointers[i].clientX),clientY:round(input.pointers[i].clientY)};i++}return{timeStamp:now(),pointers:pointers,center:getCenter(pointers),deltaX:input.deltaX,deltaY:input.deltaY}}function getCenter(pointers){var pointersLength=pointers.length;if(pointersLength===1){return{x:round(pointers[0].clientX),y:round(pointers[0].clientY)}}var x=0,y=0,i=0;while(i<pointersLength){x+=pointers[i].clientX;y+=pointers[i].clientY;i++}return{x:round(x/pointersLength),y:round(y/pointersLength)}}function getVelocity(deltaTime,x,y){return{x:x/deltaTime||0,y:y/deltaTime||0}}function getDirection(x,y){if(x===y){return DIRECTION_NONE}if(abs(x)>=abs(y)){return x>0?DIRECTION_LEFT:DIRECTION_RIGHT}return y>0?DIRECTION_UP:DIRECTION_DOWN}function getDistance(p1,p2,props){if(!props){props=PROPS_XY}var x=p2[props[0]]-p1[props[0]],y=p2[props[1]]-p1[props[1]];return Math.sqrt(x*x+y*y)}function getAngle(p1,p2,props){if(!props){props=PROPS_XY}var x=p2[props[0]]-p1[props[0]],y=p2[props[1]]-p1[props[1]];return Math.atan2(y,x)*180/Math.PI}function getRotation(start,end){return getAngle(end[1],end[0],PROPS_CLIENT_XY)-getAngle(start[1],start[0],PROPS_CLIENT_XY)}function getScale(start,end){return getDistance(end[0],end[1],PROPS_CLIENT_XY)/getDistance(start[0],start[1],PROPS_CLIENT_XY)}var MOUSE_INPUT_MAP={mousedown:INPUT_START,mousemove:INPUT_MOVE,mouseup:INPUT_END};var MOUSE_ELEMENT_EVENTS=\"mousedown\";var MOUSE_WINDOW_EVENTS=\"mousemove mouseup\";function MouseInput(){this.evEl=MOUSE_ELEMENT_EVENTS;this.evWin=MOUSE_WINDOW_EVENTS;this.allow=true;this.pressed=false;Input.apply(this,arguments)}inherit(MouseInput,Input,{handler:function MEhandler(ev){var eventType=MOUSE_INPUT_MAP[ev.type];if(eventType&INPUT_START&&ev.button===0){this.pressed=true}if(eventType&INPUT_MOVE&&ev.which!==1){eventType=INPUT_END}if(!this.pressed||!this.allow){return}if(eventType&INPUT_END){this.pressed=false}this.callback(this.manager,eventType,{pointers:[ev],changedPointers:[ev],pointerType:INPUT_TYPE_MOUSE,srcEvent:ev})}});var POINTER_INPUT_MAP={pointerdown:INPUT_START,pointermove:INPUT_MOVE,pointerup:INPUT_END,pointercancel:INPUT_CANCEL,pointerout:INPUT_CANCEL};var IE10_POINTER_TYPE_ENUM={2:INPUT_TYPE_TOUCH,3:INPUT_TYPE_PEN,4:INPUT_TYPE_MOUSE,5:INPUT_TYPE_KINECT};var POINTER_ELEMENT_EVENTS=\"pointerdown\";var POINTER_WINDOW_EVENTS=\"pointermove pointerup pointercancel\";if(window.MSPointerEvent){POINTER_ELEMENT_EVENTS=\"MSPointerDown\";POINTER_WINDOW_EVENTS=\"MSPointerMove MSPointerUp MSPointerCancel\"}function PointerEventInput(){this.evEl=POINTER_ELEMENT_EVENTS;this.evWin=POINTER_WINDOW_EVENTS;Input.apply(this,arguments);this.store=this.manager.session.pointerEvents=[]}inherit(PointerEventInput,Input,{handler:function PEhandler(ev){var store=this.store;var removePointer=false;var eventTypeNormalized=ev.type.toLowerCase().replace(\"ms\",\"\");var eventType=POINTER_INPUT_MAP[eventTypeNormalized];var pointerType=IE10_POINTER_TYPE_ENUM[ev.pointerType]||ev.pointerType;var isTouch=pointerType==INPUT_TYPE_TOUCH;var storeIndex=inArray(store,ev.pointerId,\"pointerId\");if(eventType&INPUT_START&&(ev.button===0||isTouch)){if(storeIndex<0){store.push(ev);storeIndex=store.length-1}}else if(eventType&(INPUT_END|INPUT_CANCEL)){removePointer=true}if(storeIndex<0){return}store[storeIndex]=ev;this.callback(this.manager,eventType,{pointers:store,changedPointers:[ev],pointerType:pointerType,srcEvent:ev});if(removePointer){store.splice(storeIndex,1)}}});var SINGLE_TOUCH_INPUT_MAP={touchstart:INPUT_START,touchmove:INPUT_MOVE,touchend:INPUT_END,touchcancel:INPUT_CANCEL};var SINGLE_TOUCH_TARGET_EVENTS=\"touchstart\";var SINGLE_TOUCH_WINDOW_EVENTS=\"touchstart touchmove touchend touchcancel\";function SingleTouchInput(){this.evTarget=SINGLE_TOUCH_TARGET_EVENTS;this.evWin=SINGLE_TOUCH_WINDOW_EVENTS;this.started=false;Input.apply(this,arguments)}inherit(SingleTouchInput,Input,{handler:function TEhandler(ev){var type=SINGLE_TOUCH_INPUT_MAP[ev.type];if(type===INPUT_START){this.started=true}if(!this.started){return}var touches=normalizeSingleTouches.call(this,ev,type);if(type&(INPUT_END|INPUT_CANCEL)&&touches[0].length-touches[1].length===0){this.started=false}this.callback(this.manager,type,{pointers:touches[0],changedPointers:touches[1],pointerType:INPUT_TYPE_TOUCH,srcEvent:ev})}});function normalizeSingleTouches(ev,type){var all=toArray(ev.touches);var changed=toArray(ev.changedTouches);if(type&(INPUT_END|INPUT_CANCEL)){all=uniqueArray(all.concat(changed),\"identifier\",true)}return[all,changed]}var TOUCH_INPUT_MAP={touchstart:INPUT_START,touchmove:INPUT_MOVE,touchend:INPUT_END,touchcancel:INPUT_CANCEL};var TOUCH_TARGET_EVENTS=\"touchstart touchmove touchend touchcancel\";function TouchInput(){this.evTarget=TOUCH_TARGET_EVENTS;this.targetIds={};Input.apply(this,arguments)}inherit(TouchInput,Input,{handler:function MTEhandler(ev){var type=TOUCH_INPUT_MAP[ev.type];var touches=getTouches.call(this,ev,type);if(!touches){return}this.callback(this.manager,type,{pointers:touches[0],changedPointers:touches[1],pointerType:INPUT_TYPE_TOUCH,srcEvent:ev})}});function getTouches(ev,type){var allTouches=toArray(ev.touches);var targetIds=this.targetIds;if(type&(INPUT_START|INPUT_MOVE)&&allTouches.length===1){targetIds[allTouches[0].identifier]=true;return[allTouches,allTouches]}var i,targetTouches,changedTouches=toArray(ev.changedTouches),changedTargetTouches=[],target=this.target;targetTouches=allTouches.filter(function(touch){return hasParent(touch.target,target)});if(type===INPUT_START){i=0;while(i<targetTouches.length){targetIds[targetTouches[i].identifier]=true;i++}}i=0;while(i<changedTouches.length){if(targetIds[changedTouches[i].identifier]){changedTargetTouches.push(changedTouches[i])}if(type&(INPUT_END|INPUT_CANCEL)){delete targetIds[changedTouches[i].identifier]}i++}if(!changedTargetTouches.length){return}return[uniqueArray(targetTouches.concat(changedTargetTouches),\"identifier\",true),changedTargetTouches]}function TouchMouseInput(){Input.apply(this,arguments);var handler=bindFn(this.handler,this);this.touch=new TouchInput(this.manager,handler);this.mouse=new MouseInput(this.manager,handler)}inherit(TouchMouseInput,Input,{handler:function TMEhandler(manager,inputEvent,inputData){var isTouch=inputData.pointerType==INPUT_TYPE_TOUCH,isMouse=inputData.pointerType==INPUT_TYPE_MOUSE;if(isTouch){this.mouse.allow=false}else if(isMouse&&!this.mouse.allow){return}if(inputEvent&(INPUT_END|INPUT_CANCEL)){this.mouse.allow=true}this.callback(manager,inputEvent,inputData)},destroy:function destroy(){this.touch.destroy();this.mouse.destroy()}});var PREFIXED_TOUCH_ACTION=prefixed(TEST_ELEMENT.style,\"touchAction\");var NATIVE_TOUCH_ACTION=PREFIXED_TOUCH_ACTION!==undefined;var TOUCH_ACTION_COMPUTE=\"compute\";var TOUCH_ACTION_AUTO=\"auto\";var TOUCH_ACTION_MANIPULATION=\"manipulation\";var TOUCH_ACTION_NONE=\"none\";var TOUCH_ACTION_PAN_X=\"pan-x\";var TOUCH_ACTION_PAN_Y=\"pan-y\";function TouchAction(manager,value){this.manager=manager;this.set(value)}TouchAction.prototype={set:function(value){if(value==TOUCH_ACTION_COMPUTE){value=this.compute()}if(NATIVE_TOUCH_ACTION){this.manager.element.style[PREFIXED_TOUCH_ACTION]=value}this.actions=value.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var actions=[];each(this.manager.recognizers,function(recognizer){if(boolOrFn(recognizer.options.enable,[recognizer])){actions=actions.concat(recognizer.getTouchAction())}});return cleanTouchActions(actions.join(\" \"))},preventDefaults:function(input){if(NATIVE_TOUCH_ACTION){return}var srcEvent=input.srcEvent;var direction=input.offsetDirection;if(this.manager.session.prevented){srcEvent.preventDefault();return}var actions=this.actions;var hasNone=inStr(actions,TOUCH_ACTION_NONE);var hasPanY=inStr(actions,TOUCH_ACTION_PAN_Y);var hasPanX=inStr(actions,TOUCH_ACTION_PAN_X);if(hasNone||hasPanY&&direction&DIRECTION_HORIZONTAL||hasPanX&&direction&DIRECTION_VERTICAL){return this.preventSrc(srcEvent)}},preventSrc:function(srcEvent){this.manager.session.prevented=true;srcEvent.preventDefault()}};function cleanTouchActions(actions){if(inStr(actions,TOUCH_ACTION_NONE)){return TOUCH_ACTION_NONE}var hasPanX=inStr(actions,TOUCH_ACTION_PAN_X);var hasPanY=inStr(actions,TOUCH_ACTION_PAN_Y);if(hasPanX&&hasPanY){return TOUCH_ACTION_PAN_X+\" \"+TOUCH_ACTION_PAN_Y}if(hasPanX||hasPanY){return hasPanX?TOUCH_ACTION_PAN_X:TOUCH_ACTION_PAN_Y}if(inStr(actions,TOUCH_ACTION_MANIPULATION)){return TOUCH_ACTION_MANIPULATION}return TOUCH_ACTION_AUTO}var STATE_POSSIBLE=1;var STATE_BEGAN=2;var STATE_CHANGED=4;var STATE_ENDED=8;var STATE_RECOGNIZED=STATE_ENDED;var STATE_CANCELLED=16;var STATE_FAILED=32;function Recognizer(options){this.id=uniqueId();this.manager=null;this.options=merge(options||{},this.defaults);this.options.enable=ifUndefined(this.options.enable,true);this.state=STATE_POSSIBLE;this.simultaneous={};this.requireFail=[]}Recognizer.prototype={defaults:{},set:function(options){extend(this.options,options);this.manager&&this.manager.touchAction.update();return this},recognizeWith:function(otherRecognizer){if(invokeArrayArg(otherRecognizer,\"recognizeWith\",this)){return this}var simultaneous=this.simultaneous;otherRecognizer=getRecognizerByNameIfManager(otherRecognizer,this);if(!simultaneous[otherRecognizer.id]){simultaneous[otherRecognizer.id]=otherRecognizer;otherRecognizer.recognizeWith(this)}return this},dropRecognizeWith:function(otherRecognizer){if(invokeArrayArg(otherRecognizer,\"dropRecognizeWith\",this)){return this}otherRecognizer=getRecognizerByNameIfManager(otherRecognizer,this);delete this.simultaneous[otherRecognizer.id];return this},requireFailure:function(otherRecognizer){if(invokeArrayArg(otherRecognizer,\"requireFailure\",this)){return this}var requireFail=this.requireFail;otherRecognizer=getRecognizerByNameIfManager(otherRecognizer,this);if(inArray(requireFail,otherRecognizer)===-1){requireFail.push(otherRecognizer);otherRecognizer.requireFailure(this)}return this},dropRequireFailure:function(otherRecognizer){if(invokeArrayArg(otherRecognizer,\"dropRequireFailure\",this)){return this}otherRecognizer=getRecognizerByNameIfManager(otherRecognizer,this);var index=inArray(this.requireFail,otherRecognizer);if(index>-1){this.requireFail.splice(index,1)}return this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(otherRecognizer){return!!this.simultaneous[otherRecognizer.id]},emit:function(input){var self=this;var state=this.state;function emit(withState){self.manager.emit(self.options.event+(withState?stateStr(state):\"\"),input)}if(state<STATE_ENDED){emit(true)}emit();if(state>=STATE_ENDED){emit(true)}},tryEmit:function(input){if(this.canEmit()){return this.emit(input)}this.state=STATE_FAILED},canEmit:function(){var i=0;while(i<this.requireFail.length){if(!(this.requireFail[i].state&(STATE_FAILED|STATE_POSSIBLE))){return false}i++}return true},recognize:function(inputData){var inputDataClone=extend({},inputData);if(!boolOrFn(this.options.enable,[this,inputDataClone])){this.reset();this.state=STATE_FAILED;return}if(this.state&(STATE_RECOGNIZED|STATE_CANCELLED|STATE_FAILED)){this.state=STATE_POSSIBLE}this.state=this.process(inputDataClone);\n\nif(this.state&(STATE_BEGAN|STATE_CHANGED|STATE_ENDED|STATE_CANCELLED)){this.tryEmit(inputDataClone)}},process:function(inputData){},getTouchAction:function(){},reset:function(){}};function stateStr(state){if(state&STATE_CANCELLED){return\"cancel\"}else if(state&STATE_ENDED){return\"end\"}else if(state&STATE_CHANGED){return\"move\"}else if(state&STATE_BEGAN){return\"start\"}return\"\"}function directionStr(direction){if(direction==DIRECTION_DOWN){return\"down\"}else if(direction==DIRECTION_UP){return\"up\"}else if(direction==DIRECTION_LEFT){return\"left\"}else if(direction==DIRECTION_RIGHT){return\"right\"}return\"\"}function getRecognizerByNameIfManager(otherRecognizer,recognizer){var manager=recognizer.manager;if(manager){return manager.get(otherRecognizer)}return otherRecognizer}function AttrRecognizer(){Recognizer.apply(this,arguments)}inherit(AttrRecognizer,Recognizer,{defaults:{pointers:1},attrTest:function(input){var optionPointers=this.options.pointers;return optionPointers===0||input.pointers.length===optionPointers},process:function(input){var state=this.state;var eventType=input.eventType;var isRecognized=state&(STATE_BEGAN|STATE_CHANGED);var isValid=this.attrTest(input);if(isRecognized&&(eventType&INPUT_CANCEL||!isValid)){return state|STATE_CANCELLED}else if(isRecognized||isValid){if(eventType&INPUT_END){return state|STATE_ENDED}else if(!(state&STATE_BEGAN)){return STATE_BEGAN}return state|STATE_CHANGED}return STATE_FAILED}});function PanRecognizer(){AttrRecognizer.apply(this,arguments);this.pX=null;this.pY=null}inherit(PanRecognizer,AttrRecognizer,{defaults:{event:\"pan\",threshold:10,pointers:1,direction:DIRECTION_ALL},getTouchAction:function(){var direction=this.options.direction;var actions=[];if(direction&DIRECTION_HORIZONTAL){actions.push(TOUCH_ACTION_PAN_Y)}if(direction&DIRECTION_VERTICAL){actions.push(TOUCH_ACTION_PAN_X)}return actions},directionTest:function(input){var options=this.options;var hasMoved=true;var distance=input.distance;var direction=input.direction;var x=input.deltaX;var y=input.deltaY;if(!(direction&options.direction)){if(options.direction&DIRECTION_HORIZONTAL){direction=x===0?DIRECTION_NONE:x<0?DIRECTION_LEFT:DIRECTION_RIGHT;hasMoved=x!=this.pX;distance=Math.abs(input.deltaX)}else{direction=y===0?DIRECTION_NONE:y<0?DIRECTION_UP:DIRECTION_DOWN;hasMoved=y!=this.pY;distance=Math.abs(input.deltaY)}}input.direction=direction;return hasMoved&&distance>options.threshold&&direction&options.direction},attrTest:function(input){return AttrRecognizer.prototype.attrTest.call(this,input)&&(this.state&STATE_BEGAN||!(this.state&STATE_BEGAN)&&this.directionTest(input))},emit:function(input){this.pX=input.deltaX;this.pY=input.deltaY;var direction=directionStr(input.direction);if(direction){this.manager.emit(this.options.event+direction,input)}this._super.emit.call(this,input)}});function PinchRecognizer(){AttrRecognizer.apply(this,arguments)}inherit(PinchRecognizer,AttrRecognizer,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[TOUCH_ACTION_NONE]},attrTest:function(input){return this._super.attrTest.call(this,input)&&(Math.abs(input.scale-1)>this.options.threshold||this.state&STATE_BEGAN)},emit:function(input){this._super.emit.call(this,input);if(input.scale!==1){var inOut=input.scale<1?\"in\":\"out\";this.manager.emit(this.options.event+inOut,input)}}});function PressRecognizer(){Recognizer.apply(this,arguments);this._timer=null;this._input=null}inherit(PressRecognizer,Recognizer,{defaults:{event:\"press\",pointers:1,time:500,threshold:5},getTouchAction:function(){return[TOUCH_ACTION_AUTO]},process:function(input){var options=this.options;var validPointers=input.pointers.length===options.pointers;var validMovement=input.distance<options.threshold;var validTime=input.deltaTime>options.time;this._input=input;if(!validMovement||!validPointers||input.eventType&(INPUT_END|INPUT_CANCEL)&&!validTime){this.reset()}else if(input.eventType&INPUT_START){this.reset();this._timer=setTimeoutContext(function(){this.state=STATE_RECOGNIZED;this.tryEmit()},options.time,this)}else if(input.eventType&INPUT_END){return STATE_RECOGNIZED}return STATE_FAILED},reset:function(){clearTimeout(this._timer)},emit:function(input){if(this.state!==STATE_RECOGNIZED){return}if(input&&input.eventType&INPUT_END){this.manager.emit(this.options.event+\"up\",input)}else{this._input.timeStamp=now();this.manager.emit(this.options.event,this._input)}}});function RotateRecognizer(){AttrRecognizer.apply(this,arguments)}inherit(RotateRecognizer,AttrRecognizer,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[TOUCH_ACTION_NONE]},attrTest:function(input){return this._super.attrTest.call(this,input)&&(Math.abs(input.rotation)>this.options.threshold||this.state&STATE_BEGAN)}});function SwipeRecognizer(){AttrRecognizer.apply(this,arguments)}inherit(SwipeRecognizer,AttrRecognizer,{defaults:{event:\"swipe\",threshold:10,velocity:.65,direction:DIRECTION_HORIZONTAL|DIRECTION_VERTICAL,pointers:1},getTouchAction:function(){return PanRecognizer.prototype.getTouchAction.call(this)},attrTest:function(input){var direction=this.options.direction;var velocity;if(direction&(DIRECTION_HORIZONTAL|DIRECTION_VERTICAL)){velocity=input.velocity}else if(direction&DIRECTION_HORIZONTAL){velocity=input.velocityX}else if(direction&DIRECTION_VERTICAL){velocity=input.velocityY}return this._super.attrTest.call(this,input)&&direction&input.direction&&input.distance>this.options.threshold&&abs(velocity)>this.options.velocity&&input.eventType&INPUT_END},emit:function(input){var direction=directionStr(input.direction);if(direction){this.manager.emit(this.options.event+direction,input)}this.manager.emit(this.options.event,input)}});function TapRecognizer(){Recognizer.apply(this,arguments);this.pTime=false;this.pCenter=false;this._timer=null;this._input=null;this.count=0}inherit(TapRecognizer,Recognizer,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[TOUCH_ACTION_MANIPULATION]},process:function(input){var options=this.options;var validPointers=input.pointers.length===options.pointers;var validMovement=input.distance<options.threshold;var validTouchTime=input.deltaTime<options.time;this.reset();if(input.eventType&INPUT_START&&this.count===0){return this.failTimeout()}if(validMovement&&validTouchTime&&validPointers){if(input.eventType!=INPUT_END){return this.failTimeout()}var validInterval=this.pTime?input.timeStamp-this.pTime<options.interval:true;var validMultiTap=!this.pCenter||getDistance(this.pCenter,input.center)<options.posThreshold;this.pTime=input.timeStamp;this.pCenter=input.center;if(!validMultiTap||!validInterval){this.count=1}else{this.count+=1}this._input=input;var tapCount=this.count%options.taps;if(tapCount===0){if(!this.hasRequireFailures()){return STATE_RECOGNIZED}else{this._timer=setTimeoutContext(function(){this.state=STATE_RECOGNIZED;this.tryEmit()},options.interval,this);return STATE_BEGAN}}}return STATE_FAILED},failTimeout:function(){this._timer=setTimeoutContext(function(){this.state=STATE_FAILED},this.options.interval,this);return STATE_FAILED},reset:function(){clearTimeout(this._timer)},emit:function(){if(this.state==STATE_RECOGNIZED){this._input.tapCount=this.count;this.manager.emit(this.options.event,this._input)}}});function Hammer(element,options){options=options||{};options.recognizers=ifUndefined(options.recognizers,Hammer.defaults.preset);return new Manager(element,options)}Hammer.VERSION=\"2.0.4\";Hammer.defaults={domEvents:false,touchAction:TOUCH_ACTION_COMPUTE,enable:true,inputTarget:null,inputClass:null,preset:[[RotateRecognizer,{enable:false}],[PinchRecognizer,{enable:false},[\"rotate\"]],[SwipeRecognizer,{direction:DIRECTION_HORIZONTAL}],[PanRecognizer,{direction:DIRECTION_HORIZONTAL},[\"swipe\"]],[TapRecognizer],[TapRecognizer,{event:\"doubletap\",taps:2},[\"tap\"]],[PressRecognizer]],cssProps:{userSelect:\"none\",touchSelect:\"none\",touchCallout:\"none\",contentZooming:\"none\",userDrag:\"none\",tapHighlightColor:\"rgba(0,0,0,0)\"}};var STOP=1;var FORCED_STOP=2;function Manager(element,options){options=options||{};this.options=merge(options,Hammer.defaults);this.options.inputTarget=this.options.inputTarget||element;this.handlers={};this.session={};this.recognizers=[];this.element=element;this.input=createInputInstance(this);this.touchAction=new TouchAction(this,this.options.touchAction);toggleCssProps(this,true);each(options.recognizers,function(item){var recognizer=this.add(new item[0](item[1]));item[2]&&recognizer.recognizeWith(item[2]);item[3]&&recognizer.requireFailure(item[3])},this)}Manager.prototype={set:function(options){extend(this.options,options);if(options.touchAction){this.touchAction.update()}if(options.inputTarget){this.input.destroy();this.input.target=options.inputTarget;this.input.init()}return this},stop:function(force){this.session.stopped=force?FORCED_STOP:STOP},recognize:function(inputData){var session=this.session;if(session.stopped){return}this.touchAction.preventDefaults(inputData);var recognizer;var recognizers=this.recognizers;var curRecognizer=session.curRecognizer;if(!curRecognizer||curRecognizer&&curRecognizer.state&STATE_RECOGNIZED){curRecognizer=session.curRecognizer=null}var i=0;while(i<recognizers.length){recognizer=recognizers[i];if(session.stopped!==FORCED_STOP&&(!curRecognizer||recognizer==curRecognizer||recognizer.canRecognizeWith(curRecognizer))){recognizer.recognize(inputData)}else{recognizer.reset()}if(!curRecognizer&&recognizer.state&(STATE_BEGAN|STATE_CHANGED|STATE_ENDED)){curRecognizer=session.curRecognizer=recognizer}i++}},get:function(recognizer){if(recognizer instanceof Recognizer){return recognizer}var recognizers=this.recognizers;for(var i=0;i<recognizers.length;i++){if(recognizers[i].options.event==recognizer){return recognizers[i]}}return null},add:function(recognizer){if(invokeArrayArg(recognizer,\"add\",this)){return this}var existing=this.get(recognizer.options.event);if(existing){this.remove(existing)}this.recognizers.push(recognizer);recognizer.manager=this;this.touchAction.update();return recognizer},remove:function(recognizer){if(invokeArrayArg(recognizer,\"remove\",this)){return this}var recognizers=this.recognizers;recognizer=this.get(recognizer);recognizers.splice(inArray(recognizers,recognizer),1);this.touchAction.update();return this},on:function(events,handler){var handlers=this.handlers;each(splitStr(events),function(event){handlers[event]=handlers[event]||[];handlers[event].push(handler)});return this},off:function(events,handler){var handlers=this.handlers;each(splitStr(events),function(event){if(!handler){delete handlers[event]}else{handlers[event].splice(inArray(handlers[event],handler),1)}});return this},emit:function(event,data){if(this.options.domEvents){triggerDomEvent(event,data)}var handlers=this.handlers[event]&&this.handlers[event].slice();if(!handlers||!handlers.length){return}data.type=event;data.preventDefault=function(){data.srcEvent.preventDefault()};var i=0;while(i<handlers.length){handlers[i](data);i++}},destroy:function(){this.element&&toggleCssProps(this,false);this.handlers={};this.session={};this.input.destroy();this.element=null}};function toggleCssProps(manager,add){var element=manager.element;each(manager.options.cssProps,function(value,name){element.style[prefixed(element.style,name)]=add?value:\"\"})}function triggerDomEvent(event,data){var gestureEvent=document.createEvent(\"Event\");gestureEvent.initEvent(event,true,true);gestureEvent.gesture=data;data.target.dispatchEvent(gestureEvent)}extend(Hammer,{INPUT_START:INPUT_START,INPUT_MOVE:INPUT_MOVE,INPUT_END:INPUT_END,INPUT_CANCEL:INPUT_CANCEL,STATE_POSSIBLE:STATE_POSSIBLE,STATE_BEGAN:STATE_BEGAN,STATE_CHANGED:STATE_CHANGED,STATE_ENDED:STATE_ENDED,STATE_RECOGNIZED:STATE_RECOGNIZED,STATE_CANCELLED:STATE_CANCELLED,STATE_FAILED:STATE_FAILED,DIRECTION_NONE:DIRECTION_NONE,DIRECTION_LEFT:DIRECTION_LEFT,DIRECTION_RIGHT:DIRECTION_RIGHT,DIRECTION_UP:DIRECTION_UP,DIRECTION_DOWN:DIRECTION_DOWN,DIRECTION_HORIZONTAL:DIRECTION_HORIZONTAL,DIRECTION_VERTICAL:DIRECTION_VERTICAL,DIRECTION_ALL:DIRECTION_ALL,Manager:Manager,Input:Input,TouchAction:TouchAction,TouchInput:TouchInput,MouseInput:MouseInput,PointerEventInput:PointerEventInput,TouchMouseInput:TouchMouseInput,SingleTouchInput:SingleTouchInput,Recognizer:Recognizer,AttrRecognizer:AttrRecognizer,Tap:TapRecognizer,Pan:PanRecognizer,Swipe:SwipeRecognizer,Pinch:PinchRecognizer,Rotate:RotateRecognizer,Press:PressRecognizer,on:addEventListeners,off:removeEventListeners,each:each,merge:merge,extend:extend,inherit:inherit,bindFn:bindFn,prefixed:prefixed});if(\"function\"==TYPE_FUNCTION&&__webpack_require__(6)){!(__WEBPACK_AMD_DEFINE_RESULT__=function(){return Hammer}.call(exports,__webpack_require__,exports,module),__WEBPACK_AMD_DEFINE_RESULT__!==undefined&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__))}else if(typeof module!=\"undefined\"&&module.exports){module.exports=Hammer}else{window[exportName]=Hammer}})(window,document,\"Hammer\")},function(module,exports){(function(__webpack_amd_options__){module.exports=__webpack_amd_options__}).call(exports,{})},function(module,exports,__webpack_require__){\"use strict\";var moment=__webpack_require__(8);var uuid=__webpack_require__(12);exports.isNumber=function(object){return object instanceof Number||typeof object==\"number\"};exports.recursiveDOMDelete=function(DOMobject){if(DOMobject){while(DOMobject.hasChildNodes()===true){exports.recursiveDOMDelete(DOMobject.firstChild);DOMobject.removeChild(DOMobject.firstChild)}}};exports.giveRange=function(min,max,total,value){if(max==min){return.5}else{var scale=1/(max-min);return Math.max(0,(value-min)*scale)}};exports.isString=function(object){return object instanceof String||typeof object==\"string\"};exports.isDate=function(object){if(object instanceof Date){return true}else if(exports.isString(object)){var match=ASPDateRegex.exec(object);if(match){return true}else if(!isNaN(Date.parse(object))){return true}}return false};exports.randomUUID=function(){return uuid.v4()};exports.assignAllKeys=function(obj,value){for(var prop in obj){if(obj.hasOwnProperty(prop)){if(typeof obj[prop]!==\"object\"){obj[prop]=value}}}};exports.fillIfDefined=function(a,b){var allowDeletion=arguments[2]===undefined?false:arguments[2];for(var prop in a){if(b[prop]!==undefined){if(typeof b[prop]!==\"object\"){if((b[prop]===undefined||b[prop]===null)&&a[prop]!==undefined&&allowDeletion===true){delete a[prop]}else{a[prop]=b[prop]}}else{if(typeof a[prop]===\"object\"){exports.fillIfDefined(a[prop],b[prop],allowDeletion)}}}}};exports.protoExtend=function(a,b){for(var i=1;i<arguments.length;i++){var other=arguments[i];for(var prop in other){a[prop]=other[prop]}}return a};exports.extend=function(a,b){for(var i=1;i<arguments.length;i++){var other=arguments[i];for(var prop in other){if(other.hasOwnProperty(prop)){a[prop]=other[prop]}}}return a};exports.selectiveExtend=function(props,a,b){if(!Array.isArray(props)){throw new Error(\"Array with property names expected as first argument\")}for(var i=2;i<arguments.length;i++){var other=arguments[i];for(var p=0;p<props.length;p++){var prop=props[p];if(other.hasOwnProperty(prop)){a[prop]=other[prop]}}}return a};exports.selectiveDeepExtend=function(props,a,b){var allowDeletion=arguments[3]===undefined?false:arguments[3];if(Array.isArray(b)){throw new TypeError(\"Arrays are not supported by deepExtend\")}for(var i=2;i<arguments.length;i++){var other=arguments[i];for(var p=0;p<props.length;p++){var prop=props[p];if(other.hasOwnProperty(prop)){if(b[prop]&&b[prop].constructor===Object){if(a[prop]===undefined){a[prop]={}}if(a[prop].constructor===Object){exports.deepExtend(a[prop],b[prop],false,allowDeletion)}else{if(b[prop]===null&&a[prop]!==undefined&&allowDeletion===true){delete a[prop]}else{a[prop]=b[prop]}}}else if(Array.isArray(b[prop])){throw new TypeError(\"Arrays are not supported by deepExtend\")}else{a[prop]=b[prop]}}}}return a};exports.selectiveNotDeepExtend=function(props,a,b){var allowDeletion=arguments[3]===undefined?false:arguments[3];if(Array.isArray(b)){throw new TypeError(\"Arrays are not supported by deepExtend\")}for(var prop in b){if(b.hasOwnProperty(prop)){if(props.indexOf(prop)==-1){if(b[prop]&&b[prop].constructor===Object){if(a[prop]===undefined){a[prop]={}}if(a[prop].constructor===Object){exports.deepExtend(a[prop],b[prop])}else{if(b[prop]===null&&a[prop]!==undefined&&allowDeletion===true){delete a[prop]}else{a[prop]=b[prop]}}}else if(Array.isArray(b[prop])){throw new TypeError(\"Arrays are not supported by deepExtend\")}else{a[prop]=b[prop]}}}}return a};exports.deepExtend=function(a,b,protoExtend,allowDeletion){for(var prop in b){if(b.hasOwnProperty(prop)||protoExtend===true){if(b[prop]&&b[prop].constructor===Object){if(a[prop]===undefined){a[prop]={}}if(a[prop].constructor===Object){exports.deepExtend(a[prop],b[prop],protoExtend)}else{if(b[prop]===null&&a[prop]!==undefined&&allowDeletion===true){delete a[prop]}else{a[prop]=b[prop]}}}else if(Array.isArray(b[prop])){a[prop]=[];for(var i=0;i<b[prop].length;i++){a[prop].push(b[prop][i])}}else{a[prop]=b[prop]}}}return a};exports.equalArray=function(a,b){if(a.length!=b.length)return false;for(var i=0,len=a.length;i<len;i++){if(a[i]!=b[i])return false}return true};exports.convert=function(object,type){var match;if(object===undefined){return undefined}if(object===null){return null}if(!type){return object}if(!(typeof type===\"string\")&&!(type instanceof String)){throw new Error(\"Type must be a string\")}switch(type){case\"boolean\":case\"Boolean\":return Boolean(object);case\"number\":case\"Number\":return Number(object.valueOf());case\"string\":case\"String\":return String(object);case\"Date\":if(exports.isNumber(object)){return new Date(object)}if(object instanceof Date){return new Date(object.valueOf())}else if(moment.isMoment(object)){return new Date(object.valueOf())}if(exports.isString(object)){match=ASPDateRegex.exec(object);if(match){return new Date(Number(match[1]))}else{return moment(object).toDate()}}else{throw new Error(\"Cannot convert object of type \"+exports.getType(object)+\" to type Date\")}case\"Moment\":if(exports.isNumber(object)){return moment(object)}if(object instanceof Date){return moment(object.valueOf())}else if(moment.isMoment(object)){return moment(object)}if(exports.isString(object)){match=ASPDateRegex.exec(object);if(match){return moment(Number(match[1]))}else{return moment(object)}}else{throw new Error(\"Cannot convert object of type \"+exports.getType(object)+\" to type Date\")}case\"ISODate\":if(exports.isNumber(object)){return new Date(object)}else if(object instanceof Date){return object.toISOString()}else if(moment.isMoment(object)){return object.toDate().toISOString()}else if(exports.isString(object)){match=ASPDateRegex.exec(object);if(match){return new Date(Number(match[1])).toISOString()}else{return new Date(object).toISOString()}}else{throw new Error(\"Cannot convert object of type \"+exports.getType(object)+\" to type ISODate\")}case\"ASPDate\":if(exports.isNumber(object)){return\"/Date(\"+object+\")/\"}else if(object instanceof Date){return\"/Date(\"+object.valueOf()+\")/\"}else if(exports.isString(object)){match=ASPDateRegex.exec(object);var value;if(match){value=new Date(Number(match[1])).valueOf()}else{value=new Date(object).valueOf()}return\"/Date(\"+value+\")/\"}else{throw new Error(\"Cannot convert object of type \"+exports.getType(object)+\" to type ASPDate\")}default:throw new Error('Unknown type \"'+type+'\"')}};var ASPDateRegex=/^\\/?Date\\((\\-?\\d+)/i;exports.getType=function(object){var type=typeof object;if(type==\"object\"){if(object===null){return\"null\"}if(object instanceof Boolean){return\"Boolean\"}if(object instanceof Number){return\"Number\"}if(object instanceof String){return\"String\"}if(Array.isArray(object)){return\"Array\"}if(object instanceof Date){return\"Date\"}return\"Object\"}else if(type==\"number\"){return\"Number\"}else if(type==\"boolean\"){return\"Boolean\"}else if(type==\"string\"){return\"String\"}else if(type===undefined){return\"undefined\"}return type};exports.copyAndExtendArray=function(arr,newValue){var newArr=[];for(var i=0;i<arr.length;i++){newArr.push(arr[i])}newArr.push(newValue);return newArr};exports.copyArray=function(arr){var newArr=[];for(var i=0;i<arr.length;i++){newArr.push(arr[i])}return newArr};exports.getAbsoluteLeft=function(elem){return elem.getBoundingClientRect().left};exports.getAbsoluteTop=function(elem){return elem.getBoundingClientRect().top};exports.addClassName=function(elem,className){var classes=elem.className.split(\" \");if(classes.indexOf(className)==-1){classes.push(className);elem.className=classes.join(\" \")}};exports.removeClassName=function(elem,className){var classes=elem.className.split(\" \");var index=classes.indexOf(className);if(index!=-1){classes.splice(index,1);elem.className=classes.join(\" \")}};exports.forEach=function(object,callback){var i,len;if(Array.isArray(object)){for(i=0,len=object.length;i<len;i++){callback(object[i],i,object)}}else{for(i in object){if(object.hasOwnProperty(i)){callback(object[i],i,object)}}}};exports.toArray=function(object){var array=[];for(var prop in object){if(object.hasOwnProperty(prop))array.push(object[prop])}return array};exports.updateProperty=function(object,key,value){if(object[key]!==value){object[key]=value;return true}else{return false}};exports.addEventListener=function(element,action,listener,useCapture){if(element.addEventListener){if(useCapture===undefined)useCapture=false;if(action===\"mousewheel\"&&navigator.userAgent.indexOf(\"Firefox\")>=0){action=\"DOMMouseScroll\"}element.addEventListener(action,listener,useCapture)}else{element.attachEvent(\"on\"+action,listener)}};exports.removeEventListener=function(element,action,listener,useCapture){if(element.removeEventListener){if(useCapture===undefined)useCapture=false;if(action===\"mousewheel\"&&navigator.userAgent.indexOf(\"Firefox\")>=0){action=\"DOMMouseScroll\"}element.removeEventListener(action,listener,useCapture)}else{element.detachEvent(\"on\"+action,listener)}};exports.preventDefault=function(event){if(!event)event=window.event;if(event.preventDefault){event.preventDefault()}else{event.returnValue=false}};exports.getTarget=function(event){if(!event){event=window.event}var target;if(event.target){target=event.target}else if(event.srcElement){target=event.srcElement}if(target.nodeType!=undefined&&target.nodeType==3){target=target.parentNode}return target};exports.hasParent=function(element,parent){var e=element;while(e){if(e===parent){return true}e=e.parentNode}return false};exports.option={};exports.option.asBoolean=function(value,defaultValue){if(typeof value==\"function\"){value=value()}if(value!=null){return value!=false}return defaultValue||null};exports.option.asNumber=function(value,defaultValue){if(typeof value==\"function\"){value=value()}if(value!=null){return Number(value)||defaultValue||null}return defaultValue||null};exports.option.asString=function(value,defaultValue){if(typeof value==\"function\"){value=value()}if(value!=null){return String(value)}return defaultValue||null};exports.option.asSize=function(value,defaultValue){if(typeof value==\"function\"){value=value()}if(exports.isString(value)){return value}else if(exports.isNumber(value)){return value+\"px\"}else{return defaultValue||null}};exports.option.asElement=function(value,defaultValue){if(typeof value==\"function\"){value=value()}return value||defaultValue||null};exports.hexToRGB=function(hex){var shorthandRegex=/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;hex=hex.replace(shorthandRegex,function(m,r,g,b){return r+r+g+g+b+b});var result=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);return result?{r:parseInt(result[1],16),g:parseInt(result[2],16),b:parseInt(result[3],16)}:null};exports.overrideOpacity=function(color,opacity){if(color.indexOf(\"rgba\")!=-1){return color}else if(color.indexOf(\"rgb\")!=-1){var rgb=color.substr(color.indexOf(\"(\")+1).replace(\")\",\"\").split(\",\");return\"rgba(\"+rgb[0]+\",\"+rgb[1]+\",\"+rgb[2]+\",\"+opacity+\")\"}else{var rgb=exports.hexToRGB(color);if(rgb==null){return color}else{return\"rgba(\"+rgb.r+\",\"+rgb.g+\",\"+rgb.b+\",\"+opacity+\")\"}}};exports.RGBToHex=function(red,green,blue){return\"#\"+((1<<24)+(red<<16)+(green<<8)+blue).toString(16).slice(1)};exports.parseColor=function(color){var c;if(exports.isString(color)===true){if(exports.isValidRGB(color)===true){var rgb=color.substr(4).substr(0,color.length-5).split(\",\").map(function(value){return parseInt(value)});color=exports.RGBToHex(rgb[0],rgb[1],rgb[2])}if(exports.isValidHex(color)===true){var hsv=exports.hexToHSV(color);var lighterColorHSV={h:hsv.h,s:hsv.s*.8,v:Math.min(1,hsv.v*1.02)};var darkerColorHSV={h:hsv.h,s:Math.min(1,hsv.s*1.25),v:hsv.v*.8};var darkerColorHex=exports.HSVToHex(darkerColorHSV.h,darkerColorHSV.s,darkerColorHSV.v);var lighterColorHex=exports.HSVToHex(lighterColorHSV.h,lighterColorHSV.s,lighterColorHSV.v);c={background:color,border:darkerColorHex,highlight:{background:lighterColorHex,border:darkerColorHex},hover:{background:lighterColorHex,border:darkerColorHex}}}else{c={background:color,border:color,highlight:{background:color,border:color},hover:{background:color,border:color}}}}else{c={};c.background=color.background||undefined;c.border=color.border||undefined;if(exports.isString(color.highlight)){c.highlight={border:color.highlight,background:color.highlight}}else{c.highlight={};c.highlight.background=color.highlight&&color.highlight.background||undefined;c.highlight.border=color.highlight&&color.highlight.border||undefined}if(exports.isString(color.hover)){c.hover={border:color.hover,background:color.hover}}else{c.hover={};c.hover.background=color.hover&&color.hover.background||undefined;c.hover.border=color.hover&&color.hover.border||undefined}}return c};exports.RGBToHSV=function(red,green,blue){red=red/255;green=green/255;blue=blue/255;var minRGB=Math.min(red,Math.min(green,blue));var maxRGB=Math.max(red,Math.max(green,blue));if(minRGB==maxRGB){return{h:0,s:0,v:minRGB}}var d=red==minRGB?green-blue:blue==minRGB?red-green:blue-red;var h=red==minRGB?3:blue==minRGB?1:5;var hue=60*(h-d/(maxRGB-minRGB))/360;var saturation=(maxRGB-minRGB)/maxRGB;var value=maxRGB;return{h:hue,s:saturation,v:value}};var cssUtil={split:function split(cssText){var styles={};cssText.split(\";\").forEach(function(style){if(style.trim()!=\"\"){var parts=style.split(\":\");var key=parts[0].trim();var value=parts[1].trim();styles[key]=value}});return styles},join:function join(styles){return Object.keys(styles).map(function(key){return key+\": \"+styles[key]}).join(\"; \")}};exports.addCssText=function(element,cssText){var currentStyles=cssUtil.split(element.style.cssText);var newStyles=cssUtil.split(cssText);var styles=exports.extend(currentStyles,newStyles);element.style.cssText=cssUtil.join(styles)};exports.removeCssText=function(element,cssText){var styles=cssUtil.split(element.style.cssText);var removeStyles=cssUtil.split(cssText);for(var key in removeStyles){if(removeStyles.hasOwnProperty(key)){delete styles[key]}}element.style.cssText=cssUtil.join(styles)};exports.HSVToRGB=function(h,s,v){var r,g,b;var i=Math.floor(h*6);var f=h*6-i;var p=v*(1-s);var q=v*(1-f*s);var t=v*(1-(1-f)*s);switch(i%6){case 0:r=v,g=t,b=p;break;case 1:r=q,g=v,b=p;break;case 2:r=p,g=v,b=t;break;case 3:r=p,g=q,b=v;break;case 4:r=t,g=p,b=v;break;case 5:r=v,g=p,b=q;break}return{r:Math.floor(r*255),g:Math.floor(g*255),b:Math.floor(b*255)}};exports.HSVToHex=function(h,s,v){var rgb=exports.HSVToRGB(h,s,v);return exports.RGBToHex(rgb.r,rgb.g,rgb.b)};exports.hexToHSV=function(hex){var rgb=exports.hexToRGB(hex);return exports.RGBToHSV(rgb.r,rgb.g,rgb.b)};exports.isValidHex=function(hex){var isOk=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(hex);return isOk};exports.isValidRGB=function(rgb){rgb=rgb.replace(\" \",\"\");var isOk=/rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)/i.test(rgb);return isOk};exports.isValidRGBA=function(rgba){rgba=rgba.replace(\" \",\"\");var isOk=/rgba\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3}),(.{1,3})\\)/i.test(rgba);return isOk};exports.selectiveBridgeObject=function(fields,referenceObject){if(typeof referenceObject==\"object\"){var objectTo=Object.create(referenceObject);for(var i=0;i<fields.length;i++){if(referenceObject.hasOwnProperty(fields[i])){if(typeof referenceObject[fields[i]]==\"object\"){objectTo[fields[i]]=exports.bridgeObject(referenceObject[fields[i]])}}}return objectTo}else{return null}};exports.bridgeObject=function(referenceObject){if(typeof referenceObject==\"object\"){var objectTo=Object.create(referenceObject);for(var i in referenceObject){if(referenceObject.hasOwnProperty(i)){if(typeof referenceObject[i]==\"object\"){objectTo[i]=exports.bridgeObject(referenceObject[i])}}}return objectTo}else{return null}};exports.mergeOptions=function(mergeTarget,options,option){var allowDeletion=arguments[3]===undefined?false:arguments[3];if(options[option]===null){mergeTarget[option]=undefined;delete mergeTarget[option]}else{if(options[option]!==undefined){if(typeof options[option]===\"boolean\"){mergeTarget[option].enabled=options[option]}else{if(options[option].enabled===undefined){mergeTarget[option].enabled=true}for(var prop in options[option]){if(options[option].hasOwnProperty(prop)){mergeTarget[option][prop]=options[option][prop]}}}}}};exports.binarySearchCustom=function(orderedItems,searchFunction,field,field2){var maxIterations=1e4;var iteration=0;var low=0;var high=orderedItems.length-1;while(low<=high&&iteration<maxIterations){var middle=Math.floor((low+high)/2);var item=orderedItems[middle];var value=field2===undefined?item[field]:item[field][field2];var searchResult=searchFunction(value);if(searchResult==0){return middle}else if(searchResult==-1){low=middle+1}else{high=middle-1}iteration++}return-1};exports.binarySearchValue=function(orderedItems,target,field,sidePreference){var maxIterations=1e4;var iteration=0;var low=0;var high=orderedItems.length-1;var prevValue,value,nextValue,middle;while(low<=high&&iteration<maxIterations){middle=Math.floor(.5*(high+low));prevValue=orderedItems[Math.max(0,middle-1)][field];value=orderedItems[middle][field];nextValue=orderedItems[Math.min(orderedItems.length-1,middle+1)][field];if(value==target){return middle}else if(prevValue<target&&value>target){return sidePreference==\"before\"?Math.max(0,middle-1):middle}else if(value<target&&nextValue>target){return sidePreference==\"before\"?middle:Math.min(orderedItems.length-1,middle+1)}else{if(value<target){low=middle+1}else{high=middle-1}}iteration++}return-1};exports.easingFunctions={linear:function linear(t){return t},easeInQuad:function easeInQuad(t){return t*t},easeOutQuad:function easeOutQuad(t){return t*(2-t)},easeInOutQuad:function easeInOutQuad(t){return t<.5?2*t*t:-1+(4-2*t)*t},easeInCubic:function easeInCubic(t){return t*t*t},easeOutCubic:function easeOutCubic(t){return--t*t*t+1},easeInOutCubic:function easeInOutCubic(t){return t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function easeInQuart(t){return t*t*t*t},easeOutQuart:function easeOutQuart(t){return 1- --t*t*t*t},easeInOutQuart:function easeInOutQuart(t){return t<.5?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function easeInQuint(t){return t*t*t*t*t},easeOutQuint:function easeOutQuint(t){return 1+--t*t*t*t*t},easeInOutQuint:function easeInOutQuint(t){return t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(module,exports,__webpack_require__){\"use strict\";module.exports=typeof window!==\"undefined\"&&window[\"moment\"]||__webpack_require__(9)},function(module,exports,__webpack_require__){(function(module){(function(global,factory){true?module.exports=factory():typeof define===\"function\"&&define.amd?define(factory):global.moment=factory()})(this,function(){\"use strict\";var hookCallback;function utils_hooks__hooks(){return hookCallback.apply(null,arguments)}function setHookCallback(callback){hookCallback=callback}function isArray(input){return Object.prototype.toString.call(input)===\"[object Array]\"}function isDate(input){return input instanceof Date||Object.prototype.toString.call(input)===\"[object Date]\"}function map(arr,fn){var res=[],i;for(i=0;i<arr.length;++i){res.push(fn(arr[i],i));\n\n}return res}function hasOwnProp(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function extend(a,b){for(var i in b){if(hasOwnProp(b,i)){a[i]=b[i]}}if(hasOwnProp(b,\"toString\")){a.toString=b.toString}if(hasOwnProp(b,\"valueOf\")){a.valueOf=b.valueOf}return a}function create_utc__createUTC(input,format,locale,strict){return createLocalOrUTC(input,format,locale,strict,true).utc()}function defaultParsingFlags(){return{empty:false,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:false,invalidMonth:null,invalidFormat:false,userInvalidated:false,iso:false}}function getParsingFlags(m){if(m._pf==null){m._pf=defaultParsingFlags()}return m._pf}function valid__isValid(m){if(m._isValid==null){var flags=getParsingFlags(m);m._isValid=!isNaN(m._d.getTime())&&flags.overflow<0&&!flags.empty&&!flags.invalidMonth&&!flags.nullInput&&!flags.invalidFormat&&!flags.userInvalidated;if(m._strict){m._isValid=m._isValid&&flags.charsLeftOver===0&&flags.unusedTokens.length===0&&flags.bigHour===undefined}}return m._isValid}function valid__createInvalid(flags){var m=create_utc__createUTC(NaN);if(flags!=null){extend(getParsingFlags(m),flags)}else{getParsingFlags(m).userInvalidated=true}return m}var momentProperties=utils_hooks__hooks.momentProperties=[];function copyConfig(to,from){var i,prop,val;if(typeof from._isAMomentObject!==\"undefined\"){to._isAMomentObject=from._isAMomentObject}if(typeof from._i!==\"undefined\"){to._i=from._i}if(typeof from._f!==\"undefined\"){to._f=from._f}if(typeof from._l!==\"undefined\"){to._l=from._l}if(typeof from._strict!==\"undefined\"){to._strict=from._strict}if(typeof from._tzm!==\"undefined\"){to._tzm=from._tzm}if(typeof from._isUTC!==\"undefined\"){to._isUTC=from._isUTC}if(typeof from._offset!==\"undefined\"){to._offset=from._offset}if(typeof from._pf!==\"undefined\"){to._pf=getParsingFlags(from)}if(typeof from._locale!==\"undefined\"){to._locale=from._locale}if(momentProperties.length>0){for(i in momentProperties){prop=momentProperties[i];val=from[prop];if(typeof val!==\"undefined\"){to[prop]=val}}}return to}var updateInProgress=false;function Moment(config){copyConfig(this,config);this._d=new Date(+config._d);if(updateInProgress===false){updateInProgress=true;utils_hooks__hooks.updateOffset(this);updateInProgress=false}}function isMoment(obj){return obj instanceof Moment||obj!=null&&obj._isAMomentObject!=null}function toInt(argumentForCoercion){var coercedNumber=+argumentForCoercion,value=0;if(coercedNumber!==0&&isFinite(coercedNumber)){if(coercedNumber>=0){value=Math.floor(coercedNumber)}else{value=Math.ceil(coercedNumber)}}return value}function compareArrays(array1,array2,dontConvert){var len=Math.min(array1.length,array2.length),lengthDiff=Math.abs(array1.length-array2.length),diffs=0,i;for(i=0;i<len;i++){if(dontConvert&&array1[i]!==array2[i]||!dontConvert&&toInt(array1[i])!==toInt(array2[i])){diffs++}}return diffs+lengthDiff}function Locale(){}var locales={};var globalLocale;function normalizeLocale(key){return key?key.toLowerCase().replace(\"_\",\"-\"):key}function chooseLocale(names){var i=0,j,next,locale,split;while(i<names.length){split=normalizeLocale(names[i]).split(\"-\");j=split.length;next=normalizeLocale(names[i+1]);next=next?next.split(\"-\"):null;while(j>0){locale=loadLocale(split.slice(0,j).join(\"-\"));if(locale){return locale}if(next&&next.length>=j&&compareArrays(split,next,true)>=j-1){break}j--}i++}return null}function loadLocale(name){var oldLocale=null;if(!locales[name]&&typeof module!==\"undefined\"&&module&&module.exports){try{oldLocale=globalLocale._abbr;!function webpackMissingModule(){var e=new Error('Cannot find module \"./locale\"');e.code=\"MODULE_NOT_FOUND\";throw e}();locale_locales__getSetGlobalLocale(oldLocale)}catch(e){}}return locales[name]}function locale_locales__getSetGlobalLocale(key,values){var data;if(key){if(typeof values===\"undefined\"){data=locale_locales__getLocale(key)}else{data=defineLocale(key,values)}if(data){globalLocale=data}}return globalLocale._abbr}function defineLocale(name,values){if(values!==null){values.abbr=name;if(!locales[name]){locales[name]=new Locale}locales[name].set(values);locale_locales__getSetGlobalLocale(name);return locales[name]}else{delete locales[name];return null}}function locale_locales__getLocale(key){var locale;if(key&&key._locale&&key._locale._abbr){key=key._locale._abbr}if(!key){return globalLocale}if(!isArray(key)){locale=loadLocale(key);if(locale){return locale}key=[key]}return chooseLocale(key)}var aliases={};function addUnitAlias(unit,shorthand){var lowerCase=unit.toLowerCase();aliases[lowerCase]=aliases[lowerCase+\"s\"]=aliases[shorthand]=unit}function normalizeUnits(units){return typeof units===\"string\"?aliases[units]||aliases[units.toLowerCase()]:undefined}function normalizeObjectUnits(inputObject){var normalizedInput={},normalizedProp,prop;for(prop in inputObject){if(hasOwnProp(inputObject,prop)){normalizedProp=normalizeUnits(prop);if(normalizedProp){normalizedInput[normalizedProp]=inputObject[prop]}}}return normalizedInput}function makeGetSet(unit,keepTime){return function(value){if(value!=null){get_set__set(this,unit,value);utils_hooks__hooks.updateOffset(this,keepTime);return this}else{return get_set__get(this,unit)}}}function get_set__get(mom,unit){return mom._d[\"get\"+(mom._isUTC?\"UTC\":\"\")+unit]()}function get_set__set(mom,unit,value){return mom._d[\"set\"+(mom._isUTC?\"UTC\":\"\")+unit](value)}function getSet(units,value){var unit;if(typeof units===\"object\"){for(unit in units){this.set(unit,units[unit])}}else{units=normalizeUnits(units);if(typeof this[units]===\"function\"){return this[units](value)}}return this}function zeroFill(number,targetLength,forceSign){var output=\"\"+Math.abs(number),sign=number>=0;while(output.length<targetLength){output=\"0\"+output}return(sign?forceSign?\"+\":\"\":\"-\")+output}var formattingTokens=/(\\[[^\\[]*\\])|(\\\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g;var localFormattingTokens=/(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;var formatFunctions={};var formatTokenFunctions={};function addFormatToken(token,padded,ordinal,callback){var func=callback;if(typeof callback===\"string\"){func=function(){return this[callback]()}}if(token){formatTokenFunctions[token]=func}if(padded){formatTokenFunctions[padded[0]]=function(){return zeroFill(func.apply(this,arguments),padded[1],padded[2])}}if(ordinal){formatTokenFunctions[ordinal]=function(){return this.localeData().ordinal(func.apply(this,arguments),token)}}}function removeFormattingTokens(input){if(input.match(/\\[[\\s\\S]/)){return input.replace(/^\\[|\\]$/g,\"\")}return input.replace(/\\\\/g,\"\")}function makeFormatFunction(format){var array=format.match(formattingTokens),i,length;for(i=0,length=array.length;i<length;i++){if(formatTokenFunctions[array[i]]){array[i]=formatTokenFunctions[array[i]]}else{array[i]=removeFormattingTokens(array[i])}}return function(mom){var output=\"\";for(i=0;i<length;i++){output+=array[i]instanceof Function?array[i].call(mom,format):array[i]}return output}}function formatMoment(m,format){if(!m.isValid()){return m.localeData().invalidDate()}format=expandFormat(format,m.localeData());if(!formatFunctions[format]){formatFunctions[format]=makeFormatFunction(format)}return formatFunctions[format](m)}function expandFormat(format,locale){var i=5;function replaceLongDateFormatTokens(input){return locale.longDateFormat(input)||input}localFormattingTokens.lastIndex=0;while(i>=0&&localFormattingTokens.test(format)){format=format.replace(localFormattingTokens,replaceLongDateFormatTokens);localFormattingTokens.lastIndex=0;i-=1}return format}var match1=/\\d/;var match2=/\\d\\d/;var match3=/\\d{3}/;var match4=/\\d{4}/;var match6=/[+-]?\\d{6}/;var match1to2=/\\d\\d?/;var match1to3=/\\d{1,3}/;var match1to4=/\\d{1,4}/;var match1to6=/[+-]?\\d{1,6}/;var matchUnsigned=/\\d+/;var matchSigned=/[+-]?\\d+/;var matchOffset=/Z|[+-]\\d\\d:?\\d\\d/gi;var matchTimestamp=/[+-]?\\d+(\\.\\d{1,3})?/;var matchWord=/[0-9]*['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+|[\\u0600-\\u06FF\\/]+(\\s*?[\\u0600-\\u06FF]+){1,2}/i;var regexes={};function addRegexToken(token,regex,strictRegex){regexes[token]=typeof regex===\"function\"?regex:function(isStrict){return isStrict&&strictRegex?strictRegex:regex}}function getParseRegexForToken(token,config){if(!hasOwnProp(regexes,token)){return new RegExp(unescapeFormat(token))}return regexes[token](config._strict,config._locale)}function unescapeFormat(s){return s.replace(\"\\\\\",\"\").replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,function(matched,p1,p2,p3,p4){return p1||p2||p3||p4}).replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}var tokens={};function addParseToken(token,callback){var i,func=callback;if(typeof token===\"string\"){token=[token]}if(typeof callback===\"number\"){func=function(input,array){array[callback]=toInt(input)}}for(i=0;i<token.length;i++){tokens[token[i]]=func}}function addWeekParseToken(token,callback){addParseToken(token,function(input,array,config,token){config._w=config._w||{};callback(input,config._w,config,token)})}function addTimeToArrayFromToken(token,input,config){if(input!=null&&hasOwnProp(tokens,token)){tokens[token](input,config._a,config,token)}}var YEAR=0;var MONTH=1;var DATE=2;var HOUR=3;var MINUTE=4;var SECOND=5;var MILLISECOND=6;function daysInMonth(year,month){return new Date(Date.UTC(year,month+1,0)).getUTCDate()}addFormatToken(\"M\",[\"MM\",2],\"Mo\",function(){return this.month()+1});addFormatToken(\"MMM\",0,0,function(format){return this.localeData().monthsShort(this,format)});addFormatToken(\"MMMM\",0,0,function(format){return this.localeData().months(this,format)});addUnitAlias(\"month\",\"M\");addRegexToken(\"M\",match1to2);addRegexToken(\"MM\",match1to2,match2);addRegexToken(\"MMM\",matchWord);addRegexToken(\"MMMM\",matchWord);addParseToken([\"M\",\"MM\"],function(input,array){array[MONTH]=toInt(input)-1});addParseToken([\"MMM\",\"MMMM\"],function(input,array,config,token){var month=config._locale.monthsParse(input,token,config._strict);if(month!=null){array[MONTH]=month}else{getParsingFlags(config).invalidMonth=input}});var defaultLocaleMonths=\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\");function localeMonths(m){return this._months[m.month()]}var defaultLocaleMonthsShort=\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\");function localeMonthsShort(m){return this._monthsShort[m.month()]}function localeMonthsParse(monthName,format,strict){var i,mom,regex;if(!this._monthsParse){this._monthsParse=[];this._longMonthsParse=[];this._shortMonthsParse=[]}for(i=0;i<12;i++){mom=create_utc__createUTC([2e3,i]);if(strict&&!this._longMonthsParse[i]){this._longMonthsParse[i]=new RegExp(\"^\"+this.months(mom,\"\").replace(\".\",\"\")+\"$\",\"i\");this._shortMonthsParse[i]=new RegExp(\"^\"+this.monthsShort(mom,\"\").replace(\".\",\"\")+\"$\",\"i\")}if(!strict&&!this._monthsParse[i]){regex=\"^\"+this.months(mom,\"\")+\"|^\"+this.monthsShort(mom,\"\");this._monthsParse[i]=new RegExp(regex.replace(\".\",\"\"),\"i\")}if(strict&&format===\"MMMM\"&&this._longMonthsParse[i].test(monthName)){return i}else if(strict&&format===\"MMM\"&&this._shortMonthsParse[i].test(monthName)){return i}else if(!strict&&this._monthsParse[i].test(monthName)){return i}}}function setMonth(mom,value){var dayOfMonth;if(typeof value===\"string\"){value=mom.localeData().monthsParse(value);if(typeof value!==\"number\"){return mom}}dayOfMonth=Math.min(mom.date(),daysInMonth(mom.year(),value));mom._d[\"set\"+(mom._isUTC?\"UTC\":\"\")+\"Month\"](value,dayOfMonth);return mom}function getSetMonth(value){if(value!=null){setMonth(this,value);utils_hooks__hooks.updateOffset(this,true);return this}else{return get_set__get(this,\"Month\")}}function getDaysInMonth(){return daysInMonth(this.year(),this.month())}function checkOverflow(m){var overflow;var a=m._a;if(a&&getParsingFlags(m).overflow===-2){overflow=a[MONTH]<0||a[MONTH]>11?MONTH:a[DATE]<1||a[DATE]>daysInMonth(a[YEAR],a[MONTH])?DATE:a[HOUR]<0||a[HOUR]>24||a[HOUR]===24&&(a[MINUTE]!==0||a[SECOND]!==0||a[MILLISECOND]!==0)?HOUR:a[MINUTE]<0||a[MINUTE]>59?MINUTE:a[SECOND]<0||a[SECOND]>59?SECOND:a[MILLISECOND]<0||a[MILLISECOND]>999?MILLISECOND:-1;if(getParsingFlags(m)._overflowDayOfYear&&(overflow<YEAR||overflow>DATE)){overflow=DATE}getParsingFlags(m).overflow=overflow}return m}function warn(msg){if(utils_hooks__hooks.suppressDeprecationWarnings===false&&typeof console!==\"undefined\"&&console.warn){console.warn(\"Deprecation warning: \"+msg)}}function deprecate(msg,fn){var firstTime=true,msgWithStack=msg+\"\\n\"+(new Error).stack;return extend(function(){if(firstTime){warn(msgWithStack);firstTime=false}return fn.apply(this,arguments)},fn)}var deprecations={};function deprecateSimple(name,msg){if(!deprecations[name]){warn(msg);deprecations[name]=true}}utils_hooks__hooks.suppressDeprecationWarnings=false;var from_string__isoRegex=/^\\s*(?:[+-]\\d{6}|\\d{4})-(?:(\\d\\d-\\d\\d)|(W\\d\\d$)|(W\\d\\d-\\d)|(\\d\\d\\d))((T| )(\\d\\d(:\\d\\d(:\\d\\d(\\.\\d+)?)?)?)?([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;var isoDates=[[\"YYYYYY-MM-DD\",/[+-]\\d{6}-\\d{2}-\\d{2}/],[\"YYYY-MM-DD\",/\\d{4}-\\d{2}-\\d{2}/],[\"GGGG-[W]WW-E\",/\\d{4}-W\\d{2}-\\d/],[\"GGGG-[W]WW\",/\\d{4}-W\\d{2}/],[\"YYYY-DDD\",/\\d{4}-\\d{3}/]];var isoTimes=[[\"HH:mm:ss.SSSS\",/(T| )\\d\\d:\\d\\d:\\d\\d\\.\\d+/],[\"HH:mm:ss\",/(T| )\\d\\d:\\d\\d:\\d\\d/],[\"HH:mm\",/(T| )\\d\\d:\\d\\d/],[\"HH\",/(T| )\\d\\d/]];var aspNetJsonRegex=/^\\/?Date\\((\\-?\\d+)/i;function configFromISO(config){var i,l,string=config._i,match=from_string__isoRegex.exec(string);if(match){getParsingFlags(config).iso=true;for(i=0,l=isoDates.length;i<l;i++){if(isoDates[i][1].exec(string)){config._f=isoDates[i][0]+(match[6]||\" \");break}}for(i=0,l=isoTimes.length;i<l;i++){if(isoTimes[i][1].exec(string)){config._f+=isoTimes[i][0];break}}if(string.match(matchOffset)){config._f+=\"Z\"}configFromStringAndFormat(config)}else{config._isValid=false}}function configFromString(config){var matched=aspNetJsonRegex.exec(config._i);if(matched!==null){config._d=new Date(+matched[1]);return}configFromISO(config);if(config._isValid===false){delete config._isValid;utils_hooks__hooks.createFromInputFallback(config)}}utils_hooks__hooks.createFromInputFallback=deprecate(\"moment construction falls back to js Date. This is \"+\"discouraged and will be removed in upcoming major \"+\"release. Please refer to \"+\"https://github.com/moment/moment/issues/1407 for more info.\",function(config){config._d=new Date(config._i+(config._useUTC?\" UTC\":\"\"))});function createDate(y,m,d,h,M,s,ms){var date=new Date(y,m,d,h,M,s,ms);if(y<1970){date.setFullYear(y)}return date}function createUTCDate(y){var date=new Date(Date.UTC.apply(null,arguments));if(y<1970){date.setUTCFullYear(y)}return date}addFormatToken(0,[\"YY\",2],0,function(){return this.year()%100});addFormatToken(0,[\"YYYY\",4],0,\"year\");addFormatToken(0,[\"YYYYY\",5],0,\"year\");addFormatToken(0,[\"YYYYYY\",6,true],0,\"year\");addUnitAlias(\"year\",\"y\");addRegexToken(\"Y\",matchSigned);addRegexToken(\"YY\",match1to2,match2);addRegexToken(\"YYYY\",match1to4,match4);addRegexToken(\"YYYYY\",match1to6,match6);addRegexToken(\"YYYYYY\",match1to6,match6);addParseToken([\"YYYY\",\"YYYYY\",\"YYYYYY\"],YEAR);addParseToken(\"YY\",function(input,array){array[YEAR]=utils_hooks__hooks.parseTwoDigitYear(input)});function daysInYear(year){return isLeapYear(year)?366:365}function isLeapYear(year){return year%4===0&&year%100!==0||year%400===0}utils_hooks__hooks.parseTwoDigitYear=function(input){return toInt(input)+(toInt(input)>68?1900:2e3)};var getSetYear=makeGetSet(\"FullYear\",false);function getIsLeapYear(){return isLeapYear(this.year())}addFormatToken(\"w\",[\"ww\",2],\"wo\",\"week\");addFormatToken(\"W\",[\"WW\",2],\"Wo\",\"isoWeek\");addUnitAlias(\"week\",\"w\");addUnitAlias(\"isoWeek\",\"W\");addRegexToken(\"w\",match1to2);addRegexToken(\"ww\",match1to2,match2);addRegexToken(\"W\",match1to2);addRegexToken(\"WW\",match1to2,match2);addWeekParseToken([\"w\",\"ww\",\"W\",\"WW\"],function(input,week,config,token){week[token.substr(0,1)]=toInt(input)});function weekOfYear(mom,firstDayOfWeek,firstDayOfWeekOfYear){var end=firstDayOfWeekOfYear-firstDayOfWeek,daysToDayOfWeek=firstDayOfWeekOfYear-mom.day(),adjustedMoment;if(daysToDayOfWeek>end){daysToDayOfWeek-=7}if(daysToDayOfWeek<end-7){daysToDayOfWeek+=7}adjustedMoment=local__createLocal(mom).add(daysToDayOfWeek,\"d\");return{week:Math.ceil(adjustedMoment.dayOfYear()/7),year:adjustedMoment.year()}}function localeWeek(mom){return weekOfYear(mom,this._week.dow,this._week.doy).week}var defaultLocaleWeek={dow:0,doy:6};function localeFirstDayOfWeek(){return this._week.dow}function localeFirstDayOfYear(){return this._week.doy}function getSetWeek(input){var week=this.localeData().week(this);return input==null?week:this.add((input-week)*7,\"d\")}function getSetISOWeek(input){var week=weekOfYear(this,1,4).week;return input==null?week:this.add((input-week)*7,\"d\")}addFormatToken(\"DDD\",[\"DDDD\",3],\"DDDo\",\"dayOfYear\");addUnitAlias(\"dayOfYear\",\"DDD\");addRegexToken(\"DDD\",match1to3);addRegexToken(\"DDDD\",match3);addParseToken([\"DDD\",\"DDDD\"],function(input,array,config){config._dayOfYear=toInt(input)});function dayOfYearFromWeeks(year,week,weekday,firstDayOfWeekOfYear,firstDayOfWeek){var d=createUTCDate(year,0,1).getUTCDay();var daysToAdd;var dayOfYear;d=d===0?7:d;weekday=weekday!=null?weekday:firstDayOfWeek;daysToAdd=firstDayOfWeek-d+(d>firstDayOfWeekOfYear?7:0)-(d<firstDayOfWeek?7:0);dayOfYear=7*(week-1)+(weekday-firstDayOfWeek)+daysToAdd+1;return{year:dayOfYear>0?year:year-1,dayOfYear:dayOfYear>0?dayOfYear:daysInYear(year-1)+dayOfYear}}function getSetDayOfYear(input){var dayOfYear=Math.round((this.clone().startOf(\"day\")-this.clone().startOf(\"year\"))/864e5)+1;return input==null?dayOfYear:this.add(input-dayOfYear,\"d\")}function defaults(a,b,c){if(a!=null){return a}if(b!=null){return b}return c}function currentDateArray(config){var now=new Date;if(config._useUTC){return[now.getUTCFullYear(),now.getUTCMonth(),now.getUTCDate()]}return[now.getFullYear(),now.getMonth(),now.getDate()]}function configFromArray(config){var i,date,input=[],currentDate,yearToUse;if(config._d){return}currentDate=currentDateArray(config);if(config._w&&config._a[DATE]==null&&config._a[MONTH]==null){dayOfYearFromWeekInfo(config)}if(config._dayOfYear){yearToUse=defaults(config._a[YEAR],currentDate[YEAR]);if(config._dayOfYear>daysInYear(yearToUse)){getParsingFlags(config)._overflowDayOfYear=true}date=createUTCDate(yearToUse,0,config._dayOfYear);config._a[MONTH]=date.getUTCMonth();config._a[DATE]=date.getUTCDate()}for(i=0;i<3&&config._a[i]==null;++i){config._a[i]=input[i]=currentDate[i]}for(;i<7;i++){config._a[i]=input[i]=config._a[i]==null?i===2?1:0:config._a[i]}if(config._a[HOUR]===24&&config._a[MINUTE]===0&&config._a[SECOND]===0&&config._a[MILLISECOND]===0){config._nextDay=true;config._a[HOUR]=0}config._d=(config._useUTC?createUTCDate:createDate).apply(null,input);if(config._tzm!=null){config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm)}if(config._nextDay){config._a[HOUR]=24}}function dayOfYearFromWeekInfo(config){var w,weekYear,week,weekday,dow,doy,temp;w=config._w;if(w.GG!=null||w.W!=null||w.E!=null){dow=1;doy=4;weekYear=defaults(w.GG,config._a[YEAR],weekOfYear(local__createLocal(),1,4).year);week=defaults(w.W,1);weekday=defaults(w.E,1)}else{dow=config._locale._week.dow;doy=config._locale._week.doy;weekYear=defaults(w.gg,config._a[YEAR],weekOfYear(local__createLocal(),dow,doy).year);week=defaults(w.w,1);if(w.d!=null){weekday=w.d;if(weekday<dow){++week}}else if(w.e!=null){weekday=w.e+dow}else{weekday=dow}}temp=dayOfYearFromWeeks(weekYear,week,weekday,doy,dow);config._a[YEAR]=temp.year;config._dayOfYear=temp.dayOfYear}utils_hooks__hooks.ISO_8601=function(){};function configFromStringAndFormat(config){if(config._f===utils_hooks__hooks.ISO_8601){configFromISO(config);return}config._a=[];getParsingFlags(config).empty=true;var string=\"\"+config._i,i,parsedInput,tokens,token,skipped,stringLength=string.length,totalParsedInputLength=0;tokens=expandFormat(config._f,config._locale).match(formattingTokens)||[];for(i=0;i<tokens.length;i++){token=tokens[i];parsedInput=(string.match(getParseRegexForToken(token,config))||[])[0];if(parsedInput){skipped=string.substr(0,string.indexOf(parsedInput));if(skipped.length>0){getParsingFlags(config).unusedInput.push(skipped)}string=string.slice(string.indexOf(parsedInput)+parsedInput.length);totalParsedInputLength+=parsedInput.length}if(formatTokenFunctions[token]){if(parsedInput){getParsingFlags(config).empty=false}else{getParsingFlags(config).unusedTokens.push(token)}addTimeToArrayFromToken(token,parsedInput,config)}else if(config._strict&&!parsedInput){getParsingFlags(config).unusedTokens.push(token)}}getParsingFlags(config).charsLeftOver=stringLength-totalParsedInputLength;if(string.length>0){getParsingFlags(config).unusedInput.push(string)}if(getParsingFlags(config).bigHour===true&&config._a[HOUR]<=12&&config._a[HOUR]>0){getParsingFlags(config).bigHour=undefined}config._a[HOUR]=meridiemFixWrap(config._locale,config._a[HOUR],config._meridiem);configFromArray(config);checkOverflow(config)}function meridiemFixWrap(locale,hour,meridiem){var isPm;if(meridiem==null){return hour}if(locale.meridiemHour!=null){return locale.meridiemHour(hour,meridiem)}else if(locale.isPM!=null){isPm=locale.isPM(meridiem);if(isPm&&hour<12){hour+=12}if(!isPm&&hour===12){hour=0}return hour}else{return hour}}function configFromStringAndArray(config){var tempConfig,bestMoment,scoreToBeat,i,currentScore;if(config._f.length===0){getParsingFlags(config).invalidFormat=true;config._d=new Date(NaN);return}for(i=0;i<config._f.length;i++){currentScore=0;tempConfig=copyConfig({},config);if(config._useUTC!=null){tempConfig._useUTC=config._useUTC}tempConfig._f=config._f[i];configFromStringAndFormat(tempConfig);if(!valid__isValid(tempConfig)){continue}currentScore+=getParsingFlags(tempConfig).charsLeftOver;currentScore+=getParsingFlags(tempConfig).unusedTokens.length*10;getParsingFlags(tempConfig).score=currentScore;if(scoreToBeat==null||currentScore<scoreToBeat){scoreToBeat=currentScore;bestMoment=tempConfig}}extend(config,bestMoment||tempConfig)}function configFromObject(config){if(config._d){return}var i=normalizeObjectUnits(config._i);config._a=[i.year,i.month,i.day||i.date,i.hour,i.minute,i.second,i.millisecond];configFromArray(config)}function createFromConfig(config){var input=config._i,format=config._f,res;config._locale=config._locale||locale_locales__getLocale(config._l);if(input===null||format===undefined&&input===\"\"){return valid__createInvalid({nullInput:true})}if(typeof input===\"string\"){config._i=input=config._locale.preparse(input)}if(isMoment(input)){return new Moment(checkOverflow(input))}else if(isArray(format)){configFromStringAndArray(config)}else if(format){configFromStringAndFormat(config)}else if(isDate(input)){config._d=input}else{configFromInput(config)}res=new Moment(checkOverflow(config));if(res._nextDay){res.add(1,\"d\");res._nextDay=undefined}return res}function configFromInput(config){var input=config._i;if(input===undefined){config._d=new Date}else if(isDate(input)){config._d=new Date(+input)}else if(typeof input===\"string\"){configFromString(config)}else if(isArray(input)){config._a=map(input.slice(0),function(obj){return parseInt(obj,10)});configFromArray(config)}else if(typeof input===\"object\"){configFromObject(config)}else if(typeof input===\"number\"){config._d=new Date(input)}else{utils_hooks__hooks.createFromInputFallback(config)}}function createLocalOrUTC(input,format,locale,strict,isUTC){var c={};if(typeof locale===\"boolean\"){strict=locale;locale=undefined}c._isAMomentObject=true;c._useUTC=c._isUTC=isUTC;c._l=locale;c._i=input;c._f=format;c._strict=strict;return createFromConfig(c)}function local__createLocal(input,format,locale,strict){return createLocalOrUTC(input,format,locale,strict,false)}var prototypeMin=deprecate(\"moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548\",function(){var other=local__createLocal.apply(null,arguments);return other<this?this:other});var prototypeMax=deprecate(\"moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548\",function(){var other=local__createLocal.apply(null,arguments);return other>this?this:other});function pickBy(fn,moments){var res,i;if(moments.length===1&&isArray(moments[0])){moments=moments[0]}if(!moments.length){return local__createLocal()}res=moments[0];for(i=1;i<moments.length;++i){if(moments[i][fn](res)){res=moments[i]}}return res}function min(){var args=[].slice.call(arguments,0);return pickBy(\"isBefore\",args)}function max(){var args=[].slice.call(arguments,0);return pickBy(\"isAfter\",args)}function Duration(duration){var normalizedInput=normalizeObjectUnits(duration),years=normalizedInput.year||0,quarters=normalizedInput.quarter||0,months=normalizedInput.month||0,weeks=normalizedInput.week||0,days=normalizedInput.day||0,hours=normalizedInput.hour||0,minutes=normalizedInput.minute||0,seconds=normalizedInput.second||0,milliseconds=normalizedInput.millisecond||0;this._milliseconds=+milliseconds+seconds*1e3+minutes*6e4+hours*36e5;this._days=+days+weeks*7;this._months=+months+quarters*3+years*12;this._data={};this._locale=locale_locales__getLocale();this._bubble()}function isDuration(obj){return obj instanceof Duration}function offset(token,separator){addFormatToken(token,0,0,function(){var offset=this.utcOffset();var sign=\"+\";if(offset<0){offset=-offset;sign=\"-\"}return sign+zeroFill(~~(offset/60),2)+separator+zeroFill(~~offset%60,2)})}offset(\"Z\",\":\");offset(\"ZZ\",\"\");addRegexToken(\"Z\",matchOffset);addRegexToken(\"ZZ\",matchOffset);addParseToken([\"Z\",\"ZZ\"],function(input,array,config){config._useUTC=true;config._tzm=offsetFromString(input)});var chunkOffset=/([\\+\\-]|\\d\\d)/gi;function offsetFromString(string){var matches=(string||\"\").match(matchOffset)||[];var chunk=matches[matches.length-1]||[];var parts=(chunk+\"\").match(chunkOffset)||[\"-\",0,0];var minutes=+(parts[1]*60)+toInt(parts[2]);return parts[0]===\"+\"?minutes:-minutes}function cloneWithOffset(input,model){var res,diff;if(model._isUTC){res=model.clone();diff=(isMoment(input)||isDate(input)?+input:+local__createLocal(input))-+res;res._d.setTime(+res._d+diff);utils_hooks__hooks.updateOffset(res,false);return res}else{return local__createLocal(input).local()}return model._isUTC?local__createLocal(input).zone(model._offset||0):local__createLocal(input).local()}function getDateOffset(m){return-Math.round(m._d.getTimezoneOffset()/15)*15}utils_hooks__hooks.updateOffset=function(){};function getSetOffset(input,keepLocalTime){var offset=this._offset||0,localAdjust;if(input!=null){if(typeof input===\"string\"){input=offsetFromString(input)}if(Math.abs(input)<16){input=input*60}if(!this._isUTC&&keepLocalTime){localAdjust=getDateOffset(this)}this._offset=input;this._isUTC=true;if(localAdjust!=null){this.add(localAdjust,\"m\")}if(offset!==input){if(!keepLocalTime||this._changeInProgress){add_subtract__addSubtract(this,create__createDuration(input-offset,\"m\"),1,false)}else if(!this._changeInProgress){this._changeInProgress=true;utils_hooks__hooks.updateOffset(this,true);this._changeInProgress=null}}return this}else{return this._isUTC?offset:getDateOffset(this)}}function getSetZone(input,keepLocalTime){if(input!=null){if(typeof input!==\"string\"){input=-input}this.utcOffset(input,keepLocalTime);return this}else{return-this.utcOffset()}}function setOffsetToUTC(keepLocalTime){return this.utcOffset(0,keepLocalTime)}function setOffsetToLocal(keepLocalTime){if(this._isUTC){this.utcOffset(0,keepLocalTime);this._isUTC=false;if(keepLocalTime){this.subtract(getDateOffset(this),\"m\")}}return this}function setOffsetToParsedOffset(){if(this._tzm){this.utcOffset(this._tzm)}else if(typeof this._i===\"string\"){this.utcOffset(offsetFromString(this._i))}return this}function hasAlignedHourOffset(input){if(!input){input=0}else{input=local__createLocal(input).utcOffset()}return(this.utcOffset()-input)%60===0}function isDaylightSavingTime(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function isDaylightSavingTimeShifted(){if(this._a){var other=this._isUTC?create_utc__createUTC(this._a):local__createLocal(this._a);return this.isValid()&&compareArrays(this._a,other.toArray())>0}return false}function isLocal(){return!this._isUTC}function isUtcOffset(){return this._isUTC}function isUtc(){return this._isUTC&&this._offset===0}var aspNetRegex=/(\\-)?(?:(\\d*)\\.)?(\\d+)\\:(\\d+)(?:\\:(\\d+)\\.?(\\d{3})?)?/;var create__isoRegex=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;function create__createDuration(input,key){var duration=input,match=null,sign,ret,diffRes;if(isDuration(input)){duration={ms:input._milliseconds,d:input._days,M:input._months}}else if(typeof input===\"number\"){duration={};if(key){duration[key]=input}else{duration.milliseconds=input}}else if(!!(match=aspNetRegex.exec(input))){sign=match[1]===\"-\"?-1:1;duration={y:0,d:toInt(match[DATE])*sign,h:toInt(match[HOUR])*sign,m:toInt(match[MINUTE])*sign,s:toInt(match[SECOND])*sign,ms:toInt(match[MILLISECOND])*sign}}else if(!!(match=create__isoRegex.exec(input))){sign=match[1]===\"-\"?-1:1;duration={y:parseIso(match[2],sign),M:parseIso(match[3],sign),d:parseIso(match[4],sign),h:parseIso(match[5],sign),m:parseIso(match[6],sign),s:parseIso(match[7],sign),w:parseIso(match[8],sign)}}else if(duration==null){duration={}}else if(typeof duration===\"object\"&&(\"from\"in duration||\"to\"in duration)){diffRes=momentsDifference(local__createLocal(duration.from),local__createLocal(duration.to));duration={};duration.ms=diffRes.milliseconds;duration.M=diffRes.months}ret=new Duration(duration);if(isDuration(input)&&hasOwnProp(input,\"_locale\")){ret._locale=input._locale}return ret}create__createDuration.fn=Duration.prototype;function parseIso(inp,sign){var res=inp&&parseFloat(inp.replace(\",\",\".\"));return(isNaN(res)?0:res)*sign}function positiveMomentsDifference(base,other){var res={milliseconds:0,months:0};res.months=other.month()-base.month()+(other.year()-base.year())*12;if(base.clone().add(res.months,\"M\").isAfter(other)){--res.months}res.milliseconds=+other-+base.clone().add(res.months,\"M\");return res}function momentsDifference(base,other){var res;other=cloneWithOffset(other,base);if(base.isBefore(other)){res=positiveMomentsDifference(base,other)}else{res=positiveMomentsDifference(other,base);res.milliseconds=-res.milliseconds;res.months=-res.months}return res}function createAdder(direction,name){return function(val,period){var dur,tmp;if(period!==null&&!isNaN(+period)){deprecateSimple(name,\"moment().\"+name+\"(period, number) is deprecated. Please use moment().\"+name+\"(number, period).\");tmp=val;val=period;period=tmp}val=typeof val===\"string\"?+val:val;dur=create__createDuration(val,period);add_subtract__addSubtract(this,dur,direction);return this}}function add_subtract__addSubtract(mom,duration,isAdding,updateOffset){var milliseconds=duration._milliseconds,days=duration._days,months=duration._months;updateOffset=updateOffset==null?true:updateOffset;if(milliseconds){mom._d.setTime(+mom._d+milliseconds*isAdding)}if(days){get_set__set(mom,\"Date\",get_set__get(mom,\"Date\")+days*isAdding)}if(months){setMonth(mom,get_set__get(mom,\"Month\")+months*isAdding)}if(updateOffset){utils_hooks__hooks.updateOffset(mom,days||months)}}var add_subtract__add=createAdder(1,\"add\");var add_subtract__subtract=createAdder(-1,\"subtract\");function moment_calendar__calendar(time){var now=time||local__createLocal(),sod=cloneWithOffset(now,this).startOf(\"day\"),diff=this.diff(sod,\"days\",true),format=diff<-6?\"sameElse\":diff<-1?\"lastWeek\":diff<0?\"lastDay\":diff<1?\"sameDay\":diff<2?\"nextDay\":diff<7?\"nextWeek\":\"sameElse\";return this.format(this.localeData().calendar(format,this,local__createLocal(now)))}function clone(){return new Moment(this)}function isAfter(input,units){var inputMs;units=normalizeUnits(typeof units!==\"undefined\"?units:\"millisecond\");if(units===\"millisecond\"){input=isMoment(input)?input:local__createLocal(input);return+this>+input}else{inputMs=isMoment(input)?+input:+local__createLocal(input);\n\nreturn inputMs<+this.clone().startOf(units)}}function isBefore(input,units){var inputMs;units=normalizeUnits(typeof units!==\"undefined\"?units:\"millisecond\");if(units===\"millisecond\"){input=isMoment(input)?input:local__createLocal(input);return+this<+input}else{inputMs=isMoment(input)?+input:+local__createLocal(input);return+this.clone().endOf(units)<inputMs}}function isBetween(from,to,units){return this.isAfter(from,units)&&this.isBefore(to,units)}function isSame(input,units){var inputMs;units=normalizeUnits(units||\"millisecond\");if(units===\"millisecond\"){input=isMoment(input)?input:local__createLocal(input);return+this===+input}else{inputMs=+local__createLocal(input);return+this.clone().startOf(units)<=inputMs&&inputMs<=+this.clone().endOf(units)}}function absFloor(number){if(number<0){return Math.ceil(number)}else{return Math.floor(number)}}function diff(input,units,asFloat){var that=cloneWithOffset(input,this),zoneDelta=(that.utcOffset()-this.utcOffset())*6e4,delta,output;units=normalizeUnits(units);if(units===\"year\"||units===\"month\"||units===\"quarter\"){output=monthDiff(this,that);if(units===\"quarter\"){output=output/3}else if(units===\"year\"){output=output/12}}else{delta=this-that;output=units===\"second\"?delta/1e3:units===\"minute\"?delta/6e4:units===\"hour\"?delta/36e5:units===\"day\"?(delta-zoneDelta)/864e5:units===\"week\"?(delta-zoneDelta)/6048e5:delta}return asFloat?output:absFloor(output)}function monthDiff(a,b){var wholeMonthDiff=(b.year()-a.year())*12+(b.month()-a.month()),anchor=a.clone().add(wholeMonthDiff,\"months\"),anchor2,adjust;if(b-anchor<0){anchor2=a.clone().add(wholeMonthDiff-1,\"months\");adjust=(b-anchor)/(anchor-anchor2)}else{anchor2=a.clone().add(wholeMonthDiff+1,\"months\");adjust=(b-anchor)/(anchor2-anchor)}return-(wholeMonthDiff+adjust)}utils_hooks__hooks.defaultFormat=\"YYYY-MM-DDTHH:mm:ssZ\";function toString(){return this.clone().locale(\"en\").format(\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\")}function moment_format__toISOString(){var m=this.clone().utc();if(0<m.year()&&m.year()<=9999){if(\"function\"===typeof Date.prototype.toISOString){return this.toDate().toISOString()}else{return formatMoment(m,\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\")}}else{return formatMoment(m,\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\")}}function format(inputString){var output=formatMoment(this,inputString||utils_hooks__hooks.defaultFormat);return this.localeData().postformat(output)}function from(time,withoutSuffix){if(!this.isValid()){return this.localeData().invalidDate()}return create__createDuration({to:this,from:time}).locale(this.locale()).humanize(!withoutSuffix)}function fromNow(withoutSuffix){return this.from(local__createLocal(),withoutSuffix)}function to(time,withoutSuffix){if(!this.isValid()){return this.localeData().invalidDate()}return create__createDuration({from:this,to:time}).locale(this.locale()).humanize(!withoutSuffix)}function toNow(withoutSuffix){return this.to(local__createLocal(),withoutSuffix)}function locale(key){var newLocaleData;if(key===undefined){return this._locale._abbr}else{newLocaleData=locale_locales__getLocale(key);if(newLocaleData!=null){this._locale=newLocaleData}return this}}var lang=deprecate(\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\",function(key){if(key===undefined){return this.localeData()}else{return this.locale(key)}});function localeData(){return this._locale}function startOf(units){units=normalizeUnits(units);switch(units){case\"year\":this.month(0);case\"quarter\":case\"month\":this.date(1);case\"week\":case\"isoWeek\":case\"day\":this.hours(0);case\"hour\":this.minutes(0);case\"minute\":this.seconds(0);case\"second\":this.milliseconds(0)}if(units===\"week\"){this.weekday(0)}if(units===\"isoWeek\"){this.isoWeekday(1)}if(units===\"quarter\"){this.month(Math.floor(this.month()/3)*3)}return this}function endOf(units){units=normalizeUnits(units);if(units===undefined||units===\"millisecond\"){return this}return this.startOf(units).add(1,units===\"isoWeek\"?\"week\":units).subtract(1,\"ms\")}function to_type__valueOf(){return+this._d-(this._offset||0)*6e4}function unix(){return Math.floor(+this/1e3)}function toDate(){return this._offset?new Date(+this):this._d}function toArray(){var m=this;return[m.year(),m.month(),m.date(),m.hour(),m.minute(),m.second(),m.millisecond()]}function moment_valid__isValid(){return valid__isValid(this)}function parsingFlags(){return extend({},getParsingFlags(this))}function invalidAt(){return getParsingFlags(this).overflow}addFormatToken(0,[\"gg\",2],0,function(){return this.weekYear()%100});addFormatToken(0,[\"GG\",2],0,function(){return this.isoWeekYear()%100});function addWeekYearFormatToken(token,getter){addFormatToken(0,[token,token.length],0,getter)}addWeekYearFormatToken(\"gggg\",\"weekYear\");addWeekYearFormatToken(\"ggggg\",\"weekYear\");addWeekYearFormatToken(\"GGGG\",\"isoWeekYear\");addWeekYearFormatToken(\"GGGGG\",\"isoWeekYear\");addUnitAlias(\"weekYear\",\"gg\");addUnitAlias(\"isoWeekYear\",\"GG\");addRegexToken(\"G\",matchSigned);addRegexToken(\"g\",matchSigned);addRegexToken(\"GG\",match1to2,match2);addRegexToken(\"gg\",match1to2,match2);addRegexToken(\"GGGG\",match1to4,match4);addRegexToken(\"gggg\",match1to4,match4);addRegexToken(\"GGGGG\",match1to6,match6);addRegexToken(\"ggggg\",match1to6,match6);addWeekParseToken([\"gggg\",\"ggggg\",\"GGGG\",\"GGGGG\"],function(input,week,config,token){week[token.substr(0,2)]=toInt(input)});addWeekParseToken([\"gg\",\"GG\"],function(input,week,config,token){week[token]=utils_hooks__hooks.parseTwoDigitYear(input)});function weeksInYear(year,dow,doy){return weekOfYear(local__createLocal([year,11,31+dow-doy]),dow,doy).week}function getSetWeekYear(input){var year=weekOfYear(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return input==null?year:this.add(input-year,\"y\")}function getSetISOWeekYear(input){var year=weekOfYear(this,1,4).year;return input==null?year:this.add(input-year,\"y\")}function getISOWeeksInYear(){return weeksInYear(this.year(),1,4)}function getWeeksInYear(){var weekInfo=this.localeData()._week;return weeksInYear(this.year(),weekInfo.dow,weekInfo.doy)}addFormatToken(\"Q\",0,0,\"quarter\");addUnitAlias(\"quarter\",\"Q\");addRegexToken(\"Q\",match1);addParseToken(\"Q\",function(input,array){array[MONTH]=(toInt(input)-1)*3});function getSetQuarter(input){return input==null?Math.ceil((this.month()+1)/3):this.month((input-1)*3+this.month()%3)}addFormatToken(\"D\",[\"DD\",2],\"Do\",\"date\");addUnitAlias(\"date\",\"D\");addRegexToken(\"D\",match1to2);addRegexToken(\"DD\",match1to2,match2);addRegexToken(\"Do\",function(isStrict,locale){return isStrict?locale._ordinalParse:locale._ordinalParseLenient});addParseToken([\"D\",\"DD\"],DATE);addParseToken(\"Do\",function(input,array){array[DATE]=toInt(input.match(match1to2)[0],10)});var getSetDayOfMonth=makeGetSet(\"Date\",true);addFormatToken(\"d\",0,\"do\",\"day\");addFormatToken(\"dd\",0,0,function(format){return this.localeData().weekdaysMin(this,format)});addFormatToken(\"ddd\",0,0,function(format){return this.localeData().weekdaysShort(this,format)});addFormatToken(\"dddd\",0,0,function(format){return this.localeData().weekdays(this,format)});addFormatToken(\"e\",0,0,\"weekday\");addFormatToken(\"E\",0,0,\"isoWeekday\");addUnitAlias(\"day\",\"d\");addUnitAlias(\"weekday\",\"e\");addUnitAlias(\"isoWeekday\",\"E\");addRegexToken(\"d\",match1to2);addRegexToken(\"e\",match1to2);addRegexToken(\"E\",match1to2);addRegexToken(\"dd\",matchWord);addRegexToken(\"ddd\",matchWord);addRegexToken(\"dddd\",matchWord);addWeekParseToken([\"dd\",\"ddd\",\"dddd\"],function(input,week,config){var weekday=config._locale.weekdaysParse(input);if(weekday!=null){week.d=weekday}else{getParsingFlags(config).invalidWeekday=input}});addWeekParseToken([\"d\",\"e\",\"E\"],function(input,week,config,token){week[token]=toInt(input)});function parseWeekday(input,locale){if(typeof input===\"string\"){if(!isNaN(input)){input=parseInt(input,10)}else{input=locale.weekdaysParse(input);if(typeof input!==\"number\"){return null}}}return input}var defaultLocaleWeekdays=\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\");function localeWeekdays(m){return this._weekdays[m.day()]}var defaultLocaleWeekdaysShort=\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\");function localeWeekdaysShort(m){return this._weekdaysShort[m.day()]}var defaultLocaleWeekdaysMin=\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\");function localeWeekdaysMin(m){return this._weekdaysMin[m.day()]}function localeWeekdaysParse(weekdayName){var i,mom,regex;if(!this._weekdaysParse){this._weekdaysParse=[]}for(i=0;i<7;i++){if(!this._weekdaysParse[i]){mom=local__createLocal([2e3,1]).day(i);regex=\"^\"+this.weekdays(mom,\"\")+\"|^\"+this.weekdaysShort(mom,\"\")+\"|^\"+this.weekdaysMin(mom,\"\");this._weekdaysParse[i]=new RegExp(regex.replace(\".\",\"\"),\"i\")}if(this._weekdaysParse[i].test(weekdayName)){return i}}}function getSetDayOfWeek(input){var day=this._isUTC?this._d.getUTCDay():this._d.getDay();if(input!=null){input=parseWeekday(input,this.localeData());return this.add(input-day,\"d\")}else{return day}}function getSetLocaleDayOfWeek(input){var weekday=(this.day()+7-this.localeData()._week.dow)%7;return input==null?weekday:this.add(input-weekday,\"d\")}function getSetISODayOfWeek(input){return input==null?this.day()||7:this.day(this.day()%7?input:input-7)}addFormatToken(\"H\",[\"HH\",2],0,\"hour\");addFormatToken(\"h\",[\"hh\",2],0,function(){return this.hours()%12||12});function meridiem(token,lowercase){addFormatToken(token,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),lowercase)})}meridiem(\"a\",true);meridiem(\"A\",false);addUnitAlias(\"hour\",\"h\");function matchMeridiem(isStrict,locale){return locale._meridiemParse}addRegexToken(\"a\",matchMeridiem);addRegexToken(\"A\",matchMeridiem);addRegexToken(\"H\",match1to2);addRegexToken(\"h\",match1to2);addRegexToken(\"HH\",match1to2,match2);addRegexToken(\"hh\",match1to2,match2);addParseToken([\"H\",\"HH\"],HOUR);addParseToken([\"a\",\"A\"],function(input,array,config){config._isPm=config._locale.isPM(input);config._meridiem=input});addParseToken([\"h\",\"hh\"],function(input,array,config){array[HOUR]=toInt(input);getParsingFlags(config).bigHour=true});function localeIsPM(input){return(input+\"\").toLowerCase().charAt(0)===\"p\"}var defaultLocaleMeridiemParse=/[ap]\\.?m?\\.?/i;function localeMeridiem(hours,minutes,isLower){if(hours>11){return isLower?\"pm\":\"PM\"}else{return isLower?\"am\":\"AM\"}}var getSetHour=makeGetSet(\"Hours\",true);addFormatToken(\"m\",[\"mm\",2],0,\"minute\");addUnitAlias(\"minute\",\"m\");addRegexToken(\"m\",match1to2);addRegexToken(\"mm\",match1to2,match2);addParseToken([\"m\",\"mm\"],MINUTE);var getSetMinute=makeGetSet(\"Minutes\",false);addFormatToken(\"s\",[\"ss\",2],0,\"second\");addUnitAlias(\"second\",\"s\");addRegexToken(\"s\",match1to2);addRegexToken(\"ss\",match1to2,match2);addParseToken([\"s\",\"ss\"],SECOND);var getSetSecond=makeGetSet(\"Seconds\",false);addFormatToken(\"S\",0,0,function(){return~~(this.millisecond()/100)});addFormatToken(0,[\"SS\",2],0,function(){return~~(this.millisecond()/10)});function millisecond__milliseconds(token){addFormatToken(0,[token,3],0,\"millisecond\")}millisecond__milliseconds(\"SSS\");millisecond__milliseconds(\"SSSS\");addUnitAlias(\"millisecond\",\"ms\");addRegexToken(\"S\",match1to3,match1);addRegexToken(\"SS\",match1to3,match2);addRegexToken(\"SSS\",match1to3,match3);addRegexToken(\"SSSS\",matchUnsigned);addParseToken([\"S\",\"SS\",\"SSS\",\"SSSS\"],function(input,array){array[MILLISECOND]=toInt((\"0.\"+input)*1e3)});var getSetMillisecond=makeGetSet(\"Milliseconds\",false);addFormatToken(\"z\",0,0,\"zoneAbbr\");addFormatToken(\"zz\",0,0,\"zoneName\");function getZoneAbbr(){return this._isUTC?\"UTC\":\"\"}function getZoneName(){return this._isUTC?\"Coordinated Universal Time\":\"\"}var momentPrototype__proto=Moment.prototype;momentPrototype__proto.add=add_subtract__add;momentPrototype__proto.calendar=moment_calendar__calendar;momentPrototype__proto.clone=clone;momentPrototype__proto.diff=diff;momentPrototype__proto.endOf=endOf;momentPrototype__proto.format=format;momentPrototype__proto.from=from;momentPrototype__proto.fromNow=fromNow;momentPrototype__proto.to=to;momentPrototype__proto.toNow=toNow;momentPrototype__proto.get=getSet;momentPrototype__proto.invalidAt=invalidAt;momentPrototype__proto.isAfter=isAfter;momentPrototype__proto.isBefore=isBefore;momentPrototype__proto.isBetween=isBetween;momentPrototype__proto.isSame=isSame;momentPrototype__proto.isValid=moment_valid__isValid;momentPrototype__proto.lang=lang;momentPrototype__proto.locale=locale;momentPrototype__proto.localeData=localeData;momentPrototype__proto.max=prototypeMax;momentPrototype__proto.min=prototypeMin;momentPrototype__proto.parsingFlags=parsingFlags;momentPrototype__proto.set=getSet;momentPrototype__proto.startOf=startOf;momentPrototype__proto.subtract=add_subtract__subtract;momentPrototype__proto.toArray=toArray;momentPrototype__proto.toDate=toDate;momentPrototype__proto.toISOString=moment_format__toISOString;momentPrototype__proto.toJSON=moment_format__toISOString;momentPrototype__proto.toString=toString;momentPrototype__proto.unix=unix;momentPrototype__proto.valueOf=to_type__valueOf;momentPrototype__proto.year=getSetYear;momentPrototype__proto.isLeapYear=getIsLeapYear;momentPrototype__proto.weekYear=getSetWeekYear;momentPrototype__proto.isoWeekYear=getSetISOWeekYear;momentPrototype__proto.quarter=momentPrototype__proto.quarters=getSetQuarter;momentPrototype__proto.month=getSetMonth;momentPrototype__proto.daysInMonth=getDaysInMonth;momentPrototype__proto.week=momentPrototype__proto.weeks=getSetWeek;momentPrototype__proto.isoWeek=momentPrototype__proto.isoWeeks=getSetISOWeek;momentPrototype__proto.weeksInYear=getWeeksInYear;momentPrototype__proto.isoWeeksInYear=getISOWeeksInYear;momentPrototype__proto.date=getSetDayOfMonth;momentPrototype__proto.day=momentPrototype__proto.days=getSetDayOfWeek;momentPrototype__proto.weekday=getSetLocaleDayOfWeek;momentPrototype__proto.isoWeekday=getSetISODayOfWeek;momentPrototype__proto.dayOfYear=getSetDayOfYear;momentPrototype__proto.hour=momentPrototype__proto.hours=getSetHour;momentPrototype__proto.minute=momentPrototype__proto.minutes=getSetMinute;momentPrototype__proto.second=momentPrototype__proto.seconds=getSetSecond;momentPrototype__proto.millisecond=momentPrototype__proto.milliseconds=getSetMillisecond;momentPrototype__proto.utcOffset=getSetOffset;momentPrototype__proto.utc=setOffsetToUTC;momentPrototype__proto.local=setOffsetToLocal;momentPrototype__proto.parseZone=setOffsetToParsedOffset;momentPrototype__proto.hasAlignedHourOffset=hasAlignedHourOffset;momentPrototype__proto.isDST=isDaylightSavingTime;momentPrototype__proto.isDSTShifted=isDaylightSavingTimeShifted;momentPrototype__proto.isLocal=isLocal;momentPrototype__proto.isUtcOffset=isUtcOffset;momentPrototype__proto.isUtc=isUtc;momentPrototype__proto.isUTC=isUtc;momentPrototype__proto.zoneAbbr=getZoneAbbr;momentPrototype__proto.zoneName=getZoneName;momentPrototype__proto.dates=deprecate(\"dates accessor is deprecated. Use date instead.\",getSetDayOfMonth);momentPrototype__proto.months=deprecate(\"months accessor is deprecated. Use month instead\",getSetMonth);momentPrototype__proto.years=deprecate(\"years accessor is deprecated. Use year instead\",getSetYear);momentPrototype__proto.zone=deprecate(\"moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779\",getSetZone);var momentPrototype=momentPrototype__proto;function moment__createUnix(input){return local__createLocal(input*1e3)}function moment__createInZone(){return local__createLocal.apply(null,arguments).parseZone()}var defaultCalendar={sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"};function locale_calendar__calendar(key,mom,now){var output=this._calendar[key];return typeof output===\"function\"?output.call(mom,now):output}var defaultLongDateFormat={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY LT\",LLLL:\"dddd, MMMM D, YYYY LT\"};function longDateFormat(key){var output=this._longDateFormat[key];if(!output&&this._longDateFormat[key.toUpperCase()]){output=this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(val){return val.slice(1)});this._longDateFormat[key]=output}return output}var defaultInvalidDate=\"Invalid date\";function invalidDate(){return this._invalidDate}var defaultOrdinal=\"%d\";var defaultOrdinalParse=/\\d{1,2}/;function ordinal(number){return this._ordinal.replace(\"%d\",number)}function preParsePostFormat(string){return string}var defaultRelativeTime={future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"};function relative__relativeTime(number,withoutSuffix,string,isFuture){var output=this._relativeTime[string];return typeof output===\"function\"?output(number,withoutSuffix,string,isFuture):output.replace(/%d/i,number)}function pastFuture(diff,output){var format=this._relativeTime[diff>0?\"future\":\"past\"];return typeof format===\"function\"?format(output):format.replace(/%s/i,output)}function locale_set__set(config){var prop,i;for(i in config){prop=config[i];if(typeof prop===\"function\"){this[i]=prop}else{this[\"_\"+i]=prop}}this._ordinalParseLenient=new RegExp(this._ordinalParse.source+\"|\"+/\\d{1,2}/.source)}var prototype__proto=Locale.prototype;prototype__proto._calendar=defaultCalendar;prototype__proto.calendar=locale_calendar__calendar;prototype__proto._longDateFormat=defaultLongDateFormat;prototype__proto.longDateFormat=longDateFormat;prototype__proto._invalidDate=defaultInvalidDate;prototype__proto.invalidDate=invalidDate;prototype__proto._ordinal=defaultOrdinal;prototype__proto.ordinal=ordinal;prototype__proto._ordinalParse=defaultOrdinalParse;prototype__proto.preparse=preParsePostFormat;prototype__proto.postformat=preParsePostFormat;prototype__proto._relativeTime=defaultRelativeTime;prototype__proto.relativeTime=relative__relativeTime;prototype__proto.pastFuture=pastFuture;prototype__proto.set=locale_set__set;prototype__proto.months=localeMonths;prototype__proto._months=defaultLocaleMonths;prototype__proto.monthsShort=localeMonthsShort;prototype__proto._monthsShort=defaultLocaleMonthsShort;prototype__proto.monthsParse=localeMonthsParse;prototype__proto.week=localeWeek;prototype__proto._week=defaultLocaleWeek;prototype__proto.firstDayOfYear=localeFirstDayOfYear;prototype__proto.firstDayOfWeek=localeFirstDayOfWeek;prototype__proto.weekdays=localeWeekdays;prototype__proto._weekdays=defaultLocaleWeekdays;prototype__proto.weekdaysMin=localeWeekdaysMin;prototype__proto._weekdaysMin=defaultLocaleWeekdaysMin;prototype__proto.weekdaysShort=localeWeekdaysShort;prototype__proto._weekdaysShort=defaultLocaleWeekdaysShort;prototype__proto.weekdaysParse=localeWeekdaysParse;prototype__proto.isPM=localeIsPM;prototype__proto._meridiemParse=defaultLocaleMeridiemParse;prototype__proto.meridiem=localeMeridiem;function lists__get(format,index,field,setter){var locale=locale_locales__getLocale();var utc=create_utc__createUTC().set(setter,index);return locale[field](utc,format)}function list(format,index,field,count,setter){if(typeof format===\"number\"){index=format;format=undefined}format=format||\"\";if(index!=null){return lists__get(format,index,field,setter)}var i;var out=[];for(i=0;i<count;i++){out[i]=lists__get(format,i,field,setter)}return out}function lists__listMonths(format,index){return list(format,index,\"months\",12,\"month\")}function lists__listMonthsShort(format,index){return list(format,index,\"monthsShort\",12,\"month\")}function lists__listWeekdays(format,index){return list(format,index,\"weekdays\",7,\"day\")}function lists__listWeekdaysShort(format,index){return list(format,index,\"weekdaysShort\",7,\"day\")}function lists__listWeekdaysMin(format,index){return list(format,index,\"weekdaysMin\",7,\"day\")}locale_locales__getSetGlobalLocale(\"en\",{ordinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(number){var b=number%10,output=toInt(number%100/10)===1?\"th\":b===1?\"st\":b===2?\"nd\":b===3?\"rd\":\"th\";return number+output}});utils_hooks__hooks.lang=deprecate(\"moment.lang is deprecated. Use moment.locale instead.\",locale_locales__getSetGlobalLocale);utils_hooks__hooks.langData=deprecate(\"moment.langData is deprecated. Use moment.localeData instead.\",locale_locales__getLocale);var mathAbs=Math.abs;function duration_abs__abs(){var data=this._data;this._milliseconds=mathAbs(this._milliseconds);this._days=mathAbs(this._days);this._months=mathAbs(this._months);data.milliseconds=mathAbs(data.milliseconds);data.seconds=mathAbs(data.seconds);data.minutes=mathAbs(data.minutes);data.hours=mathAbs(data.hours);data.months=mathAbs(data.months);data.years=mathAbs(data.years);return this}function duration_add_subtract__addSubtract(duration,input,value,direction){var other=create__createDuration(input,value);duration._milliseconds+=direction*other._milliseconds;duration._days+=direction*other._days;duration._months+=direction*other._months;return duration._bubble()}function duration_add_subtract__add(input,value){return duration_add_subtract__addSubtract(this,input,value,1)}function duration_add_subtract__subtract(input,value){return duration_add_subtract__addSubtract(this,input,value,-1)}function bubble(){var milliseconds=this._milliseconds;var days=this._days;var months=this._months;var data=this._data;var seconds,minutes,hours,years=0;data.milliseconds=milliseconds%1e3;seconds=absFloor(milliseconds/1e3);data.seconds=seconds%60;minutes=absFloor(seconds/60);data.minutes=minutes%60;hours=absFloor(minutes/60);data.hours=hours%24;days+=absFloor(hours/24);years=absFloor(daysToYears(days));days-=absFloor(yearsToDays(years));months+=absFloor(days/30);days%=30;years+=absFloor(months/12);months%=12;data.days=days;data.months=months;data.years=years;return this}function daysToYears(days){return days*400/146097}function yearsToDays(years){return years*146097/400}function as(units){var days;var months;var milliseconds=this._milliseconds;units=normalizeUnits(units);if(units===\"month\"||units===\"year\"){days=this._days+milliseconds/864e5;months=this._months+daysToYears(days)*12;return units===\"month\"?months:months/12}else{days=this._days+Math.round(yearsToDays(this._months/12));switch(units){case\"week\":return days/7+milliseconds/6048e5;case\"day\":return days+milliseconds/864e5;case\"hour\":return days*24+milliseconds/36e5;case\"minute\":return days*1440+milliseconds/6e4;case\"second\":return days*86400+milliseconds/1e3;case\"millisecond\":return Math.floor(days*864e5)+milliseconds;default:throw new Error(\"Unknown unit \"+units)}}}function duration_as__valueOf(){return this._milliseconds+this._days*864e5+this._months%12*2592e6+toInt(this._months/12)*31536e6}function makeAs(alias){return function(){return this.as(alias)}}var asMilliseconds=makeAs(\"ms\");var asSeconds=makeAs(\"s\");var asMinutes=makeAs(\"m\");var asHours=makeAs(\"h\");var asDays=makeAs(\"d\");var asWeeks=makeAs(\"w\");var asMonths=makeAs(\"M\");var asYears=makeAs(\"y\");function duration_get__get(units){units=normalizeUnits(units);return this[units+\"s\"]()}function makeGetter(name){return function(){return this._data[name]}}var duration_get__milliseconds=makeGetter(\"milliseconds\");var seconds=makeGetter(\"seconds\");var minutes=makeGetter(\"minutes\");var hours=makeGetter(\"hours\");var days=makeGetter(\"days\");var months=makeGetter(\"months\");var years=makeGetter(\"years\");function weeks(){return absFloor(this.days()/7)}var round=Math.round;var thresholds={s:45,m:45,h:22,d:26,M:11};function substituteTimeAgo(string,number,withoutSuffix,isFuture,locale){return locale.relativeTime(number||1,!!withoutSuffix,string,isFuture)}function duration_humanize__relativeTime(posNegDuration,withoutSuffix,locale){var duration=create__createDuration(posNegDuration).abs();var seconds=round(duration.as(\"s\"));var minutes=round(duration.as(\"m\"));var hours=round(duration.as(\"h\"));var days=round(duration.as(\"d\"));var months=round(duration.as(\"M\"));var years=round(duration.as(\"y\"));var a=seconds<thresholds.s&&[\"s\",seconds]||minutes===1&&[\"m\"]||minutes<thresholds.m&&[\"mm\",minutes]||hours===1&&[\"h\"]||hours<thresholds.h&&[\"hh\",hours]||days===1&&[\"d\"]||days<thresholds.d&&[\"dd\",days]||months===1&&[\"M\"]||months<thresholds.M&&[\"MM\",months]||years===1&&[\"y\"]||[\"yy\",years];a[2]=withoutSuffix;a[3]=+posNegDuration>0;a[4]=locale;return substituteTimeAgo.apply(null,a)}function duration_humanize__getSetRelativeTimeThreshold(threshold,limit){if(thresholds[threshold]===undefined){return false}if(limit===undefined){return thresholds[threshold]}thresholds[threshold]=limit;return true}function humanize(withSuffix){var locale=this.localeData();var output=duration_humanize__relativeTime(this,!withSuffix,locale);if(withSuffix){output=locale.pastFuture(+this,output)}return locale.postformat(output)}var iso_string__abs=Math.abs;function iso_string__toISOString(){var Y=iso_string__abs(this.years());var M=iso_string__abs(this.months());var D=iso_string__abs(this.days());var h=iso_string__abs(this.hours());var m=iso_string__abs(this.minutes());var s=iso_string__abs(this.seconds()+this.milliseconds()/1e3);var total=this.asSeconds();if(!total){return\"P0D\"}return(total<0?\"-\":\"\")+\"P\"+(Y?Y+\"Y\":\"\")+(M?M+\"M\":\"\")+(D?D+\"D\":\"\")+(h||m||s?\"T\":\"\")+(h?h+\"H\":\"\")+(m?m+\"M\":\"\")+(s?s+\"S\":\"\")}var duration_prototype__proto=Duration.prototype;duration_prototype__proto.abs=duration_abs__abs;duration_prototype__proto.add=duration_add_subtract__add;duration_prototype__proto.subtract=duration_add_subtract__subtract;duration_prototype__proto.as=as;duration_prototype__proto.asMilliseconds=asMilliseconds;duration_prototype__proto.asSeconds=asSeconds;duration_prototype__proto.asMinutes=asMinutes;duration_prototype__proto.asHours=asHours;duration_prototype__proto.asDays=asDays;duration_prototype__proto.asWeeks=asWeeks;duration_prototype__proto.asMonths=asMonths;duration_prototype__proto.asYears=asYears;duration_prototype__proto.valueOf=duration_as__valueOf;duration_prototype__proto._bubble=bubble;duration_prototype__proto.get=duration_get__get;duration_prototype__proto.milliseconds=duration_get__milliseconds;duration_prototype__proto.seconds=seconds;duration_prototype__proto.minutes=minutes;duration_prototype__proto.hours=hours;duration_prototype__proto.days=days;duration_prototype__proto.weeks=weeks;duration_prototype__proto.months=months;duration_prototype__proto.years=years;duration_prototype__proto.humanize=humanize;duration_prototype__proto.toISOString=iso_string__toISOString;duration_prototype__proto.toString=iso_string__toISOString;duration_prototype__proto.toJSON=iso_string__toISOString;duration_prototype__proto.locale=locale;duration_prototype__proto.localeData=localeData;duration_prototype__proto.toIsoString=deprecate(\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\",iso_string__toISOString);duration_prototype__proto.lang=lang;addFormatToken(\"X\",0,0,\"unix\");addFormatToken(\"x\",0,0,\"valueOf\");addRegexToken(\"x\",matchSigned);addRegexToken(\"X\",matchTimestamp);addParseToken(\"X\",function(input,array,config){config._d=new Date(parseFloat(input,10)*1e3)});addParseToken(\"x\",function(input,array,config){config._d=new Date(toInt(input))});utils_hooks__hooks.version=\"2.10.3\";setHookCallback(local__createLocal);utils_hooks__hooks.fn=momentPrototype;utils_hooks__hooks.min=min;utils_hooks__hooks.max=max;utils_hooks__hooks.utc=create_utc__createUTC;utils_hooks__hooks.unix=moment__createUnix;utils_hooks__hooks.months=lists__listMonths;utils_hooks__hooks.isDate=isDate;utils_hooks__hooks.locale=locale_locales__getSetGlobalLocale;utils_hooks__hooks.invalid=valid__createInvalid;utils_hooks__hooks.duration=create__createDuration;utils_hooks__hooks.isMoment=isMoment;utils_hooks__hooks.weekdays=lists__listWeekdays;utils_hooks__hooks.parseZone=moment__createInZone;utils_hooks__hooks.localeData=locale_locales__getLocale;utils_hooks__hooks.isDuration=isDuration;utils_hooks__hooks.monthsShort=lists__listMonthsShort;utils_hooks__hooks.weekdaysMin=lists__listWeekdaysMin;utils_hooks__hooks.defineLocale=defineLocale;utils_hooks__hooks.weekdaysShort=lists__listWeekdaysShort;utils_hooks__hooks.normalizeUnits=normalizeUnits;utils_hooks__hooks.relativeTimeThreshold=duration_humanize__getSetRelativeTimeThreshold;var _moment=utils_hooks__hooks;return _moment})}).call(exports,__webpack_require__(10)(module))},function(module,exports){module.exports=function(module){if(!module.webpackPolyfill){module.deprecate=function(){};module.paths=[];module.children=[];module.webpackPolyfill=1}return module}},function(module,exports){function webpackContext(req){throw new Error(\"Cannot find module '\"+req+\"'.\")}webpackContext.keys=function(){return[]};webpackContext.resolve=webpackContext;module.exports=webpackContext;webpackContext.id=11},function(module,exports){(function(global){\"use strict\";var _rng;var globalVar=typeof window!==\"undefined\"?window:typeof global!==\"undefined\"?global:null;if(globalVar&&globalVar.crypto&&crypto.getRandomValues){var _rnds8=new Uint8Array(16);_rng=function whatwgRNG(){crypto.getRandomValues(_rnds8);return _rnds8}}if(!_rng){var _rnds=new Array(16);_rng=function(){for(var i=0,r;i<16;i++){if((i&3)===0)r=Math.random()*4294967296;_rnds[i]=r>>>((i&3)<<3)&255}return _rnds}}var _byteToHex=[];var _hexToByte={};for(var i=0;i<256;i++){_byteToHex[i]=(i+256).toString(16).substr(1);_hexToByte[_byteToHex[i]]=i}function parse(s,buf,offset){var i=buf&&offset||0,ii=0;buf=buf||[];s.toLowerCase().replace(/[0-9a-f]{2}/g,function(oct){if(ii<16){buf[i+ii++]=_hexToByte[oct]}});while(ii<16){buf[i+ii++]=0}return buf}function unparse(buf,offset){var i=offset||0,bth=_byteToHex;return bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+\"-\"+bth[buf[i++]]+bth[buf[i++]]+\"-\"+bth[buf[i++]]+bth[buf[i++]]+\"-\"+bth[buf[i++]]+bth[buf[i++]]+\"-\"+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]+bth[buf[i++]]}var _seedBytes=_rng();var _nodeId=[_seedBytes[0]|1,_seedBytes[1],_seedBytes[2],_seedBytes[3],_seedBytes[4],_seedBytes[5]];var _clockseq=(_seedBytes[6]<<8|_seedBytes[7])&16383;var _lastMSecs=0,_lastNSecs=0;function v1(options,buf,offset){var i=buf&&offset||0;var b=buf||[];options=options||{};var clockseq=options.clockseq!==undefined?options.clockseq:_clockseq;var msecs=options.msecs!==undefined?options.msecs:(new Date).getTime();var nsecs=options.nsecs!==undefined?options.nsecs:_lastNSecs+1;var dt=msecs-_lastMSecs+(nsecs-_lastNSecs)/1e4;if(dt<0&&options.clockseq===undefined){clockseq=clockseq+1&16383}if((dt<0||msecs>_lastMSecs)&&options.nsecs===undefined){nsecs=0}if(nsecs>=1e4){throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\")}_lastMSecs=msecs;_lastNSecs=nsecs;_clockseq=clockseq;msecs+=122192928e5;var tl=((msecs&268435455)*1e4+nsecs)%4294967296;b[i++]=tl>>>24&255;b[i++]=tl>>>16&255;b[i++]=tl>>>8&255;b[i++]=tl&255;var tmh=msecs/4294967296*1e4&268435455;b[i++]=tmh>>>8&255;b[i++]=tmh&255;b[i++]=tmh>>>24&15|16;b[i++]=tmh>>>16&255;b[i++]=clockseq>>>8|128;b[i++]=clockseq&255;var node=options.node||_nodeId;for(var n=0;n<6;n++){b[i+n]=node[n]}return buf?buf:unparse(b)}function v4(options,buf,offset){var i=buf&&offset||0;if(typeof options==\"string\"){buf=options==\"binary\"?new Array(16):null;options=null}options=options||{};var rnds=options.random||(options.rng||_rng)();rnds[6]=rnds[6]&15|64;rnds[8]=rnds[8]&63|128;if(buf){for(var ii=0;ii<16;ii++){buf[i+ii]=rnds[ii]}}return buf||unparse(rnds)}var uuid=v4;uuid.v1=v1;uuid.v4=v4;uuid.parse=parse;uuid.unparse=unparse;module.exports=uuid}).call(exports,function(){return this}())},function(module,exports){\"use strict\";exports.prepareElements=function(JSONcontainer){for(var elementType in JSONcontainer){if(JSONcontainer.hasOwnProperty(elementType)){JSONcontainer[elementType].redundant=JSONcontainer[elementType].used;JSONcontainer[elementType].used=[]}}};exports.cleanupElements=function(JSONcontainer){for(var elementType in JSONcontainer){if(JSONcontainer.hasOwnProperty(elementType)){if(JSONcontainer[elementType].redundant){for(var i=0;i<JSONcontainer[elementType].redundant.length;i++){JSONcontainer[elementType].redundant[i].parentNode.removeChild(JSONcontainer[elementType].redundant[i]);\n\n}JSONcontainer[elementType].redundant=[]}}}};exports.getSVGElement=function(elementType,JSONcontainer,svgContainer){var element;if(JSONcontainer.hasOwnProperty(elementType)){if(JSONcontainer[elementType].redundant.length>0){element=JSONcontainer[elementType].redundant[0];JSONcontainer[elementType].redundant.shift()}else{element=document.createElementNS(\"http://www.w3.org/2000/svg\",elementType);svgContainer.appendChild(element)}}else{element=document.createElementNS(\"http://www.w3.org/2000/svg\",elementType);JSONcontainer[elementType]={used:[],redundant:[]};svgContainer.appendChild(element)}JSONcontainer[elementType].used.push(element);return element};exports.getDOMElement=function(elementType,JSONcontainer,DOMContainer,insertBefore){var element;if(JSONcontainer.hasOwnProperty(elementType)){if(JSONcontainer[elementType].redundant.length>0){element=JSONcontainer[elementType].redundant[0];JSONcontainer[elementType].redundant.shift()}else{element=document.createElement(elementType);if(insertBefore!==undefined){DOMContainer.insertBefore(element,insertBefore)}else{DOMContainer.appendChild(element)}}}else{element=document.createElement(elementType);JSONcontainer[elementType]={used:[],redundant:[]};if(insertBefore!==undefined){DOMContainer.insertBefore(element,insertBefore)}else{DOMContainer.appendChild(element)}}JSONcontainer[elementType].used.push(element);return element};exports.drawPoint=function(x,y,groupTemplate,JSONcontainer,svgContainer,labelObj){var point;if(groupTemplate.style==\"circle\"){point=exports.getSVGElement(\"circle\",JSONcontainer,svgContainer);point.setAttributeNS(null,\"cx\",x);point.setAttributeNS(null,\"cy\",y);point.setAttributeNS(null,\"r\",.5*groupTemplate.size)}else{point=exports.getSVGElement(\"rect\",JSONcontainer,svgContainer);point.setAttributeNS(null,\"x\",x-.5*groupTemplate.size);point.setAttributeNS(null,\"y\",y-.5*groupTemplate.size);point.setAttributeNS(null,\"width\",groupTemplate.size);point.setAttributeNS(null,\"height\",groupTemplate.size)}if(groupTemplate.style!==undefined){point.setAttributeNS(null,\"style\",groupTemplate.style)}point.setAttributeNS(null,\"class\",groupTemplate.className+\" vis-point\");if(labelObj){var label=exports.getSVGElement(\"text\",JSONcontainer,svgContainer);if(labelObj.xOffset){x=x+labelObj.xOffset}if(labelObj.yOffset){y=y+labelObj.yOffset}if(labelObj.content){label.textContent=labelObj.content}if(labelObj.className){label.setAttributeNS(null,\"class\",labelObj.className+\" vis-label\")}label.setAttributeNS(null,\"x\",x);label.setAttributeNS(null,\"y\",y)}return point};exports.drawBar=function(x,y,width,height,className,JSONcontainer,svgContainer,style){if(height!=0){if(height<0){height*=-1;y-=height}var rect=exports.getSVGElement(\"rect\",JSONcontainer,svgContainer);rect.setAttributeNS(null,\"x\",x-.5*width);rect.setAttributeNS(null,\"y\",y);rect.setAttributeNS(null,\"width\",width);rect.setAttributeNS(null,\"height\",height);rect.setAttributeNS(null,\"class\",className);if(style){rect.setAttributeNS(null,\"style\",style)}}}},function(module,exports,__webpack_require__){\"use strict\";var util=__webpack_require__(7);var Queue=__webpack_require__(15);function DataSet(data,options){if(data&&!Array.isArray(data)){options=data;data=null}this._options=options||{};this._data={};this.length=0;this._fieldId=this._options.fieldId||\"id\";this._type={};if(this._options.type){for(var field in this._options.type){if(this._options.type.hasOwnProperty(field)){var value=this._options.type[field];if(value==\"Date\"||value==\"ISODate\"||value==\"ASPDate\"){this._type[field]=\"Date\"}else{this._type[field]=value}}}}if(this._options.convert){throw new Error('Option \"convert\" is deprecated. Use \"type\" instead.')}this._subscribers={};if(data){this.add(data)}this.setOptions(options)}DataSet.prototype.setOptions=function(options){if(options&&options.queue!==undefined){if(options.queue===false){if(this._queue){this._queue.destroy();delete this._queue}}else{if(!this._queue){this._queue=Queue.extend(this,{replace:[\"add\",\"update\",\"remove\"]})}if(typeof options.queue===\"object\"){this._queue.setOptions(options.queue)}}}};DataSet.prototype.on=function(event,callback){var subscribers=this._subscribers[event];if(!subscribers){subscribers=[];this._subscribers[event]=subscribers}subscribers.push({callback:callback})};DataSet.prototype.subscribe=function(){throw new Error(\"DataSet.subscribe is deprecated. Use DataSet.on instead.\")};DataSet.prototype.off=function(event,callback){var subscribers=this._subscribers[event];if(subscribers){this._subscribers[event]=subscribers.filter(function(listener){return listener.callback!=callback})}};DataSet.prototype.unsubscribe=function(){throw new Error(\"DataSet.unsubscribe is deprecated. Use DataSet.off instead.\")};DataSet.prototype._trigger=function(event,params,senderId){if(event==\"*\"){throw new Error(\"Cannot trigger event *\")}var subscribers=[];if(event in this._subscribers){subscribers=subscribers.concat(this._subscribers[event])}if(\"*\"in this._subscribers){subscribers=subscribers.concat(this._subscribers[\"*\"])}for(var i=0;i<subscribers.length;i++){var subscriber=subscribers[i];if(subscriber.callback){subscriber.callback(event,params,senderId||null)}}};DataSet.prototype.add=function(data,senderId){var addedIds=[],id,me=this;if(Array.isArray(data)){for(var i=0,len=data.length;i<len;i++){id=me._addItem(data[i]);addedIds.push(id)}}else if(data instanceof Object){id=me._addItem(data);addedIds.push(id)}else{throw new Error(\"Unknown dataType\")}if(addedIds.length){this._trigger(\"add\",{items:addedIds},senderId)}return addedIds};DataSet.prototype.update=function(data,senderId){var addedIds=[];var updatedIds=[];var updatedData=[];var me=this;var fieldId=me._fieldId;var addOrUpdate=function addOrUpdate(item){var id=item[fieldId];if(me._data[id]){id=me._updateItem(item);updatedIds.push(id);updatedData.push(item)}else{id=me._addItem(item);addedIds.push(id)}};if(Array.isArray(data)){for(var i=0,len=data.length;i<len;i++){addOrUpdate(data[i])}}else if(data instanceof Object){addOrUpdate(data)}else{throw new Error(\"Unknown dataType\")}if(addedIds.length){this._trigger(\"add\",{items:addedIds},senderId)}if(updatedIds.length){this._trigger(\"update\",{items:updatedIds,data:updatedData},senderId)}return addedIds.concat(updatedIds)};DataSet.prototype.get=function(args){var me=this;var id,ids,options;var firstType=util.getType(arguments[0]);if(firstType==\"String\"||firstType==\"Number\"){id=arguments[0];options=arguments[1]}else if(firstType==\"Array\"){ids=arguments[0];options=arguments[1]}else{options=arguments[0]}var returnType;if(options&&options.returnType){var allowedValues=[\"Array\",\"Object\"];returnType=allowedValues.indexOf(options.returnType)==-1?\"Array\":options.returnType}else{returnType=\"Array\"}var type=options&&options.type||this._options.type;var filter=options&&options.filter;var items=[],item,itemId,i,len;if(id!=undefined){item=me._getItem(id,type);if(filter&&!filter(item)){item=null}}else if(ids!=undefined){for(i=0,len=ids.length;i<len;i++){item=me._getItem(ids[i],type);if(!filter||filter(item)){items.push(item)}}}else{for(itemId in this._data){if(this._data.hasOwnProperty(itemId)){item=me._getItem(itemId,type);if(!filter||filter(item)){items.push(item)}}}}if(options&&options.order&&id==undefined){this._sort(items,options.order)}if(options&&options.fields){var fields=options.fields;if(id!=undefined){item=this._filterFields(item,fields)}else{for(i=0,len=items.length;i<len;i++){items[i]=this._filterFields(items[i],fields)}}}if(returnType==\"Object\"){var result={};for(i=0;i<items.length;i++){result[items[i].id]=items[i]}return result}else{if(id!=undefined){return item}else{return items}}};DataSet.prototype.getIds=function(options){var data=this._data,filter=options&&options.filter,order=options&&options.order,type=options&&options.type||this._options.type,i,len,id,item,items,ids=[];if(filter){if(order){items=[];for(id in data){if(data.hasOwnProperty(id)){item=this._getItem(id,type);if(filter(item)){items.push(item)}}}this._sort(items,order);for(i=0,len=items.length;i<len;i++){ids[i]=items[i][this._fieldId]}}else{for(id in data){if(data.hasOwnProperty(id)){item=this._getItem(id,type);if(filter(item)){ids.push(item[this._fieldId])}}}}}else{if(order){items=[];for(id in data){if(data.hasOwnProperty(id)){items.push(data[id])}}this._sort(items,order);for(i=0,len=items.length;i<len;i++){ids[i]=items[i][this._fieldId]}}else{for(id in data){if(data.hasOwnProperty(id)){item=data[id];ids.push(item[this._fieldId])}}}}return ids};DataSet.prototype.getDataSet=function(){return this};DataSet.prototype.forEach=function(callback,options){var filter=options&&options.filter,type=options&&options.type||this._options.type,data=this._data,item,id;if(options&&options.order){var items=this.get(options);for(var i=0,len=items.length;i<len;i++){item=items[i];id=item[this._fieldId];callback(item,id)}}else{for(id in data){if(data.hasOwnProperty(id)){item=this._getItem(id,type);if(!filter||filter(item)){callback(item,id)}}}}};DataSet.prototype.map=function(callback,options){var filter=options&&options.filter,type=options&&options.type||this._options.type,mappedItems=[],data=this._data,item;for(var id in data){if(data.hasOwnProperty(id)){item=this._getItem(id,type);if(!filter||filter(item)){mappedItems.push(callback(item,id))}}}if(options&&options.order){this._sort(mappedItems,options.order)}return mappedItems};DataSet.prototype._filterFields=function(item,fields){if(!item){return item}var filteredItem={};if(Array.isArray(fields)){for(var field in item){if(item.hasOwnProperty(field)&&fields.indexOf(field)!=-1){filteredItem[field]=item[field]}}}else{for(var field in item){if(item.hasOwnProperty(field)&&fields.hasOwnProperty(field)){filteredItem[fields[field]]=item[field]}}}return filteredItem};DataSet.prototype._sort=function(items,order){if(util.isString(order)){var name=order;items.sort(function(a,b){var av=a[name];var bv=b[name];return av>bv?1:av<bv?-1:0})}else if(typeof order===\"function\"){items.sort(order)}else{throw new TypeError(\"Order must be a function or a string\")}};DataSet.prototype.remove=function(id,senderId){var removedIds=[],i,len,removedId;if(Array.isArray(id)){for(i=0,len=id.length;i<len;i++){removedId=this._remove(id[i]);if(removedId!=null){removedIds.push(removedId)}}}else{removedId=this._remove(id);if(removedId!=null){removedIds.push(removedId)}}if(removedIds.length){this._trigger(\"remove\",{items:removedIds},senderId)}return removedIds};DataSet.prototype._remove=function(id){if(util.isNumber(id)||util.isString(id)){if(this._data[id]){delete this._data[id];this.length--;return id}}else if(id instanceof Object){var itemId=id[this._fieldId];if(itemId&&this._data[itemId]){delete this._data[itemId];this.length--;return itemId}}return null};DataSet.prototype.clear=function(senderId){var ids=Object.keys(this._data);this._data={};this.length=0;this._trigger(\"remove\",{items:ids},senderId);return ids};DataSet.prototype.max=function(field){var data=this._data,max=null,maxField=null;for(var id in data){if(data.hasOwnProperty(id)){var item=data[id];var itemField=item[field];if(itemField!=null&&(!max||itemField>maxField)){max=item;maxField=itemField}}}return max};DataSet.prototype.min=function(field){var data=this._data,min=null,minField=null;for(var id in data){if(data.hasOwnProperty(id)){var item=data[id];var itemField=item[field];if(itemField!=null&&(!min||itemField<minField)){min=item;minField=itemField}}}return min};DataSet.prototype.distinct=function(field){var data=this._data;var values=[];var fieldType=this._options.type&&this._options.type[field]||null;var count=0;var i;for(var prop in data){if(data.hasOwnProperty(prop)){var item=data[prop];var value=item[field];var exists=false;for(i=0;i<count;i++){if(values[i]==value){exists=true;break}}if(!exists&&value!==undefined){values[count]=value;count++}}}if(fieldType){for(i=0;i<values.length;i++){values[i]=util.convert(values[i],fieldType)}}return values};DataSet.prototype._addItem=function(item){var id=item[this._fieldId];if(id!=undefined){if(this._data[id]){throw new Error(\"Cannot add item: item with id \"+id+\" already exists\")}}else{id=util.randomUUID();item[this._fieldId]=id}var d={};for(var field in item){if(item.hasOwnProperty(field)){var fieldType=this._type[field];d[field]=util.convert(item[field],fieldType)}}this._data[id]=d;this.length++;return id};DataSet.prototype._getItem=function(id,types){var field,value;var raw=this._data[id];if(!raw){return null}var converted={};if(types){for(field in raw){if(raw.hasOwnProperty(field)){value=raw[field];converted[field]=util.convert(value,types[field])}}}else{for(field in raw){if(raw.hasOwnProperty(field)){value=raw[field];converted[field]=value}}}return converted};DataSet.prototype._updateItem=function(item){var id=item[this._fieldId];if(id==undefined){throw new Error(\"Cannot update item: item has no id (item: \"+JSON.stringify(item)+\")\")}var d=this._data[id];if(!d){throw new Error(\"Cannot update item: no item with id \"+id+\" found\")}for(var field in item){if(item.hasOwnProperty(field)){var fieldType=this._type[field];d[field]=util.convert(item[field],fieldType)}}return id};module.exports=DataSet},function(module,exports){\"use strict\";function Queue(options){this.delay=null;this.max=Infinity;this._queue=[];this._timeout=null;this._extended=null;this.setOptions(options)}Queue.prototype.setOptions=function(options){if(options&&typeof options.delay!==\"undefined\"){this.delay=options.delay}if(options&&typeof options.max!==\"undefined\"){this.max=options.max}this._flushIfNeeded()};Queue.extend=function(object,options){var queue=new Queue(options);if(object.flush!==undefined){throw new Error(\"Target object already has a property flush\")}object.flush=function(){queue.flush()};var methods=[{name:\"flush\",original:undefined}];if(options&&options.replace){for(var i=0;i<options.replace.length;i++){var name=options.replace[i];methods.push({name:name,original:object[name]});queue.replace(object,name)}}queue._extended={object:object,methods:methods};return queue};Queue.prototype.destroy=function(){this.flush();if(this._extended){var object=this._extended.object;var methods=this._extended.methods;for(var i=0;i<methods.length;i++){var method=methods[i];if(method.original){object[method.name]=method.original}else{delete object[method.name]}}this._extended=null}};Queue.prototype.replace=function(object,method){var me=this;var original=object[method];if(!original){throw new Error(\"Method \"+method+\" undefined\")}object[method]=function(){var args=[];for(var i=0;i<arguments.length;i++){args[i]=arguments[i]}me.queue({args:args,fn:original,context:this})}};Queue.prototype.queue=function(entry){if(typeof entry===\"function\"){this._queue.push({fn:entry})}else{this._queue.push(entry)}this._flushIfNeeded()};Queue.prototype._flushIfNeeded=function(){if(this._queue.length>this.max){this.flush()}clearTimeout(this._timeout);if(this.queue.length>0&&typeof this.delay===\"number\"){var me=this;this._timeout=setTimeout(function(){me.flush()},this.delay)}};Queue.prototype.flush=function(){while(this._queue.length>0){var entry=this._queue.shift();entry.fn.apply(entry.context||entry.fn,entry.args||[])}};module.exports=Queue},function(module,exports,__webpack_require__){\"use strict\";var util=__webpack_require__(7);var DataSet=__webpack_require__(14);function DataView(data,options){this._data=null;this._ids={};this.length=0;this._options=options||{};this._fieldId=\"id\";this._subscribers={};var me=this;this.listener=function(){me._onEvent.apply(me,arguments)};this.setData(data)}DataView.prototype.setData=function(data){var ids,i,len;if(this._data){if(this._data.off){this._data.off(\"*\",this.listener)}ids=[];for(var id in this._ids){if(this._ids.hasOwnProperty(id)){ids.push(id)}}this._ids={};this.length=0;this._trigger(\"remove\",{items:ids})}this._data=data;if(this._data){this._fieldId=this._options.fieldId||this._data&&this._data.options&&this._data.options.fieldId||\"id\";ids=this._data.getIds({filter:this._options&&this._options.filter});for(i=0,len=ids.length;i<len;i++){id=ids[i];this._ids[id]=true}this.length=ids.length;this._trigger(\"add\",{items:ids});if(this._data.on){this._data.on(\"*\",this.listener)}}};DataView.prototype.refresh=function(){var id;var ids=this._data.getIds({filter:this._options&&this._options.filter});var newIds={};var added=[];var removed=[];for(var i=0;i<ids.length;i++){id=ids[i];newIds[id]=true;if(!this._ids[id]){added.push(id);this._ids[id]=true;this.length++}}for(id in this._ids){if(this._ids.hasOwnProperty(id)){if(!newIds[id]){removed.push(id);delete this._ids[id];this.length--}}}if(added.length){this._trigger(\"add\",{items:added})}if(removed.length){this._trigger(\"remove\",{items:removed})}};DataView.prototype.get=function(args){var me=this;var ids,options,data;var firstType=util.getType(arguments[0]);if(firstType==\"String\"||firstType==\"Number\"||firstType==\"Array\"){ids=arguments[0];options=arguments[1];data=arguments[2]}else{options=arguments[0];data=arguments[1]}var viewOptions=util.extend({},this._options,options);if(this._options.filter&&options&&options.filter){viewOptions.filter=function(item){return me._options.filter(item)&&options.filter(item)}}var getArguments=[];if(ids!=undefined){getArguments.push(ids)}getArguments.push(viewOptions);getArguments.push(data);return this._data&&this._data.get.apply(this._data,getArguments)};DataView.prototype.getIds=function(options){var ids;if(this._data){var defaultFilter=this._options.filter;var filter;if(options&&options.filter){if(defaultFilter){filter=function(item){return defaultFilter(item)&&options.filter(item)}}else{filter=options.filter}}else{filter=defaultFilter}ids=this._data.getIds({filter:filter,order:options&&options.order})}else{ids=[]}return ids};DataView.prototype.getDataSet=function(){var dataSet=this;while(dataSet instanceof DataView){dataSet=dataSet._data}return dataSet||null};DataView.prototype._onEvent=function(event,params,senderId){var i,len,id,item;var ids=params&¶ms.items;var data=this._data;var updatedData=[];var added=[];var updated=[];var removed=[];if(ids&&data){switch(event){case\"add\":for(i=0,len=ids.length;i<len;i++){id=ids[i];item=this.get(id);if(item){this._ids[id]=true;added.push(id)}}break;case\"update\":for(i=0,len=ids.length;i<len;i++){id=ids[i];item=this.get(id);if(item){if(this._ids[id]){updated.push(id);updatedData.push(params.data[i])}else{this._ids[id]=true;added.push(id)}}else{if(this._ids[id]){delete this._ids[id];removed.push(id)}else{}}}break;case\"remove\":for(i=0,len=ids.length;i<len;i++){id=ids[i];if(this._ids[id]){delete this._ids[id];removed.push(id)}}break}this.length+=added.length-removed.length;if(added.length){this._trigger(\"add\",{items:added},senderId)}if(updated.length){this._trigger(\"update\",{items:updated,data:updatedData},senderId)}if(removed.length){this._trigger(\"remove\",{items:removed},senderId)}}};DataView.prototype.on=DataSet.prototype.on;DataView.prototype.off=DataSet.prototype.off;DataView.prototype._trigger=DataSet.prototype._trigger;DataView.prototype.subscribe=DataView.prototype.on;DataView.prototype.unsubscribe=DataView.prototype.off;module.exports=DataView},function(module,exports,__webpack_require__){\"use strict\";var Emitter=__webpack_require__(19);var DataSet=__webpack_require__(14);var DataView=__webpack_require__(16);var util=__webpack_require__(7);var Point3d=__webpack_require__(20);var Point2d=__webpack_require__(18);var Camera=__webpack_require__(21);var Filter=__webpack_require__(22);var Slider=__webpack_require__(23);var StepNumber=__webpack_require__(24);function Graph3d(container,data,options){if(!(this instanceof Graph3d)){throw new SyntaxError(\"Constructor must be called with the new operator\")}this.containerElement=container;this.width=\"400px\";this.height=\"400px\";this.margin=10;this.defaultXCenter=\"55%\";this.defaultYCenter=\"50%\";this.xLabel=\"x\";this.yLabel=\"y\";this.zLabel=\"z\";var passValueFn=function passValueFn(v){return v};this.xValueLabel=passValueFn;this.yValueLabel=passValueFn;this.zValueLabel=passValueFn;this.filterLabel=\"time\";this.legendLabel=\"value\";this.style=Graph3d.STYLE.DOT;this.showPerspective=true;this.showGrid=true;this.keepAspectRatio=true;this.showShadow=false;this.showGrayBottom=false;this.showTooltip=false;this.verticalRatio=.5;this.animationInterval=1e3;this.animationPreload=false;this.camera=new Camera;this.camera.setArmRotation(1,.5);this.camera.setArmLength(1.7);this.eye=new Point3d(0,0,-1);this.dataTable=null;this.dataPoints=null;this.colX=undefined;this.colY=undefined;this.colZ=undefined;this.colValue=undefined;this.colFilter=undefined;this.xMin=0;this.xStep=undefined;this.xMax=1;this.yMin=0;this.yStep=undefined;this.yMax=1;this.zMin=0;this.zStep=undefined;this.zMax=1;this.valueMin=0;this.valueMax=1;this.xBarWidth=1;this.yBarWidth=1;this.axisColor=\"#4D4D4D\";this.gridColor=\"#D3D3D3\";this.dataColor={fill:\"#7DC1FF\",stroke:\"#3267D2\",strokeWidth:1};this.create();this.setOptions(options);if(data){this.setData(data)}}Emitter(Graph3d.prototype);Graph3d.prototype._setScale=function(){this.scale=new Point3d(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin));if(this.keepAspectRatio){if(this.scale.x<this.scale.y){this.scale.y=this.scale.x}else{this.scale.x=this.scale.y}}this.scale.z*=this.verticalRatio;this.scale.value=1/(this.valueMax-this.valueMin);var xCenter=(this.xMax+this.xMin)/2*this.scale.x;var yCenter=(this.yMax+this.yMin)/2*this.scale.y;var zCenter=(this.zMax+this.zMin)/2*this.scale.z;this.camera.setArmLocation(xCenter,yCenter,zCenter)};Graph3d.prototype._convert3Dto2D=function(point3d){var translation=this._convertPointToTranslation(point3d);return this._convertTranslationToScreen(translation)};Graph3d.prototype._convertPointToTranslation=function(point3d){var ax=point3d.x*this.scale.x,ay=point3d.y*this.scale.y,az=point3d.z*this.scale.z,cx=this.camera.getCameraLocation().x,cy=this.camera.getCameraLocation().y,cz=this.camera.getCameraLocation().z,sinTx=Math.sin(this.camera.getCameraRotation().x),cosTx=Math.cos(this.camera.getCameraRotation().x),sinTy=Math.sin(this.camera.getCameraRotation().y),cosTy=Math.cos(this.camera.getCameraRotation().y),sinTz=Math.sin(this.camera.getCameraRotation().z),cosTz=Math.cos(this.camera.getCameraRotation().z),dx=cosTy*(sinTz*(ay-cy)+cosTz*(ax-cx))-sinTy*(az-cz),dy=sinTx*(cosTy*(az-cz)+sinTy*(sinTz*(ay-cy)+cosTz*(ax-cx)))+cosTx*(cosTz*(ay-cy)-sinTz*(ax-cx)),dz=cosTx*(cosTy*(az-cz)+sinTy*(sinTz*(ay-cy)+cosTz*(ax-cx)))-sinTx*(cosTz*(ay-cy)-sinTz*(ax-cx));return new Point3d(dx,dy,dz)};Graph3d.prototype._convertTranslationToScreen=function(translation){var ex=this.eye.x,ey=this.eye.y,ez=this.eye.z,dx=translation.x,dy=translation.y,dz=translation.z;var bx;var by;if(this.showPerspective){bx=(dx-ex)*(ez/dz);by=(dy-ey)*(ez/dz)}else{bx=dx*-(ez/this.camera.getArmLength());by=dy*-(ez/this.camera.getArmLength())}return new Point2d(this.xcenter+bx*this.frame.canvas.clientWidth,this.ycenter-by*this.frame.canvas.clientWidth)};Graph3d.prototype._setBackgroundColor=function(backgroundColor){var fill=\"white\";var stroke=\"gray\";var strokeWidth=1;if(typeof backgroundColor===\"string\"){fill=backgroundColor;stroke=\"none\";strokeWidth=0}else if(typeof backgroundColor===\"object\"){if(backgroundColor.fill!==undefined)fill=backgroundColor.fill;if(backgroundColor.stroke!==undefined)stroke=backgroundColor.stroke;if(backgroundColor.strokeWidth!==undefined)strokeWidth=backgroundColor.strokeWidth}else if(backgroundColor===undefined){}else{throw\"Unsupported type of backgroundColor\"}this.frame.style.backgroundColor=fill;this.frame.style.borderColor=stroke;this.frame.style.borderWidth=strokeWidth+\"px\";this.frame.style.borderStyle=\"solid\"};Graph3d.STYLE={BAR:0,BARCOLOR:1,BARSIZE:2,DOT:3,DOTLINE:4,DOTCOLOR:5,DOTSIZE:6,GRID:7,LINE:8,SURFACE:9};Graph3d.prototype._getStyleNumber=function(styleName){switch(styleName){case\"dot\":return Graph3d.STYLE.DOT;case\"dot-line\":return Graph3d.STYLE.DOTLINE;case\"dot-color\":return Graph3d.STYLE.DOTCOLOR;case\"dot-size\":return Graph3d.STYLE.DOTSIZE;case\"line\":return Graph3d.STYLE.LINE;case\"grid\":return Graph3d.STYLE.GRID;case\"surface\":return Graph3d.STYLE.SURFACE;case\"bar\":return Graph3d.STYLE.BAR;case\"bar-color\":return Graph3d.STYLE.BARCOLOR;case\"bar-size\":return Graph3d.STYLE.BARSIZE}return-1};Graph3d.prototype._determineColumnIndexes=function(data,style){if(this.style===Graph3d.STYLE.DOT||this.style===Graph3d.STYLE.DOTLINE||this.style===Graph3d.STYLE.LINE||this.style===Graph3d.STYLE.GRID||this.style===Graph3d.STYLE.SURFACE||this.style===Graph3d.STYLE.BAR){this.colX=0;this.colY=1;this.colZ=2;this.colValue=undefined;if(data.getNumberOfColumns()>3){this.colFilter=3}}else if(this.style===Graph3d.STYLE.DOTCOLOR||this.style===Graph3d.STYLE.DOTSIZE||this.style===Graph3d.STYLE.BARCOLOR||this.style===Graph3d.STYLE.BARSIZE){this.colX=0;this.colY=1;this.colZ=2;this.colValue=3;if(data.getNumberOfColumns()>4){this.colFilter=4}}else{throw'Unknown style \"'+this.style+'\"'}};Graph3d.prototype.getNumberOfRows=function(data){return data.length};Graph3d.prototype.getNumberOfColumns=function(data){var counter=0;for(var column in data[0]){if(data[0].hasOwnProperty(column)){counter++}}return counter};Graph3d.prototype.getDistinctValues=function(data,column){var distinctValues=[];for(var i=0;i<data.length;i++){if(distinctValues.indexOf(data[i][column])==-1){distinctValues.push(data[i][column])}}return distinctValues};Graph3d.prototype.getColumnRange=function(data,column){var minMax={min:data[0][column],max:data[0][column]};for(var i=0;i<data.length;i++){if(minMax.min>data[i][column]){minMax.min=data[i][column]}if(minMax.max<data[i][column]){minMax.max=data[i][column]}}return minMax};Graph3d.prototype._dataInitialize=function(rawData,style){var me=this;if(this.dataSet){this.dataSet.off(\"*\",this._onChange)}if(rawData===undefined)return;if(Array.isArray(rawData)){rawData=new DataSet(rawData)}var data;if(rawData instanceof DataSet||rawData instanceof DataView){data=rawData.get()}else{throw new Error(\"Array, DataSet, or DataView expected\")}if(data.length==0)return;this.dataSet=rawData;this.dataTable=data;this._onChange=function(){me.setData(me.dataSet)};this.dataSet.on(\"*\",this._onChange);this.colX=\"x\";this.colY=\"y\";this.colZ=\"z\";this.colValue=\"style\";this.colFilter=\"filter\";if(data[0].hasOwnProperty(\"filter\")){if(this.dataFilter===undefined){this.dataFilter=new Filter(rawData,this.colFilter,this);this.dataFilter.setOnLoadCallback(function(){me.redraw()})}}var withBars=this.style==Graph3d.STYLE.BAR||this.style==Graph3d.STYLE.BARCOLOR||this.style==Graph3d.STYLE.BARSIZE;if(withBars){if(this.defaultXBarWidth!==undefined){this.xBarWidth=this.defaultXBarWidth}else{var dataX=this.getDistinctValues(data,this.colX);this.xBarWidth=dataX[1]-dataX[0]||1}if(this.defaultYBarWidth!==undefined){this.yBarWidth=this.defaultYBarWidth}else{var dataY=this.getDistinctValues(data,this.colY);this.yBarWidth=dataY[1]-dataY[0]||1}}var xRange=this.getColumnRange(data,this.colX);if(withBars){xRange.min-=this.xBarWidth/2;xRange.max+=this.xBarWidth/2}this.xMin=this.defaultXMin!==undefined?this.defaultXMin:xRange.min;this.xMax=this.defaultXMax!==undefined?this.defaultXMax:xRange.max;if(this.xMax<=this.xMin)this.xMax=this.xMin+1;this.xStep=this.defaultXStep!==undefined?this.defaultXStep:(this.xMax-this.xMin)/5;var yRange=this.getColumnRange(data,this.colY);if(withBars){yRange.min-=this.yBarWidth/2;yRange.max+=this.yBarWidth/2}this.yMin=this.defaultYMin!==undefined?this.defaultYMin:yRange.min;this.yMax=this.defaultYMax!==undefined?this.defaultYMax:yRange.max;if(this.yMax<=this.yMin)this.yMax=this.yMin+1;this.yStep=this.defaultYStep!==undefined?this.defaultYStep:(this.yMax-this.yMin)/5;var zRange=this.getColumnRange(data,this.colZ);this.zMin=this.defaultZMin!==undefined?this.defaultZMin:zRange.min;this.zMax=this.defaultZMax!==undefined?this.defaultZMax:zRange.max;if(this.zMax<=this.zMin)this.zMax=this.zMin+1;this.zStep=this.defaultZStep!==undefined?this.defaultZStep:(this.zMax-this.zMin)/5;if(this.colValue!==undefined){var valueRange=this.getColumnRange(data,this.colValue);this.valueMin=this.defaultValueMin!==undefined?this.defaultValueMin:valueRange.min;this.valueMax=this.defaultValueMax!==undefined?this.defaultValueMax:valueRange.max;if(this.valueMax<=this.valueMin)this.valueMax=this.valueMin+1}this._setScale()};Graph3d.prototype._getDataPoints=function(data){var x,y,i,z,obj,point;var dataPoints=[];if(this.style===Graph3d.STYLE.GRID||this.style===Graph3d.STYLE.SURFACE){var dataX=[];var dataY=[];for(i=0;i<this.getNumberOfRows(data);i++){x=data[i][this.colX]||0;y=data[i][this.colY]||0;if(dataX.indexOf(x)===-1){dataX.push(x)}if(dataY.indexOf(y)===-1){dataY.push(y)}}var sortNumber=function sortNumber(a,b){return a-b};dataX.sort(sortNumber);dataY.sort(sortNumber);var dataMatrix=[];for(i=0;i<data.length;i++){x=data[i][this.colX]||0;y=data[i][this.colY]||0;z=data[i][this.colZ]||0;var xIndex=dataX.indexOf(x);var yIndex=dataY.indexOf(y);if(dataMatrix[xIndex]===undefined){dataMatrix[xIndex]=[]}var point3d=new Point3d;point3d.x=x;point3d.y=y;point3d.z=z;obj={};obj.point=point3d;obj.trans=undefined;obj.screen=undefined;obj.bottom=new Point3d(x,y,this.zMin);dataMatrix[xIndex][yIndex]=obj;dataPoints.push(obj)}for(x=0;x<dataMatrix.length;x++){for(y=0;y<dataMatrix[x].length;y++){if(dataMatrix[x][y]){dataMatrix[x][y].pointRight=x<dataMatrix.length-1?dataMatrix[x+1][y]:undefined;dataMatrix[x][y].pointTop=y<dataMatrix[x].length-1?dataMatrix[x][y+1]:undefined;dataMatrix[x][y].pointCross=x<dataMatrix.length-1&&y<dataMatrix[x].length-1?dataMatrix[x+1][y+1]:undefined}}}}else{for(i=0;i<data.length;i++){point=new Point3d;point.x=data[i][this.colX]||0;point.y=data[i][this.colY]||0;point.z=data[i][this.colZ]||0;if(this.colValue!==undefined){point.value=data[i][this.colValue]||0}obj={};obj.point=point;obj.bottom=new Point3d(point.x,point.y,this.zMin);obj.trans=undefined;obj.screen=undefined;dataPoints.push(obj)}}return dataPoints};Graph3d.prototype.create=function(){while(this.containerElement.hasChildNodes()){this.containerElement.removeChild(this.containerElement.firstChild)}this.frame=document.createElement(\"div\");this.frame.style.position=\"relative\";this.frame.style.overflow=\"hidden\";this.frame.canvas=document.createElement(\"canvas\");this.frame.canvas.style.position=\"relative\";this.frame.appendChild(this.frame.canvas);{var noCanvas=document.createElement(\"DIV\");noCanvas.style.color=\"red\";noCanvas.style.fontWeight=\"bold\";noCanvas.style.padding=\"10px\";noCanvas.innerHTML=\"Error: your browser does not support HTML canvas\";this.frame.canvas.appendChild(noCanvas)}this.frame.filter=document.createElement(\"div\");this.frame.filter.style.position=\"absolute\";this.frame.filter.style.bottom=\"0px\";this.frame.filter.style.left=\"0px\";this.frame.filter.style.width=\"100%\";this.frame.appendChild(this.frame.filter);var me=this;var onmousedown=function onmousedown(event){me._onMouseDown(event)};var ontouchstart=function ontouchstart(event){me._onTouchStart(event)};var onmousewheel=function onmousewheel(event){me._onWheel(event)};var ontooltip=function ontooltip(event){me._onTooltip(event)};util.addEventListener(this.frame.canvas,\"keydown\",onkeydown);util.addEventListener(this.frame.canvas,\"mousedown\",onmousedown);util.addEventListener(this.frame.canvas,\"touchstart\",ontouchstart);util.addEventListener(this.frame.canvas,\"mousewheel\",onmousewheel);util.addEventListener(this.frame.canvas,\"mousemove\",ontooltip);this.containerElement.appendChild(this.frame)};Graph3d.prototype.setSize=function(width,height){this.frame.style.width=width;this.frame.style.height=height;this._resizeCanvas()};Graph3d.prototype._resizeCanvas=function(){this.frame.canvas.style.width=\"100%\";this.frame.canvas.style.height=\"100%\";this.frame.canvas.width=this.frame.canvas.clientWidth;this.frame.canvas.height=this.frame.canvas.clientHeight;this.frame.filter.style.width=this.frame.canvas.clientWidth-2*10+\"px\"};Graph3d.prototype.animationStart=function(){if(!this.frame.filter||!this.frame.filter.slider)throw\"No animation available\";this.frame.filter.slider.play()};Graph3d.prototype.animationStop=function(){\nif(!this.frame.filter||!this.frame.filter.slider)return;this.frame.filter.slider.stop()};Graph3d.prototype._resizeCenter=function(){if(this.defaultXCenter.charAt(this.defaultXCenter.length-1)===\"%\"){this.xcenter=parseFloat(this.defaultXCenter)/100*this.frame.canvas.clientWidth}else{this.xcenter=parseFloat(this.defaultXCenter)}if(this.defaultYCenter.charAt(this.defaultYCenter.length-1)===\"%\"){this.ycenter=parseFloat(this.defaultYCenter)/100*(this.frame.canvas.clientHeight-this.frame.filter.clientHeight)}else{this.ycenter=parseFloat(this.defaultYCenter)}};Graph3d.prototype.setCameraPosition=function(pos){if(pos===undefined){return}if(pos.horizontal!==undefined&&pos.vertical!==undefined){this.camera.setArmRotation(pos.horizontal,pos.vertical)}if(pos.distance!==undefined){this.camera.setArmLength(pos.distance)}this.redraw()};Graph3d.prototype.getCameraPosition=function(){var pos=this.camera.getArmRotation();pos.distance=this.camera.getArmLength();return pos};Graph3d.prototype._readData=function(data){this._dataInitialize(data,this.style);if(this.dataFilter){this.dataPoints=this.dataFilter._getDataPoints()}else{this.dataPoints=this._getDataPoints(this.dataTable)}this._redrawFilter()};Graph3d.prototype.setData=function(data){this._readData(data);this.redraw();if(this.animationAutoStart&&this.dataFilter){this.animationStart()}};Graph3d.prototype.setOptions=function(options){var cameraPosition=undefined;this.animationStop();if(options!==undefined){if(options.width!==undefined)this.width=options.width;if(options.height!==undefined)this.height=options.height;if(options.xCenter!==undefined)this.defaultXCenter=options.xCenter;if(options.yCenter!==undefined)this.defaultYCenter=options.yCenter;if(options.filterLabel!==undefined)this.filterLabel=options.filterLabel;if(options.legendLabel!==undefined)this.legendLabel=options.legendLabel;if(options.xLabel!==undefined)this.xLabel=options.xLabel;if(options.yLabel!==undefined)this.yLabel=options.yLabel;if(options.zLabel!==undefined)this.zLabel=options.zLabel;if(options.xValueLabel!==undefined)this.xValueLabel=options.xValueLabel;if(options.yValueLabel!==undefined)this.yValueLabel=options.yValueLabel;if(options.zValueLabel!==undefined)this.zValueLabel=options.zValueLabel;if(options.style!==undefined){var styleNumber=this._getStyleNumber(options.style);if(styleNumber!==-1){this.style=styleNumber}}if(options.showGrid!==undefined)this.showGrid=options.showGrid;if(options.showPerspective!==undefined)this.showPerspective=options.showPerspective;if(options.showShadow!==undefined)this.showShadow=options.showShadow;if(options.tooltip!==undefined)this.showTooltip=options.tooltip;if(options.showAnimationControls!==undefined)this.showAnimationControls=options.showAnimationControls;if(options.keepAspectRatio!==undefined)this.keepAspectRatio=options.keepAspectRatio;if(options.verticalRatio!==undefined)this.verticalRatio=options.verticalRatio;if(options.animationInterval!==undefined)this.animationInterval=options.animationInterval;if(options.animationPreload!==undefined)this.animationPreload=options.animationPreload;if(options.animationAutoStart!==undefined)this.animationAutoStart=options.animationAutoStart;if(options.xBarWidth!==undefined)this.defaultXBarWidth=options.xBarWidth;if(options.yBarWidth!==undefined)this.defaultYBarWidth=options.yBarWidth;if(options.xMin!==undefined)this.defaultXMin=options.xMin;if(options.xStep!==undefined)this.defaultXStep=options.xStep;if(options.xMax!==undefined)this.defaultXMax=options.xMax;if(options.yMin!==undefined)this.defaultYMin=options.yMin;if(options.yStep!==undefined)this.defaultYStep=options.yStep;if(options.yMax!==undefined)this.defaultYMax=options.yMax;if(options.zMin!==undefined)this.defaultZMin=options.zMin;if(options.zStep!==undefined)this.defaultZStep=options.zStep;if(options.zMax!==undefined)this.defaultZMax=options.zMax;if(options.valueMin!==undefined)this.defaultValueMin=options.valueMin;if(options.valueMax!==undefined)this.defaultValueMax=options.valueMax;if(options.cameraPosition!==undefined)cameraPosition=options.cameraPosition;if(cameraPosition!==undefined){this.camera.setArmRotation(cameraPosition.horizontal,cameraPosition.vertical);this.camera.setArmLength(cameraPosition.distance)}if(options.axisColor!==undefined)this.axisColor=options.axisColor;if(options.gridColor!==undefined)this.gridColor=options.gridColor;if(options.dataColor){if(typeof options.dataColor===\"string\"){this.dataColor.fill=options.dataColor;this.dataColor.stroke=options.dataColor}else{if(options.dataColor.fill){this.dataColor.fill=options.dataColor.fill}if(options.dataColor.stroke){this.dataColor.stroke=options.dataColor.stroke}if(options.dataColor.strokeWidth!==undefined){this.dataColor.strokeWidth=options.dataColor.strokeWidth}}}this._setBackgroundColor(options.backgroundColor)}this.setSize(this.width,this.height);if(this.dataTable){this.setData(this.dataTable)}if(this.animationAutoStart&&this.dataFilter){this.animationStart()}};Graph3d.prototype.redraw=function(){if(this.dataPoints===undefined){throw\"Error: graph data not initialized\"}this._resizeCanvas();this._resizeCenter();this._redrawSlider();this._redrawClear();this._redrawAxis();if(this.style===Graph3d.STYLE.GRID||this.style===Graph3d.STYLE.SURFACE){this._redrawDataGrid()}else if(this.style===Graph3d.STYLE.LINE){this._redrawDataLine()}else if(this.style===Graph3d.STYLE.BAR||this.style===Graph3d.STYLE.BARCOLOR||this.style===Graph3d.STYLE.BARSIZE){this._redrawDataBar()}else{this._redrawDataDot()}this._redrawInfo();this._redrawLegend()};Graph3d.prototype._redrawClear=function(){var canvas=this.frame.canvas;var ctx=canvas.getContext(\"2d\");ctx.clearRect(0,0,canvas.width,canvas.height)};Graph3d.prototype._redrawLegend=function(){var y;if(this.style===Graph3d.STYLE.DOTCOLOR||this.style===Graph3d.STYLE.DOTSIZE){var dotSize=this.frame.clientWidth*.02;var widthMin,widthMax;if(this.style===Graph3d.STYLE.DOTSIZE){widthMin=dotSize/2;widthMax=dotSize/2+dotSize*2}else{widthMin=20;widthMax=20}var height=Math.max(this.frame.clientHeight*.25,100);var top=this.margin;var right=this.frame.clientWidth-this.margin;var left=right-widthMax;var bottom=top+height}var canvas=this.frame.canvas;var ctx=canvas.getContext(\"2d\");ctx.lineWidth=1;ctx.font=\"14px arial\";if(this.style===Graph3d.STYLE.DOTCOLOR){var ymin=0;var ymax=height;for(y=ymin;y<ymax;y++){var f=(y-ymin)/(ymax-ymin);var hue=f*240;var color=this._hsv2rgb(hue,1,1);ctx.strokeStyle=color;ctx.beginPath();ctx.moveTo(left,top+y);ctx.lineTo(right,top+y);ctx.stroke()}ctx.strokeStyle=this.axisColor;ctx.strokeRect(left,top,widthMax,height)}if(this.style===Graph3d.STYLE.DOTSIZE){ctx.strokeStyle=this.axisColor;ctx.fillStyle=this.dataColor.fill;ctx.beginPath();ctx.moveTo(left,top);ctx.lineTo(right,top);ctx.lineTo(right-widthMax+widthMin,bottom);ctx.lineTo(left,bottom);ctx.closePath();ctx.fill();ctx.stroke()}if(this.style===Graph3d.STYLE.DOTCOLOR||this.style===Graph3d.STYLE.DOTSIZE){var gridLineLen=5;var step=new StepNumber(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,true);step.start();if(step.getCurrent()<this.valueMin){step.next()}while(!step.end()){y=bottom-(step.getCurrent()-this.valueMin)/(this.valueMax-this.valueMin)*height;ctx.beginPath();ctx.moveTo(left-gridLineLen,y);ctx.lineTo(left,y);ctx.stroke();ctx.textAlign=\"right\";ctx.textBaseline=\"middle\";ctx.fillStyle=this.axisColor;ctx.fillText(step.getCurrent(),left-2*gridLineLen,y);step.next()}ctx.textAlign=\"right\";ctx.textBaseline=\"top\";var label=this.legendLabel;ctx.fillText(label,right,bottom+this.margin)}};Graph3d.prototype._redrawFilter=function(){this.frame.filter.innerHTML=\"\";if(this.dataFilter){var options={visible:this.showAnimationControls};var slider=new Slider(this.frame.filter,options);this.frame.filter.slider=slider;this.frame.filter.style.padding=\"10px\";slider.setValues(this.dataFilter.values);slider.setPlayInterval(this.animationInterval);var me=this;var onchange=function onchange(){var index=slider.getIndex();me.dataFilter.selectValue(index);me.dataPoints=me.dataFilter._getDataPoints();me.redraw()};slider.setOnChangeCallback(onchange)}else{this.frame.filter.slider=undefined}};Graph3d.prototype._redrawSlider=function(){if(this.frame.filter.slider!==undefined){this.frame.filter.slider.redraw()}};Graph3d.prototype._redrawInfo=function(){if(this.dataFilter){var canvas=this.frame.canvas;var ctx=canvas.getContext(\"2d\");ctx.font=\"14px arial\";ctx.lineStyle=\"gray\";ctx.fillStyle=\"gray\";ctx.textAlign=\"left\";ctx.textBaseline=\"top\";var x=this.margin;var y=this.margin;ctx.fillText(this.dataFilter.getLabel()+\": \"+this.dataFilter.getSelectedValue(),x,y)}};Graph3d.prototype._redrawAxis=function(){var canvas=this.frame.canvas,ctx=canvas.getContext(\"2d\"),from,to,step,prettyStep,text,xText,yText,zText,offset,xOffset,yOffset,xMin2d,xMax2d;ctx.font=24/this.camera.getArmLength()+\"px arial\";var gridLenX=.025/this.scale.x;var gridLenY=.025/this.scale.y;var textMargin=5/this.camera.getArmLength();var armAngle=this.camera.getArmRotation().horizontal;ctx.lineWidth=1;prettyStep=this.defaultXStep===undefined;step=new StepNumber(this.xMin,this.xMax,this.xStep,prettyStep);step.start();if(step.getCurrent()<this.xMin){step.next()}while(!step.end()){var x=step.getCurrent();if(this.showGrid){from=this._convert3Dto2D(new Point3d(x,this.yMin,this.zMin));to=this._convert3Dto2D(new Point3d(x,this.yMax,this.zMin));ctx.strokeStyle=this.gridColor;ctx.beginPath();ctx.moveTo(from.x,from.y);ctx.lineTo(to.x,to.y);ctx.stroke()}else{from=this._convert3Dto2D(new Point3d(x,this.yMin,this.zMin));to=this._convert3Dto2D(new Point3d(x,this.yMin+gridLenX,this.zMin));ctx.strokeStyle=this.axisColor;ctx.beginPath();ctx.moveTo(from.x,from.y);ctx.lineTo(to.x,to.y);ctx.stroke();from=this._convert3Dto2D(new Point3d(x,this.yMax,this.zMin));to=this._convert3Dto2D(new Point3d(x,this.yMax-gridLenX,this.zMin));ctx.strokeStyle=this.axisColor;ctx.beginPath();ctx.moveTo(from.x,from.y);ctx.lineTo(to.x,to.y);ctx.stroke()}yText=Math.cos(armAngle)>0?this.yMin:this.yMax;text=this._convert3Dto2D(new Point3d(x,yText,this.zMin));if(Math.cos(armAngle*2)>0){ctx.textAlign=\"center\";ctx.textBaseline=\"top\";text.y+=textMargin}else if(Math.sin(armAngle*2)<0){ctx.textAlign=\"right\";ctx.textBaseline=\"middle\"}else{ctx.textAlign=\"left\";ctx.textBaseline=\"middle\"}ctx.fillStyle=this.axisColor;ctx.fillText(\" \"+this.xValueLabel(step.getCurrent())+\" \",text.x,text.y);step.next()}ctx.lineWidth=1;prettyStep=this.defaultYStep===undefined;step=new StepNumber(this.yMin,this.yMax,this.yStep,prettyStep);step.start();if(step.getCurrent()<this.yMin){step.next()}while(!step.end()){if(this.showGrid){from=this._convert3Dto2D(new Point3d(this.xMin,step.getCurrent(),this.zMin));to=this._convert3Dto2D(new Point3d(this.xMax,step.getCurrent(),this.zMin));ctx.strokeStyle=this.gridColor;ctx.beginPath();ctx.moveTo(from.x,from.y);ctx.lineTo(to.x,to.y);ctx.stroke()}else{from=this._convert3Dto2D(new Point3d(this.xMin,step.getCurrent(),this.zMin));to=this._convert3Dto2D(new Point3d(this.xMin+gridLenY,step.getCurrent(),this.zMin));ctx.strokeStyle=this.axisColor;ctx.beginPath();ctx.moveTo(from.x,from.y);ctx.lineTo(to.x,to.y);ctx.stroke();from=this._convert3Dto2D(new Point3d(this.xMax,step.getCurrent(),this.zMin));to=this._convert3Dto2D(new Point3d(this.xMax-gridLenY,step.getCurrent(),this.zMin));ctx.strokeStyle=this.axisColor;ctx.beginPath();ctx.moveTo(from.x,from.y);ctx.lineTo(to.x,to.y);ctx.stroke()}xText=Math.sin(armAngle)>0?this.xMin:this.xMax;text=this._convert3Dto2D(new Point3d(xText,step.getCurrent(),this.zMin));if(Math.cos(armAngle*2)<0){ctx.textAlign=\"center\";ctx.textBaseline=\"top\";text.y+=textMargin}else if(Math.sin(armAngle*2)>0){ctx.textAlign=\"right\";ctx.textBaseline=\"middle\"}else{ctx.textAlign=\"left\";ctx.textBaseline=\"middle\"}ctx.fillStyle=this.axisColor;ctx.fillText(\" \"+this.yValueLabel(step.getCurrent())+\" \",text.x,text.y);step.next()}ctx.lineWidth=1;prettyStep=this.defaultZStep===undefined;step=new StepNumber(this.zMin,this.zMax,this.zStep,prettyStep);step.start();if(step.getCurrent()<this.zMin){step.next()}xText=Math.cos(armAngle)>0?this.xMin:this.xMax;yText=Math.sin(armAngle)<0?this.yMin:this.yMax;while(!step.end()){from=this._convert3Dto2D(new Point3d(xText,yText,step.getCurrent()));ctx.strokeStyle=this.axisColor;ctx.beginPath();ctx.moveTo(from.x,from.y);ctx.lineTo(from.x-textMargin,from.y);ctx.stroke();ctx.textAlign=\"right\";ctx.textBaseline=\"middle\";ctx.fillStyle=this.axisColor;ctx.fillText(this.zValueLabel(step.getCurrent())+\" \",from.x-5,from.y);step.next()}ctx.lineWidth=1;from=this._convert3Dto2D(new Point3d(xText,yText,this.zMin));to=this._convert3Dto2D(new Point3d(xText,yText,this.zMax));ctx.strokeStyle=this.axisColor;ctx.beginPath();ctx.moveTo(from.x,from.y);ctx.lineTo(to.x,to.y);ctx.stroke();ctx.lineWidth=1;xMin2d=this._convert3Dto2D(new Point3d(this.xMin,this.yMin,this.zMin));xMax2d=this._convert3Dto2D(new Point3d(this.xMax,this.yMin,this.zMin));ctx.strokeStyle=this.axisColor;ctx.beginPath();ctx.moveTo(xMin2d.x,xMin2d.y);ctx.lineTo(xMax2d.x,xMax2d.y);ctx.stroke();xMin2d=this._convert3Dto2D(new Point3d(this.xMin,this.yMax,this.zMin));xMax2d=this._convert3Dto2D(new Point3d(this.xMax,this.yMax,this.zMin));ctx.strokeStyle=this.axisColor;ctx.beginPath();ctx.moveTo(xMin2d.x,xMin2d.y);ctx.lineTo(xMax2d.x,xMax2d.y);ctx.stroke();ctx.lineWidth=1;from=this._convert3Dto2D(new Point3d(this.xMin,this.yMin,this.zMin));to=this._convert3Dto2D(new Point3d(this.xMin,this.yMax,this.zMin));ctx.strokeStyle=this.axisColor;ctx.beginPath();ctx.moveTo(from.x,from.y);ctx.lineTo(to.x,to.y);ctx.stroke();from=this._convert3Dto2D(new Point3d(this.xMax,this.yMin,this.zMin));to=this._convert3Dto2D(new Point3d(this.xMax,this.yMax,this.zMin));ctx.strokeStyle=this.axisColor;ctx.beginPath();ctx.moveTo(from.x,from.y);ctx.lineTo(to.x,to.y);ctx.stroke();var xLabel=this.xLabel;if(xLabel.length>0){yOffset=.1/this.scale.y;xText=(this.xMin+this.xMax)/2;yText=Math.cos(armAngle)>0?this.yMin-yOffset:this.yMax+yOffset;text=this._convert3Dto2D(new Point3d(xText,yText,this.zMin));if(Math.cos(armAngle*2)>0){ctx.textAlign=\"center\";ctx.textBaseline=\"top\"}else if(Math.sin(armAngle*2)<0){ctx.textAlign=\"right\";ctx.textBaseline=\"middle\"}else{ctx.textAlign=\"left\";ctx.textBaseline=\"middle\"}ctx.fillStyle=this.axisColor;ctx.fillText(xLabel,text.x,text.y)}var yLabel=this.yLabel;if(yLabel.length>0){xOffset=.1/this.scale.x;xText=Math.sin(armAngle)>0?this.xMin-xOffset:this.xMax+xOffset;yText=(this.yMin+this.yMax)/2;text=this._convert3Dto2D(new Point3d(xText,yText,this.zMin));if(Math.cos(armAngle*2)<0){ctx.textAlign=\"center\";ctx.textBaseline=\"top\"}else if(Math.sin(armAngle*2)>0){ctx.textAlign=\"right\";ctx.textBaseline=\"middle\"}else{ctx.textAlign=\"left\";ctx.textBaseline=\"middle\"}ctx.fillStyle=this.axisColor;ctx.fillText(yLabel,text.x,text.y)}var zLabel=this.zLabel;if(zLabel.length>0){offset=30;xText=Math.cos(armAngle)>0?this.xMin:this.xMax;yText=Math.sin(armAngle)<0?this.yMin:this.yMax;zText=(this.zMin+this.zMax)/2;text=this._convert3Dto2D(new Point3d(xText,yText,zText));ctx.textAlign=\"right\";ctx.textBaseline=\"middle\";ctx.fillStyle=this.axisColor;ctx.fillText(zLabel,text.x-offset,text.y)}};Graph3d.prototype._hsv2rgb=function(H,S,V){var R,G,B,C,Hi,X;C=V*S;Hi=Math.floor(H/60);X=C*(1-Math.abs(H/60%2-1));switch(Hi){case 0:R=C;G=X;B=0;break;case 1:R=X;G=C;B=0;break;case 2:R=0;G=C;B=X;break;case 3:R=0;G=X;B=C;break;case 4:R=X;G=0;B=C;break;case 5:R=C;G=0;B=X;break;default:R=0;G=0;B=0;break}return\"RGB(\"+parseInt(R*255)+\",\"+parseInt(G*255)+\",\"+parseInt(B*255)+\")\"};Graph3d.prototype._redrawDataGrid=function(){var canvas=this.frame.canvas,ctx=canvas.getContext(\"2d\"),point,right,top,cross,i,topSideVisible,fillStyle,strokeStyle,lineWidth,h,s,v,zAvg;ctx.lineJoin=\"round\";ctx.lineCap=\"round\";if(this.dataPoints===undefined||this.dataPoints.length<=0)return;for(i=0;i<this.dataPoints.length;i++){var trans=this._convertPointToTranslation(this.dataPoints[i].point);var screen=this._convertTranslationToScreen(trans);this.dataPoints[i].trans=trans;this.dataPoints[i].screen=screen;var transBottom=this._convertPointToTranslation(this.dataPoints[i].bottom);this.dataPoints[i].dist=this.showPerspective?transBottom.length():-transBottom.z}var sortDepth=function sortDepth(a,b){return b.dist-a.dist};this.dataPoints.sort(sortDepth);if(this.style===Graph3d.STYLE.SURFACE){for(i=0;i<this.dataPoints.length;i++){point=this.dataPoints[i];right=this.dataPoints[i].pointRight;top=this.dataPoints[i].pointTop;cross=this.dataPoints[i].pointCross;if(point!==undefined&&right!==undefined&&top!==undefined&&cross!==undefined){if(this.showGrayBottom||this.showShadow){var aDiff=Point3d.subtract(cross.trans,point.trans);var bDiff=Point3d.subtract(top.trans,right.trans);var crossproduct=Point3d.crossProduct(aDiff,bDiff);var len=crossproduct.length();topSideVisible=crossproduct.z>0}else{topSideVisible=true}if(topSideVisible){zAvg=(point.point.z+right.point.z+top.point.z+cross.point.z)/4;h=(1-(zAvg-this.zMin)*this.scale.z/this.verticalRatio)*240;s=1;if(this.showShadow){v=Math.min(1+crossproduct.x/len/2,1);fillStyle=this._hsv2rgb(h,s,v);strokeStyle=fillStyle}else{v=1;fillStyle=this._hsv2rgb(h,s,v);strokeStyle=this.axisColor}}else{fillStyle=\"gray\";strokeStyle=this.axisColor}ctx.lineWidth=this._getStrokeWidth(point);ctx.fillStyle=fillStyle;ctx.strokeStyle=strokeStyle;ctx.beginPath();ctx.moveTo(point.screen.x,point.screen.y);ctx.lineTo(right.screen.x,right.screen.y);ctx.lineTo(cross.screen.x,cross.screen.y);ctx.lineTo(top.screen.x,top.screen.y);ctx.closePath();ctx.fill();ctx.stroke()}}}else{for(i=0;i<this.dataPoints.length;i++){point=this.dataPoints[i];right=this.dataPoints[i].pointRight;top=this.dataPoints[i].pointTop;if(point!==undefined&&right!==undefined){zAvg=(point.point.z+right.point.z)/2;h=(1-(zAvg-this.zMin)*this.scale.z/this.verticalRatio)*240;ctx.lineWidth=this._getStrokeWidth(point)*2;ctx.strokeStyle=this._hsv2rgb(h,1,1);ctx.beginPath();ctx.moveTo(point.screen.x,point.screen.y);ctx.lineTo(right.screen.x,right.screen.y);ctx.stroke()}if(point!==undefined&&top!==undefined){zAvg=(point.point.z+top.point.z)/2;h=(1-(zAvg-this.zMin)*this.scale.z/this.verticalRatio)*240;ctx.lineWidth=this._getStrokeWidth(point)*2;ctx.strokeStyle=this._hsv2rgb(h,1,1);ctx.beginPath();ctx.moveTo(point.screen.x,point.screen.y);ctx.lineTo(top.screen.x,top.screen.y);ctx.stroke()}}}};Graph3d.prototype._getStrokeWidth=function(point){if(point!==undefined){if(this.showPerspective){return 1/-point.trans.z*this.dataColor.strokeWidth}else{return-(this.eye.z/this.camera.getArmLength())*this.dataColor.strokeWidth}}return this.dataColor.strokeWidth};Graph3d.prototype._redrawDataDot=function(){var canvas=this.frame.canvas;var ctx=canvas.getContext(\"2d\");var i;if(this.dataPoints===undefined||this.dataPoints.length<=0)return;for(i=0;i<this.dataPoints.length;i++){var trans=this._convertPointToTranslation(this.dataPoints[i].point);var screen=this._convertTranslationToScreen(trans);this.dataPoints[i].trans=trans;this.dataPoints[i].screen=screen;var transBottom=this._convertPointToTranslation(this.dataPoints[i].bottom);this.dataPoints[i].dist=this.showPerspective?transBottom.length():-transBottom.z}var sortDepth=function sortDepth(a,b){return b.dist-a.dist};this.dataPoints.sort(sortDepth);var dotSize=this.frame.clientWidth*.02;for(i=0;i<this.dataPoints.length;i++){var point=this.dataPoints[i];if(this.style===Graph3d.STYLE.DOTLINE){var from=this._convert3Dto2D(point.bottom);ctx.lineWidth=1;ctx.strokeStyle=this.gridColor;ctx.beginPath();ctx.moveTo(from.x,from.y);ctx.lineTo(point.screen.x,point.screen.y);ctx.stroke()}var size;if(this.style===Graph3d.STYLE.DOTSIZE){size=dotSize/2+2*dotSize*(point.point.value-this.valueMin)/(this.valueMax-this.valueMin)}else{size=dotSize}var radius;if(this.showPerspective){radius=size/-point.trans.z}else{radius=size*-(this.eye.z/this.camera.getArmLength())}if(radius<0){radius=0}var hue,color,borderColor;if(this.style===Graph3d.STYLE.DOTCOLOR){hue=(1-(point.point.value-this.valueMin)*this.scale.value)*240;color=this._hsv2rgb(hue,1,1);borderColor=this._hsv2rgb(hue,1,.8)}else if(this.style===Graph3d.STYLE.DOTSIZE){color=this.dataColor.fill;borderColor=this.dataColor.stroke}else{hue=(1-(point.point.z-this.zMin)*this.scale.z/this.verticalRatio)*240;color=this._hsv2rgb(hue,1,1);borderColor=this._hsv2rgb(hue,1,.8)}ctx.lineWidth=this._getStrokeWidth(point);ctx.strokeStyle=borderColor;ctx.fillStyle=color;ctx.beginPath();ctx.arc(point.screen.x,point.screen.y,radius,0,Math.PI*2,true);ctx.fill();ctx.stroke()}};Graph3d.prototype._redrawDataBar=function(){var canvas=this.frame.canvas;var ctx=canvas.getContext(\"2d\");var i,j,surface,corners;if(this.dataPoints===undefined||this.dataPoints.length<=0)return;for(i=0;i<this.dataPoints.length;i++){var trans=this._convertPointToTranslation(this.dataPoints[i].point);var screen=this._convertTranslationToScreen(trans);this.dataPoints[i].trans=trans;this.dataPoints[i].screen=screen;var transBottom=this._convertPointToTranslation(this.dataPoints[i].bottom);this.dataPoints[i].dist=this.showPerspective?transBottom.length():-transBottom.z}var sortDepth=function sortDepth(a,b){return b.dist-a.dist};this.dataPoints.sort(sortDepth);ctx.lineJoin=\"round\";ctx.lineCap=\"round\";var xWidth=this.xBarWidth/2;var yWidth=this.yBarWidth/2;for(i=0;i<this.dataPoints.length;i++){var point=this.dataPoints[i];var hue,color,borderColor;if(this.style===Graph3d.STYLE.BARCOLOR){hue=(1-(point.point.value-this.valueMin)*this.scale.value)*240;color=this._hsv2rgb(hue,1,1);borderColor=this._hsv2rgb(hue,1,.8)}else if(this.style===Graph3d.STYLE.BARSIZE){color=this.dataColor.fill;borderColor=this.dataColor.stroke}else{hue=(1-(point.point.z-this.zMin)*this.scale.z/this.verticalRatio)*240;color=this._hsv2rgb(hue,1,1);borderColor=this._hsv2rgb(hue,1,.8)}if(this.style===Graph3d.STYLE.BARSIZE){xWidth=this.xBarWidth/2*((point.point.value-this.valueMin)/(this.valueMax-this.valueMin)*.8+.2);yWidth=this.yBarWidth/2*((point.point.value-this.valueMin)/(this.valueMax-this.valueMin)*.8+.2)}var me=this;var point3d=point.point;var top=[{point:new Point3d(point3d.x-xWidth,point3d.y-yWidth,point3d.z)},{point:new Point3d(point3d.x+xWidth,point3d.y-yWidth,point3d.z)},{point:new Point3d(point3d.x+xWidth,point3d.y+yWidth,point3d.z)},{point:new Point3d(point3d.x-xWidth,point3d.y+yWidth,point3d.z)}];var bottom=[{point:new Point3d(point3d.x-xWidth,point3d.y-yWidth,this.zMin)},{point:new Point3d(point3d.x+xWidth,point3d.y-yWidth,this.zMin)},{point:new Point3d(point3d.x+xWidth,point3d.y+yWidth,this.zMin)},{point:new Point3d(point3d.x-xWidth,point3d.y+yWidth,this.zMin)}];top.forEach(function(obj){obj.screen=me._convert3Dto2D(obj.point)});bottom.forEach(function(obj){obj.screen=me._convert3Dto2D(obj.point)});var surfaces=[{corners:top,center:Point3d.avg(bottom[0].point,bottom[2].point)},{corners:[top[0],top[1],bottom[1],bottom[0]],center:Point3d.avg(bottom[1].point,bottom[0].point)},{corners:[top[1],top[2],bottom[2],bottom[1]],center:Point3d.avg(bottom[2].point,bottom[1].point)},{corners:[top[2],top[3],bottom[3],bottom[2]],center:Point3d.avg(bottom[3].point,bottom[2].point)},{corners:[top[3],top[0],bottom[0],bottom[3]],center:Point3d.avg(bottom[0].point,bottom[3].point)}];point.surfaces=surfaces;for(j=0;j<surfaces.length;j++){surface=surfaces[j];var transCenter=this._convertPointToTranslation(surface.center);surface.dist=this.showPerspective?transCenter.length():-transCenter.z}surfaces.sort(function(a,b){var diff=b.dist-a.dist;if(diff)return diff;if(a.corners===top)return 1;if(b.corners===top)return-1;return 0});ctx.lineWidth=this._getStrokeWidth(point);ctx.strokeStyle=borderColor;ctx.fillStyle=color;for(j=2;j<surfaces.length;j++){surface=surfaces[j];corners=surface.corners;ctx.beginPath();ctx.moveTo(corners[3].screen.x,corners[3].screen.y);ctx.lineTo(corners[0].screen.x,corners[0].screen.y);ctx.lineTo(corners[1].screen.x,corners[1].screen.y);ctx.lineTo(corners[2].screen.x,corners[2].screen.y);ctx.lineTo(corners[3].screen.x,corners[3].screen.y);ctx.fill();ctx.stroke()}}};Graph3d.prototype._redrawDataLine=function(){var canvas=this.frame.canvas,ctx=canvas.getContext(\"2d\"),point,i;if(this.dataPoints===undefined||this.dataPoints.length<=0)return;for(i=0;i<this.dataPoints.length;i++){var trans=this._convertPointToTranslation(this.dataPoints[i].point);var screen=this._convertTranslationToScreen(trans);this.dataPoints[i].trans=trans;this.dataPoints[i].screen=screen}if(this.dataPoints.length>0){point=this.dataPoints[0];ctx.lineWidth=this._getStrokeWidth(point);ctx.lineJoin=\"round\";ctx.lineCap=\"round\";ctx.strokeStyle=this.dataColor.stroke;ctx.beginPath();ctx.moveTo(point.screen.x,point.screen.y);for(i=1;i<this.dataPoints.length;i++){point=this.dataPoints[i];ctx.lineTo(point.screen.x,point.screen.y)}ctx.stroke()}};Graph3d.prototype._onMouseDown=function(event){event=event||window.event;if(this.leftButtonDown){this._onMouseUp(event)}this.leftButtonDown=event.which?event.which===1:event.button===1;if(!this.leftButtonDown&&!this.touchDown)return;this.startMouseX=getMouseX(event);this.startMouseY=getMouseY(event);this.startStart=new Date(this.start);this.startEnd=new Date(this.end);this.startArmRotation=this.camera.getArmRotation();this.frame.style.cursor=\"move\";var me=this;this.onmousemove=function(event){me._onMouseMove(event)};this.onmouseup=function(event){me._onMouseUp(event)};util.addEventListener(document,\"mousemove\",me.onmousemove);util.addEventListener(document,\"mouseup\",me.onmouseup);util.preventDefault(event)};Graph3d.prototype._onMouseMove=function(event){event=event||window.event;var diffX=parseFloat(getMouseX(event))-this.startMouseX;var diffY=parseFloat(getMouseY(event))-this.startMouseY;var horizontalNew=this.startArmRotation.horizontal+diffX/200;var verticalNew=this.startArmRotation.vertical+diffY/200;var snapAngle=4;var snapValue=Math.sin(snapAngle/360*2*Math.PI);if(Math.abs(Math.sin(horizontalNew))<snapValue){horizontalNew=Math.round(horizontalNew/Math.PI)*Math.PI-.001}if(Math.abs(Math.cos(horizontalNew))<snapValue){horizontalNew=(Math.round(horizontalNew/Math.PI-.5)+.5)*Math.PI-.001}if(Math.abs(Math.sin(verticalNew))<snapValue){verticalNew=Math.round(verticalNew/Math.PI)*Math.PI}if(Math.abs(Math.cos(verticalNew))<snapValue){verticalNew=(Math.round(verticalNew/Math.PI-.5)+.5)*Math.PI}this.camera.setArmRotation(horizontalNew,verticalNew);this.redraw();var parameters=this.getCameraPosition();this.emit(\"cameraPositionChange\",parameters);util.preventDefault(event)};Graph3d.prototype._onMouseUp=function(event){this.frame.style.cursor=\"auto\";this.leftButtonDown=false;util.removeEventListener(document,\"mousemove\",this.onmousemove);util.removeEventListener(document,\"mouseup\",this.onmouseup);util.preventDefault(event)};Graph3d.prototype._onTooltip=function(event){var delay=300;var boundingRect=this.frame.getBoundingClientRect();var mouseX=getMouseX(event)-boundingRect.left;var mouseY=getMouseY(event)-boundingRect.top;if(!this.showTooltip){return}if(this.tooltipTimeout){clearTimeout(this.tooltipTimeout)}if(this.leftButtonDown){this._hideTooltip();return}if(this.tooltip&&this.tooltip.dataPoint){var dataPoint=this._dataPointFromXY(mouseX,mouseY);if(dataPoint!==this.tooltip.dataPoint){if(dataPoint){this._showTooltip(dataPoint)}else{this._hideTooltip()}}}else{var me=this;this.tooltipTimeout=setTimeout(function(){me.tooltipTimeout=null;var dataPoint=me._dataPointFromXY(mouseX,mouseY);if(dataPoint){me._showTooltip(dataPoint)}},delay)}};Graph3d.prototype._onTouchStart=function(event){this.touchDown=true;var me=this;this.ontouchmove=function(event){me._onTouchMove(event)};this.ontouchend=function(event){me._onTouchEnd(event)};util.addEventListener(document,\"touchmove\",me.ontouchmove);util.addEventListener(document,\"touchend\",me.ontouchend);this._onMouseDown(event)};Graph3d.prototype._onTouchMove=function(event){this._onMouseMove(event)};Graph3d.prototype._onTouchEnd=function(event){this.touchDown=false;util.removeEventListener(document,\"touchmove\",this.ontouchmove);util.removeEventListener(document,\"touchend\",this.ontouchend);this._onMouseUp(event)};Graph3d.prototype._onWheel=function(event){if(!event)event=window.event;var delta=0;if(event.wheelDelta){delta=event.wheelDelta/120}else if(event.detail){delta=-event.detail/3}if(delta){var oldLength=this.camera.getArmLength();var newLength=oldLength*(1-delta/10);this.camera.setArmLength(newLength);this.redraw();this._hideTooltip()}var parameters=this.getCameraPosition();this.emit(\"cameraPositionChange\",parameters);util.preventDefault(event)};Graph3d.prototype._insideTriangle=function(point,triangle){var a=triangle[0],b=triangle[1],c=triangle[2];function sign(x){return x>0?1:x<0?-1:0}var as=sign((b.x-a.x)*(point.y-a.y)-(b.y-a.y)*(point.x-a.x));var bs=sign((c.x-b.x)*(point.y-b.y)-(c.y-b.y)*(point.x-b.x));var cs=sign((a.x-c.x)*(point.y-c.y)-(a.y-c.y)*(point.x-c.x));return(as==0||bs==0||as==bs)&&(bs==0||cs==0||bs==cs)&&(as==0||cs==0||as==cs)};Graph3d.prototype._dataPointFromXY=function(x,y){var i,distMax=100,dataPoint=null,closestDataPoint=null,closestDist=null,center=new Point2d(x,y);if(this.style===Graph3d.STYLE.BAR||this.style===Graph3d.STYLE.BARCOLOR||this.style===Graph3d.STYLE.BARSIZE){for(i=this.dataPoints.length-1;i>=0;i--){dataPoint=this.dataPoints[i];var surfaces=dataPoint.surfaces;if(surfaces){for(var s=surfaces.length-1;s>=0;s--){var surface=surfaces[s];var corners=surface.corners;var triangle1=[corners[0].screen,corners[1].screen,corners[2].screen];var triangle2=[corners[2].screen,corners[3].screen,corners[0].screen];if(this._insideTriangle(center,triangle1)||this._insideTriangle(center,triangle2)){return dataPoint}}}}}else{for(i=0;i<this.dataPoints.length;i++){dataPoint=this.dataPoints[i];var point=dataPoint.screen;if(point){var distX=Math.abs(x-point.x);var distY=Math.abs(y-point.y);var dist=Math.sqrt(distX*distX+distY*distY);if((closestDist===null||dist<closestDist)&&dist<distMax){closestDist=dist;closestDataPoint=dataPoint}}}}return closestDataPoint};Graph3d.prototype._showTooltip=function(dataPoint){var content,line,dot;if(!this.tooltip){content=document.createElement(\"div\");content.style.position=\"absolute\";content.style.padding=\"10px\";content.style.border=\"1px solid #4d4d4d\";content.style.color=\"#1a1a1a\";content.style.background=\"rgba(255,255,255,0.7)\";content.style.borderRadius=\"2px\";content.style.boxShadow=\"5px 5px 10px rgba(128,128,128,0.5)\";line=document.createElement(\"div\");line.style.position=\"absolute\";line.style.height=\"40px\";line.style.width=\"0\";line.style.borderLeft=\"1px solid #4d4d4d\";dot=document.createElement(\"div\");dot.style.position=\"absolute\";dot.style.height=\"0\";dot.style.width=\"0\";dot.style.border=\"5px solid #4d4d4d\";dot.style.borderRadius=\"5px\";this.tooltip={dataPoint:null,dom:{content:content,line:line,dot:dot}}}else{content=this.tooltip.dom.content;line=this.tooltip.dom.line;dot=this.tooltip.dom.dot}this._hideTooltip();this.tooltip.dataPoint=dataPoint;if(typeof this.showTooltip===\"function\"){content.innerHTML=this.showTooltip(dataPoint.point)}else{content.innerHTML=\"<table>\"+\"<tr><td>x:</td><td>\"+dataPoint.point.x+\"</td></tr>\"+\"<tr><td>y:</td><td>\"+dataPoint.point.y+\"</td></tr>\"+\"<tr><td>z:</td><td>\"+dataPoint.point.z+\"</td></tr>\"+\"</table>\"}content.style.left=\"0\";content.style.top=\"0\";this.frame.appendChild(content);this.frame.appendChild(line);this.frame.appendChild(dot);var contentWidth=content.offsetWidth;var contentHeight=content.offsetHeight;var lineHeight=line.offsetHeight;var dotWidth=dot.offsetWidth;var dotHeight=dot.offsetHeight;var left=dataPoint.screen.x-contentWidth/2;left=Math.min(Math.max(left,10),this.frame.clientWidth-10-contentWidth);line.style.left=dataPoint.screen.x+\"px\";line.style.top=dataPoint.screen.y-lineHeight+\"px\";content.style.left=left+\"px\";content.style.top=dataPoint.screen.y-lineHeight-contentHeight+\"px\";dot.style.left=dataPoint.screen.x-dotWidth/2+\"px\";dot.style.top=dataPoint.screen.y-dotHeight/2+\"px\"};Graph3d.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var prop in this.tooltip.dom){if(this.tooltip.dom.hasOwnProperty(prop)){\nvar elem=this.tooltip.dom[prop];if(elem&&elem.parentNode){elem.parentNode.removeChild(elem)}}}}};function getMouseX(event){if(\"clientX\"in event)return event.clientX;return event.targetTouches[0]&&event.targetTouches[0].clientX||0}function getMouseY(event){if(\"clientY\"in event)return event.clientY;return event.targetTouches[0]&&event.targetTouches[0].clientY||0}module.exports=Graph3d},function(module,exports){\"use strict\";function Point2d(x,y){this.x=x!==undefined?x:0;this.y=y!==undefined?y:0}module.exports=Point2d},function(module,exports){module.exports=Emitter;function Emitter(obj){if(obj)return mixin(obj)}function mixin(obj){for(var key in Emitter.prototype){obj[key]=Emitter.prototype[key]}return obj}Emitter.prototype.on=Emitter.prototype.addEventListener=function(event,fn){this._callbacks=this._callbacks||{};(this._callbacks[event]=this._callbacks[event]||[]).push(fn);return this};Emitter.prototype.once=function(event,fn){var self=this;this._callbacks=this._callbacks||{};function on(){self.off(event,on);fn.apply(this,arguments)}on.fn=fn;this.on(event,on);return this};Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(event,fn){this._callbacks=this._callbacks||{};if(0==arguments.length){this._callbacks={};return this}var callbacks=this._callbacks[event];if(!callbacks)return this;if(1==arguments.length){delete this._callbacks[event];return this}var cb;for(var i=0;i<callbacks.length;i++){cb=callbacks[i];if(cb===fn||cb.fn===fn){callbacks.splice(i,1);break}}return this};Emitter.prototype.emit=function(event){this._callbacks=this._callbacks||{};var args=[].slice.call(arguments,1),callbacks=this._callbacks[event];if(callbacks){callbacks=callbacks.slice(0);for(var i=0,len=callbacks.length;i<len;++i){callbacks[i].apply(this,args)}}return this};Emitter.prototype.listeners=function(event){this._callbacks=this._callbacks||{};return this._callbacks[event]||[]};Emitter.prototype.hasListeners=function(event){return!!this.listeners(event).length}},function(module,exports){\"use strict\";function Point3d(x,y,z){this.x=x!==undefined?x:0;this.y=y!==undefined?y:0;this.z=z!==undefined?z:0}Point3d.subtract=function(a,b){var sub=new Point3d;sub.x=a.x-b.x;sub.y=a.y-b.y;sub.z=a.z-b.z;return sub};Point3d.add=function(a,b){var sum=new Point3d;sum.x=a.x+b.x;sum.y=a.y+b.y;sum.z=a.z+b.z;return sum};Point3d.avg=function(a,b){return new Point3d((a.x+b.x)/2,(a.y+b.y)/2,(a.z+b.z)/2)};Point3d.crossProduct=function(a,b){var crossproduct=new Point3d;crossproduct.x=a.y*b.z-a.z*b.y;crossproduct.y=a.z*b.x-a.x*b.z;crossproduct.z=a.x*b.y-a.y*b.x;return crossproduct};Point3d.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)};module.exports=Point3d},function(module,exports,__webpack_require__){\"use strict\";var Point3d=__webpack_require__(20);function Camera(){this.armLocation=new Point3d;this.armRotation={};this.armRotation.horizontal=0;this.armRotation.vertical=0;this.armLength=1.7;this.cameraLocation=new Point3d;this.cameraRotation=new Point3d(.5*Math.PI,0,0);this.calculateCameraOrientation()}Camera.prototype.setArmLocation=function(x,y,z){this.armLocation.x=x;this.armLocation.y=y;this.armLocation.z=z;this.calculateCameraOrientation()};Camera.prototype.setArmRotation=function(horizontal,vertical){if(horizontal!==undefined){this.armRotation.horizontal=horizontal}if(vertical!==undefined){this.armRotation.vertical=vertical;if(this.armRotation.vertical<0)this.armRotation.vertical=0;if(this.armRotation.vertical>.5*Math.PI)this.armRotation.vertical=.5*Math.PI}if(horizontal!==undefined||vertical!==undefined){this.calculateCameraOrientation()}};Camera.prototype.getArmRotation=function(){var rot={};rot.horizontal=this.armRotation.horizontal;rot.vertical=this.armRotation.vertical;return rot};Camera.prototype.setArmLength=function(length){if(length===undefined)return;this.armLength=length;if(this.armLength<.71)this.armLength=.71;if(this.armLength>5)this.armLength=5;this.calculateCameraOrientation()};Camera.prototype.getArmLength=function(){return this.armLength};Camera.prototype.getCameraLocation=function(){return this.cameraLocation};Camera.prototype.getCameraRotation=function(){return this.cameraRotation};Camera.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical);this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical);this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical);this.cameraRotation.x=Math.PI/2-this.armRotation.vertical;this.cameraRotation.y=0;this.cameraRotation.z=-this.armRotation.horizontal};module.exports=Camera},function(module,exports,__webpack_require__){\"use strict\";var DataView=__webpack_require__(16);function Filter(data,column,graph){this.data=data;this.column=column;this.graph=graph;this.index=undefined;this.value=undefined;this.values=graph.getDistinctValues(data.get(),this.column);this.values.sort(function(a,b){return a>b?1:a<b?-1:0});if(this.values.length>0){this.selectValue(0)}this.dataPoints=[];this.loaded=false;this.onLoadCallback=undefined;if(graph.animationPreload){this.loaded=false;this.loadInBackground()}else{this.loaded=true}}Filter.prototype.isLoaded=function(){return this.loaded};Filter.prototype.getLoadedProgress=function(){var len=this.values.length;var i=0;while(this.dataPoints[i]){i++}return Math.round(i/len*100)};Filter.prototype.getLabel=function(){return this.graph.filterLabel};Filter.prototype.getColumn=function(){return this.column};Filter.prototype.getSelectedValue=function(){if(this.index===undefined)return undefined;return this.values[this.index]};Filter.prototype.getValues=function(){return this.values};Filter.prototype.getValue=function(index){if(index>=this.values.length)throw\"Error: index out of range\";return this.values[index]};Filter.prototype._getDataPoints=function(index){if(index===undefined)index=this.index;if(index===undefined)return[];var dataPoints;if(this.dataPoints[index]){dataPoints=this.dataPoints[index]}else{var f={};f.column=this.column;f.value=this.values[index];var dataView=new DataView(this.data,{filter:function filter(item){return item[f.column]==f.value}}).get();dataPoints=this.graph._getDataPoints(dataView);this.dataPoints[index]=dataPoints}return dataPoints};Filter.prototype.setOnLoadCallback=function(callback){this.onLoadCallback=callback};Filter.prototype.selectValue=function(index){if(index>=this.values.length)throw\"Error: index out of range\";this.index=index;this.value=this.values[index]};Filter.prototype.loadInBackground=function(index){if(index===undefined)index=0;var frame=this.graph.frame;if(index<this.values.length){var dataPointsTemp=this._getDataPoints(index);if(frame.progress===undefined){frame.progress=document.createElement(\"DIV\");frame.progress.style.position=\"absolute\";frame.progress.style.color=\"gray\";frame.appendChild(frame.progress)}var progress=this.getLoadedProgress();frame.progress.innerHTML=\"Loading animation... \"+progress+\"%\";frame.progress.style.bottom=60+\"px\";frame.progress.style.left=10+\"px\";var me=this;setTimeout(function(){me.loadInBackground(index+1)},10);this.loaded=false}else{this.loaded=true;if(frame.progress!==undefined){frame.removeChild(frame.progress);frame.progress=undefined}if(this.onLoadCallback)this.onLoadCallback()}};module.exports=Filter},function(module,exports,__webpack_require__){\"use strict\";var util=__webpack_require__(7);function Slider(container,options){if(container===undefined){throw\"Error: No container element defined\"}this.container=container;this.visible=options&&options.visible!=undefined?options.visible:true;if(this.visible){this.frame=document.createElement(\"DIV\");this.frame.style.width=\"100%\";this.frame.style.position=\"relative\";this.container.appendChild(this.frame);this.frame.prev=document.createElement(\"INPUT\");this.frame.prev.type=\"BUTTON\";this.frame.prev.value=\"Prev\";this.frame.appendChild(this.frame.prev);this.frame.play=document.createElement(\"INPUT\");this.frame.play.type=\"BUTTON\";this.frame.play.value=\"Play\";this.frame.appendChild(this.frame.play);this.frame.next=document.createElement(\"INPUT\");this.frame.next.type=\"BUTTON\";this.frame.next.value=\"Next\";this.frame.appendChild(this.frame.next);this.frame.bar=document.createElement(\"INPUT\");this.frame.bar.type=\"BUTTON\";this.frame.bar.style.position=\"absolute\";this.frame.bar.style.border=\"1px solid red\";this.frame.bar.style.width=\"100px\";this.frame.bar.style.height=\"6px\";this.frame.bar.style.borderRadius=\"2px\";this.frame.bar.style.MozBorderRadius=\"2px\";this.frame.bar.style.border=\"1px solid #7F7F7F\";this.frame.bar.style.backgroundColor=\"#E5E5E5\";this.frame.appendChild(this.frame.bar);this.frame.slide=document.createElement(\"INPUT\");this.frame.slide.type=\"BUTTON\";this.frame.slide.style.margin=\"0px\";this.frame.slide.value=\" \";this.frame.slide.style.position=\"relative\";this.frame.slide.style.left=\"-100px\";this.frame.appendChild(this.frame.slide);var me=this;this.frame.slide.onmousedown=function(event){me._onMouseDown(event)};this.frame.prev.onclick=function(event){me.prev(event)};this.frame.play.onclick=function(event){me.togglePlay(event)};this.frame.next.onclick=function(event){me.next(event)}}this.onChangeCallback=undefined;this.values=[];this.index=undefined;this.playTimeout=undefined;this.playInterval=1e3;this.playLoop=true}Slider.prototype.prev=function(){var index=this.getIndex();if(index>0){index--;this.setIndex(index)}};Slider.prototype.next=function(){var index=this.getIndex();if(index<this.values.length-1){index++;this.setIndex(index)}};Slider.prototype.playNext=function(){var start=new Date;var index=this.getIndex();if(index<this.values.length-1){index++;this.setIndex(index)}else if(this.playLoop){index=0;this.setIndex(index)}var end=new Date;var diff=end-start;var interval=Math.max(this.playInterval-diff,0);var me=this;this.playTimeout=setTimeout(function(){me.playNext()},interval)};Slider.prototype.togglePlay=function(){if(this.playTimeout===undefined){this.play()}else{this.stop()}};Slider.prototype.play=function(){if(this.playTimeout)return;this.playNext();if(this.frame){this.frame.play.value=\"Stop\"}};Slider.prototype.stop=function(){clearInterval(this.playTimeout);this.playTimeout=undefined;if(this.frame){this.frame.play.value=\"Play\"}};Slider.prototype.setOnChangeCallback=function(callback){this.onChangeCallback=callback};Slider.prototype.setPlayInterval=function(interval){this.playInterval=interval};Slider.prototype.getPlayInterval=function(interval){return this.playInterval};Slider.prototype.setPlayLoop=function(doLoop){this.playLoop=doLoop};Slider.prototype.onChange=function(){if(this.onChangeCallback!==undefined){this.onChangeCallback()}};Slider.prototype.redraw=function(){if(this.frame){this.frame.bar.style.top=this.frame.clientHeight/2-this.frame.bar.offsetHeight/2+\"px\";this.frame.bar.style.width=this.frame.clientWidth-this.frame.prev.clientWidth-this.frame.play.clientWidth-this.frame.next.clientWidth-30+\"px\";var left=this.indexToLeft(this.index);this.frame.slide.style.left=left+\"px\"}};Slider.prototype.setValues=function(values){this.values=values;if(this.values.length>0)this.setIndex(0);else this.index=undefined};Slider.prototype.setIndex=function(index){if(index<this.values.length){this.index=index;this.redraw();this.onChange()}else{throw\"Error: index out of range\"}};Slider.prototype.getIndex=function(){return this.index};Slider.prototype.get=function(){return this.values[this.index]};Slider.prototype._onMouseDown=function(event){var leftButtonDown=event.which?event.which===1:event.button===1;if(!leftButtonDown)return;this.startClientX=event.clientX;this.startSlideX=parseFloat(this.frame.slide.style.left);this.frame.style.cursor=\"move\";var me=this;this.onmousemove=function(event){me._onMouseMove(event)};this.onmouseup=function(event){me._onMouseUp(event)};util.addEventListener(document,\"mousemove\",this.onmousemove);util.addEventListener(document,\"mouseup\",this.onmouseup);util.preventDefault(event)};Slider.prototype.leftToIndex=function(left){var width=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10;var x=left-3;var index=Math.round(x/width*(this.values.length-1));if(index<0)index=0;if(index>this.values.length-1)index=this.values.length-1;return index};Slider.prototype.indexToLeft=function(index){var width=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10;var x=index/(this.values.length-1)*width;var left=x+3;return left};Slider.prototype._onMouseMove=function(event){var diff=event.clientX-this.startClientX;var x=this.startSlideX+diff;var index=this.leftToIndex(x);this.setIndex(index);util.preventDefault()};Slider.prototype._onMouseUp=function(event){this.frame.style.cursor=\"auto\";util.removeEventListener(document,\"mousemove\",this.onmousemove);util.removeEventListener(document,\"mouseup\",this.onmouseup);util.preventDefault()};module.exports=Slider},function(module,exports){\"use strict\";function StepNumber(start,end,step,prettyStep){this._start=0;this._end=0;this._step=1;this.prettyStep=true;this.precision=5;this._current=0;this.setRange(start,end,step,prettyStep)}StepNumber.prototype.setRange=function(start,end,step,prettyStep){this._start=start?start:0;this._end=end?end:0;this.setStep(step,prettyStep)};StepNumber.prototype.setStep=function(step,prettyStep){if(step===undefined||step<=0)return;if(prettyStep!==undefined)this.prettyStep=prettyStep;if(this.prettyStep===true)this._step=StepNumber.calculatePrettyStep(step);else this._step=step};StepNumber.calculatePrettyStep=function(step){var log10=function log10(x){return Math.log(x)/Math.LN10};var step1=Math.pow(10,Math.round(log10(step))),step2=2*Math.pow(10,Math.round(log10(step/2))),step5=5*Math.pow(10,Math.round(log10(step/5)));var prettyStep=step1;if(Math.abs(step2-step)<=Math.abs(prettyStep-step))prettyStep=step2;if(Math.abs(step5-step)<=Math.abs(prettyStep-step))prettyStep=step5;if(prettyStep<=0){prettyStep=1}return prettyStep};StepNumber.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))};StepNumber.prototype.getStep=function(){return this._step};StepNumber.prototype.start=function(){this._current=this._start-this._start%this._step};StepNumber.prototype.next=function(){this._current+=this._step};StepNumber.prototype.end=function(){return this._current>this._end};module.exports=StepNumber},function(module,exports,__webpack_require__){\"use strict\";var Emitter=__webpack_require__(19);var Hammer=__webpack_require__(3);var util=__webpack_require__(7);var DataSet=__webpack_require__(14);var DataView=__webpack_require__(16);var Range=__webpack_require__(29);var Core=__webpack_require__(32);var TimeAxis=__webpack_require__(41);var CurrentTime=__webpack_require__(26);var CustomTime=__webpack_require__(44);var ItemSet=__webpack_require__(33);var Configurator=__webpack_require__(45);var Validator=__webpack_require__(47)[\"default\"];var printStyle=__webpack_require__(47).printStyle;var allOptions=__webpack_require__(48).allOptions;var configureOptions=__webpack_require__(48).configureOptions;function Timeline(container,items,groups,options){if(!(this instanceof Timeline)){throw new SyntaxError(\"Constructor must be called with the new operator\")}if(!(Array.isArray(groups)||groups instanceof DataSet||groups instanceof DataView)&&groups instanceof Object){var forthArgument=options;options=groups;groups=forthArgument}var me=this;this.defaultOptions={start:null,end:null,autoResize:true,orientation:{axis:\"bottom\",item:\"bottom\"},width:null,height:null,maxHeight:null,minHeight:null};this.options=util.deepExtend({},this.defaultOptions);this._create(container);this.components=[];this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function getScale(){return me.timeAxis.step.scale},getStep:function getStep(){return me.timeAxis.step.step},toScreen:me._toScreen.bind(me),toGlobalScreen:me._toGlobalScreen.bind(me),toTime:me._toTime.bind(me),toGlobalTime:me._toGlobalTime.bind(me)}};this.range=new Range(this.body);this.components.push(this.range);this.body.range=this.range;this.timeAxis=new TimeAxis(this.body);this.timeAxis2=null;this.components.push(this.timeAxis);this.currentTime=new CurrentTime(this.body);this.components.push(this.currentTime);this.itemSet=new ItemSet(this.body);this.components.push(this.itemSet);this.itemsData=null;this.groupsData=null;this.on(\"tap\",function(event){me.emit(\"click\",me.getEventProperties(event))});this.on(\"doubletap\",function(event){me.emit(\"doubleClick\",me.getEventProperties(event))});this.dom.root.oncontextmenu=function(event){me.emit(\"contextmenu\",me.getEventProperties(event))};if(options){this.setOptions(options)}if(groups){this.setGroups(groups)}if(items){this.setItems(items)}else{this._redraw()}}Timeline.prototype=new Core;Timeline.prototype._createConfigurator=function(){return new Configurator(this,this.dom.container,configureOptions)};Timeline.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:true});this._redraw()};Timeline.prototype.setOptions=function(options){var errorFound=Validator.validate(options,allOptions);if(errorFound===true){console.log(\"%cErrors have been found in the supplied options object.\",printStyle)}Core.prototype.setOptions.call(this,options);if(\"type\"in options){if(options.type!==this.options.type){this.options.type=options.type;var itemsData=this.itemsData;if(itemsData){var selection=this.getSelection();this.setItems(null);this.setItems(itemsData);this.setSelection(selection)}}}};Timeline.prototype.setItems=function(items){var initialLoad=this.itemsData==null;var newDataSet;if(!items){newDataSet=null}else if(items instanceof DataSet||items instanceof DataView){newDataSet=items}else{newDataSet=new DataSet(items,{type:{start:\"Date\",end:\"Date\"}})}this.itemsData=newDataSet;this.itemSet&&this.itemSet.setItems(newDataSet);if(initialLoad){if(this.options.start!=undefined||this.options.end!=undefined){if(this.options.start==undefined||this.options.end==undefined){var range=this.getItemRange()}var start=this.options.start!=undefined?this.options.start:range.min;var end=this.options.end!=undefined?this.options.end:range.max;this.setWindow(start,end,{animation:false})}else{this.fit({animation:false})}}};Timeline.prototype.setGroups=function(groups){var newDataSet;if(!groups){newDataSet=null}else if(groups instanceof DataSet||groups instanceof DataView){newDataSet=groups}else{newDataSet=new DataSet(groups)}this.groupsData=newDataSet;this.itemSet.setGroups(newDataSet)};Timeline.prototype.setData=function(data){if(data&&data.groups){this.setGroups(data.groups)}if(data&&data.items){this.setItems(data.items)}};Timeline.prototype.setSelection=function(ids,options){this.itemSet&&this.itemSet.setSelection(ids);if(options&&options.focus){this.focus(ids,options)}};Timeline.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]};Timeline.prototype.focus=function(id,options){if(!this.itemsData||id==undefined)return;var ids=Array.isArray(id)?id:[id];var itemsData=this.itemsData.getDataSet().get(ids,{type:{start:\"Date\",end:\"Date\"}});var start=null;var end=null;itemsData.forEach(function(itemData){var s=itemData.start.valueOf();var e=\"end\"in itemData?itemData.end.valueOf():itemData.start.valueOf();if(start===null||s<start){start=s}if(end===null||e>end){end=e}});if(start!==null&&end!==null){var middle=(start+end)/2;var interval=Math.max(this.range.end-this.range.start,(end-start)*1.1);var animation=options&&options.animation!==undefined?options.animation:true;this.range.setRange(middle-interval/2,middle+interval/2,animation)}};Timeline.prototype.fit=function(options){var animation=options&&options.animation!==undefined?options.animation:true;var range=this.getItemRange();this.range.setRange(range.min,range.max,animation)};Timeline.prototype.getItemRange=function(){var _this=this;var range=this.getDataRange();var min=range.min;var max=range.max;var minItem=null;var maxItem=null;if(min!=null&&max!=null){var interval;var factor;var lhs;var rhs;var delta;(function(){var getStart=function getStart(item){return util.convert(item.data.start,\"Date\").valueOf()};var getEnd=function getEnd(item){var end=item.data.end!=undefined?item.data.end:item.data.start;return util.convert(end,\"Date\").valueOf()};interval=max-min;if(interval<=0){interval=10}factor=interval/_this.props.center.width;util.forEach(_this.itemSet.items,function(item){item.show();var start=getStart(item);var end=getEnd(item);var left=new Date(start-(item.getWidthLeft()+10)*factor);var right=new Date(end+(item.getWidthRight()+10)*factor);if(left<min){min=left;minItem=item}if(right>max){max=right;maxItem=item}}.bind(_this));if(minItem&&maxItem){lhs=minItem.getWidthLeft()+10;rhs=maxItem.getWidthRight()+10;delta=_this.props.center.width-lhs-rhs;if(delta>0){min=getStart(minItem)-lhs*interval/delta;max=getEnd(maxItem)+rhs*interval/delta}}})()}return{min:min!=null?new Date(min):null,max:max!=null?new Date(max):null}};Timeline.prototype.getDataRange=function(){var min=null;var max=null;var dataset=this.itemsData&&this.itemsData.getDataSet();if(dataset){dataset.forEach(function(item){var start=util.convert(item.start,\"Date\").valueOf();var end=util.convert(item.end!=undefined?item.end:item.start,\"Date\").valueOf();if(min===null||start<min){min=start}if(max===null||end>max){max=start}})}return{min:min!=null?new Date(min):null,max:max!=null?new Date(max):null}};Timeline.prototype.getEventProperties=function(event){var clientX=event.center?event.center.x:event.clientX;var clientY=event.center?event.center.y:event.clientY;var x=clientX-util.getAbsoluteLeft(this.dom.centerContainer);var y=clientY-util.getAbsoluteTop(this.dom.centerContainer);var item=this.itemSet.itemFromTarget(event);var group=this.itemSet.groupFromTarget(event);var customTime=CustomTime.customTimeFromTarget(event);var snap=this.itemSet.options.snap||null;var scale=this.body.util.getScale();var step=this.body.util.getStep();var time=this._toTime(x);var snappedTime=snap?snap(time,scale,step):time;var element=util.getTarget(event);var what=null;if(item!=null){what=\"item\"}else if(customTime!=null){what=\"custom-time\"}else if(util.hasParent(element,this.timeAxis.dom.foreground)){what=\"axis\"}else if(this.timeAxis2&&util.hasParent(element,this.timeAxis2.dom.foreground)){what=\"axis\"}else if(util.hasParent(element,this.itemSet.dom.labelSet)){what=\"group-label\"}else if(util.hasParent(element,this.currentTime.bar)){what=\"current-time\"}else if(util.hasParent(element,this.dom.center)){what=\"background\"}return{event:event,item:item?item.id:null,group:group?group.groupId:null,what:what,pageX:event.srcEvent?event.srcEvent.pageX:event.pageX,pageY:event.srcEvent?event.srcEvent.pageY:event.pageY,x:x,y:y,time:time,snappedTime:snappedTime}};module.exports=Timeline},function(module,exports,__webpack_require__){\"use strict\";var util=__webpack_require__(7);var Component=__webpack_require__(27);var moment=__webpack_require__(8);var locales=__webpack_require__(28);function CurrentTime(body,options){this.body=body;this.defaultOptions={showCurrentTime:true,locales:locales,locale:\"en\"};this.options=util.extend({},this.defaultOptions);this.offset=0;this._create();this.setOptions(options)}CurrentTime.prototype=new Component;CurrentTime.prototype._create=function(){var bar=document.createElement(\"div\");bar.className=\"vis-current-time\";bar.style.position=\"absolute\";bar.style.top=\"0px\";bar.style.height=\"100%\";this.bar=bar};CurrentTime.prototype.destroy=function(){this.options.showCurrentTime=false;this.redraw();this.body=null};CurrentTime.prototype.setOptions=function(options){if(options){util.selectiveExtend([\"showCurrentTime\",\"locale\",\"locales\"],this.options,options)}};CurrentTime.prototype.redraw=function(){if(this.options.showCurrentTime){var parent=this.body.dom.backgroundVertical;if(this.bar.parentNode!=parent){if(this.bar.parentNode){this.bar.parentNode.removeChild(this.bar)}parent.appendChild(this.bar);this.start()}var now=new Date((new Date).valueOf()+this.offset);var x=this.body.util.toScreen(now);var locale=this.options.locales[this.options.locale];if(!locale){if(!this.warned){console.log(\"WARNING: options.locales['\"+this.options.locale+\"'] not found. See http://visjs.org/docs/timeline.html#Localization\");this.warned=true}locale=this.options.locales[\"en\"]}var title=locale.current+\" \"+locale.time+\": \"+moment(now).format(\"dddd, MMMM Do YYYY, H:mm:ss\");title=title.charAt(0).toUpperCase()+title.substring(1);this.bar.style.left=x+\"px\";this.bar.title=title}else{if(this.bar.parentNode){this.bar.parentNode.removeChild(this.bar)}this.stop()}return false};CurrentTime.prototype.start=function(){var me=this;function update(){me.stop();var scale=me.body.range.conversion(me.body.domProps.center.width).scale;var interval=1/scale/10;if(interval<30)interval=30;if(interval>1e3)interval=1e3;me.redraw();me.currentTimeTimer=setTimeout(update,interval)}update()};CurrentTime.prototype.stop=function(){if(this.currentTimeTimer!==undefined){clearTimeout(this.currentTimeTimer);delete this.currentTimeTimer}};CurrentTime.prototype.setCurrentTime=function(time){var t=util.convert(time,\"Date\").valueOf();var now=(new Date).valueOf();this.offset=t-now;this.redraw()};CurrentTime.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)};module.exports=CurrentTime},function(module,exports){\"use strict\";function Component(body,options){this.options=null;this.props=null}Component.prototype.setOptions=function(options){if(options){util.extend(this.options,options)}};Component.prototype.redraw=function(){return false};Component.prototype.destroy=function(){};Component.prototype._isResized=function(){var resized=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;this.props._previousWidth=this.props.width;this.props._previousHeight=this.props.height;return resized};module.exports=Component},function(module,exports){\"use strict\";exports[\"en\"]={current:\"current\",time:\"time\"};exports[\"en_EN\"]=exports[\"en\"];exports[\"en_US\"]=exports[\"en\"];exports[\"nl\"]={current:\"huidige\",time:\"tijd\"};exports[\"nl_NL\"]=exports[\"nl\"];exports[\"nl_BE\"]=exports[\"nl\"]},function(module,exports,__webpack_require__){\"use strict\";var util=__webpack_require__(7);var hammerUtil=__webpack_require__(30);var moment=__webpack_require__(8);var Component=__webpack_require__(27);var DateUtil=__webpack_require__(31);function Range(body,options){var now=moment().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=now.clone().add(-3,\"days\").valueOf();this.end=now.clone().add(4,\"days\").valueOf();this.body=body;this.deltaDifference=0;this.scaleOffset=0;this.startToFront=false;this.endToFront=true;this.defaultOptions={start:null,end:null,direction:\"horizontal\",moveable:true,zoomable:true,min:null,max:null,zoomMin:10,zoomMax:1e3*60*60*24*365*1e4};this.options=util.extend({},this.defaultOptions);this.props={touch:{}};this.animationTimer=null;this.body.emitter.on(\"panstart\",this._onDragStart.bind(this));this.body.emitter.on(\"panmove\",this._onDrag.bind(this));this.body.emitter.on(\"panend\",this._onDragEnd.bind(this));this.body.emitter.on(\"mousewheel\",this._onMouseWheel.bind(this));this.body.emitter.on(\"touch\",this._onTouch.bind(this));this.body.emitter.on(\"pinch\",this._onPinch.bind(this));this.setOptions(options)}Range.prototype=new Component;Range.prototype.setOptions=function(options){if(options){var fields=[\"direction\",\"min\",\"max\",\"zoomMin\",\"zoomMax\",\"moveable\",\"zoomable\",\"activate\",\"hiddenDates\"];util.selectiveExtend(fields,this.options,options);if(\"start\"in options||\"end\"in options){this.setRange(options.start,options.end)}}};function validateDirection(direction){if(direction!=\"horizontal\"&&direction!=\"vertical\"){throw new TypeError('Unknown direction \"'+direction+'\". '+'Choose \"horizontal\" or \"vertical\".')}}Range.prototype.setRange=function(start,end,animation,byUser){if(byUser!==true){byUser=false}var finalStart=start!=undefined?util.convert(start,\"Date\").valueOf():null;var finalEnd=end!=undefined?util.convert(end,\"Date\").valueOf():null;this._cancelAnimation();if(animation){var me=this;var initStart=this.start;var initEnd=this.end;var duration=typeof animation===\"object\"&&\"duration\"in animation?animation.duration:500;var easingName=typeof animation===\"object\"&&\"easingFunction\"in animation?animation.easingFunction:\"easeInOutQuad\";var easingFunction=util.easingFunctions[easingName];if(!easingFunction){throw new Error(\"Unknown easing function \"+JSON.stringify(easingName)+\". \"+\"Choose from: \"+Object.keys(util.easingFunctions).join(\", \"))}var initTime=(new Date).valueOf();var anyChanged=false;var next=function next(){if(!me.props.touch.dragging){var now=(new Date).valueOf();var time=now-initTime;var ease=easingFunction(time/duration);var done=time>duration;var s=done||finalStart===null?finalStart:initStart+(finalStart-initStart)*ease;var e=done||finalEnd===null?finalEnd:initEnd+(finalEnd-initEnd)*ease;changed=me._applyRange(s,e);DateUtil.updateHiddenDates(me.body,me.options.hiddenDates);anyChanged=anyChanged||changed;if(changed){me.body.emitter.emit(\"rangechange\",{start:new Date(me.start),end:new Date(me.end),byUser:byUser})}if(done){if(anyChanged){me.body.emitter.emit(\"rangechanged\",{start:new Date(me.start),end:new Date(me.end),byUser:byUser})}}else{me.animationTimer=setTimeout(next,20)}}};return next()}else{var changed=this._applyRange(finalStart,finalEnd);DateUtil.updateHiddenDates(this.body,this.options.hiddenDates);if(changed){var params={start:new Date(this.start),end:new Date(this.end),byUser:byUser};this.body.emitter.emit(\"rangechange\",params);this.body.emitter.emit(\"rangechanged\",params)}}};Range.prototype._cancelAnimation=function(){if(this.animationTimer){clearTimeout(this.animationTimer);this.animationTimer=null}};Range.prototype._applyRange=function(start,end){var newStart=start!=null?util.convert(start,\"Date\").valueOf():this.start,newEnd=end!=null?util.convert(end,\"Date\").valueOf():this.end,max=this.options.max!=null?util.convert(this.options.max,\"Date\").valueOf():null,min=this.options.min!=null?util.convert(this.options.min,\"Date\").valueOf():null,diff;if(isNaN(newStart)||newStart===null){throw new Error('Invalid start \"'+start+'\"')}if(isNaN(newEnd)||newEnd===null){throw new Error('Invalid end \"'+end+'\"')}if(newEnd<newStart){newEnd=newStart}if(min!==null){if(newStart<min){diff=min-newStart;newStart+=diff;newEnd+=diff;if(max!=null){if(newEnd>max){newEnd=max}}}}if(max!==null){if(newEnd>max){diff=newEnd-max;newStart-=diff;newEnd-=diff;if(min!=null){if(newStart<min){newStart=min}}}}if(this.options.zoomMin!==null){var zoomMin=parseFloat(this.options.zoomMin);if(zoomMin<0){zoomMin=0}if(newEnd-newStart<zoomMin){if(this.end-this.start===zoomMin&&newStart>this.start&&newEnd<this.end){newStart=this.start;newEnd=this.end}else{diff=zoomMin-(newEnd-newStart);newStart-=diff/2;newEnd+=diff/2}}}if(this.options.zoomMax!==null){var zoomMax=parseFloat(this.options.zoomMax);if(zoomMax<0){zoomMax=0}if(newEnd-newStart>zoomMax){if(this.end-this.start===zoomMax&&newStart<this.start&&newEnd>this.end){newStart=this.start;newEnd=this.end}else{diff=newEnd-newStart-zoomMax;newStart+=diff/2;newEnd-=diff/2}}}var changed=this.start!=newStart||this.end!=newEnd;if(!(newStart>=this.start&&newStart<=this.end||newEnd>=this.start&&newEnd<=this.end)&&!(this.start>=newStart&&this.start<=newEnd||this.end>=newStart&&this.end<=newEnd)){this.body.emitter.emit(\"checkRangedItems\")}this.start=newStart;this.end=newEnd;return changed};Range.prototype.getRange=function(){return{start:this.start,end:this.end}};Range.prototype.conversion=function(width,totalHidden){return Range.conversion(this.start,this.end,width,totalHidden)};Range.conversion=function(start,end,width,totalHidden){if(totalHidden===undefined){totalHidden=0}if(width!=0&&end-start!=0){\nreturn{offset:start,scale:width/(end-start-totalHidden)}}else{return{offset:0,scale:1}}};Range.prototype._onDragStart=function(event){this.deltaDifference=0;this.previousDelta=0;if(!this.options.moveable)return;if(!this.props.touch.allowDragging)return;this.props.touch.start=this.start;this.props.touch.end=this.end;this.props.touch.dragging=true;if(this.body.dom.root){this.body.dom.root.style.cursor=\"move\"}};Range.prototype._onDrag=function(event){if(!this.options.moveable)return;if(!this.props.touch.allowDragging)return;var direction=this.options.direction;validateDirection(direction);var delta=direction==\"horizontal\"?event.deltaX:event.deltaY;delta-=this.deltaDifference;var interval=this.props.touch.end-this.props.touch.start;var duration=DateUtil.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);interval-=duration;var width=direction==\"horizontal\"?this.body.domProps.center.width:this.body.domProps.center.height;var diffRange=-delta/width*interval;var newStart=this.props.touch.start+diffRange;var newEnd=this.props.touch.end+diffRange;var safeStart=DateUtil.snapAwayFromHidden(this.body.hiddenDates,newStart,this.previousDelta-delta,true);var safeEnd=DateUtil.snapAwayFromHidden(this.body.hiddenDates,newEnd,this.previousDelta-delta,true);if(safeStart!=newStart||safeEnd!=newEnd){this.deltaDifference+=delta;this.props.touch.start=safeStart;this.props.touch.end=safeEnd;this._onDrag(event);return}this.previousDelta=delta;this._applyRange(newStart,newEnd);this.body.emitter.emit(\"rangechange\",{start:new Date(this.start),end:new Date(this.end),byUser:true})};Range.prototype._onDragEnd=function(event){if(!this.options.moveable)return;if(!this.props.touch.allowDragging)return;this.props.touch.dragging=false;if(this.body.dom.root){this.body.dom.root.style.cursor=\"auto\"}this.body.emitter.emit(\"rangechanged\",{start:new Date(this.start),end:new Date(this.end),byUser:true})};Range.prototype._onMouseWheel=function(event){if(!(this.options.zoomable&&this.options.moveable))return;var delta=0;if(event.wheelDelta){delta=event.wheelDelta/120}else if(event.detail){delta=-event.detail/3}if(delta){var scale;if(delta<0){scale=1-delta/5}else{scale=1/(1+delta/5)}var pointer=getPointer({x:event.clientX,y:event.clientY},this.body.dom.center);var pointerDate=this._pointerToDate(pointer);this.zoom(scale,pointerDate,delta)}event.preventDefault()};Range.prototype._onTouch=function(event){this.props.touch.start=this.start;this.props.touch.end=this.end;this.props.touch.allowDragging=true;this.props.touch.center=null;this.scaleOffset=0;this.deltaDifference=0};Range.prototype._onPinch=function(event){if(!(this.options.zoomable&&this.options.moveable))return;this.props.touch.allowDragging=false;if(!this.props.touch.center){this.props.touch.center=getPointer(event.center,this.body.dom.center)}var scale=1/(event.scale+this.scaleOffset);var centerDate=this._pointerToDate(this.props.touch.center);var hiddenDuration=DateUtil.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);var hiddenDurationBefore=DateUtil.getHiddenDurationBefore(this.body.hiddenDates,this,centerDate);var hiddenDurationAfter=hiddenDuration-hiddenDurationBefore;var newStart=centerDate-hiddenDurationBefore+(this.props.touch.start-(centerDate-hiddenDurationBefore))*scale;var newEnd=centerDate+hiddenDurationAfter+(this.props.touch.end-(centerDate+hiddenDurationAfter))*scale;this.startToFront=1-scale<=0;this.endToFront=scale-1<=0;var safeStart=DateUtil.snapAwayFromHidden(this.body.hiddenDates,newStart,1-scale,true);var safeEnd=DateUtil.snapAwayFromHidden(this.body.hiddenDates,newEnd,scale-1,true);if(safeStart!=newStart||safeEnd!=newEnd){this.props.touch.start=safeStart;this.props.touch.end=safeEnd;this.scaleOffset=1-event.scale;newStart=safeStart;newEnd=safeEnd}this.setRange(newStart,newEnd,false,true);this.startToFront=false;this.endToFront=true};Range.prototype._pointerToDate=function(pointer){var conversion;var direction=this.options.direction;validateDirection(direction);if(direction==\"horizontal\"){return this.body.util.toTime(pointer.x).valueOf()}else{var height=this.body.domProps.center.height;conversion=this.conversion(height);return pointer.y/conversion.scale+conversion.offset}};function getPointer(touch,element){return{x:touch.x-util.getAbsoluteLeft(element),y:touch.y-util.getAbsoluteTop(element)}}Range.prototype.zoom=function(scale,center,delta){if(center==null){center=(this.start+this.end)/2}var hiddenDuration=DateUtil.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);var hiddenDurationBefore=DateUtil.getHiddenDurationBefore(this.body.hiddenDates,this,center);var hiddenDurationAfter=hiddenDuration-hiddenDurationBefore;var newStart=center-hiddenDurationBefore+(this.start-(center-hiddenDurationBefore))*scale;var newEnd=center+hiddenDurationAfter+(this.end-(center+hiddenDurationAfter))*scale;this.startToFront=delta>0?false:true;this.endToFront=-delta>0?false:true;var safeStart=DateUtil.snapAwayFromHidden(this.body.hiddenDates,newStart,delta,true);var safeEnd=DateUtil.snapAwayFromHidden(this.body.hiddenDates,newEnd,-delta,true);if(safeStart!=newStart||safeEnd!=newEnd){newStart=safeStart;newEnd=safeEnd}this.setRange(newStart,newEnd,false,true);this.startToFront=false;this.endToFront=true};Range.prototype.move=function(delta){var diff=this.end-this.start;var newStart=this.start+diff*delta;var newEnd=this.end+diff*delta;this.start=newStart;this.end=newEnd};Range.prototype.moveTo=function(moveTo){var center=(this.start+this.end)/2;var diff=center-moveTo;var newStart=this.start-diff;var newEnd=this.end-diff;this.setRange(newStart,newEnd)};module.exports=Range},function(module,exports,__webpack_require__){\"use strict\";var Hammer=__webpack_require__(3);exports.onTouch=function(hammer,callback){callback.inputHandler=function(event){if(event.isFirst&&!isTouching){callback(event);isTouching=true;setTimeout(function(){isTouching=false},0)}};hammer.on(\"hammer.input\",callback.inputHandler)};var isTouching=false;exports.onRelease=function(hammer,callback){callback.inputHandler=function(event){if(event.isFinal&&!isReleasing){callback(event);isReleasing=true;setTimeout(function(){isReleasing=false},0)}};return hammer.on(\"hammer.input\",callback.inputHandler)};var isReleasing=false;exports.offTouch=function(hammer,callback){hammer.off(\"hammer.input\",callback.inputHandler)};exports.offRelease=exports.offTouch},function(module,exports,__webpack_require__){\"use strict\";var moment=__webpack_require__(8);exports.convertHiddenOptions=function(body,hiddenDates){body.hiddenDates=[];if(hiddenDates){if(Array.isArray(hiddenDates)==true){for(var i=0;i<hiddenDates.length;i++){if(hiddenDates[i].repeat===undefined){var dateItem={};dateItem.start=moment(hiddenDates[i].start).toDate().valueOf();dateItem.end=moment(hiddenDates[i].end).toDate().valueOf();body.hiddenDates.push(dateItem)}}body.hiddenDates.sort(function(a,b){return a.start-b.start})}}};exports.updateHiddenDates=function(body,hiddenDates){if(hiddenDates&&body.domProps.centerContainer.width!==undefined){exports.convertHiddenOptions(body,hiddenDates);var start=moment(body.range.start);var end=moment(body.range.end);var totalRange=body.range.end-body.range.start;var pixelTime=totalRange/body.domProps.centerContainer.width;for(var i=0;i<hiddenDates.length;i++){if(hiddenDates[i].repeat!==undefined){var startDate=moment(hiddenDates[i].start);var endDate=moment(hiddenDates[i].end);if(startDate._d==\"Invalid Date\"){throw new Error(\"Supplied start date is not valid: \"+hiddenDates[i].start)}if(endDate._d==\"Invalid Date\"){throw new Error(\"Supplied end date is not valid: \"+hiddenDates[i].end)}var duration=endDate-startDate;if(duration>=4*pixelTime){var offset=0;var runUntil=end.clone();switch(hiddenDates[i].repeat){case\"daily\":if(startDate.day()!=endDate.day()){offset=1}startDate.dayOfYear(start.dayOfYear());startDate.year(start.year());startDate.subtract(7,\"days\");endDate.dayOfYear(start.dayOfYear());endDate.year(start.year());endDate.subtract(7-offset,\"days\");runUntil.add(1,\"weeks\");break;case\"weekly\":var dayOffset=endDate.diff(startDate,\"days\");var day=startDate.day();startDate.date(start.date());startDate.month(start.month());startDate.year(start.year());endDate=startDate.clone();startDate.day(day);endDate.day(day);endDate.add(dayOffset,\"days\");startDate.subtract(1,\"weeks\");endDate.subtract(1,\"weeks\");runUntil.add(1,\"weeks\");break;case\"monthly\":if(startDate.month()!=endDate.month()){offset=1}startDate.month(start.month());startDate.year(start.year());startDate.subtract(1,\"months\");endDate.month(start.month());endDate.year(start.year());endDate.subtract(1,\"months\");endDate.add(offset,\"months\");runUntil.add(1,\"months\");break;case\"yearly\":if(startDate.year()!=endDate.year()){offset=1}startDate.year(start.year());startDate.subtract(1,\"years\");endDate.year(start.year());endDate.subtract(1,\"years\");endDate.add(offset,\"years\");runUntil.add(1,\"years\");break;default:console.log(\"Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:\",hiddenDates[i].repeat);return}while(startDate<runUntil){body.hiddenDates.push({start:startDate.valueOf(),end:endDate.valueOf()});switch(hiddenDates[i].repeat){case\"daily\":startDate.add(1,\"days\");endDate.add(1,\"days\");break;case\"weekly\":startDate.add(1,\"weeks\");endDate.add(1,\"weeks\");break;case\"monthly\":startDate.add(1,\"months\");endDate.add(1,\"months\");break;case\"yearly\":startDate.add(1,\"y\");endDate.add(1,\"y\");break;default:console.log(\"Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:\",hiddenDates[i].repeat);return}}body.hiddenDates.push({start:startDate.valueOf(),end:endDate.valueOf()})}}}exports.removeDuplicates(body);var startHidden=exports.isHidden(body.range.start,body.hiddenDates);var endHidden=exports.isHidden(body.range.end,body.hiddenDates);var rangeStart=body.range.start;var rangeEnd=body.range.end;if(startHidden.hidden==true){rangeStart=body.range.startToFront==true?startHidden.startDate-1:startHidden.endDate+1}if(endHidden.hidden==true){rangeEnd=body.range.endToFront==true?endHidden.startDate-1:endHidden.endDate+1}if(startHidden.hidden==true||endHidden.hidden==true){body.range._applyRange(rangeStart,rangeEnd)}}};exports.removeDuplicates=function(body){var hiddenDates=body.hiddenDates;var safeDates=[];for(var i=0;i<hiddenDates.length;i++){for(var j=0;j<hiddenDates.length;j++){if(i!=j&&hiddenDates[j].remove!=true&&hiddenDates[i].remove!=true){if(hiddenDates[j].start>=hiddenDates[i].start&&hiddenDates[j].end<=hiddenDates[i].end){hiddenDates[j].remove=true}else if(hiddenDates[j].start>=hiddenDates[i].start&&hiddenDates[j].start<=hiddenDates[i].end){hiddenDates[i].end=hiddenDates[j].end;hiddenDates[j].remove=true}else if(hiddenDates[j].end>=hiddenDates[i].start&&hiddenDates[j].end<=hiddenDates[i].end){hiddenDates[i].start=hiddenDates[j].start;hiddenDates[j].remove=true}}}}for(var i=0;i<hiddenDates.length;i++){if(hiddenDates[i].remove!==true){safeDates.push(hiddenDates[i])}}body.hiddenDates=safeDates;body.hiddenDates.sort(function(a,b){return a.start-b.start})};exports.printDates=function(dates){for(var i=0;i<dates.length;i++){console.log(i,new Date(dates[i].start),new Date(dates[i].end),dates[i].start,dates[i].end,dates[i].remove)}};exports.stepOverHiddenDates=function(timeStep,previousTime){var stepInHidden=false;var currentValue=timeStep.current.valueOf();for(var i=0;i<timeStep.hiddenDates.length;i++){var startDate=timeStep.hiddenDates[i].start;var endDate=timeStep.hiddenDates[i].end;if(currentValue>=startDate&¤tValue<endDate){stepInHidden=true;break}}if(stepInHidden==true&¤tValue<timeStep._end.valueOf()&¤tValue!=previousTime){var prevValue=moment(previousTime);var newValue=moment(endDate);if(prevValue.year()!=newValue.year()){timeStep.switchedYear=true}else if(prevValue.month()!=newValue.month()){timeStep.switchedMonth=true}else if(prevValue.dayOfYear()!=newValue.dayOfYear()){timeStep.switchedDay=true}timeStep.current=newValue.toDate()}};exports.toScreen=function(Core,time,width){if(Core.body.hiddenDates.length==0){var conversion=Core.range.conversion(width);return(time.valueOf()-conversion.offset)*conversion.scale}else{var hidden=exports.isHidden(time,Core.body.hiddenDates);if(hidden.hidden==true){time=hidden.startDate}var duration=exports.getHiddenDurationBetween(Core.body.hiddenDates,Core.range.start,Core.range.end);time=exports.correctTimeForHidden(Core.body.hiddenDates,Core.range,time);var conversion=Core.range.conversion(width,duration);return(time.valueOf()-conversion.offset)*conversion.scale}};exports.toTime=function(Core,x,width){if(Core.body.hiddenDates.length==0){var conversion=Core.range.conversion(width);return new Date(x/conversion.scale+conversion.offset)}else{var hiddenDuration=exports.getHiddenDurationBetween(Core.body.hiddenDates,Core.range.start,Core.range.end);var totalDuration=Core.range.end-Core.range.start-hiddenDuration;var partialDuration=totalDuration*x/width;var accumulatedHiddenDuration=exports.getAccumulatedHiddenDuration(Core.body.hiddenDates,Core.range,partialDuration);var newTime=new Date(accumulatedHiddenDuration+partialDuration+Core.range.start);return newTime}};exports.getHiddenDurationBetween=function(hiddenDates,start,end){var duration=0;for(var i=0;i<hiddenDates.length;i++){var startDate=hiddenDates[i].start;var endDate=hiddenDates[i].end;if(startDate>=start&&endDate<end){duration+=endDate-startDate}}return duration};exports.correctTimeForHidden=function(hiddenDates,range,time){time=moment(time).toDate().valueOf();time-=exports.getHiddenDurationBefore(hiddenDates,range,time);return time};exports.getHiddenDurationBefore=function(hiddenDates,range,time){var timeOffset=0;time=moment(time).toDate().valueOf();for(var i=0;i<hiddenDates.length;i++){var startDate=hiddenDates[i].start;var endDate=hiddenDates[i].end;if(startDate>=range.start&&endDate<range.end){if(time>=endDate){timeOffset+=endDate-startDate}}}return timeOffset};exports.getAccumulatedHiddenDuration=function(hiddenDates,range,requiredDuration){var hiddenDuration=0;var duration=0;var previousPoint=range.start;for(var i=0;i<hiddenDates.length;i++){var startDate=hiddenDates[i].start;var endDate=hiddenDates[i].end;if(startDate>=range.start&&endDate<range.end){duration+=startDate-previousPoint;previousPoint=endDate;if(duration>=requiredDuration){break}else{hiddenDuration+=endDate-startDate}}}return hiddenDuration};exports.snapAwayFromHidden=function(hiddenDates,time,direction,correctionEnabled){var isHidden=exports.isHidden(time,hiddenDates);if(isHidden.hidden==true){if(direction<0){if(correctionEnabled==true){return isHidden.startDate-(isHidden.endDate-time)-1}else{return isHidden.startDate-1}}else{if(correctionEnabled==true){return isHidden.endDate+(time-isHidden.startDate)+1}else{return isHidden.endDate+1}}}else{return time}};exports.isHidden=function(time,hiddenDates){for(var i=0;i<hiddenDates.length;i++){var startDate=hiddenDates[i].start;var endDate=hiddenDates[i].end;if(time>=startDate&&time<endDate){return{hidden:true,startDate:startDate,endDate:endDate};break}}return{hidden:false,startDate:startDate,endDate:endDate}}},function(module,exports,__webpack_require__){\"use strict\";var Emitter=__webpack_require__(19);var Hammer=__webpack_require__(3);var hammerUtil=__webpack_require__(30);var util=__webpack_require__(7);var DataSet=__webpack_require__(14);var DataView=__webpack_require__(16);var Range=__webpack_require__(29);var ItemSet=__webpack_require__(33);var TimeAxis=__webpack_require__(41);var Activator=__webpack_require__(42);var DateUtil=__webpack_require__(31);var CustomTime=__webpack_require__(44);function Core(){}Emitter(Core.prototype);Core.prototype._create=function(container){this.dom={};this.dom.container=container;this.dom.root=document.createElement(\"div\");this.dom.background=document.createElement(\"div\");this.dom.backgroundVertical=document.createElement(\"div\");this.dom.backgroundHorizontal=document.createElement(\"div\");this.dom.centerContainer=document.createElement(\"div\");this.dom.leftContainer=document.createElement(\"div\");this.dom.rightContainer=document.createElement(\"div\");this.dom.center=document.createElement(\"div\");this.dom.left=document.createElement(\"div\");this.dom.right=document.createElement(\"div\");this.dom.top=document.createElement(\"div\");this.dom.bottom=document.createElement(\"div\");this.dom.shadowTop=document.createElement(\"div\");this.dom.shadowBottom=document.createElement(\"div\");this.dom.shadowTopLeft=document.createElement(\"div\");this.dom.shadowBottomLeft=document.createElement(\"div\");this.dom.shadowTopRight=document.createElement(\"div\");this.dom.shadowBottomRight=document.createElement(\"div\");this.dom.root.className=\"vis-timeline\";this.dom.background.className=\"vis-panel vis-background\";this.dom.backgroundVertical.className=\"vis-panel vis-background vis-vertical\";this.dom.backgroundHorizontal.className=\"vis-panel vis-background vis-horizontal\";this.dom.centerContainer.className=\"vis-panel vis-center\";this.dom.leftContainer.className=\"vis-panel vis-left\";this.dom.rightContainer.className=\"vis-panel vis-right\";this.dom.top.className=\"vis-panel vis-top\";this.dom.bottom.className=\"vis-panel vis-bottom\";this.dom.left.className=\"vis-content\";this.dom.center.className=\"vis-content\";this.dom.right.className=\"vis-content\";this.dom.shadowTop.className=\"vis-shadow vis-top\";this.dom.shadowBottom.className=\"vis-shadow vis-bottom\";this.dom.shadowTopLeft.className=\"vis-shadow vis-top\";this.dom.shadowBottomLeft.className=\"vis-shadow vis-bottom\";this.dom.shadowTopRight.className=\"vis-shadow vis-top\";this.dom.shadowBottomRight.className=\"vis-shadow vis-bottom\";this.dom.root.appendChild(this.dom.background);this.dom.root.appendChild(this.dom.backgroundVertical);this.dom.root.appendChild(this.dom.backgroundHorizontal);this.dom.root.appendChild(this.dom.centerContainer);this.dom.root.appendChild(this.dom.leftContainer);this.dom.root.appendChild(this.dom.rightContainer);this.dom.root.appendChild(this.dom.top);this.dom.root.appendChild(this.dom.bottom);this.dom.centerContainer.appendChild(this.dom.center);this.dom.leftContainer.appendChild(this.dom.left);this.dom.rightContainer.appendChild(this.dom.right);this.dom.centerContainer.appendChild(this.dom.shadowTop);this.dom.centerContainer.appendChild(this.dom.shadowBottom);this.dom.leftContainer.appendChild(this.dom.shadowTopLeft);this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft);this.dom.rightContainer.appendChild(this.dom.shadowTopRight);this.dom.rightContainer.appendChild(this.dom.shadowBottomRight);this.on(\"rangechange\",this.redraw.bind(this));this.on(\"touch\",this._onTouch.bind(this));this.on(\"pan\",this._onDrag.bind(this));var me=this;this.on(\"change\",function(properties){if(properties&&properties.queue==true){if(!me._redrawTimer){me._redrawTimer=setTimeout(function(){me._redrawTimer=null;me._redraw()},0)}}else{me._redraw()}});this.hammer=new Hammer(this.dom.root);this.hammer.get(\"pinch\").set({enable:true});this.hammer.get(\"pan\").set({threshold:5,direction:30});this.listeners={};var events=[\"tap\",\"doubletap\",\"press\",\"pinch\",\"pan\",\"panstart\",\"panmove\",\"panend\"];events.forEach(function(type){var listener=function listener(event){if(me.isActive()){me.emit(type,event)}};me.hammer.on(type,listener);me.listeners[type]=listener});hammerUtil.onTouch(this.hammer,function(event){me.emit(\"touch\",event)}.bind(this));hammerUtil.onRelease(this.hammer,function(event){me.emit(\"release\",event)}.bind(this));function onMouseWheel(event){if(me.isActive()){me.emit(\"mousewheel\",event)}}this.dom.root.addEventListener(\"mousewheel\",onMouseWheel);this.dom.root.addEventListener(\"DOMMouseScroll\",onMouseWheel);this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0};this.customTimes=[];this.touch={};this.redrawCount=0;if(!container)throw new Error(\"No container provided\");container.appendChild(this.dom.root)};Core.prototype.setOptions=function(options){if(options){var fields=[\"width\",\"height\",\"minHeight\",\"maxHeight\",\"autoResize\",\"start\",\"end\",\"clickToUse\",\"dataAttributes\",\"hiddenDates\"];util.selectiveExtend(fields,this.options,options);if(\"orientation\"in options){if(typeof options.orientation===\"string\"){this.options.orientation={item:options.orientation,axis:options.orientation}}else if(typeof options.orientation===\"object\"){if(\"item\"in options.orientation){this.options.orientation.item=options.orientation.item}if(\"axis\"in options.orientation){this.options.orientation.axis=options.orientation.axis}}}if(this.options.orientation.axis===\"both\"){if(!this.timeAxis2){var timeAxis2=this.timeAxis2=new TimeAxis(this.body);timeAxis2.setOptions=function(options){var _options=options?util.extend({},options):{};_options.orientation=\"top\";TimeAxis.prototype.setOptions.call(timeAxis2,_options)};this.components.push(timeAxis2)}}else{if(this.timeAxis2){var index=this.components.indexOf(this.timeAxis2);if(index!==-1){this.components.splice(index,1)}this.timeAxis2.destroy();this.timeAxis2=null}}if(typeof options.drawPoints==\"function\"){options.drawPoints={onRender:options.drawPoints}}if(\"hiddenDates\"in this.options){DateUtil.convertHiddenOptions(this.body,this.options.hiddenDates)}if(\"clickToUse\"in options){if(options.clickToUse){if(!this.activator){this.activator=new Activator(this.dom.root)}}else{if(this.activator){this.activator.destroy();delete this.activator}}}if(\"showCustomTime\"in options){throw new Error(\"Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])\")}this._initAutoResize()}this.components.forEach(function(component){return component.setOptions(options)});if(\"configure\"in options){if(!this.configurator){this.configurator=this._createConfigurator()}this.configurator.setOptions(options.configure);var appliedOptions=util.deepExtend({},this.options);this.components.forEach(function(component){util.deepExtend(appliedOptions,component.options)});this.configurator.setModuleOptions({global:appliedOptions})}this._redraw()};Core.prototype.isActive=function(){return!this.activator||this.activator.active};Core.prototype.destroy=function(){this.setItems(null);this.setGroups(null);this.off();this._stopAutoResize();if(this.dom.root.parentNode){this.dom.root.parentNode.removeChild(this.dom.root)}this.dom=null;if(this.activator){this.activator.destroy();delete this.activator}for(var event in this.listeners){if(this.listeners.hasOwnProperty(event)){delete this.listeners[event]}}this.listeners=null;this.hammer=null;this.components.forEach(function(component){return component.destroy()});this.body=null};Core.prototype.setCustomTime=function(time,id){var customTimes=this.customTimes.filter(function(component){return id===component.options.id});if(customTimes.length===0){throw new Error(\"No custom time bar found with id \"+JSON.stringify(id))}if(customTimes.length>0){customTimes[0].setCustomTime(time)}};Core.prototype.getCustomTime=function(id){var customTimes=this.customTimes.filter(function(component){return component.options.id===id});if(customTimes.length===0){throw new Error(\"No custom time bar found with id \"+JSON.stringify(id))}return customTimes[0].getCustomTime()};Core.prototype.addCustomTime=function(time,id){var timestamp=time!==undefined?util.convert(time,\"Date\").valueOf():new Date;var exists=this.customTimes.some(function(customTime){return customTime.options.id===id});if(exists){throw new Error(\"A custom time with id \"+JSON.stringify(id)+\" already exists\")}var customTime=new CustomTime(this.body,{time:timestamp,id:id});this.customTimes.push(customTime);this.components.push(customTime);this.redraw();return id};Core.prototype.removeCustomTime=function(id){var customTimes=this.customTimes.filter(function(bar){return bar.options.id===id});if(customTimes.length===0){throw new Error(\"No custom time bar found with id \"+JSON.stringify(id))}customTimes.forEach(function(customTime){this.customTimes.splice(this.customTimes.indexOf(customTime),1);this.components.splice(this.components.indexOf(customTime),1);customTime.destroy()}.bind(this))};Core.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]};Core.prototype.fit=function(options){var range=this.getDataRange();if(range.min===null&&range.max===null){return}var interval=range.max-range.min;var min=new Date(range.min.valueOf()-interval*.01);var max=new Date(range.max.valueOf()+interval*.01);var animation=options&&options.animation!==undefined?options.animation:true;this.range.setRange(min,max,animation)};Core.prototype.getDataRange=function(){throw new Error(\"Cannot invoke abstract method getDataRange\")};Core.prototype.setWindow=function(start,end,options){var animation;if(arguments.length==1){var range=arguments[0];animation=range.animation!==undefined?range.animation:true;this.range.setRange(range.start,range.end,animation)}else{animation=options&&options.animation!==undefined?options.animation:true;this.range.setRange(start,end,animation)}};Core.prototype.moveTo=function(time,options){var interval=this.range.end-this.range.start;var t=util.convert(time,\"Date\").valueOf();var start=t-interval/2;var end=t+interval/2;var animation=options&&options.animation!==undefined?options.animation:true;this.range.setRange(start,end,animation)};Core.prototype.getWindow=function(){var range=this.range.getRange();return{start:new Date(range.start),end:new Date(range.end)}};Core.prototype.redraw=function(){this._redraw()};Core.prototype._redraw=function(){var resized=false;var options=this.options;var props=this.props;var dom=this.dom;if(!dom)return;DateUtil.updateHiddenDates(this.body,this.options.hiddenDates);if(options.orientation==\"top\"){util.addClassName(dom.root,\"vis-top\");util.removeClassName(dom.root,\"vis-bottom\")}else{util.removeClassName(dom.root,\"vis-top\");util.addClassName(dom.root,\"vis-bottom\")}dom.root.style.maxHeight=util.option.asSize(options.maxHeight,\"\");dom.root.style.minHeight=util.option.asSize(options.minHeight,\"\");dom.root.style.width=util.option.asSize(options.width,\"\");props.border.left=(dom.centerContainer.offsetWidth-dom.centerContainer.clientWidth)/2;props.border.right=props.border.left;props.border.top=(dom.centerContainer.offsetHeight-dom.centerContainer.clientHeight)/2;props.border.bottom=props.border.top;var borderRootHeight=dom.root.offsetHeight-dom.root.clientHeight;var borderRootWidth=dom.root.offsetWidth-dom.root.clientWidth;if(dom.centerContainer.clientHeight===0){props.border.left=props.border.top;props.border.right=props.border.left}if(dom.root.clientHeight===0){borderRootWidth=borderRootHeight}props.center.height=dom.center.offsetHeight;props.left.height=dom.left.offsetHeight;props.right.height=dom.right.offsetHeight;props.top.height=dom.top.clientHeight||-props.border.top;props.bottom.height=dom.bottom.clientHeight||-props.border.bottom;var contentHeight=Math.max(props.left.height,props.center.height,props.right.height);var autoHeight=props.top.height+contentHeight+props.bottom.height+borderRootHeight+props.border.top+props.border.bottom;dom.root.style.height=util.option.asSize(options.height,autoHeight+\"px\");props.root.height=dom.root.offsetHeight;props.background.height=props.root.height-borderRootHeight;var containerHeight=props.root.height-props.top.height-props.bottom.height-borderRootHeight;props.centerContainer.height=containerHeight;props.leftContainer.height=containerHeight;props.rightContainer.height=props.leftContainer.height;props.root.width=dom.root.offsetWidth;props.background.width=props.root.width-borderRootWidth;props.left.width=dom.leftContainer.clientWidth||-props.border.left;props.leftContainer.width=props.left.width;props.right.width=dom.rightContainer.clientWidth||-props.border.right;props.rightContainer.width=props.right.width;var centerWidth=props.root.width-props.left.width-props.right.width-borderRootWidth;props.center.width=centerWidth;props.centerContainer.width=centerWidth;props.top.width=centerWidth;props.bottom.width=centerWidth;dom.background.style.height=props.background.height+\"px\";dom.backgroundVertical.style.height=props.background.height+\"px\";dom.backgroundHorizontal.style.height=props.centerContainer.height+\"px\";dom.centerContainer.style.height=props.centerContainer.height+\"px\";dom.leftContainer.style.height=props.leftContainer.height+\"px\";dom.rightContainer.style.height=props.rightContainer.height+\"px\";dom.background.style.width=props.background.width+\"px\";dom.backgroundVertical.style.width=props.centerContainer.width+\"px\";dom.backgroundHorizontal.style.width=props.background.width+\"px\";dom.centerContainer.style.width=props.center.width+\"px\";dom.top.style.width=props.top.width+\"px\";dom.bottom.style.width=props.bottom.width+\"px\";dom.background.style.left=\"0\";dom.background.style.top=\"0\";dom.backgroundVertical.style.left=props.left.width+props.border.left+\"px\";dom.backgroundVertical.style.top=\"0\";dom.backgroundHorizontal.style.left=\"0\";dom.backgroundHorizontal.style.top=props.top.height+\"px\";dom.centerContainer.style.left=props.left.width+\"px\";dom.centerContainer.style.top=props.top.height+\"px\";dom.leftContainer.style.left=\"0\";dom.leftContainer.style.top=props.top.height+\"px\";dom.rightContainer.style.left=props.left.width+props.center.width+\"px\";dom.rightContainer.style.top=props.top.height+\"px\";dom.top.style.left=props.left.width+\"px\";dom.top.style.top=\"0\";dom.bottom.style.left=props.left.width+\"px\";dom.bottom.style.top=props.top.height+props.centerContainer.height+\"px\";this._updateScrollTop();var offset=this.props.scrollTop;if(options.orientation.item!=\"top\"){offset+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)}dom.center.style.left=\"0\";dom.center.style.top=offset+\"px\";dom.left.style.left=\"0\";dom.left.style.top=offset+\"px\";dom.right.style.left=\"0\";dom.right.style.top=offset+\"px\";var visibilityTop=this.props.scrollTop==0?\"hidden\":\"\";var visibilityBottom=this.props.scrollTop==this.props.scrollTopMin?\"hidden\":\"\";dom.shadowTop.style.visibility=visibilityTop;dom.shadowBottom.style.visibility=visibilityBottom;dom.shadowTopLeft.style.visibility=visibilityTop;dom.shadowBottomLeft.style.visibility=visibilityBottom;dom.shadowTopRight.style.visibility=visibilityTop;dom.shadowBottomRight.style.visibility=visibilityBottom;this.components.forEach(function(component){resized=component.redraw()||resized});if(resized){var MAX_REDRAWS=3;if(this.redrawCount<MAX_REDRAWS){this.redrawCount++;this._redraw()}else{console.log(\"WARNING: infinite loop in redraw?\")}this.redrawCount=0}};Core.prototype.repaint=function(){throw new Error(\"Function repaint is deprecated. Use redraw instead.\")};Core.prototype.setCurrentTime=function(time){if(!this.currentTime){throw new Error(\"Option showCurrentTime must be true\")}this.currentTime.setCurrentTime(time)};Core.prototype.getCurrentTime=function(){if(!this.currentTime){throw new Error(\"Option showCurrentTime must be true\")}return this.currentTime.getCurrentTime()};Core.prototype._toTime=function(x){return DateUtil.toTime(this,x,this.props.center.width)};Core.prototype._toGlobalTime=function(x){return DateUtil.toTime(this,x,this.props.root.width)};Core.prototype._toScreen=function(time){return DateUtil.toScreen(this,time,this.props.center.width)};Core.prototype._toGlobalScreen=function(time){return DateUtil.toScreen(this,time,this.props.root.width)};Core.prototype._initAutoResize=function(){if(this.options.autoResize==true){this._startAutoResize()}else{this._stopAutoResize()}};Core.prototype._startAutoResize=function(){var me=this;this._stopAutoResize();this._onResize=function(){if(me.options.autoResize!=true){me._stopAutoResize();return}if(me.dom.root){if(me.dom.root.offsetWidth!=me.props.lastWidth||me.dom.root.offsetHeight!=me.props.lastHeight){me.props.lastWidth=me.dom.root.offsetWidth;me.props.lastHeight=me.dom.root.offsetHeight;me.emit(\"change\")}}};util.addEventListener(window,\"resize\",this._onResize);this.watchTimer=setInterval(this._onResize,1e3)};Core.prototype._stopAutoResize=function(){\nif(this.watchTimer){clearInterval(this.watchTimer);this.watchTimer=undefined}util.removeEventListener(window,\"resize\",this._onResize);this._onResize=null};Core.prototype._onTouch=function(event){this.touch.allowDragging=true;this.touch.initialScrollTop=this.props.scrollTop};Core.prototype._onPinch=function(event){this.touch.allowDragging=false};Core.prototype._onDrag=function(event){if(!this.touch.allowDragging)return;var delta=event.deltaY;var oldScrollTop=this._getScrollTop();var newScrollTop=this._setScrollTop(this.touch.initialScrollTop+delta);if(newScrollTop!=oldScrollTop){this._redraw();this.emit(\"verticalDrag\")}};Core.prototype._setScrollTop=function(scrollTop){this.props.scrollTop=scrollTop;this._updateScrollTop();return this.props.scrollTop};Core.prototype._updateScrollTop=function(){var scrollTopMin=Math.min(this.props.centerContainer.height-this.props.center.height,0);if(scrollTopMin!=this.props.scrollTopMin){if(this.options.orientation.item!=\"top\"){this.props.scrollTop+=scrollTopMin-this.props.scrollTopMin}this.props.scrollTopMin=scrollTopMin}if(this.props.scrollTop>0)this.props.scrollTop=0;if(this.props.scrollTop<scrollTopMin)this.props.scrollTop=scrollTopMin;return this.props.scrollTop};Core.prototype._getScrollTop=function(){return this.props.scrollTop};Core.prototype._createConfigurator=function(){throw new Error(\"Cannot invoke abstract method _createConfigurator\")};module.exports=Core},function(module,exports,__webpack_require__){\"use strict\";var Hammer=__webpack_require__(3);var util=__webpack_require__(7);var DataSet=__webpack_require__(14);var DataView=__webpack_require__(16);var TimeStep=__webpack_require__(37);var Component=__webpack_require__(27);var Group=__webpack_require__(34);var BackgroundGroup=__webpack_require__(38);var BoxItem=__webpack_require__(39);var PointItem=__webpack_require__(1);var RangeItem=__webpack_require__(36);var BackgroundItem=__webpack_require__(40);var UNGROUPED=\"__ungrouped__\";var BACKGROUND=\"__background__\";function ItemSet(body,options){this.body=body;this.defaultOptions={type:null,orientation:{item:\"bottom\"},align:\"auto\",stack:true,groupOrder:null,selectable:true,multiselect:false,editable:{updateTime:false,updateGroup:false,add:false,remove:false},snap:TimeStep.snap,onAdd:function onAdd(item,callback){callback(item)},onUpdate:function onUpdate(item,callback){callback(item)},onMove:function onMove(item,callback){callback(item)},onRemove:function onRemove(item,callback){callback(item)},onMoving:function onMoving(item,callback){callback(item)},margin:{item:{horizontal:10,vertical:10},axis:20}};this.options=util.extend({},this.defaultOptions);this.itemOptions={type:{start:\"Date\",end:\"Date\"}};this.conversion={toScreen:body.util.toScreen,toTime:body.util.toTime};this.dom={};this.props={};this.hammer=null;var me=this;this.itemsData=null;this.groupsData=null;this.itemListeners={add:function add(event,params,senderId){me._onAdd(params.items)},update:function update(event,params,senderId){me._onUpdate(params.items)},remove:function remove(event,params,senderId){me._onRemove(params.items)}};this.groupListeners={add:function add(event,params,senderId){me._onAddGroups(params.items)},update:function update(event,params,senderId){me._onUpdateGroups(params.items)},remove:function remove(event,params,senderId){me._onRemoveGroups(params.items)}};this.items={};this.groups={};this.groupIds=[];this.selection=[];this.stackDirty=true;this.touchParams={};this._create();this.setOptions(options)}ItemSet.prototype=new Component;ItemSet.types={background:BackgroundItem,box:BoxItem,range:RangeItem,point:PointItem};ItemSet.prototype._create=function(){var frame=document.createElement(\"div\");frame.className=\"vis-itemset\";frame[\"timeline-itemset\"]=this;this.dom.frame=frame;var background=document.createElement(\"div\");background.className=\"vis-background\";frame.appendChild(background);this.dom.background=background;var foreground=document.createElement(\"div\");foreground.className=\"vis-foreground\";frame.appendChild(foreground);this.dom.foreground=foreground;var axis=document.createElement(\"div\");axis.className=\"vis-axis\";this.dom.axis=axis;var labelSet=document.createElement(\"div\");labelSet.className=\"vis-labelset\";this.dom.labelSet=labelSet;this._updateUngrouped();var backgroundGroup=new BackgroundGroup(BACKGROUND,null,this);backgroundGroup.show();this.groups[BACKGROUND]=backgroundGroup;this.hammer=new Hammer(this.body.dom.centerContainer);this.hammer.on(\"hammer.input\",function(event){if(event.isFirst){this._onTouch(event)}}.bind(this));this.hammer.on(\"panstart\",this._onDragStart.bind(this));this.hammer.on(\"panmove\",this._onDrag.bind(this));this.hammer.on(\"panend\",this._onDragEnd.bind(this));this.hammer.get(\"pan\").set({threshold:5,direction:30});this.hammer.on(\"tap\",this._onSelectItem.bind(this));this.hammer.on(\"press\",this._onMultiSelectItem.bind(this));this.hammer.on(\"doubletap\",this._onAddItem.bind(this));this.show()};ItemSet.prototype.setOptions=function(options){if(options){var fields=[\"type\",\"align\",\"order\",\"stack\",\"selectable\",\"multiselect\",\"groupOrder\",\"dataAttributes\",\"template\",\"hide\",\"snap\"];util.selectiveExtend(fields,this.options,options);if(\"orientation\"in options){if(typeof options.orientation===\"string\"){this.options.orientation.item=options.orientation===\"top\"?\"top\":\"bottom\"}else if(typeof options.orientation===\"object\"&&\"item\"in options.orientation){this.options.orientation.item=options.orientation.item}}if(\"margin\"in options){if(typeof options.margin===\"number\"){this.options.margin.axis=options.margin;this.options.margin.item.horizontal=options.margin;this.options.margin.item.vertical=options.margin}else if(typeof options.margin===\"object\"){util.selectiveExtend([\"axis\"],this.options.margin,options.margin);if(\"item\"in options.margin){if(typeof options.margin.item===\"number\"){this.options.margin.item.horizontal=options.margin.item;this.options.margin.item.vertical=options.margin.item}else if(typeof options.margin.item===\"object\"){util.selectiveExtend([\"horizontal\",\"vertical\"],this.options.margin.item,options.margin.item)}}}}if(\"editable\"in options){if(typeof options.editable===\"boolean\"){this.options.editable.updateTime=options.editable;this.options.editable.updateGroup=options.editable;this.options.editable.add=options.editable;this.options.editable.remove=options.editable}else if(typeof options.editable===\"object\"){util.selectiveExtend([\"updateTime\",\"updateGroup\",\"add\",\"remove\"],this.options.editable,options.editable)}}var addCallback=function(name){var fn=options[name];if(fn){if(!(fn instanceof Function)){throw new Error(\"option \"+name+\" must be a function \"+name+\"(item, callback)\")}this.options[name]=fn}}.bind(this);[\"onAdd\",\"onUpdate\",\"onRemove\",\"onMove\",\"onMoving\"].forEach(addCallback);this.markDirty()}};ItemSet.prototype.markDirty=function(options){this.groupIds=[];this.stackDirty=true;if(options&&options.refreshItems){util.forEach(this.items,function(item){item.dirty=true;if(item.displayed)item.redraw()})}};ItemSet.prototype.destroy=function(){this.hide();this.setItems(null);this.setGroups(null);this.hammer=null;this.body=null;this.conversion=null};ItemSet.prototype.hide=function(){if(this.dom.frame.parentNode){this.dom.frame.parentNode.removeChild(this.dom.frame)}if(this.dom.axis.parentNode){this.dom.axis.parentNode.removeChild(this.dom.axis)}if(this.dom.labelSet.parentNode){this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)}};ItemSet.prototype.show=function(){if(!this.dom.frame.parentNode){this.body.dom.center.appendChild(this.dom.frame)}if(!this.dom.axis.parentNode){this.body.dom.backgroundVertical.appendChild(this.dom.axis)}if(!this.dom.labelSet.parentNode){this.body.dom.left.appendChild(this.dom.labelSet)}};ItemSet.prototype.setSelection=function(ids){var i,ii,id,item;if(ids==undefined)ids=[];if(!Array.isArray(ids))ids=[ids];for(i=0,ii=this.selection.length;i<ii;i++){id=this.selection[i];item=this.items[id];if(item)item.unselect()}this.selection=[];for(i=0,ii=ids.length;i<ii;i++){id=ids[i];item=this.items[id];if(item){this.selection.push(id);item.select()}}};ItemSet.prototype.getSelection=function(){return this.selection.concat([])};ItemSet.prototype.getVisibleItems=function(){var range=this.body.range.getRange();var left=this.body.util.toScreen(range.start);var right=this.body.util.toScreen(range.end);var ids=[];for(var groupId in this.groups){if(this.groups.hasOwnProperty(groupId)){var group=this.groups[groupId];var rawVisibleItems=group.visibleItems;for(var i=0;i<rawVisibleItems.length;i++){var item=rawVisibleItems[i];if(item.left<right&&item.left+item.width>left){ids.push(item.id)}}}}return ids};ItemSet.prototype._deselect=function(id){var selection=this.selection;for(var i=0,ii=selection.length;i<ii;i++){if(selection[i]==id){selection.splice(i,1);break}}};ItemSet.prototype.redraw=function(){var margin=this.options.margin,range=this.body.range,asSize=util.option.asSize,options=this.options,orientation=options.orientation.item,resized=false,frame=this.dom.frame;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top;this.props.left=this.body.domProps.left.width+this.body.domProps.border.left;frame.className=\"vis-itemset\";resized=this._orderGroups()||resized;var visibleInterval=range.end-range.start;var zoomed=visibleInterval!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;if(zoomed)this.stackDirty=true;this.lastVisibleInterval=visibleInterval;this.props.lastWidth=this.props.width;var restack=this.stackDirty;var firstGroup=this._firstGroup();var firstMargin={item:margin.item,axis:margin.axis};var nonFirstMargin={item:margin.item,axis:margin.item.vertical/2};var height=0;var minHeight=margin.axis+margin.item.vertical;this.groups[BACKGROUND].redraw(range,nonFirstMargin,restack);util.forEach(this.groups,function(group){var groupMargin=group==firstGroup?firstMargin:nonFirstMargin;var groupResized=group.redraw(range,groupMargin,restack);resized=groupResized||resized;height+=group.height});height=Math.max(height,minHeight);this.stackDirty=false;frame.style.height=asSize(height);this.props.width=frame.offsetWidth;this.props.height=height;this.dom.axis.style.top=asSize(orientation==\"top\"?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height);this.dom.axis.style.left=\"0\";resized=this._isResized()||resized;return resized};ItemSet.prototype._firstGroup=function(){var firstGroupIndex=this.options.orientation.item==\"top\"?0:this.groupIds.length-1;var firstGroupId=this.groupIds[firstGroupIndex];var firstGroup=this.groups[firstGroupId]||this.groups[UNGROUPED];return firstGroup||null};ItemSet.prototype._updateUngrouped=function(){var ungrouped=this.groups[UNGROUPED];var background=this.groups[BACKGROUND];var item,itemId;if(this.groupsData){if(ungrouped){ungrouped.hide();delete this.groups[UNGROUPED];for(itemId in this.items){if(this.items.hasOwnProperty(itemId)){item=this.items[itemId];item.parent&&item.parent.remove(item);var groupId=this._getGroupId(item.data);var group=this.groups[groupId];group&&group.add(item)||item.hide()}}}}else{if(!ungrouped){var id=null;var data=null;ungrouped=new Group(id,data,this);this.groups[UNGROUPED]=ungrouped;for(itemId in this.items){if(this.items.hasOwnProperty(itemId)){item=this.items[itemId];ungrouped.add(item)}}ungrouped.show()}}};ItemSet.prototype.getLabelSet=function(){return this.dom.labelSet};ItemSet.prototype.setItems=function(items){var me=this,ids,oldItemsData=this.itemsData;if(!items){this.itemsData=null}else if(items instanceof DataSet||items instanceof DataView){this.itemsData=items}else{throw new TypeError(\"Data must be an instance of DataSet or DataView\")}if(oldItemsData){util.forEach(this.itemListeners,function(callback,event){oldItemsData.off(event,callback)});ids=oldItemsData.getIds();this._onRemove(ids)}if(this.itemsData){var id=this.id;util.forEach(this.itemListeners,function(callback,event){me.itemsData.on(event,callback,id)});ids=this.itemsData.getIds();this._onAdd(ids);this._updateUngrouped()}};ItemSet.prototype.getItems=function(){return this.itemsData};ItemSet.prototype.setGroups=function(groups){var me=this,ids;if(this.groupsData){util.forEach(this.groupListeners,function(callback,event){me.groupsData.off(event,callback)});ids=this.groupsData.getIds();this.groupsData=null;this._onRemoveGroups(ids)}if(!groups){this.groupsData=null}else if(groups instanceof DataSet||groups instanceof DataView){this.groupsData=groups}else{throw new TypeError(\"Data must be an instance of DataSet or DataView\")}if(this.groupsData){var id=this.id;util.forEach(this.groupListeners,function(callback,event){me.groupsData.on(event,callback,id)});ids=this.groupsData.getIds();this._onAddGroups(ids)}this._updateUngrouped();this._order();this.body.emitter.emit(\"change\",{queue:true})};ItemSet.prototype.getGroups=function(){return this.groupsData};ItemSet.prototype.removeItem=function(id){var item=this.itemsData.get(id),dataset=this.itemsData.getDataSet();if(item){this.options.onRemove(item,function(item){if(item){dataset.remove(id)}})}};ItemSet.prototype._getType=function(itemData){return itemData.type||this.options.type||(itemData.end?\"range\":\"box\")};ItemSet.prototype._getGroupId=function(itemData){var type=this._getType(itemData);if(type==\"background\"&&itemData.group==undefined){return BACKGROUND}else{return this.groupsData?itemData.group:UNGROUPED}};ItemSet.prototype._onUpdate=function(ids){var me=this;ids.forEach(function(id){var itemData=me.itemsData.get(id,me.itemOptions);var item=me.items[id];var type=me._getType(itemData);var constructor=ItemSet.types[type];var selected;if(item){if(!constructor||!(item instanceof constructor)){selected=item.selected;me._removeItem(item);item=null}else{me._updateItem(item,itemData)}}if(!item){if(constructor){item=new constructor(itemData,me.conversion,me.options);item.id=id;me._addItem(item);if(selected){this.selection.push(id);item.select()}}else if(type==\"rangeoverflow\"){throw new TypeError('Item type \"rangeoverflow\" is deprecated. Use css styling instead: '+\".vis-item.vis-range .vis-item-content {overflow: visible;}\")}else{throw new TypeError('Unknown item type \"'+type+'\"')}}}.bind(this));this._order();this.stackDirty=true;this.body.emitter.emit(\"change\",{queue:true})};ItemSet.prototype._onAdd=ItemSet.prototype._onUpdate;ItemSet.prototype._onRemove=function(ids){var count=0;var me=this;ids.forEach(function(id){var item=me.items[id];if(item){count++;me._removeItem(item)}});if(count){this._order();this.stackDirty=true;this.body.emitter.emit(\"change\",{queue:true})}};ItemSet.prototype._order=function(){util.forEach(this.groups,function(group){group.order()})};ItemSet.prototype._onUpdateGroups=function(ids){this._onAddGroups(ids)};ItemSet.prototype._onAddGroups=function(ids){var me=this;ids.forEach(function(id){var groupData=me.groupsData.get(id);var group=me.groups[id];if(!group){if(id==UNGROUPED||id==BACKGROUND){throw new Error(\"Illegal group id. \"+id+\" is a reserved id.\")}var groupOptions=Object.create(me.options);util.extend(groupOptions,{height:null});group=new Group(id,groupData,me);me.groups[id]=group;for(var itemId in me.items){if(me.items.hasOwnProperty(itemId)){var item=me.items[itemId];if(item.data.group==id){group.add(item)}}}group.order();group.show()}else{group.setData(groupData)}});this.body.emitter.emit(\"change\",{queue:true})};ItemSet.prototype._onRemoveGroups=function(ids){var groups=this.groups;ids.forEach(function(id){var group=groups[id];if(group){group.hide();delete groups[id]}});this.markDirty();this.body.emitter.emit(\"change\",{queue:true})};ItemSet.prototype._orderGroups=function(){if(this.groupsData){var groupIds=this.groupsData.getIds({order:this.options.groupOrder});var changed=!util.equalArray(groupIds,this.groupIds);if(changed){var groups=this.groups;groupIds.forEach(function(groupId){groups[groupId].hide()});groupIds.forEach(function(groupId){groups[groupId].show()});this.groupIds=groupIds}return changed}else{return false}};ItemSet.prototype._addItem=function(item){this.items[item.id]=item;var groupId=this._getGroupId(item.data);var group=this.groups[groupId];if(group)group.add(item)};ItemSet.prototype._updateItem=function(item,itemData){var oldGroupId=item.data.group;var oldSubGroupId=item.data.subgroup;item.setData(itemData);if(oldGroupId!=item.data.group||oldSubGroupId!=item.data.subgroup){var oldGroup=this.groups[oldGroupId];if(oldGroup)oldGroup.remove(item);var groupId=this._getGroupId(item.data);var group=this.groups[groupId];if(group)group.add(item)}};ItemSet.prototype._removeItem=function(item){item.hide();delete this.items[item.id];var index=this.selection.indexOf(item.id);if(index!=-1)this.selection.splice(index,1);item.parent&&item.parent.remove(item)};ItemSet.prototype._constructByEndArray=function(array){var endArray=[];for(var i=0;i<array.length;i++){if(array[i]instanceof RangeItem){endArray.push(array[i])}}return endArray};ItemSet.prototype._onTouch=function(event){this.touchParams.item=this.itemFromTarget(event);this.touchParams.dragLeftItem=event.target.dragLeftItem||false;this.touchParams.dragRightItem=event.target.dragRightItem||false;this.touchParams.itemProps=null};ItemSet.prototype._onDragStart=function(event){var item=this.touchParams.item||null;var me=this;var props;if(item&&item.selected){if(!this.options.editable.updateTime&&!this.options.editable.updateGroup&&!item.editable){return}if(item.editable===false){return}var dragLeftItem=this.touchParams.dragLeftItem;var dragRightItem=this.touchParams.dragRightItem;if(dragLeftItem){props={item:dragLeftItem,initialX:event.center.x,dragLeft:true,data:util.extend({},item.data)};this.touchParams.itemProps=[props]}else if(dragRightItem){props={item:dragRightItem,initialX:event.center.x,dragRight:true,data:util.extend({},item.data)};this.touchParams.itemProps=[props]}else{this.touchParams.itemProps=this.getSelection().map(function(id){var item=me.items[id];var props={item:item,initialX:event.center.x,data:util.extend({},item.data)};return props})}event.stopPropagation()}else if(this.options.editable.add&&(event.srcEvent.ctrlKey||event.srcEvent.metaKey)){this._onDragStartAddItem(event)}};ItemSet.prototype._onDragStartAddItem=function(event){var snap=this.options.snap||null;var xAbs=util.getAbsoluteLeft(this.dom.frame);var x=event.center.x-xAbs-10;var time=this.body.util.toTime(x);var scale=this.body.util.getScale();var step=this.body.util.getStep();var start=snap?snap(time,scale,step):start;var end=start;var itemData={type:\"range\",start:start,end:end,content:\"new item\"};var id=util.randomUUID();itemData[this.itemsData._fieldId]=id;var group=this.groupFromTarget(event);if(group){itemData.group=group.groupId}var newItem=new RangeItem(itemData,this.conversion,this.options);newItem.id=id;newItem.data=itemData;this._addItem(newItem);var props={item:newItem,dragRight:true,initialX:event.center.x,data:util.extend({},itemData)};this.touchParams.itemProps=[props];event.stopPropagation()};ItemSet.prototype._onDrag=function(event){if(this.touchParams.itemProps){event.stopPropagation();var me=this;var snap=this.options.snap||null;var xOffset=this.body.dom.root.offsetLeft+this.body.domProps.left.width;var scale=this.body.util.getScale();var step=this.body.util.getStep();this.touchParams.itemProps.forEach(function(props){var newProps={};var current=me.body.util.toTime(event.center.x-xOffset);var initial=me.body.util.toTime(props.initialX-xOffset);var offset=current-initial;var itemData=util.extend({},props.item.data);if(props.item.editable===false){return}var updateTimeAllowed=me.options.editable.updateTime||props.item.editable===true;if(updateTimeAllowed){if(props.dragLeft){if(itemData.start!=undefined){var initialStart=util.convert(props.data.start,\"Date\");var start=new Date(initialStart.valueOf()+offset);itemData.start=snap?snap(start,scale,step):start}}else if(props.dragRight){if(itemData.end!=undefined){var initialEnd=util.convert(props.data.end,\"Date\");var end=new Date(initialEnd.valueOf()+offset);itemData.end=snap?snap(end,scale,step):end}}else{if(itemData.start!=undefined){var initialStart=util.convert(props.data.start,\"Date\").valueOf();var start=new Date(initialStart+offset);if(itemData.end!=undefined){var initialEnd=util.convert(props.data.end,\"Date\");var duration=initialEnd.valueOf()-initialStart.valueOf();itemData.start=snap?snap(start,scale,step):start;itemData.end=new Date(itemData.start.valueOf()+duration)}else{itemData.start=snap?snap(start,scale,step):start}}}}var updateGroupAllowed=me.options.editable.updateGroup||props.item.editable===true;if(updateGroupAllowed&&(!props.dragLeft&&!props.dragRight)){if(itemData.group!=undefined){var group=me.groupFromTarget(event);if(group){itemData.group=group.groupId}}}me.options.onMoving(itemData,function(itemData){if(itemData){props.item.setData(itemData)}})});this.stackDirty=true;this.body.emitter.emit(\"change\")}};ItemSet.prototype._moveToGroup=function(item,groupId){var group=this.groups[groupId];if(group&&group.groupId!=item.data.group){var oldGroup=item.parent;oldGroup.remove(item);oldGroup.order();group.add(item);group.order();item.data.group=group.groupId}};ItemSet.prototype._onDragEnd=function(event){if(this.touchParams.itemProps){event.stopPropagation();var changes=[];var me=this;var dataset=this.itemsData.getDataSet();var itemProps=this.touchParams.itemProps;this.touchParams.itemProps=null;itemProps.forEach(function(props){var id=props.item.id;var exists=me.itemsData.get(id,me.itemOptions)!=null;if(!exists){me.options.onAdd(props.item.data,function(itemData){me._removeItem(props.item);if(itemData){me.itemsData.getDataSet().add(itemData)}me.stackDirty=true;me.body.emitter.emit(\"change\")})}else{var itemData=util.extend({},props.item.data);me.options.onMove(itemData,function(itemData){if(itemData){itemData[dataset._fieldId]=id;changes.push(itemData)}else{props.item.setData(props.data);me.stackDirty=true;me.body.emitter.emit(\"change\")}})}});if(changes.length){dataset.update(changes)}}};ItemSet.prototype._onSelectItem=function(event){if(!this.options.selectable)return;var ctrlKey=event.srcEvent&&(event.srcEvent.ctrlKey||event.srcEvent.metaKey);var shiftKey=event.srcEvent&&event.srcEvent.shiftKey;if(ctrlKey||shiftKey){this._onMultiSelectItem(event);return}var oldSelection=this.getSelection();var item=this.itemFromTarget(event);var selection=item?[item.id]:[];this.setSelection(selection);var newSelection=this.getSelection();if(newSelection.length>0||oldSelection.length>0){this.body.emitter.emit(\"select\",{items:newSelection,event:event})}};ItemSet.prototype._onAddItem=function(event){if(!this.options.selectable)return;if(!this.options.editable.add)return;var me=this;var snap=this.options.snap||null;var item=this.itemFromTarget(event);event.stopPropagation();if(item){var itemData=me.itemsData.get(item.id);this.options.onUpdate(itemData,function(itemData){if(itemData){me.itemsData.getDataSet().update(itemData)}})}else{var xAbs=util.getAbsoluteLeft(this.dom.frame);var x=event.center.x-xAbs;var start=this.body.util.toTime(x);var scale=this.body.util.getScale();var step=this.body.util.getStep();var newItem={start:snap?snap(start,scale,step):start,content:\"new item\"};if(this.options.type===\"range\"){var end=this.body.util.toTime(x+this.props.width/5);newItem.end=snap?snap(end,scale,step):end}newItem[this.itemsData._fieldId]=util.randomUUID();var group=this.groupFromTarget(event);if(group){newItem.group=group.groupId}this.options.onAdd(newItem,function(item){if(item){me.itemsData.getDataSet().add(item)}})}};ItemSet.prototype._onMultiSelectItem=function(event){if(!this.options.selectable)return;var item=this.itemFromTarget(event);if(item){var selection=this.options.multiselect?this.getSelection():[];var shiftKey=event.srcEvent&&event.srcEvent.shiftKey||false;if(shiftKey&&this.options.multiselect){selection.push(item.id);var range=ItemSet._getItemRange(this.itemsData.get(selection,this.itemOptions));selection=[];for(var id in this.items){if(this.items.hasOwnProperty(id)){var _item=this.items[id];var start=_item.data.start;var end=_item.data.end!==undefined?_item.data.end:start;if(start>=range.min&&end<=range.max&&!(_item instanceof BackgroundItem)){selection.push(_item.id)}}}}else{var index=selection.indexOf(item.id);if(index==-1){selection.push(item.id)}else{selection.splice(index,1)}}this.setSelection(selection);this.body.emitter.emit(\"select\",{items:this.getSelection(),event:event})}};ItemSet._getItemRange=function(itemsData){var max=null;var min=null;itemsData.forEach(function(data){if(min==null||data.start<min){min=data.start}if(data.end!=undefined){if(max==null||data.end>max){max=data.end}}else{if(max==null||data.start>max){max=data.start}}});return{min:min,max:max}};ItemSet.prototype.itemFromTarget=function(event){var target=event.target;while(target){if(target.hasOwnProperty(\"timeline-item\")){return target[\"timeline-item\"]}target=target.parentNode}return null};ItemSet.prototype.groupFromTarget=function(event){var clientY=event.center?event.center.y:event.clientY;for(var i=0;i<this.groupIds.length;i++){var groupId=this.groupIds[i];var group=this.groups[groupId];var foreground=group.dom.foreground;var top=util.getAbsoluteTop(foreground);if(clientY>top&&clientY<top+foreground.offsetHeight){return group}if(this.options.orientation.item===\"top\"){if(i===this.groupIds.length-1&&clientY>top){return group}}else{if(i===0&&clientY<top+foreground.offset){return group}}}return null};ItemSet.itemSetFromTarget=function(event){var target=event.target;while(target){if(target.hasOwnProperty(\"timeline-itemset\")){return target[\"timeline-itemset\"]}target=target.parentNode}return null};module.exports=ItemSet},function(module,exports,__webpack_require__){\"use strict\";var util=__webpack_require__(7);var stack=__webpack_require__(35);var RangeItem=__webpack_require__(36);function Group(groupId,data,itemSet){this.groupId=groupId;this.subgroups={};this.subgroupIndex=0;this.subgroupOrderer=data&&data.subgroupOrder;this.itemSet=itemSet;this.dom={};this.props={label:{width:0,height:0}};this.className=null;this.items={};this.visibleItems=[];this.orderedItems={byStart:[],byEnd:[]};this.checkRangedItems=false;var me=this;this.itemSet.body.emitter.on(\"checkRangedItems\",function(){me.checkRangedItems=true});this._create();this.setData(data)}Group.prototype._create=function(){var label=document.createElement(\"div\");label.className=\"vis-label\";this.dom.label=label;var inner=document.createElement(\"div\");inner.className=\"vis-inner\";label.appendChild(inner);this.dom.inner=inner;var foreground=document.createElement(\"div\");foreground.className=\"vis-group\";foreground[\"timeline-group\"]=this;this.dom.foreground=foreground;this.dom.background=document.createElement(\"div\");this.dom.background.className=\"vis-group\";this.dom.axis=document.createElement(\"div\");this.dom.axis.className=\"vis-group\";this.dom.marker=document.createElement(\"div\");this.dom.marker.style.visibility=\"hidden\";this.dom.marker.innerHTML=\"?\";this.dom.background.appendChild(this.dom.marker)};Group.prototype.setData=function(data){var content=data&&data.content;if(content instanceof Element){this.dom.inner.appendChild(content)}else if(content!==undefined&&content!==null){this.dom.inner.innerHTML=content}else{this.dom.inner.innerHTML=this.groupId||\"\"}this.dom.label.title=data&&data.title||\"\";if(!this.dom.inner.firstChild){util.addClassName(this.dom.inner,\"vis-hidden\")}else{util.removeClassName(this.dom.inner,\"vis-hidden\")}var className=data&&data.className||null;if(className!=this.className){if(this.className){util.removeClassName(this.dom.label,this.className);util.removeClassName(this.dom.foreground,this.className);util.removeClassName(this.dom.background,this.className);util.removeClassName(this.dom.axis,this.className)}util.addClassName(this.dom.label,className);util.addClassName(this.dom.foreground,className);util.addClassName(this.dom.background,className);util.addClassName(this.dom.axis,className);this.className=className}if(this.style){util.removeCssText(this.dom.label,\"vis-\"+this.style);this.style=null}if(data&&data.style){util.addCssText(this.dom.label,\"vis-\"+data.style);this.style=data.style}};Group.prototype.getLabelWidth=function(){return this.props.label.width};Group.prototype.redraw=function(range,margin,restack){var resized=false;var markerHeight=this.dom.marker.clientHeight;if(markerHeight!=this.lastMarkerHeight){this.lastMarkerHeight=markerHeight;util.forEach(this.items,function(item){item.dirty=true;if(item.displayed)item.redraw()});restack=true}if(typeof this.itemSet.options.order===\"function\"){if(restack){var me=this;var limitSize=false;util.forEach(this.items,function(item){if(!item.displayed){item.redraw();me.visibleItems.push(item)}item.repositionX(limitSize)});var customOrderedItems=this.orderedItems.byStart.slice().sort(function(a,b){return me.itemSet.options.order(a.data,b.data)});stack.stack(customOrderedItems,margin,true)}this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,range)}else{this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,range);if(this.itemSet.options.stack){stack.stack(this.visibleItems,margin,restack)}else{stack.nostack(this.visibleItems,margin,this.subgroups)}}var height=this._calculateHeight(margin);var foreground=this.dom.foreground;this.top=foreground.offsetTop;this.left=foreground.offsetLeft;this.width=foreground.offsetWidth;resized=util.updateProperty(this,\"height\",height)||resized;resized=util.updateProperty(this.props.label,\"width\",this.dom.inner.clientWidth)||resized;resized=util.updateProperty(this.props.label,\"height\",this.dom.inner.clientHeight)||resized;this.dom.background.style.height=height+\"px\";this.dom.foreground.style.height=height+\"px\";this.dom.label.style.height=height+\"px\";for(var i=0,ii=this.visibleItems.length;i<ii;i++){var item=this.visibleItems[i];item.repositionY(margin)}return resized};Group.prototype._calculateHeight=function(margin){var height;var visibleItems=this.visibleItems;this.resetSubgroups();var me=this;if(visibleItems.length>0){var min=visibleItems[0].top;var max=visibleItems[0].top+visibleItems[0].height;util.forEach(visibleItems,function(item){min=Math.min(min,item.top);max=Math.max(max,item.top+item.height);if(item.data.subgroup!==undefined){me.subgroups[item.data.subgroup].height=Math.max(me.subgroups[item.data.subgroup].height,item.height);me.subgroups[item.data.subgroup].visible=true}});if(min>margin.axis){var offset=min-margin.axis;max-=offset;util.forEach(visibleItems,function(item){item.top-=offset})}height=max+margin.item.vertical/2}else{height=0}height=Math.max(height,this.props.label.height);return height};Group.prototype.show=function(){if(!this.dom.label.parentNode){this.itemSet.dom.labelSet.appendChild(this.dom.label)}if(!this.dom.foreground.parentNode){this.itemSet.dom.foreground.appendChild(this.dom.foreground)}if(!this.dom.background.parentNode){this.itemSet.dom.background.appendChild(this.dom.background)}if(!this.dom.axis.parentNode){this.itemSet.dom.axis.appendChild(this.dom.axis)}};Group.prototype.hide=function(){var label=this.dom.label;if(label.parentNode){label.parentNode.removeChild(label)}var foreground=this.dom.foreground;if(foreground.parentNode){foreground.parentNode.removeChild(foreground)}var background=this.dom.background;if(background.parentNode){background.parentNode.removeChild(background)}var axis=this.dom.axis;if(axis.parentNode){axis.parentNode.removeChild(axis)}};Group.prototype.add=function(item){this.items[item.id]=item;item.setParent(this);if(item.data.subgroup!==undefined){if(this.subgroups[item.data.subgroup]===undefined){this.subgroups[item.data.subgroup]={height:0,visible:false,index:this.subgroupIndex,items:[]};this.subgroupIndex++}this.subgroups[item.data.subgroup].items.push(item)}this.orderSubgroups();if(this.visibleItems.indexOf(item)==-1){var range=this.itemSet.body.range;this._checkIfVisible(item,this.visibleItems,range)}};Group.prototype.orderSubgroups=function(){if(this.subgroupOrderer!==undefined){var sortArray=[];if(typeof this.subgroupOrderer==\"string\"){\nfor(var subgroup in this.subgroups){sortArray.push({subgroup:subgroup,sortField:this.subgroups[subgroup].items[0].data[this.subgroupOrderer]})}sortArray.sort(function(a,b){return a.sortField-b.sortField})}else if(typeof this.subgroupOrderer==\"function\"){for(var subgroup in this.subgroups){sortArray.push(this.subgroups[subgroup].items[0].data)}sortArray.sort(this.subgroupOrderer)}if(sortArray.length>0){for(var i=0;i<sortArray.length;i++){this.subgroups[sortArray[i].subgroup].index=i}}}};Group.prototype.resetSubgroups=function(){for(var subgroup in this.subgroups){if(this.subgroups.hasOwnProperty(subgroup)){this.subgroups[subgroup].visible=false}}};Group.prototype.remove=function(item){delete this.items[item.id];item.setParent(null);var index=this.visibleItems.indexOf(item);if(index!=-1)this.visibleItems.splice(index,1);if(item.data.subgroup!==undefined){var subgroup=this.subgroups[item.data.subgroup];if(subgroup){var itemIndex=subgroup.items.indexOf(item);subgroup.items.splice(itemIndex,1)}}};Group.prototype.removeFromDataSet=function(item){this.itemSet.removeItem(item.id)};Group.prototype.order=function(){var array=util.toArray(this.items);var startArray=[];var endArray=[];for(var i=0;i<array.length;i++){if(array[i].data.end!==undefined){endArray.push(array[i])}startArray.push(array[i])}this.orderedItems={byStart:startArray,byEnd:endArray};stack.orderByStart(this.orderedItems.byStart);stack.orderByEnd(this.orderedItems.byEnd)};Group.prototype._updateVisibleItems=function(orderedItems,oldVisibleItems,range){var visibleItems=[];var visibleItemsLookup={};var interval=(range.end-range.start)/4;var lowerBound=range.start-interval;var upperBound=range.end+interval;var item,i;var searchFunction=function searchFunction(value){if(value<lowerBound){return-1}else if(value<=upperBound){return 0}else{return 1}};if(oldVisibleItems.length>0){for(i=0;i<oldVisibleItems.length;i++){this._checkIfVisibleWithReference(oldVisibleItems[i],visibleItems,visibleItemsLookup,range)}}var initialPosByStart=util.binarySearchCustom(orderedItems.byStart,searchFunction,\"data\",\"start\");this._traceVisible(initialPosByStart,orderedItems.byStart,visibleItems,visibleItemsLookup,function(item){return item.data.start<lowerBound||item.data.start>upperBound});if(this.checkRangedItems==true){this.checkRangedItems=false;for(i=0;i<orderedItems.byEnd.length;i++){this._checkIfVisibleWithReference(orderedItems.byEnd[i],visibleItems,visibleItemsLookup,range)}}else{var initialPosByEnd=util.binarySearchCustom(orderedItems.byEnd,searchFunction,\"data\",\"end\");this._traceVisible(initialPosByEnd,orderedItems.byEnd,visibleItems,visibleItemsLookup,function(item){return item.data.end<lowerBound||item.data.end>upperBound})}for(i=0;i<visibleItems.length;i++){item=visibleItems[i];if(!item.displayed)item.show();item.repositionX()}return visibleItems};Group.prototype._traceVisible=function(initialPos,items,visibleItems,visibleItemsLookup,breakCondition){var item;var i;if(initialPos!=-1){for(i=initialPos;i>=0;i--){item=items[i];if(breakCondition(item)){break}else{if(visibleItemsLookup[item.id]===undefined){visibleItemsLookup[item.id]=true;visibleItems.push(item)}}}for(i=initialPos+1;i<items.length;i++){item=items[i];if(breakCondition(item)){break}else{if(visibleItemsLookup[item.id]===undefined){visibleItemsLookup[item.id]=true;visibleItems.push(item)}}}}};Group.prototype._checkIfVisible=function(item,visibleItems,range){if(item.isVisible(range)){if(!item.displayed)item.show();item.repositionX();visibleItems.push(item)}else{if(item.displayed)item.hide()}};Group.prototype._checkIfVisibleWithReference=function(item,visibleItems,visibleItemsLookup,range){if(item.isVisible(range)){if(visibleItemsLookup[item.id]===undefined){visibleItemsLookup[item.id]=true;visibleItems.push(item)}}else{if(item.displayed)item.hide()}};module.exports=Group},function(module,exports){\"use strict\";var EPSILON=.001;exports.orderByStart=function(items){items.sort(function(a,b){return a.data.start-b.data.start})};exports.orderByEnd=function(items){items.sort(function(a,b){var aTime=\"end\"in a.data?a.data.end:a.data.start,bTime=\"end\"in b.data?b.data.end:b.data.start;return aTime-bTime})};exports.stack=function(items,margin,force){var i,iMax;if(force){for(i=0,iMax=items.length;i<iMax;i++){items[i].top=null}}for(i=0,iMax=items.length;i<iMax;i++){var item=items[i];if(item.stack&&item.top===null){item.top=margin.axis;do{var collidingItem=null;for(var j=0,jj=items.length;j<jj;j++){var other=items[j];if(other.top!==null&&other!==item&&other.stack&&exports.collision(item,other,margin.item)){collidingItem=other;break}}if(collidingItem!=null){item.top=collidingItem.top+collidingItem.height+margin.item.vertical}}while(collidingItem)}}};exports.nostack=function(items,margin,subgroups){var i,iMax,newTop;for(i=0,iMax=items.length;i<iMax;i++){if(items[i].data.subgroup!==undefined){newTop=margin.axis;for(var subgroup in subgroups){if(subgroups.hasOwnProperty(subgroup)){if(subgroups[subgroup].visible==true&&subgroups[subgroup].index<subgroups[items[i].data.subgroup].index){newTop+=subgroups[subgroup].height+margin.item.vertical}}}items[i].top=newTop}else{items[i].top=margin.axis}}};exports.collision=function(a,b,margin){return a.left-margin.horizontal+EPSILON<b.left+b.width&&a.left+a.width+margin.horizontal-EPSILON>b.left&&a.top-margin.vertical+EPSILON<b.top+b.height&&a.top+a.height+margin.vertical-EPSILON>b.top}},function(module,exports,__webpack_require__){\"use strict\";var Hammer=__webpack_require__(3);var Item=__webpack_require__(2);function RangeItem(data,conversion,options){this.props={content:{width:0}};this.overflow=false;if(data){if(data.start==undefined){throw new Error('Property \"start\" missing in item '+data.id)}if(data.end==undefined){throw new Error('Property \"end\" missing in item '+data.id)}}Item.call(this,data,conversion,options)}RangeItem.prototype=new Item(null,null,null);RangeItem.prototype.baseClassName=\"vis-item vis-range\";RangeItem.prototype.isVisible=function(range){return this.data.start<range.end&&this.data.end>range.start};RangeItem.prototype.redraw=function(){var dom=this.dom;if(!dom){this.dom={};dom=this.dom;dom.box=document.createElement(\"div\");dom.frame=document.createElement(\"div\");dom.frame.className=\"vis-item-overflow\";dom.box.appendChild(dom.frame);dom.content=document.createElement(\"div\");dom.content.className=\"vis-item-content\";dom.frame.appendChild(dom.content);dom.box[\"timeline-item\"]=this;this.dirty=true}if(!this.parent){throw new Error(\"Cannot redraw item: no parent attached\")}if(!dom.box.parentNode){var foreground=this.parent.dom.foreground;if(!foreground){throw new Error(\"Cannot redraw item: parent has no foreground container element\")}foreground.appendChild(dom.box)}this.displayed=true;if(this.dirty){this._updateContents(this.dom.content);this._updateTitle(this.dom.box);this._updateDataAttributes(this.dom.box);this._updateStyle(this.dom.box);var editable=(this.options.editable.updateTime||this.options.editable.updateGroup||this.editable===true)&&this.editable!==false;var className=(this.data.className?\" \"+this.data.className:\"\")+(this.selected?\" vis-selected\":\"\")+(editable?\" vis-editable\":\" vis-readonly\");dom.box.className=this.baseClassName+className;this.overflow=window.getComputedStyle(dom.frame).overflow!==\"hidden\";this.dom.content.style.maxWidth=\"none\";this.props.content.width=this.dom.content.offsetWidth;this.height=this.dom.box.offsetHeight;this.dom.content.style.maxWidth=\"\";this.dirty=false}this._repaintDeleteButton(dom.box);this._repaintDragLeft();this._repaintDragRight()};RangeItem.prototype.show=function(){if(!this.displayed){this.redraw()}};RangeItem.prototype.hide=function(){if(this.displayed){var box=this.dom.box;if(box.parentNode){box.parentNode.removeChild(box)}this.displayed=false}};RangeItem.prototype.repositionX=function(limitSize){var parentWidth=this.parent.width;var start=this.conversion.toScreen(this.data.start);var end=this.conversion.toScreen(this.data.end);var contentLeft;var contentWidth;if(limitSize===undefined||limitSize===true){if(start<-parentWidth){start=-parentWidth}if(end>2*parentWidth){end=2*parentWidth}}var boxWidth=Math.max(end-start,1);if(this.overflow){this.left=start;this.width=boxWidth+this.props.content.width;contentWidth=this.props.content.width}else{this.left=start;this.width=boxWidth;contentWidth=Math.min(end-start,this.props.content.width)}this.dom.box.style.left=this.left+\"px\";this.dom.box.style.width=boxWidth+\"px\";switch(this.options.align){case\"left\":this.dom.content.style.left=\"0\";break;case\"right\":this.dom.content.style.left=Math.max(boxWidth-contentWidth,0)+\"px\";break;case\"center\":this.dom.content.style.left=Math.max((boxWidth-contentWidth)/2,0)+\"px\";break;default:if(this.overflow){if(end>0){contentLeft=Math.max(-start,0)}else{contentLeft=-contentWidth}}else{if(start<0){contentLeft=-start}else{contentLeft=0}}this.dom.content.style.left=contentLeft+\"px\"}};RangeItem.prototype.repositionY=function(){var orientation=this.options.orientation.item;var box=this.dom.box;if(orientation==\"top\"){box.style.top=this.top+\"px\"}else{box.style.top=this.parent.height-this.top-this.height+\"px\"}};RangeItem.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var dragLeft=document.createElement(\"div\");dragLeft.className=\"vis-drag-left\";dragLeft.dragLeftItem=this;this.dom.box.appendChild(dragLeft);this.dom.dragLeft=dragLeft}else if(!this.selected&&this.dom.dragLeft){if(this.dom.dragLeft.parentNode){this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft)}this.dom.dragLeft=null}};RangeItem.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var dragRight=document.createElement(\"div\");dragRight.className=\"vis-drag-right\";dragRight.dragRightItem=this;this.dom.box.appendChild(dragRight);this.dom.dragRight=dragRight}else if(!this.selected&&this.dom.dragRight){if(this.dom.dragRight.parentNode){this.dom.dragRight.parentNode.removeChild(this.dom.dragRight)}this.dom.dragRight=null}};module.exports=RangeItem},function(module,exports,__webpack_require__){\"use strict\";var moment=__webpack_require__(8);var DateUtil=__webpack_require__(31);var util=__webpack_require__(7);function TimeStep(start,end,minimumStep,hiddenDates){this.current=new Date;this._start=new Date;this._end=new Date;this.autoScale=true;this.scale=\"day\";this.step=1;this.setRange(start,end,minimumStep);this.switchedDay=false;this.switchedMonth=false;this.switchedYear=false;this.hiddenDates=hiddenDates;if(hiddenDates===undefined){this.hiddenDates=[]}this.format=TimeStep.FORMAT}TimeStep.FORMAT={minorLabels:{millisecond:\"SSS\",second:\"s\",minute:\"HH:mm\",hour:\"HH:mm\",weekday:\"ddd D\",day:\"D\",month:\"MMM\",year:\"YYYY\"},majorLabels:{millisecond:\"HH:mm:ss\",second:\"D MMMM HH:mm\",minute:\"ddd D MMMM\",hour:\"ddd D MMMM\",weekday:\"MMMM YYYY\",day:\"MMMM YYYY\",month:\"YYYY\",year:\"\"}};TimeStep.prototype.setFormat=function(format){var defaultFormat=util.deepExtend({},TimeStep.FORMAT);this.format=util.deepExtend(defaultFormat,format)};TimeStep.prototype.setRange=function(start,end,minimumStep){if(!(start instanceof Date)||!(end instanceof Date)){throw\"No legal start or end date in method setRange\"}this._start=start!=undefined?new Date(start.valueOf()):new Date;this._end=end!=undefined?new Date(end.valueOf()):new Date;if(this.autoScale){this.setMinimumStep(minimumStep)}};TimeStep.prototype.first=function(){this.current=new Date(this._start.valueOf());this.roundToMinor()};TimeStep.prototype.roundToMinor=function(){switch(this.scale){case\"year\":this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step));this.current.setMonth(0);case\"month\":this.current.setDate(1);case\"day\":case\"weekday\":this.current.setHours(0);case\"hour\":this.current.setMinutes(0);case\"minute\":this.current.setSeconds(0);case\"second\":this.current.setMilliseconds(0)}if(this.step!=1){switch(this.scale){case\"millisecond\":this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case\"second\":this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case\"minute\":this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case\"hour\":this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case\"weekday\":case\"day\":this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case\"month\":this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case\"year\":this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step);break;default:break}}};TimeStep.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()};TimeStep.prototype.next=function(){var prev=this.current.valueOf();if(this.current.getMonth()<6){switch(this.scale){case\"millisecond\":this.current=new Date(this.current.valueOf()+this.step);break;case\"second\":this.current=new Date(this.current.valueOf()+this.step*1e3);break;case\"minute\":this.current=new Date(this.current.valueOf()+this.step*1e3*60);break;case\"hour\":this.current=new Date(this.current.valueOf()+this.step*1e3*60*60);var h=this.current.getHours();this.current.setHours(h-h%this.step);break;case\"weekday\":case\"day\":this.current.setDate(this.current.getDate()+this.step);break;case\"month\":this.current.setMonth(this.current.getMonth()+this.step);break;case\"year\":this.current.setFullYear(this.current.getFullYear()+this.step);break;default:break}}else{switch(this.scale){case\"millisecond\":this.current=new Date(this.current.valueOf()+this.step);break;case\"second\":this.current.setSeconds(this.current.getSeconds()+this.step);break;case\"minute\":this.current.setMinutes(this.current.getMinutes()+this.step);break;case\"hour\":this.current.setHours(this.current.getHours()+this.step);break;case\"weekday\":case\"day\":this.current.setDate(this.current.getDate()+this.step);break;case\"month\":this.current.setMonth(this.current.getMonth()+this.step);break;case\"year\":this.current.setFullYear(this.current.getFullYear()+this.step);break;default:break}}if(this.step!=1){switch(this.scale){case\"millisecond\":if(this.current.getMilliseconds()<this.step)this.current.setMilliseconds(0);break;case\"second\":if(this.current.getSeconds()<this.step)this.current.setSeconds(0);break;case\"minute\":if(this.current.getMinutes()<this.step)this.current.setMinutes(0);break;case\"hour\":if(this.current.getHours()<this.step)this.current.setHours(0);break;case\"weekday\":case\"day\":if(this.current.getDate()<this.step+1)this.current.setDate(1);break;case\"month\":if(this.current.getMonth()<this.step)this.current.setMonth(0);break;case\"year\":break;default:break}}if(this.current.valueOf()==prev){this.current=new Date(this._end.valueOf())}DateUtil.stepOverHiddenDates(this,prev)};TimeStep.prototype.getCurrent=function(){return this.current};TimeStep.prototype.setScale=function(params){if(params&&typeof params.scale==\"string\"){this.scale=params.scale;this.step=params.step>0?params.step:1;this.autoScale=false}};TimeStep.prototype.setAutoScale=function(enable){this.autoScale=enable};TimeStep.prototype.setMinimumStep=function(minimumStep){if(minimumStep==undefined){return}var stepYear=1e3*60*60*24*30*12;var stepMonth=1e3*60*60*24*30;var stepDay=1e3*60*60*24;var stepHour=1e3*60*60;var stepMinute=1e3*60;var stepSecond=1e3;var stepMillisecond=1;if(stepYear*1e3>minimumStep){this.scale=\"year\";this.step=1e3}if(stepYear*500>minimumStep){this.scale=\"year\";this.step=500}if(stepYear*100>minimumStep){this.scale=\"year\";this.step=100}if(stepYear*50>minimumStep){this.scale=\"year\";this.step=50}if(stepYear*10>minimumStep){this.scale=\"year\";this.step=10}if(stepYear*5>minimumStep){this.scale=\"year\";this.step=5}if(stepYear>minimumStep){this.scale=\"year\";this.step=1}if(stepMonth*3>minimumStep){this.scale=\"month\";this.step=3}if(stepMonth>minimumStep){this.scale=\"month\";this.step=1}if(stepDay*5>minimumStep){this.scale=\"day\";this.step=5}if(stepDay*2>minimumStep){this.scale=\"day\";this.step=2}if(stepDay>minimumStep){this.scale=\"day\";this.step=1}if(stepDay/2>minimumStep){this.scale=\"weekday\";this.step=1}if(stepHour*4>minimumStep){this.scale=\"hour\";this.step=4}if(stepHour>minimumStep){this.scale=\"hour\";this.step=1}if(stepMinute*15>minimumStep){this.scale=\"minute\";this.step=15}if(stepMinute*10>minimumStep){this.scale=\"minute\";this.step=10}if(stepMinute*5>minimumStep){this.scale=\"minute\";this.step=5}if(stepMinute>minimumStep){this.scale=\"minute\";this.step=1}if(stepSecond*15>minimumStep){this.scale=\"second\";this.step=15}if(stepSecond*10>minimumStep){this.scale=\"second\";this.step=10}if(stepSecond*5>minimumStep){this.scale=\"second\";this.step=5}if(stepSecond>minimumStep){this.scale=\"second\";this.step=1}if(stepMillisecond*200>minimumStep){this.scale=\"millisecond\";this.step=200}if(stepMillisecond*100>minimumStep){this.scale=\"millisecond\";this.step=100}if(stepMillisecond*50>minimumStep){this.scale=\"millisecond\";this.step=50}if(stepMillisecond*10>minimumStep){this.scale=\"millisecond\";this.step=10}if(stepMillisecond*5>minimumStep){this.scale=\"millisecond\";this.step=5}if(stepMillisecond>minimumStep){this.scale=\"millisecond\";this.step=1}};TimeStep.snap=function(date,scale,step){var clone=new Date(date.valueOf());if(scale==\"year\"){var year=clone.getFullYear()+Math.round(clone.getMonth()/12);clone.setFullYear(Math.round(year/step)*step);clone.setMonth(0);clone.setDate(0);clone.setHours(0);clone.setMinutes(0);clone.setSeconds(0);clone.setMilliseconds(0)}else if(scale==\"month\"){if(clone.getDate()>15){clone.setDate(1);clone.setMonth(clone.getMonth()+1)}else{clone.setDate(1)}clone.setHours(0);clone.setMinutes(0);clone.setSeconds(0);clone.setMilliseconds(0)}else if(scale==\"day\"){switch(step){case 5:case 2:clone.setHours(Math.round(clone.getHours()/24)*24);break;default:clone.setHours(Math.round(clone.getHours()/12)*12);break}clone.setMinutes(0);clone.setSeconds(0);clone.setMilliseconds(0)}else if(scale==\"weekday\"){switch(step){case 5:case 2:clone.setHours(Math.round(clone.getHours()/12)*12);break;default:clone.setHours(Math.round(clone.getHours()/6)*6);break}clone.setMinutes(0);clone.setSeconds(0);clone.setMilliseconds(0)}else if(scale==\"hour\"){switch(step){case 4:clone.setMinutes(Math.round(clone.getMinutes()/60)*60);break;default:clone.setMinutes(Math.round(clone.getMinutes()/30)*30);break}clone.setSeconds(0);clone.setMilliseconds(0)}else if(scale==\"minute\"){switch(step){case 15:case 10:clone.setMinutes(Math.round(clone.getMinutes()/5)*5);clone.setSeconds(0);break;case 5:clone.setSeconds(Math.round(clone.getSeconds()/60)*60);break;default:clone.setSeconds(Math.round(clone.getSeconds()/30)*30);break}clone.setMilliseconds(0)}else if(scale==\"second\"){switch(step){case 15:case 10:clone.setSeconds(Math.round(clone.getSeconds()/5)*5);clone.setMilliseconds(0);break;case 5:clone.setMilliseconds(Math.round(clone.getMilliseconds()/1e3)*1e3);break;default:clone.setMilliseconds(Math.round(clone.getMilliseconds()/500)*500);break}}else if(scale==\"millisecond\"){var _step=step>5?step/2:1;clone.setMilliseconds(Math.round(clone.getMilliseconds()/_step)*_step)}return clone};TimeStep.prototype.isMajor=function(){if(this.switchedYear==true){this.switchedYear=false;switch(this.scale){case\"year\":case\"month\":case\"weekday\":case\"day\":case\"hour\":case\"minute\":case\"second\":case\"millisecond\":return true;default:return false}}else if(this.switchedMonth==true){this.switchedMonth=false;switch(this.scale){case\"weekday\":case\"day\":case\"hour\":case\"minute\":case\"second\":case\"millisecond\":return true;default:return false}}else if(this.switchedDay==true){this.switchedDay=false;switch(this.scale){case\"millisecond\":case\"second\":case\"minute\":case\"hour\":return true;default:return false}}switch(this.scale){case\"millisecond\":return this.current.getMilliseconds()==0;case\"second\":return this.current.getSeconds()==0;case\"minute\":return this.current.getHours()==0&&this.current.getMinutes()==0;case\"hour\":return this.current.getHours()==0;case\"weekday\":case\"day\":return this.current.getDate()==1;case\"month\":return this.current.getMonth()==0;case\"year\":return false;default:return false}};TimeStep.prototype.getLabelMinor=function(date){if(date==undefined){date=this.current}var format=this.format.minorLabels[this.scale];return format&&format.length>0?moment(date).format(format):\"\"};TimeStep.prototype.getLabelMajor=function(date){if(date==undefined){date=this.current}var format=this.format.majorLabels[this.scale];return format&&format.length>0?moment(date).format(format):\"\"};TimeStep.prototype.getClassName=function(){var m=moment(this.current);var date=m.locale?m.locale(\"en\"):m.lang(\"en\");var step=this.step;function even(value){return value/step%2==0?\" vis-even\":\" vis-odd\"}function today(date){if(date.isSame(new Date,\"day\")){return\" vis-today\"}if(date.isSame(moment().add(1,\"day\"),\"day\")){return\" vis-tomorrow\"}if(date.isSame(moment().add(-1,\"day\"),\"day\")){return\" vis-yesterday\"}return\"\"}function currentWeek(date){return date.isSame(new Date,\"week\")?\" vis-current-week\":\"\"}function currentMonth(date){return date.isSame(new Date,\"month\")?\" vis-current-month\":\"\"}function currentYear(date){return date.isSame(new Date,\"year\")?\" vis-current-year\":\"\"}switch(this.scale){case\"millisecond\":return even(date.milliseconds()).trim();case\"second\":return even(date.seconds()).trim();case\"minute\":return even(date.minutes()).trim();case\"hour\":var hours=date.hours();if(this.step==4){hours=hours+\"-h\"+(hours+4)}return\"vis-h\"+hours+today(date)+even(date.hours());case\"weekday\":return\"vis-\"+date.format(\"dddd\").toLowerCase()+today(date)+currentWeek(date)+even(date.date());case\"day\":var day=date.date();var month=date.format(\"MMMM\").toLowerCase();return\"vis-day\"+day+\" vis-\"+month+currentMonth(date)+even(day-1);case\"month\":return\"vis-\"+date.format(\"MMMM\").toLowerCase()+currentMonth(date)+even(date.month());case\"year\":var year=date.year();return\"vis-year\"+year+currentYear(date)+even(year);default:return\"\"}};module.exports=TimeStep},function(module,exports,__webpack_require__){\"use strict\";var util=__webpack_require__(7);var Group=__webpack_require__(34);function BackgroundGroup(groupId,data,itemSet){Group.call(this,groupId,data,itemSet);this.width=0;this.height=0;this.top=0;this.left=0}BackgroundGroup.prototype=Object.create(Group.prototype);BackgroundGroup.prototype.redraw=function(range,margin,restack){var resized=false;this.visibleItems=this._updateVisibleItems(this.orderedItems,this.visibleItems,range);this.width=this.dom.background.offsetWidth;this.dom.background.style.height=\"0\";for(var i=0,ii=this.visibleItems.length;i<ii;i++){var item=this.visibleItems[i];item.repositionY(margin)}return resized};BackgroundGroup.prototype.show=function(){if(!this.dom.background.parentNode){this.itemSet.dom.background.appendChild(this.dom.background)}};module.exports=BackgroundGroup},function(module,exports,__webpack_require__){\"use strict\";var Item=__webpack_require__(2);var util=__webpack_require__(7);function BoxItem(data,conversion,options){this.props={dot:{width:0,height:0},line:{width:0,height:0}};if(data){if(data.start==undefined){throw new Error('Property \"start\" missing in item '+data)}}Item.call(this,data,conversion,options)}BoxItem.prototype=new Item(null,null,null);BoxItem.prototype.isVisible=function(range){var interval=(range.end-range.start)/4;return this.data.start>range.start-interval&&this.data.start<range.end+interval};BoxItem.prototype.redraw=function(){var dom=this.dom;if(!dom){this.dom={};dom=this.dom;dom.box=document.createElement(\"DIV\");dom.content=document.createElement(\"DIV\");dom.content.className=\"vis-item-content\";dom.box.appendChild(dom.content);dom.line=document.createElement(\"DIV\");dom.line.className=\"vis-line\";dom.dot=document.createElement(\"DIV\");dom.dot.className=\"vis-dot\";dom.box[\"timeline-item\"]=this;this.dirty=true}if(!this.parent){throw new Error(\"Cannot redraw item: no parent attached\")}if(!dom.box.parentNode){var foreground=this.parent.dom.foreground;if(!foreground)throw new Error(\"Cannot redraw item: parent has no foreground container element\");foreground.appendChild(dom.box)}if(!dom.line.parentNode){var background=this.parent.dom.background;if(!background)throw new Error(\"Cannot redraw item: parent has no background container element\");background.appendChild(dom.line)}if(!dom.dot.parentNode){var axis=this.parent.dom.axis;if(!background)throw new Error(\"Cannot redraw item: parent has no axis container element\");axis.appendChild(dom.dot)}this.displayed=true;if(this.dirty){this._updateContents(this.dom.content);this._updateTitle(this.dom.box);this._updateDataAttributes(this.dom.box);this._updateStyle(this.dom.box);var editable=(this.options.editable.updateTime||this.options.editable.updateGroup||this.editable===true)&&this.editable!==false;var className=(this.data.className?\" \"+this.data.className:\"\")+(this.selected?\" vis-selected\":\"\")+(editable?\" vis-editable\":\" vis-readonly\");dom.box.className=\"vis-item vis-box\"+className;dom.line.className=\"vis-item vis-line\"+className;dom.dot.className=\"vis-item vis-dot\"+className;this.props.dot.height=dom.dot.offsetHeight;this.props.dot.width=dom.dot.offsetWidth;this.props.line.width=dom.line.offsetWidth;this.width=dom.box.offsetWidth;this.height=dom.box.offsetHeight;this.dirty=false}this._repaintDeleteButton(dom.box)};BoxItem.prototype.show=function(){if(!this.displayed){this.redraw()}};BoxItem.prototype.hide=function(){if(this.displayed){var dom=this.dom;if(dom.box.parentNode)dom.box.parentNode.removeChild(dom.box);if(dom.line.parentNode)dom.line.parentNode.removeChild(dom.line);if(dom.dot.parentNode)dom.dot.parentNode.removeChild(dom.dot);this.displayed=false}};BoxItem.prototype.repositionX=function(){var start=this.conversion.toScreen(this.data.start);var align=this.options.align;var left;if(align==\"right\"){this.left=start-this.width}else if(align==\"left\"){this.left=start}else{this.left=start-this.width/2}this.dom.box.style.left=this.left+\"px\";this.dom.line.style.left=start-this.props.line.width/2+\"px\";this.dom.dot.style.left=start-this.props.dot.width/2+\"px\"};BoxItem.prototype.repositionY=function(){var orientation=this.options.orientation.item;var box=this.dom.box;var line=this.dom.line;var dot=this.dom.dot;if(orientation==\"top\"){box.style.top=(this.top||0)+\"px\";line.style.top=\"0\";line.style.height=this.parent.top+this.top+1+\"px\";line.style.bottom=\"\"}else{var itemSetHeight=this.parent.itemSet.props.height;var lineHeight=itemSetHeight-this.parent.top-this.parent.height+this.top;box.style.top=(this.parent.height-this.top-this.height||0)+\"px\";line.style.top=itemSetHeight-lineHeight+\"px\";line.style.bottom=\"0\"}dot.style.top=-this.props.dot.height/2+\"px\"};BoxItem.prototype.getWidthLeft=function(){return this.width/2};BoxItem.prototype.getWidthRight=function(){return this.width/2};module.exports=BoxItem},function(module,exports,__webpack_require__){\"use strict\";var Hammer=__webpack_require__(3);var Item=__webpack_require__(2);var BackgroundGroup=__webpack_require__(38);var RangeItem=__webpack_require__(36);function BackgroundItem(data,conversion,options){this.props={content:{width:0}};this.overflow=false;if(data){if(data.start==undefined){throw new Error('Property \"start\" missing in item '+data.id)}if(data.end==undefined){throw new Error('Property \"end\" missing in item '+data.id)}}Item.call(this,data,conversion,options)}BackgroundItem.prototype=new Item(null,null,null);BackgroundItem.prototype.baseClassName=\"vis-item vis-background\";BackgroundItem.prototype.stack=false;BackgroundItem.prototype.isVisible=function(range){return this.data.start<range.end&&this.data.end>range.start};BackgroundItem.prototype.redraw=function(){var dom=this.dom;if(!dom){this.dom={};dom=this.dom;dom.box=document.createElement(\"div\");dom.frame=document.createElement(\"div\");dom.frame.className=\"vis-item-overflow\";dom.box.appendChild(dom.frame);dom.content=document.createElement(\"div\");dom.content.className=\"vis-item-content\";dom.frame.appendChild(dom.content);this.dirty=true}if(!this.parent){throw new Error(\"Cannot redraw item: no parent attached\")}if(!dom.box.parentNode){var background=this.parent.dom.background;if(!background){throw new Error(\"Cannot redraw item: parent has no background container element\")}background.appendChild(dom.box)}this.displayed=true;if(this.dirty){this._updateContents(this.dom.content);this._updateTitle(this.dom.content);this._updateDataAttributes(this.dom.content);this._updateStyle(this.dom.box);var className=(this.data.className?\" \"+this.data.className:\"\")+(this.selected?\" vis-selected\":\"\");dom.box.className=this.baseClassName+className;this.overflow=window.getComputedStyle(dom.content).overflow!==\"hidden\";this.props.content.width=this.dom.content.offsetWidth;this.height=0;this.dirty=false}};BackgroundItem.prototype.show=RangeItem.prototype.show;BackgroundItem.prototype.hide=RangeItem.prototype.hide;BackgroundItem.prototype.repositionX=RangeItem.prototype.repositionX;BackgroundItem.prototype.repositionY=function(margin){var onTop=this.options.orientation.item===\"top\";this.dom.content.style.top=onTop?\"\":\"0\";this.dom.content.style.bottom=onTop?\"0\":\"\";var height;if(this.data.subgroup!==undefined){var itemSubgroup=this.data.subgroup;var subgroups=this.parent.subgroups;var subgroupIndex=subgroups[itemSubgroup].index;if(onTop==true){height=this.parent.subgroups[itemSubgroup].height+margin.item.vertical;height+=subgroupIndex==0?margin.axis-.5*margin.item.vertical:0;var newTop=this.parent.top;for(var subgroup in subgroups){if(subgroups.hasOwnProperty(subgroup)){if(subgroups[subgroup].visible==true&&subgroups[subgroup].index<subgroupIndex){newTop+=subgroups[subgroup].height+margin.item.vertical}}}newTop+=subgroupIndex!=0?margin.axis-.5*margin.item.vertical:0;this.dom.box.style.top=newTop+\"px\";this.dom.box.style.bottom=\"\"}else{var newTop=this.parent.top;var totalHeight=0;for(var subgroup in subgroups){if(subgroups.hasOwnProperty(subgroup)){if(subgroups[subgroup].visible==true){var newHeight=subgroups[subgroup].height+margin.item.vertical;totalHeight+=newHeight;if(subgroups[subgroup].index>subgroupIndex){newTop+=newHeight}}}}height=this.parent.subgroups[itemSubgroup].height+margin.item.vertical;this.dom.box.style.top=this.parent.height-totalHeight+newTop+\"px\";this.dom.box.style.bottom=\"\"}}else{if(this.parent instanceof BackgroundGroup){height=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height);this.dom.box.style.top=onTop?\"0\":\"\";this.dom.box.style.bottom=onTop?\"\":\"0\"}else{height=this.parent.height;this.dom.box.style.top=this.parent.top+\"px\";this.dom.box.style.bottom=\"\"}}this.dom.box.style.height=height+\"px\"};module.exports=BackgroundItem},function(module,exports,__webpack_require__){\"use strict\";var util=__webpack_require__(7);var Component=__webpack_require__(27);var TimeStep=__webpack_require__(37);var DateUtil=__webpack_require__(31);var moment=__webpack_require__(8);function TimeAxis(body,options){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}};this.props={range:{start:0,end:0,minimumStep:0},lineTop:0};this.defaultOptions={orientation:{axis:\"bottom\"},showMinorLabels:true,showMajorLabels:true,format:TimeStep.FORMAT,timeAxis:null};this.options=util.extend({},this.defaultOptions);this.body=body;this._create();this.setOptions(options)}TimeAxis.prototype=new Component;TimeAxis.prototype.setOptions=function(options){if(options){util.selectiveExtend([\"showMinorLabels\",\"showMajorLabels\",\"hiddenDates\",\"timeAxis\"],this.options,options);util.selectiveDeepExtend([\"format\"],this.options,options);if(\"orientation\"in options){if(typeof options.orientation===\"string\"){this.options.orientation.axis=options.orientation}else if(typeof options.orientation===\"object\"&&\"axis\"in options.orientation){this.options.orientation.axis=options.orientation.axis}}if(\"locale\"in options){if(typeof moment.locale===\"function\"){moment.locale(options.locale)}else{moment.lang(options.locale);\n\n}}}};TimeAxis.prototype._create=function(){this.dom.foreground=document.createElement(\"div\");this.dom.background=document.createElement(\"div\");this.dom.foreground.className=\"vis-time-axis vis-foreground\";this.dom.background.className=\"vis-time-axis vis-background\"};TimeAxis.prototype.destroy=function(){if(this.dom.foreground.parentNode){this.dom.foreground.parentNode.removeChild(this.dom.foreground)}if(this.dom.background.parentNode){this.dom.background.parentNode.removeChild(this.dom.background)}this.body=null};TimeAxis.prototype.redraw=function(){var props=this.props;var foreground=this.dom.foreground;var background=this.dom.background;var parent=this.options.orientation.axis==\"top\"?this.body.dom.top:this.body.dom.bottom;var parentChanged=foreground.parentNode!==parent;this._calculateCharSize();var showMinorLabels=this.options.showMinorLabels&&this.options.orientation.axis!==\"none\";var showMajorLabels=this.options.showMajorLabels&&this.options.orientation.axis!==\"none\";props.minorLabelHeight=showMinorLabels?props.minorCharHeight:0;props.majorLabelHeight=showMajorLabels?props.majorCharHeight:0;props.height=props.minorLabelHeight+props.majorLabelHeight;props.width=foreground.offsetWidth;props.minorLineHeight=this.body.domProps.root.height-props.majorLabelHeight-(this.options.orientation.axis==\"top\"?this.body.domProps.bottom.height:this.body.domProps.top.height);props.minorLineWidth=1;props.majorLineHeight=props.minorLineHeight+props.majorLabelHeight;props.majorLineWidth=1;var foregroundNextSibling=foreground.nextSibling;var backgroundNextSibling=background.nextSibling;foreground.parentNode&&foreground.parentNode.removeChild(foreground);background.parentNode&&background.parentNode.removeChild(background);foreground.style.height=this.props.height+\"px\";this._repaintLabels();if(foregroundNextSibling){parent.insertBefore(foreground,foregroundNextSibling)}else{parent.appendChild(foreground)}if(backgroundNextSibling){this.body.dom.backgroundVertical.insertBefore(background,backgroundNextSibling)}else{this.body.dom.backgroundVertical.appendChild(background)}return this._isResized()||parentChanged};TimeAxis.prototype._repaintLabels=function(){var orientation=this.options.orientation.axis;var start=util.convert(this.body.range.start,\"Number\");var end=util.convert(this.body.range.end,\"Number\");var timeLabelsize=this.body.util.toTime((this.props.minorCharWidth||10)*7).valueOf();var minimumStep=timeLabelsize-DateUtil.getHiddenDurationBefore(this.body.hiddenDates,this.body.range,timeLabelsize);minimumStep-=this.body.util.toTime(0).valueOf();var step=new TimeStep(new Date(start),new Date(end),minimumStep,this.body.hiddenDates);if(this.options.format){step.setFormat(this.options.format)}if(this.options.timeAxis){step.setScale(this.options.timeAxis)}this.step=step;var dom=this.dom;dom.redundant.lines=dom.lines;dom.redundant.majorTexts=dom.majorTexts;dom.redundant.minorTexts=dom.minorTexts;dom.lines=[];dom.majorTexts=[];dom.minorTexts=[];var cur;var x=0;var isMajor;var xPrev=0;var width=0;var prevLine;var xFirstMajorLabel=undefined;var max=0;var className;step.first();while(step.hasNext()&&max<1e3){max++;cur=step.getCurrent();isMajor=step.isMajor();className=step.getClassName();xPrev=x;x=this.body.util.toScreen(cur);width=x-xPrev;if(prevLine){prevLine.style.width=width+\"px\"}if(this.options.showMinorLabels){this._repaintMinorText(x,step.getLabelMinor(),orientation,className)}if(isMajor&&this.options.showMajorLabels){if(x>0){if(xFirstMajorLabel==undefined){xFirstMajorLabel=x}this._repaintMajorText(x,step.getLabelMajor(),orientation,className)}prevLine=this._repaintMajorLine(x,orientation,className)}else{prevLine=this._repaintMinorLine(x,orientation,className)}step.next()}if(this.options.showMajorLabels){var leftTime=this.body.util.toTime(0),leftText=step.getLabelMajor(leftTime),widthText=leftText.length*(this.props.majorCharWidth||10)+10;if(xFirstMajorLabel==undefined||widthText<xFirstMajorLabel){this._repaintMajorText(0,leftText,orientation,className)}}util.forEach(this.dom.redundant,function(arr){while(arr.length){var elem=arr.pop();if(elem&&elem.parentNode){elem.parentNode.removeChild(elem)}}})};TimeAxis.prototype._repaintMinorText=function(x,text,orientation,className){var label=this.dom.redundant.minorTexts.shift();if(!label){var content=document.createTextNode(\"\");label=document.createElement(\"div\");label.appendChild(content);this.dom.foreground.appendChild(label)}this.dom.minorTexts.push(label);label.childNodes[0].nodeValue=text;label.style.top=orientation==\"top\"?this.props.majorLabelHeight+\"px\":\"0\";label.style.left=x+\"px\";label.className=\"vis-text vis-minor \"+className};TimeAxis.prototype._repaintMajorText=function(x,text,orientation,className){var label=this.dom.redundant.majorTexts.shift();if(!label){var content=document.createTextNode(text);label=document.createElement(\"div\");label.appendChild(content);this.dom.foreground.appendChild(label)}this.dom.majorTexts.push(label);label.childNodes[0].nodeValue=text;label.className=\"vis-text vis-major \"+className;label.style.top=orientation==\"top\"?\"0\":this.props.minorLabelHeight+\"px\";label.style.left=x+\"px\"};TimeAxis.prototype._repaintMinorLine=function(x,orientation,className){var line=this.dom.redundant.lines.shift();if(!line){line=document.createElement(\"div\");this.dom.background.appendChild(line)}this.dom.lines.push(line);var props=this.props;if(orientation==\"top\"){line.style.top=props.majorLabelHeight+\"px\"}else{line.style.top=this.body.domProps.top.height+\"px\"}line.style.height=props.minorLineHeight+\"px\";line.style.left=x-props.minorLineWidth/2+\"px\";line.className=\"vis-grid vis-vertical vis-minor \"+className;return line};TimeAxis.prototype._repaintMajorLine=function(x,orientation,className){var line=this.dom.redundant.lines.shift();if(!line){line=document.createElement(\"div\");this.dom.background.appendChild(line)}this.dom.lines.push(line);var props=this.props;if(orientation==\"top\"){line.style.top=\"0\"}else{line.style.top=this.body.domProps.top.height+\"px\"}line.style.left=x-props.majorLineWidth/2+\"px\";line.style.height=props.majorLineHeight+\"px\";line.className=\"vis-grid vis-vertical vis-major \"+className;return line};TimeAxis.prototype._calculateCharSize=function(){if(!this.dom.measureCharMinor){this.dom.measureCharMinor=document.createElement(\"DIV\");this.dom.measureCharMinor.className=\"vis-text vis-minor vis-measure\";this.dom.measureCharMinor.style.position=\"absolute\";this.dom.measureCharMinor.appendChild(document.createTextNode(\"0\"));this.dom.foreground.appendChild(this.dom.measureCharMinor)}this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight;this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth;if(!this.dom.measureCharMajor){this.dom.measureCharMajor=document.createElement(\"DIV\");this.dom.measureCharMajor.className=\"vis-text vis-major vis-measure\";this.dom.measureCharMajor.style.position=\"absolute\";this.dom.measureCharMajor.appendChild(document.createTextNode(\"0\"));this.dom.foreground.appendChild(this.dom.measureCharMajor)}this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight;this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth};module.exports=TimeAxis},function(module,exports,__webpack_require__){\"use strict\";var keycharm=__webpack_require__(43);var Emitter=__webpack_require__(19);var Hammer=__webpack_require__(3);var util=__webpack_require__(7);function Activator(container){this.active=false;this.dom={container:container};this.dom.overlay=document.createElement(\"div\");this.dom.overlay.className=\"vis-overlay\";this.dom.container.appendChild(this.dom.overlay);this.hammer=Hammer(this.dom.overlay);this.hammer.on(\"tap\",this._onTapOverlay.bind(this));var me=this;var events=[\"tap\",\"doubletap\",\"press\",\"pinch\",\"pan\",\"panstart\",\"panmove\",\"panend\"];events.forEach(function(event){me.hammer.on(event,function(event){event.stopPropagation()})});if(document&&document.body){this.onClick=function(event){if(!_hasParent(event.target,container)){me.deactivate()}};document.body.addEventListener(\"click\",this.onClick)}if(this.keycharm!==undefined){this.keycharm.destroy()}this.keycharm=keycharm();this.escListener=this.deactivate.bind(this)}Emitter(Activator.prototype);Activator.current=null;Activator.prototype.destroy=function(){this.deactivate();this.dom.overlay.parentNode.removeChild(this.dom.overlay);if(this.onClick){document.body.removeEventListener(\"click\",this.onClick)}this.hammer.destroy();this.hammer=null};Activator.prototype.activate=function(){if(Activator.current){Activator.current.deactivate()}Activator.current=this;this.active=true;this.dom.overlay.style.display=\"none\";util.addClassName(this.dom.container,\"vis-active\");this.emit(\"change\");this.emit(\"activate\");this.keycharm.bind(\"esc\",this.escListener)};Activator.prototype.deactivate=function(){this.active=false;this.dom.overlay.style.display=\"\";util.removeClassName(this.dom.container,\"vis-active\");this.keycharm.unbind(\"esc\",this.escListener);this.emit(\"change\");this.emit(\"deactivate\")};Activator.prototype._onTapOverlay=function(event){this.activate();event.stopPropagation()};function _hasParent(element,parent){while(element){if(element===parent){return true}element=element.parentNode}return false}module.exports=Activator},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;\"use strict\";(function(root,factory){if(true){!(__WEBPACK_AMD_DEFINE_ARRAY__=[],__WEBPACK_AMD_DEFINE_FACTORY__=factory,__WEBPACK_AMD_DEFINE_RESULT__=typeof __WEBPACK_AMD_DEFINE_FACTORY__===\"function\"?__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__):__WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_RESULT__!==undefined&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__))}else if(typeof exports===\"object\"){module.exports=factory()}else{root.keycharm=factory()}})(this,function(){function keycharm(options){var preventDefault=options&&options.preventDefault||false;var container=options&&options.container||window;var _exportFunctions={};var _bound={keydown:{},keyup:{}};var _keys={};var i;for(i=97;i<=122;i++){_keys[String.fromCharCode(i)]={code:65+(i-97),shift:false}}for(i=65;i<=90;i++){_keys[String.fromCharCode(i)]={code:i,shift:true}}for(i=0;i<=9;i++){_keys[\"\"+i]={code:48+i,shift:false}}for(i=1;i<=12;i++){_keys[\"F\"+i]={code:111+i,shift:false}}for(i=0;i<=9;i++){_keys[\"num\"+i]={code:96+i,shift:false}}_keys[\"num*\"]={code:106,shift:false};_keys[\"num+\"]={code:107,shift:false};_keys[\"num-\"]={code:109,shift:false};_keys[\"num/\"]={code:111,shift:false};_keys[\"num.\"]={code:110,shift:false};_keys[\"left\"]={code:37,shift:false};_keys[\"up\"]={code:38,shift:false};_keys[\"right\"]={code:39,shift:false};_keys[\"down\"]={code:40,shift:false};_keys[\"space\"]={code:32,shift:false};_keys[\"enter\"]={code:13,shift:false};_keys[\"shift\"]={code:16,shift:undefined};_keys[\"esc\"]={code:27,shift:false};_keys[\"backspace\"]={code:8,shift:false};_keys[\"tab\"]={code:9,shift:false};_keys[\"ctrl\"]={code:17,shift:false};_keys[\"alt\"]={code:18,shift:false};_keys[\"delete\"]={code:46,shift:false};_keys[\"pageup\"]={code:33,shift:false};_keys[\"pagedown\"]={code:34,shift:false};_keys[\"=\"]={code:187,shift:false};_keys[\"-\"]={code:189,shift:false};_keys[\"]\"]={code:221,shift:false};_keys[\"[\"]={code:219,shift:false};var down=function(event){handleEvent(event,\"keydown\")};var up=function(event){handleEvent(event,\"keyup\")};var handleEvent=function(event,type){if(_bound[type][event.keyCode]!==undefined){var bound=_bound[type][event.keyCode];for(var i=0;i<bound.length;i++){if(bound[i].shift===undefined){bound[i].fn(event)}else if(bound[i].shift==true&&event.shiftKey==true){bound[i].fn(event)}else if(bound[i].shift==false&&event.shiftKey==false){bound[i].fn(event)}}if(preventDefault==true){event.preventDefault()}}};_exportFunctions.bind=function(key,callback,type){if(type===undefined){type=\"keydown\"}if(_keys[key]===undefined){throw new Error(\"unsupported key: \"+key)}if(_bound[type][_keys[key].code]===undefined){_bound[type][_keys[key].code]=[]}_bound[type][_keys[key].code].push({fn:callback,shift:_keys[key].shift})};_exportFunctions.bindAll=function(callback,type){if(type===undefined){type=\"keydown\"}for(var key in _keys){if(_keys.hasOwnProperty(key)){_exportFunctions.bind(key,callback,type)}}};_exportFunctions.getKey=function(event){for(var key in _keys){if(_keys.hasOwnProperty(key)){if(event.shiftKey==true&&_keys[key].shift==true&&event.keyCode==_keys[key].code){return key}else if(event.shiftKey==false&&_keys[key].shift==false&&event.keyCode==_keys[key].code){return key}else if(event.keyCode==_keys[key].code&&key==\"shift\"){return key}}}return\"unknown key, currently not supported\"};_exportFunctions.unbind=function(key,callback,type){if(type===undefined){type=\"keydown\"}if(_keys[key]===undefined){throw new Error(\"unsupported key: \"+key)}if(callback!==undefined){var newBindings=[];var bound=_bound[type][_keys[key].code];if(bound!==undefined){for(var i=0;i<bound.length;i++){if(!(bound[i].fn==callback&&bound[i].shift==_keys[key].shift)){newBindings.push(_bound[type][_keys[key].code][i])}}}_bound[type][_keys[key].code]=newBindings}else{_bound[type][_keys[key].code]=[]}};_exportFunctions.reset=function(){_bound={keydown:{},keyup:{}}};_exportFunctions.destroy=function(){_bound={keydown:{},keyup:{}};container.removeEventListener(\"keydown\",down,true);container.removeEventListener(\"keyup\",up,true)};container.addEventListener(\"keydown\",down,true);container.addEventListener(\"keyup\",up,true);return _exportFunctions}return keycharm})},function(module,exports,__webpack_require__){\"use strict\";var Hammer=__webpack_require__(3);var util=__webpack_require__(7);var Component=__webpack_require__(27);var moment=__webpack_require__(8);var locales=__webpack_require__(28);function CustomTime(body,options){this.body=body;this.defaultOptions={locales:locales,locale:\"en\",id:undefined};this.options=util.extend({},this.defaultOptions);if(options&&options.time){this.customTime=options.time}else{this.customTime=new Date}this.eventParams={};this.setOptions(options);this._create()}CustomTime.prototype=new Component;CustomTime.prototype.setOptions=function(options){if(options){util.selectiveExtend([\"locale\",\"locales\",\"id\"],this.options,options)}};CustomTime.prototype._create=function(){var bar=document.createElement(\"div\");bar[\"custom-time\"]=this;bar.className=\"vis-custom-time \"+(this.options.id||\"\");bar.style.position=\"absolute\";bar.style.top=\"0px\";bar.style.height=\"100%\";this.bar=bar;var drag=document.createElement(\"div\");drag.style.position=\"relative\";drag.style.top=\"0px\";drag.style.left=\"-10px\";drag.style.height=\"100%\";drag.style.width=\"20px\";bar.appendChild(drag);this.hammer=new Hammer(drag);this.hammer.on(\"panstart\",this._onDragStart.bind(this));this.hammer.on(\"panmove\",this._onDrag.bind(this));this.hammer.on(\"panend\",this._onDragEnd.bind(this));this.hammer.get(\"pan\").set({threshold:5,direction:30})};CustomTime.prototype.destroy=function(){this.hide();this.hammer.destroy();this.hammer=null;this.body=null};CustomTime.prototype.redraw=function(){var parent=this.body.dom.backgroundVertical;if(this.bar.parentNode!=parent){if(this.bar.parentNode){this.bar.parentNode.removeChild(this.bar)}parent.appendChild(this.bar)}var x=this.body.util.toScreen(this.customTime);var locale=this.options.locales[this.options.locale];if(!locale){if(!this.warned){console.log(\"WARNING: options.locales['\"+this.options.locale+\"'] not found. See http://visjs.org/docs/timeline.html#Localization\");this.warned=true}locale=this.options.locales[\"en\"]}var title=locale.time+\": \"+moment(this.customTime).format(\"dddd, MMMM Do YYYY, H:mm:ss\");title=title.charAt(0).toUpperCase()+title.substring(1);this.bar.style.left=x+\"px\";this.bar.title=title;return false};CustomTime.prototype.hide=function(){if(this.bar.parentNode){this.bar.parentNode.removeChild(this.bar)}};CustomTime.prototype.setCustomTime=function(time){this.customTime=util.convert(time,\"Date\");this.redraw()};CustomTime.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())};CustomTime.prototype._onDragStart=function(event){this.eventParams.dragging=true;this.eventParams.customTime=this.customTime;event.stopPropagation()};CustomTime.prototype._onDrag=function(event){if(!this.eventParams.dragging)return;var x=this.body.util.toScreen(this.eventParams.customTime)+event.deltaX;var time=this.body.util.toTime(x);this.setCustomTime(time);this.body.emitter.emit(\"timechange\",{id:this.options.id,time:new Date(this.customTime.valueOf())});event.stopPropagation()};CustomTime.prototype._onDragEnd=function(event){if(!this.eventParams.dragging)return;this.body.emitter.emit(\"timechanged\",{id:this.options.id,time:new Date(this.customTime.valueOf())});event.stopPropagation()};CustomTime.customTimeFromTarget=function(event){var target=event.target;while(target){if(target.hasOwnProperty(\"custom-time\")){return target[\"custom-time\"]}target=target.parentNode}return null};module.exports=CustomTime},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var _ColorPicker=__webpack_require__(46);var _ColorPicker2=_interopRequireDefault(_ColorPicker);var util=__webpack_require__(7);var Configurator=function(){function Configurator(parentModule,defaultContainer,configureOptions){var pixelRatio=arguments[3]===undefined?1:arguments[3];_classCallCheck(this,Configurator);this.parent=parentModule;this.changedOptions=[];this.container=defaultContainer;this.allowCreation=false;this.options={};this.defaultOptions={enabled:false,filter:true,container:undefined,showButton:true};util.extend(this.options,this.defaultOptions);this.configureOptions=configureOptions;this.moduleOptions={};this.domElements=[];this.colorPicker=new _ColorPicker2[\"default\"](pixelRatio);this.wrapper=undefined}_createClass(Configurator,[{key:\"setOptions\",value:function setOptions(options){if(options!==undefined){var enabled=true;if(typeof options===\"string\"){this.options.filter=options}else if(options instanceof Array){this.options.filter=options.join()}else if(typeof options===\"object\"){if(options.container!==undefined){this.options.container=options.container}if(options.filter!==undefined){this.options.filter=options.filter}if(options.showButton!==undefined){this.options.showButton=options.showButton}if(options.enabled!==undefined){enabled=options.enabled}}else if(typeof options===\"boolean\"){this.options.filter=true;enabled=options}else if(typeof options===\"function\"){this.options.filter=options;enabled=true}if(this.options.filter===false){enabled=false}this.options.enabled=enabled}this._clean()}},{key:\"setModuleOptions\",value:function setModuleOptions(moduleOptions){this.moduleOptions=moduleOptions;if(this.options.enabled===true){this._clean();if(this.options.container!==undefined){this.container=this.options.container}this._create()}}},{key:\"_create\",value:function _create(){var _this=this;this._clean();this.changedOptions=[];var filter=this.options.filter;var counter=0;var show=false;for(var option in this.configureOptions){if(this.configureOptions.hasOwnProperty(option)){this.allowCreation=false;show=false;if(typeof filter===\"function\"){show=filter(option,[]);show=show||this._handleObject(this.configureOptions[option],[option],true)}else if(filter===true||filter.indexOf(option)!==-1){show=true}if(show!==false){this.allowCreation=true;if(counter>0){this._makeItem([])}this._makeHeader(option);this._handleObject(this.configureOptions[option],[option])}counter++}}if(this.options.showButton===true){(function(){var generateButton=document.createElement(\"div\");generateButton.className=\"vis-network-configuration button\";generateButton.innerHTML=\"generate options\";generateButton.onclick=function(){_this._printOptions()};generateButton.onmouseover=function(){generateButton.className=\"vis-network-configuration button hover\"};generateButton.onmouseout=function(){generateButton.className=\"vis-network-configuration button\"};_this.optionsContainer=document.createElement(\"div\");_this.optionsContainer.className=\"vis-network-configuration vis-option-container\";_this.domElements.push(_this.optionsContainer);_this.domElements.push(generateButton)})()}this._push();this.colorPicker.insertTo(this.container)}},{key:\"_push\",value:function _push(){this.wrapper=document.createElement(\"div\");this.wrapper.className=\"vis-network-configuration-wrapper\";this.container.appendChild(this.wrapper);for(var i=0;i<this.domElements.length;i++){this.wrapper.appendChild(this.domElements[i])}}},{key:\"_clean\",value:function _clean(){for(var i=0;i<this.domElements.length;i++){this.wrapper.removeChild(this.domElements[i])}if(this.wrapper!==undefined){this.container.removeChild(this.wrapper);this.wrapper=undefined}this.domElements=[]}},{key:\"_getValue\",value:function _getValue(path){var base=this.moduleOptions;for(var i=0;i<path.length;i++){if(base[path[i]]!==undefined){base=base[path[i]]}else{base=undefined;break}}return base}},{key:\"_makeItem\",value:function _makeItem(path){var _arguments=arguments,_this2=this;if(this.allowCreation===true){var _len,domElements,_key;(function(){var item=document.createElement(\"div\");item.className=\"vis-network-configuration item s\"+path.length;for(_len=_arguments.length,domElements=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){domElements[_key-1]=_arguments[_key]}domElements.forEach(function(element){item.appendChild(element)});_this2.domElements.push(item)})()}}},{key:\"_makeHeader\",value:function _makeHeader(name){var div=document.createElement(\"div\");div.className=\"vis-network-configuration header\";div.innerHTML=name;this._makeItem([],div)}},{key:\"_makeLabel\",value:function _makeLabel(name,path){var objectLabel=arguments[2]===undefined?false:arguments[2];var div=document.createElement(\"div\");div.className=\"vis-network-configuration label s\"+path.length;if(objectLabel===true){div.innerHTML=\"<i><b>\"+name+\":</b></i>\"}else{div.innerHTML=name+\":\"}return div}},{key:\"_makeDropdown\",value:function _makeDropdown(arr,value,path){var select=document.createElement(\"select\");select.className=\"vis-network-configuration select\";var selectedValue=0;if(value!==undefined){if(arr.indexOf(value)!==-1){selectedValue=arr.indexOf(value)}}for(var i=0;i<arr.length;i++){var option=document.createElement(\"option\");option.value=arr[i];if(i===selectedValue){option.selected=\"selected\"}option.innerHTML=arr[i];select.appendChild(option)}var me=this;select.onchange=function(){me._update(this.value,path)};var label=this._makeLabel(path[path.length-1],path);this._makeItem(path,label,select)}},{key:\"_makeRange\",value:function _makeRange(arr,value,path){var defaultValue=arr[0];var min=arr[1];var max=arr[2];var step=arr[3];var range=document.createElement(\"input\");range.className=\"vis-network-configuration range\";try{range.type=\"range\";range.min=min;range.max=max}catch(err){}range.step=step;if(value!==undefined){if(value<0&&value*2<min){range.min=value*2}else if(value*.1<min){range.min=value/10}if(value*2>max&&max!==1){range.max=value*2}range.value=value}else{range.value=defaultValue}var input=document.createElement(\"input\");input.className=\"vis-network-configuration rangeinput\";input.value=range.value;var me=this;range.onchange=function(){input.value=this.value;me._update(Number(this.value),path)};range.oninput=function(){input.value=this.value};var label=this._makeLabel(path[path.length-1],path);this._makeItem(path,label,range,input)}},{key:\"_makeCheckbox\",value:function _makeCheckbox(defaultValue,value,path){var checkbox=document.createElement(\"input\");checkbox.type=\"checkbox\";checkbox.className=\"vis-network-configuration checkbox\";checkbox.checked=defaultValue;if(value!==undefined){checkbox.checked=value;if(value!==defaultValue){if(typeof defaultValue===\"object\"){if(value!==defaultValue.enabled){this.changedOptions.push({path:path,value:value})}}else{this.changedOptions.push({path:path,value:value})}}}var me=this;checkbox.onchange=function(){me._update(this.checked,path)};var label=this._makeLabel(path[path.length-1],path);this._makeItem(path,label,checkbox)}},{key:\"_makeTextInput\",value:function _makeTextInput(defaultValue,value,path){var checkbox=document.createElement(\"input\");checkbox.type=\"text\";checkbox.className=\"vis-network-configuration text\";checkbox.value=value;if(value!==defaultValue){this.changedOptions.push({path:path,value:value})}var me=this;checkbox.onchange=function(){me._update(this.value,path)};var label=this._makeLabel(path[path.length-1],path);this._makeItem(path,label,checkbox)}},{key:\"_makeColorField\",value:function _makeColorField(arr,value,path){var _this3=this;var defaultColor=arr[1];var div=document.createElement(\"div\");value=value===undefined?defaultColor:value;if(value!==\"none\"){div.className=\"vis-network-configuration colorBlock\";div.style.backgroundColor=value}else{div.className=\"vis-network-configuration colorBlock none\"}value=value===undefined?defaultColor:value;div.onclick=function(){_this3._showColorPicker(value,div,path)};var label=this._makeLabel(path[path.length-1],path);this._makeItem(path,label,div)}},{key:\"_showColorPicker\",value:function _showColorPicker(value,div,path){var _this4=this;var rect=div.getBoundingClientRect();var bodyRect=document.body.getBoundingClientRect();var pickerX=rect.left+rect.width+5;var pickerY=rect.top-bodyRect.top+rect.height*.5;this.colorPicker.show(pickerX,pickerY);this.colorPicker.setColor(value);this.colorPicker.setCallback(function(color){var colorString=\"rgba(\"+color.r+\",\"+color.g+\",\"+color.b+\",\"+color.a+\")\";div.style.backgroundColor=colorString;_this4._update(colorString,path)})}},{key:\"_handleObject\",value:function _handleObject(obj){var path=arguments[1]===undefined?[]:arguments[1];var checkOnly=arguments[2]===undefined?false:arguments[2];var show=false;var filter=this.options.filter;var visibleInSet=false;for(var subObj in obj){if(obj.hasOwnProperty(subObj)){show=true;var item=obj[subObj];var newPath=util.copyAndExtendArray(path,subObj);if(typeof filter===\"function\"){show=filter(subObj,path);if(show===false){if(!(item instanceof Array)&&typeof item!==\"string\"&&typeof item!==\"boolean\"&&item instanceof Object){this.allowCreation=false;show=this._handleObject(item,newPath,true);this.allowCreation=checkOnly===false}}}if(show!==false){visibleInSet=true;var value=this._getValue(newPath);if(item instanceof Array){this._handleArray(item,value,newPath)}else if(typeof item===\"string\"){this._makeTextInput(item,value,newPath)}else if(typeof item===\"boolean\"){this._makeCheckbox(item,value,newPath)}else if(item instanceof Object){var draw=true;if(path.indexOf(\"physics\")!==-1){if(this.moduleOptions.physics.solver!==subObj){draw=false}}if(draw===true){if(item.enabled!==undefined){var enabledPath=util.copyAndExtendArray(newPath,\"enabled\");var enabledValue=this._getValue(enabledPath);if(enabledValue===true){var label=this._makeLabel(subObj,newPath,true);this._makeItem(newPath,label);visibleInSet=this._handleObject(item,newPath)||visibleInSet}else{this._makeCheckbox(item,enabledValue,newPath)}}else{var label=this._makeLabel(subObj,newPath,true);this._makeItem(newPath,label);visibleInSet=this._handleObject(item,newPath)||visibleInSet}}}else{console.error(\"dont know how to handle\",item,subObj,newPath)}}}}return visibleInSet}},{key:\"_handleArray\",value:function _handleArray(arr,value,path){if(typeof arr[0]===\"string\"&&arr[0]===\"color\"){this._makeColorField(arr,value,path);if(arr[1]!==value){this.changedOptions.push({path:path,value:value})}}else if(typeof arr[0]===\"string\"){this._makeDropdown(arr,value,path);if(arr[0]!==value){this.changedOptions.push({path:path,value:value})}}else if(typeof arr[0]===\"number\"){this._makeRange(arr,value,path);if(arr[0]!==value){this.changedOptions.push({path:path,value:Number(value)})}}}},{key:\"_update\",value:function _update(value,path){var options=this._constructOptions(value,path);this.parent.setOptions(options)}},{key:\"_constructOptions\",value:function _constructOptions(value,path){var optionsObj=arguments[2]===undefined?{}:arguments[2];var pointer=optionsObj;value=value===\"true\"?true:value;value=value===\"false\"?false:value;for(var i=0;i<path.length;i++){if(path[i]!==\"global\"){if(pointer[path[i]]===undefined){pointer[path[i]]={}}if(i!==path.length-1){pointer=pointer[path[i]]}else{pointer[path[i]]=value}}}return optionsObj}},{key:\"_printOptions\",value:function _printOptions(){var options=this.getOptions();this.optionsContainer.innerHTML=\"<pre>var options = \"+JSON.stringify(options,null,2)+\"</pre>\"}},{key:\"getOptions\",value:function getOptions(){var options={};for(var i=0;i<this.changedOptions.length;i++){this._constructOptions(this.changedOptions[i].value,this.changedOptions[i].path,options)}return options}}]);return Configurator}();exports[\"default\"]=Configurator;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var Hammer=__webpack_require__(3);var hammerUtil=__webpack_require__(30);var util=__webpack_require__(7);var ColorPicker=function(){function ColorPicker(){var pixelRatio=arguments[0]===undefined?1:arguments[0];_classCallCheck(this,ColorPicker);this.pixelRatio=pixelRatio;this.generated=false;this.centerCoordinates={x:289/2,y:289/2};this.r=289*.49;this.color={r:255,g:255,b:255,a:1};this.hueCircle=undefined;this.initialColor={r:255,g:255,b:255,a:1};this.previousColor=undefined;this.applied=false;this.updateCallback=function(){};this._create()}_createClass(ColorPicker,[{key:\"insertTo\",value:function insertTo(container){if(this.hammer!==undefined){this.hammer.destroy();this.hammer=undefined}this.container=container;this.container.appendChild(this.frame);this._bindHammer();this._setSize()}},{key:\"setCallback\",value:function setCallback(callback){if(typeof callback===\"function\"){this.updateCallback=callback}else{throw new Error(\"Function attempted to set as colorPicker callback is not a function.\")}}},{key:\"_isColorString\",value:function _isColorString(color){var htmlColors={black:\"#000000\",navy:\"#000080\",darkblue:\"#00008B\",mediumblue:\"#0000CD\",blue:\"#0000FF\",darkgreen:\"#006400\",green:\"#008000\",teal:\"#008080\",darkcyan:\"#008B8B\",deepskyblue:\"#00BFFF\",darkturquoise:\"#00CED1\",mediumspringgreen:\"#00FA9A\",lime:\"#00FF00\",springgreen:\"#00FF7F\",aqua:\"#00FFFF\",cyan:\"#00FFFF\",midnightblue:\"#191970\",dodgerblue:\"#1E90FF\",lightseagreen:\"#20B2AA\",forestgreen:\"#228B22\",seagreen:\"#2E8B57\",darkslategray:\"#2F4F4F\",limegreen:\"#32CD32\",mediumseagreen:\"#3CB371\",turquoise:\"#40E0D0\",royalblue:\"#4169E1\",steelblue:\"#4682B4\",darkslateblue:\"#483D8B\",mediumturquoise:\"#48D1CC\",indigo:\"#4B0082\",darkolivegreen:\"#556B2F\",cadetblue:\"#5F9EA0\",cornflowerblue:\"#6495ED\",\nmediumaquamarine:\"#66CDAA\",dimgray:\"#696969\",slateblue:\"#6A5ACD\",olivedrab:\"#6B8E23\",slategray:\"#708090\",lightslategray:\"#778899\",mediumslateblue:\"#7B68EE\",lawngreen:\"#7CFC00\",chartreuse:\"#7FFF00\",aquamarine:\"#7FFFD4\",maroon:\"#800000\",purple:\"#800080\",olive:\"#808000\",gray:\"#808080\",skyblue:\"#87CEEB\",lightskyblue:\"#87CEFA\",blueviolet:\"#8A2BE2\",darkred:\"#8B0000\",darkmagenta:\"#8B008B\",saddlebrown:\"#8B4513\",darkseagreen:\"#8FBC8F\",lightgreen:\"#90EE90\",mediumpurple:\"#9370D8\",darkviolet:\"#9400D3\",palegreen:\"#98FB98\",darkorchid:\"#9932CC\",yellowgreen:\"#9ACD32\",sienna:\"#A0522D\",brown:\"#A52A2A\",darkgray:\"#A9A9A9\",lightblue:\"#ADD8E6\",greenyellow:\"#ADFF2F\",paleturquoise:\"#AFEEEE\",lightsteelblue:\"#B0C4DE\",powderblue:\"#B0E0E6\",firebrick:\"#B22222\",darkgoldenrod:\"#B8860B\",mediumorchid:\"#BA55D3\",rosybrown:\"#BC8F8F\",darkkhaki:\"#BDB76B\",silver:\"#C0C0C0\",mediumvioletred:\"#C71585\",indianred:\"#CD5C5C\",peru:\"#CD853F\",chocolate:\"#D2691E\",tan:\"#D2B48C\",lightgrey:\"#D3D3D3\",palevioletred:\"#D87093\",thistle:\"#D8BFD8\",orchid:\"#DA70D6\",goldenrod:\"#DAA520\",crimson:\"#DC143C\",gainsboro:\"#DCDCDC\",plum:\"#DDA0DD\",burlywood:\"#DEB887\",lightcyan:\"#E0FFFF\",lavender:\"#E6E6FA\",darksalmon:\"#E9967A\",violet:\"#EE82EE\",palegoldenrod:\"#EEE8AA\",lightcoral:\"#F08080\",khaki:\"#F0E68C\",aliceblue:\"#F0F8FF\",honeydew:\"#F0FFF0\",azure:\"#F0FFFF\",sandybrown:\"#F4A460\",wheat:\"#F5DEB3\",beige:\"#F5F5DC\",whitesmoke:\"#F5F5F5\",mintcream:\"#F5FFFA\",ghostwhite:\"#F8F8FF\",salmon:\"#FA8072\",antiquewhite:\"#FAEBD7\",linen:\"#FAF0E6\",lightgoldenrodyellow:\"#FAFAD2\",oldlace:\"#FDF5E6\",red:\"#FF0000\",fuchsia:\"#FF00FF\",magenta:\"#FF00FF\",deeppink:\"#FF1493\",orangered:\"#FF4500\",tomato:\"#FF6347\",hotpink:\"#FF69B4\",coral:\"#FF7F50\",darkorange:\"#FF8C00\",lightsalmon:\"#FFA07A\",orange:\"#FFA500\",lightpink:\"#FFB6C1\",pink:\"#FFC0CB\",gold:\"#FFD700\",peachpuff:\"#FFDAB9\",navajowhite:\"#FFDEAD\",moccasin:\"#FFE4B5\",bisque:\"#FFE4C4\",mistyrose:\"#FFE4E1\",blanchedalmond:\"#FFEBCD\",papayawhip:\"#FFEFD5\",lavenderblush:\"#FFF0F5\",seashell:\"#FFF5EE\",cornsilk:\"#FFF8DC\",lemonchiffon:\"#FFFACD\",floralwhite:\"#FFFAF0\",snow:\"#FFFAFA\",yellow:\"#FFFF00\",lightyellow:\"#FFFFE0\",ivory:\"#FFFFF0\",white:\"#FFFFFF\"};if(typeof color===\"string\"){return htmlColors[color]}}},{key:\"setColor\",value:function setColor(color){var setInitial=arguments[1]===undefined?true:arguments[1];if(color===\"none\"){return}var rgba=undefined;var htmlColor=this._isColorString(color);if(htmlColor!==undefined){color=htmlColor}if(util.isString(color)===true){if(util.isValidRGB(color)===true){var rgbaArray=color.substr(4).substr(0,color.length-5).split(\",\");rgba={r:rgbaArray[0],g:rgbaArray[1],b:rgbaArray[2],a:1}}else if(util.isValidRGBA(color)===true){var rgbaArray=color.substr(5).substr(0,color.length-6).split(\",\");rgba={r:rgbaArray[0],g:rgbaArray[1],b:rgbaArray[2],a:rgbaArray[3]}}else if(util.isValidHex(color)===true){var rgbObj=util.hexToRGB(color);rgba={r:rgbObj.r,g:rgbObj.g,b:rgbObj.b,a:1}}}else{if(color instanceof Object){if(color.r!==undefined&&color.g!==undefined&&color.b!==undefined){var alpha=color.a!==undefined?color.a:\"1.0\";rgba={r:color.r,g:color.g,b:color.b,a:alpha}}}}if(rgba===undefined){throw new Error(\"Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: \"+JSON.stringify(color))}else{this._setColor(rgba,setInitial)}}},{key:\"show\",value:function show(x,y){this.applied=false;this.frame.style.display=\"block\";this.frame.style.top=y+\"px\";this.frame.style.left=x+\"px\";this._generateHueCircle()}},{key:\"_hide\",value:function _hide(){var storePrevious=arguments[0]===undefined?true:arguments[0];if(storePrevious===true){this.previousColor=util.extend({},this.color)}if(this.applied===true){this.updateCallback(this.initialColor)}this.frame.style.display=\"none\"}},{key:\"_save\",value:function _save(){this.updateCallback(this.color);this.applied=false;this._hide()}},{key:\"_apply\",value:function _apply(){this.applied=true;this.updateCallback(this.color);this._updatePicker(this.color)}},{key:\"_loadLast\",value:function _loadLast(){if(this.previousColor!==undefined){this.setColor(this.previousColor,false)}else{alert(\"There is no last color to load...\")}}},{key:\"_setColor\",value:function _setColor(rgba){var setInitial=arguments[1]===undefined?true:arguments[1];if(setInitial===true){this.initialColor=util.extend({},rgba)}this.color=rgba;var hsv=util.RGBToHSV(rgba.r,rgba.g,rgba.b);var angleConvert=2*Math.PI;var radius=this.r*hsv.s;var x=this.centerCoordinates.x+radius*Math.sin(angleConvert*hsv.h);var y=this.centerCoordinates.y+radius*Math.cos(angleConvert*hsv.h);this.colorPickerSelector.style.left=x-.5*this.colorPickerSelector.clientWidth+\"px\";this.colorPickerSelector.style.top=y-.5*this.colorPickerSelector.clientHeight+\"px\";this._updatePicker(rgba)}},{key:\"_setOpacity\",value:function _setOpacity(value){this.color.a=value/100;this._updatePicker(this.color)}},{key:\"_setBrightness\",value:function _setBrightness(value){var hsv=util.RGBToHSV(this.color.r,this.color.g,this.color.b);hsv.v=value/100;var rgba=util.HSVToRGB(hsv.h,hsv.s,hsv.v);rgba[\"a\"]=this.color.a;this.color=rgba;this._updatePicker()}},{key:\"_updatePicker\",value:function _updatePicker(){var rgba=arguments[0]===undefined?this.color:arguments[0];var hsv=util.RGBToHSV(rgba.r,rgba.g,rgba.b);var ctx=this.colorPickerCanvas.getContext(\"2d\");if(this.pixelRation===undefined){this.pixelRatio=(window.devicePixelRatio||1)/(ctx.webkitBackingStorePixelRatio||ctx.mozBackingStorePixelRatio||ctx.msBackingStorePixelRatio||ctx.oBackingStorePixelRatio||ctx.backingStorePixelRatio||1)}ctx.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var w=this.colorPickerCanvas.clientWidth;var h=this.colorPickerCanvas.clientHeight;ctx.clearRect(0,0,w,h);ctx.putImageData(this.hueCircle,0,0);ctx.fillStyle=\"rgba(0,0,0,\"+(1-hsv.v)+\")\";ctx.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r);ctx.fill();this.brightnessRange.value=100*hsv.v;this.opacityRange.value=100*rgba.a;this.initialColorDiv.style.backgroundColor=\"rgba(\"+this.initialColor.r+\",\"+this.initialColor.g+\",\"+this.initialColor.b+\",\"+this.initialColor.a+\")\";this.newColorDiv.style.backgroundColor=\"rgba(\"+this.color.r+\",\"+this.color.g+\",\"+this.color.b+\",\"+this.color.a+\")\"}},{key:\"_setSize\",value:function _setSize(){this.colorPickerCanvas.style.width=\"100%\";this.colorPickerCanvas.style.height=\"100%\";this.colorPickerCanvas.width=289*this.pixelRatio;this.colorPickerCanvas.height=289*this.pixelRatio}},{key:\"_create\",value:function _create(){this.frame=document.createElement(\"div\");this.frame.className=\"vis-color-picker\";this.colorPickerDiv=document.createElement(\"div\");this.colorPickerSelector=document.createElement(\"div\");this.colorPickerSelector.className=\"vis-selector\";this.colorPickerDiv.appendChild(this.colorPickerSelector);this.colorPickerCanvas=document.createElement(\"canvas\");this.colorPickerDiv.appendChild(this.colorPickerCanvas);if(!this.colorPickerCanvas.getContext){var noCanvas=document.createElement(\"DIV\");noCanvas.style.color=\"red\";noCanvas.style.fontWeight=\"bold\";noCanvas.style.padding=\"10px\";noCanvas.innerHTML=\"Error: your browser does not support HTML canvas\";this.colorPickerCanvas.appendChild(noCanvas)}else{var ctx=this.colorPickerCanvas.getContext(\"2d\");this.pixelRatio=(window.devicePixelRatio||1)/(ctx.webkitBackingStorePixelRatio||ctx.mozBackingStorePixelRatio||ctx.msBackingStorePixelRatio||ctx.oBackingStorePixelRatio||ctx.backingStorePixelRatio||1);this.colorPickerCanvas.getContext(\"2d\").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}this.colorPickerDiv.className=\"vis-color\";this.opacityDiv=document.createElement(\"div\");this.opacityDiv.className=\"vis-opacity\";this.brightnessDiv=document.createElement(\"div\");this.brightnessDiv.className=\"vis-brightness\";this.arrowDiv=document.createElement(\"div\");this.arrowDiv.className=\"vis-arrow\";this.opacityRange=document.createElement(\"input\");try{this.opacityRange.type=\"range\";this.opacityRange.min=\"0\";this.opacityRange.max=\"100\"}catch(err){}this.opacityRange.value=\"100\";this.opacityRange.className=\"vis-range\";this.brightnessRange=document.createElement(\"input\");try{this.brightnessRange.type=\"range\";this.brightnessRange.min=\"0\";this.brightnessRange.max=\"100\"}catch(err){}this.brightnessRange.value=\"100\";this.brightnessRange.className=\"vis-range\";this.opacityDiv.appendChild(this.opacityRange);this.brightnessDiv.appendChild(this.brightnessRange);var me=this;this.opacityRange.onchange=function(){me._setOpacity(this.value)};this.opacityRange.oninput=function(){me._setOpacity(this.value)};this.brightnessRange.onchange=function(){me._setBrightness(this.value)};this.brightnessRange.oninput=function(){me._setBrightness(this.value)};this.brightnessLabel=document.createElement(\"div\");this.brightnessLabel.className=\"vis-label vis-brightness\";this.brightnessLabel.innerHTML=\"brightness:\";this.opacityLabel=document.createElement(\"div\");this.opacityLabel.className=\"vis-label vis-opacity\";this.opacityLabel.innerHTML=\"opacity:\";this.newColorDiv=document.createElement(\"div\");this.newColorDiv.className=\"vis-new-color\";this.newColorDiv.innerHTML=\"new\";this.initialColorDiv=document.createElement(\"div\");this.initialColorDiv.className=\"vis-initial-color\";this.initialColorDiv.innerHTML=\"initial\";this.cancelButton=document.createElement(\"div\");this.cancelButton.className=\"vis-button vis-cancel\";this.cancelButton.innerHTML=\"cancel\";this.cancelButton.onclick=this._hide.bind(this,false);this.applyButton=document.createElement(\"div\");this.applyButton.className=\"vis-button vis-apply\";this.applyButton.innerHTML=\"apply\";this.applyButton.onclick=this._apply.bind(this);this.saveButton=document.createElement(\"div\");this.saveButton.className=\"vis-button vis-save\";this.saveButton.innerHTML=\"save\";this.saveButton.onclick=this._save.bind(this);this.loadButton=document.createElement(\"div\");this.loadButton.className=\"vis-button vis-load\";this.loadButton.innerHTML=\"load last\";this.loadButton.onclick=this._loadLast.bind(this);this.frame.appendChild(this.colorPickerDiv);this.frame.appendChild(this.arrowDiv);this.frame.appendChild(this.brightnessLabel);this.frame.appendChild(this.brightnessDiv);this.frame.appendChild(this.opacityLabel);this.frame.appendChild(this.opacityDiv);this.frame.appendChild(this.newColorDiv);this.frame.appendChild(this.initialColorDiv);this.frame.appendChild(this.cancelButton);this.frame.appendChild(this.applyButton);this.frame.appendChild(this.saveButton);this.frame.appendChild(this.loadButton)}},{key:\"_bindHammer\",value:function _bindHammer(){var _this=this;this.drag={};this.pinch={};this.hammer=new Hammer(this.colorPickerCanvas);this.hammer.get(\"pinch\").set({enable:true});hammerUtil.onTouch(this.hammer,function(event){_this._moveSelector(event)});this.hammer.on(\"tap\",function(event){_this._moveSelector(event)});this.hammer.on(\"panstart\",function(event){_this._moveSelector(event)});this.hammer.on(\"panmove\",function(event){_this._moveSelector(event)});this.hammer.on(\"panend\",function(event){_this._moveSelector(event)})}},{key:\"_generateHueCircle\",value:function _generateHueCircle(){if(this.generated===false){var ctx=this.colorPickerCanvas.getContext(\"2d\");if(this.pixelRation===undefined){this.pixelRatio=(window.devicePixelRatio||1)/(ctx.webkitBackingStorePixelRatio||ctx.mozBackingStorePixelRatio||ctx.msBackingStorePixelRatio||ctx.oBackingStorePixelRatio||ctx.backingStorePixelRatio||1)}ctx.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var w=this.colorPickerCanvas.clientWidth;var h=this.colorPickerCanvas.clientHeight;ctx.clearRect(0,0,w,h);var x=undefined,y=undefined,hue=undefined,sat=undefined;this.centerCoordinates={x:w*.5,y:h*.5};this.r=.49*w;var angleConvert=2*Math.PI/360;var hfac=1/360;var sfac=1/this.r;var rgb=undefined;for(hue=0;hue<360;hue++){for(sat=0;sat<this.r;sat++){x=this.centerCoordinates.x+sat*Math.sin(angleConvert*hue);y=this.centerCoordinates.y+sat*Math.cos(angleConvert*hue);rgb=util.HSVToRGB(hue*hfac,sat*sfac,1);ctx.fillStyle=\"rgb(\"+rgb.r+\",\"+rgb.g+\",\"+rgb.b+\")\";ctx.fillRect(x-.5,y-.5,2,2)}}ctx.strokeStyle=\"rgba(0,0,0,1)\";ctx.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r);ctx.stroke();this.hueCircle=ctx.getImageData(0,0,w,h)}this.generated=true}},{key:\"_moveSelector\",value:function _moveSelector(event){var rect=this.colorPickerDiv.getBoundingClientRect();var left=event.center.x-rect.left;var top=event.center.y-rect.top;var centerY=.5*this.colorPickerDiv.clientHeight;var centerX=.5*this.colorPickerDiv.clientWidth;var x=left-centerX;var y=top-centerY;var angle=Math.atan2(x,y);var radius=.98*Math.min(Math.sqrt(x*x+y*y),centerX);var newTop=Math.cos(angle)*radius+centerY;var newLeft=Math.sin(angle)*radius+centerX;this.colorPickerSelector.style.top=newTop-.5*this.colorPickerSelector.clientHeight+\"px\";this.colorPickerSelector.style.left=newLeft-.5*this.colorPickerSelector.clientWidth+\"px\";var h=angle/(2*Math.PI);h=h<0?h+1:h;var s=radius/this.r;var hsv=util.RGBToHSV(this.color.r,this.color.g,this.color.b);hsv.h=h;hsv.s=s;var rgba=util.HSVToRGB(hsv.h,hsv.s,hsv.v);rgba[\"a\"]=this.color.a;this.color=rgba;this.initialColorDiv.style.backgroundColor=\"rgba(\"+this.initialColor.r+\",\"+this.initialColor.g+\",\"+this.initialColor.b+\",\"+this.initialColor.a+\")\";this.newColorDiv.style.backgroundColor=\"rgba(\"+this.color.r+\",\"+this.color.g+\",\"+this.color.b+\",\"+this.color.a+\")\"}}]);return ColorPicker}();exports[\"default\"]=ColorPicker;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var util=__webpack_require__(7);var errorFound=false;var allOptions=undefined;var printStyle=\"background: #FFeeee; color: #dd0000\";var Validator=function(){function Validator(){_classCallCheck(this,Validator)}_createClass(Validator,null,[{key:\"validate\",value:function validate(options,referenceOptions,subObject){errorFound=false;allOptions=referenceOptions;var usedOptions=referenceOptions;if(subObject!==undefined){usedOptions=referenceOptions[subObject]}Validator.parse(options,usedOptions,[]);return errorFound}},{key:\"parse\",value:function parse(options,referenceOptions,path){for(var option in options){if(options.hasOwnProperty(option)){Validator.check(option,options,referenceOptions,path)}}}},{key:\"check\",value:function check(option,options,referenceOptions,path){if(referenceOptions[option]===undefined&&referenceOptions.__any__===undefined){Validator.getSuggestion(option,referenceOptions,path)}else if(referenceOptions[option]===undefined&&referenceOptions.__any__!==undefined){if(Validator.getType(options[option])===\"object\"&&referenceOptions[\"__any__\"].__type__!==undefined){Validator.checkFields(option,options,referenceOptions,\"__any__\",referenceOptions[\"__any__\"].__type__,path)}else{Validator.checkFields(option,options,referenceOptions,\"__any__\",referenceOptions[\"__any__\"],path)}}else{if(referenceOptions[option].__type__!==undefined){Validator.checkFields(option,options,referenceOptions,option,referenceOptions[option].__type__,path)}else{Validator.checkFields(option,options,referenceOptions,option,referenceOptions[option],path)}}}},{key:\"checkFields\",value:function checkFields(option,options,referenceOptions,referenceOption,refOptionObj,path){var optionType=Validator.getType(options[option]);var refOptionType=refOptionObj[optionType];if(refOptionType!==undefined){if(Validator.getType(refOptionType)===\"array\"){if(refOptionType.indexOf(options[option])===-1){console.log('%cInvalid option detected in \"'+option+'\".'+\" Allowed values are:\"+Validator.print(refOptionType)+' not \"'+options[option]+'\". '+Validator.printLocation(path,option),printStyle);errorFound=true}else if(optionType===\"object\"&&referenceOption!==\"__any__\"){path=util.copyAndExtendArray(path,option);Validator.parse(options[option],referenceOptions[referenceOption],path)}}else if(optionType===\"object\"&&referenceOption!==\"__any__\"){path=util.copyAndExtendArray(path,option);Validator.parse(options[option],referenceOptions[referenceOption],path)}}else if(refOptionObj[\"any\"]===undefined){console.log('%cInvalid type received for \"'+option+'\". Expected: '+Validator.print(Object.keys(refOptionObj))+\". Received [\"+optionType+'] \"'+options[option]+'\"'+Validator.printLocation(path,option),printStyle);errorFound=true}}},{key:\"getType\",value:function getType(object){var type=typeof object;if(type===\"object\"){if(object===null){return\"null\"}if(object instanceof Boolean){return\"boolean\"}if(object instanceof Number){return\"number\"}if(object instanceof String){return\"string\"}if(Array.isArray(object)){return\"array\"}if(object instanceof Date){return\"date\"}if(object.nodeType!==undefined){return\"dom\"}if(object._isAMomentObject===true){return\"moment\"}return\"object\"}else if(type===\"number\"){return\"number\"}else if(type===\"boolean\"){return\"boolean\"}else if(type===\"string\"){return\"string\"}else if(type===undefined){return\"undefined\"}return type}},{key:\"getSuggestion\",value:function getSuggestion(option,options,path){var localSearch=Validator.findInOptions(option,options,path,false);var globalSearch=Validator.findInOptions(option,allOptions,[],true);var localSearchThreshold=8;var globalSearchThreshold=4;if(localSearch.indexMatch!==undefined){console.log('%cUnknown option detected: \"'+option+'\" in '+Validator.printLocation(localSearch.path,option,\"\")+'Perhaps it was incomplete? Did you mean: \"'+localSearch.indexMatch+'\"?\\n\\n',printStyle)}else if(globalSearch.distance<=globalSearchThreshold&&localSearch.distance>globalSearch.distance){console.log('%cUnknown option detected: \"'+option+'\" in '+Validator.printLocation(localSearch.path,option,\"\")+\"Perhaps it was misplaced? Matching option found at: \"+Validator.printLocation(globalSearch.path,globalSearch.closestMatch,\"\"),printStyle)}else if(localSearch.distance<=localSearchThreshold){console.log('%cUnknown option detected: \"'+option+'\". Did you mean \"'+localSearch.closestMatch+'\"?'+Validator.printLocation(localSearch.path,option),printStyle)}else{console.log('%cUnknown option detected: \"'+option+'\". Did you mean one of these: '+Validator.print(Object.keys(options))+Validator.printLocation(path,option),printStyle)}errorFound=true}},{key:\"findInOptions\",value:function findInOptions(option,options,path){var recursive=arguments[3]===undefined?false:arguments[3];var min=1e9;var closestMatch=\"\";var closestMatchPath=[];var lowerCaseOption=option.toLowerCase();var indexMatch=undefined;for(var op in options){var distance=undefined;if(options[op].__type__!==undefined&&recursive===true){var result=Validator.findInOptions(option,options[op],util.copyAndExtendArray(path,op));if(min>result.distance){closestMatch=result.closestMatch;closestMatchPath=result.path;min=result.distance;indexMatch=result.indexMatch}}else{if(op.toLowerCase().indexOf(lowerCaseOption)!==-1){indexMatch=op}distance=Validator.levenshteinDistance(option,op);if(min>distance){closestMatch=op;closestMatchPath=util.copyArray(path);min=distance}}}return{closestMatch:closestMatch,path:closestMatchPath,distance:min,indexMatch:indexMatch}}},{key:\"printLocation\",value:function printLocation(path,option){var prefix=arguments[2]===undefined?\"Problem value found at: \\n\":arguments[2];var str=\"\\n\\n\"+prefix+\"options = {\\n\";for(var i=0;i<path.length;i++){for(var j=0;j<i+1;j++){str+=\" \"}str+=path[i]+\": {\\n\"}for(var j=0;j<path.length+1;j++){str+=\" \"}str+=option+\"\\n\";for(var i=0;i<path.length+1;i++){for(var j=0;j<path.length-i;j++){str+=\" \"}str+=\"}\\n\"}return str+\"\\n\\n\"}},{key:\"print\",value:function print(options){return JSON.stringify(options).replace(/(\\\")|(\\[)|(\\])|(,\"__type__\")/g,\"\").replace(/(\\,)/g,\", \")}},{key:\"levenshteinDistance\",value:function levenshteinDistance(a,b){if(a.length===0)return b.length;if(b.length===0)return a.length;var matrix=[];var i;for(i=0;i<=b.length;i++){matrix[i]=[i]}var j;for(j=0;j<=a.length;j++){matrix[0][j]=j}for(i=1;i<=b.length;i++){for(j=1;j<=a.length;j++){if(b.charAt(i-1)==a.charAt(j-1)){matrix[i][j]=matrix[i-1][j-1]}else{matrix[i][j]=Math.min(matrix[i-1][j-1]+1,Math.min(matrix[i][j-1]+1,matrix[i-1][j]+1))}}}return matrix[b.length][a.length]}}]);return Validator}();exports[\"default\"]=Validator;exports.printStyle=printStyle},function(module,exports){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var string=\"string\";var boolean=\"boolean\";var number=\"number\";var array=\"array\";var date=\"date\";var object=\"object\";var dom=\"dom\";var moment=\"moment\";var any=\"any\";var allOptions={configure:{enabled:{\"boolean\":boolean},filter:{\"boolean\":boolean,\"function\":\"function\"},container:{dom:dom},__type__:{object:object,\"boolean\":boolean,\"function\":\"function\"}},align:{string:string},autoResize:{\"boolean\":boolean},clickToUse:{\"boolean\":boolean},dataAttributes:{string:string,array:array},editable:{add:{\"boolean\":boolean,undefined:\"undefined\"},remove:{\"boolean\":boolean,undefined:\"undefined\"},updateGroup:{\"boolean\":boolean,undefined:\"undefined\"},updateTime:{\"boolean\":boolean,undefined:\"undefined\"},__type__:{\"boolean\":boolean,object:object}},end:{number:number,date:date,string:string,moment:moment},format:{minorLabels:{millisecond:{string:string,undefined:\"undefined\"},second:{string:string,undefined:\"undefined\"},minute:{string:string,undefined:\"undefined\"},hour:{string:string,undefined:\"undefined\"},weekday:{string:string,undefined:\"undefined\"},day:{string:string,undefined:\"undefined\"},month:{string:string,undefined:\"undefined\"},year:{string:string,undefined:\"undefined\"},__type__:{object:object}},majorLabels:{millisecond:{string:string,undefined:\"undefined\"},second:{string:string,undefined:\"undefined\"},minute:{string:string,undefined:\"undefined\"},hour:{string:string,undefined:\"undefined\"},weekday:{string:string,undefined:\"undefined\"},day:{string:string,undefined:\"undefined\"},month:{string:string,undefined:\"undefined\"},year:{string:string,undefined:\"undefined\"},__type__:{object:object}},__type__:{object:object}},groupOrder:{string:string,\"function\":\"function\"},height:{string:string,number:number},hiddenDates:{object:object,array:array},locale:{string:string},locales:{__any__:{any:any},__type__:{object:object}},margin:{axis:{number:number},item:{horizontal:{number:number,undefined:\"undefined\"},vertical:{number:number,undefined:\"undefined\"},__type__:{object:object,number:number}},__type__:{object:object,number:number}},max:{date:date,number:number,string:string,moment:moment},maxHeight:{number:number,string:string},min:{date:date,number:number,string:string,moment:moment},minHeight:{number:number,string:string},moveable:{\"boolean\":boolean},multiselect:{\"boolean\":boolean},onAdd:{\"function\":\"function\"},onUpdate:{\"function\":\"function\"},onMove:{\"function\":\"function\"},onMoving:{\"function\":\"function\"},onRemove:{\"function\":\"function\"},order:{\"function\":\"function\"},orientation:{axis:{string:string,undefined:\"undefined\"},item:{string:string,undefined:\"undefined\"},__type__:{string:string,object:object}},selectable:{\"boolean\":boolean},showCurrentTime:{\"boolean\":boolean},showMajorLabels:{\"boolean\":boolean},showMinorLabels:{\"boolean\":boolean},stack:{\"boolean\":boolean},snap:{\"function\":\"function\",\"null\":\"null\"},start:{date:date,number:number,string:string,moment:moment},template:{\"function\":\"function\"},timeAxis:{scale:{string:string,undefined:\"undefined\"},step:{number:number,undefined:\"undefined\"},__type__:{object:object}},type:{string:string},width:{string:string,number:number},zoomable:{\"boolean\":boolean},zoomMax:{number:number},zoomMin:{number:number},__type__:{object:object}};var configureOptions={global:{align:[\"center\",\"left\",\"right\"],autoResize:true,clickToUse:false,editable:{add:false,remove:false,updateGroup:false,updateTime:false},end:\"\",format:{minorLabels:{millisecond:\"SSS\",second:\"s\",minute:\"HH:mm\",hour:\"HH:mm\",weekday:\"ddd D\",day:\"D\",month:\"MMM\",year:\"YYYY\"},majorLabels:{millisecond:\"HH:mm:ss\",second:\"D MMMM HH:mm\",minute:\"ddd D MMMM\",hour:\"ddd D MMMM\",weekday:\"MMMM YYYY\",day:\"MMMM YYYY\",month:\"YYYY\",year:\"\"}},height:\"\",locale:\"\",margin:{axis:[20,0,100,1],item:{horizontal:[10,0,100,1],vertical:[10,0,100,1]}},max:\"\",maxHeight:\"\",min:\"\",minHeight:\"\",moveable:false,multiselect:false,orientation:{axis:[\"both\",\"bottom\",\"top\"],item:[\"bottom\",\"top\"]},selectable:true,showCurrentTime:false,showMajorLabels:true,showMinorLabels:true,stack:true,start:\"\",type:[\"box\",\"point\",\"range\",\"background\"],width:\"100%\",zoomable:true,zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}};exports.allOptions=allOptions;exports.configureOptions=configureOptions},function(module,exports,__webpack_require__){\"use strict\";var Emitter=__webpack_require__(19);var Hammer=__webpack_require__(3);var util=__webpack_require__(7);var DataSet=__webpack_require__(14);var DataView=__webpack_require__(16);var Range=__webpack_require__(29);var Core=__webpack_require__(32);var TimeAxis=__webpack_require__(41);var CurrentTime=__webpack_require__(26);var CustomTime=__webpack_require__(44);var LineGraph=__webpack_require__(50);var Configurator=__webpack_require__(45);var Validator=__webpack_require__(47)[\"default\"];var printStyle=__webpack_require__(47).printStyle;var allOptions=__webpack_require__(58).allOptions;var configureOptions=__webpack_require__(58).configureOptions;function Graph2d(container,items,groups,options){if(!(Array.isArray(groups)||groups instanceof DataSet)&&groups instanceof Object){var forthArgument=options;options=groups;groups=forthArgument}var me=this;this.defaultOptions={start:null,end:null,autoResize:true,orientation:{axis:\"bottom\",item:\"bottom\"},width:null,height:null,maxHeight:null,minHeight:null};this.options=util.deepExtend({},this.defaultOptions);this._create(container);this.components=[];this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:me._toScreen.bind(me),toGlobalScreen:me._toGlobalScreen.bind(me),toTime:me._toTime.bind(me),toGlobalTime:me._toGlobalTime.bind(me)}};this.range=new Range(this.body);this.components.push(this.range);this.body.range=this.range;this.timeAxis=new TimeAxis(this.body);this.components.push(this.timeAxis);this.currentTime=new CurrentTime(this.body);this.components.push(this.currentTime);this.linegraph=new LineGraph(this.body);this.components.push(this.linegraph);this.itemsData=null;this.groupsData=null;this.on(\"tap\",function(event){me.emit(\"click\",me.getEventProperties(event))});this.on(\"doubletap\",function(event){me.emit(\"doubleClick\",me.getEventProperties(event))});this.dom.root.oncontextmenu=function(event){me.emit(\"contextmenu\",me.getEventProperties(event))};if(options){this.setOptions(options)}if(groups){this.setGroups(groups)}if(items){this.setItems(items)}else{this._redraw()}}Graph2d.prototype=new Core;Graph2d.prototype.setOptions=function(options){var errorFound=Validator.validate(options,allOptions);if(errorFound===true){console.log(\"%cErrors have been found in the supplied options object.\",printStyle)}Core.prototype.setOptions.call(this,options)};Graph2d.prototype.setItems=function(items){var initialLoad=this.itemsData==null;var newDataSet;if(!items){newDataSet=null}else if(items instanceof DataSet||items instanceof DataView){newDataSet=items}else{newDataSet=new DataSet(items,{type:{start:\"Date\",end:\"Date\"}})}this.itemsData=newDataSet;this.linegraph&&this.linegraph.setItems(newDataSet);if(initialLoad){if(this.options.start!=undefined||this.options.end!=undefined){var start=this.options.start!=undefined?this.options.start:null;var end=this.options.end!=undefined?this.options.end:null;this.setWindow(start,end,{animation:false})}else{this.fit({animation:false})}}};Graph2d.prototype.setGroups=function(groups){var newDataSet;if(!groups){newDataSet=null}else if(groups instanceof DataSet||groups instanceof DataView){newDataSet=groups}else{newDataSet=new DataSet(groups)}this.groupsData=newDataSet;this.linegraph.setGroups(newDataSet)};Graph2d.prototype.getLegend=function(groupId,width,height){if(width===undefined){width=15}if(height===undefined){height=15}if(this.linegraph.groups[groupId]!==undefined){return this.linegraph.groups[groupId].getLegend(width,height)}else{return\"cannot find group:\"+groupId}};Graph2d.prototype.isGroupVisible=function(groupId){if(this.linegraph.groups[groupId]!==undefined){return this.linegraph.groups[groupId].visible&&(this.linegraph.options.groups.visibility[groupId]===undefined||this.linegraph.options.groups.visibility[groupId]==true)}else{return false}};Graph2d.prototype.getDataRange=function(){var min=null;var max=null;for(var groupId in this.linegraph.groups){if(this.linegraph.groups.hasOwnProperty(groupId)){if(this.linegraph.groups[groupId].visible==true){for(var i=0;i<this.linegraph.groups[groupId].itemsData.length;i++){var item=this.linegraph.groups[groupId].itemsData[i];var value=util.convert(item.x,\"Date\").valueOf();min=min==null?value:min>value?value:min;max=max==null?value:max<value?value:max}}}}return{min:min!=null?new Date(min):null,max:max!=null?new Date(max):null}};Graph2d.prototype.getEventProperties=function(event){var clientX=event.center?event.center.x:event.clientX;var clientY=event.center?event.center.y:event.clientY;var x=clientX-util.getAbsoluteLeft(this.dom.centerContainer);var y=clientY-util.getAbsoluteTop(this.dom.centerContainer);var time=this._toTime(x);var customTime=CustomTime.customTimeFromTarget(event);var element=util.getTarget(event);var what=null;if(util.hasParent(element,this.timeAxis.dom.foreground)){what=\"axis\"}else if(this.timeAxis2&&util.hasParent(element,this.timeAxis2.dom.foreground)){what=\"axis\"}else if(util.hasParent(element,this.linegraph.yAxisLeft.dom.frame)){what=\"data-axis\"}else if(util.hasParent(element,this.linegraph.yAxisRight.dom.frame)){what=\"data-axis\"}else if(util.hasParent(element,this.linegraph.legendLeft.dom.frame)){what=\"legend\"}else if(util.hasParent(element,this.linegraph.legendRight.dom.frame)){what=\"legend\"}else if(customTime!=null){what=\"custom-time\"}else if(util.hasParent(element,this.currentTime.bar)){what=\"current-time\"}else if(util.hasParent(element,this.dom.center)){what=\"background\"}var value=[];var yAxisLeft=this.linegraph.yAxisLeft;var yAxisRight=this.linegraph.yAxisRight;if(!yAxisLeft.hidden){value.push(yAxisLeft.screenToValue(y))}if(!yAxisRight.hidden){value.push(yAxisRight.screenToValue(y))}return{event:event,what:what,pageX:event.srcEvent?event.srcEvent.pageX:event.pageX,pageY:event.srcEvent?event.srcEvent.pageY:event.pageY,x:x,y:y,time:time,value:value}};Graph2d.prototype._createConfigurator=function(){return new Configurator(this,this.dom.container,configureOptions)};module.exports=Graph2d},function(module,exports,__webpack_require__){\"use strict\";var util=__webpack_require__(7);var DOMutil=__webpack_require__(13);var DataSet=__webpack_require__(14);var DataView=__webpack_require__(16);var Component=__webpack_require__(27);var DataAxis=__webpack_require__(51);var GraphGroup=__webpack_require__(53);var Legend=__webpack_require__(57);var BarFunctions=__webpack_require__(56);var LineFunctions=__webpack_require__(54);var UNGROUPED=\"__ungrouped__\";function LineGraph(body,options){this.id=util.randomUUID();this.body=body;this.defaultOptions={yAxisOrientation:\"left\",defaultGroup:\"default\",sort:true,sampling:true,stack:false,graphHeight:\"400px\",shaded:{enabled:false,orientation:\"bottom\"},style:\"line\",barChart:{width:50,sideBySide:false,align:\"center\"},interpolation:{enabled:true,parametrization:\"centripetal\",alpha:.5},drawPoints:{enabled:true,size:6,style:\"square\"\n},dataAxis:{showMinorLabels:true,showMajorLabels:true,icons:false,width:\"40px\",visible:true,alignZeros:true,left:{range:{min:undefined,max:undefined},format:function format(value){return value},title:{text:undefined,style:undefined}},right:{range:{min:undefined,max:undefined},format:function format(value){return value},title:{text:undefined,style:undefined}}},legend:{enabled:false,icons:true,left:{visible:true,position:\"top-left\"},right:{visible:true,position:\"top-right\"}},groups:{visibility:{}}};this.options=util.extend({},this.defaultOptions);this.dom={};this.props={};this.hammer=null;this.groups={};this.abortedGraphUpdate=false;this.updateSVGheight=false;this.updateSVGheightOnResize=false;var me=this;this.itemsData=null;this.groupsData=null;this.itemListeners={add:function add(event,params,senderId){me._onAdd(params.items)},update:function update(event,params,senderId){me._onUpdate(params.items)},remove:function remove(event,params,senderId){me._onRemove(params.items)}};this.groupListeners={add:function add(event,params,senderId){me._onAddGroups(params.items)},update:function update(event,params,senderId){me._onUpdateGroups(params.items)},remove:function remove(event,params,senderId){me._onRemoveGroups(params.items)}};this.items={};this.selection=[];this.lastStart=this.body.range.start;this.touchParams={};this.svgElements={};this.setOptions(options);this.groupsUsingDefaultStyles=[0];this.COUNTER=0;this.body.emitter.on(\"rangechanged\",function(){me.lastStart=me.body.range.start;me.svg.style.left=util.option.asSize(-me.props.width);me.redraw.call(me,true)});this._create();this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups};this.body.emitter.emit(\"change\")}LineGraph.prototype=new Component;LineGraph.prototype._create=function(){var frame=document.createElement(\"div\");frame.className=\"vis-line-graph\";this.dom.frame=frame;this.svg=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");this.svg.style.position=\"relative\";this.svg.style.height=(\"\"+this.options.graphHeight).replace(\"px\",\"\")+\"px\";this.svg.style.display=\"block\";frame.appendChild(this.svg);this.options.dataAxis.orientation=\"left\";this.yAxisLeft=new DataAxis(this.body,this.options.dataAxis,this.svg,this.options.groups);this.options.dataAxis.orientation=\"right\";this.yAxisRight=new DataAxis(this.body,this.options.dataAxis,this.svg,this.options.groups);delete this.options.dataAxis.orientation;this.legendLeft=new Legend(this.body,this.options.legend,\"left\",this.options.groups);this.legendRight=new Legend(this.body,this.options.legend,\"right\",this.options.groups);this.show()};LineGraph.prototype.setOptions=function(options){if(options){var fields=[\"sampling\",\"defaultGroup\",\"stack\",\"height\",\"graphHeight\",\"yAxisOrientation\",\"style\",\"barChart\",\"dataAxis\",\"sort\",\"groups\"];if(options.graphHeight===undefined&&options.height!==undefined&&this.body.domProps.centerContainer.height!==undefined){this.updateSVGheight=true;this.updateSVGheightOnResize=true}else if(this.body.domProps.centerContainer.height!==undefined&&options.graphHeight!==undefined){if(parseInt((options.graphHeight+\"\").replace(\"px\",\"\"))<this.body.domProps.centerContainer.height){this.updateSVGheight=true}}util.selectiveDeepExtend(fields,this.options,options);util.mergeOptions(this.options,options,\"interpolation\");util.mergeOptions(this.options,options,\"drawPoints\");util.mergeOptions(this.options,options,\"shaded\");util.mergeOptions(this.options,options,\"legend\");if(options.interpolation){if(typeof options.interpolation==\"object\"){if(options.interpolation.parametrization){if(options.interpolation.parametrization==\"uniform\"){this.options.interpolation.alpha=0}else if(options.interpolation.parametrization==\"chordal\"){this.options.interpolation.alpha=1}else{this.options.interpolation.parametrization=\"centripetal\";this.options.interpolation.alpha=.5}}}}if(this.yAxisLeft){if(options.dataAxis!==undefined){this.yAxisLeft.setOptions(this.options.dataAxis);this.yAxisRight.setOptions(this.options.dataAxis)}}if(this.legendLeft){if(options.legend!==undefined){this.legendLeft.setOptions(this.options.legend);this.legendRight.setOptions(this.options.legend)}}if(this.groups.hasOwnProperty(UNGROUPED)){this.groups[UNGROUPED].setOptions(options)}}if(this.dom.frame){this.redraw(true)}};LineGraph.prototype.hide=function(){if(this.dom.frame.parentNode){this.dom.frame.parentNode.removeChild(this.dom.frame)}};LineGraph.prototype.show=function(){if(!this.dom.frame.parentNode){this.body.dom.center.appendChild(this.dom.frame)}};LineGraph.prototype.setItems=function(items){var me=this,ids,oldItemsData=this.itemsData;if(!items){this.itemsData=null}else if(items instanceof DataSet||items instanceof DataView){this.itemsData=items}else{throw new TypeError(\"Data must be an instance of DataSet or DataView\")}if(oldItemsData){util.forEach(this.itemListeners,function(callback,event){oldItemsData.off(event,callback)});ids=oldItemsData.getIds();this._onRemove(ids)}if(this.itemsData){var id=this.id;util.forEach(this.itemListeners,function(callback,event){me.itemsData.on(event,callback,id)});ids=this.itemsData.getIds();this._onAdd(ids)}this._updateUngrouped();this.redraw(true)};LineGraph.prototype.setGroups=function(groups){var me=this;var ids;if(this.groupsData){util.forEach(this.groupListeners,function(callback,event){me.groupsData.off(event,callback)});ids=this.groupsData.getIds();this.groupsData=null;this._onRemoveGroups(ids)}if(!groups){this.groupsData=null}else if(groups instanceof DataSet||groups instanceof DataView){this.groupsData=groups}else{throw new TypeError(\"Data must be an instance of DataSet or DataView\")}if(this.groupsData){var id=this.id;util.forEach(this.groupListeners,function(callback,event){me.groupsData.on(event,callback,id)});ids=this.groupsData.getIds();this._onAddGroups(ids)}this._onUpdate()};LineGraph.prototype._onUpdate=function(ids){this._updateUngrouped();this._updateAllGroupData();this.redraw(true)};LineGraph.prototype._onAdd=function(ids){this._onUpdate(ids)};LineGraph.prototype._onRemove=function(ids){this._onUpdate(ids)};LineGraph.prototype._onUpdateGroups=function(groupIds){for(var i=0;i<groupIds.length;i++){var group=this.groupsData.get(groupIds[i]);this._updateGroup(group,groupIds[i])}this.redraw(true)};LineGraph.prototype._onAddGroups=function(groupIds){this._onUpdateGroups(groupIds)};LineGraph.prototype._onRemoveGroups=function(groupIds){for(var i=0;i<groupIds.length;i++){if(this.groups.hasOwnProperty(groupIds[i])){if(this.groups[groupIds[i]].options.yAxisOrientation==\"right\"){this.yAxisRight.removeGroup(groupIds[i]);this.legendRight.removeGroup(groupIds[i]);this.legendRight.redraw()}else{this.yAxisLeft.removeGroup(groupIds[i]);this.legendLeft.removeGroup(groupIds[i]);this.legendLeft.redraw()}delete this.groups[groupIds[i]]}}this._updateUngrouped();this.redraw(true)};LineGraph.prototype._updateGroup=function(group,groupId){if(!this.groups.hasOwnProperty(groupId)){this.groups[groupId]=new GraphGroup(group,groupId,this.options,this.groupsUsingDefaultStyles);if(this.groups[groupId].options.yAxisOrientation==\"right\"){this.yAxisRight.addGroup(groupId,this.groups[groupId]);this.legendRight.addGroup(groupId,this.groups[groupId])}else{this.yAxisLeft.addGroup(groupId,this.groups[groupId]);this.legendLeft.addGroup(groupId,this.groups[groupId])}}else{this.groups[groupId].update(group);if(this.groups[groupId].options.yAxisOrientation==\"right\"){this.yAxisRight.updateGroup(groupId,this.groups[groupId]);this.legendRight.updateGroup(groupId,this.groups[groupId])}else{this.yAxisLeft.updateGroup(groupId,this.groups[groupId]);this.legendLeft.updateGroup(groupId,this.groups[groupId])}}this.legendLeft.redraw();this.legendRight.redraw()};LineGraph.prototype._updateAllGroupData=function(){if(this.itemsData!=null){var groupsContent={};var groupId;for(groupId in this.groups){if(this.groups.hasOwnProperty(groupId)){groupsContent[groupId]=[]}}for(var itemId in this.itemsData._data){if(this.itemsData._data.hasOwnProperty(itemId)){var item=this.itemsData._data[itemId];if(groupsContent[item.group]===undefined){throw new Error(\"Cannot find referenced group \"+item.group+\". Possible reason: items added before groups? Groups need to be added before items, as items refer to groups.\")}item.x=util.convert(item.x,\"Date\");groupsContent[item.group].push(item)}}for(groupId in this.groups){if(this.groups.hasOwnProperty(groupId)){this.groups[groupId].setItems(groupsContent[groupId])}}}};LineGraph.prototype._updateUngrouped=function(){if(this.itemsData&&this.itemsData!=null){var ungroupedCounter=0;for(var itemId in this.itemsData._data){if(this.itemsData._data.hasOwnProperty(itemId)){var item=this.itemsData._data[itemId];if(item!=undefined){if(item.hasOwnProperty(\"group\")){if(item.group===undefined){item.group=UNGROUPED}}else{item.group=UNGROUPED}ungroupedCounter=item.group==UNGROUPED?ungroupedCounter+1:ungroupedCounter}}}if(ungroupedCounter==0){delete this.groups[UNGROUPED];this.legendLeft.removeGroup(UNGROUPED);this.legendRight.removeGroup(UNGROUPED);this.yAxisLeft.removeGroup(UNGROUPED);this.yAxisRight.removeGroup(UNGROUPED)}else{var group={id:UNGROUPED,content:this.options.defaultGroup};this._updateGroup(group,UNGROUPED)}}else{delete this.groups[UNGROUPED];this.legendLeft.removeGroup(UNGROUPED);this.legendRight.removeGroup(UNGROUPED);this.yAxisLeft.removeGroup(UNGROUPED);this.yAxisRight.removeGroup(UNGROUPED)}this.legendLeft.redraw();this.legendRight.redraw()};LineGraph.prototype.redraw=function(forceGraphUpdate){var resized=false;this.props.width=this.dom.frame.offsetWidth;this.props.height=this.body.domProps.centerContainer.height-this.body.domProps.border.top-this.body.domProps.border.bottom;if(this.lastWidth===undefined&&this.props.width){forceGraphUpdate=true}resized=this._isResized()||resized;var visibleInterval=this.body.range.end-this.body.range.start;var zoomed=visibleInterval!=this.lastVisibleInterval;this.lastVisibleInterval=visibleInterval;if(resized==true){this.svg.style.width=util.option.asSize(3*this.props.width);this.svg.style.left=util.option.asSize(-this.props.width);if((this.options.height+\"\").indexOf(\"%\")!=-1||this.updateSVGheightOnResize==true){this.updateSVGheight=true}}if(this.updateSVGheight==true){if(this.options.graphHeight!=this.props.height+\"px\"){this.options.graphHeight=this.props.height+\"px\";this.svg.style.height=this.props.height+\"px\"}this.updateSVGheight=false}else{this.svg.style.height=(\"\"+this.options.graphHeight).replace(\"px\",\"\")+\"px\"}if(resized==true||zoomed==true||this.abortedGraphUpdate==true||forceGraphUpdate==true){resized=this._updateGraph()||resized}else{if(this.lastStart!=0){var offset=this.body.range.start-this.lastStart;var range=this.body.range.end-this.body.range.start;if(this.props.width!=0){var rangePerPixelInv=this.props.width/range;var xOffset=offset*rangePerPixelInv;this.svg.style.left=-this.props.width-xOffset+\"px\"}}}this.legendLeft.redraw();this.legendRight.redraw();return resized};LineGraph.prototype._updateGraph=function(){DOMutil.prepareElements(this.svgElements);if(this.props.width!=0&&this.itemsData!=null){var group,i;var preprocessedGroupData={};var processedGroupData={};var groupRanges={};var changeCalled=false;var groupIds=[];for(var groupId in this.groups){if(this.groups.hasOwnProperty(groupId)){group=this.groups[groupId];if(group.visible==true&&(this.options.groups.visibility[groupId]===undefined||this.options.groups.visibility[groupId]==true)){groupIds.push(groupId)}}}if(groupIds.length>0){var minDate=this.body.util.toGlobalTime(-this.body.domProps.root.width);var maxDate=this.body.util.toGlobalTime(2*this.body.domProps.root.width);var groupsData={};this._getRelevantData(groupIds,groupsData,minDate,maxDate);this._applySampling(groupIds,groupsData);for(i=0;i<groupIds.length;i++){preprocessedGroupData[groupIds[i]]=this._convertXcoordinates(groupsData[groupIds[i]])}this._getYRanges(groupIds,preprocessedGroupData,groupRanges);changeCalled=this._updateYAxis(groupIds,groupRanges);var MAX_CYCLES=5;if(changeCalled==true&&this.COUNTER<MAX_CYCLES){DOMutil.cleanupElements(this.svgElements);this.abortedGraphUpdate=true;this.COUNTER++;this.body.emitter.emit(\"change\");return true}else{if(this.COUNTER>MAX_CYCLES){console.log(\"WARNING: there may be an infinite loop in the _updateGraph emitter cycle.\")}this.COUNTER=0;this.abortedGraphUpdate=false;for(i=0;i<groupIds.length;i++){group=this.groups[groupIds[i]];processedGroupData[groupIds[i]]=this._convertYcoordinates(groupsData[groupIds[i]],group)}for(i=0;i<groupIds.length;i++){group=this.groups[groupIds[i]];if(group.options.style!=\"bar\"){group.draw(processedGroupData[groupIds[i]],group,this.framework)}}BarFunctions.draw(groupIds,processedGroupData,this.framework)}}}DOMutil.cleanupElements(this.svgElements);return false};LineGraph.prototype._getRelevantData=function(groupIds,groupsData,minDate,maxDate){var group,i,j,item;if(groupIds.length>0){for(i=0;i<groupIds.length;i++){group=this.groups[groupIds[i]];groupsData[groupIds[i]]=[];var dataContainer=groupsData[groupIds[i]];if(group.options.sort==true){var guess=Math.max(0,util.binarySearchValue(group.itemsData,minDate,\"x\",\"before\"));for(j=guess;j<group.itemsData.length;j++){item=group.itemsData[j];if(item!==undefined){if(item.x>maxDate){dataContainer.push(item);break}else{dataContainer.push(item)}}}}else{for(j=0;j<group.itemsData.length;j++){item=group.itemsData[j];if(item!==undefined){if(item.x>minDate&&item.x<maxDate){dataContainer.push(item)}}}}}}};LineGraph.prototype._applySampling=function(groupIds,groupsData){var group;if(groupIds.length>0){for(var i=0;i<groupIds.length;i++){group=this.groups[groupIds[i]];if(group.options.sampling==true){var dataContainer=groupsData[groupIds[i]];if(dataContainer.length>0){var increment=1;var amountOfPoints=dataContainer.length;var xDistance=this.body.util.toGlobalScreen(dataContainer[dataContainer.length-1].x)-this.body.util.toGlobalScreen(dataContainer[0].x);var pointsPerPixel=amountOfPoints/xDistance;increment=Math.min(Math.ceil(.2*amountOfPoints),Math.max(1,Math.round(pointsPerPixel)));var sampledData=[];for(var j=0;j<amountOfPoints;j+=increment){sampledData.push(dataContainer[j])}groupsData[groupIds[i]]=sampledData}}}}};LineGraph.prototype._getYRanges=function(groupIds,groupsData,groupRanges){var groupData,group,i;var combinedDataLeft=[];var combinedDataRight=[];var options;if(groupIds.length>0){for(i=0;i<groupIds.length;i++){groupData=groupsData[groupIds[i]];options=this.groups[groupIds[i]].options;if(groupData.length>0){group=this.groups[groupIds[i]];if(options.stack===true&&options.style===\"bar\"){if(options.yAxisOrientation===\"left\"){combinedDataLeft=combinedDataLeft.concat(group.getData(groupData))}else{combinedDataRight=combinedDataRight.concat(group.getData(groupData))}}else{groupRanges[groupIds[i]]=group.getYRange(groupData,groupIds[i])}}}BarFunctions.getStackedYRange(combinedDataLeft,groupRanges,groupIds,\"__barStackLeft\",\"left\");BarFunctions.getStackedYRange(combinedDataRight,groupRanges,groupIds,\"__barStackRight\",\"right\")}};LineGraph.prototype._updateYAxis=function(groupIds,groupRanges){var resized=false;var yAxisLeftUsed=false;var yAxisRightUsed=false;var minLeft=1e9,minRight=1e9,maxLeft=-1e9,maxRight=-1e9,minVal,maxVal;if(groupIds.length>0){for(var i=0;i<groupIds.length;i++){var group=this.groups[groupIds[i]];if(group&&group.options.yAxisOrientation!=\"right\"){yAxisLeftUsed=true;minLeft=1e9;maxLeft=-1e9}else if(group&&group.options.yAxisOrientation){yAxisRightUsed=true;minRight=1e9;maxRight=-1e9}}for(var i=0;i<groupIds.length;i++){if(groupRanges.hasOwnProperty(groupIds[i])){if(groupRanges[groupIds[i]].ignore!==true){minVal=groupRanges[groupIds[i]].min;maxVal=groupRanges[groupIds[i]].max;if(groupRanges[groupIds[i]].yAxisOrientation!=\"right\"){yAxisLeftUsed=true;minLeft=minLeft>minVal?minVal:minLeft;maxLeft=maxLeft<maxVal?maxVal:maxLeft}else{yAxisRightUsed=true;minRight=minRight>minVal?minVal:minRight;maxRight=maxRight<maxVal?maxVal:maxRight}}}}if(yAxisLeftUsed==true){this.yAxisLeft.setRange(minLeft,maxLeft)}if(yAxisRightUsed==true){this.yAxisRight.setRange(minRight,maxRight)}}resized=this._toggleAxisVisiblity(yAxisLeftUsed,this.yAxisLeft)||resized;resized=this._toggleAxisVisiblity(yAxisRightUsed,this.yAxisRight)||resized;if(yAxisRightUsed==true&&yAxisLeftUsed==true){this.yAxisLeft.drawIcons=true;this.yAxisRight.drawIcons=true}else{this.yAxisLeft.drawIcons=false;this.yAxisRight.drawIcons=false}this.yAxisRight.master=!yAxisLeftUsed;if(this.yAxisRight.master==false){if(yAxisRightUsed==true){this.yAxisLeft.lineOffset=this.yAxisRight.width}else{this.yAxisLeft.lineOffset=0}resized=this.yAxisLeft.redraw()||resized;this.yAxisRight.stepPixels=this.yAxisLeft.stepPixels;this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing;this.yAxisRight.amountOfSteps=this.yAxisLeft.amountOfSteps;resized=this.yAxisRight.redraw()||resized}else{resized=this.yAxisRight.redraw()||resized}var tempGroups=[\"__barStackLeft\",\"__barStackRight\",\"__lineStackLeft\",\"__lineStackRight\"];for(var i=0;i<tempGroups.length;i++){if(groupIds.indexOf(tempGroups[i])!=-1){groupIds.splice(groupIds.indexOf(tempGroups[i]),1)}}return resized};LineGraph.prototype._toggleAxisVisiblity=function(axisUsed,axis){var changed=false;if(axisUsed==false){if(axis.dom.frame.parentNode&&axis.hidden==false){axis.hide();changed=true}}else{if(!axis.dom.frame.parentNode&&axis.hidden==true){axis.show();changed=true}}return changed};LineGraph.prototype._convertXcoordinates=function(datapoints){var extractedData=[];var xValue,yValue;var toScreen=this.body.util.toScreen;for(var i=0;i<datapoints.length;i++){xValue=toScreen(datapoints[i].x)+this.props.width;yValue=datapoints[i].y;extractedData.push({x:xValue,y:yValue})}return extractedData};LineGraph.prototype._convertYcoordinates=function(datapoints,group){var extractedData=[];var xValue,yValue;var toScreen=this.body.util.toScreen;var axis=this.yAxisLeft;var svgHeight=Number(this.svg.style.height.replace(\"px\",\"\"));if(group.options.yAxisOrientation==\"right\"){axis=this.yAxisRight}for(var i=0;i<datapoints.length;i++){var labelValue=datapoints[i].label?datapoints[i].label:null;xValue=toScreen(datapoints[i].x)+this.props.width;yValue=Math.round(axis.convertValue(datapoints[i].y));extractedData.push({x:xValue,y:yValue,label:labelValue})}group.setZeroPosition(Math.min(svgHeight,axis.convertValue(0)));return extractedData};module.exports=LineGraph},function(module,exports,__webpack_require__){\"use strict\";var util=__webpack_require__(7);var DOMutil=__webpack_require__(13);var Component=__webpack_require__(27);var DataStep=__webpack_require__(52);function DataAxis(body,options,svg,linegraphOptions){this.id=util.randomUUID();this.body=body;this.defaultOptions={orientation:\"left\",showMinorLabels:true,showMajorLabels:true,icons:true,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:\"40px\",visible:true,alignZeros:true,left:{range:{min:undefined,max:undefined},format:function format(value){return value},title:{text:undefined,style:undefined}},right:{range:{min:undefined,max:undefined},format:function format(value){return value},title:{text:undefined,style:undefined}}};this.linegraphOptions=linegraphOptions;this.linegraphSVG=svg;this.props={};this.DOMelements={lines:{},labels:{},title:{}};this.dom={};this.range={start:0,end:0};this.options=util.extend({},this.defaultOptions);this.conversionFactor=1;this.setOptions(options);this.width=Number((\"\"+this.options.width).replace(\"px\",\"\"));this.minWidth=this.width;this.height=this.linegraphSVG.offsetHeight;this.hidden=false;this.stepPixels=25;this.zeroCrossing=-1;this.amountOfSteps=-1;this.lineOffset=0;this.master=true;this.svgElements={};this.iconsRemoved=false;this.groups={};this.amountOfGroups=0;this._create();var me=this;this.body.emitter.on(\"verticalDrag\",function(){me.dom.lineContainer.style.top=me.body.domProps.scrollTop+\"px\"})}DataAxis.prototype=new Component;DataAxis.prototype.addGroup=function(label,graphOptions){if(!this.groups.hasOwnProperty(label)){this.groups[label]=graphOptions}this.amountOfGroups+=1};DataAxis.prototype.updateGroup=function(label,graphOptions){this.groups[label]=graphOptions};DataAxis.prototype.removeGroup=function(label){if(this.groups.hasOwnProperty(label)){delete this.groups[label];this.amountOfGroups-=1}};DataAxis.prototype.setOptions=function(options){if(options){var redraw=false;if(this.options.orientation!=options.orientation&&options.orientation!==undefined){redraw=true}var fields=[\"orientation\",\"showMinorLabels\",\"showMajorLabels\",\"icons\",\"majorLinesOffset\",\"minorLinesOffset\",\"labelOffsetX\",\"labelOffsetY\",\"iconWidth\",\"width\",\"visible\",\"left\",\"right\",\"alignZeros\"];util.selectiveExtend(fields,this.options,options);this.minWidth=Number((\"\"+this.options.width).replace(\"px\",\"\"));if(redraw===true&&this.dom.frame){this.hide();this.show()}}};DataAxis.prototype._create=function(){this.dom.frame=document.createElement(\"div\");this.dom.frame.style.width=this.options.width;this.dom.frame.style.height=this.height;this.dom.lineContainer=document.createElement(\"div\");this.dom.lineContainer.style.width=\"100%\";this.dom.lineContainer.style.height=this.height;this.dom.lineContainer.style.position=\"relative\";this.svg=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");this.svg.style.position=\"absolute\";this.svg.style.top=\"0px\";this.svg.style.height=\"100%\";this.svg.style.width=\"100%\";this.svg.style.display=\"block\";this.dom.frame.appendChild(this.svg)};DataAxis.prototype._redrawGroupIcons=function(){DOMutil.prepareElements(this.svgElements);var x;var iconWidth=this.options.iconWidth;var iconHeight=15;var iconOffset=4;var y=iconOffset+.5*iconHeight;if(this.options.orientation===\"left\"){x=iconOffset}else{x=this.width-iconWidth-iconOffset}var groupArray=Object.keys(this.groups);groupArray.sort(function(a,b){return a<b?-1:1});for(var i=0;i<groupArray.length;i++){var groupId=groupArray[i];if(this.groups[groupId].visible===true&&(this.linegraphOptions.visibility[groupId]===undefined||this.linegraphOptions.visibility[groupId]===true)){this.groups[groupId].drawIcon(x,y,this.svgElements,this.svg,iconWidth,iconHeight);y+=iconHeight+iconOffset}}DOMutil.cleanupElements(this.svgElements);this.iconsRemoved=false};DataAxis.prototype._cleanupIcons=function(){if(this.iconsRemoved===false){DOMutil.prepareElements(this.svgElements);DOMutil.cleanupElements(this.svgElements);this.iconsRemoved=true}};DataAxis.prototype.show=function(){this.hidden=false;if(!this.dom.frame.parentNode){if(this.options.orientation===\"left\"){this.body.dom.left.appendChild(this.dom.frame)}else{this.body.dom.right.appendChild(this.dom.frame)}}if(!this.dom.lineContainer.parentNode){this.body.dom.backgroundHorizontal.appendChild(this.dom.lineContainer)}};DataAxis.prototype.hide=function(){this.hidden=true;if(this.dom.frame.parentNode){this.dom.frame.parentNode.removeChild(this.dom.frame)}if(this.dom.lineContainer.parentNode){this.dom.lineContainer.parentNode.removeChild(this.dom.lineContainer)}};DataAxis.prototype.setRange=function(start,end){if(this.master===false&&this.options.alignZeros===true&&this.zeroCrossing!=-1){if(start>0){start=0}}this.range.start=start;this.range.end=end};DataAxis.prototype.redraw=function(){var resized=false;var activeGroups=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+\"px\";for(var groupId in this.groups){if(this.groups.hasOwnProperty(groupId)){if(this.groups[groupId].visible===true&&(this.linegraphOptions.visibility[groupId]===undefined||this.linegraphOptions.visibility[groupId]===true)){activeGroups++}}}if(this.amountOfGroups===0||activeGroups===0){this.hide()}else{this.show();this.height=Number(this.linegraphSVG.style.height.replace(\"px\",\"\"));this.dom.lineContainer.style.height=this.height+\"px\";this.width=this.options.visible===true?Number((\"\"+this.options.width).replace(\"px\",\"\")):0;var props=this.props;var frame=this.dom.frame;frame.className=\"vis-data-axis\";this._calculateCharSize();var orientation=this.options.orientation;var showMinorLabels=this.options.showMinorLabels;var showMajorLabels=this.options.showMajorLabels;props.minorLabelHeight=showMinorLabels?props.minorCharHeight:0;props.majorLabelHeight=showMajorLabels?props.majorCharHeight:0;props.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset;props.minorLineHeight=1;props.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset;props.majorLineHeight=1;if(orientation===\"left\"){frame.style.top=\"0\";frame.style.left=\"0\";frame.style.bottom=\"\";frame.style.width=this.width+\"px\";frame.style.height=this.height+\"px\";this.props.width=this.body.domProps.left.width;this.props.height=this.body.domProps.left.height}else{frame.style.top=\"\";frame.style.bottom=\"0\";frame.style.left=\"0\";frame.style.width=this.width+\"px\";frame.style.height=this.height+\"px\";this.props.width=this.body.domProps.right.width;this.props.height=this.body.domProps.right.height}resized=this._redrawLabels();resized=this._isResized()||resized;if(this.options.icons===true){this._redrawGroupIcons()}else{this._cleanupIcons()}this._redrawTitle(orientation)}return resized};DataAxis.prototype._redrawLabels=function(){var resized=false;DOMutil.prepareElements(this.DOMelements.lines);DOMutil.prepareElements(this.DOMelements.labels);var orientation=this.options[\"orientation\"];var step;if(this.master===false){var stepSize,rangeStart,rangeEnd,minimumStep;if(this.zeroCrossing!==-1&&this.options.alignZeros===true){if(this.range.end>0){stepSize=this.range.end/this.zeroCrossing;rangeStart=this.range.end-this.amountOfSteps*stepSize;rangeEnd=this.range.end}else{stepSize=-1*this.range.start/(this.amountOfSteps-this.zeroCrossing);rangeStart=this.range.start;rangeEnd=this.range.start+stepSize*this.amountOfSteps}}else{rangeStart=this.range.start;rangeEnd=this.range.end}minimumStep=this.stepPixels}else{minimumStep=this.props.majorCharHeight;rangeStart=this.range.start;rangeEnd=this.range.end}this.step=step=new DataStep(rangeStart,rangeEnd,minimumStep,this.dom.frame.offsetHeight,this.options[this.options.orientation].range,this.options[this.options.orientation].format,this.master===false&&this.options.alignZeros);if(this.master===true){this.stepPixels=this.dom.frame.offsetHeight/step.marginRange*step.step;this.amountOfSteps=Math.ceil(this.dom.frame.offsetHeight/this.stepPixels)}else{if(this.options.alignZeros===true&&this.zeroCrossing!==-1){var distance=(step.current-this.zeroCrossing*step.step)/step.step;this.step.shift(distance)}}this.valueAtBottom=step.marginEnd;this.maxLabelSize=0;var y=0;var stepIndex=0;var isMajor=false;while(stepIndex<this.amountOfSteps){y=Math.round(stepIndex*this.stepPixels);isMajor=step.isMajor();if(stepIndex>0&&stepIndex!==this.amountOfSteps){if(this.options[\"showMinorLabels\"]&&isMajor===false||this.master===false&&this.options[\"showMinorLabels\"]===true){this._redrawLabel(y-2,step.getCurrent(),orientation,\"vis-y-axis vis-minor\",this.props.minorCharHeight)}if(isMajor&&this.options[\"showMajorLabels\"]&&this.master===true||this.options[\"showMinorLabels\"]===false&&this.master===false&&isMajor===true){if(y>=0){this._redrawLabel(y-2,step.getCurrent(),orientation,\"vis-y-axis vis-major\",this.props.majorCharHeight)}this._redrawLine(y,orientation,\"vis-grid vis-horizontal vis-major\",this.options.majorLinesOffset,this.props.majorLineWidth)}else{this._redrawLine(y,orientation,\"vis-grid vis-horizontal vis-minor\",this.options.minorLinesOffset,this.props.minorLineWidth)}}if(this.master===true&&step.current===0){this.zeroCrossing=stepIndex}step.next();stepIndex+=1}if(this.master===true&&step.current===0){this.zeroCrossing=stepIndex}this.conversionFactor=this.stepPixels/step.step;var titleWidth=0;if(this.options[orientation].title!==undefined&&this.options[orientation].title.text!==undefined){titleWidth=this.props.titleCharHeight}var offset=this.options.icons===true?Math.max(this.options.iconWidth,titleWidth)+this.options.labelOffsetX+15:titleWidth+this.options.labelOffsetX+15;if(this.maxLabelSize>this.width-offset&&this.options.visible===true){this.width=this.maxLabelSize+offset;this.options.width=this.width+\"px\";DOMutil.cleanupElements(this.DOMelements.lines);DOMutil.cleanupElements(this.DOMelements.labels);this.redraw();resized=true}else if(this.maxLabelSize<this.width-offset&&this.options.visible===true&&this.width>this.minWidth){this.width=Math.max(this.minWidth,this.maxLabelSize+offset);this.options.width=this.width+\"px\";DOMutil.cleanupElements(this.DOMelements.lines);DOMutil.cleanupElements(this.DOMelements.labels);this.redraw();resized=true}else{DOMutil.cleanupElements(this.DOMelements.lines);DOMutil.cleanupElements(this.DOMelements.labels);resized=false}return resized};DataAxis.prototype.convertValue=function(value){var invertedValue=this.valueAtBottom-value;var convertedValue=invertedValue*this.conversionFactor;return convertedValue};DataAxis.prototype.screenToValue=function(x){return this.valueAtBottom-x/this.conversionFactor};DataAxis.prototype._redrawLabel=function(y,text,orientation,className,characterHeight){var label=DOMutil.getDOMElement(\"div\",this.DOMelements.labels,this.dom.frame);label.className=className;label.innerHTML=text;if(orientation===\"left\"){label.style.left=\"-\"+this.options.labelOffsetX+\"px\";label.style.textAlign=\"right\"}else{label.style.right=\"-\"+this.options.labelOffsetX+\"px\";label.style.textAlign=\"left\"}label.style.top=y-.5*characterHeight+this.options.labelOffsetY+\"px\";text+=\"\";var largestWidth=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);if(this.maxLabelSize<text.length*largestWidth){this.maxLabelSize=text.length*largestWidth}};DataAxis.prototype._redrawLine=function(y,orientation,className,offset,width){if(this.master===true){var line=DOMutil.getDOMElement(\"div\",this.DOMelements.lines,this.dom.lineContainer);line.className=className;line.innerHTML=\"\";if(orientation===\"left\"){line.style.left=this.width-offset+\"px\"}else{line.style.right=this.width-offset+\"px\"}line.style.width=width+\"px\";line.style.top=y+\"px\"}};DataAxis.prototype._redrawTitle=function(orientation){DOMutil.prepareElements(this.DOMelements.title);if(this.options[orientation].title!==undefined&&this.options[orientation].title.text!==undefined){var title=DOMutil.getDOMElement(\"div\",this.DOMelements.title,this.dom.frame);title.className=\"vis-y-axis vis-title vis-\"+orientation;title.innerHTML=this.options[orientation].title.text;if(this.options[orientation].title.style!==undefined){util.addCssText(title,this.options[orientation].title.style)}if(orientation===\"left\"){title.style.left=this.props.titleCharHeight+\"px\"}else{title.style.right=this.props.titleCharHeight+\"px\"}title.style.width=this.height+\"px\"}DOMutil.cleanupElements(this.DOMelements.title)};DataAxis.prototype._calculateCharSize=function(){if(!(\"minorCharHeight\"in this.props)){var textMinor=document.createTextNode(\"0\");var measureCharMinor=document.createElement(\"div\");measureCharMinor.className=\"vis-y-axis vis-minor vis-measure\";measureCharMinor.appendChild(textMinor);this.dom.frame.appendChild(measureCharMinor);this.props.minorCharHeight=measureCharMinor.clientHeight;this.props.minorCharWidth=measureCharMinor.clientWidth;this.dom.frame.removeChild(measureCharMinor)}if(!(\"majorCharHeight\"in this.props)){var textMajor=document.createTextNode(\"0\");var measureCharMajor=document.createElement(\"div\");measureCharMajor.className=\"vis-y-axis vis-major vis-measure\";measureCharMajor.appendChild(textMajor);this.dom.frame.appendChild(measureCharMajor);this.props.majorCharHeight=measureCharMajor.clientHeight;this.props.majorCharWidth=measureCharMajor.clientWidth;this.dom.frame.removeChild(measureCharMajor)}if(!(\"titleCharHeight\"in this.props)){var textTitle=document.createTextNode(\"0\");var measureCharTitle=document.createElement(\"div\");measureCharTitle.className=\"vis-y-axis vis-title vis-measure\";measureCharTitle.appendChild(textTitle);this.dom.frame.appendChild(measureCharTitle);this.props.titleCharHeight=measureCharTitle.clientHeight;\n\nthis.props.titleCharWidth=measureCharTitle.clientWidth;this.dom.frame.removeChild(measureCharTitle)}};module.exports=DataAxis},function(module,exports){\"use strict\";function DataStep(start,end,minimumStep,containerHeight,customRange,formattingFunction,alignZeros){this.current=0;this.autoScale=true;this.stepIndex=0;this.step=1;this.scale=1;this.formattingFunction=formattingFunction;this.marginStart;this.marginEnd;this.deadSpace=0;this.majorSteps=[1,2,5,10];this.minorSteps=[.25,.5,1,2];this.alignZeros=alignZeros;this.setRange(start,end,minimumStep,containerHeight,customRange)}DataStep.prototype.setRange=function(start,end,minimumStep,containerHeight,customRange){this._start=customRange.min===undefined?start:customRange.min;this._end=customRange.max===undefined?end:customRange.max;if(this._start===this._end){this._start=customRange.min===undefined?this._start-.75:this._start;this._end=customRange.max===undefined?this._end+1:this._end}if(this.autoScale===true){this.setMinimumStep(minimumStep,containerHeight)}this.setFirst(customRange)};DataStep.prototype.setMinimumStep=function(minimumStep,containerHeight){var range=this._end-this._start;var safeRange=range*1.2;var minimumStepValue=minimumStep*(safeRange/containerHeight);var orderOfMagnitude=Math.round(Math.log(safeRange)/Math.LN10);var minorStepIdx=-1;var magnitudefactor=Math.pow(10,orderOfMagnitude);var start=0;if(orderOfMagnitude<0){start=orderOfMagnitude}var solutionFound=false;for(var i=start;Math.abs(i)<=Math.abs(orderOfMagnitude);i++){magnitudefactor=Math.pow(10,i);for(var j=0;j<this.minorSteps.length;j++){var stepSize=magnitudefactor*this.minorSteps[j];if(stepSize>=minimumStepValue){solutionFound=true;minorStepIdx=j;break}}if(solutionFound===true){break}}this.stepIndex=minorStepIdx;this.scale=magnitudefactor;this.step=magnitudefactor*this.minorSteps[minorStepIdx]};DataStep.prototype.setFirst=function(customRange){if(customRange===undefined){customRange={}}var niceStart=customRange.min===undefined?this._start-this.scale*2*this.minorSteps[this.stepIndex]:customRange.min;var niceEnd=customRange.max===undefined?this._end+this.scale*this.minorSteps[this.stepIndex]:customRange.max;this.marginEnd=customRange.max===undefined?this.roundToMinor(niceEnd):customRange.max;this.marginStart=customRange.min===undefined?this.roundToMinor(niceStart):customRange.min;if(this.alignZeros===true&&(this.marginEnd-this.marginStart)%this.step!=0){this.marginEnd+=this.marginEnd%this.step}this.deadSpace=this.roundToMinor(niceEnd)-niceEnd+this.roundToMinor(niceStart)-niceStart;this.marginRange=this.marginEnd-this.marginStart;this.current=this.marginEnd};DataStep.prototype.roundToMinor=function(value){var rounded=value-value%(this.scale*this.minorSteps[this.stepIndex]);if(value%(this.scale*this.minorSteps[this.stepIndex])>.5*(this.scale*this.minorSteps[this.stepIndex])){return rounded+this.scale*this.minorSteps[this.stepIndex]}else{return rounded}};DataStep.prototype.hasNext=function(){return this.current>=this.marginStart};DataStep.prototype.next=function(){var prev=this.current;this.current-=this.step;if(this.current===prev){this.current=this._end}};DataStep.prototype.previous=function(){this.current+=this.step;this.marginEnd+=this.step;this.marginRange=this.marginEnd-this.marginStart};DataStep.prototype.getCurrent=function(){var current=Math.abs(this.current)<this.step/2?0:this.current;var returnValue=current.toPrecision(5);if(typeof this.formattingFunction===\"function\"){returnValue=this.formattingFunction(current)}if(typeof returnValue===\"number\"){return\"\"+returnValue}else if(typeof returnValue===\"string\"){return returnValue}else{return current.toPrecision(5)}};DataStep.prototype.isMajor=function(){return this.current%(this.scale*this.majorSteps[this.stepIndex])===0};DataStep.prototype.shift=function(steps){if(steps<0){for(var i=0;i<-steps;i++){this.previous()}}else if(steps>0){for(var i=0;i<steps;i++){this.next()}}};module.exports=DataStep},function(module,exports,__webpack_require__){\"use strict\";var util=__webpack_require__(7);var DOMutil=__webpack_require__(13);var Line=__webpack_require__(54);var Bar=__webpack_require__(56);var Points=__webpack_require__(55);function GraphGroup(group,groupId,options,groupsUsingDefaultStyles){this.id=groupId;var fields=[\"sampling\",\"style\",\"sort\",\"yAxisOrientation\",\"barChart\",\"drawPoints\",\"shaded\",\"interpolation\"];this.options=util.selectiveBridgeObject(fields,options);this.usingDefaultStyle=group.className===undefined;this.groupsUsingDefaultStyles=groupsUsingDefaultStyles;this.zeroPosition=0;this.update(group);if(this.usingDefaultStyle==true){this.groupsUsingDefaultStyles[0]+=1}this.itemsData=[];this.visible=group.visible===undefined?true:group.visible}GraphGroup.prototype.setItems=function(items){if(items!=null){this.itemsData=items;if(this.options.sort==true){this.itemsData.sort(function(a,b){return a.x-b.x})}for(var i=0;i<this.itemsData.length;i++){this.itemsData[i].y=Number(this.itemsData[i].y)}}else{this.itemsData=[]}};GraphGroup.prototype.setZeroPosition=function(pos){this.zeroPosition=pos};GraphGroup.prototype.setOptions=function(options){if(options!==undefined){var fields=[\"sampling\",\"style\",\"sort\",\"yAxisOrientation\",\"barChart\"];util.selectiveDeepExtend(fields,this.options,options);if(typeof options.drawPoints==\"function\"){options.drawPoints={onRender:options.drawPoints}}util.mergeOptions(this.options,options,\"interpolation\");util.mergeOptions(this.options,options,\"drawPoints\");util.mergeOptions(this.options,options,\"shaded\");if(options.interpolation){if(typeof options.interpolation==\"object\"){if(options.interpolation.parametrization){if(options.interpolation.parametrization==\"uniform\"){this.options.interpolation.alpha=0}else if(options.interpolation.parametrization==\"chordal\"){this.options.interpolation.alpha=1}else{this.options.interpolation.parametrization=\"centripetal\";this.options.interpolation.alpha=.5}}}}}if(this.options.style==\"line\"){this.type=new Line(this.id,this.options)}else if(this.options.style==\"bar\"){this.type=new Bar(this.id,this.options)}else if(this.options.style==\"points\"){this.type=new Points(this.id,this.options)}};GraphGroup.prototype.update=function(group){this.group=group;this.content=group.content||\"graph\";this.className=group.className||this.className||\"vis-graph-group\"+this.groupsUsingDefaultStyles[0]%10;this.visible=group.visible===undefined?true:group.visible;this.style=group.style;this.setOptions(group.options)};GraphGroup.prototype.drawIcon=function(x,y,JSONcontainer,SVGcontainer,iconWidth,iconHeight){var fillHeight=iconHeight*.5;var path,fillPath;var outline=DOMutil.getSVGElement(\"rect\",JSONcontainer,SVGcontainer);outline.setAttributeNS(null,\"x\",x);outline.setAttributeNS(null,\"y\",y-fillHeight);outline.setAttributeNS(null,\"width\",iconWidth);outline.setAttributeNS(null,\"height\",2*fillHeight);outline.setAttributeNS(null,\"class\",\"vis-outline\");if(this.options.style==\"line\"){path=DOMutil.getSVGElement(\"path\",JSONcontainer,SVGcontainer);path.setAttributeNS(null,\"class\",this.className);if(this.style!==undefined){path.setAttributeNS(null,\"style\",this.style)}path.setAttributeNS(null,\"d\",\"M\"+x+\",\"+y+\" L\"+(x+iconWidth)+\",\"+y+\"\");if(this.options.shaded.enabled==true){fillPath=DOMutil.getSVGElement(\"path\",JSONcontainer,SVGcontainer);if(this.options.shaded.orientation==\"top\"){fillPath.setAttributeNS(null,\"d\",\"M\"+x+\", \"+(y-fillHeight)+\"L\"+x+\",\"+y+\" L\"+(x+iconWidth)+\",\"+y+\" L\"+(x+iconWidth)+\",\"+(y-fillHeight))}else{fillPath.setAttributeNS(null,\"d\",\"M\"+x+\",\"+y+\" \"+\"L\"+x+\",\"+(y+fillHeight)+\" \"+\"L\"+(x+iconWidth)+\",\"+(y+fillHeight)+\"L\"+(x+iconWidth)+\",\"+y)}fillPath.setAttributeNS(null,\"class\",this.className+\" vis-icon-fill\")}if(this.options.drawPoints.enabled==true){var groupTemplate={style:this.options.drawPoints.style,size:this.options.drawPoints.size,className:this.className};DOMutil.drawPoint(x+.5*iconWidth,y,groupTemplate,JSONcontainer,SVGcontainer)}}else{var barWidth=Math.round(.3*iconWidth);var bar1Height=Math.round(.4*iconHeight);var bar2Height=Math.round(.75*iconHeight);var offset=Math.round((iconWidth-2*barWidth)/3);DOMutil.drawBar(x+.5*barWidth+offset,y+fillHeight-bar1Height-1,barWidth,bar1Height,this.className+\" vis-bar\",JSONcontainer,SVGcontainer,this.style);DOMutil.drawBar(x+1.5*barWidth+offset+2,y+fillHeight-bar2Height-1,barWidth,bar2Height,this.className+\" vis-bar\",JSONcontainer,SVGcontainer,this.style)}};GraphGroup.prototype.getLegend=function(iconWidth,iconHeight){var svg=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");this.drawIcon(0,.5*iconHeight,[],svg,iconWidth,iconHeight);return{icon:svg,label:this.content,orientation:this.options.yAxisOrientation}};GraphGroup.prototype.getYRange=function(groupData){return this.type.getYRange(groupData)};GraphGroup.prototype.getData=function(groupData){return this.type.getData(groupData)};GraphGroup.prototype.draw=function(dataset,group,framework){this.type.draw(dataset,group,framework)};module.exports=GraphGroup},function(module,exports,__webpack_require__){\"use strict\";var DOMutil=__webpack_require__(13);var Points=__webpack_require__(55);function Line(groupId,options){this.groupId=groupId;this.options=options}Line.prototype.getData=function(groupData){var combinedData=[];for(var j=0;j<groupData.length;j++){combinedData.push({x:groupData[j].x,y:groupData[j].y,groupId:this.groupId})}return combinedData};Line.prototype.getYRange=function(groupData){var yMin=groupData[0].y;var yMax=groupData[0].y;for(var j=0;j<groupData.length;j++){yMin=yMin>groupData[j].y?groupData[j].y:yMin;yMax=yMax<groupData[j].y?groupData[j].y:yMax}return{min:yMin,max:yMax,yAxisOrientation:this.options.yAxisOrientation}};Line.getStackedYRange=function(combinedData,groupRanges,groupIds,groupLabel,orientation){if(combinedData.length>0){combinedData.sort(function(a,b){if(a.x===b.x){return a.groupId<b.groupId?-1:1}else{return a.x-b.x}});var intersections={};Line._getDataIntersections(intersections,combinedData);groupRanges[groupLabel]=Line._getStackedYRange(intersections,combinedData);groupRanges[groupLabel].yAxisOrientation=orientation;groupIds.push(groupLabel)}};Line._getStackedYRange=function(intersections,combinedData){var key;var yMin=combinedData[0].y;var yMax=combinedData[0].y;for(var i=0;i<combinedData.length;i++){key=combinedData[i].x;if(intersections[key]===undefined){yMin=yMin>combinedData[i].y?combinedData[i].y:yMin;yMax=yMax<combinedData[i].y?combinedData[i].y:yMax}else{if(combinedData[i].y<0){intersections[key].accumulatedNegative+=combinedData[i].y}else{intersections[key].accumulatedPositive+=combinedData[i].y}}}for(var xpos in intersections){if(intersections.hasOwnProperty(xpos)){yMin=yMin>intersections[xpos].accumulatedNegative?intersections[xpos].accumulatedNegative:yMin;yMin=yMin>intersections[xpos].accumulatedPositive?intersections[xpos].accumulatedPositive:yMin;yMax=yMax<intersections[xpos].accumulatedNegative?intersections[xpos].accumulatedNegative:yMax;yMax=yMax<intersections[xpos].accumulatedPositive?intersections[xpos].accumulatedPositive:yMax}}return{min:yMin,max:yMax}};Line._getDataIntersections=function(intersections,combinedData){var coreDistance;for(var i=0;i<combinedData.length;i++){if(i+1<combinedData.length){coreDistance=Math.abs(combinedData[i+1].x-combinedData[i].x)}if(i>0){coreDistance=Math.min(coreDistance,Math.abs(combinedData[i-1].x-combinedData[i].x))}if(coreDistance===0){if(intersections[combinedData[i].x]===undefined){intersections[combinedData[i].x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}}intersections[combinedData[i].x].amount+=1}}};Line.prototype.draw=function(dataset,group,framework){if(dataset!=null){if(dataset.length>0){var path,d;var svgHeight=Number(framework.svg.style.height.replace(\"px\",\"\"));path=DOMutil.getSVGElement(\"path\",framework.svgElements,framework.svg);path.setAttributeNS(null,\"class\",group.className);if(group.style!==undefined){path.setAttributeNS(null,\"style\",group.style)}if(group.options.interpolation.enabled==true){d=Line._catmullRom(dataset,group)}else{d=Line._linear(dataset)}if(group.options.shaded.enabled==true){var fillPath=DOMutil.getSVGElement(\"path\",framework.svgElements,framework.svg);var dFill;if(group.options.shaded.orientation==\"top\"){dFill=\"M\"+dataset[0].x+\",\"+0+\" \"+d+\"L\"+dataset[dataset.length-1].x+\",\"+0}else{dFill=\"M\"+dataset[0].x+\",\"+svgHeight+\" \"+d+\"L\"+dataset[dataset.length-1].x+\",\"+svgHeight}fillPath.setAttributeNS(null,\"class\",group.className+\" vis-fill\");if(group.options.shaded.style!==undefined){fillPath.setAttributeNS(null,\"style\",group.options.shaded.style)}fillPath.setAttributeNS(null,\"d\",dFill)}path.setAttributeNS(null,\"d\",\"M\"+d);if(group.options.drawPoints.enabled==true){Points.draw(dataset,group,framework)}}}};Line._catmullRomUniform=function(data){var p0,p1,p2,p3,bp1,bp2;var d=Math.round(data[0].x)+\",\"+Math.round(data[0].y)+\" \";var normalization=1/6;var length=data.length;for(var i=0;i<length-1;i++){p0=i==0?data[0]:data[i-1];p1=data[i];p2=data[i+1];p3=i+2<length?data[i+2]:p2;bp1={x:(-p0.x+6*p1.x+p2.x)*normalization,y:(-p0.y+6*p1.y+p2.y)*normalization};bp2={x:(p1.x+6*p2.x-p3.x)*normalization,y:(p1.y+6*p2.y-p3.y)*normalization};d+=\"C\"+bp1.x+\",\"+bp1.y+\" \"+bp2.x+\",\"+bp2.y+\" \"+p2.x+\",\"+p2.y+\" \"}return d};Line._catmullRom=function(data,group){var alpha=group.options.interpolation.alpha;if(alpha==0||alpha===undefined){return this._catmullRomUniform(data)}else{var p0,p1,p2,p3,bp1,bp2,d1,d2,d3,A,B,N,M;var d3powA,d2powA,d3pow2A,d2pow2A,d1pow2A,d1powA;var d=Math.round(data[0].x)+\",\"+Math.round(data[0].y)+\" \";var length=data.length;for(var i=0;i<length-1;i++){p0=i==0?data[0]:data[i-1];p1=data[i];p2=data[i+1];p3=i+2<length?data[i+2]:p2;d1=Math.sqrt(Math.pow(p0.x-p1.x,2)+Math.pow(p0.y-p1.y,2));d2=Math.sqrt(Math.pow(p1.x-p2.x,2)+Math.pow(p1.y-p2.y,2));d3=Math.sqrt(Math.pow(p2.x-p3.x,2)+Math.pow(p2.y-p3.y,2));d3powA=Math.pow(d3,alpha);d3pow2A=Math.pow(d3,2*alpha);d2powA=Math.pow(d2,alpha);d2pow2A=Math.pow(d2,2*alpha);d1powA=Math.pow(d1,alpha);d1pow2A=Math.pow(d1,2*alpha);A=2*d1pow2A+3*d1powA*d2powA+d2pow2A;B=2*d3pow2A+3*d3powA*d2powA+d2pow2A;N=3*d1powA*(d1powA+d2powA);if(N>0){N=1/N}M=3*d3powA*(d3powA+d2powA);if(M>0){M=1/M}bp1={x:(-d2pow2A*p0.x+A*p1.x+d1pow2A*p2.x)*N,y:(-d2pow2A*p0.y+A*p1.y+d1pow2A*p2.y)*N};bp2={x:(d3pow2A*p1.x+B*p2.x-d2pow2A*p3.x)*M,y:(d3pow2A*p1.y+B*p2.y-d2pow2A*p3.y)*M};if(bp1.x==0&&bp1.y==0){bp1=p1}if(bp2.x==0&&bp2.y==0){bp2=p2}d+=\"C\"+bp1.x+\",\"+bp1.y+\" \"+bp2.x+\",\"+bp2.y+\" \"+p2.x+\",\"+p2.y+\" \"}return d}};Line._linear=function(data){var d=\"\";for(var i=0;i<data.length;i++){if(i==0){d+=data[i].x+\",\"+data[i].y}else{d+=\" \"+data[i].x+\",\"+data[i].y}}return d};module.exports=Line},function(module,exports,__webpack_require__){\"use strict\";var DOMutil=__webpack_require__(13);function Points(groupId,options){this.groupId=groupId;this.options=options}Points.prototype.getYRange=function(groupData){var yMin=groupData[0].y;var yMax=groupData[0].y;for(var j=0;j<groupData.length;j++){yMin=yMin>groupData[j].y?groupData[j].y:yMin;yMax=yMax<groupData[j].y?groupData[j].y:yMax}return{min:yMin,max:yMax,yAxisOrientation:this.options.yAxisOrientation}};Points.prototype.draw=function(dataset,group,framework,offset){Points.draw(dataset,group,framework,offset)};Points.draw=function(dataset,group,framework,offset){offset=offset||0;var callback=getCallback();for(var i=0;i<dataset.length;i++){if(!callback){DOMutil.drawPoint(dataset[i].x+offset,dataset[i].y,getGroupTemplate(),framework.svgElements,framework.svg,dataset[i].label)}else{var callbackResult=callback(dataset[i],group,framework);if(callbackResult===true||typeof callbackResult===\"object\"){DOMutil.drawPoint(dataset[i].x+offset,dataset[i].y,getGroupTemplate(callbackResult),framework.svgElements,framework.svg,dataset[i].label)}}}function getGroupTemplate(callbackResult){callbackResult=typeof callbackResult===\"undefined\"?{}:callbackResult;return{style:callbackResult.style||group.options.drawPoints.style,size:callbackResult.size||group.options.drawPoints.size,className:callbackResult.className||group.className}}function getCallback(){var callback=undefined;if(framework.options.drawPoints.onRender&&typeof framework.options.drawPoints.onRender==\"function\"){callback=framework.options.drawPoints.onRender}if(group.group.options&&group.group.options.drawPoints&&group.group.options.drawPoints.onRender&&typeof group.group.options.drawPoints.onRender==\"function\"){callback=group.group.options.drawPoints.onRender}return callback}};module.exports=Points},function(module,exports,__webpack_require__){\"use strict\";var DOMutil=__webpack_require__(13);var Points=__webpack_require__(55);function Bargraph(groupId,options){this.groupId=groupId;this.options=options}Bargraph.prototype.getYRange=function(groupData){var yMin=groupData[0].y;var yMax=groupData[0].y;for(var j=0;j<groupData.length;j++){yMin=yMin>groupData[j].y?groupData[j].y:yMin;yMax=yMax<groupData[j].y?groupData[j].y:yMax}return{min:yMin,max:yMax,yAxisOrientation:this.options.yAxisOrientation}};Bargraph.prototype.getData=function(groupData){var combinedData=[];for(var j=0;j<groupData.length;j++){combinedData.push({x:groupData[j].x,y:groupData[j].y,groupId:this.groupId})}return combinedData};Bargraph.draw=function(groupIds,processedGroupData,framework){var combinedData=[];var intersections={};var coreDistance;var key,drawData;var group;var i,j;var barPoints=0;for(i=0;i<groupIds.length;i++){group=framework.groups[groupIds[i]];if(group.options.style===\"bar\"){if(group.visible===true&&(framework.options.groups.visibility[groupIds[i]]===undefined||framework.options.groups.visibility[groupIds[i]]===true)){for(j=0;j<processedGroupData[groupIds[i]].length;j++){combinedData.push({x:processedGroupData[groupIds[i]][j].x,y:processedGroupData[groupIds[i]][j].y,groupId:groupIds[i],label:processedGroupData[groupIds[i]][j].label});barPoints+=1}}}}if(barPoints===0){return}combinedData.sort(function(a,b){if(a.x===b.x){return a.groupId<b.groupId?-1:1}else{return a.x-b.x}});Bargraph._getDataIntersections(intersections,combinedData);for(i=0;i<combinedData.length;i++){group=framework.groups[combinedData[i].groupId];var minWidth=.1*group.options.barChart.width;key=combinedData[i].x;var heightOffset=0;if(intersections[key]===undefined){if(i+1<combinedData.length){coreDistance=Math.abs(combinedData[i+1].x-key)}if(i>0){coreDistance=Math.min(coreDistance,Math.abs(combinedData[i-1].x-key))}drawData=Bargraph._getSafeDrawData(coreDistance,group,minWidth)}else{var nextKey=i+(intersections[key].amount-intersections[key].resolved);var prevKey=i-(intersections[key].resolved+1);if(nextKey<combinedData.length){coreDistance=Math.abs(combinedData[nextKey].x-key)}if(prevKey>0){coreDistance=Math.min(coreDistance,Math.abs(combinedData[prevKey].x-key))}drawData=Bargraph._getSafeDrawData(coreDistance,group,minWidth);intersections[key].resolved+=1;if(group.options.stack===true){if(combinedData[i].y<group.zeroPosition){heightOffset=intersections[key].accumulatedNegative;intersections[key].accumulatedNegative+=group.zeroPosition-combinedData[i].y}else{heightOffset=intersections[key].accumulatedPositive;intersections[key].accumulatedPositive+=group.zeroPosition-combinedData[i].y}}else if(group.options.barChart.sideBySide===true){drawData.width=drawData.width/intersections[key].amount;drawData.offset+=intersections[key].resolved*drawData.width-.5*drawData.width*(intersections[key].amount+1);if(group.options.barChart.align===\"left\"){drawData.offset-=.5*drawData.width}else if(group.options.barChart.align===\"right\"){drawData.offset+=.5*drawData.width}}}DOMutil.drawBar(combinedData[i].x+drawData.offset,combinedData[i].y-heightOffset,drawData.width,group.zeroPosition-combinedData[i].y,group.className+\" vis-bar\",framework.svgElements,framework.svg,group.style);if(group.options.drawPoints.enabled===true){Points.draw([combinedData[i]],group,framework,drawData.offset)}}};Bargraph._getDataIntersections=function(intersections,combinedData){var coreDistance;for(var i=0;i<combinedData.length;i++){if(i+1<combinedData.length){coreDistance=Math.abs(combinedData[i+1].x-combinedData[i].x)}if(i>0){coreDistance=Math.min(coreDistance,Math.abs(combinedData[i-1].x-combinedData[i].x))}if(coreDistance===0){if(intersections[combinedData[i].x]===undefined){intersections[combinedData[i].x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}}intersections[combinedData[i].x].amount+=1}}};Bargraph._getSafeDrawData=function(coreDistance,group,minWidth){var width,offset;if(coreDistance<group.options.barChart.width&&coreDistance>0){width=coreDistance<minWidth?minWidth:coreDistance;offset=0;if(group.options.barChart.align===\"left\"){offset-=.5*coreDistance}else if(group.options.barChart.align===\"right\"){offset+=.5*coreDistance}}else{width=group.options.barChart.width;offset=0;if(group.options.barChart.align===\"left\"){offset-=.5*group.options.barChart.width}else if(group.options.barChart.align===\"right\"){offset+=.5*group.options.barChart.width}}return{width:width,offset:offset}};Bargraph.getStackedYRange=function(combinedData,groupRanges,groupIds,groupLabel,orientation){if(combinedData.length>0){combinedData.sort(function(a,b){if(a.x===b.x){return a.groupId<b.groupId?-1:1}else{return a.x-b.x}});var intersections={};Bargraph._getDataIntersections(intersections,combinedData);groupRanges[groupLabel]=Bargraph._getStackedYRange(intersections,combinedData);groupRanges[groupLabel].yAxisOrientation=orientation;groupIds.push(groupLabel)}};Bargraph._getStackedYRange=function(intersections,combinedData){var key;var yMin=combinedData[0].y;var yMax=combinedData[0].y;for(var i=0;i<combinedData.length;i++){key=combinedData[i].x;if(intersections[key]===undefined){yMin=yMin>combinedData[i].y?combinedData[i].y:yMin;yMax=yMax<combinedData[i].y?combinedData[i].y:yMax}else{if(combinedData[i].y<0){intersections[key].accumulatedNegative+=combinedData[i].y}else{intersections[key].accumulatedPositive+=combinedData[i].y}}}for(var xpos in intersections){if(intersections.hasOwnProperty(xpos)){yMin=yMin>intersections[xpos].accumulatedNegative?intersections[xpos].accumulatedNegative:yMin;yMin=yMin>intersections[xpos].accumulatedPositive?intersections[xpos].accumulatedPositive:yMin;yMax=yMax<intersections[xpos].accumulatedNegative?intersections[xpos].accumulatedNegative:yMax;yMax=yMax<intersections[xpos].accumulatedPositive?intersections[xpos].accumulatedPositive:yMax}}return{min:yMin,max:yMax}};module.exports=Bargraph},function(module,exports,__webpack_require__){\"use strict\";var util=__webpack_require__(7);var DOMutil=__webpack_require__(13);var Component=__webpack_require__(27);function Legend(body,options,side,linegraphOptions){this.body=body;this.defaultOptions={enabled:true,icons:true,iconSize:20,iconSpacing:6,left:{visible:true,position:\"top-left\"},right:{visible:true,position:\"top-left\"}};this.side=side;this.options=util.extend({},this.defaultOptions);this.linegraphOptions=linegraphOptions;this.svgElements={};this.dom={};this.groups={};this.amountOfGroups=0;this._create();this.setOptions(options)}Legend.prototype=new Component;Legend.prototype.clear=function(){this.groups={};this.amountOfGroups=0};Legend.prototype.addGroup=function(label,graphOptions){if(!this.groups.hasOwnProperty(label)){this.groups[label]=graphOptions}this.amountOfGroups+=1};Legend.prototype.updateGroup=function(label,graphOptions){this.groups[label]=graphOptions};Legend.prototype.removeGroup=function(label){if(this.groups.hasOwnProperty(label)){delete this.groups[label];this.amountOfGroups-=1}};Legend.prototype._create=function(){this.dom.frame=document.createElement(\"div\");this.dom.frame.className=\"vis-legend\";this.dom.frame.style.position=\"absolute\";this.dom.frame.style.top=\"10px\";this.dom.frame.style.display=\"block\";this.dom.textArea=document.createElement(\"div\");this.dom.textArea.className=\"vis-legend-text\";this.dom.textArea.style.position=\"relative\";this.dom.textArea.style.top=\"0px\";this.svg=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");this.svg.style.position=\"absolute\";this.svg.style.top=0+\"px\";this.svg.style.width=this.options.iconSize+5+\"px\";this.svg.style.height=\"100%\";this.dom.frame.appendChild(this.svg);this.dom.frame.appendChild(this.dom.textArea)};Legend.prototype.hide=function(){if(this.dom.frame.parentNode){this.dom.frame.parentNode.removeChild(this.dom.frame)}};Legend.prototype.show=function(){if(!this.dom.frame.parentNode){this.body.dom.center.appendChild(this.dom.frame)}};Legend.prototype.setOptions=function(options){var fields=[\"enabled\",\"orientation\",\"icons\",\"left\",\"right\"];util.selectiveDeepExtend(fields,this.options,options)};Legend.prototype.redraw=function(){var activeGroups=0;var groupArray=Object.keys(this.groups);groupArray.sort(function(a,b){return a<b?-1:1});for(var i=0;i<groupArray.length;i++){var groupId=groupArray[i];if(this.groups[groupId].visible==true&&(this.linegraphOptions.visibility[groupId]===undefined||this.linegraphOptions.visibility[groupId]==true)){activeGroups++}}if(this.options[this.side].visible==false||this.amountOfGroups==0||this.options.enabled==false||activeGroups==0){this.hide()}else{this.show();if(this.options[this.side].position==\"top-left\"||this.options[this.side].position==\"bottom-left\"){this.dom.frame.style.left=\"4px\";this.dom.frame.style.textAlign=\"left\";this.dom.textArea.style.textAlign=\"left\";this.dom.textArea.style.left=this.options.iconSize+15+\"px\";this.dom.textArea.style.right=\"\";this.svg.style.left=0+\"px\";this.svg.style.right=\"\"}else{this.dom.frame.style.right=\"4px\";this.dom.frame.style.textAlign=\"right\";this.dom.textArea.style.textAlign=\"right\";this.dom.textArea.style.right=this.options.iconSize+15+\"px\";this.dom.textArea.style.left=\"\";this.svg.style.right=0+\"px\";this.svg.style.left=\"\"}if(this.options[this.side].position==\"top-left\"||this.options[this.side].position==\"top-right\"){this.dom.frame.style.top=4-Number(this.body.dom.center.style.top.replace(\"px\",\"\"))+\"px\";this.dom.frame.style.bottom=\"\"}else{var scrollableHeight=this.body.domProps.center.height-this.body.domProps.centerContainer.height;this.dom.frame.style.bottom=4+scrollableHeight+Number(this.body.dom.center.style.top.replace(\"px\",\"\"))+\"px\";this.dom.frame.style.top=\"\"}if(this.options.icons==false){this.dom.frame.style.width=this.dom.textArea.offsetWidth+10+\"px\";this.dom.textArea.style.right=\"\";this.dom.textArea.style.left=\"\";this.svg.style.width=\"0px\"}else{this.dom.frame.style.width=this.options.iconSize+15+this.dom.textArea.offsetWidth+10+\"px\";this.drawLegendIcons()}var content=\"\";for(var i=0;i<groupArray.length;i++){var groupId=groupArray[i];if(this.groups[groupId].visible==true&&(this.linegraphOptions.visibility[groupId]===undefined||this.linegraphOptions.visibility[groupId]==true)){content+=this.groups[groupId].content+\"<br />\"}}this.dom.textArea.innerHTML=content;this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+\"px\"}};Legend.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var groupArray=Object.keys(this.groups);groupArray.sort(function(a,b){return a<b?-1:1});DOMutil.prepareElements(this.svgElements);var padding=window.getComputedStyle(this.dom.frame).paddingTop;var iconOffset=Number(padding.replace(\"px\",\"\"));var x=iconOffset;var iconWidth=this.options.iconSize;var iconHeight=.75*this.options.iconSize;var y=iconOffset+.5*iconHeight+3;this.svg.style.width=iconWidth+5+iconOffset+\"px\";for(var i=0;i<groupArray.length;i++){var groupId=groupArray[i];if(this.groups[groupId].visible==true&&(this.linegraphOptions.visibility[groupId]===undefined||this.linegraphOptions.visibility[groupId]==true)){this.groups[groupId].drawIcon(x,y,this.svgElements,this.svg,iconWidth,iconHeight);y+=iconHeight+this.options.iconSpacing}}DOMutil.cleanupElements(this.svgElements)}};module.exports=Legend},function(module,exports){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var string=\"string\";var boolean=\"boolean\";var number=\"number\";var array=\"array\";var date=\"date\";var object=\"object\";var dom=\"dom\";var moment=\"moment\";var any=\"any\";var allOptions={configure:{enabled:{\"boolean\":boolean},filter:{\"boolean\":boolean,\"function\":\"function\"},container:{dom:dom},__type__:{object:object,\"boolean\":boolean,\"function\":\"function\"}},yAxisOrientation:{string:[\"left\",\"right\"]},defaultGroup:{string:string},sort:{\"boolean\":boolean},sampling:{\"boolean\":boolean},stack:{\"boolean\":boolean},graphHeight:{string:string,number:number},shaded:{enabled:{\"boolean\":boolean},orientation:{string:[\"bottom\",\"top\"]},__type__:{\"boolean\":boolean,object:object}},style:{string:[\"line\",\"bar\",\"points\"]},barChart:{width:{number:number},sideBySide:{\"boolean\":boolean},align:{string:[\"left\",\"center\",\"right\"]},__type__:{object:object}},interpolation:{enabled:{\"boolean\":boolean},parametrization:{string:[\"centripetal\",\"chordal\",\"uniform\"]},alpha:{number:number},__type__:{object:object,\"boolean\":boolean}},drawPoints:{enabled:{\"boolean\":boolean},onRender:{\"function\":\"function\"},size:{number:number},style:{string:[\"square\",\"circle\"]},__type__:{object:object,\"boolean\":boolean,\"function\":\"function\"}},dataAxis:{showMinorLabels:{\"boolean\":boolean},showMajorLabels:{\"boolean\":boolean},icons:{\"boolean\":boolean},width:{string:string,number:number},visible:{\"boolean\":boolean},alignZeros:{\"boolean\":boolean},left:{range:{min:{number:number},max:{number:number},__type__:{object:object}},format:{\"function\":\"function\"},title:{text:{string:string,number:number},style:{string:string},__type__:{object:object}},__type__:{object:object}},right:{range:{min:{number:number},max:{number:number},__type__:{object:object}},format:{\"function\":\"function\"},title:{text:{string:string,number:number},style:{string:string},__type__:{object:object}},__type__:{object:object}},__type__:{object:object}},legend:{enabled:{\"boolean\":boolean},icons:{\"boolean\":boolean},left:{visible:{\"boolean\":boolean},position:{string:[\"top-right\",\"bottom-right\",\"top-left\",\"bottom-left\"]},__type__:{object:object}},right:{visible:{\"boolean\":boolean},position:{string:[\"top-right\",\"bottom-right\",\"top-left\",\"bottom-left\"]},__type__:{object:object}},__type__:{object:object,\"boolean\":boolean}},groups:{visibility:{any:any},__type__:{object:object}},autoResize:{\"boolean\":boolean},clickToUse:{\"boolean\":boolean},end:{number:number,date:date,string:string,moment:moment},format:{minorLabels:{millisecond:{string:string,undefined:\"undefined\"},second:{string:string,undefined:\"undefined\"},minute:{string:string,undefined:\"undefined\"},hour:{string:string,undefined:\"undefined\"},weekday:{string:string,undefined:\"undefined\"},day:{string:string,undefined:\"undefined\"},month:{string:string,undefined:\"undefined\"},year:{string:string,undefined:\"undefined\"},__type__:{object:object}},majorLabels:{millisecond:{string:string,undefined:\"undefined\"},second:{string:string,undefined:\"undefined\"},minute:{string:string,undefined:\"undefined\"},hour:{string:string,undefined:\"undefined\"},weekday:{string:string,undefined:\"undefined\"},day:{string:string,undefined:\"undefined\"},month:{string:string,undefined:\"undefined\"},year:{string:string,undefined:\"undefined\"},__type__:{object:object}},__type__:{object:object}},height:{string:string,number:number},hiddenDates:{object:object,array:array},locale:{string:string},locales:{__any__:{any:any},__type__:{object:object}},max:{date:date,number:number,string:string,moment:moment},maxHeight:{number:number,string:string},min:{date:date,number:number,string:string,moment:moment},minHeight:{number:number,string:string},moveable:{\"boolean\":boolean},multiselect:{\"boolean\":boolean},orientation:{string:string},showCurrentTime:{\"boolean\":boolean},showMajorLabels:{\"boolean\":boolean},showMinorLabels:{\"boolean\":boolean},start:{date:date,number:number,string:string,moment:moment},timeAxis:{scale:{string:string,undefined:\"undefined\"},step:{number:number,undefined:\"undefined\"},__type__:{object:object}},width:{string:string,number:number},zoomable:{\"boolean\":boolean},zoomMax:{number:number},zoomMin:{number:number},__type__:{object:object}};var configureOptions={global:{sort:true,sampling:true,stack:false,shaded:{enabled:false,orientation:[\"top\",\"bottom\"]\n},style:[\"line\",\"bar\",\"points\"],barChart:{width:[50,5,100,5],sideBySide:false,align:[\"left\",\"center\",\"right\"]},interpolation:{enabled:true,parametrization:[\"centripetal\",\"chordal\",\"uniform\"]},drawPoints:{enabled:true,size:[6,2,30,1],style:[\"square\",\"circle\"]},dataAxis:{showMinorLabels:true,showMajorLabels:true,icons:false,width:[40,0,200,1],visible:true,alignZeros:true,left:{title:{text:\"\",style:\"\"}},right:{title:{text:\"\",style:\"\"}}},legend:{enabled:false,icons:true,left:{visible:true,position:[\"top-right\",\"bottom-right\",\"top-left\",\"bottom-left\"]},right:{visible:true,position:[\"top-right\",\"bottom-right\",\"top-left\",\"bottom-left\"]}},autoResize:true,clickToUse:false,end:\"\",format:{minorLabels:{millisecond:\"SSS\",second:\"s\",minute:\"HH:mm\",hour:\"HH:mm\",weekday:\"ddd D\",day:\"D\",month:\"MMM\",year:\"YYYY\"},majorLabels:{millisecond:\"HH:mm:ss\",second:\"D MMMM HH:mm\",minute:\"ddd D MMMM\",hour:\"ddd D MMMM\",weekday:\"MMMM YYYY\",day:\"MMMM YYYY\",month:\"YYYY\",year:\"\"}},height:\"\",locale:\"\",max:\"\",maxHeight:\"\",min:\"\",minHeight:\"\",moveable:true,orientation:[\"both\",\"bottom\",\"top\"],showCurrentTime:false,showMajorLabels:true,showMinorLabels:true,start:\"\",width:\"100%\",zoomable:true,zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}};exports.allOptions=allOptions;exports.configureOptions=configureOptions},function(module,exports,__webpack_require__){\"use strict\";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}var _modulesGroups=__webpack_require__(60);var _modulesGroups2=_interopRequireDefault(_modulesGroups);var _modulesNodesHandler=__webpack_require__(61);var _modulesNodesHandler2=_interopRequireDefault(_modulesNodesHandler);var _modulesEdgesHandler=__webpack_require__(81);var _modulesEdgesHandler2=_interopRequireDefault(_modulesEdgesHandler);var _modulesPhysicsEngine=__webpack_require__(88);var _modulesPhysicsEngine2=_interopRequireDefault(_modulesPhysicsEngine);var _modulesClustering=__webpack_require__(97);var _modulesClustering2=_interopRequireDefault(_modulesClustering);var _modulesCanvasRenderer=__webpack_require__(99);var _modulesCanvasRenderer2=_interopRequireDefault(_modulesCanvasRenderer);var _modulesCanvas=__webpack_require__(100);var _modulesCanvas2=_interopRequireDefault(_modulesCanvas);var _modulesView=__webpack_require__(101);var _modulesView2=_interopRequireDefault(_modulesView);var _modulesInteractionHandler=__webpack_require__(102);var _modulesInteractionHandler2=_interopRequireDefault(_modulesInteractionHandler);var _modulesSelectionHandler=__webpack_require__(105);var _modulesSelectionHandler2=_interopRequireDefault(_modulesSelectionHandler);var _modulesLayoutEngine=__webpack_require__(106);var _modulesLayoutEngine2=_interopRequireDefault(_modulesLayoutEngine);var _modulesManipulationSystem=__webpack_require__(107);var _modulesManipulationSystem2=_interopRequireDefault(_modulesManipulationSystem);var _sharedConfigurator=__webpack_require__(45);var _sharedConfigurator2=_interopRequireDefault(_sharedConfigurator);var _sharedValidator=__webpack_require__(47);var _sharedValidator2=_interopRequireDefault(_sharedValidator);var _optionsJs=__webpack_require__(108);__webpack_require__(109);var Emitter=__webpack_require__(19);var Hammer=__webpack_require__(3);var util=__webpack_require__(7);var DataSet=__webpack_require__(14);var DataView=__webpack_require__(16);var dotparser=__webpack_require__(110);var gephiParser=__webpack_require__(111);var Images=__webpack_require__(112);var Activator=__webpack_require__(42);var locales=__webpack_require__(113);function Network(container,data,options){var _this=this;if(!(this instanceof Network)){throw new SyntaxError(\"Constructor must be called with the new operator\")}this.options={};this.defaultOptions={locale:\"en\",locales:locales,clickToUse:false};util.extend(this.options,this.defaultOptions);this.body={container:container,nodes:{},nodeIndices:[],edges:{},edgeIndices:[],emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this),once:this.once.bind(this)},eventListeners:{onTap:function onTap(){},onTouch:function onTouch(){},onDoubleTap:function onDoubleTap(){},onHold:function onHold(){},onDragStart:function onDragStart(){},onDrag:function onDrag(){},onDragEnd:function onDragEnd(){},onMouseWheel:function onMouseWheel(){},onPinch:function onPinch(){},onMouseMove:function onMouseMove(){},onRelease:function onRelease(){},onContext:function onContext(){}},data:{nodes:null,edges:null},functions:{createNode:function createNode(){},createEdge:function createEdge(){},getPointer:function getPointer(){}},view:{scale:1,translation:{x:0,y:0}}};this.bindEventListeners();this.images=new Images(function(){return _this.body.emitter.emit(\"_requestRedraw\")});this.groups=new _modulesGroups2[\"default\"];this.canvas=new _modulesCanvas2[\"default\"](this.body);this.selectionHandler=new _modulesSelectionHandler2[\"default\"](this.body,this.canvas);this.interactionHandler=new _modulesInteractionHandler2[\"default\"](this.body,this.canvas,this.selectionHandler);this.view=new _modulesView2[\"default\"](this.body,this.canvas);this.renderer=new _modulesCanvasRenderer2[\"default\"](this.body,this.canvas);this.physics=new _modulesPhysicsEngine2[\"default\"](this.body);this.layoutEngine=new _modulesLayoutEngine2[\"default\"](this.body);this.clustering=new _modulesClustering2[\"default\"](this.body);this.manipulation=new _modulesManipulationSystem2[\"default\"](this.body,this.canvas,this.selectionHandler);this.nodesHandler=new _modulesNodesHandler2[\"default\"](this.body,this.images,this.groups,this.layoutEngine);this.edgesHandler=new _modulesEdgesHandler2[\"default\"](this.body,this.images,this.groups);this.canvas._create();this.setOptions(options);this.setData(data)}Emitter(Network.prototype);Network.prototype.setOptions=function(options){var _this2=this;if(options!==undefined){var errorFound=_sharedValidator2[\"default\"].validate(options,_optionsJs.allOptions);if(errorFound===true){console.log(\"%cErrors have been found in the supplied options object.\",_sharedValidator.printStyle)}var fields=[\"locale\",\"locales\",\"clickToUse\"];util.selectiveDeepExtend(fields,this.options,options);options=this.layoutEngine.setOptions(options.layout,options);this.canvas.setOptions(options);this.groups.setOptions(options.groups);this.nodesHandler.setOptions(options.nodes);this.edgesHandler.setOptions(options.edges);this.physics.setOptions(options.physics);this.manipulation.setOptions(options.manipulation,options,this.options);this.interactionHandler.setOptions(options.interaction);this.renderer.setOptions(options.interaction);this.selectionHandler.setOptions(options.interaction);if(options.groups!==undefined){this.body.emitter.emit(\"refreshNodes\")}if(\"configure\"in options){if(!this.configurator){this.configurator=new _sharedConfigurator2[\"default\"](this,this.body.container,_optionsJs.configureOptions,this.canvas.pixelRatio)}this.configurator.setOptions(options.configure)}if(this.configurator&&this.configurator.options.enabled===true){var networkOptions={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};util.deepExtend(networkOptions.nodes,this.nodesHandler.options);util.deepExtend(networkOptions.edges,this.edgesHandler.options);util.deepExtend(networkOptions.layout,this.layoutEngine.options);util.deepExtend(networkOptions.interaction,this.selectionHandler.options);util.deepExtend(networkOptions.interaction,this.renderer.options);util.deepExtend(networkOptions.interaction,this.interactionHandler.options);util.deepExtend(networkOptions.manipulation,this.manipulation.options);util.deepExtend(networkOptions.physics,this.physics.options);util.deepExtend(networkOptions.global,this.canvas.options);util.deepExtend(networkOptions.global,this.options);this.configurator.setModuleOptions(networkOptions)}if(options.clickToUse!==undefined){if(options.clickToUse===true){if(this.activator===undefined){this.activator=new Activator(this.canvas.frame);this.activator.on(\"change\",function(){_this2.body.emitter.emit(\"activate\")})}}else{if(this.activator!==undefined){this.activator.destroy();delete this.activator}this.body.emitter.emit(\"activate\")}}else{this.body.emitter.emit(\"activate\")}this.canvas.setSize();this.body.emitter.emit(\"startSimulation\")}};Network.prototype._updateVisibleIndices=function(){var nodes=this.body.nodes;var edges=this.body.edges;this.body.nodeIndices=[];this.body.edgeIndices=[];for(var nodeId in nodes){if(nodes.hasOwnProperty(nodeId)){if(nodes[nodeId].options.hidden===false){this.body.nodeIndices.push(nodeId)}}}for(var edgeId in edges){if(edges.hasOwnProperty(edgeId)){if(edges[edgeId].options.hidden===false){this.body.edgeIndices.push(edgeId)}}}};Network.prototype.bindEventListeners=function(){var _this3=this;this.body.emitter.on(\"_dataChanged\",function(){_this3._updateVisibleIndices();_this3.physics.updatePhysicsData();_this3.body.emitter.emit(\"_requestRedraw\");_this3.body.emitter.emit(\"_dataUpdated\")});this.body.emitter.on(\"_dataUpdated\",function(){_this3._updateValueRange(_this3.body.nodes);_this3._updateValueRange(_this3.body.edges);_this3.body.emitter.emit(\"startSimulation\");_this3.body.emitter.emit(\"_requestRedraw\")})};Network.prototype.setData=function(data){this.body.emitter.emit(\"resetPhysics\");this.body.emitter.emit(\"_resetData\");this.selectionHandler.unselectAll();if(data&&data.dot&&(data.nodes||data.edges)){throw new SyntaxError('Data must contain either parameter \"dot\" or '+' parameter pair \"nodes\" and \"edges\", but not both.')}this.setOptions(data&&data.options);if(data&&data.dot){console.log(\"The dot property has been depricated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);\");var dotData=dotparser.DOTToGraph(data.dot);this.setData(dotData);return}else if(data&&data.gephi){console.log(\"The gephi property has been depricated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);\");var gephiData=gephiParser.parseGephi(data.gephi);this.setData(gephiData);return}else{this.nodesHandler.setData(data&&data.nodes,true);this.edgesHandler.setData(data&&data.edges,true)}this.body.emitter.emit(\"_dataChanged\");this.body.emitter.emit(\"initPhysics\")};Network.prototype.destroy=function(){this.body.emitter.emit(\"destroy\");this.body.emitter.off();this.off();delete this.groups;delete this.canvas;delete this.selectionHandler;delete this.interactionHandler;delete this.view;delete this.renderer;delete this.physics;delete this.layoutEngine;delete this.clustering;delete this.manipulation;delete this.nodesHandler;delete this.edgesHandler;delete this.configurator;delete this.images;for(var nodeId in this.body.nodes){delete this.body.nodes[nodeId]}for(var edgeId in this.body.edges){delete this.body.edges[edgeId]}util.recursiveDOMDelete(this.body.container)};Network.prototype._updateValueRange=function(obj){var id;var valueMin=undefined;var valueMax=undefined;var valueTotal=0;for(id in obj){if(obj.hasOwnProperty(id)){var value=obj[id].getValue();if(value!==undefined){valueMin=valueMin===undefined?value:Math.min(value,valueMin);valueMax=valueMax===undefined?value:Math.max(value,valueMax);valueTotal+=value}}}if(valueMin!==undefined&&valueMax!==undefined){for(id in obj){if(obj.hasOwnProperty(id)){obj[id].setValueRange(valueMin,valueMax,valueTotal)}}}};Network.prototype.isActive=function(){return!this.activator||this.activator.active};Network.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)};Network.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)};Network.prototype.DOMtoCanvas=function(){return this.canvas.DOMtoCanvas(this.canvas,arguments)};Network.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)};Network.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)};Network.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)};Network.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)};Network.prototype.getNodesInCluster=function(){return this.clustering.getNodesInCluster.apply(this.clustering,arguments)};Network.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)};Network.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)};Network.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)};Network.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)};Network.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)};Network.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)};Network.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)};Network.prototype.editNode=function(){return this.manipulation.editNode.apply(this.manipulation,arguments)};Network.prototype.editNodeMode=function(){console.log(\"Depricated: Please use editNode instead of editNodeMode.\");return this.manipulation.editNode.apply(this.manipulation,arguments)};Network.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)};Network.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)};Network.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)};Network.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)};Network.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)};Network.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)};Network.prototype.getConnectedNodes=function(objectId){if(this.body.nodes[objectId]!==undefined){return this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments)}else{return this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)}};Network.prototype.getConnectedEdges=function(){return this.nodesHandler.getConnectedEdges.apply(this.nodesHandler,arguments)};Network.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)};Network.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)};Network.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)};Network.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)};Network.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodes.apply(this.selectionHandler,arguments)};Network.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdges.apply(this.selectionHandler,arguments)};Network.prototype.getNodeAt=function(){var node=this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);if(node!==undefined&&node.id!==undefined){return node.id}return node};Network.prototype.getEdgeAt=function(){var edge=this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);if(edge!==undefined&&edge.id!==undefined){return edge.id}return edge};Network.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)};Network.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)};Network.prototype.unselectAll=function(){return this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments)};Network.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)};Network.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)};Network.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)};Network.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)};Network.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)};Network.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)};Network.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)};Network.prototype.getOptionsFromConfigurator=function(){var options={};if(this.configurator){options=this.configurator.getOptions.apply(this.configurator)}return options};module.exports=Network},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var util=__webpack_require__(7);var Groups=function(){function Groups(){_classCallCheck(this,Groups);this.clear();this.defaultIndex=0;this.groupsArray=[];this.groupIndex=0;this.defaultGroups=[{border:\"#2B7CE9\",background:\"#97C2FC\",highlight:{border:\"#2B7CE9\",background:\"#D2E5FF\"},hover:{border:\"#2B7CE9\",background:\"#D2E5FF\"}},{border:\"#FFA500\",background:\"#FFFF00\",highlight:{border:\"#FFA500\",background:\"#FFFFA3\"},hover:{border:\"#FFA500\",background:\"#FFFFA3\"}},{border:\"#FA0A10\",background:\"#FB7E81\",highlight:{border:\"#FA0A10\",background:\"#FFAFB1\"},hover:{border:\"#FA0A10\",background:\"#FFAFB1\"}},{border:\"#41A906\",background:\"#7BE141\",highlight:{border:\"#41A906\",background:\"#A1EC76\"},hover:{border:\"#41A906\",background:\"#A1EC76\"}},{border:\"#E129F0\",background:\"#EB7DF4\",highlight:{border:\"#E129F0\",background:\"#F0B3F5\"},hover:{border:\"#E129F0\",background:\"#F0B3F5\"}},{border:\"#7C29F0\",background:\"#AD85E4\",highlight:{border:\"#7C29F0\",background:\"#D3BDF0\"},hover:{border:\"#7C29F0\",background:\"#D3BDF0\"}},{border:\"#C37F00\",background:\"#FFA807\",highlight:{border:\"#C37F00\",background:\"#FFCA66\"},hover:{border:\"#C37F00\",background:\"#FFCA66\"}},{border:\"#4220FB\",background:\"#6E6EFD\",highlight:{border:\"#4220FB\",background:\"#9B9BFD\"},hover:{border:\"#4220FB\",background:\"#9B9BFD\"}},{border:\"#FD5A77\",background:\"#FFC0CB\",highlight:{border:\"#FD5A77\",background:\"#FFD1D9\"},hover:{border:\"#FD5A77\",background:\"#FFD1D9\"}},{border:\"#4AD63A\",background:\"#C2FABC\",highlight:{border:\"#4AD63A\",background:\"#E6FFE3\"},hover:{border:\"#4AD63A\",background:\"#E6FFE3\"}},{border:\"#990000\",background:\"#EE0000\",highlight:{border:\"#BB0000\",background:\"#FF3333\"},hover:{border:\"#BB0000\",background:\"#FF3333\"}},{border:\"#FF6000\",background:\"#FF6000\",highlight:{border:\"#FF6000\",background:\"#FF6000\"},hover:{border:\"#FF6000\",background:\"#FF6000\"}},{border:\"#97C2FC\",background:\"#2B7CE9\",highlight:{border:\"#D2E5FF\",background:\"#2B7CE9\"},hover:{border:\"#D2E5FF\",background:\"#2B7CE9\"}},{border:\"#399605\",background:\"#255C03\",highlight:{border:\"#399605\",background:\"#255C03\"},hover:{border:\"#399605\",background:\"#255C03\"}},{border:\"#B70054\",background:\"#FF007E\",highlight:{border:\"#B70054\",background:\"#FF007E\"},hover:{border:\"#B70054\",background:\"#FF007E\"}},{border:\"#AD85E4\",background:\"#7C29F0\",highlight:{border:\"#D3BDF0\",background:\"#7C29F0\"},hover:{border:\"#D3BDF0\",background:\"#7C29F0\"}},{border:\"#4557FA\",background:\"#000EA1\",highlight:{border:\"#6E6EFD\",background:\"#000EA1\"},hover:{border:\"#6E6EFD\",background:\"#000EA1\"}},{border:\"#FFC0CB\",background:\"#FD5A77\",highlight:{border:\"#FFD1D9\",background:\"#FD5A77\"},hover:{border:\"#FFD1D9\",background:\"#FD5A77\"}},{border:\"#C2FABC\",background:\"#74D66A\",highlight:{border:\"#E6FFE3\",background:\"#74D66A\"},hover:{border:\"#E6FFE3\",background:\"#74D66A\"}},{border:\"#EE0000\",background:\"#990000\",highlight:{border:\"#FF3333\",background:\"#BB0000\"},hover:{border:\"#FF3333\",background:\"#BB0000\"}}];this.options={};this.defaultOptions={useDefaultGroups:true};util.extend(this.options,this.defaultOptions)}_createClass(Groups,[{key:\"setOptions\",value:function setOptions(options){var optionFields=[\"useDefaultGroups\"];if(options!==undefined){for(var groupName in options){if(options.hasOwnProperty(groupName)){if(optionFields.indexOf(groupName)===-1){var group=options[groupName];this.add(groupName,group)}}}}}},{key:\"clear\",value:function clear(){this.groups={};this.groupsArray=[]}},{key:\"get\",value:function get(groupname){var group=this.groups[groupname];if(group===undefined){if(this.options.useDefaultGroups===false&&this.groupsArray.length>0){var index=this.groupIndex%this.groupsArray.length;this.groupIndex++;group={};group.color=this.groups[this.groupsArray[index]];this.groups[groupname]=group}else{var index=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++;group={};group.color=this.defaultGroups[index];this.groups[groupname]=group}}return group}},{key:\"add\",value:function add(groupName,style){this.groups[groupName]=style;this.groupsArray.push(groupName);return style}}]);return Groups}();exports[\"default\"]=Groups;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var _componentsNode=__webpack_require__(62);var _componentsNode2=_interopRequireDefault(_componentsNode);var _componentsSharedLabel=__webpack_require__(63);var _componentsSharedLabel2=_interopRequireDefault(_componentsSharedLabel);var util=__webpack_require__(7);var DataSet=__webpack_require__(14);var DataView=__webpack_require__(16);var NodesHandler=function(){function NodesHandler(body,images,groups,layoutEngine){var _this=this;_classCallCheck(this,NodesHandler);this.body=body;this.images=images;this.groups=groups;this.layoutEngine=layoutEngine;this.body.functions.createNode=this.create.bind(this);this.nodesListeners={add:function add(event,params){_this.add(params.items)},update:function update(event,params){_this.update(params.items,params.data)},remove:function remove(event,params){_this.remove(params.items)}};this.options={};this.defaultOptions={borderWidth:1,borderWidthSelected:2,brokenImage:undefined,color:{border:\"#2B7CE9\",background:\"#97C2FC\",highlight:{border:\"#2B7CE9\",background:\"#D2E5FF\"},hover:{border:\"#2B7CE9\",background:\"#D2E5FF\"}},fixed:{x:false,y:false},font:{color:\"#343434\",size:14,face:\"arial\",background:\"none\",strokeWidth:0,strokeColor:\"#ffffff\",align:\"horizontal\"},group:undefined,hidden:false,icon:{face:\"FontAwesome\",code:undefined,size:50,color:\"#2B7CE9\"},image:undefined,label:undefined,labelHighlightBold:true,level:undefined,mass:1,physics:true,scaling:{min:10,max:30,label:{enabled:false,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function customScalingFunction(min,max,total,value){if(max===min){return.5}else{var scale=1/(max-min);return Math.max(0,(value-min)*scale)}}},shadow:{enabled:false,size:10,x:5,y:5},shape:\"ellipse\",size:25,title:undefined,value:undefined,x:undefined,y:undefined};util.extend(this.options,this.defaultOptions);this.bindEventListeners()}_createClass(NodesHandler,[{key:\"bindEventListeners\",value:function bindEventListeners(){var _this2=this;this.body.emitter.on(\"refreshNodes\",this.refresh.bind(this));this.body.emitter.on(\"refresh\",this.refresh.bind(this));this.body.emitter.on(\"destroy\",function(){delete _this2.body.functions.createNode;delete _this2.nodesListeners.add;delete _this2.nodesListeners.update;delete _this2.nodesListeners.remove;delete _this2.nodesListeners})}},{key:\"setOptions\",value:function setOptions(options){if(options!==undefined){_componentsNode2[\"default\"].parseOptions(this.options,options);if(options.shape!==undefined){for(var nodeId in this.body.nodes){if(this.body.nodes.hasOwnProperty(nodeId)){this.body.nodes[nodeId].updateShape()}}}if(options.font!==undefined){_componentsSharedLabel2[\"default\"].parseOptions(this.options.font,options);for(var nodeId in this.body.nodes){if(this.body.nodes.hasOwnProperty(nodeId)){this.body.nodes[nodeId].updateLabelModule();this.body.nodes[nodeId]._reset()}}}if(options.size!==undefined){for(var nodeId in this.body.nodes){if(this.body.nodes.hasOwnProperty(nodeId)){this.body.nodes[nodeId]._reset()}}}if(options.hidden!==undefined||options.physics!==undefined){this.body.emitter.emit(\"_dataChanged\")}}}},{key:\"setData\",value:function setData(nodes){var _this3=this;var doNotEmit=arguments[1]===undefined?false:arguments[1];var oldNodesData=this.body.data.nodes;if(nodes instanceof DataSet||nodes instanceof DataView){this.body.data.nodes=nodes}else if(Array.isArray(nodes)){this.body.data.nodes=new DataSet;this.body.data.nodes.add(nodes)}else if(!nodes){this.body.data.nodes=new DataSet}else{throw new TypeError(\"Array or DataSet expected\")}if(oldNodesData){util.forEach(this.nodesListeners,function(callback,event){oldNodesData.off(event,callback)})}this.body.nodes={};if(this.body.data.nodes){(function(){var me=_this3;util.forEach(_this3.nodesListeners,function(callback,event){me.body.data.nodes.on(event,callback)});var ids=_this3.body.data.nodes.getIds();_this3.add(ids,true)})()}if(doNotEmit===false){this.body.emitter.emit(\"_dataChanged\")}}},{key:\"add\",value:function add(ids){var doNotEmit=arguments[1]===undefined?false:arguments[1];var id=undefined;var newNodes=[];for(var i=0;i<ids.length;i++){id=ids[i];var properties=this.body.data.nodes.get(id);var node=this.create(properties);newNodes.push(node);this.body.nodes[id]=node}this.layoutEngine.positionInitially(newNodes);if(doNotEmit===false){this.body.emitter.emit(\"_dataChanged\")}}},{key:\"update\",value:function update(ids,changedData){var nodes=this.body.nodes;var dataChanged=false;for(var i=0;i<ids.length;i++){var id=ids[i];var node=nodes[id];var data=changedData[i];if(node!==undefined){dataChanged=node.setOptions(data)}else{dataChanged=true;node=this.create(data);nodes[id]=node}}if(dataChanged===true){this.body.emitter.emit(\"_dataChanged\")}else{this.body.emitter.emit(\"_dataUpdated\")}}},{key:\"remove\",value:function remove(ids){var nodes=this.body.nodes;for(var i=0;i<ids.length;i++){var id=ids[i];delete nodes[id]}this.body.emitter.emit(\"_dataChanged\")}},{key:\"create\",value:function create(properties){var constructorClass=arguments[1]===undefined?_componentsNode2[\"default\"]:arguments[1];return new constructorClass(properties,this.body,this.images,this.groups,this.options)}},{key:\"refresh\",value:function refresh(){var nodes=this.body.nodes;for(var nodeId in nodes){var node=undefined;if(nodes.hasOwnProperty(nodeId)){node=nodes[nodeId]}var data=this.body.data.nodes._data[nodeId];if(node!==undefined&&data!==undefined){node.setOptions({fixed:false});node.setOptions(data)}}}},{key:\"getPositions\",value:function getPositions(ids){var dataArray={};if(ids!==undefined){if(Array.isArray(ids)===true){for(var i=0;i<ids.length;i++){if(this.body.nodes[ids[i]]!==undefined){var node=this.body.nodes[ids[i]];dataArray[ids[i]]={x:Math.round(node.x),y:Math.round(node.y)}}}}else{if(this.body.nodes[ids]!==undefined){var node=this.body.nodes[ids];dataArray[ids]={x:Math.round(node.x),y:Math.round(node.y)}}}}else{for(var nodeId in this.body.nodes){if(this.body.nodes.hasOwnProperty(nodeId)){var node=this.body.nodes[nodeId];dataArray[nodeId]={x:Math.round(node.x),y:Math.round(node.y)}}}}return dataArray}},{key:\"storePositions\",value:function storePositions(){var dataArray=[];var dataset=this.body.data.nodes.getDataSet();for(var nodeId in dataset._data){if(dataset._data.hasOwnProperty(nodeId)){var node=this.body.nodes[nodeId];if(dataset._data[nodeId].x!=Math.round(node.x)||dataset._data[nodeId].y!=Math.round(node.y)){dataArray.push({id:nodeId,x:Math.round(node.x),y:Math.round(node.y)})}}}dataset.update(dataArray)}},{key:\"getBoundingBox\",value:function getBoundingBox(nodeId){if(this.body.nodes[nodeId]!==undefined){return this.body.nodes[nodeId].shape.boundingBox}}},{key:\"getConnectedNodes\",value:function getConnectedNodes(nodeId){var nodeList=[];if(this.body.nodes[nodeId]!==undefined){var node=this.body.nodes[nodeId];var nodeObj={};for(var i=0;i<node.edges.length;i++){var edge=node.edges[i];if(edge.toId==nodeId){if(nodeObj[edge.fromId]===undefined){nodeList.push(edge.fromId);nodeObj[edge.fromId]=true}}else if(edge.fromId==nodeId){if(nodeObj[edge.toId]===undefined){nodeList.push(edge.toId);nodeObj[edge.toId]=true}}}}return nodeList}},{key:\"getConnectedEdges\",value:function getConnectedEdges(nodeId){var edgeList=[];if(this.body.nodes[nodeId]!==undefined){var node=this.body.nodes[nodeId];for(var i=0;i<node.edges.length;i++){edgeList.push(node.edges[i].id)}}else{console.log(\"NodeId provided for getConnectedEdges does not exist. Provided: \",nodeId)}return edgeList}}]);return NodesHandler}();exports[\"default\"]=NodesHandler;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var _sharedLabel=__webpack_require__(63);var _sharedLabel2=_interopRequireDefault(_sharedLabel);var _nodesShapesBox=__webpack_require__(64);var _nodesShapesBox2=_interopRequireDefault(_nodesShapesBox);var _nodesShapesCircle=__webpack_require__(66);var _nodesShapesCircle2=_interopRequireDefault(_nodesShapesCircle);var _nodesShapesCircularImage=__webpack_require__(68);var _nodesShapesCircularImage2=_interopRequireDefault(_nodesShapesCircularImage);var _nodesShapesDatabase=__webpack_require__(69);var _nodesShapesDatabase2=_interopRequireDefault(_nodesShapesDatabase);var _nodesShapesDiamond=__webpack_require__(70);var _nodesShapesDiamond2=_interopRequireDefault(_nodesShapesDiamond);var _nodesShapesDot=__webpack_require__(72);var _nodesShapesDot2=_interopRequireDefault(_nodesShapesDot);var _nodesShapesEllipse=__webpack_require__(73);var _nodesShapesEllipse2=_interopRequireDefault(_nodesShapesEllipse);var _nodesShapesIcon=__webpack_require__(74);var _nodesShapesIcon2=_interopRequireDefault(_nodesShapesIcon);\n\nvar _nodesShapesImage=__webpack_require__(75);var _nodesShapesImage2=_interopRequireDefault(_nodesShapesImage);var _nodesShapesSquare=__webpack_require__(76);var _nodesShapesSquare2=_interopRequireDefault(_nodesShapesSquare);var _nodesShapesStar=__webpack_require__(77);var _nodesShapesStar2=_interopRequireDefault(_nodesShapesStar);var _nodesShapesText=__webpack_require__(78);var _nodesShapesText2=_interopRequireDefault(_nodesShapesText);var _nodesShapesTriangle=__webpack_require__(79);var _nodesShapesTriangle2=_interopRequireDefault(_nodesShapesTriangle);var _nodesShapesTriangleDown=__webpack_require__(80);var _nodesShapesTriangleDown2=_interopRequireDefault(_nodesShapesTriangleDown);var _sharedValidator=__webpack_require__(47);var _sharedValidator2=_interopRequireDefault(_sharedValidator);var util=__webpack_require__(7);var Node=function(){function Node(options,body,imagelist,grouplist,globalOptions){_classCallCheck(this,Node);this.options=util.bridgeObject(globalOptions);this.body=body;this.edges=[];this.id=undefined;this.imagelist=imagelist;this.grouplist=grouplist;this.x=undefined;this.y=undefined;this.baseSize=this.options.size;this.baseFontSize=this.options.font.size;this.predefinedPosition=false;this.selected=false;this.hover=false;this.labelModule=new _sharedLabel2[\"default\"](this.body,this.options);this.setOptions(options)}_createClass(Node,[{key:\"attachEdge\",value:function attachEdge(edge){if(this.edges.indexOf(edge)===-1){this.edges.push(edge)}}},{key:\"detachEdge\",value:function detachEdge(edge){var index=this.edges.indexOf(edge);if(index!=-1){this.edges.splice(index,1)}}},{key:\"togglePhysics\",value:function togglePhysics(status){this.options.physics=status}},{key:\"setOptions\",value:function setOptions(options){if(!options){return}if(options.id!==undefined){this.id=options.id}if(this.id===undefined){throw\"Node must have an id\"}if(options.x!==undefined){this.x=parseInt(options.x);this.predefinedPosition=true}if(options.y!==undefined){this.y=parseInt(options.y);this.predefinedPosition=true}if(options.size!==undefined){this.baseSize=options.size}if(options.value!==undefined){options.value=parseFloat(options.value)}if(typeof options.group===\"number\"||typeof options.group===\"string\"&&options.group!=\"\"){var groupObj=this.grouplist.get(options.group);util.deepExtend(this.options,groupObj);this.options.color=util.parseColor(this.options.color)}Node.parseOptions(this.options,options,true);if(this.options.image!==undefined){if(this.imagelist){this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage,this.id)}else{throw\"No imagelist provided\"}}this.updateShape();this.updateLabelModule();this._reset();if(options.hidden!==undefined||options.physics!==undefined){return true}return false}},{key:\"updateLabelModule\",value:function updateLabelModule(){if(this.options.label===undefined||this.options.label===null){this.options.label=\"\"}this.labelModule.setOptions(this.options,true);if(this.labelModule.baseSize!==undefined){this.baseFontSize=this.labelModule.baseSize}}},{key:\"updateShape\",value:function updateShape(){switch(this.options.shape){case\"box\":this.shape=new _nodesShapesBox2[\"default\"](this.options,this.body,this.labelModule);break;case\"circle\":this.shape=new _nodesShapesCircle2[\"default\"](this.options,this.body,this.labelModule);break;case\"circularImage\":this.shape=new _nodesShapesCircularImage2[\"default\"](this.options,this.body,this.labelModule,this.imageObj);break;case\"database\":this.shape=new _nodesShapesDatabase2[\"default\"](this.options,this.body,this.labelModule);break;case\"diamond\":this.shape=new _nodesShapesDiamond2[\"default\"](this.options,this.body,this.labelModule);break;case\"dot\":this.shape=new _nodesShapesDot2[\"default\"](this.options,this.body,this.labelModule);break;case\"ellipse\":this.shape=new _nodesShapesEllipse2[\"default\"](this.options,this.body,this.labelModule);break;case\"icon\":this.shape=new _nodesShapesIcon2[\"default\"](this.options,this.body,this.labelModule);break;case\"image\":this.shape=new _nodesShapesImage2[\"default\"](this.options,this.body,this.labelModule,this.imageObj);break;case\"square\":this.shape=new _nodesShapesSquare2[\"default\"](this.options,this.body,this.labelModule);break;case\"star\":this.shape=new _nodesShapesStar2[\"default\"](this.options,this.body,this.labelModule);break;case\"text\":this.shape=new _nodesShapesText2[\"default\"](this.options,this.body,this.labelModule);break;case\"triangle\":this.shape=new _nodesShapesTriangle2[\"default\"](this.options,this.body,this.labelModule);break;case\"triangleDown\":this.shape=new _nodesShapesTriangleDown2[\"default\"](this.options,this.body,this.labelModule);break;default:this.shape=new _nodesShapesEllipse2[\"default\"](this.options,this.body,this.labelModule);break}this._reset()}},{key:\"select\",value:function select(){this.selected=true;this._reset()}},{key:\"unselect\",value:function unselect(){this.selected=false;this._reset()}},{key:\"_reset\",value:function _reset(){this.shape.width=undefined;this.shape.height=undefined}},{key:\"getTitle\",value:function getTitle(){return this.options.title}},{key:\"distanceToBorder\",value:function distanceToBorder(ctx,angle){return this.shape.distanceToBorder(ctx,angle)}},{key:\"isFixed\",value:function isFixed(){return this.options.fixed.x&&this.options.fixed.y}},{key:\"isSelected\",value:function isSelected(){return this.selected}},{key:\"getValue\",value:function getValue(){return this.options.value}},{key:\"setValueRange\",value:function setValueRange(min,max,total){if(this.options.value!==undefined){var scale=this.options.scaling.customScalingFunction(min,max,total,this.options.value);var sizeDiff=this.options.scaling.max-this.options.scaling.min;if(this.options.scaling.label.enabled===true){var fontDiff=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+scale*fontDiff}this.options.size=this.options.scaling.min+scale*sizeDiff}else{this.options.size=this.baseSize;this.options.font.size=this.baseFontSize}}},{key:\"draw\",value:function draw(ctx){this.shape.draw(ctx,this.x,this.y,this.selected,this.hover)}},{key:\"updateBoundingBox\",value:function updateBoundingBox(ctx){this.shape.updateBoundingBox(this.x,this.y,ctx)}},{key:\"resize\",value:function resize(ctx){this.shape.resize(ctx)}},{key:\"isOverlappingWith\",value:function isOverlappingWith(obj){return this.shape.left<obj.right&&this.shape.left+this.shape.width>obj.left&&this.shape.top<obj.bottom&&this.shape.top+this.shape.height>obj.top}},{key:\"isBoundingBoxOverlappingWith\",value:function isBoundingBoxOverlappingWith(obj){return this.shape.boundingBox.left<obj.right&&this.shape.boundingBox.right>obj.left&&this.shape.boundingBox.top<obj.bottom&&this.shape.boundingBox.bottom>obj.top}}],[{key:\"parseOptions\",value:function parseOptions(parentOptions,newOptions){var allowDeletion=arguments[2]===undefined?false:arguments[2];var fields=[\"color\",\"font\",\"fixed\",\"shadow\"];util.selectiveNotDeepExtend(fields,parentOptions,newOptions,allowDeletion);util.mergeOptions(parentOptions,newOptions,\"shadow\");if(newOptions.color!==undefined&&newOptions.color!==null){var parsedColor=util.parseColor(newOptions.color);util.fillIfDefined(parentOptions.color,parsedColor)}else if(allowDeletion===true&&newOptions.color===null){parentOptions.color=undefined;delete parentOptions.color}if(newOptions.fixed!==undefined&&newOptions.fixed!==null){if(typeof newOptions.fixed===\"boolean\"){parentOptions.fixed.x=newOptions.fixed;parentOptions.fixed.y=newOptions.fixed}else{if(newOptions.fixed.x!==undefined&&typeof newOptions.fixed.x===\"boolean\"){parentOptions.fixed.x=newOptions.fixed.x}if(newOptions.fixed.y!==undefined&&typeof newOptions.fixed.y===\"boolean\"){parentOptions.fixed.y=newOptions.fixed.y}}}if(newOptions.font!==undefined){_sharedLabel2[\"default\"].parseOptions(parentOptions.font,newOptions)}if(newOptions.scaling!==undefined){util.mergeOptions(parentOptions.scaling,newOptions.scaling,\"label\")}}}]);return Node}();exports[\"default\"]=Node;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i[\"return\"])_i[\"return\"]()}finally{if(_d)throw _e}}return _arr}return function(arr,i){if(Array.isArray(arr)){return arr}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i)}else{throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}}();var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var util=__webpack_require__(7);var Label=function(){function Label(body,options){_classCallCheck(this,Label);this.body=body;this.pointToSelf=false;this.baseSize=undefined;this.setOptions(options);this.size={top:0,left:0,width:0,height:0,yLine:0}}_createClass(Label,[{key:\"setOptions\",value:function setOptions(options){var allowDeletion=arguments[1]===undefined?false:arguments[1];this.options=options;if(options.label!==undefined){this.labelDirty=true}if(options.font!==undefined){Label.parseOptions(this.options.font,options,allowDeletion);if(typeof options.font===\"string\"){this.baseSize=this.options.font.size}else if(typeof options.font===\"object\"){if(options.font.size!==undefined){this.baseSize=options.font.size}}}}},{key:\"draw\",value:function draw(ctx,x,y,selected){var baseline=arguments[4]===undefined?\"middle\":arguments[4];if(this.options.label===undefined)return;var viewFontSize=this.options.font.size*this.body.view.scale;if(this.options.label&&viewFontSize<this.options.scaling.label.drawThreshold-1)return;this.calculateLabelSize(ctx,selected,x,y,baseline);this._drawBackground(ctx);this._drawText(ctx,selected,x,y,baseline)}},{key:\"_drawBackground\",value:function _drawBackground(ctx){if(this.options.font.background!==undefined&&this.options.font.background!==\"none\"){ctx.fillStyle=this.options.font.background;var lineMargin=2;switch(this.options.font.align){case\"middle\":ctx.fillRect(-this.size.width*.5,-this.size.height*.5,this.size.width,this.size.height);break;case\"top\":ctx.fillRect(-this.size.width*.5,-(this.size.height+lineMargin),this.size.width,this.size.height);break;case\"bottom\":ctx.fillRect(-this.size.width*.5,lineMargin,this.size.width,this.size.height);break;default:ctx.fillRect(this.size.left,this.size.top-.5*lineMargin,this.size.width,this.size.height);break}}}},{key:\"_drawText\",value:function _drawText(ctx,selected,x,y){var baseline=arguments[4]===undefined?\"middle\":arguments[4];var fontSize=this.options.font.size;var viewFontSize=fontSize*this.body.view.scale;if(viewFontSize>=this.options.scaling.label.maxVisible){fontSize=Number(this.options.scaling.label.maxVisible)/this.body.view.scale}var yLine=this.size.yLine;var _getColor2=this._getColor(viewFontSize);var _getColor22=_slicedToArray(_getColor2,2);var fontColor=_getColor22[0];var strokeColor=_getColor22[1];var _setAlignment2=this._setAlignment(ctx,x,yLine,baseline);var _setAlignment22=_slicedToArray(_setAlignment2,2);x=_setAlignment22[0];yLine=_setAlignment22[1];ctx.font=(selected&&this.options.labelHighlightBold?\"bold \":\"\")+fontSize+\"px \"+this.options.font.face;ctx.fillStyle=fontColor;ctx.textAlign=\"center\";if(this.options.font.strokeWidth>0){ctx.lineWidth=this.options.font.strokeWidth;ctx.strokeStyle=strokeColor;ctx.lineJoin=\"round\"}for(var i=0;i<this.lineCount;i++){if(this.options.font.strokeWidth>0){ctx.strokeText(this.lines[i],x,yLine)}ctx.fillText(this.lines[i],x,yLine);yLine+=fontSize}}},{key:\"_setAlignment\",value:function _setAlignment(ctx,x,yLine,baseline){if(this.options.font.align!==\"horizontal\"&&this.pointToSelf===false){x=0;yLine=0;var lineMargin=2;if(this.options.font.align===\"top\"){ctx.textBaseline=\"alphabetic\";yLine-=2*lineMargin}else if(this.options.font.align===\"bottom\"){ctx.textBaseline=\"hanging\";yLine+=2*lineMargin}else{ctx.textBaseline=\"middle\"}}else{ctx.textBaseline=baseline}return[x,yLine]}},{key:\"_getColor\",value:function _getColor(viewFontSize){var fontColor=this.options.font.color||\"#000000\";var strokeColor=this.options.font.strokeColor||\"#ffffff\";if(viewFontSize<=this.options.scaling.label.drawThreshold){var opacity=Math.max(0,Math.min(1,1-(this.options.scaling.label.drawThreshold-viewFontSize)));fontColor=util.overrideOpacity(fontColor,opacity);strokeColor=util.overrideOpacity(strokeColor,opacity)}return[fontColor,strokeColor]}},{key:\"getTextSize\",value:function getTextSize(ctx){var selected=arguments[1]===undefined?false:arguments[1];var size={width:this._processLabel(ctx,selected),height:this.options.font.size*this.lineCount,lineCount:this.lineCount};return size}},{key:\"calculateLabelSize\",value:function calculateLabelSize(ctx,selected){var x=arguments[2]===undefined?0:arguments[2];var y=arguments[3]===undefined?0:arguments[3];var baseline=arguments[4]===undefined?\"middle\":arguments[4];if(this.labelDirty===true){this.size.width=this._processLabel(ctx,selected)}this.size.height=this.options.font.size*this.lineCount;this.size.left=x-this.size.width*.5;this.size.top=y-this.size.height*.5;this.size.yLine=y+(1-this.lineCount)*.5*this.options.font.size;if(baseline===\"hanging\"){this.size.top+=.5*this.options.font.size;this.size.top+=4;this.size.yLine+=4}this.labelDirty=false}},{key:\"_processLabel\",value:function _processLabel(ctx,selected){var width=0;var lines=[\"\"];var lineCount=0;if(this.options.label!==undefined){lines=String(this.options.label).split(\"\\n\");lineCount=lines.length;ctx.font=(selected&&this.options.labelHighlightBold?\"bold \":\"\")+this.options.font.size+\"px \"+this.options.font.face;width=ctx.measureText(lines[0]).width;for(var i=1;i<lineCount;i++){var lineWidth=ctx.measureText(lines[i]).width;width=lineWidth>width?lineWidth:width}}this.lines=lines;this.lineCount=lineCount;return width}}],[{key:\"parseOptions\",value:function parseOptions(parentOptions,newOptions){var allowDeletion=arguments[2]===undefined?false:arguments[2];if(typeof newOptions.font===\"string\"){var newOptionsArray=newOptions.font.split(\" \");parentOptions.size=newOptionsArray[0].replace(\"px\",\"\");parentOptions.face=newOptionsArray[1];parentOptions.color=newOptionsArray[2]}else if(typeof newOptions.font===\"object\"){util.fillIfDefined(parentOptions,newOptions.font,allowDeletion)}parentOptions.size=Number(parentOptions.size)}}]);return Label}();exports[\"default\"]=Label;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilNodeBase=__webpack_require__(65);var _utilNodeBase2=_interopRequireDefault(_utilNodeBase);var Box=function(_NodeBase){function Box(options,body,labelModule){_classCallCheck(this,Box);_get(Object.getPrototypeOf(Box.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(Box,_NodeBase);_createClass(Box,[{key:\"resize\",value:function resize(ctx,selected){if(this.width===undefined){var margin=5;var textSize=this.labelModule.getTextSize(ctx,selected);this.width=textSize.width+2*margin;this.height=textSize.height+2*margin;this.radius=.5*this.width}}},{key:\"draw\",value:function draw(ctx,x,y,selected,hover){this.resize(ctx,selected);this.left=x-this.width/2;this.top=y-this.height/2;var borderWidth=this.options.borderWidth;var selectionLineWidth=this.options.borderWidthSelected||2*this.options.borderWidth;ctx.strokeStyle=selected?this.options.color.highlight.border:hover?this.options.color.hover.border:this.options.color.border;ctx.lineWidth=selected?selectionLineWidth:borderWidth;ctx.lineWidth/=this.body.view.scale;ctx.lineWidth=Math.min(this.width,ctx.lineWidth);ctx.fillStyle=selected?this.options.color.highlight.background:hover?this.options.color.hover.background:this.options.color.background;var borderRadius=6;ctx.roundRect(this.left,this.top,this.width,this.height,borderRadius);this.enableShadow(ctx);ctx.fill();this.disableShadow(ctx);ctx.stroke();this.updateBoundingBox(x,y);this.labelModule.draw(ctx,x,y,selected)}},{key:\"updateBoundingBox\",value:function updateBoundingBox(x,y){this.left=x-this.width*.5;this.top=y-this.height*.5;this.boundingBox.left=this.left;this.boundingBox.top=this.top;this.boundingBox.bottom=this.top+this.height;this.boundingBox.right=this.left+this.width}},{key:\"distanceToBorder\",value:function distanceToBorder(ctx,angle){this.resize(ctx);var a=this.width/2;var b=this.height/2;var w=Math.sin(angle)*a;var h=Math.cos(angle)*b;return a*b/Math.sqrt(w*w+h*h)}}]);return Box}(_utilNodeBase2[\"default\"]);exports[\"default\"]=Box;module.exports=exports[\"default\"]},function(module,exports){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var NodeBase=function(){function NodeBase(options,body,labelModule){_classCallCheck(this,NodeBase);this.body=body;this.labelModule=labelModule;this.setOptions(options);this.top=undefined;this.left=undefined;this.height=undefined;this.width=undefined;this.radius=undefined;this.boundingBox={top:0,left:0,right:0,bottom:0}}_createClass(NodeBase,[{key:\"setOptions\",value:function setOptions(options){this.options=options}},{key:\"_distanceToBorder\",value:function _distanceToBorder(angle){var borderWidth=1;return Math.min(Math.abs(this.width/2/Math.cos(angle)),Math.abs(this.height/2/Math.sin(angle)))+borderWidth}},{key:\"enableShadow\",value:function enableShadow(ctx){if(this.options.shadow.enabled===true){ctx.shadowColor=\"rgba(0,0,0,0.5)\";ctx.shadowBlur=this.options.shadow.size;ctx.shadowOffsetX=this.options.shadow.x;ctx.shadowOffsetY=this.options.shadow.y}}},{key:\"disableShadow\",value:function disableShadow(ctx){if(this.options.shadow.enabled===true){ctx.shadowColor=\"rgba(0,0,0,0)\";ctx.shadowBlur=0;ctx.shadowOffsetX=0;ctx.shadowOffsetY=0}}}]);return NodeBase}();exports[\"default\"]=NodeBase;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilCircleImageBase=__webpack_require__(67);var _utilCircleImageBase2=_interopRequireDefault(_utilCircleImageBase);var Circle=function(_CircleImageBase){function Circle(options,body,labelModule){_classCallCheck(this,Circle);_get(Object.getPrototypeOf(Circle.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(Circle,_CircleImageBase);_createClass(Circle,[{key:\"resize\",value:function resize(ctx,selected){if(this.width===undefined){var margin=5;var textSize=this.labelModule.getTextSize(ctx,selected);var diameter=Math.max(textSize.width,textSize.height)+2*margin;this.options.size=diameter/2;this.width=diameter;this.height=diameter;this.radius=.5*this.width}}},{key:\"draw\",value:function draw(ctx,x,y,selected,hover){this.resize(ctx,selected);this.left=x-this.width/2;this.top=y-this.height/2;this._drawRawCircle(ctx,x,y,selected,hover,this.options.size);this.boundingBox.top=y-this.options.size;this.boundingBox.left=x-this.options.size;this.boundingBox.right=x+this.options.size;this.boundingBox.bottom=y+this.options.size;this.updateBoundingBox(x,y);this.labelModule.draw(ctx,x,y,selected)}},{key:\"updateBoundingBox\",value:function updateBoundingBox(x,y){this.boundingBox.top=y-this.options.size;this.boundingBox.left=x-this.options.size;this.boundingBox.right=x+this.options.size;this.boundingBox.bottom=y+this.options.size}},{key:\"distanceToBorder\",value:function distanceToBorder(ctx,angle){this.resize(ctx);var a=this.width/2;var b=this.height/2;var w=Math.sin(angle)*a;var h=Math.cos(angle)*b;return a*b/Math.sqrt(w*w+h*h)}}]);return Circle}(_utilCircleImageBase2[\"default\"]);exports[\"default\"]=Circle;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilNodeBase=__webpack_require__(65);var _utilNodeBase2=_interopRequireDefault(_utilNodeBase);var CircleImageBase=function(_NodeBase){function CircleImageBase(options,body,labelModule){_classCallCheck(this,CircleImageBase);_get(Object.getPrototypeOf(CircleImageBase.prototype),\"constructor\",this).call(this,options,body,labelModule);this.labelOffset=0;this.imageLoaded=false}_inherits(CircleImageBase,_NodeBase);_createClass(CircleImageBase,[{key:\"_resizeImage\",value:function _resizeImage(){var force=false;if(!this.imageObj.width||!this.imageObj.height){this.imageLoaded=false}else if(this.imageLoaded===false){this.imageLoaded=true;force=true}if(!this.width||!this.height||force===true){var width,height,ratio;if(this.imageObj.width&&this.imageObj.height){width=0;height=0}if(this.imageObj.width>this.imageObj.height){ratio=this.imageObj.width/this.imageObj.height;width=this.options.size*2*ratio||this.imageObj.width;height=this.options.size*2||this.imageObj.height}else{if(this.imageObj.width&&this.imageObj.height){ratio=this.imageObj.height/this.imageObj.width}else{ratio=1}width=this.options.size*2||this.imageObj.width;height=this.options.size*2*ratio||this.imageObj.height}this.width=width;this.height=height;this.radius=.5*this.width}}},{key:\"_drawRawCircle\",value:function _drawRawCircle(ctx,x,y,selected,hover,size){var borderWidth=this.options.borderWidth;var selectionLineWidth=this.options.borderWidthSelected||2*this.options.borderWidth;ctx.strokeStyle=selected?this.options.color.highlight.border:hover?this.options.color.hover.border:this.options.color.border;ctx.lineWidth=selected?selectionLineWidth:borderWidth;ctx.lineWidth*=this.networkScaleInv;ctx.lineWidth=Math.min(this.width,ctx.lineWidth);ctx.fillStyle=selected?this.options.color.highlight.background:hover?this.options.color.hover.background:this.options.color.background;ctx.circle(x,y,size);this.enableShadow(ctx);ctx.fill();this.disableShadow(ctx);ctx.stroke()}},{key:\"_drawImageAtPosition\",value:function _drawImageAtPosition(ctx){if(this.imageObj.width!=0){ctx.globalAlpha=1;this.enableShadow(ctx);ctx.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(ctx)}}},{key:\"_drawImageLabel\",value:function _drawImageLabel(ctx,x,y,selected){var yLabel;var offset=0;if(this.height!==undefined){offset=this.height*.5;var labelDimensions=this.labelModule.getTextSize(ctx);if(labelDimensions.lineCount>=1){offset+=labelDimensions.height/2}}yLabel=y+offset;if(this.options.label){this.labelOffset=offset}this.labelModule.draw(ctx,x,yLabel,selected,\"hanging\")}}]);return CircleImageBase}(_utilNodeBase2[\"default\"]);exports[\"default\"]=CircleImageBase;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilCircleImageBase=__webpack_require__(67);var _utilCircleImageBase2=_interopRequireDefault(_utilCircleImageBase);var CircularImage=function(_CircleImageBase){function CircularImage(options,body,labelModule,imageObj){_classCallCheck(this,CircularImage);_get(Object.getPrototypeOf(CircularImage.prototype),\"constructor\",this).call(this,options,body,labelModule);this.imageObj=imageObj;this._swapToImageResizeWhenImageLoaded=true}_inherits(CircularImage,_CircleImageBase);_createClass(CircularImage,[{key:\"resize\",value:function resize(){if(this.imageObj.src===undefined||this.imageObj.width===undefined||this.imageObj.height===undefined){if(!this.width){var diameter=this.options.size*2;this.width=diameter;this.height=diameter;this._swapToImageResizeWhenImageLoaded=true;this.radius=.5*this.width}}else{if(this._swapToImageResizeWhenImageLoaded){this.width=undefined;this.height=undefined;this._swapToImageResizeWhenImageLoaded=false}this._resizeImage()}}},{key:\"draw\",value:function draw(ctx,x,y,selected,hover){this.resize();this.left=x-this.width/2;this.top=y-this.height/2;var size=Math.min(.5*this.height,.5*this.width);this._drawRawCircle(ctx,x,y,selected,hover,size);ctx.save();ctx.circle(x,y,size);ctx.stroke();ctx.clip();this._drawImageAtPosition(ctx);ctx.restore();this._drawImageLabel(ctx,x,y,selected);this.updateBoundingBox(x,y)}},{key:\"updateBoundingBox\",value:function updateBoundingBox(x,y){\nthis.boundingBox.top=y-this.options.size;this.boundingBox.left=x-this.options.size;this.boundingBox.right=x+this.options.size;this.boundingBox.bottom=y+this.options.size;this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left);this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width);this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:\"distanceToBorder\",value:function distanceToBorder(ctx,angle){this.resize(ctx);return this._distanceToBorder(angle)}}]);return CircularImage}(_utilCircleImageBase2[\"default\"]);exports[\"default\"]=CircularImage;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilNodeBase=__webpack_require__(65);var _utilNodeBase2=_interopRequireDefault(_utilNodeBase);var Database=function(_NodeBase){function Database(options,body,labelModule){_classCallCheck(this,Database);_get(Object.getPrototypeOf(Database.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(Database,_NodeBase);_createClass(Database,[{key:\"resize\",value:function resize(ctx,selected){if(this.width===undefined){var margin=5;var textSize=this.labelModule.getTextSize(ctx,selected);var size=textSize.width+2*margin;this.width=size;this.height=size;this.radius=.5*this.width}}},{key:\"draw\",value:function draw(ctx,x,y,selected,hover){this.resize(ctx,selected);this.left=x-this.width/2;this.top=y-this.height/2;var borderWidth=this.options.borderWidth;var selectionLineWidth=this.options.borderWidthSelected||2*this.options.borderWidth;ctx.strokeStyle=selected?this.options.color.highlight.border:hover?this.options.color.hover.border:this.options.color.border;ctx.lineWidth=this.selected?selectionLineWidth:borderWidth;ctx.lineWidth*=this.networkScaleInv;ctx.lineWidth=Math.min(this.width,ctx.lineWidth);ctx.fillStyle=selected?this.options.color.highlight.background:hover?this.options.color.hover.background:this.options.color.background;ctx.database(x-this.width/2,y-this.height*.5,this.width,this.height);this.enableShadow(ctx);ctx.fill();this.disableShadow(ctx);ctx.stroke();this.updateBoundingBox(x,y,ctx);this.labelModule.draw(ctx,x,y,selected)}},{key:\"updateBoundingBox\",value:function updateBoundingBox(x,y,ctx){this.resize(ctx);this.left=x-this.width*.5;this.top=y-this.height*.5;this.boundingBox.left=this.left;this.boundingBox.top=this.top;this.boundingBox.bottom=this.top+this.height;this.boundingBox.right=this.left+this.width}},{key:\"distanceToBorder\",value:function distanceToBorder(ctx,angle){this.resize(ctx);var a=this.width/2;var b=this.height/2;var w=Math.sin(angle)*a;var h=Math.cos(angle)*b;return a*b/Math.sqrt(w*w+h*h)}}]);return Database}(_utilNodeBase2[\"default\"]);exports[\"default\"]=Database;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilShapeBase=__webpack_require__(71);var _utilShapeBase2=_interopRequireDefault(_utilShapeBase);var Diamond=function(_ShapeBase){function Diamond(options,body,labelModule){_classCallCheck(this,Diamond);_get(Object.getPrototypeOf(Diamond.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(Diamond,_ShapeBase);_createClass(Diamond,[{key:\"resize\",value:function resize(ctx){this._resizeShape()}},{key:\"draw\",value:function draw(ctx,x,y,selected,hover){this._drawShape(ctx,\"diamond\",4,x,y,selected,hover)}},{key:\"distanceToBorder\",value:function distanceToBorder(ctx,angle){return this._distanceToBorder(angle)}}]);return Diamond}(_utilShapeBase2[\"default\"]);exports[\"default\"]=Diamond;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilNodeBase=__webpack_require__(65);var _utilNodeBase2=_interopRequireDefault(_utilNodeBase);var ShapeBase=function(_NodeBase){function ShapeBase(options,body,labelModule){_classCallCheck(this,ShapeBase);_get(Object.getPrototypeOf(ShapeBase.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(ShapeBase,_NodeBase);_createClass(ShapeBase,[{key:\"_resizeShape\",value:function _resizeShape(){if(this.width===undefined){var size=2*this.options.size;this.width=size;this.height=size;this.radius=.5*this.width}}},{key:\"_drawShape\",value:function _drawShape(ctx,shape,sizeMultiplier,x,y,selected,hover){this._resizeShape();this.left=x-this.width/2;this.top=y-this.height/2;var borderWidth=this.options.borderWidth;var selectionLineWidth=this.options.borderWidthSelected||2*this.options.borderWidth;ctx.strokeStyle=selected?this.options.color.highlight.border:hover?this.options.color.hover.border:this.options.color.border;ctx.lineWidth=selected?selectionLineWidth:borderWidth;ctx.lineWidth/=this.body.view.scale;ctx.lineWidth=Math.min(this.width,ctx.lineWidth);ctx.fillStyle=selected?this.options.color.highlight.background:hover?this.options.color.hover.background:this.options.color.background;ctx[shape](x,y,this.options.size);this.enableShadow(ctx);ctx.fill();this.disableShadow(ctx);ctx.stroke();if(this.options.label!==undefined){var yLabel=y+.5*this.height+3;this.labelModule.draw(ctx,x,yLabel,selected,\"hanging\")}this.updateBoundingBox(x,y)}},{key:\"updateBoundingBox\",value:function updateBoundingBox(x,y){this.boundingBox.top=y-this.options.size;this.boundingBox.left=x-this.options.size;this.boundingBox.right=x+this.options.size;this.boundingBox.bottom=y+this.options.size;if(this.options.label!==undefined&&this.labelModule.size.width>0){this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left);this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width);this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+3)}}}]);return ShapeBase}(_utilNodeBase2[\"default\"]);exports[\"default\"]=ShapeBase;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilShapeBase=__webpack_require__(71);var _utilShapeBase2=_interopRequireDefault(_utilShapeBase);var Dot=function(_ShapeBase){function Dot(options,body,labelModule){_classCallCheck(this,Dot);_get(Object.getPrototypeOf(Dot.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(Dot,_ShapeBase);_createClass(Dot,[{key:\"resize\",value:function resize(ctx){this._resizeShape()}},{key:\"draw\",value:function draw(ctx,x,y,selected,hover){this._drawShape(ctx,\"circle\",2,x,y,selected,hover)}},{key:\"distanceToBorder\",value:function distanceToBorder(ctx,angle){return this.options.size+this.options.borderWidth}}]);return Dot}(_utilShapeBase2[\"default\"]);exports[\"default\"]=Dot;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilNodeBase=__webpack_require__(65);var _utilNodeBase2=_interopRequireDefault(_utilNodeBase);var Ellipse=function(_NodeBase){function Ellipse(options,body,labelModule){_classCallCheck(this,Ellipse);_get(Object.getPrototypeOf(Ellipse.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(Ellipse,_NodeBase);_createClass(Ellipse,[{key:\"resize\",value:function resize(ctx,selected){if(this.width===undefined){var textSize=this.labelModule.getTextSize(ctx,selected);this.width=textSize.width*1.5;this.height=textSize.height*2;if(this.width<this.height){this.width=this.height}this.radius=.5*this.width}}},{key:\"draw\",value:function draw(ctx,x,y,selected,hover){this.resize(ctx,selected);this.left=x-this.width*.5;this.top=y-this.height*.5;var borderWidth=this.options.borderWidth;var selectionLineWidth=this.options.borderWidthSelected||2*this.options.borderWidth;ctx.strokeStyle=selected?this.options.color.highlight.border:hover?this.options.color.hover.border:this.options.color.border;ctx.lineWidth=selected?selectionLineWidth:borderWidth;ctx.lineWidth/=this.body.view.scale;ctx.lineWidth=Math.min(this.width,ctx.lineWidth);ctx.fillStyle=selected?this.options.color.highlight.background:hover?this.options.color.hover.background:this.options.color.background;ctx.ellipse(this.left,this.top,this.width,this.height);this.enableShadow(ctx);ctx.fill();this.disableShadow(ctx);ctx.stroke();this.updateBoundingBox(x,y);this.labelModule.draw(ctx,x,y,selected)}},{key:\"updateBoundingBox\",value:function updateBoundingBox(x,y,ctx){this.resize(ctx,false);this.left=x-this.width*.5;this.top=y-this.height*.5;this.boundingBox.left=this.left;this.boundingBox.top=this.top;this.boundingBox.bottom=this.top+this.height;this.boundingBox.right=this.left+this.width}},{key:\"distanceToBorder\",value:function distanceToBorder(ctx,angle){this.resize(ctx);var a=this.width*.5;var b=this.height*.5;var w=Math.sin(angle)*a;var h=Math.cos(angle)*b;return a*b/Math.sqrt(w*w+h*h)}}]);return Ellipse}(_utilNodeBase2[\"default\"]);exports[\"default\"]=Ellipse;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilNodeBase=__webpack_require__(65);var _utilNodeBase2=_interopRequireDefault(_utilNodeBase);var Icon=function(_NodeBase){function Icon(options,body,labelModule){_classCallCheck(this,Icon);_get(Object.getPrototypeOf(Icon.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(Icon,_NodeBase);_createClass(Icon,[{key:\"resize\",value:function resize(ctx){if(this.width===undefined){var margin=5;var iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)};this.width=iconSize.width+2*margin;this.height=iconSize.height+2*margin;this.radius=.5*this.width}}},{key:\"draw\",value:function draw(ctx,x,y,selected,hover){this.resize(ctx);this.options.icon.size=this.options.icon.size||50;this.left=x-this.width*.5;this.top=y-this.height*.5;this._icon(ctx,x,y,selected);if(this.options.label!==undefined){var iconTextSpacing=5;this.labelModule.draw(ctx,x,y+this.height*.5+iconTextSpacing,selected)}this.updateBoundingBox(x,y)}},{key:\"updateBoundingBox\",value:function updateBoundingBox(x,y){this.boundingBox.top=y-this.options.icon.size*.5;this.boundingBox.left=x-this.options.icon.size*.5;this.boundingBox.right=x+this.options.icon.size*.5;this.boundingBox.bottom=y+this.options.icon.size*.5;if(this.options.label!==undefined&&this.labelModule.size.width>0){var iconTextSpacing=5;this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left);this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width);this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+iconTextSpacing)}}},{key:\"_icon\",value:function _icon(ctx,x,y,selected){var iconSize=Number(this.options.icon.size);if(this.options.icon.code!==undefined){ctx.font=(selected?\"bold \":\"\")+iconSize+\"px \"+this.options.icon.face;ctx.fillStyle=this.options.icon.color||\"black\";ctx.textAlign=\"center\";ctx.textBaseline=\"middle\";this.enableShadow(ctx);ctx.fillText(this.options.icon.code,x,y);this.disableShadow(ctx)}else{console.error(\"When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.\")}}},{key:\"distanceToBorder\",value:function distanceToBorder(ctx,angle){this.resize(ctx);return this._distanceToBorder(angle)}}]);return Icon}(_utilNodeBase2[\"default\"]);exports[\"default\"]=Icon;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilCircleImageBase=__webpack_require__(67);var _utilCircleImageBase2=_interopRequireDefault(_utilCircleImageBase);var Image=function(_CircleImageBase){function Image(options,body,labelModule,imageObj){_classCallCheck(this,Image);_get(Object.getPrototypeOf(Image.prototype),\"constructor\",this).call(this,options,body,labelModule);this.imageObj=imageObj}_inherits(Image,_CircleImageBase);_createClass(Image,[{key:\"resize\",value:function resize(){this._resizeImage()}},{key:\"draw\",value:function draw(ctx,x,y,selected,hover){this.resize();this.left=x-this.width/2;this.top=y-this.height/2;this._drawImageAtPosition(ctx);this._drawImageLabel(ctx,x,y,selected||hover);this.updateBoundingBox(x,y)}},{key:\"updateBoundingBox\",value:function updateBoundingBox(x,y){this.resize();this.left=x-this.width/2;this.top=y-this.height/2;this.boundingBox.top=this.top;this.boundingBox.left=this.left;this.boundingBox.right=this.left+this.width;this.boundingBox.bottom=this.top+this.height;if(this.options.label!==undefined&&this.labelModule.size.width>0){this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left);this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width);this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}}},{key:\"distanceToBorder\",value:function distanceToBorder(ctx,angle){this.resize(ctx);var a=this.width/2;var b=this.height/2;var w=Math.sin(angle)*a;var h=Math.cos(angle)*b;return a*b/Math.sqrt(w*w+h*h)}}]);return Image}(_utilCircleImageBase2[\"default\"]);exports[\"default\"]=Image;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilShapeBase=__webpack_require__(71);var _utilShapeBase2=_interopRequireDefault(_utilShapeBase);var Square=function(_ShapeBase){function Square(options,body,labelModule){_classCallCheck(this,Square);_get(Object.getPrototypeOf(Square.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(Square,_ShapeBase);_createClass(Square,[{key:\"resize\",value:function resize(){this._resizeShape()}},{key:\"draw\",value:function draw(ctx,x,y,selected,hover){this._drawShape(ctx,\"square\",2,x,y,selected,hover)}},{key:\"distanceToBorder\",value:function distanceToBorder(ctx,angle){this.resize();return this._distanceToBorder(angle)}}]);return Square}(_utilShapeBase2[\"default\"]);exports[\"default\"]=Square;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilShapeBase=__webpack_require__(71);var _utilShapeBase2=_interopRequireDefault(_utilShapeBase);var Star=function(_ShapeBase){function Star(options,body,labelModule){_classCallCheck(this,Star);_get(Object.getPrototypeOf(Star.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(Star,_ShapeBase);_createClass(Star,[{key:\"resize\",value:function resize(ctx){this._resizeShape()}},{key:\"draw\",value:function draw(ctx,x,y,selected,hover){this._drawShape(ctx,\"star\",4,x,y,selected,hover)}},{key:\"distanceToBorder\",value:function distanceToBorder(ctx,angle){return this._distanceToBorder(angle)}}]);return Star}(_utilShapeBase2[\"default\"]);exports[\"default\"]=Star;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,\nconfigurable:true}});if(superClass)subClass.__proto__=superClass}var _utilNodeBase=__webpack_require__(65);var _utilNodeBase2=_interopRequireDefault(_utilNodeBase);var Text=function(_NodeBase){function Text(options,body,labelModule){_classCallCheck(this,Text);_get(Object.getPrototypeOf(Text.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(Text,_NodeBase);_createClass(Text,[{key:\"resize\",value:function resize(ctx,selected){if(this.width===undefined){var margin=5;var textSize=this.labelModule.getTextSize(ctx,selected);this.width=textSize.width+2*margin;this.height=textSize.height+2*margin;this.radius=.5*this.width}}},{key:\"draw\",value:function draw(ctx,x,y,selected,hover){this.resize(ctx,selected||hover);this.left=x-this.width/2;this.top=y-this.height/2;this.enableShadow(ctx);this.labelModule.draw(ctx,x,y,selected||hover);this.disableShadow(ctx);this.updateBoundingBox(x,y)}},{key:\"updateBoundingBox\",value:function updateBoundingBox(x,y){this.resize();this.left=x-this.width/2;this.top=y-this.height/2;this.boundingBox.top=this.top;this.boundingBox.left=this.left;this.boundingBox.right=this.left+this.width;this.boundingBox.bottom=this.top+this.height}},{key:\"distanceToBorder\",value:function distanceToBorder(ctx,angle){this.resize(ctx);return this._distanceToBorder(angle)}}]);return Text}(_utilNodeBase2[\"default\"]);exports[\"default\"]=Text;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilShapeBase=__webpack_require__(71);var _utilShapeBase2=_interopRequireDefault(_utilShapeBase);var Triangle=function(_ShapeBase){function Triangle(options,body,labelModule){_classCallCheck(this,Triangle);_get(Object.getPrototypeOf(Triangle.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(Triangle,_ShapeBase);_createClass(Triangle,[{key:\"resize\",value:function resize(ctx){this._resizeShape()}},{key:\"draw\",value:function draw(ctx,x,y,selected,hover){this._drawShape(ctx,\"triangle\",3,x,y,selected,hover)}},{key:\"distanceToBorder\",value:function distanceToBorder(ctx,angle){return this._distanceToBorder(angle)}}]);return Triangle}(_utilShapeBase2[\"default\"]);exports[\"default\"]=Triangle;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilShapeBase=__webpack_require__(71);var _utilShapeBase2=_interopRequireDefault(_utilShapeBase);var TriangleDown=function(_ShapeBase){function TriangleDown(options,body,labelModule){_classCallCheck(this,TriangleDown);_get(Object.getPrototypeOf(TriangleDown.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(TriangleDown,_ShapeBase);_createClass(TriangleDown,[{key:\"resize\",value:function resize(ctx){this._resizeShape()}},{key:\"draw\",value:function draw(ctx,x,y,selected,hover){this._drawShape(ctx,\"triangleDown\",3,x,y,selected,hover)}},{key:\"distanceToBorder\",value:function distanceToBorder(ctx,angle){return this._distanceToBorder(angle)}}]);return TriangleDown}(_utilShapeBase2[\"default\"]);exports[\"default\"]=TriangleDown;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var _componentsEdge=__webpack_require__(82);var _componentsEdge2=_interopRequireDefault(_componentsEdge);var _componentsSharedLabel=__webpack_require__(63);var _componentsSharedLabel2=_interopRequireDefault(_componentsSharedLabel);var util=__webpack_require__(7);var DataSet=__webpack_require__(14);var DataView=__webpack_require__(16);var EdgesHandler=function(){function EdgesHandler(body,images,groups){var _this=this;_classCallCheck(this,EdgesHandler);this.body=body;this.images=images;this.groups=groups;this.body.functions.createEdge=this.create.bind(this);this.edgesListeners={add:function add(event,params){_this.add(params.items)},update:function update(event,params){_this.update(params.items)},remove:function remove(event,params){_this.remove(params.items)}};this.options={};this.defaultOptions={arrows:{to:{enabled:false,scaleFactor:1},middle:{enabled:false,scaleFactor:1},from:{enabled:false,scaleFactor:1}},color:{color:\"#848484\",highlight:\"#848484\",hover:\"#848484\",inherit:\"from\",opacity:1},dashes:false,font:{color:\"#343434\",size:14,face:\"arial\",background:\"none\",strokeWidth:2,strokeColor:\"#ffffff\",align:\"horizontal\"},hidden:false,hoverWidth:1.5,label:undefined,labelHighlightBold:true,length:undefined,physics:true,scaling:{min:1,max:15,label:{enabled:true,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function customScalingFunction(min,max,total,value){if(max===min){return.5}else{var scale=1/(max-min);return Math.max(0,(value-min)*scale)}}},selectionWidth:1.5,selfReferenceSize:20,shadow:{enabled:false,size:10,x:5,y:5},smooth:{enabled:true,type:\"dynamic\",roundness:.5},title:undefined,width:1,value:undefined};util.extend(this.options,this.defaultOptions);this.bindEventListeners()}_createClass(EdgesHandler,[{key:\"bindEventListeners\",value:function bindEventListeners(){var _this2=this;this.body.emitter.on(\"_forceDisableDynamicCurves\",function(type){if(type===\"dynamic\"){type=\"continuous\"}var emitChange=false;for(var edgeId in _this2.body.edges){if(_this2.body.edges.hasOwnProperty(edgeId)){var edge=_this2.body.edges[edgeId];var edgeData=_this2.body.data.edges._data[edgeId];if(edgeData!==undefined){var edgeOptions=edgeData.smooth;if(edgeOptions!==undefined){if(edgeOptions.enabled===true&&edgeOptions.type===\"dynamic\"){if(type===undefined){edge.setOptions({smooth:false})}else{edge.setOptions({smooth:{type:type}})}emitChange=true}}}}}if(emitChange===true){_this2.body.emitter.emit(\"_dataChanged\")}});this.body.emitter.on(\"_dataUpdated\",function(){_this2.reconnectEdges();_this2.markAllEdgesAsDirty()});this.body.emitter.on(\"refreshEdges\",this.refresh.bind(this));this.body.emitter.on(\"refresh\",this.refresh.bind(this));this.body.emitter.on(\"destroy\",function(){delete _this2.body.functions.createEdge;delete _this2.edgesListeners.add;delete _this2.edgesListeners.update;delete _this2.edgesListeners.remove;delete _this2.edgesListeners})}},{key:\"setOptions\",value:function setOptions(options){if(options!==undefined){_componentsEdge2[\"default\"].parseOptions(this.options,options);if(options.color!==undefined){this.markAllEdgesAsDirty()}var dataChanged=false;if(options.smooth!==undefined){for(var edgeId in this.body.edges){if(this.body.edges.hasOwnProperty(edgeId)){dataChanged=this.body.edges[edgeId].updateEdgeType()||dataChanged}}}if(options.font!==undefined){_componentsSharedLabel2[\"default\"].parseOptions(this.options.font,options);for(var edgeId in this.body.edges){if(this.body.edges.hasOwnProperty(edgeId)){this.body.edges[edgeId].updateLabelModule()}}}if(options.hidden!==undefined||options.physics!==undefined||dataChanged===true){this.body.emitter.emit(\"_dataChanged\")}}}},{key:\"setData\",value:function setData(edges){var _this3=this;var doNotEmit=arguments[1]===undefined?false:arguments[1];var oldEdgesData=this.body.data.edges;if(edges instanceof DataSet||edges instanceof DataView){this.body.data.edges=edges}else if(Array.isArray(edges)){this.body.data.edges=new DataSet;this.body.data.edges.add(edges)}else if(!edges){this.body.data.edges=new DataSet}else{throw new TypeError(\"Array or DataSet expected\")}if(oldEdgesData){util.forEach(this.edgesListeners,function(callback,event){oldEdgesData.off(event,callback)})}this.body.edges={};if(this.body.data.edges){util.forEach(this.edgesListeners,function(callback,event){_this3.body.data.edges.on(event,callback)});var ids=this.body.data.edges.getIds();this.add(ids,true)}if(doNotEmit===false){this.body.emitter.emit(\"_dataChanged\")}}},{key:\"add\",value:function add(ids){var doNotEmit=arguments[1]===undefined?false:arguments[1];var edges=this.body.edges;var edgesData=this.body.data.edges;for(var i=0;i<ids.length;i++){var id=ids[i];var oldEdge=edges[id];if(oldEdge){oldEdge.disconnect()}var data=edgesData.get(id,{showInternalIds:true});edges[id]=this.create(data)}if(doNotEmit===false){this.body.emitter.emit(\"_dataChanged\")}}},{key:\"update\",value:function update(ids){var edges=this.body.edges;var edgesData=this.body.data.edges;var dataChanged=false;for(var i=0;i<ids.length;i++){var id=ids[i];var data=edgesData.get(id);var edge=edges[id];if(edge===null){edge.disconnect();dataChanged=edge.setOptions(data)||dataChanged;edge.connect()}else{this.body.edges[id]=this.create(data);dataChanged=true}}if(dataChanged===true){this.body.emitter.emit(\"_dataChanged\")}else{this.body.emitter.emit(\"_dataUpdated\")}}},{key:\"remove\",value:function remove(ids){var edges=this.body.edges;for(var i=0;i<ids.length;i++){var id=ids[i];var edge=edges[id];if(edge!==undefined){edge.edgeType.cleanup();edge.disconnect();delete edges[id]}}this.body.emitter.emit(\"_dataChanged\")}},{key:\"refresh\",value:function refresh(){var edges=this.body.edges;for(var edgeId in edges){var edge=undefined;if(edges.hasOwnProperty(edgeId)){edge=edges[edgeId]}var data=this.body.data.edges._data[edgeId];if(edge!==undefined&&data!==undefined){edge.setOptions(data)}}}},{key:\"create\",value:function create(properties){return new _componentsEdge2[\"default\"](properties,this.body,this.options)}},{key:\"markAllEdgesAsDirty\",value:function markAllEdgesAsDirty(){for(var edgeId in this.body.edges){this.body.edges[edgeId].edgeType.colorDirty=true}}},{key:\"reconnectEdges\",value:function reconnectEdges(){var id;var nodes=this.body.nodes;var edges=this.body.edges;for(id in nodes){if(nodes.hasOwnProperty(id)){nodes[id].edges=[]}}for(id in edges){if(edges.hasOwnProperty(id)){var edge=edges[id];edge.from=null;edge.to=null;edge.connect()}}}},{key:\"getConnectedNodes\",value:function getConnectedNodes(edgeId){var nodeList=[];if(this.body.edges[edgeId]!==undefined){var edge=this.body.edges[edgeId];if(edge.fromId){nodeList.push(edge.fromId)}if(edge.toId){nodeList.push(edge.toId)}}return nodeList}}]);return EdgesHandler}();exports[\"default\"]=EdgesHandler;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var _sharedLabel=__webpack_require__(63);var _sharedLabel2=_interopRequireDefault(_sharedLabel);var _edgesBezierEdgeDynamic=__webpack_require__(83);var _edgesBezierEdgeDynamic2=_interopRequireDefault(_edgesBezierEdgeDynamic);var _edgesBezierEdgeStatic=__webpack_require__(86);var _edgesBezierEdgeStatic2=_interopRequireDefault(_edgesBezierEdgeStatic);var _edgesStraightEdge=__webpack_require__(87);var _edgesStraightEdge2=_interopRequireDefault(_edgesStraightEdge);var util=__webpack_require__(7);var Edge=function(){function Edge(options,body,globalOptions){_classCallCheck(this,Edge);if(body===undefined){throw\"No body provided\"}this.options=util.bridgeObject(globalOptions);this.body=body;this.id=undefined;this.fromId=undefined;this.toId=undefined;this.selected=false;this.hover=false;this.labelDirty=true;this.colorDirty=true;this.baseWidth=this.options.width;this.baseFontSize=this.options.font.size;this.from=undefined;this.to=undefined;this.edgeType=undefined;this.connected=false;this.labelModule=new _sharedLabel2[\"default\"](this.body,this.options);this.setOptions(options)}_createClass(Edge,[{key:\"setOptions\",value:function setOptions(options){if(!options){return}this.colorDirty=true;Edge.parseOptions(this.options,options,true);if(options.id!==undefined){this.id=options.id}if(options.from!==undefined){this.fromId=options.from}if(options.to!==undefined){this.toId=options.to}if(options.title!==undefined){this.title=options.title}if(options.value!==undefined){options.value=parseFloat(options.value)}this.updateLabelModule();var dataChanged=this.updateEdgeType();this._setInteractionWidths();this.connect();if(options.hidden!==undefined||options.physics!==undefined){dataChanged=true}return dataChanged}},{key:\"updateLabelModule\",value:function updateLabelModule(){this.labelModule.setOptions(this.options,true);if(this.labelModule.baseSize!==undefined){this.baseFontSize=this.labelModule.baseSize}}},{key:\"updateEdgeType\",value:function updateEdgeType(){var dataChanged=false;var changeInType=true;if(this.edgeType!==undefined){if(this.edgeType instanceof _edgesBezierEdgeDynamic2[\"default\"]&&this.options.smooth.enabled===true&&this.options.smooth.type===\"dynamic\"){changeInType=false}if(this.edgeType instanceof _edgesBezierEdgeStatic2[\"default\"]&&this.options.smooth.enabled===true&&this.options.smooth.type!==\"dynamic\"){changeInType=false}if(this.edgeType instanceof _edgesStraightEdge2[\"default\"]&&this.options.smooth.enabled===false){changeInType=false}if(changeInType===true){dataChanged=this.edgeType.cleanup()}}if(changeInType===true){if(this.options.smooth.enabled===true){if(this.options.smooth.type===\"dynamic\"){dataChanged=true;this.edgeType=new _edgesBezierEdgeDynamic2[\"default\"](this.options,this.body,this.labelModule)}else{this.edgeType=new _edgesBezierEdgeStatic2[\"default\"](this.options,this.body,this.labelModule)}}else{this.edgeType=new _edgesStraightEdge2[\"default\"](this.options,this.body,this.labelModule)}}else{this.edgeType.setOptions(this.options)}return dataChanged}},{key:\"togglePhysics\",value:function togglePhysics(status){this.options.physics=status;this.edgeType.togglePhysics(status)}},{key:\"connect\",value:function connect(){this.disconnect();this.from=this.body.nodes[this.fromId]||undefined;this.to=this.body.nodes[this.toId]||undefined;this.connected=this.from!==undefined&&this.to!==undefined;if(this.connected===true){this.from.attachEdge(this);this.to.attachEdge(this)}else{if(this.from){this.from.detachEdge(this)}if(this.to){this.to.detachEdge(this)}}this.edgeType.connect()}},{key:\"disconnect\",value:function disconnect(){if(this.from){this.from.detachEdge(this);this.from=undefined}if(this.to){this.to.detachEdge(this);this.to=undefined}this.connected=false}},{key:\"getTitle\",value:function getTitle(){return this.title}},{key:\"isSelected\",value:function isSelected(){return this.selected}},{key:\"getValue\",value:function getValue(){return this.options.value}},{key:\"setValueRange\",value:function setValueRange(min,max,total){if(this.options.value!==undefined){var scale=this.options.scaling.customScalingFunction(min,max,total,this.options.value);var widthDiff=this.options.scaling.max-this.options.scaling.min;if(this.options.scaling.label.enabled===true){var fontDiff=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+scale*fontDiff}this.options.width=this.options.scaling.min+scale*widthDiff}else{this.options.width=this.baseWidth;this.options.font.size=this.baseFontSize}this._setInteractionWidths()}},{key:\"_setInteractionWidths\",value:function _setInteractionWidths(){if(typeof this.options.hoverWidth===\"function\"){this.edgeType.hoverWidth=this.options.hoverWidth(this.options.width)}else{this.edgeType.hoverWidth=this.options.hoverWidth+this.options.width}if(typeof this.options.selectionWidth===\"function\"){this.edgeType.selectionWidth=this.options.selectionWidth(this.options.width)}else{this.edgeType.selectionWidth=this.options.selectionWidth+this.options.width}}},{key:\"draw\",value:function draw(ctx){var via=this.edgeType.drawLine(ctx,this.selected,this.hover);this.drawArrows(ctx,via);this.drawLabel(ctx,via)}},{key:\"drawArrows\",value:function drawArrows(ctx,viaNode){if(this.options.arrows.from.enabled===true){this.edgeType.drawArrowHead(ctx,\"from\",viaNode,this.selected,this.hover)}if(this.options.arrows.middle.enabled===true){this.edgeType.drawArrowHead(ctx,\"middle\",viaNode,this.selected,this.hover)}if(this.options.arrows.to.enabled===true){this.edgeType.drawArrowHead(ctx,\"to\",viaNode,this.selected,this.hover)}}},{key:\"drawLabel\",value:function drawLabel(ctx,viaNode){if(this.options.label!==undefined){var node1=this.from;var node2=this.to;var selected=this.from.selected||this.to.selected||this.selected;if(node1.id!=node2.id){this.labelModule.pointToSelf=false;var point=this.edgeType.getPoint(.5,viaNode);ctx.save();if(this.options.font.align!==\"horizontal\"){this.labelModule.calculateLabelSize(ctx,selected,point.x,point.y);ctx.translate(point.x,this.labelModule.size.yLine);this._rotateForLabelAlignment(ctx)}this.labelModule.draw(ctx,point.x,point.y,selected);ctx.restore()}else{this.labelModule.pointToSelf=true;var x,y;var radius=this.options.selfReferenceSize;if(node1.shape.width>node1.shape.height){x=node1.x+node1.shape.width*.5;y=node1.y-radius}else{x=node1.x+radius;y=node1.y-node1.shape.height*.5}point=this._pointOnCircle(x,y,radius,.125);this.labelModule.draw(ctx,point.x,point.y,selected)}}}},{key:\"isOverlappingWith\",value:function isOverlappingWith(obj){if(this.connected){var distMax=10;var xFrom=this.from.x;var yFrom=this.from.y;var xTo=this.to.x;var yTo=this.to.y;var xObj=obj.left;var yObj=obj.top;var dist=this.edgeType.getDistanceToEdge(xFrom,yFrom,xTo,yTo,xObj,yObj);return dist<distMax}else{return false}}},{key:\"_rotateForLabelAlignment\",value:function _rotateForLabelAlignment(ctx){var dy=this.from.y-this.to.y;var dx=this.from.x-this.to.x;var angleInDegrees=Math.atan2(dy,dx);if(angleInDegrees<-1&&dx<0||angleInDegrees>0&&dx<0){angleInDegrees=angleInDegrees+Math.PI}ctx.rotate(angleInDegrees)}},{key:\"_pointOnCircle\",value:function _pointOnCircle(x,y,radius,percentage){var angle=percentage*2*Math.PI;return{x:x+radius*Math.cos(angle),y:y-radius*Math.sin(angle)}}},{key:\"select\",value:function select(){this.selected=true}},{key:\"unselect\",value:function unselect(){this.selected=false}}],[{key:\"parseOptions\",value:function parseOptions(parentOptions,newOptions){var allowDeletion=arguments[2]===undefined?false:arguments[2];var fields=[\"id\",\"from\",\"hidden\",\"hoverWidth\",\"label\",\"labelHighlightBold\",\"length\",\"line\",\"opacity\",\"physics\",\"selectionWidth\",\"selfReferenceSize\",\"to\",\"title\",\"value\",\"width\"];util.selectiveDeepExtend(fields,parentOptions,newOptions,allowDeletion);util.mergeOptions(parentOptions,newOptions,\"smooth\");util.mergeOptions(parentOptions,newOptions,\"shadow\");if(newOptions.dashes!==undefined&&newOptions.dashes!==null){parentOptions.dashes=newOptions.dashes}else if(allowDeletion===true&&newOptions.dashes===null){parentOptions.dashes=undefined;delete parentOptions.dashes}if(newOptions.scaling!==undefined&&newOptions.scaling!==null){if(newOptions.scaling.min!==undefined){parentOptions.scaling.min=newOptions.scaling.min}if(newOptions.scaling.max!==undefined){parentOptions.scaling.max=newOptions.scaling.max}util.mergeOptions(parentOptions.scaling,newOptions.scaling,\"label\")}else if(allowDeletion===true&&newOptions.scaling===null){parentOptions.scaling=undefined;delete parentOptions.scaling}if(newOptions.arrows!==undefined&&newOptions.arrows!==null){if(typeof newOptions.arrows===\"string\"){var arrows=newOptions.arrows.toLowerCase();if(arrows.indexOf(\"to\")!=-1){parentOptions.arrows.to.enabled=true}if(arrows.indexOf(\"middle\")!=-1){parentOptions.arrows.middle.enabled=true}if(arrows.indexOf(\"from\")!=-1){parentOptions.arrows.from.enabled=true}}else if(typeof newOptions.arrows===\"object\"){util.mergeOptions(parentOptions.arrows,newOptions.arrows,\"to\");util.mergeOptions(parentOptions.arrows,newOptions.arrows,\"middle\");util.mergeOptions(parentOptions.arrows,newOptions.arrows,\"from\")}else{throw new Error(\"The arrow newOptions can only be an object or a string. Refer to the documentation. You used:\"+JSON.stringify(newOptions.arrows))}}else if(allowDeletion===true&&newOptions.arrows===null){parentOptions.arrows=undefined;delete parentOptions.arrows}if(newOptions.color!==undefined&&newOptions.color!==null){if(util.isString(newOptions.color)){parentOptions.color.color=newOptions.color;parentOptions.color.highlight=newOptions.color;parentOptions.color.hover=newOptions.color;parentOptions.color.inherit=false}else{var colorsDefined=false;if(newOptions.color.color!==undefined){parentOptions.color.color=newOptions.color.color;colorsDefined=true}if(newOptions.color.highlight!==undefined){parentOptions.color.highlight=newOptions.color.highlight;colorsDefined=true}if(newOptions.color.hover!==undefined){parentOptions.color.hover=newOptions.color.hover;colorsDefined=true}if(newOptions.color.inherit!==undefined){parentOptions.color.inherit=newOptions.color.inherit}if(newOptions.color.opacity!==undefined){parentOptions.color.opacity=Math.min(1,Math.max(0,newOptions.color.opacity))}if(newOptions.color.inherit===undefined&&colorsDefined===true){parentOptions.color.inherit=false}}}else if(allowDeletion===true&&newOptions.color===null){parentOptions.color=undefined;delete parentOptions.color}if(newOptions.font!==undefined){_sharedLabel2[\"default\"].parseOptions(parentOptions.font,newOptions)}}}]);return Edge}();exports[\"default\"]=Edge;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilBezierEdgeBase=__webpack_require__(84);var _utilBezierEdgeBase2=_interopRequireDefault(_utilBezierEdgeBase);var BezierEdgeDynamic=function(_BezierEdgeBase){function BezierEdgeDynamic(options,body,labelModule){_classCallCheck(this,BezierEdgeDynamic);_get(Object.getPrototypeOf(BezierEdgeDynamic.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(BezierEdgeDynamic,_BezierEdgeBase);_createClass(BezierEdgeDynamic,[{key:\"setOptions\",value:function setOptions(options){this.options=options;this.id=this.options.id;this.setupSupportNode();this.connect()}},{key:\"connect\",value:function connect(){this.from=this.body.nodes[this.options.from];this.to=this.body.nodes[this.options.to];if(this.from===undefined||this.to===undefined||this.options.physics===false){this.via.setOptions({physics:false})}else{if(this.from.id===this.to.id){this.via.setOptions({physics:false})}else{this.via.setOptions({physics:true})}}}},{key:\"cleanup\",value:function cleanup(){if(this.via!==undefined){delete this.body.nodes[this.via.id];this.via=undefined;return true}return false}},{key:\"togglePhysics\",value:function togglePhysics(status){this.via.setOptions({physics:status});this.positionBezierNode()}},{key:\"setupSupportNode\",value:function setupSupportNode(){if(this.via===undefined){var nodeId=\"edgeId:\"+this.id;var node=this.body.functions.createNode({id:nodeId,shape:\"circle\",physics:true,hidden:true});this.body.nodes[nodeId]=node;this.via=node;this.via.parentEdgeId=this.id;this.positionBezierNode()}}},{key:\"positionBezierNode\",value:function positionBezierNode(){if(this.via!==undefined&&this.from!==undefined&&this.to!==undefined){this.via.x=.5*(this.from.x+this.to.x);this.via.y=.5*(this.from.y+this.to.y)}else if(this.via!==undefined){this.via.x=0;this.via.y=0}}},{key:\"_line\",value:function _line(ctx){ctx.beginPath();ctx.moveTo(this.from.x,this.from.y);ctx.quadraticCurveTo(this.via.x,this.via.y,this.to.x,this.to.y);this.enableShadow(ctx);ctx.stroke();this.disableShadow(ctx);return this.via}},{key:\"getPoint\",value:function getPoint(percentage){var t=percentage;var x=Math.pow(1-t,2)*this.from.x+2*t*(1-t)*this.via.x+Math.pow(t,2)*this.to.x;var y=Math.pow(1-t,2)*this.from.y+2*t*(1-t)*this.via.y+Math.pow(t,2)*this.to.y;return{x:x,y:y}}},{key:\"_findBorderPosition\",value:function _findBorderPosition(nearNode,ctx){return this._findBorderPositionBezier(nearNode,ctx,this.via)}},{key:\"_getDistanceToEdge\",value:function _getDistanceToEdge(x1,y1,x2,y2,x3,y3){return this._getDistanceToBezierEdge(x1,y1,x2,y2,x3,y3,this.via)}}]);return BezierEdgeDynamic}(_utilBezierEdgeBase2[\"default\"]);exports[\"default\"]=BezierEdgeDynamic;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x2,_x3,_x4){var _again=true;_function:while(_again){var object=_x2,property=_x3,receiver=_x4;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x2=parent;_x3=property;_x4=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _EdgeBase2=__webpack_require__(85);var _EdgeBase3=_interopRequireDefault(_EdgeBase2);\nvar BezierEdgeBase=function(_EdgeBase){function BezierEdgeBase(options,body,labelModule){_classCallCheck(this,BezierEdgeBase);_get(Object.getPrototypeOf(BezierEdgeBase.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(BezierEdgeBase,_EdgeBase);_createClass(BezierEdgeBase,[{key:\"_findBorderPositionBezier\",value:function _findBorderPositionBezier(nearNode,ctx){var viaNode=arguments[2]===undefined?this._getViaCoordinates():arguments[2];var maxIterations=10;var iteration=0;var low=0;var high=1;var pos,angle,distanceToBorder,distanceToPoint,difference;var threshold=.2;var node=this.to;var from=false;if(nearNode.id===this.from.id){node=this.from;from=true}while(low<=high&&iteration<maxIterations){var middle=(low+high)*.5;pos=this.getPoint(middle,viaNode);angle=Math.atan2(node.y-pos.y,node.x-pos.x);distanceToBorder=node.distanceToBorder(ctx,angle);distanceToPoint=Math.sqrt(Math.pow(pos.x-node.x,2)+Math.pow(pos.y-node.y,2));difference=distanceToBorder-distanceToPoint;if(Math.abs(difference)<threshold){break}else if(difference<0){if(from===false){low=middle}else{high=middle}}else{if(from===false){high=middle}else{low=middle}}iteration++}pos.t=middle;return pos}},{key:\"_getDistanceToBezierEdge\",value:function _getDistanceToBezierEdge(x1,y1,x2,y2,x3,y3,via){var xVia=undefined,yVia=undefined;xVia=via.x;yVia=via.y;var minDistance=1e9;var distance=undefined;var i=undefined,t=undefined,x=undefined,y=undefined;var lastX=x1;var lastY=y1;for(i=1;i<10;i++){t=.1*i;x=Math.pow(1-t,2)*x1+2*t*(1-t)*xVia+Math.pow(t,2)*x2;y=Math.pow(1-t,2)*y1+2*t*(1-t)*yVia+Math.pow(t,2)*y2;if(i>0){distance=this._getDistanceToLine(lastX,lastY,x,y,x3,y3);minDistance=distance<minDistance?distance:minDistance}lastX=x;lastY=y}return minDistance}}]);return BezierEdgeBase}(_EdgeBase3[\"default\"]);exports[\"default\"]=BezierEdgeBase;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i[\"return\"])_i[\"return\"]()}finally{if(_d)throw _e}}return _arr}return function(arr,i){if(Array.isArray(arr)){return arr}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i)}else{throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}}();var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var util=__webpack_require__(7);var EdgeBase=function(){function EdgeBase(options,body,labelModule){_classCallCheck(this,EdgeBase);this.body=body;this.labelModule=labelModule;this.setOptions(options);this.colorDirty=true;this.color={};this.selectionWidth=2;this.hoverWidth=1.5}_createClass(EdgeBase,[{key:\"connect\",value:function connect(){this.from=this.body.nodes[this.options.from];this.to=this.body.nodes[this.options.to]}},{key:\"cleanup\",value:function cleanup(){return false}},{key:\"setOptions\",value:function setOptions(options){this.options=options;this.from=this.body.nodes[this.options.from];this.to=this.body.nodes[this.options.to];this.id=this.options.id}},{key:\"togglePhysics\",value:function togglePhysics(status){}},{key:\"drawLine\",value:function drawLine(ctx,selected,hover){ctx.strokeStyle=this.getColor(ctx,selected,hover);ctx.lineWidth=this.getLineWidth(selected,hover);var via=undefined;if(this.options.dashes!==false){via=this._drawDashedLine(ctx)}else{via=this._drawLine(ctx)}return via}},{key:\"_drawLine\",value:function _drawLine(ctx){var via=undefined;if(this.from!=this.to){via=this._line(ctx)}else{var _getCircleData2=this._getCircleData(ctx);var _getCircleData22=_slicedToArray(_getCircleData2,3);var x=_getCircleData22[0];var y=_getCircleData22[1];var radius=_getCircleData22[2];this._circle(ctx,x,y,radius)}return via}},{key:\"_drawDashedLine\",value:function _drawDashedLine(ctx){var via=undefined;ctx.lineCap=\"round\";var pattern=[5,5];if(Array.isArray(this.options.dashes)===true){pattern=this.options.dashes}if(ctx.setLineDash!==undefined){ctx.save();ctx.setLineDash(pattern);ctx.lineDashOffset=0;if(this.from!=this.to){via=this._line(ctx)}else{var _getCircleData3=this._getCircleData(ctx);var _getCircleData32=_slicedToArray(_getCircleData3,3);var x=_getCircleData32[0];var y=_getCircleData32[1];var radius=_getCircleData32[2];this._circle(ctx,x,y,radius)}ctx.setLineDash([0]);ctx.lineDashOffset=0;ctx.restore()}else{if(this.from!=this.to){ctx.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,pattern)}else{var _getCircleData4=this._getCircleData(ctx);var _getCircleData42=_slicedToArray(_getCircleData4,3);var x=_getCircleData42[0];var y=_getCircleData42[1];var radius=_getCircleData42[2];this._circle(ctx,x,y,radius)}this.enableShadow(ctx);ctx.stroke();this.disableShadow(ctx)}return via}},{key:\"findBorderPosition\",value:function findBorderPosition(nearNode,ctx,options){if(this.from!=this.to){return this._findBorderPosition(nearNode,ctx,options)}else{return this._findBorderPositionCircle(nearNode,ctx,options)}}},{key:\"findBorderPositions\",value:function findBorderPositions(ctx){var from={};var to={};if(this.from!=this.to){from=this._findBorderPosition(this.from,ctx);to=this._findBorderPosition(this.to,ctx)}else{var _getCircleData5=this._getCircleData(ctx);var _getCircleData52=_slicedToArray(_getCircleData5,3);var x=_getCircleData52[0];var y=_getCircleData52[1];var radius=_getCircleData52[2];from=this._findBorderPositionCircle(this.from,ctx,{x:x,y:y,low:.25,high:.6,direction:-1});to=this._findBorderPositionCircle(this.from,ctx,{x:x,y:y,low:.6,high:.8,direction:1})}return{from:from,to:to}}},{key:\"_getCircleData\",value:function _getCircleData(ctx){var x=undefined,y=undefined;var node=this.from;var radius=this.options.selfReferenceSize;if(ctx!==undefined){if(node.shape.width===undefined){node.shape.resize(ctx)}}if(node.shape.width>node.shape.height){x=node.x+node.shape.width*.5;y=node.y-radius}else{x=node.x+radius;y=node.y-node.shape.height*.5}return[x,y,radius]}},{key:\"_pointOnCircle\",value:function _pointOnCircle(x,y,radius,percentage){var angle=percentage*2*Math.PI;return{x:x+radius*Math.cos(angle),y:y-radius*Math.sin(angle)}}},{key:\"_findBorderPositionCircle\",value:function _findBorderPositionCircle(node,ctx,options){var x=options.x;var y=options.y;var low=options.low;var high=options.high;var direction=options.direction;var maxIterations=10;var iteration=0;var radius=this.options.selfReferenceSize;var pos=undefined,angle=undefined,distanceToBorder=undefined,distanceToPoint=undefined,difference=undefined;var threshold=.05;var middle=(low+high)*.5;while(low<=high&&iteration<maxIterations){middle=(low+high)*.5;pos=this._pointOnCircle(x,y,radius,middle);angle=Math.atan2(node.y-pos.y,node.x-pos.x);distanceToBorder=node.distanceToBorder(ctx,angle);distanceToPoint=Math.sqrt(Math.pow(pos.x-node.x,2)+Math.pow(pos.y-node.y,2));difference=distanceToBorder-distanceToPoint;if(Math.abs(difference)<threshold){break}else if(difference>0){if(direction>0){low=middle}else{high=middle}}else{if(direction>0){high=middle}else{low=middle}}iteration++}pos.t=middle;return pos}},{key:\"getLineWidth\",value:function getLineWidth(selected,hover){if(selected===true){return Math.max(this.selectionWidth,.3/this.body.view.scale)}else{if(hover===true){return Math.max(this.hoverWidth,.3/this.body.view.scale)}else{return Math.max(this.options.width,.3/this.body.view.scale)}}}},{key:\"getColor\",value:function getColor(ctx,selected,hover){var colorOptions=this.options.color;if(colorOptions.inherit!==false){if(colorOptions.inherit===\"both\"&&this.from.id!==this.to.id){var grd=ctx.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y);var fromColor=undefined,toColor=undefined;fromColor=this.from.options.color.highlight.border;toColor=this.to.options.color.highlight.border;if(this.from.selected===false&&this.to.selected===false){fromColor=util.overrideOpacity(this.from.options.color.border,this.options.color.opacity);toColor=util.overrideOpacity(this.to.options.color.border,this.options.color.opacity)}else if(this.from.selected===true&&this.to.selected===false){toColor=this.to.options.color.border}else if(this.from.selected===false&&this.to.selected===true){fromColor=this.from.options.color.border}grd.addColorStop(0,fromColor);grd.addColorStop(1,toColor);return grd}if(this.colorDirty===true){if(colorOptions.inherit===\"to\"){this.color.highlight=this.to.options.color.highlight.border;this.color.hover=this.to.options.color.hover.border;this.color.color=util.overrideOpacity(this.to.options.color.border,colorOptions.opacity)}else{this.color.highlight=this.from.options.color.highlight.border;this.color.hover=this.from.options.color.hover.border;this.color.color=util.overrideOpacity(this.from.options.color.border,colorOptions.opacity)}}}else if(this.colorDirty===true){this.color.highlight=colorOptions.highlight;this.color.hover=colorOptions.hover;this.color.color=util.overrideOpacity(colorOptions.color,colorOptions.opacity)}this.colorDirty=false;if(selected===true){return this.color.highlight}else if(hover===true){return this.color.hover}else{return this.color.color}}},{key:\"_circle\",value:function _circle(ctx,x,y,radius){this.enableShadow(ctx);ctx.beginPath();ctx.arc(x,y,radius,0,2*Math.PI,false);ctx.stroke();this.disableShadow(ctx)}},{key:\"getDistanceToEdge\",value:function getDistanceToEdge(x1,y1,x2,y2,x3,y3,via){var returnValue=0;if(this.from!=this.to){returnValue=this._getDistanceToEdge(x1,y1,x2,y2,x3,y3,via)}else{var _getCircleData6=this._getCircleData();var _getCircleData62=_slicedToArray(_getCircleData6,3);var x=_getCircleData62[0];var y=_getCircleData62[1];var radius=_getCircleData62[2];var dx=x-x3;var dy=y-y3;returnValue=Math.abs(Math.sqrt(dx*dx+dy*dy)-radius)}if(this.labelModule.size.left<x3&&this.labelModule.size.left+this.labelModule.size.width>x3&&this.labelModule.size.top<y3&&this.labelModule.size.top+this.labelModule.size.height>y3){return 0}else{return returnValue}}},{key:\"_getDistanceToLine\",value:function _getDistanceToLine(x1,y1,x2,y2,x3,y3){var px=x2-x1;var py=y2-y1;var something=px*px+py*py;var u=((x3-x1)*px+(y3-y1)*py)/something;if(u>1){u=1}else if(u<0){u=0}var x=x1+u*px;var y=y1+u*py;var dx=x-x3;var dy=y-y3;return Math.sqrt(dx*dx+dy*dy)}},{key:\"drawArrowHead\",value:function drawArrowHead(ctx,position,viaNode,selected,hover){ctx.strokeStyle=this.getColor(ctx,selected,hover);ctx.fillStyle=ctx.strokeStyle;ctx.lineWidth=this.getLineWidth(selected,hover);var angle=undefined;var length=undefined;var arrowPos=undefined;var node1=undefined;var node2=undefined;var guideOffset=undefined;var scaleFactor=undefined;if(position===\"from\"){node1=this.from;node2=this.to;guideOffset=.1;scaleFactor=this.options.arrows.from.scaleFactor}else if(position===\"to\"){node1=this.to;node2=this.from;guideOffset=-.1;scaleFactor=this.options.arrows.to.scaleFactor}else{node1=this.to;node2=this.from;scaleFactor=this.options.arrows.middle.scaleFactor}if(node1!=node2){if(position!==\"middle\"){if(this.options.smooth.enabled===true){arrowPos=this.findBorderPosition(node1,ctx,{via:viaNode});var guidePos=this.getPoint(Math.max(0,Math.min(1,arrowPos.t+guideOffset)),viaNode);angle=Math.atan2(arrowPos.y-guidePos.y,arrowPos.x-guidePos.x)}else{angle=Math.atan2(node1.y-node2.y,node1.x-node2.x);arrowPos=this.findBorderPosition(node1,ctx)}}else{angle=Math.atan2(node1.y-node2.y,node1.x-node2.x);arrowPos=this.getPoint(.6,viaNode)}length=(10+5*this.options.width)*scaleFactor;ctx.arrow(arrowPos.x,arrowPos.y,angle,length);this.enableShadow(ctx);ctx.fill();this.disableShadow(ctx);ctx.stroke()}else{var _angle=undefined,point=undefined;var _getCircleData7=this._getCircleData(ctx);var _getCircleData72=_slicedToArray(_getCircleData7,3);var x=_getCircleData72[0];var y=_getCircleData72[1];var radius=_getCircleData72[2];if(position===\"from\"){point=this.findBorderPosition(this.from,ctx,{x:x,y:y,low:.25,high:.6,direction:-1});_angle=point.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI}else if(position===\"to\"){point=this.findBorderPosition(this.from,ctx,{x:x,y:y,low:.6,high:1,direction:1});_angle=point.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI}else{point=this._pointOnCircle(x,y,radius,.175);_angle=3.9269908169872414}var _length=(10+5*this.options.width)*scaleFactor;ctx.arrow(point.x,point.y,_angle,_length);this.enableShadow(ctx);ctx.fill();this.disableShadow(ctx);ctx.stroke()}}},{key:\"enableShadow\",value:function enableShadow(ctx){if(this.options.shadow.enabled===true){ctx.shadowColor=\"rgba(0,0,0,0.5)\";ctx.shadowBlur=this.options.shadow.size;ctx.shadowOffsetX=this.options.shadow.x;ctx.shadowOffsetY=this.options.shadow.y}}},{key:\"disableShadow\",value:function disableShadow(ctx){if(this.options.shadow.enabled===true){ctx.shadowColor=\"rgba(0,0,0,0)\";ctx.shadowBlur=0;ctx.shadowOffsetX=0;ctx.shadowOffsetY=0}}}]);return EdgeBase}();exports[\"default\"]=EdgeBase;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x4,_x5,_x6){var _again=true;_function:while(_again){var object=_x4,property=_x5,receiver=_x6;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x4=parent;_x5=property;_x6=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilBezierEdgeBase=__webpack_require__(84);var _utilBezierEdgeBase2=_interopRequireDefault(_utilBezierEdgeBase);var BezierEdgeStatic=function(_BezierEdgeBase){function BezierEdgeStatic(options,body,labelModule){_classCallCheck(this,BezierEdgeStatic);_get(Object.getPrototypeOf(BezierEdgeStatic.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(BezierEdgeStatic,_BezierEdgeBase);_createClass(BezierEdgeStatic,[{key:\"_line\",value:function _line(ctx){ctx.beginPath();ctx.moveTo(this.from.x,this.from.y);var via=this._getViaCoordinates();var returnValue=via;if(via.x===undefined){ctx.lineTo(this.to.x,this.to.y);returnValue=undefined}else{ctx.quadraticCurveTo(via.x,via.y,this.to.x,this.to.y)}this.enableShadow(ctx);ctx.stroke();this.disableShadow(ctx);return returnValue}},{key:\"_getViaCoordinates\",value:function _getViaCoordinates(){var xVia=undefined;var yVia=undefined;var factor=this.options.smooth.roundness;var type=this.options.smooth.type;var dx=Math.abs(this.from.x-this.to.x);var dy=Math.abs(this.from.y-this.to.y);if(type===\"discrete\"||type===\"diagonalCross\"){if(Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)){if(this.from.y>=this.to.y){if(this.from.x<=this.to.x){xVia=this.from.x+factor*dy;yVia=this.from.y-factor*dy}else if(this.from.x>this.to.x){xVia=this.from.x-factor*dy;yVia=this.from.y-factor*dy}}else if(this.from.y<this.to.y){if(this.from.x<=this.to.x){xVia=this.from.x+factor*dy;yVia=this.from.y+factor*dy}else if(this.from.x>this.to.x){xVia=this.from.x-factor*dy;yVia=this.from.y+factor*dy}}if(type===\"discrete\"){xVia=dx<factor*dy?this.from.x:xVia}}else if(Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)){if(this.from.y>=this.to.y){if(this.from.x<=this.to.x){xVia=this.from.x+factor*dx;yVia=this.from.y-factor*dx}else if(this.from.x>this.to.x){xVia=this.from.x-factor*dx;yVia=this.from.y-factor*dx}}else if(this.from.y<this.to.y){if(this.from.x<=this.to.x){xVia=this.from.x+factor*dx;yVia=this.from.y+factor*dx}else if(this.from.x>this.to.x){xVia=this.from.x-factor*dx;yVia=this.from.y+factor*dx}}if(type===\"discrete\"){yVia=dy<factor*dx?this.from.y:yVia}}}else if(type===\"straightCross\"){if(Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)){xVia=this.from.x;if(this.from.y<this.to.y){yVia=this.to.y-(1-factor)*dy}else{yVia=this.to.y+(1-factor)*dy}}else if(Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)){if(this.from.x<this.to.x){xVia=this.to.x-(1-factor)*dx}else{xVia=this.to.x+(1-factor)*dx}yVia=this.from.y}}else if(type===\"horizontal\"){if(this.from.x<this.to.x){xVia=this.to.x-(1-factor)*dx}else{xVia=this.to.x+(1-factor)*dx}yVia=this.from.y}else if(type===\"vertical\"){xVia=this.from.x;if(this.from.y<this.to.y){yVia=this.to.y-(1-factor)*dy}else{yVia=this.to.y+(1-factor)*dy}}else if(type===\"curvedCW\"){dx=this.to.x-this.from.x;dy=this.from.y-this.to.y;var radius=Math.sqrt(dx*dx+dy*dy);var pi=Math.PI;var originalAngle=Math.atan2(dy,dx);var myAngle=(originalAngle+(factor*.5+.5)*pi)%(2*pi);xVia=this.from.x+(factor*.5+.5)*radius*Math.sin(myAngle);yVia=this.from.y+(factor*.5+.5)*radius*Math.cos(myAngle)}else if(type===\"curvedCCW\"){dx=this.to.x-this.from.x;dy=this.from.y-this.to.y;var radius=Math.sqrt(dx*dx+dy*dy);var pi=Math.PI;var originalAngle=Math.atan2(dy,dx);var myAngle=(originalAngle+(-factor*.5+.5)*pi)%(2*pi);xVia=this.from.x+(factor*.5+.5)*radius*Math.sin(myAngle);yVia=this.from.y+(factor*.5+.5)*radius*Math.cos(myAngle)}else{if(Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)){if(this.from.y>=this.to.y){if(this.from.x<=this.to.x){xVia=this.from.x+factor*dy;yVia=this.from.y-factor*dy;xVia=this.to.x<xVia?this.to.x:xVia}else if(this.from.x>this.to.x){xVia=this.from.x-factor*dy;yVia=this.from.y-factor*dy;xVia=this.to.x>xVia?this.to.x:xVia}}else if(this.from.y<this.to.y){if(this.from.x<=this.to.x){xVia=this.from.x+factor*dy;yVia=this.from.y+factor*dy;xVia=this.to.x<xVia?this.to.x:xVia}else if(this.from.x>this.to.x){xVia=this.from.x-factor*dy;yVia=this.from.y+factor*dy;xVia=this.to.x>xVia?this.to.x:xVia}}}else if(Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)){if(this.from.y>=this.to.y){if(this.from.x<=this.to.x){xVia=this.from.x+factor*dx;yVia=this.from.y-factor*dx;yVia=this.to.y>yVia?this.to.y:yVia}else if(this.from.x>this.to.x){xVia=this.from.x-factor*dx;yVia=this.from.y-factor*dx;yVia=this.to.y>yVia?this.to.y:yVia}}else if(this.from.y<this.to.y){if(this.from.x<=this.to.x){xVia=this.from.x+factor*dx;yVia=this.from.y+factor*dx;yVia=this.to.y<yVia?this.to.y:yVia}else if(this.from.x>this.to.x){xVia=this.from.x-factor*dx;yVia=this.from.y+factor*dx;yVia=this.to.y<yVia?this.to.y:yVia}}}}return{x:xVia,y:yVia}}},{key:\"_findBorderPosition\",value:function _findBorderPosition(nearNode,ctx){var options=arguments[2]===undefined?{}:arguments[2];return this._findBorderPositionBezier(nearNode,ctx,options.via)}},{key:\"_getDistanceToEdge\",value:function _getDistanceToEdge(x1,y1,x2,y2,x3,y3){var via=arguments[6]===undefined?this._getViaCoordinates():arguments[6];return this._getDistanceToBezierEdge(x1,y1,x2,y2,x3,y3,via)}},{key:\"getPoint\",value:function getPoint(percentage){var via=arguments[1]===undefined?this._getViaCoordinates():arguments[1];var t=percentage;var x=Math.pow(1-t,2)*this.from.x+2*t*(1-t)*via.x+Math.pow(t,2)*this.to.x;var y=Math.pow(1-t,2)*this.from.y+2*t*(1-t)*via.y+Math.pow(t,2)*this.to.y;return{x:x,y:y}}}]);return BezierEdgeStatic}(_utilBezierEdgeBase2[\"default\"]);exports[\"default\"]=BezierEdgeStatic;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _utilEdgeBase=__webpack_require__(85);var _utilEdgeBase2=_interopRequireDefault(_utilEdgeBase);var StraightEdge=function(_EdgeBase){function StraightEdge(options,body,labelModule){_classCallCheck(this,StraightEdge);_get(Object.getPrototypeOf(StraightEdge.prototype),\"constructor\",this).call(this,options,body,labelModule)}_inherits(StraightEdge,_EdgeBase);_createClass(StraightEdge,[{key:\"_line\",value:function _line(ctx){ctx.beginPath();ctx.moveTo(this.from.x,this.from.y);ctx.lineTo(this.to.x,this.to.y);this.enableShadow(ctx);ctx.stroke();this.disableShadow(ctx);return undefined}},{key:\"getPoint\",value:function getPoint(percentage){return{x:(1-percentage)*this.from.x+percentage*this.to.x,y:(1-percentage)*this.from.y+percentage*this.to.y}}},{key:\"_findBorderPosition\",value:function _findBorderPosition(nearNode,ctx){var node1=this.to;var node2=this.from;if(nearNode.id===this.from.id){node1=this.from;node2=this.to}var angle=Math.atan2(node1.y-node2.y,node1.x-node2.x);var dx=node1.x-node2.x;var dy=node1.y-node2.y;var edgeSegmentLength=Math.sqrt(dx*dx+dy*dy);var toBorderDist=nearNode.distanceToBorder(ctx,angle);var toBorderPoint=(edgeSegmentLength-toBorderDist)/edgeSegmentLength;var borderPos={};borderPos.x=(1-toBorderPoint)*node2.x+toBorderPoint*node1.x;borderPos.y=(1-toBorderPoint)*node2.y+toBorderPoint*node1.y;return borderPos}},{key:\"_getDistanceToEdge\",value:function _getDistanceToEdge(x1,y1,x2,y2,x3,y3){return this._getDistanceToLine(x1,y1,x2,y2,x3,y3)}}]);return StraightEdge}(_utilEdgeBase2[\"default\"]);exports[\"default\"]=StraightEdge;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var _componentsPhysicsBarnesHutSolver=__webpack_require__(89);var _componentsPhysicsBarnesHutSolver2=_interopRequireDefault(_componentsPhysicsBarnesHutSolver);var _componentsPhysicsRepulsionSolver=__webpack_require__(90);var _componentsPhysicsRepulsionSolver2=_interopRequireDefault(_componentsPhysicsRepulsionSolver);var _componentsPhysicsHierarchicalRepulsionSolver=__webpack_require__(91);var _componentsPhysicsHierarchicalRepulsionSolver2=_interopRequireDefault(_componentsPhysicsHierarchicalRepulsionSolver);var _componentsPhysicsSpringSolver=__webpack_require__(92);var _componentsPhysicsSpringSolver2=_interopRequireDefault(_componentsPhysicsSpringSolver);var _componentsPhysicsHierarchicalSpringSolver=__webpack_require__(93);var _componentsPhysicsHierarchicalSpringSolver2=_interopRequireDefault(_componentsPhysicsHierarchicalSpringSolver);var _componentsPhysicsCentralGravitySolver=__webpack_require__(94);var _componentsPhysicsCentralGravitySolver2=_interopRequireDefault(_componentsPhysicsCentralGravitySolver);var _componentsPhysicsFA2BasedRepulsionSolver=__webpack_require__(95);var _componentsPhysicsFA2BasedRepulsionSolver2=_interopRequireDefault(_componentsPhysicsFA2BasedRepulsionSolver);var _componentsPhysicsFA2BasedCentralGravitySolver=__webpack_require__(96);var _componentsPhysicsFA2BasedCentralGravitySolver2=_interopRequireDefault(_componentsPhysicsFA2BasedCentralGravitySolver);var util=__webpack_require__(7);var PhysicsEngine=function(){function PhysicsEngine(body){_classCallCheck(this,PhysicsEngine);this.body=body;this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}};this.physicsEnabled=true;this.simulationInterval=1e3/60;this.requiresTimeout=true;this.previousStates={};this.freezeCache={};this.renderTimer=undefined;this.initialStabilizationEmitted=false;this.stabilized=false;this.startedStabilization=false;this.stabilizationIterations=0;this.ready=false;this.options={};this.defaultOptions={enabled:true,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.1,solver:\"barnesHut\",stabilization:{enabled:true,iterations:1e3,updateInterval:50,onlyDynamicEdges:false,fit:true},timestep:.5};util.extend(this.options,this.defaultOptions);this.bindEventListeners()}_createClass(PhysicsEngine,[{key:\"bindEventListeners\",value:function bindEventListeners(){var _this=this;this.body.emitter.on(\"initPhysics\",function(){_this.initPhysics()});this.body.emitter.on(\"resetPhysics\",function(){_this.stopSimulation();_this.ready=false});this.body.emitter.on(\"disablePhysics\",function(){_this.physicsEnabled=false;_this.stopSimulation()});this.body.emitter.on(\"restorePhysics\",function(){_this.setOptions(_this.options);if(_this.ready===true){_this.startSimulation()}});this.body.emitter.on(\"startSimulation\",function(){if(_this.ready===true){_this.startSimulation()}});this.body.emitter.on(\"stopSimulation\",function(){_this.stopSimulation()});this.body.emitter.on(\"destroy\",function(){_this.stopSimulation(false);_this.body.emitter.off()})}},{key:\"setOptions\",value:function setOptions(options){if(options!==undefined){if(options===false){this.options.enabled=false;this.physicsEnabled=false;this.stopSimulation()}else{this.physicsEnabled=true;util.selectiveNotDeepExtend([\"stabilization\"],this.options,options);util.mergeOptions(this.options,options,\"stabilization\");if(options.enabled===undefined){this.options.enabled=true}if(this.options.enabled===false){this.physicsEnabled=false;this.stopSimulation()}}}this.init()}},{key:\"init\",value:function init(){var options;if(this.options.solver===\"forceAtlas2Based\"){options=this.options.forceAtlas2Based;this.nodesSolver=new _componentsPhysicsFA2BasedRepulsionSolver2[\"default\"](this.body,this.physicsBody,options);this.edgesSolver=new _componentsPhysicsSpringSolver2[\"default\"](this.body,this.physicsBody,options);this.gravitySolver=new _componentsPhysicsFA2BasedCentralGravitySolver2[\"default\"](this.body,this.physicsBody,options)}else if(this.options.solver===\"repulsion\"){options=this.options.repulsion;this.nodesSolver=new _componentsPhysicsRepulsionSolver2[\"default\"](this.body,this.physicsBody,options);this.edgesSolver=new _componentsPhysicsSpringSolver2[\"default\"](this.body,this.physicsBody,options);this.gravitySolver=new _componentsPhysicsCentralGravitySolver2[\"default\"](this.body,this.physicsBody,options)}else if(this.options.solver===\"hierarchicalRepulsion\"){options=this.options.hierarchicalRepulsion;this.nodesSolver=new _componentsPhysicsHierarchicalRepulsionSolver2[\"default\"](this.body,this.physicsBody,options);this.edgesSolver=new _componentsPhysicsHierarchicalSpringSolver2[\"default\"](this.body,this.physicsBody,options);this.gravitySolver=new _componentsPhysicsCentralGravitySolver2[\"default\"](this.body,this.physicsBody,options)}else{options=this.options.barnesHut;this.nodesSolver=new _componentsPhysicsBarnesHutSolver2[\"default\"](this.body,this.physicsBody,options);this.edgesSolver=new _componentsPhysicsSpringSolver2[\"default\"](this.body,this.physicsBody,options);this.gravitySolver=new _componentsPhysicsCentralGravitySolver2[\"default\"](this.body,this.physicsBody,options)}this.modelOptions=options}},{key:\"initPhysics\",value:function initPhysics(){if(this.physicsEnabled===true&&this.options.enabled===true){if(this.options.stabilization.enabled===true){this.stabilize()}else{this.stabilized=false;this.ready=true;this.body.emitter.emit(\"fit\",{},true);this.startSimulation()}}else{this.ready=true;this.body.emitter.emit(\"fit\")}}},{key:\"startSimulation\",value:function startSimulation(){if(this.physicsEnabled===true&&this.options.enabled===true){this.stabilized=false;this.body.emitter.emit(\"_resizeNodes\");if(this.viewFunction===undefined){this.viewFunction=this.simulationStep.bind(this);this.body.emitter.on(\"initRedraw\",this.viewFunction);this.body.emitter.emit(\"_startRendering\")}}else{this.body.emitter.emit(\"_redraw\")}}},{key:\"stopSimulation\",value:function stopSimulation(){var emit=arguments[0]===undefined?true:arguments[0];this.stabilized=true;if(emit===true){this._emitStabilized()}if(this.viewFunction!==undefined){this.body.emitter.off(\"initRedraw\",this.viewFunction);this.viewFunction=undefined;if(emit===true){this.body.emitter.emit(\"_stopRendering\")}}}},{key:\"simulationStep\",value:function simulationStep(){var startTime=Date.now();this.physicsTick();var physicsTime=Date.now()-startTime;if((physicsTime<.4*this.simulationInterval||this.runDoubleSpeed===true)&&this.stabilized===false){\nthis.physicsTick();this.runDoubleSpeed=true}if(this.stabilized===true){if(this.stabilizationIterations>1){this.startedStabilization=false}this.stopSimulation()}}},{key:\"_emitStabilized\",value:function _emitStabilized(){var _this2=this;if(this.stabilizationIterations>1||this.initialStabilizationEmitted===false){this.initialStabilizationEmitted=true;setTimeout(function(){_this2.body.emitter.emit(\"stabilized\",{iterations:_this2.stabilizationIterations});_this2.stabilizationIterations=0},0)}}},{key:\"physicsTick\",value:function physicsTick(){if(this.stabilized===false){this.calculateForces();this.stabilized=this.moveNodes();if(this.stabilized===true){this.revert()}else{if(this.startedStabilization===false){this.body.emitter.emit(\"startStabilizing\");this.startedStabilization=true}}this.stabilizationIterations++}}},{key:\"updatePhysicsData\",value:function updatePhysicsData(){this.physicsBody.forces={};this.physicsBody.physicsNodeIndices=[];this.physicsBody.physicsEdgeIndices=[];var nodes=this.body.nodes;var edges=this.body.edges;for(var nodeId in nodes){if(nodes.hasOwnProperty(nodeId)){if(nodes[nodeId].options.physics===true){this.physicsBody.physicsNodeIndices.push(nodeId)}}}for(var edgeId in edges){if(edges.hasOwnProperty(edgeId)){if(edges[edgeId].options.physics===true){this.physicsBody.physicsEdgeIndices.push(edgeId)}}}for(var i=0;i<this.physicsBody.physicsNodeIndices.length;i++){var nodeId=this.physicsBody.physicsNodeIndices[i];this.physicsBody.forces[nodeId]={x:0,y:0};if(this.physicsBody.velocities[nodeId]===undefined){this.physicsBody.velocities[nodeId]={x:0,y:0}}}for(var nodeId in this.physicsBody.velocities){if(nodes[nodeId]===undefined){delete this.physicsBody.velocities[nodeId]}}}},{key:\"revert\",value:function revert(){var nodeIds=Object.keys(this.previousStates);var nodes=this.body.nodes;var velocities=this.physicsBody.velocities;for(var i=0;i<nodeIds.length;i++){var nodeId=nodeIds[i];if(nodes[nodeId]!==undefined){if(nodes[nodeId].options.physics===true){velocities[nodeId].x=this.previousStates[nodeId].vx;velocities[nodeId].y=this.previousStates[nodeId].vy;nodes[nodeId].x=this.previousStates[nodeId].x;nodes[nodeId].y=this.previousStates[nodeId].y}}else{delete this.previousStates[nodeId]}}}},{key:\"moveNodes\",value:function moveNodes(){var nodesPresent=false;var nodeIndices=this.physicsBody.physicsNodeIndices;var maxVelocity=this.options.maxVelocity?this.options.maxVelocity:1e9;var stabilized=true;var vminCorrected=this.options.minVelocity/Math.max(this.body.view.scale,.05);for(var i=0;i<nodeIndices.length;i++){var nodeId=nodeIndices[i];var nodeVelocity=this._performStep(nodeId,maxVelocity);stabilized=nodeVelocity<vminCorrected&&stabilized===true;nodesPresent=true}if(nodesPresent===true){if(vminCorrected>.5*this.options.maxVelocity){return false}else{return stabilized}}return true}},{key:\"_performStep\",value:function _performStep(nodeId,maxVelocity){var node=this.body.nodes[nodeId];var timestep=this.options.timestep;var forces=this.physicsBody.forces;var velocities=this.physicsBody.velocities;this.previousStates[nodeId]={x:node.x,y:node.y,vx:velocities[nodeId].x,vy:velocities[nodeId].y};if(node.options.fixed.x===false){var dx=this.modelOptions.damping*velocities[nodeId].x;var ax=(forces[nodeId].x-dx)/node.options.mass;velocities[nodeId].x+=ax*timestep;velocities[nodeId].x=Math.abs(velocities[nodeId].x)>maxVelocity?velocities[nodeId].x>0?maxVelocity:-maxVelocity:velocities[nodeId].x;node.x+=velocities[nodeId].x*timestep}else{forces[nodeId].x=0;velocities[nodeId].x=0}if(node.options.fixed.y===false){var dy=this.modelOptions.damping*velocities[nodeId].y;var ay=(forces[nodeId].y-dy)/node.options.mass;velocities[nodeId].y+=ay*timestep;velocities[nodeId].y=Math.abs(velocities[nodeId].y)>maxVelocity?velocities[nodeId].y>0?maxVelocity:-maxVelocity:velocities[nodeId].y;node.y+=velocities[nodeId].y*timestep}else{forces[nodeId].y=0;velocities[nodeId].y=0}var totalVelocity=Math.sqrt(Math.pow(velocities[nodeId].x,2)+Math.pow(velocities[nodeId].y,2));return totalVelocity}},{key:\"calculateForces\",value:function calculateForces(){this.gravitySolver.solve();this.nodesSolver.solve();this.edgesSolver.solve()}},{key:\"_freezeNodes\",value:function _freezeNodes(){var nodes=this.body.nodes;for(var id in nodes){if(nodes.hasOwnProperty(id)){if(nodes[id].x&&nodes[id].y){this.freezeCache[id]={x:nodes[id].options.fixed.x,y:nodes[id].options.fixed.y};nodes[id].options.fixed.x=true;nodes[id].options.fixed.y=true}}}}},{key:\"_restoreFrozenNodes\",value:function _restoreFrozenNodes(){var nodes=this.body.nodes;for(var id in nodes){if(nodes.hasOwnProperty(id)){if(this.freezeCache[id]!==undefined){nodes[id].options.fixed.x=this.freezeCache[id].x;nodes[id].options.fixed.y=this.freezeCache[id].y}}}this.freezeCache={}}},{key:\"stabilize\",value:function stabilize(){var _this3=this;var iterations=arguments[0]===undefined?this.options.stabilization.iterations:arguments[0];if(typeof iterations!==\"number\"){console.log(\"The stabilize method needs a numeric amount of iterations. Switching to default: \",this.options.stabilization.iterations);iterations=this.options.stabilization.iterations}if(this.physicsBody.physicsNodeIndices.length===0){this.ready=true;return}this.body.emitter.emit(\"_resizeNodes\");this.stopSimulation();this.stabilized=false;this.body.emitter.emit(\"_blockRedraw\");this.targetIterations=iterations;if(this.options.stabilization.onlyDynamicEdges===true){this._freezeNodes()}this.stabilizationIterations=0;setTimeout(function(){return _this3._stabilizationBatch()},0)}},{key:\"_stabilizationBatch\",value:function _stabilizationBatch(){var count=0;while(this.stabilized===false&&count<this.options.stabilization.updateInterval&&this.stabilizationIterations<this.targetIterations){this.physicsTick();this.stabilizationIterations++;count++}if(this.stabilized===false&&this.stabilizationIterations<this.targetIterations){this.body.emitter.emit(\"stabilizationProgress\",{iterations:this.stabilizationIterations,total:this.targetIterations});setTimeout(this._stabilizationBatch.bind(this),0)}else{this._finalizeStabilization()}}},{key:\"_finalizeStabilization\",value:function _finalizeStabilization(){this.body.emitter.emit(\"_allowRedraw\");if(this.options.stabilization.fit===true){this.body.emitter.emit(\"fit\")}if(this.options.stabilization.onlyDynamicEdges===true){this._restoreFrozenNodes()}this.body.emitter.emit(\"stabilizationIterationsDone\");this.body.emitter.emit(\"_requestRedraw\");if(this.stabilized===true){this._emitStabilized()}else{this.startSimulation()}this.ready=true}}]);return PhysicsEngine}();exports[\"default\"]=PhysicsEngine;module.exports=exports[\"default\"]},function(module,exports){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var BarnesHutSolver=function(){function BarnesHutSolver(body,physicsBody,options){_classCallCheck(this,BarnesHutSolver);this.body=body;this.physicsBody=physicsBody;this.barnesHutTree;this.setOptions(options);this.randomSeed=5}_createClass(BarnesHutSolver,[{key:\"setOptions\",value:function setOptions(options){this.options=options;this.thetaInversed=1/this.options.theta;this.overlapAvoidanceFactor=1-Math.max(0,Math.min(1,this.options.avoidOverlap))}},{key:\"seededRandom\",value:function seededRandom(){var x=Math.sin(this.randomSeed++)*1e4;return x-Math.floor(x)}},{key:\"solve\",value:function solve(){if(this.options.gravitationalConstant!==0&&this.physicsBody.physicsNodeIndices.length>0){var node=undefined;var nodes=this.body.nodes;var nodeIndices=this.physicsBody.physicsNodeIndices;var nodeCount=nodeIndices.length;var barnesHutTree=this._formBarnesHutTree(nodes,nodeIndices);this.barnesHutTree=barnesHutTree;for(var i=0;i<nodeCount;i++){node=nodes[nodeIndices[i]];if(node.options.mass>0){this._getForceContribution(barnesHutTree.root.children.NW,node);this._getForceContribution(barnesHutTree.root.children.NE,node);this._getForceContribution(barnesHutTree.root.children.SW,node);this._getForceContribution(barnesHutTree.root.children.SE,node)}}}}},{key:\"_getForceContribution\",value:function _getForceContribution(parentBranch,node){if(parentBranch.childrenCount>0){var dx=undefined,dy=undefined,distance=undefined;dx=parentBranch.centerOfMass.x-node.x;dy=parentBranch.centerOfMass.y-node.y;distance=Math.sqrt(dx*dx+dy*dy);if(distance*parentBranch.calcSize>this.thetaInversed){this._calculateForces(distance,dx,dy,node,parentBranch)}else{if(parentBranch.childrenCount===4){this._getForceContribution(parentBranch.children.NW,node);this._getForceContribution(parentBranch.children.NE,node);this._getForceContribution(parentBranch.children.SW,node);this._getForceContribution(parentBranch.children.SE,node)}else{if(parentBranch.children.data.id!=node.id){this._calculateForces(distance,dx,dy,node,parentBranch)}}}}}},{key:\"_calculateForces\",value:function _calculateForces(distance,dx,dy,node,parentBranch){if(distance===0){distance=.1;dx=distance}if(this.overlapAvoidanceFactor<1){distance=Math.max(.1+this.overlapAvoidanceFactor*node.shape.radius,distance-node.shape.radius)}var gravityForce=this.options.gravitationalConstant*parentBranch.mass*node.options.mass/Math.pow(distance,3);var fx=dx*gravityForce;var fy=dy*gravityForce;this.physicsBody.forces[node.id].x+=fx;this.physicsBody.forces[node.id].y+=fy}},{key:\"_formBarnesHutTree\",value:function _formBarnesHutTree(nodes,nodeIndices){var node=undefined;var nodeCount=nodeIndices.length;var minX=nodes[nodeIndices[0]].x;var minY=nodes[nodeIndices[0]].y;var maxX=nodes[nodeIndices[0]].x;var maxY=nodes[nodeIndices[0]].y;for(var i=1;i<nodeCount;i++){var x=nodes[nodeIndices[i]].x;var y=nodes[nodeIndices[i]].y;if(nodes[nodeIndices[i]].options.mass>0){if(x<minX){minX=x}if(x>maxX){maxX=x}if(y<minY){minY=y}if(y>maxY){maxY=y}}}var sizeDiff=Math.abs(maxX-minX)-Math.abs(maxY-minY);if(sizeDiff>0){minY-=.5*sizeDiff;maxY+=.5*sizeDiff}else{minX+=.5*sizeDiff;maxX-=.5*sizeDiff}var minimumTreeSize=1e-5;var rootSize=Math.max(minimumTreeSize,Math.abs(maxX-minX));var halfRootSize=.5*rootSize;var centerX=.5*(minX+maxX),centerY=.5*(minY+maxY);var barnesHutTree={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:centerX-halfRootSize,maxX:centerX+halfRootSize,minY:centerY-halfRootSize,maxY:centerY+halfRootSize},size:rootSize,calcSize:1/rootSize,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(barnesHutTree.root);for(var i=0;i<nodeCount;i++){node=nodes[nodeIndices[i]];if(node.options.mass>0){this._placeInTree(barnesHutTree.root,node)}}return barnesHutTree}},{key:\"_updateBranchMass\",value:function _updateBranchMass(parentBranch,node){var totalMass=parentBranch.mass+node.options.mass;var totalMassInv=1/totalMass;parentBranch.centerOfMass.x=parentBranch.centerOfMass.x*parentBranch.mass+node.x*node.options.mass;parentBranch.centerOfMass.x*=totalMassInv;parentBranch.centerOfMass.y=parentBranch.centerOfMass.y*parentBranch.mass+node.y*node.options.mass;parentBranch.centerOfMass.y*=totalMassInv;parentBranch.mass=totalMass;var biggestSize=Math.max(Math.max(node.height,node.radius),node.width);parentBranch.maxWidth=parentBranch.maxWidth<biggestSize?biggestSize:parentBranch.maxWidth}},{key:\"_placeInTree\",value:function _placeInTree(parentBranch,node,skipMassUpdate){if(skipMassUpdate!=true||skipMassUpdate===undefined){this._updateBranchMass(parentBranch,node)}if(parentBranch.children.NW.range.maxX>node.x){if(parentBranch.children.NW.range.maxY>node.y){this._placeInRegion(parentBranch,node,\"NW\")}else{this._placeInRegion(parentBranch,node,\"SW\")}}else{if(parentBranch.children.NW.range.maxY>node.y){this._placeInRegion(parentBranch,node,\"NE\")}else{this._placeInRegion(parentBranch,node,\"SE\")}}}},{key:\"_placeInRegion\",value:function _placeInRegion(parentBranch,node,region){switch(parentBranch.children[region].childrenCount){case 0:parentBranch.children[region].children.data=node;parentBranch.children[region].childrenCount=1;this._updateBranchMass(parentBranch.children[region],node);break;case 1:if(parentBranch.children[region].children.data.x===node.x&&parentBranch.children[region].children.data.y===node.y){node.x+=this.seededRandom();node.y+=this.seededRandom()}else{this._splitBranch(parentBranch.children[region]);this._placeInTree(parentBranch.children[region],node)}break;case 4:this._placeInTree(parentBranch.children[region],node);break}}},{key:\"_splitBranch\",value:function _splitBranch(parentBranch){var containedNode=null;if(parentBranch.childrenCount===1){containedNode=parentBranch.children.data;parentBranch.mass=0;parentBranch.centerOfMass.x=0;parentBranch.centerOfMass.y=0}parentBranch.childrenCount=4;parentBranch.children.data=null;this._insertRegion(parentBranch,\"NW\");this._insertRegion(parentBranch,\"NE\");this._insertRegion(parentBranch,\"SW\");this._insertRegion(parentBranch,\"SE\");if(containedNode!=null){this._placeInTree(parentBranch,containedNode)}}},{key:\"_insertRegion\",value:function _insertRegion(parentBranch,region){var minX=undefined,maxX=undefined,minY=undefined,maxY=undefined;var childSize=.5*parentBranch.size;switch(region){case\"NW\":minX=parentBranch.range.minX;maxX=parentBranch.range.minX+childSize;minY=parentBranch.range.minY;maxY=parentBranch.range.minY+childSize;break;case\"NE\":minX=parentBranch.range.minX+childSize;maxX=parentBranch.range.maxX;minY=parentBranch.range.minY;maxY=parentBranch.range.minY+childSize;break;case\"SW\":minX=parentBranch.range.minX;maxX=parentBranch.range.minX+childSize;minY=parentBranch.range.minY+childSize;maxY=parentBranch.range.maxY;break;case\"SE\":minX=parentBranch.range.minX+childSize;maxX=parentBranch.range.maxX;minY=parentBranch.range.minY+childSize;maxY=parentBranch.range.maxY;break}parentBranch.children[region]={centerOfMass:{x:0,y:0},mass:0,range:{minX:minX,maxX:maxX,minY:minY,maxY:maxY},size:.5*parentBranch.size,calcSize:2*parentBranch.calcSize,children:{data:null},maxWidth:0,level:parentBranch.level+1,childrenCount:0}}},{key:\"_debug\",value:function _debug(ctx,color){if(this.barnesHutTree!==undefined){ctx.lineWidth=1;this._drawBranch(this.barnesHutTree.root,ctx,color)}}},{key:\"_drawBranch\",value:function _drawBranch(branch,ctx,color){if(color===undefined){color=\"#FF0000\"}if(branch.childrenCount===4){this._drawBranch(branch.children.NW,ctx);this._drawBranch(branch.children.NE,ctx);this._drawBranch(branch.children.SE,ctx);this._drawBranch(branch.children.SW,ctx)}ctx.strokeStyle=color;ctx.beginPath();ctx.moveTo(branch.range.minX,branch.range.minY);ctx.lineTo(branch.range.maxX,branch.range.minY);ctx.stroke();ctx.beginPath();ctx.moveTo(branch.range.maxX,branch.range.minY);ctx.lineTo(branch.range.maxX,branch.range.maxY);ctx.stroke();ctx.beginPath();ctx.moveTo(branch.range.maxX,branch.range.maxY);ctx.lineTo(branch.range.minX,branch.range.maxY);ctx.stroke();ctx.beginPath();ctx.moveTo(branch.range.minX,branch.range.maxY);ctx.lineTo(branch.range.minX,branch.range.minY);ctx.stroke()}}]);return BarnesHutSolver}();exports[\"default\"]=BarnesHutSolver;module.exports=exports[\"default\"]},function(module,exports){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var RepulsionSolver=function(){function RepulsionSolver(body,physicsBody,options){_classCallCheck(this,RepulsionSolver);this.body=body;this.physicsBody=physicsBody;this.setOptions(options)}_createClass(RepulsionSolver,[{key:\"setOptions\",value:function setOptions(options){this.options=options}},{key:\"solve\",value:function solve(){var dx,dy,distance,fx,fy,repulsingForce,node1,node2;var nodes=this.body.nodes;var nodeIndices=this.physicsBody.physicsNodeIndices;var forces=this.physicsBody.forces;var nodeDistance=this.options.nodeDistance;var a=-2/3/nodeDistance;var b=4/3;for(var i=0;i<nodeIndices.length-1;i++){node1=nodes[nodeIndices[i]];for(var j=i+1;j<nodeIndices.length;j++){node2=nodes[nodeIndices[j]];dx=node2.x-node1.x;dy=node2.y-node1.y;distance=Math.sqrt(dx*dx+dy*dy);if(distance===0){distance=.1*Math.random();dx=distance}if(distance<2*nodeDistance){if(distance<.5*nodeDistance){repulsingForce=1}else{repulsingForce=a*distance+b}repulsingForce=repulsingForce/distance;fx=dx*repulsingForce;fy=dy*repulsingForce;forces[node1.id].x-=fx;forces[node1.id].y-=fy;forces[node2.id].x+=fx;forces[node2.id].y+=fy}}}}}]);return RepulsionSolver}();exports[\"default\"]=RepulsionSolver;module.exports=exports[\"default\"]},function(module,exports){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var HierarchicalRepulsionSolver=function(){function HierarchicalRepulsionSolver(body,physicsBody,options){_classCallCheck(this,HierarchicalRepulsionSolver);this.body=body;this.physicsBody=physicsBody;this.setOptions(options)}_createClass(HierarchicalRepulsionSolver,[{key:\"setOptions\",value:function setOptions(options){this.options=options}},{key:\"solve\",value:function solve(){var dx,dy,distance,fx,fy,repulsingForce,node1,node2,i,j;var nodes=this.body.nodes;var nodeIndices=this.physicsBody.physicsNodeIndices;var forces=this.physicsBody.forces;var nodeDistance=this.options.nodeDistance;for(i=0;i<nodeIndices.length-1;i++){node1=nodes[nodeIndices[i]];for(j=i+1;j<nodeIndices.length;j++){node2=nodes[nodeIndices[j]];if(node1.level===node2.level){dx=node2.x-node1.x;dy=node2.y-node1.y;distance=Math.sqrt(dx*dx+dy*dy);var steepness=.05;if(distance<nodeDistance){repulsingForce=-Math.pow(steepness*distance,2)+Math.pow(steepness*nodeDistance,2)}else{repulsingForce=0}if(distance===0){distance=.01}else{repulsingForce=repulsingForce/distance}fx=dx*repulsingForce;fy=dy*repulsingForce;forces[node1.id].x-=fx;forces[node1.id].y-=fy;forces[node2.id].x+=fx;forces[node2.id].y+=fy}}}}}]);return HierarchicalRepulsionSolver}();exports[\"default\"]=HierarchicalRepulsionSolver;module.exports=exports[\"default\"]},function(module,exports){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var SpringSolver=function(){function SpringSolver(body,physicsBody,options){_classCallCheck(this,SpringSolver);this.body=body;this.physicsBody=physicsBody;this.setOptions(options)}_createClass(SpringSolver,[{key:\"setOptions\",value:function setOptions(options){this.options=options}},{key:\"solve\",value:function solve(){var edgeLength=undefined,edge=undefined;var edgeIndices=this.physicsBody.physicsEdgeIndices;var edges=this.body.edges;var node1=undefined,node2=undefined,node3=undefined;for(var i=0;i<edgeIndices.length;i++){edge=edges[edgeIndices[i]];if(edge.connected===true&&edge.toId!==edge.fromId){if(this.body.nodes[edge.toId]!==undefined&&this.body.nodes[edge.fromId]!==undefined){if(edge.edgeType.via!==undefined){edgeLength=edge.options.length===undefined?this.options.springLength:edge.options.length;node1=edge.to;node2=edge.edgeType.via;node3=edge.from;this._calculateSpringForce(node1,node2,.5*edgeLength);this._calculateSpringForce(node2,node3,.5*edgeLength)}else{edgeLength=edge.options.length===undefined?this.options.springLength*1.5:edge.options.length;this._calculateSpringForce(edge.from,edge.to,edgeLength)}}}}}},{key:\"_calculateSpringForce\",value:function _calculateSpringForce(node1,node2,edgeLength){var dx=node1.x-node2.x;var dy=node1.y-node2.y;var distance=Math.max(Math.sqrt(dx*dx+dy*dy),.01);var springForce=this.options.springConstant*(edgeLength-distance)/distance;var fx=dx*springForce;var fy=dy*springForce;if(this.physicsBody.forces[node1.id]!==undefined){this.physicsBody.forces[node1.id].x+=fx;this.physicsBody.forces[node1.id].y+=fy}if(this.physicsBody.forces[node2.id]!==undefined){this.physicsBody.forces[node2.id].x-=fx;this.physicsBody.forces[node2.id].y-=fy}}}]);return SpringSolver}();exports[\"default\"]=SpringSolver;module.exports=exports[\"default\"]},function(module,exports){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var HierarchicalSpringSolver=function(){function HierarchicalSpringSolver(body,physicsBody,options){_classCallCheck(this,HierarchicalSpringSolver);this.body=body;this.physicsBody=physicsBody;this.setOptions(options)}_createClass(HierarchicalSpringSolver,[{key:\"setOptions\",value:function setOptions(options){this.options=options}},{key:\"solve\",value:function solve(){var edgeLength,edge;var dx,dy,fx,fy,springForce,distance;var edges=this.body.edges;var factor=.5;var edgeIndices=this.physicsBody.physicsEdgeIndices;var nodeIndices=this.physicsBody.physicsNodeIndices;var forces=this.physicsBody.forces;for(var i=0;i<nodeIndices.length;i++){var nodeId=nodeIndices[i];forces[nodeId].springFx=0;forces[nodeId].springFy=0}for(var i=0;i<edgeIndices.length;i++){edge=edges[edgeIndices[i]];if(edge.connected===true){edgeLength=edge.options.length===undefined?this.options.springLength:edge.options.length;dx=edge.from.x-edge.to.x;dy=edge.from.y-edge.to.y;distance=Math.sqrt(dx*dx+dy*dy);distance=distance===0?.01:distance;springForce=this.options.springConstant*(edgeLength-distance)/distance;fx=dx*springForce;fy=dy*springForce;if(edge.to.level!=edge.from.level){if(forces[edge.toId]!==undefined){forces[edge.toId].springFx-=fx;forces[edge.toId].springFy-=fy}if(forces[edge.fromId]!==undefined){forces[edge.fromId].springFx+=fx;forces[edge.fromId].springFy+=fy}}else{if(forces[edge.toId]!==undefined){forces[edge.toId].x-=factor*fx;forces[edge.toId].y-=factor*fy}if(forces[edge.fromId]!==undefined){forces[edge.fromId].x+=factor*fx;forces[edge.fromId].y+=factor*fy}}}}var springForce=1;var springFx,springFy;for(var i=0;i<nodeIndices.length;i++){var nodeId=nodeIndices[i];springFx=Math.min(springForce,Math.max(-springForce,forces[nodeId].springFx));springFy=Math.min(springForce,Math.max(-springForce,forces[nodeId].springFy));forces[nodeId].x+=springFx;forces[nodeId].y+=springFy}var totalFx=0;var totalFy=0;for(var i=0;i<nodeIndices.length;i++){var nodeId=nodeIndices[i];totalFx+=forces[nodeId].x;totalFy+=forces[nodeId].y}var correctionFx=totalFx/nodeIndices.length;var correctionFy=totalFy/nodeIndices.length;for(var i=0;i<nodeIndices.length;i++){var nodeId=nodeIndices[i];forces[nodeId].x-=correctionFx;forces[nodeId].y-=correctionFy}}}]);return HierarchicalSpringSolver}();exports[\"default\"]=HierarchicalSpringSolver;module.exports=exports[\"default\"]},function(module,exports){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var CentralGravitySolver=function(){function CentralGravitySolver(body,physicsBody,options){_classCallCheck(this,CentralGravitySolver);this.body=body;this.physicsBody=physicsBody;this.setOptions(options)}_createClass(CentralGravitySolver,[{key:\"setOptions\",value:function setOptions(options){this.options=options}},{key:\"solve\",value:function solve(){var dx=undefined,dy=undefined,distance=undefined,node=undefined;var nodes=this.body.nodes;var nodeIndices=this.physicsBody.physicsNodeIndices;var forces=this.physicsBody.forces;for(var i=0;i<nodeIndices.length;i++){var nodeId=nodeIndices[i];node=nodes[nodeId];dx=-node.x;dy=-node.y;distance=Math.sqrt(dx*dx+dy*dy);this._calculateForces(distance,dx,dy,forces,node)}}},{key:\"_calculateForces\",value:function _calculateForces(distance,dx,dy,forces,node){var gravityForce=distance===0?0:this.options.centralGravity/distance;forces[node.id].x=dx*gravityForce;forces[node.id].y=dy*gravityForce}}]);return CentralGravitySolver}();exports[\"default\"]=CentralGravitySolver;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _BarnesHutSolver2=__webpack_require__(89);var _BarnesHutSolver3=_interopRequireDefault(_BarnesHutSolver2);var ForceAtlas2BasedRepulsionSolver=function(_BarnesHutSolver){function ForceAtlas2BasedRepulsionSolver(body,physicsBody,options){_classCallCheck(this,ForceAtlas2BasedRepulsionSolver);_get(Object.getPrototypeOf(ForceAtlas2BasedRepulsionSolver.prototype),\"constructor\",this).call(this,body,physicsBody,options)}_inherits(ForceAtlas2BasedRepulsionSolver,_BarnesHutSolver);_createClass(ForceAtlas2BasedRepulsionSolver,[{key:\"_calculateForces\",value:function _calculateForces(distance,dx,dy,node,parentBranch){if(distance===0){distance=.1*Math.random();dx=distance}if(this.overlapAvoidanceFactor<1){distance=Math.max(.1+this.overlapAvoidanceFactor*node.shape.radius,distance-node.shape.radius)}var degree=node.edges.length+1;var gravityForce=this.options.gravitationalConstant*parentBranch.mass*node.options.mass*degree/Math.pow(distance,2);var fx=dx*gravityForce;var fy=dy*gravityForce;this.physicsBody.forces[node.id].x+=fx;this.physicsBody.forces[node.id].y+=fy}}]);return ForceAtlas2BasedRepulsionSolver}(_BarnesHutSolver3[\"default\"]);exports[\"default\"]=ForceAtlas2BasedRepulsionSolver;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _CentralGravitySolver2=__webpack_require__(94);var _CentralGravitySolver3=_interopRequireDefault(_CentralGravitySolver2);var ForceAtlas2BasedCentralGravitySolver=function(_CentralGravitySolver){\nfunction ForceAtlas2BasedCentralGravitySolver(body,physicsBody,options){_classCallCheck(this,ForceAtlas2BasedCentralGravitySolver);_get(Object.getPrototypeOf(ForceAtlas2BasedCentralGravitySolver.prototype),\"constructor\",this).call(this,body,physicsBody,options)}_inherits(ForceAtlas2BasedCentralGravitySolver,_CentralGravitySolver);_createClass(ForceAtlas2BasedCentralGravitySolver,[{key:\"_calculateForces\",value:function _calculateForces(distance,dx,dy,forces,node){if(distance>0){var degree=node.edges.length+1;var gravityForce=this.options.centralGravity*degree*node.options.mass;forces[node.id].x=dx*gravityForce;forces[node.id].y=dy*gravityForce}}}]);return ForceAtlas2BasedCentralGravitySolver}(_CentralGravitySolver3[\"default\"]);exports[\"default\"]=ForceAtlas2BasedCentralGravitySolver;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var _componentsNodesCluster=__webpack_require__(98);var _componentsNodesCluster2=_interopRequireDefault(_componentsNodesCluster);var util=__webpack_require__(7);var ClusterEngine=function(){function ClusterEngine(body){var _this=this;_classCallCheck(this,ClusterEngine);this.body=body;this.clusteredNodes={};this.options={};this.defaultOptions={};util.extend(this.options,this.defaultOptions);this.body.emitter.on(\"_resetData\",function(){_this.clusteredNodes={}})}_createClass(ClusterEngine,[{key:\"setOptions\",value:function setOptions(options){if(options!==undefined){}}},{key:\"clusterByHubsize\",value:function clusterByHubsize(hubsize,options){if(hubsize===undefined){hubsize=this._getHubSize()}else if(typeof hubsize===\"object\"){options=this._checkOptions(hubsize);hubsize=this._getHubSize()}var nodesToCluster=[];for(var i=0;i<this.body.nodeIndices.length;i++){var node=this.body.nodes[this.body.nodeIndices[i]];if(node.edges.length>=hubsize){nodesToCluster.push(node.id)}}for(var i=0;i<nodesToCluster.length;i++){this.clusterByConnection(nodesToCluster[i],options,false)}this.body.emitter.emit(\"_dataChanged\")}},{key:\"cluster\",value:function cluster(){var options=arguments[0]===undefined?{}:arguments[0];var refreshData=arguments[1]===undefined?true:arguments[1];if(options.joinCondition===undefined){throw new Error(\"Cannot call clusterByNodeData without a joinCondition function in the options.\")}options=this._checkOptions(options);var childNodesObj={};var childEdgesObj={};for(var i=0;i<this.body.nodeIndices.length;i++){var nodeId=this.body.nodeIndices[i];var node=this.body.nodes[nodeId];var clonedOptions=this._cloneOptions(node);if(options.joinCondition(clonedOptions)===true){childNodesObj[nodeId]=this.body.nodes[nodeId];for(var _i=0;_i<node.edges.length;_i++){var edge=node.edges[_i];childEdgesObj[edge.id]=edge}}}this._cluster(childNodesObj,childEdgesObj,options,refreshData)}},{key:\"clusterOutliers\",value:function clusterOutliers(options){var refreshData=arguments[1]===undefined?true:arguments[1];options=this._checkOptions(options);var clusters=[];for(var i=0;i<this.body.nodeIndices.length;i++){var childNodesObj={};var childEdgesObj={};var nodeId=this.body.nodeIndices[i];var visibleEdges=0;var edge=undefined;for(var j=0;j<this.body.nodes[nodeId].edges.length;j++){if(this.body.nodes[nodeId].edges[j].options.hidden===false){visibleEdges++;edge=this.body.nodes[nodeId].edges[j]}}if(visibleEdges===1){var childNodeId=this._getConnectedId(edge,nodeId);if(childNodeId!==nodeId){if(options.joinCondition===undefined){if(this._checkIfUsed(clusters,nodeId,edge.id)===false&&this._checkIfUsed(clusters,childNodeId,edge.id)===false){childEdgesObj[edge.id]=edge;childNodesObj[nodeId]=this.body.nodes[nodeId];childNodesObj[childNodeId]=this.body.nodes[childNodeId]}}else{var clonedOptions=this._cloneOptions(this.body.nodes[nodeId]);if(options.joinCondition(clonedOptions)===true&&this._checkIfUsed(clusters,nodeId,edge.id)===false){childEdgesObj[edge.id]=edge;childNodesObj[nodeId]=this.body.nodes[nodeId]}clonedOptions=this._cloneOptions(this.body.nodes[childNodeId]);if(options.joinCondition(clonedOptions)===true&&this._checkIfUsed(clusters,nodeId,edge.id)===false){childEdgesObj[edge.id]=edge;childNodesObj[childNodeId]=this.body.nodes[childNodeId]}}if(Object.keys(childNodesObj).length>0&&Object.keys(childEdgesObj).length>0){clusters.push({nodes:childNodesObj,edges:childEdgesObj})}}}}for(var i=0;i<clusters.length;i++){this._cluster(clusters[i].nodes,clusters[i].edges,options,false)}if(refreshData===true){this.body.emitter.emit(\"_dataChanged\")}}},{key:\"_checkIfUsed\",value:function _checkIfUsed(clusters,nodeId,edgeId){for(var i=0;i<clusters.length;i++){var cluster=clusters[i];if(cluster.nodes[nodeId]!==undefined||cluster.edges[edgeId]!==undefined){return true}}return false}},{key:\"clusterByConnection\",value:function clusterByConnection(nodeId,options){var refreshData=arguments[2]===undefined?true:arguments[2];if(nodeId===undefined){throw new Error(\"No nodeId supplied to clusterByConnection!\")}if(this.body.nodes[nodeId]===undefined){throw new Error(\"The nodeId given to clusterByConnection does not exist!\")}var node=this.body.nodes[nodeId];options=this._checkOptions(options,node);if(options.clusterNodeProperties.x===undefined){options.clusterNodeProperties.x=node.x}if(options.clusterNodeProperties.y===undefined){options.clusterNodeProperties.y=node.y}if(options.clusterNodeProperties.fixed===undefined){options.clusterNodeProperties.fixed={};options.clusterNodeProperties.fixed.x=node.options.fixed.x;options.clusterNodeProperties.fixed.y=node.options.fixed.y}var childNodesObj={};var childEdgesObj={};var parentNodeId=node.id;var parentClonedOptions=this._cloneOptions(node);childNodesObj[parentNodeId]=node;for(var i=0;i<node.edges.length;i++){var edge=node.edges[i];var childNodeId=this._getConnectedId(edge,parentNodeId);if(childNodeId!==parentNodeId){if(options.joinCondition===undefined){childEdgesObj[edge.id]=edge;childNodesObj[childNodeId]=this.body.nodes[childNodeId]}else{var childClonedOptions=this._cloneOptions(this.body.nodes[childNodeId]);if(options.joinCondition(parentClonedOptions,childClonedOptions)===true){childEdgesObj[edge.id]=edge;childNodesObj[childNodeId]=this.body.nodes[childNodeId]}}}else{childEdgesObj[edge.id]=edge}}this._cluster(childNodesObj,childEdgesObj,options,refreshData)}},{key:\"_cloneOptions\",value:function _cloneOptions(item,type){var clonedOptions={};if(type===undefined||type===\"node\"){util.deepExtend(clonedOptions,item.options,true);clonedOptions.x=item.x;clonedOptions.y=item.y;clonedOptions.amountOfConnections=item.edges.length}else{util.deepExtend(clonedOptions,item.options,true)}return clonedOptions}},{key:\"_createClusterEdges\",value:function _createClusterEdges(childNodesObj,childEdgesObj,newEdges,clusterNodeProperties,clusterEdgeProperties){var edge=undefined,childNodeId=undefined,childNode=undefined,toId=undefined,fromId=undefined,otherNodeId=undefined;var childKeys=Object.keys(childNodesObj);for(var i=0;i<childKeys.length;i++){childNodeId=childKeys[i];childNode=childNodesObj[childNodeId];for(var j=0;j<childNode.edges.length;j++){edge=childNode.edges[j];childEdgesObj[edge.id]=edge;if(edge.toId==childNodeId){toId=clusterNodeProperties.id;fromId=edge.fromId;otherNodeId=fromId}else{toId=edge.toId;fromId=clusterNodeProperties.id;otherNodeId=toId}if(childNodesObj[otherNodeId]===undefined){var clonedOptions=this._cloneOptions(edge,\"edge\");util.deepExtend(clonedOptions,clusterEdgeProperties);clonedOptions.from=fromId;clonedOptions.to=toId;clonedOptions.id=\"clusterEdge:\"+util.randomUUID();newEdges.push(this.body.functions.createEdge(clonedOptions))}}}}},{key:\"_checkOptions\",value:function _checkOptions(){var options=arguments[0]===undefined?{}:arguments[0];if(options.clusterEdgeProperties===undefined){options.clusterEdgeProperties={}}if(options.clusterNodeProperties===undefined){options.clusterNodeProperties={}}return options}},{key:\"_cluster\",value:function _cluster(childNodesObj,childEdgesObj,options){var refreshData=arguments[3]===undefined?true:arguments[3];if(Object.keys(childNodesObj).length===0){return}var clusterNodeProperties=util.deepExtend({},options.clusterNodeProperties);if(options.processProperties!==undefined){var childNodesOptions=[];for(var nodeId in childNodesObj){var clonedOptions=this._cloneOptions(childNodesObj[nodeId]);childNodesOptions.push(clonedOptions)}var childEdgesOptions=[];for(var edgeId in childEdgesObj){if(edgeId.substr(0,12)!==\"clusterEdge:\"){var clonedOptions=this._cloneOptions(childEdgesObj[edgeId],\"edge\");childEdgesOptions.push(clonedOptions)}}clusterNodeProperties=options.processProperties(clusterNodeProperties,childNodesOptions,childEdgesOptions);if(!clusterNodeProperties){throw new Error(\"The processProperties function does not return properties!\")}}if(clusterNodeProperties.id===undefined){clusterNodeProperties.id=\"cluster:\"+util.randomUUID()}var clusterId=clusterNodeProperties.id;if(clusterNodeProperties.label===undefined){clusterNodeProperties.label=\"cluster\"}var pos=undefined;if(clusterNodeProperties.x===undefined){pos=this._getClusterPosition(childNodesObj);clusterNodeProperties.x=pos.x}if(clusterNodeProperties.y===undefined){if(pos===undefined){pos=this._getClusterPosition(childNodesObj)}clusterNodeProperties.y=pos.y}clusterNodeProperties.id=clusterId;var clusterNode=this.body.functions.createNode(clusterNodeProperties,_componentsNodesCluster2[\"default\"]);clusterNode.isCluster=true;clusterNode.containedNodes=childNodesObj;clusterNode.containedEdges=childEdgesObj;clusterNode.clusterEdgeProperties=options.clusterEdgeProperties;this.body.nodes[clusterNodeProperties.id]=clusterNode;var newEdges=[];this._createClusterEdges(childNodesObj,childEdgesObj,newEdges,clusterNodeProperties,options.clusterEdgeProperties);for(var edgeId in childEdgesObj){if(childEdgesObj.hasOwnProperty(edgeId)){if(this.body.edges[edgeId]!==undefined){var edge=this.body.edges[edgeId];if(edgeId.substr(0,12)===\"clusterEdge:\"){edge.edgeType.cleanup();edge.disconnect();delete childEdgesObj[edgeId];delete this.body.edges[edgeId]}else{edge.togglePhysics(false);edge.options.hidden=true}}}}for(var nodeId in childNodesObj){if(childNodesObj.hasOwnProperty(nodeId)){this.clusteredNodes[nodeId]={clusterId:clusterNodeProperties.id,node:this.body.nodes[nodeId]};this.body.nodes[nodeId].togglePhysics(false);this.body.nodes[nodeId].options.hidden=true}}for(var i=0;i<newEdges.length;i++){this.body.edges[newEdges[i].id]=newEdges[i];this.body.edges[newEdges[i].id].connect()}clusterNodeProperties.id=undefined;if(refreshData===true){this.body.emitter.emit(\"_dataChanged\")}}},{key:\"isCluster\",value:function isCluster(nodeId){if(this.body.nodes[nodeId]!==undefined){return this.body.nodes[nodeId].isCluster===true}else{console.log(\"Node does not exist.\");return false}}},{key:\"_getClusterPosition\",value:function _getClusterPosition(childNodesObj){var childKeys=Object.keys(childNodesObj);var minX=childNodesObj[childKeys[0]].x;var maxX=childNodesObj[childKeys[0]].x;var minY=childNodesObj[childKeys[0]].y;var maxY=childNodesObj[childKeys[0]].y;var node=undefined;for(var i=1;i<childKeys.length;i++){node=childNodesObj[childKeys[i]];minX=node.x<minX?node.x:minX;maxX=node.x>maxX?node.x:maxX;minY=node.y<minY?node.y:minY;maxY=node.y>maxY?node.y:maxY}return{x:.5*(minX+maxX),y:.5*(minY+maxY)}}},{key:\"openCluster\",value:function openCluster(clusterNodeId,options){var refreshData=arguments[2]===undefined?true:arguments[2];if(clusterNodeId===undefined){throw new Error(\"No clusterNodeId supplied to openCluster.\")}if(this.body.nodes[clusterNodeId]===undefined){throw new Error(\"The clusterNodeId supplied to openCluster does not exist.\")}if(this.body.nodes[clusterNodeId].containedNodes===undefined){console.log(\"The node:\"+clusterNodeId+\" is not a cluster.\");return}var clusterNode=this.body.nodes[clusterNodeId];var containedNodes=clusterNode.containedNodes;var containedEdges=clusterNode.containedEdges;if(options!==undefined&&options.releaseFunction!==undefined&&typeof options.releaseFunction===\"function\"){var positions={};var clusterPosition={x:clusterNode.x,y:clusterNode.y};for(var nodeId in containedNodes){if(containedNodes.hasOwnProperty(nodeId)){var containedNode=this.body.nodes[nodeId];positions[nodeId]={x:containedNode.x,y:containedNode.y}}}var newPositions=options.releaseFunction(clusterPosition,positions);for(var nodeId in containedNodes){if(containedNodes.hasOwnProperty(nodeId)){var containedNode=this.body.nodes[nodeId];if(newPositions[nodeId]!==undefined){containedNode.x=newPositions[nodeId].x||clusterNode.x;containedNode.y=newPositions[nodeId].y||clusterNode.y}}}}else{for(var nodeId in containedNodes){if(containedNodes.hasOwnProperty(nodeId)){var containedNode=this.body.nodes[nodeId];containedNode=containedNodes[nodeId];containedNode.x=clusterNode.x;containedNode.y=clusterNode.y}}}for(var nodeId in containedNodes){if(containedNodes.hasOwnProperty(nodeId)){var containedNode=this.body.nodes[nodeId];containedNode.vx=clusterNode.vx;containedNode.vy=clusterNode.vy;containedNode.options.hidden=false;containedNode.togglePhysics(true);delete this.clusteredNodes[nodeId]}}for(var edgeId in containedEdges){if(containedEdges.hasOwnProperty(edgeId)){var edge=containedEdges[edgeId];if(this.body.nodes[edge.fromId]===undefined||this.body.nodes[edge.toId]===undefined||edge.toId==clusterNodeId||edge.fromId==clusterNodeId){edge.edgeType.cleanup();edge.disconnect();delete this.body.edges[edgeId]}else{if(this.clusteredNodes[edge.fromId]!==undefined||this.clusteredNodes[edge.toId]!==undefined){var fromId=undefined,toId=undefined;var clusteredNode=this.clusteredNodes[edge.fromId]||this.clusteredNodes[edge.toId];var clusterId=clusteredNode.clusterId;var _clusterNode=this.body.nodes[clusterId];_clusterNode.containedEdges[edgeId]=edge;if(this.clusteredNodes[edge.fromId]!==undefined){fromId=clusterId;toId=edge.toId}else{fromId=edge.fromId;toId=clusterId}if(this.body.nodes[fromId].options.hidden!==true&&this.body.nodes[toId].options.hidden!==true){var clonedOptions=this._cloneOptions(edge,\"edge\");var id=\"clusterEdge:\"+util.randomUUID();util.deepExtend(clonedOptions,_clusterNode.clusterEdgeProperties);util.deepExtend(clonedOptions,{from:fromId,to:toId,hidden:false,physics:true,id:id});var newEdge=this.body.functions.createEdge(clonedOptions);this.body.edges[id]=newEdge;this.body.edges[id].connect()}}else{edge.options.hidden=false;edge.togglePhysics(true)}}}}var removeIds=[];for(var i=0;i<clusterNode.edges.length;i++){var edgeId=clusterNode.edges[i].id;removeIds.push(edgeId)}for(var i=0;i<removeIds.length;i++){var edgeId=removeIds[i];this.body.edges[edgeId].edgeType.cleanup();this.body.edges[edgeId].disconnect();delete this.body.edges[edgeId]}delete this.body.nodes[clusterNodeId];if(refreshData===true){this.body.emitter.emit(\"_dataChanged\")}}},{key:\"getNodesInCluster\",value:function getNodesInCluster(clusterId){var nodesArray=[];if(this.isCluster(clusterId)===true){var containedNodes=this.body.nodes[clusterId].containedNodes;for(var nodeId in containedNodes){if(containedNodes.hasOwnProperty(nodeId)){nodesArray.push(nodeId)}}}return nodesArray}},{key:\"findNode\",value:function findNode(nodeId){var stack=[];var max=100;var counter=0;while(this.clusteredNodes[nodeId]!==undefined&&counter<max){stack.push(this.clusteredNodes[nodeId].node);nodeId=this.clusteredNodes[nodeId].clusterId;counter++}stack.push(this.body.nodes[nodeId]);return stack}},{key:\"_getConnectedId\",value:function _getConnectedId(edge,nodeId){if(edge.toId!=nodeId){return edge.toId}else if(edge.fromId!=nodeId){return edge.fromId}else{return edge.fromId}}},{key:\"_getHubSize\",value:function _getHubSize(){var average=0;var averageSquared=0;var hubCounter=0;var largestHub=0;for(var i=0;i<this.body.nodeIndices.length;i++){var node=this.body.nodes[this.body.nodeIndices[i]];if(node.edges.length>largestHub){largestHub=node.edges.length}average+=node.edges.length;averageSquared+=Math.pow(node.edges.length,2);hubCounter+=1}average=average/hubCounter;averageSquared=averageSquared/hubCounter;var letiance=averageSquared-Math.pow(average,2);var standardDeviation=Math.sqrt(letiance);var hubThreshold=Math.floor(average+2*standardDeviation);if(hubThreshold>largestHub){hubThreshold=largestHub}return hubThreshold}}]);return ClusterEngine}();exports[\"default\"]=ClusterEngine;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;desc=parent=getter=undefined;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{_x=parent;_x2=property;_x3=receiver;_again=true;continue _function}}else if(\"value\"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}}};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)subClass.__proto__=superClass}var _Node2=__webpack_require__(62);var _Node3=_interopRequireDefault(_Node2);var Cluster=function(_Node){function Cluster(options,body,imagelist,grouplist,globalOptions){_classCallCheck(this,Cluster);_get(Object.getPrototypeOf(Cluster.prototype),\"constructor\",this).call(this,options,body,imagelist,grouplist,globalOptions);this.isCluster=true;this.containedNodes={};this.containedEdges={}}_inherits(Cluster,_Node);return Cluster}(_Node3[\"default\"]);exports[\"default\"]=Cluster;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}if(typeof window!==\"undefined\"){window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame}var util=__webpack_require__(7);var CanvasRenderer=function(){function CanvasRenderer(body,canvas){_classCallCheck(this,CanvasRenderer);this.body=body;this.canvas=canvas;this.redrawRequested=false;this.renderTimer=undefined;this.requiresTimeout=true;this.renderingActive=false;this.renderRequests=0;this.pixelRatio=undefined;this.allowRedraw=true;this.dragging=false;this.options={};this.defaultOptions={hideEdgesOnDrag:false,hideNodesOnDrag:false};util.extend(this.options,this.defaultOptions);this._determineBrowserMethod();this.bindEventListeners()}_createClass(CanvasRenderer,[{key:\"bindEventListeners\",value:function bindEventListeners(){var _this=this;this.body.emitter.on(\"dragStart\",function(){_this.dragging=true});this.body.emitter.on(\"dragEnd\",function(){return _this.dragging=false});this.body.emitter.on(\"_resizeNodes\",function(){return _this._resizeNodes()});this.body.emitter.on(\"_redraw\",function(){if(_this.renderingActive===false){_this._redraw()}});this.body.emitter.on(\"_blockRedraw\",function(){_this.allowRedraw=false});this.body.emitter.on(\"_allowRedraw\",function(){_this.allowRedraw=true;_this.redrawRequested=false});this.body.emitter.on(\"_requestRedraw\",this._requestRedraw.bind(this));this.body.emitter.on(\"_startRendering\",function(){_this.renderRequests+=1;_this.renderingActive=true;_this._startRendering()});this.body.emitter.on(\"_stopRendering\",function(){_this.renderRequests-=1;_this.renderingActive=_this.renderRequests>0;_this.renderTimer=undefined});this.body.emitter.on(\"destroy\",function(){_this.renderRequests=0;_this.renderingActive=false;if(_this.requiresTimeout===true){clearTimeout(_this.renderTimer)}else{cancelAnimationFrame(_this.renderTimer)}_this.body.emitter.off()})}},{key:\"setOptions\",value:function setOptions(options){if(options!==undefined){var fields=[\"hideEdgesOnDrag\",\"hideNodesOnDrag\"];util.selectiveDeepExtend(fields,this.options,options)}}},{key:\"_startRendering\",value:function _startRendering(){if(this.renderingActive===true){if(this.renderTimer===undefined){if(this.requiresTimeout===true){this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval)}else{this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this))}}}}},{key:\"_renderStep\",value:function _renderStep(){if(this.renderingActive===true){this.renderTimer=undefined;if(this.requiresTimeout===true){this._startRendering()}this._redraw();if(this.requiresTimeout===false){this._startRendering()}}}},{key:\"redraw\",value:function redraw(){this.body.emitter.emit(\"setSize\");this._redraw()}},{key:\"_requestRedraw\",value:function _requestRedraw(){var _this2=this;if(this.redrawRequested!==true&&this.renderingActive===false&&this.allowRedraw===true){this.redrawRequested=true;if(this.requiresTimeout===true){window.setTimeout(function(){_this2._redraw(false)},0)}else{window.requestAnimationFrame(function(){_this2._redraw(false)})}}}},{key:\"_redraw\",value:function _redraw(){var hidden=arguments[0]===undefined?false:arguments[0];if(this.allowRedraw===true){this.body.emitter.emit(\"initRedraw\");this.redrawRequested=false;var ctx=this.canvas.frame.canvas.getContext(\"2d\");if(this.canvas.frame.canvas.width===0||this.canvas.frame.canvas.height===0){this.canvas.setSize()}if(this.pixelRatio===undefined){this.pixelRatio=(window.devicePixelRatio||1)/(ctx.webkitBackingStorePixelRatio||ctx.mozBackingStorePixelRatio||ctx.msBackingStorePixelRatio||ctx.oBackingStorePixelRatio||ctx.backingStorePixelRatio||1)}ctx.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var w=this.canvas.frame.canvas.clientWidth;var h=this.canvas.frame.canvas.clientHeight;ctx.clearRect(0,0,w,h);ctx.save();ctx.translate(this.body.view.translation.x,this.body.view.translation.y);ctx.scale(this.body.view.scale,this.body.view.scale);ctx.beginPath();this.body.emitter.emit(\"beforeDrawing\",ctx);ctx.closePath();if(hidden===false){if(this.dragging===false||this.dragging===true&&this.options.hideEdgesOnDrag===false){this._drawEdges(ctx)}}if(this.dragging===false||this.dragging===true&&this.options.hideNodesOnDrag===false){this._drawNodes(ctx,hidden)}if(this.controlNodesActive===true){this._drawControlNodes(ctx)}ctx.beginPath();this.body.emitter.emit(\"afterDrawing\",ctx);ctx.closePath();ctx.restore();if(hidden===true){ctx.clearRect(0,0,w,h)}}}},{key:\"_resizeNodes\",value:function _resizeNodes(){var ctx=this.canvas.frame.canvas.getContext(\"2d\");if(this.pixelRatio===undefined){this.pixelRatio=(window.devicePixelRatio||1)/(ctx.webkitBackingStorePixelRatio||ctx.mozBackingStorePixelRatio||ctx.msBackingStorePixelRatio||ctx.oBackingStorePixelRatio||ctx.backingStorePixelRatio||1)}ctx.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);ctx.save();ctx.translate(this.body.view.translation.x,this.body.view.translation.y);ctx.scale(this.body.view.scale,this.body.view.scale);var nodes=this.body.nodes;var node=undefined;for(var nodeId in nodes){if(nodes.hasOwnProperty(nodeId)){node=nodes[nodeId];node.resize(ctx);node.updateBoundingBox(ctx)}}ctx.restore()}},{key:\"_drawNodes\",value:function _drawNodes(ctx){var alwaysShow=arguments[1]===undefined?false:arguments[1];var nodes=this.body.nodes;var nodeIndices=this.body.nodeIndices;var node=undefined;var selected=[];var margin=20;var topLeft=this.canvas.DOMtoCanvas({x:-margin,y:-margin});var bottomRight=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+margin,y:this.canvas.frame.canvas.clientHeight+margin});var viewableArea={top:topLeft.y,left:topLeft.x,bottom:bottomRight.y,right:bottomRight.x};for(var i=0;i<nodeIndices.length;i++){node=nodes[nodeIndices[i]];if(node.isSelected()){selected.push(nodeIndices[i])}else{if(alwaysShow===true){node.draw(ctx)}else if(node.isBoundingBoxOverlappingWith(viewableArea)===true){node.draw(ctx)}else{node.updateBoundingBox(ctx)}}}for(var i=0;i<selected.length;i++){node=nodes[selected[i]];node.draw(ctx)}}},{key:\"_drawEdges\",value:function _drawEdges(ctx){var edges=this.body.edges;var edgeIndices=this.body.edgeIndices;var edge=undefined;for(var i=0;i<edgeIndices.length;i++){edge=edges[edgeIndices[i]];if(edge.connected===true){edge.draw(ctx)}}}},{key:\"_drawControlNodes\",value:function _drawControlNodes(ctx){var edges=this.body.edges;var edgeIndices=this.body.edgeIndices;var edge=undefined;for(var i=0;i<edgeIndices.length;i++){edge=edges[edgeIndices[i]];edge._drawControlNodes(ctx)}}},{key:\"_determineBrowserMethod\",value:function _determineBrowserMethod(){if(typeof window!==\"undefined\"){var browserType=navigator.userAgent.toLowerCase();this.requiresTimeout=false;if(browserType.indexOf(\"msie 9.0\")!=-1){this.requiresTimeout=true}else if(browserType.indexOf(\"safari\")!=-1){if(browserType.indexOf(\"chrome\")<=-1){this.requiresTimeout=true}}}else{this.requiresTimeout=true}}}]);return CanvasRenderer}();exports[\"default\"]=CanvasRenderer;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var Hammer=__webpack_require__(3);var hammerUtil=__webpack_require__(30);var util=__webpack_require__(7);var Canvas=function(){function Canvas(body){_classCallCheck(this,Canvas);this.body=body;this.pixelRatio=1;this.resizeTimer=undefined;this.resizeFunction=this._onResize.bind(this);this.options={};this.defaultOptions={autoResize:true,height:\"100%\",width:\"100%\"};util.extend(this.options,this.defaultOptions);this.bindEventListeners()}_createClass(Canvas,[{key:\"bindEventListeners\",value:function bindEventListeners(){var _this=this;this.body.emitter.once(\"resize\",function(obj){if(obj.width!==0){_this.body.view.translation.x=obj.width*.5}if(obj.height!==0){_this.body.view.translation.y=obj.height*.5}});this.body.emitter.on(\"setSize\",this.setSize.bind(this));this.body.emitter.on(\"destroy\",function(){_this.hammerFrame.destroy();_this.hammer.destroy();_this._cleanUp()})}},{key:\"setOptions\",value:function setOptions(options){var _this2=this;if(options!==undefined){var fields=[\"width\",\"height\",\"autoResize\"];util.selectiveDeepExtend(fields,this.options,options)}if(this.options.autoResize===true){this._cleanUp();this.resizeTimer=setInterval(function(){var changed=_this2.setSize();if(changed===true){_this2.body.emitter.emit(\"_requestRedraw\")}},1e3);this.resizeFunction=this._onResize.bind(this);util.addEventListener(window,\"resize\",this.resizeFunction)}}},{key:\"_cleanUp\",value:function _cleanUp(){if(this.resizeTimer!==undefined){clearInterval(this.resizeTimer)}util.removeEventListener(window,\"resize\",this.resizeFunction);this.resizeFunction=undefined}},{key:\"_onResize\",value:function _onResize(){this.setSize();this.body.emitter.emit(\"_redraw\")}},{key:\"_prepareValue\",value:function _prepareValue(value){if(typeof value===\"number\"){return value+\"px\"}else if(typeof value===\"string\"){if(value.indexOf(\"%\")!==-1||value.indexOf(\"px\")!==-1){return value}else if(value.indexOf(\"%\")===-1){return value+\"px\"}}throw new Error(\"Could not use the value supplie for width or height:\"+value)}},{key:\"_create\",value:function _create(){while(this.body.container.hasChildNodes()){this.body.container.removeChild(this.body.container.firstChild)}this.frame=document.createElement(\"div\");this.frame.className=\"vis-network\";this.frame.style.position=\"relative\";this.frame.style.overflow=\"hidden\";this.frame.tabIndex=900;this.frame.canvas=document.createElement(\"canvas\");this.frame.canvas.style.position=\"relative\";this.frame.appendChild(this.frame.canvas);if(!this.frame.canvas.getContext){var noCanvas=document.createElement(\"DIV\");noCanvas.style.color=\"red\";noCanvas.style.fontWeight=\"bold\";noCanvas.style.padding=\"10px\";noCanvas.innerHTML=\"Error: your browser does not support HTML canvas\";this.frame.canvas.appendChild(noCanvas)}else{var ctx=this.frame.canvas.getContext(\"2d\");this.pixelRatio=(window.devicePixelRatio||1)/(ctx.webkitBackingStorePixelRatio||ctx.mozBackingStorePixelRatio||ctx.msBackingStorePixelRatio||ctx.oBackingStorePixelRatio||ctx.backingStorePixelRatio||1);this.frame.canvas.getContext(\"2d\").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}this.body.container.appendChild(this.frame);this.body.view.scale=1;this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight};this._bindHammer()}},{key:\"_bindHammer\",value:function _bindHammer(){var _this3=this;if(this.hammer!==undefined){this.hammer.destroy()}this.drag={};this.pinch={};this.hammer=new Hammer(this.frame.canvas);this.hammer.get(\"pinch\").set({enable:true});this.hammer.get(\"pan\").set({threshold:5,direction:30});hammerUtil.onTouch(this.hammer,function(event){_this3.body.eventListeners.onTouch(event)});this.hammer.on(\"tap\",function(event){_this3.body.eventListeners.onTap(event)});this.hammer.on(\"doubletap\",function(event){_this3.body.eventListeners.onDoubleTap(event)});this.hammer.on(\"press\",function(event){_this3.body.eventListeners.onHold(event)});this.hammer.on(\"panstart\",function(event){_this3.body.eventListeners.onDragStart(event)});this.hammer.on(\"panmove\",function(event){_this3.body.eventListeners.onDrag(event)});this.hammer.on(\"panend\",function(event){_this3.body.eventListeners.onDragEnd(event)});this.hammer.on(\"pinch\",function(event){_this3.body.eventListeners.onPinch(event)});this.frame.canvas.addEventListener(\"mousewheel\",function(event){_this3.body.eventListeners.onMouseWheel(event)});this.frame.canvas.addEventListener(\"DOMMouseScroll\",function(event){_this3.body.eventListeners.onMouseWheel(event)});this.frame.canvas.addEventListener(\"mousemove\",function(event){_this3.body.eventListeners.onMouseMove(event)});this.frame.canvas.addEventListener(\"contextmenu\",function(event){\n_this3.body.eventListeners.onContext(event)});this.hammerFrame=new Hammer(this.frame);hammerUtil.onRelease(this.hammerFrame,function(event){_this3.body.eventListeners.onRelease(event)})}},{key:\"setSize\",value:function setSize(){var width=arguments[0]===undefined?this.options.width:arguments[0];var height=arguments[1]===undefined?this.options.height:arguments[1];width=this._prepareValue(width);height=this._prepareValue(height);var emitEvent=false;var oldWidth=this.frame.canvas.width;var oldHeight=this.frame.canvas.height;if(width!=this.options.width||height!=this.options.height||this.frame.style.width!=width||this.frame.style.height!=height){this.frame.style.width=width;this.frame.style.height=height;this.frame.canvas.style.width=\"100%\";this.frame.canvas.style.height=\"100%\";this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio);this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio);this.options.width=width;this.options.height=height;emitEvent=true}else{if(this.frame.canvas.width!=Math.round(this.frame.canvas.clientWidth*this.pixelRatio)){this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio);emitEvent=true}if(this.frame.canvas.height!=Math.round(this.frame.canvas.clientHeight*this.pixelRatio)){this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio);emitEvent=true}}if(emitEvent===true){this.body.emitter.emit(\"resize\",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(oldWidth/this.pixelRatio),oldHeight:Math.round(oldHeight/this.pixelRatio)})}return emitEvent}},{key:\"_XconvertDOMtoCanvas\",value:function _XconvertDOMtoCanvas(x){return(x-this.body.view.translation.x)/this.body.view.scale}},{key:\"_XconvertCanvasToDOM\",value:function _XconvertCanvasToDOM(x){return x*this.body.view.scale+this.body.view.translation.x}},{key:\"_YconvertDOMtoCanvas\",value:function _YconvertDOMtoCanvas(y){return(y-this.body.view.translation.y)/this.body.view.scale}},{key:\"_YconvertCanvasToDOM\",value:function _YconvertCanvasToDOM(y){return y*this.body.view.scale+this.body.view.translation.y}},{key:\"canvasToDOM\",value:function canvasToDOM(pos){return{x:this._XconvertCanvasToDOM(pos.x),y:this._YconvertCanvasToDOM(pos.y)}}},{key:\"DOMtoCanvas\",value:function DOMtoCanvas(pos){return{x:this._XconvertDOMtoCanvas(pos.x),y:this._YconvertDOMtoCanvas(pos.y)}}}]);return Canvas}();exports[\"default\"]=Canvas;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var util=__webpack_require__(7);var View=function(){function View(body,canvas){var _this=this;_classCallCheck(this,View);this.body=body;this.canvas=canvas;this.animationSpeed=1/this.renderRefreshRate;this.animationEasingFunction=\"easeInOutQuint\";this.easingTime=0;this.sourceScale=0;this.targetScale=0;this.sourceTranslation=0;this.targetTranslation=0;this.lockedOnNodeId=undefined;this.lockedOnNodeOffset=undefined;this.touchTime=0;this.viewFunction=undefined;this.body.emitter.on(\"fit\",this.fit.bind(this));this.body.emitter.on(\"animationFinished\",function(){_this.body.emitter.emit(\"_stopRendering\")});this.body.emitter.on(\"unlockNode\",this.releaseNode.bind(this))}_createClass(View,[{key:\"setOptions\",value:function setOptions(){var options=arguments[0]===undefined?{}:arguments[0];this.options=options}},{key:\"_getRange\",value:function _getRange(){var specificNodes=arguments[0]===undefined?[]:arguments[0];var minY=1e9,maxY=-1e9,minX=1e9,maxX=-1e9,node;if(specificNodes.length>0){for(var i=0;i<specificNodes.length;i++){node=this.body.nodes[specificNodes[i]];if(minX>node.shape.boundingBox.left){minX=node.shape.boundingBox.left}if(maxX<node.shape.boundingBox.right){maxX=node.shape.boundingBox.right}if(minY>node.shape.boundingBox.top){minY=node.shape.boundingBox.top}if(maxY<node.shape.boundingBox.bottom){maxY=node.shape.boundingBox.bottom}}}else{for(var i=0;i<this.body.nodeIndices.length;i++){node=this.body.nodes[this.body.nodeIndices[i]];if(minX>node.shape.boundingBox.left){minX=node.shape.boundingBox.left}if(maxX<node.shape.boundingBox.right){maxX=node.shape.boundingBox.right}if(minY>node.shape.boundingBox.top){minY=node.shape.boundingBox.top}if(maxY<node.shape.boundingBox.bottom){maxY=node.shape.boundingBox.bottom}}}if(minX===1e9&&maxX===-1e9&&minY===1e9&&maxY===-1e9){minY=0,maxY=0,minX=0,maxX=0}return{minX:minX,maxX:maxX,minY:minY,maxY:maxY}}},{key:\"_findCenter\",value:function _findCenter(range){return{x:.5*(range.maxX+range.minX),y:.5*(range.maxY+range.minY)}}},{key:\"fit\",value:function fit(){var options=arguments[0]===undefined?{nodes:[]}:arguments[0];var initialZoom=arguments[1]===undefined?false:arguments[1];var range;var zoomLevel;if(initialZoom===true){var positionDefined=0;for(var nodeId in this.body.nodes){if(this.body.nodes.hasOwnProperty(nodeId)){var node=this.body.nodes[nodeId];if(node.predefinedPosition===true){positionDefined+=1}}}if(positionDefined>.5*this.body.nodeIndices.length){this.fit(options,false);return}range=this._getRange(options.nodes);var numberOfNodes=this.body.nodeIndices.length;zoomLevel=12.662/(numberOfNodes+7.4147)+.0964822;var factor=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);zoomLevel*=factor}else{this.body.emitter.emit(\"_resizeNodes\");range=this._getRange(options.nodes);var xDistance=Math.abs(range.maxX-range.minX)*1.1;var yDistance=Math.abs(range.maxY-range.minY)*1.1;var xZoomLevel=this.canvas.frame.canvas.clientWidth/xDistance;var yZoomLevel=this.canvas.frame.canvas.clientHeight/yDistance;zoomLevel=xZoomLevel<=yZoomLevel?xZoomLevel:yZoomLevel}if(zoomLevel>1){zoomLevel=1}else if(zoomLevel===0){zoomLevel=1}var center=this._findCenter(range);var animationOptions={position:center,scale:zoomLevel,animation:options.animation};this.moveTo(animationOptions)}},{key:\"focus\",value:function focus(nodeId){var options=arguments[1]===undefined?{}:arguments[1];if(this.body.nodes[nodeId]!==undefined){var nodePosition={x:this.body.nodes[nodeId].x,y:this.body.nodes[nodeId].y};options.position=nodePosition;options.lockedOnNode=nodeId;this.moveTo(options)}else{console.log(\"Node: \"+nodeId+\" cannot be found.\")}}},{key:\"moveTo\",value:function moveTo(options){if(options===undefined){options={};return}if(options.offset===undefined){options.offset={x:0,y:0}}if(options.offset.x===undefined){options.offset.x=0}if(options.offset.y===undefined){options.offset.y=0}if(options.scale===undefined){options.scale=this.body.view.scale}if(options.position===undefined){options.position=this.getViewPosition()}if(options.animation===undefined){options.animation={duration:0}}if(options.animation===false){options.animation={duration:0}}if(options.animation===true){options.animation={}}if(options.animation.duration===undefined){options.animation.duration=1e3}if(options.animation.easingFunction===undefined){options.animation.easingFunction=\"easeInOutQuad\"}this.animateView(options)}},{key:\"animateView\",value:function animateView(options){if(options===undefined){return}this.animationEasingFunction=options.animation.easingFunction;this.releaseNode();if(options.locked===true){this.lockedOnNodeId=options.lockedOnNode;this.lockedOnNodeOffset=options.offset}if(this.easingTime!=0){this._transitionRedraw(true)}this.sourceScale=this.body.view.scale;this.sourceTranslation=this.body.view.translation;this.targetScale=options.scale;this.body.view.scale=this.targetScale;var viewCenter=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight});var distanceFromCenter={x:viewCenter.x-options.position.x,y:viewCenter.y-options.position.y};this.targetTranslation={x:this.sourceTranslation.x+distanceFromCenter.x*this.targetScale+options.offset.x,y:this.sourceTranslation.y+distanceFromCenter.y*this.targetScale+options.offset.y};if(options.animation.duration===0){if(this.lockedOnNodeId!=undefined){this.viewFunction=this._lockedRedraw.bind(this);this.body.emitter.on(\"initRedraw\",this.viewFunction)}else{this.body.view.scale=this.targetScale;this.body.view.translation=this.targetTranslation;this.body.emitter.emit(\"_requestRedraw\")}}else{this.animationSpeed=1/(60*options.animation.duration*.001)||1/60;this.animationEasingFunction=options.animation.easingFunction;this.viewFunction=this._transitionRedraw.bind(this);this.body.emitter.on(\"initRedraw\",this.viewFunction);this.body.emitter.emit(\"_startRendering\")}}},{key:\"_lockedRedraw\",value:function _lockedRedraw(){var nodePosition={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y};var viewCenter=this.canvas.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight});var distanceFromCenter={x:viewCenter.x-nodePosition.x,y:viewCenter.y-nodePosition.y};var sourceTranslation=this.body.view.translation;var targetTranslation={x:sourceTranslation.x+distanceFromCenter.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:sourceTranslation.y+distanceFromCenter.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=targetTranslation}},{key:\"releaseNode\",value:function releaseNode(){if(this.lockedOnNodeId!==undefined&&this.viewFunction!==undefined){this.body.emitter.off(\"initRedraw\",this.viewFunction);this.lockedOnNodeId=undefined;this.lockedOnNodeOffset=undefined}}},{key:\"_transitionRedraw\",value:function _transitionRedraw(){var finished=arguments[0]===undefined?false:arguments[0];this.easingTime+=this.animationSpeed;this.easingTime=finished===true?1:this.easingTime;var progress=util.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*progress;this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*progress,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*progress};if(this.easingTime>=1){this.body.emitter.off(\"initRedraw\",this.viewFunction);this.easingTime=0;if(this.lockedOnNodeId!=undefined){this.viewFunction=this._lockedRedraw.bind(this);this.body.emitter.on(\"initRedraw\",this.viewFunction)}this.body.emitter.emit(\"animationFinished\")}}},{key:\"getScale\",value:function getScale(){return this.body.view.scale}},{key:\"getViewPosition\",value:function getViewPosition(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]);return View}();exports[\"default\"]=View;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var _componentsNavigationHandler=__webpack_require__(103);var _componentsNavigationHandler2=_interopRequireDefault(_componentsNavigationHandler);var _componentsPopup=__webpack_require__(104);var _componentsPopup2=_interopRequireDefault(_componentsPopup);var util=__webpack_require__(7);var InteractionHandler=function(){function InteractionHandler(body,canvas,selectionHandler){_classCallCheck(this,InteractionHandler);this.body=body;this.canvas=canvas;this.selectionHandler=selectionHandler;this.navigationHandler=new _componentsNavigationHandler2[\"default\"](body,canvas);this.body.eventListeners.onTap=this.onTap.bind(this);this.body.eventListeners.onTouch=this.onTouch.bind(this);this.body.eventListeners.onDoubleTap=this.onDoubleTap.bind(this);this.body.eventListeners.onHold=this.onHold.bind(this);this.body.eventListeners.onDragStart=this.onDragStart.bind(this);this.body.eventListeners.onDrag=this.onDrag.bind(this);this.body.eventListeners.onDragEnd=this.onDragEnd.bind(this);this.body.eventListeners.onMouseWheel=this.onMouseWheel.bind(this);this.body.eventListeners.onPinch=this.onPinch.bind(this);this.body.eventListeners.onMouseMove=this.onMouseMove.bind(this);this.body.eventListeners.onRelease=this.onRelease.bind(this);this.body.eventListeners.onContext=this.onContext.bind(this);this.touchTime=0;this.drag={};this.pinch={};this.popup=undefined;this.popupObj=undefined;this.popupTimer=undefined;this.body.functions.getPointer=this.getPointer.bind(this);this.options={};this.defaultOptions={dragNodes:true,dragView:true,hover:false,keyboard:{enabled:false,speed:{x:10,y:10,zoom:.02},bindToWindow:true},navigationButtons:false,tooltipDelay:300,zoomView:true};util.extend(this.options,this.defaultOptions);this.bindEventListeners()}_createClass(InteractionHandler,[{key:\"bindEventListeners\",value:function bindEventListeners(){var _this=this;this.body.emitter.on(\"destroy\",function(){clearTimeout(_this.popupTimer);delete _this.body.functions.getPointer})}},{key:\"setOptions\",value:function setOptions(options){if(options!==undefined){var fields=[\"hideEdgesOnDrag\",\"hideNodesOnDrag\",\"keyboard\",\"multiselect\",\"selectable\",\"selectConnectedEdges\"];util.selectiveNotDeepExtend(fields,this.options,options);util.mergeOptions(this.options,options,\"keyboard\");if(options.tooltip){util.extend(this.options.tooltip,options.tooltip);if(options.tooltip.color){this.options.tooltip.color=util.parseColor(options.tooltip.color)}}}this.navigationHandler.setOptions(this.options)}},{key:\"getPointer\",value:function getPointer(touch){return{x:touch.x-util.getAbsoluteLeft(this.canvas.frame.canvas),y:touch.y-util.getAbsoluteTop(this.canvas.frame.canvas)}}},{key:\"onTouch\",value:function onTouch(event){if((new Date).valueOf()-this.touchTime>50){this.drag.pointer=this.getPointer(event.center);this.drag.pinched=false;this.pinch.scale=this.body.view.scale;this.touchTime=(new Date).valueOf()}}},{key:\"onTap\",value:function onTap(event){var pointer=this.getPointer(event.center);var multiselect=this.selectionHandler.options.multiselect&&(event.changedPointers[0].ctrlKey||event.changedPointers[0].metaKey);this.checkSelectionChanges(pointer,event,multiselect);this.selectionHandler._generateClickEvent(\"click\",event,pointer)}},{key:\"onDoubleTap\",value:function onDoubleTap(event){var pointer=this.getPointer(event.center);this.selectionHandler._generateClickEvent(\"doubleClick\",event,pointer)}},{key:\"onHold\",value:function onHold(event){var pointer=this.getPointer(event.center);var multiselect=this.selectionHandler.options.multiselect;this.checkSelectionChanges(pointer,event,multiselect);this.selectionHandler._generateClickEvent(\"click\",event,pointer);this.selectionHandler._generateClickEvent(\"hold\",event,pointer)}},{key:\"onRelease\",value:function onRelease(event){if((new Date).valueOf()-this.touchTime>10){var pointer=this.getPointer(event.center);this.selectionHandler._generateClickEvent(\"release\",event,pointer);this.touchTime=(new Date).valueOf()}}},{key:\"onContext\",value:function onContext(event){var pointer=this.getPointer({x:event.clientX,y:event.clientY});this.selectionHandler._generateClickEvent(\"oncontext\",event,pointer)}},{key:\"checkSelectionChanges\",value:function checkSelectionChanges(pointer,event){var add=arguments[2]===undefined?false:arguments[2];var previouslySelectedEdgeCount=this.selectionHandler._getSelectedEdgeCount();var previouslySelectedNodeCount=this.selectionHandler._getSelectedNodeCount();var previousSelection=this.selectionHandler.getSelection();var selected=undefined;if(add===true){selected=this.selectionHandler.selectAdditionalOnPoint(pointer)}else{selected=this.selectionHandler.selectOnPoint(pointer)}var selectedEdgesCount=this.selectionHandler._getSelectedEdgeCount();var selectedNodesCount=this.selectionHandler._getSelectedNodeCount();var currentSelection=this.selectionHandler.getSelection();var _determineIfDifferent2=this._determineIfDifferent(previousSelection,currentSelection);var nodesChanges=_determineIfDifferent2.nodesChanges;var edgesChanges=_determineIfDifferent2.edgesChanges;if(selectedNodesCount-previouslySelectedNodeCount>0){this.selectionHandler._generateClickEvent(\"selectNode\",event,pointer);selected=true}else if(selectedNodesCount-previouslySelectedNodeCount<0){this.selectionHandler._generateClickEvent(\"deselectNode\",event,pointer,previousSelection);selected=true}else if(selectedNodesCount===previouslySelectedNodeCount&&nodesChanges===true){this.selectionHandler._generateClickEvent(\"deselectNode\",event,pointer,previousSelection);this.selectionHandler._generateClickEvent(\"selectNode\",event,pointer);selected=true}if(selectedEdgesCount-previouslySelectedEdgeCount>0){this.selectionHandler._generateClickEvent(\"selectEdge\",event,pointer);selected=true}else if(selectedEdgesCount-previouslySelectedEdgeCount<0){this.selectionHandler._generateClickEvent(\"deselectEdge\",event,pointer,previousSelection);selected=true}else if(selectedEdgesCount===previouslySelectedEdgeCount&&edgesChanges===true){this.selectionHandler._generateClickEvent(\"deselectEdge\",event,pointer,previousSelection);this.selectionHandler._generateClickEvent(\"selectEdge\",event,pointer);selected=true}if(selected===true){this.selectionHandler._generateClickEvent(\"select\",event,pointer)}}},{key:\"_determineIfDifferent\",value:function _determineIfDifferent(previousSelection,currentSelection){var nodesChanges=false;var edgesChanges=false;for(var i=0;i<previousSelection.nodes.length;i++){if(currentSelection.nodes.indexOf(previousSelection.nodes[i])===-1){nodesChanges=true}}for(var i=0;i<currentSelection.nodes.length;i++){if(previousSelection.nodes.indexOf(previousSelection.nodes[i])===-1){nodesChanges=true}}for(var i=0;i<previousSelection.edges.length;i++){if(currentSelection.edges.indexOf(previousSelection.edges[i])===-1){edgesChanges=true}}for(var i=0;i<currentSelection.edges.length;i++){if(previousSelection.edges.indexOf(previousSelection.edges[i])===-1){edgesChanges=true}}return{nodesChanges:nodesChanges,edgesChanges:edgesChanges}}},{key:\"onDragStart\",value:function onDragStart(event){if(this.drag.pointer===undefined){this.onTouch(event)}var node=this.selectionHandler.getNodeAt(this.drag.pointer);this.drag.dragging=true;this.drag.selection=[];this.drag.translation=util.extend({},this.body.view.translation);this.drag.nodeId=undefined;if(node!==undefined&&this.options.dragNodes===true){this.drag.nodeId=node.id;if(node.isSelected()===false){this.selectionHandler.unselectAll();this.selectionHandler.selectObject(node)}this.selectionHandler._generateClickEvent(\"dragStart\",event,this.drag.pointer);var selection=this.selectionHandler.selectionObj.nodes;for(var nodeId in selection){if(selection.hasOwnProperty(nodeId)){var object=selection[nodeId];var s={id:object.id,node:object,x:object.x,y:object.y,xFixed:object.options.fixed.x,yFixed:object.options.fixed.y};object.options.fixed.x=true;object.options.fixed.y=true;this.drag.selection.push(s)}}}else{this.selectionHandler._generateClickEvent(\"dragStart\",event,this.drag.pointer,undefined,true)}}},{key:\"onDrag\",value:function onDrag(event){var _this2=this;if(this.drag.pinched===true){return}this.body.emitter.emit(\"unlockNode\");var pointer=this.getPointer(event.center);var selection=this.drag.selection;if(selection&&selection.length&&this.options.dragNodes===true){(function(){_this2.selectionHandler._generateClickEvent(\"dragging\",event,pointer);var deltaX=pointer.x-_this2.drag.pointer.x;var deltaY=pointer.y-_this2.drag.pointer.y;selection.forEach(function(selection){var node=selection.node;if(selection.xFixed===false){node.x=_this2.canvas._XconvertDOMtoCanvas(_this2.canvas._XconvertCanvasToDOM(selection.x)+deltaX)}if(selection.yFixed===false){node.y=_this2.canvas._YconvertDOMtoCanvas(_this2.canvas._YconvertCanvasToDOM(selection.y)+deltaY)}});_this2.body.emitter.emit(\"startSimulation\")})()}else{if(this.options.dragView===true){this.selectionHandler._generateClickEvent(\"dragging\",event,pointer,undefined,true);if(this.drag.pointer===undefined){this._handleDragStart(event);return}var diffX=pointer.x-this.drag.pointer.x;var diffY=pointer.y-this.drag.pointer.y;this.body.view.translation={x:this.drag.translation.x+diffX,y:this.drag.translation.y+diffY};this.body.emitter.emit(\"_redraw\")}}}},{key:\"onDragEnd\",value:function onDragEnd(event){this.drag.dragging=false;var selection=this.drag.selection;if(selection&&selection.length){selection.forEach(function(s){s.node.options.fixed.x=s.xFixed;s.node.options.fixed.y=s.yFixed});this.selectionHandler._generateClickEvent(\"dragEnd\",event,this.getPointer(event.center));this.body.emitter.emit(\"startSimulation\")}else{this.selectionHandler._generateClickEvent(\"dragEnd\",event,this.getPointer(event.center),undefined,true);this.body.emitter.emit(\"_requestRedraw\")}}},{key:\"onPinch\",value:function onPinch(event){var pointer=this.getPointer(event.center);this.drag.pinched=true;if(this.pinch[\"scale\"]===undefined){this.pinch.scale=1}var scale=this.pinch.scale*event.scale;this.zoom(scale,pointer)}},{key:\"zoom\",value:function zoom(scale,pointer){if(this.options.zoomView===true){var scaleOld=this.body.view.scale;if(scale<1e-5){scale=1e-5}if(scale>10){scale=10}var preScaleDragPointer=undefined;if(this.drag!==undefined){if(this.drag.dragging===true){preScaleDragPointer=this.canvas.DOMtoCanvas(this.drag.pointer)}}var translation=this.body.view.translation;var scaleFrac=scale/scaleOld;var tx=(1-scaleFrac)*pointer.x+translation.x*scaleFrac;var ty=(1-scaleFrac)*pointer.y+translation.y*scaleFrac;this.body.view.scale=scale;this.body.view.translation={x:tx,y:ty};if(preScaleDragPointer!=undefined){var postScaleDragPointer=this.canvas.canvasToDOM(preScaleDragPointer);this.drag.pointer.x=postScaleDragPointer.x;this.drag.pointer.y=postScaleDragPointer.y}this.body.emitter.emit(\"_requestRedraw\");if(scaleOld<scale){this.body.emitter.emit(\"zoom\",{direction:\"+\",scale:this.body.view.scale})}else{this.body.emitter.emit(\"zoom\",{direction:\"-\",scale:this.body.view.scale})}}}},{key:\"onMouseWheel\",value:function onMouseWheel(event){var delta=0;if(event.wheelDelta){delta=event.wheelDelta/120}else if(event.detail){delta=-event.detail/3}if(delta!==0){var scale=this.body.view.scale;var zoom=delta/10;if(delta<0){zoom=zoom/(1-zoom)}scale*=1+zoom;var pointer=this.getPointer({x:event.clientX,y:event.clientY});this.zoom(scale,pointer)}event.preventDefault()}},{key:\"onMouseMove\",value:function onMouseMove(event){var _this3=this;var pointer=this.getPointer({x:event.clientX,y:event.clientY});var popupVisible=false;if(this.popup!==undefined){if(this.popup.hidden===false){this._checkHidePopup(pointer)}if(this.popup.hidden===false){popupVisible=true;this.popup.setPosition(pointer.x+3,pointer.y-5);this.popup.show()}}if(this.options.keyboard.bindToWindow===false&&this.options.keyboard.enabled===true){this.canvas.frame.focus()}if(popupVisible===false){if(this.popupTimer!==undefined){clearInterval(this.popupTimer);this.popupTimer=undefined}if(!this.drag.dragging){this.popupTimer=setTimeout(function(){return _this3._checkShowPopup(pointer)},this.options.tooltipDelay)}}if(this.options.hover===true){var obj=this.selectionHandler.getNodeAt(pointer);if(obj===undefined){obj=this.selectionHandler.getEdgeAt(pointer)}this.selectionHandler.hoverObject(obj)}}},{key:\"_checkShowPopup\",value:function _checkShowPopup(pointer){var x=this.canvas._XconvertDOMtoCanvas(pointer.x);var y=this.canvas._YconvertDOMtoCanvas(pointer.y);var pointerObj={left:x,top:y,right:x,bottom:y};var previousPopupObjId=this.popupObj===undefined?undefined:this.popupObj.id;var nodeUnderCursor=false;var popupType=\"node\";if(this.popupObj===undefined){var nodeIndices=this.body.nodeIndices;var nodes=this.body.nodes;var node=undefined;var overlappingNodes=[];for(var i=0;i<nodeIndices.length;i++){node=nodes[nodeIndices[i]];if(node.isOverlappingWith(pointerObj)===true){if(node.getTitle()!==undefined){overlappingNodes.push(nodeIndices[i])}}}if(overlappingNodes.length>0){this.popupObj=nodes[overlappingNodes[overlappingNodes.length-1]];nodeUnderCursor=true}}if(this.popupObj===undefined&&nodeUnderCursor===false){var edgeIndices=this.body.edgeIndices;var edges=this.body.edges;var edge=undefined;var overlappingEdges=[];for(var i=0;i<edgeIndices.length;i++){edge=edges[edgeIndices[i]];if(edge.isOverlappingWith(pointerObj)===true){if(edge.connected===true&&edge.getTitle()!==undefined){overlappingEdges.push(edgeIndices[i])}}}if(overlappingEdges.length>0){this.popupObj=edges[overlappingEdges[overlappingEdges.length-1]];popupType=\"edge\"}}if(this.popupObj!==undefined){if(this.popupObj.id!==previousPopupObjId){if(this.popup===undefined){this.popup=new _componentsPopup2[\"default\"](this.canvas.frame)}this.popup.popupTargetType=popupType;this.popup.popupTargetId=this.popupObj.id;this.popup.setPosition(pointer.x+3,pointer.y-5);this.popup.setText(this.popupObj.getTitle());this.popup.show();this.body.emitter.emit(\"showPopup\",this.popupObj.id)}}else{if(this.popup!==undefined){this.popup.hide();this.body.emitter.emit(\"hidePopup\")}}}},{key:\"_checkHidePopup\",value:function _checkHidePopup(pointer){var pointerObj=this.selectionHandler._pointerToPositionObject(pointer);var stillOnObj=false;if(this.popup.popupTargetType===\"node\"){if(this.body.nodes[this.popup.popupTargetId]!==undefined){stillOnObj=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(pointerObj);if(stillOnObj===true){var overNode=this.selectionHandler.getNodeAt(pointer);stillOnObj=overNode.id===this.popup.popupTargetId}}}else{if(this.selectionHandler.getNodeAt(pointer)===undefined){if(this.body.edges[this.popup.popupTargetId]!==undefined){stillOnObj=this.body.edges[this.popup.popupTargetId].isOverlappingWith(pointerObj)}}}if(stillOnObj===false){this.popupObj=undefined;this.popup.hide();this.body.emitter.emit(\"hidePopup\")}}}]);return InteractionHandler}();exports[\"default\"]=InteractionHandler;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var util=__webpack_require__(7);var Hammer=__webpack_require__(3);var hammerUtil=__webpack_require__(30);var keycharm=__webpack_require__(43);var NavigationHandler=function(){function NavigationHandler(body,canvas){var _this=this;_classCallCheck(this,NavigationHandler);this.body=body;this.canvas=canvas;this.iconsCreated=false;this.navigationHammers=[];this.boundFunctions={};this.touchTime=0;this.activated=false;this.body.emitter.on(\"activate\",function(){_this.activated=true;_this.configureKeyboardBindings()});this.body.emitter.on(\"deactivate\",function(){_this.activated=false;_this.configureKeyboardBindings()});this.body.emitter.on(\"destroy\",function(){if(_this.keycharm!==undefined){_this.keycharm.destroy()}});this.options={}}_createClass(NavigationHandler,[{key:\"setOptions\",value:function setOptions(options){if(options!==undefined){this.options=options;this.create()}}},{key:\"create\",value:function create(){if(this.options.navigationButtons===true){if(this.iconsCreated===false){this.loadNavigationElements()}}else if(this.iconsCreated===true){this.cleanNavigation()}this.configureKeyboardBindings()}},{key:\"cleanNavigation\",value:function cleanNavigation(){if(this.navigationHammers.length!=0){for(var i=0;i<this.navigationHammers.length;i++){this.navigationHammers[i].destroy()}this.navigationHammers=[]}if(this.navigationDOM&&this.navigationDOM[\"wrapper\"]&&this.navigationDOM[\"wrapper\"].parentNode){this.navigationDOM[\"wrapper\"].parentNode.removeChild(this.navigationDOM[\"wrapper\"])}this.iconsCreated=false}},{key:\"loadNavigationElements\",value:function loadNavigationElements(){var _this2=this;this.cleanNavigation();this.navigationDOM={};var navigationDivs=[\"up\",\"down\",\"left\",\"right\",\"zoomIn\",\"zoomOut\",\"zoomExtends\"];var navigationDivActions=[\"_moveUp\",\"_moveDown\",\"_moveLeft\",\"_moveRight\",\"_zoomIn\",\"_zoomOut\",\"_fit\"];this.navigationDOM[\"wrapper\"]=document.createElement(\"div\");this.navigationDOM[\"wrapper\"].className=\"vis-navigation\";this.canvas.frame.appendChild(this.navigationDOM[\"wrapper\"]);for(var i=0;i<navigationDivs.length;i++){this.navigationDOM[navigationDivs[i]]=document.createElement(\"div\");this.navigationDOM[navigationDivs[i]].className=\"vis-button vis-\"+navigationDivs[i];this.navigationDOM[\"wrapper\"].appendChild(this.navigationDOM[navigationDivs[i]]);var hammer=new Hammer(this.navigationDOM[navigationDivs[i]]);if(navigationDivActions[i]===\"_fit\"){hammerUtil.onTouch(hammer,this._fit.bind(this))}else{hammerUtil.onTouch(hammer,this.bindToRedraw.bind(this,navigationDivActions[i]))}this.navigationHammers.push(hammer)}var hammerFrame=new Hammer(this.canvas.frame);hammerUtil.onRelease(hammerFrame,function(){_this2._stopMovement()});this.navigationHammers.push(hammerFrame);this.iconsCreated=true}},{key:\"bindToRedraw\",value:function bindToRedraw(action){if(this.boundFunctions[action]===undefined){this.boundFunctions[action]=this[action].bind(this);this.body.emitter.on(\"initRedraw\",this.boundFunctions[action]);this.body.emitter.emit(\"_startRendering\")}}},{key:\"unbindFromRedraw\",value:function unbindFromRedraw(action){if(this.boundFunctions[action]!==undefined){this.body.emitter.off(\"initRedraw\",this.boundFunctions[action]);this.body.emitter.emit(\"_stopRendering\");delete this.boundFunctions[action]}}},{key:\"_fit\",value:function _fit(){if((new Date).valueOf()-this.touchTime>700){this.body.emitter.emit(\"fit\",{duration:700});this.touchTime=(new Date).valueOf()}}},{key:\"_stopMovement\",value:function _stopMovement(){for(var boundAction in this.boundFunctions){if(this.boundFunctions.hasOwnProperty(boundAction)){this.body.emitter.off(\"initRedraw\",this.boundFunctions[boundAction]);this.body.emitter.emit(\"_stopRendering\")}}this.boundFunctions={}}},{key:\"_moveUp\",value:function _moveUp(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:\"_moveDown\",value:function _moveDown(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:\"_moveLeft\",value:function _moveLeft(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:\"_moveRight\",value:function _moveRight(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:\"_zoomIn\",value:function _zoomIn(){this.body.view.scale*=1+this.options.keyboard.speed.zoom;this.body.emitter.emit(\"zoom\",{direction:\"+\",scale:this.body.view.scale})}},{key:\"_zoomOut\",\nvalue:function _zoomOut(){this.body.view.scale/=1+this.options.keyboard.speed.zoom;this.body.emitter.emit(\"zoom\",{direction:\"-\",scale:this.body.view.scale})}},{key:\"configureKeyboardBindings\",value:function configureKeyboardBindings(){var _this3=this;if(this.keycharm!==undefined){this.keycharm.destroy()}if(this.options.keyboard.enabled===true){if(this.options.keyboard.bindToWindow===true){this.keycharm=keycharm({container:window,preventDefault:true})}else{this.keycharm=keycharm({container:this.canvas.frame,preventDefault:true})}this.keycharm.reset();if(this.activated===true){this.keycharm.bind(\"up\",function(){_this3.bindToRedraw(\"_moveUp\")},\"keydown\");this.keycharm.bind(\"down\",function(){_this3.bindToRedraw(\"_moveDown\")},\"keydown\");this.keycharm.bind(\"left\",function(){_this3.bindToRedraw(\"_moveLeft\")},\"keydown\");this.keycharm.bind(\"right\",function(){_this3.bindToRedraw(\"_moveRight\")},\"keydown\");this.keycharm.bind(\"=\",function(){_this3.bindToRedraw(\"_zoomIn\")},\"keydown\");this.keycharm.bind(\"num+\",function(){_this3.bindToRedraw(\"_zoomIn\")},\"keydown\");this.keycharm.bind(\"num-\",function(){_this3.bindToRedraw(\"_zoomOut\")},\"keydown\");this.keycharm.bind(\"-\",function(){_this3.bindToRedraw(\"_zoomOut\")},\"keydown\");this.keycharm.bind(\"[\",function(){_this3.bindToRedraw(\"_zoomOut\")},\"keydown\");this.keycharm.bind(\"]\",function(){_this3.bindToRedraw(\"_zoomIn\")},\"keydown\");this.keycharm.bind(\"pageup\",function(){_this3.bindToRedraw(\"_zoomIn\")},\"keydown\");this.keycharm.bind(\"pagedown\",function(){_this3.bindToRedraw(\"_zoomOut\")},\"keydown\");this.keycharm.bind(\"up\",function(){_this3.unbindFromRedraw(\"_moveUp\")},\"keyup\");this.keycharm.bind(\"down\",function(){_this3.unbindFromRedraw(\"_moveDown\")},\"keyup\");this.keycharm.bind(\"left\",function(){_this3.unbindFromRedraw(\"_moveLeft\")},\"keyup\");this.keycharm.bind(\"right\",function(){_this3.unbindFromRedraw(\"_moveRight\")},\"keyup\");this.keycharm.bind(\"=\",function(){_this3.unbindFromRedraw(\"_zoomIn\")},\"keyup\");this.keycharm.bind(\"num+\",function(){_this3.unbindFromRedraw(\"_zoomIn\")},\"keyup\");this.keycharm.bind(\"num-\",function(){_this3.unbindFromRedraw(\"_zoomOut\")},\"keyup\");this.keycharm.bind(\"-\",function(){_this3.unbindFromRedraw(\"_zoomOut\")},\"keyup\");this.keycharm.bind(\"[\",function(){_this3.unbindFromRedraw(\"_zoomOut\")},\"keyup\");this.keycharm.bind(\"]\",function(){_this3.unbindFromRedraw(\"_zoomIn\")},\"keyup\");this.keycharm.bind(\"pageup\",function(){_this3.unbindFromRedraw(\"_zoomIn\")},\"keyup\");this.keycharm.bind(\"pagedown\",function(){_this3.unbindFromRedraw(\"_zoomOut\")},\"keyup\")}}}}]);return NavigationHandler}();exports[\"default\"]=NavigationHandler;module.exports=exports[\"default\"]},function(module,exports){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var Popup=function(){function Popup(container){_classCallCheck(this,Popup);this.container=container;this.x=0;this.y=0;this.padding=5;this.hidden=false;this.frame=document.createElement(\"div\");this.frame.className=\"vis-network-tooltip\";this.container.appendChild(this.frame)}_createClass(Popup,[{key:\"setPosition\",value:function setPosition(x,y){this.x=parseInt(x);this.y=parseInt(y)}},{key:\"setText\",value:function setText(content){if(content instanceof Element){this.frame.innerHTML=\"\";this.frame.appendChild(content)}else{this.frame.innerHTML=content}}},{key:\"show\",value:function show(doShow){if(doShow===undefined){doShow=true}if(doShow===true){var height=this.frame.clientHeight;var width=this.frame.clientWidth;var maxHeight=this.frame.parentNode.clientHeight;var maxWidth=this.frame.parentNode.clientWidth;var top=this.y-height;if(top+height+this.padding>maxHeight){top=maxHeight-height-this.padding}if(top<this.padding){top=this.padding}var left=this.x;if(left+width+this.padding>maxWidth){left=maxWidth-width-this.padding}if(left<this.padding){left=this.padding}this.frame.style.left=left+\"px\";this.frame.style.top=top+\"px\";this.frame.style.visibility=\"visible\";this.hidden=false}else{this.hide()}}},{key:\"hide\",value:function hide(){this.hidden=true;this.frame.style.visibility=\"hidden\"}}]);return Popup}();exports[\"default\"]=Popup;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var Node=__webpack_require__(62);var Edge=__webpack_require__(82);var util=__webpack_require__(7);var SelectionHandler=function(){function SelectionHandler(body,canvas){var _this=this;_classCallCheck(this,SelectionHandler);this.body=body;this.canvas=canvas;this.selectionObj={nodes:[],edges:[]};this.hoverObj={nodes:{},edges:{}};this.options={};this.defaultOptions={multiselect:false,selectable:true,selectConnectedEdges:true,hoverConnectedEdges:true};util.extend(this.options,this.defaultOptions);this.body.emitter.on(\"_dataChanged\",function(){_this.updateSelection()})}_createClass(SelectionHandler,[{key:\"setOptions\",value:function setOptions(options){if(options!==undefined){var fields=[\"multiselect\",\"hoverConnectedEdges\",\"selectable\",\"selectConnectedEdges\"];util.selectiveDeepExtend(fields,this.options,options)}}},{key:\"selectOnPoint\",value:function selectOnPoint(pointer){var selected=false;if(this.options.selectable===true){var obj=this.getNodeAt(pointer)||this.getEdgeAt(pointer);this.unselectAll();if(obj!==undefined){selected=this.selectObject(obj)}this.body.emitter.emit(\"_requestRedraw\")}return selected}},{key:\"selectAdditionalOnPoint\",value:function selectAdditionalOnPoint(pointer){var selectionChanged=false;if(this.options.selectable===true){var obj=this.getNodeAt(pointer)||this.getEdgeAt(pointer);if(obj!==undefined){selectionChanged=true;if(obj.isSelected()===true){this.deselectObject(obj)}else{this.selectObject(obj)}this.body.emitter.emit(\"_requestRedraw\")}}return selectionChanged}},{key:\"_generateClickEvent\",value:function _generateClickEvent(eventType,event,pointer,oldSelection){var emptySelection=arguments[4]===undefined?false:arguments[4];var properties=undefined;if(emptySelection===true){properties={nodes:[],edges:[]}}else{properties=this.getSelection()}properties[\"pointer\"]={DOM:{x:pointer.x,y:pointer.y},canvas:this.canvas.DOMtoCanvas(pointer)};properties[\"event\"]=event;if(oldSelection!==undefined){properties[\"previousSelection\"]=oldSelection}this.body.emitter.emit(eventType,properties)}},{key:\"selectObject\",value:function selectObject(obj){var highlightEdges=arguments[1]===undefined?this.options.selectConnectedEdges:arguments[1];if(obj!==undefined){if(obj instanceof Node){if(highlightEdges===true){this._selectConnectedEdges(obj)}}obj.select();this._addToSelection(obj);return true}return false}},{key:\"deselectObject\",value:function deselectObject(obj){if(obj.isSelected()===true){obj.selected=false;this._removeFromSelection(obj)}}},{key:\"_getAllNodesOverlappingWith\",value:function _getAllNodesOverlappingWith(object){var overlappingNodes=[];var nodes=this.body.nodes;for(var i=0;i<this.body.nodeIndices.length;i++){var nodeId=this.body.nodeIndices[i];if(nodes[nodeId].isOverlappingWith(object)){overlappingNodes.push(nodeId)}}return overlappingNodes}},{key:\"_pointerToPositionObject\",value:function _pointerToPositionObject(pointer){var canvasPos=this.canvas.DOMtoCanvas(pointer);return{left:canvasPos.x-1,top:canvasPos.y+1,right:canvasPos.x+1,bottom:canvasPos.y-1}}},{key:\"getNodeAt\",value:function getNodeAt(pointer){var returnNode=arguments[1]===undefined?true:arguments[1];var positionObject=this._pointerToPositionObject(pointer);var overlappingNodes=this._getAllNodesOverlappingWith(positionObject);if(overlappingNodes.length>0){if(returnNode===true){return this.body.nodes[overlappingNodes[overlappingNodes.length-1]]}else{return overlappingNodes[overlappingNodes.length-1]}}else{return undefined}}},{key:\"_getEdgesOverlappingWith\",value:function _getEdgesOverlappingWith(object,overlappingEdges){var edges=this.body.edges;for(var i=0;i<this.body.edgeIndices.length;i++){var edgeId=this.body.edgeIndices[i];if(edges[edgeId].isOverlappingWith(object)){overlappingEdges.push(edgeId)}}}},{key:\"_getAllEdgesOverlappingWith\",value:function _getAllEdgesOverlappingWith(object){var overlappingEdges=[];this._getEdgesOverlappingWith(object,overlappingEdges);return overlappingEdges}},{key:\"getEdgeAt\",value:function getEdgeAt(pointer){var returnEdge=arguments[1]===undefined?true:arguments[1];var positionObject=this._pointerToPositionObject(pointer);var overlappingEdges=this._getAllEdgesOverlappingWith(positionObject);if(overlappingEdges.length>0){if(returnEdge===true){return this.body.edges[overlappingEdges[overlappingEdges.length-1]]}else{return overlappingEdges[overlappingEdges.length-1]}}else{return undefined}}},{key:\"_addToSelection\",value:function _addToSelection(obj){if(obj instanceof Node){this.selectionObj.nodes[obj.id]=obj}else{this.selectionObj.edges[obj.id]=obj}}},{key:\"_addToHover\",value:function _addToHover(obj){if(obj instanceof Node){this.hoverObj.nodes[obj.id]=obj}else{this.hoverObj.edges[obj.id]=obj}}},{key:\"_removeFromSelection\",value:function _removeFromSelection(obj){if(obj instanceof Node){delete this.selectionObj.nodes[obj.id]}else{delete this.selectionObj.edges[obj.id]}}},{key:\"unselectAll\",value:function unselectAll(){for(var nodeId in this.selectionObj.nodes){if(this.selectionObj.nodes.hasOwnProperty(nodeId)){this.selectionObj.nodes[nodeId].unselect()}}for(var edgeId in this.selectionObj.edges){if(this.selectionObj.edges.hasOwnProperty(edgeId)){this.selectionObj.edges[edgeId].unselect()}}this.selectionObj={nodes:{},edges:{}}}},{key:\"_getSelectedNodeCount\",value:function _getSelectedNodeCount(){var count=0;for(var nodeId in this.selectionObj.nodes){if(this.selectionObj.nodes.hasOwnProperty(nodeId)){count+=1}}return count}},{key:\"_getSelectedNode\",value:function _getSelectedNode(){for(var nodeId in this.selectionObj.nodes){if(this.selectionObj.nodes.hasOwnProperty(nodeId)){return this.selectionObj.nodes[nodeId]}}return undefined}},{key:\"_getSelectedEdge\",value:function _getSelectedEdge(){for(var edgeId in this.selectionObj.edges){if(this.selectionObj.edges.hasOwnProperty(edgeId)){return this.selectionObj.edges[edgeId]}}return undefined}},{key:\"_getSelectedEdgeCount\",value:function _getSelectedEdgeCount(){var count=0;for(var edgeId in this.selectionObj.edges){if(this.selectionObj.edges.hasOwnProperty(edgeId)){count+=1}}return count}},{key:\"_getSelectedObjectCount\",value:function _getSelectedObjectCount(){var count=0;for(var nodeId in this.selectionObj.nodes){if(this.selectionObj.nodes.hasOwnProperty(nodeId)){count+=1}}for(var edgeId in this.selectionObj.edges){if(this.selectionObj.edges.hasOwnProperty(edgeId)){count+=1}}return count}},{key:\"_selectionIsEmpty\",value:function _selectionIsEmpty(){for(var nodeId in this.selectionObj.nodes){if(this.selectionObj.nodes.hasOwnProperty(nodeId)){return false}}for(var edgeId in this.selectionObj.edges){if(this.selectionObj.edges.hasOwnProperty(edgeId)){return false}}return true}},{key:\"_clusterInSelection\",value:function _clusterInSelection(){for(var nodeId in this.selectionObj.nodes){if(this.selectionObj.nodes.hasOwnProperty(nodeId)){if(this.selectionObj.nodes[nodeId].clusterSize>1){return true}}}return false}},{key:\"_selectConnectedEdges\",value:function _selectConnectedEdges(node){for(var i=0;i<node.edges.length;i++){var edge=node.edges[i];edge.select();this._addToSelection(edge)}}},{key:\"_hoverConnectedEdges\",value:function _hoverConnectedEdges(node){for(var i=0;i<node.edges.length;i++){var edge=node.edges[i];edge.hover=true;this._addToHover(edge)}}},{key:\"_unselectConnectedEdges\",value:function _unselectConnectedEdges(node){for(var i=0;i<node.edges.length;i++){var edge=node.edges[i];edge.unselect();this._removeFromSelection(edge)}}},{key:\"blurObject\",value:function blurObject(object){if(object.hover===true){object.hover=false;if(object instanceof Node){this.body.emitter.emit(\"blurNode\",{node:object.id})}else{this.body.emitter.emit(\"blurEdge\",{edge:object.id})}}}},{key:\"hoverObject\",value:function hoverObject(object){var hoverChanged=false;for(var nodeId in this.hoverObj.nodes){if(this.hoverObj.nodes.hasOwnProperty(nodeId)){if(object===undefined){this.blurObject(this.hoverObj.nodes[nodeId]);hoverChanged=true}else if(object instanceof Node&&object.id!=nodeId||object instanceof Edge||object===undefined){this.blurObject(this.hoverObj.nodes[nodeId]);hoverChanged=true;delete this.hoverObj.nodes[nodeId]}}}for(var edgeId in this.hoverObj.edges){if(this.hoverObj.edges.hasOwnProperty(edgeId)){this.hoverObj.edges[edgeId].hover=false;delete this.hoverObj.edges[edgeId]}}if(object!==undefined){if(object.hover===false){object.hover=true;this._addToHover(object);hoverChanged=true;if(object instanceof Node){this.body.emitter.emit(\"hoverNode\",{node:object.id})}else{this.body.emitter.emit(\"hoverEdge\",{edge:object.id})}}if(object instanceof Node&&this.options.hoverConnectedEdges===true){this._hoverConnectedEdges(object)}}if(hoverChanged===true){this.body.emitter.emit(\"_requestRedraw\")}}},{key:\"getSelection\",value:function getSelection(){var nodeIds=this.getSelectedNodes();var edgeIds=this.getSelectedEdges();return{nodes:nodeIds,edges:edgeIds}}},{key:\"getSelectedNodes\",value:function getSelectedNodes(){var idArray=[];if(this.options.selectable===true){for(var nodeId in this.selectionObj.nodes){if(this.selectionObj.nodes.hasOwnProperty(nodeId)){idArray.push(nodeId)}}}return idArray}},{key:\"getSelectedEdges\",value:function getSelectedEdges(){var idArray=[];if(this.options.selectable===true){for(var edgeId in this.selectionObj.edges){if(this.selectionObj.edges.hasOwnProperty(edgeId)){idArray.push(edgeId)}}}return idArray}},{key:\"selectNodes\",value:function selectNodes(selection){var highlightEdges=arguments[1]===undefined?true:arguments[1];var i=undefined,id=undefined;if(!selection||selection.length===undefined)throw\"Selection must be an array with ids\";this.unselectAll();for(i=0;i<selection.length;i++){id=selection[i];var node=this.body.nodes[id];if(!node){throw new RangeError('Node with id \"'+id+'\" not found')}this.selectObject(node,highlightEdges)}this.body.emitter.emit(\"_requestRedraw\")}},{key:\"selectEdges\",value:function selectEdges(selection){var i=undefined,id=undefined;if(!selection||selection.length===undefined)throw\"Selection must be an array with ids\";this.unselectAll();for(i=0;i<selection.length;i++){id=selection[i];var edge=this.body.edges[id];if(!edge){throw new RangeError('Edge with id \"'+id+'\" not found')}this.selectObject(edge)}this.body.emitter.emit(\"_requestRedraw\")}},{key:\"updateSelection\",value:function updateSelection(){for(var nodeId in this.selectionObj.nodes){if(this.selectionObj.nodes.hasOwnProperty(nodeId)){if(!this.body.nodes.hasOwnProperty(nodeId)){delete this.selectionObj.nodes[nodeId]}}}for(var edgeId in this.selectionObj.edges){if(this.selectionObj.edges.hasOwnProperty(edgeId)){if(!this.body.edges.hasOwnProperty(edgeId)){delete this.selectionObj.edges[edgeId]}}}}}]);return SelectionHandler}();exports[\"default\"]=SelectionHandler;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var util=__webpack_require__(7);var LayoutEngine=function(){function LayoutEngine(body){_classCallCheck(this,LayoutEngine);this.body=body;this.initialRandomSeed=Math.round(Math.random()*1e6);this.randomSeed=this.initialRandomSeed;this.options={};this.optionsBackup={};this.defaultOptions={randomSeed:undefined,hierarchical:{enabled:false,levelSeparation:150,direction:\"UD\",sortMethod:\"hubsize\"}};util.extend(this.options,this.defaultOptions);this.hierarchicalLevels={};this.bindEventListeners()}_createClass(LayoutEngine,[{key:\"bindEventListeners\",value:function bindEventListeners(){var _this=this;this.body.emitter.on(\"_dataChanged\",function(){_this.setupHierarchicalLayout()});this.body.emitter.on(\"_resetHierarchicalLayout\",function(){_this.setupHierarchicalLayout()})}},{key:\"setOptions\",value:function setOptions(options,allOptions){if(options!==undefined){var prevHierarchicalState=this.options.hierarchical.enabled;util.mergeOptions(this.options,options,\"hierarchical\");if(options.randomSeed!==undefined){this.initialRandomSeed=options.randomSeed}if(this.options.hierarchical.enabled===true){if(this.options.hierarchical.direction===\"RL\"||this.options.hierarchical.direction===\"DU\"){if(this.options.hierarchical.levelSeparation>0){this.options.hierarchical.levelSeparation*=-1}}else{if(this.options.hierarchical.levelSeparation<0){this.options.hierarchical.levelSeparation*=-1}}this.body.emitter.emit(\"_resetHierarchicalLayout\");return this.adaptAllOptions(allOptions)}else{if(prevHierarchicalState===true){this.body.emitter.emit(\"refresh\");return util.deepExtend(allOptions,this.optionsBackup)}}}return allOptions}},{key:\"adaptAllOptions\",value:function adaptAllOptions(allOptions){if(this.options.hierarchical.enabled===true){if(allOptions.physics===undefined||allOptions.physics===true){allOptions.physics={solver:\"hierarchicalRepulsion\"};this.optionsBackup.physics={solver:\"barnesHut\"}}else if(typeof allOptions.physics===\"object\"){this.optionsBackup.physics={solver:\"barnesHut\"};if(allOptions.physics.solver!==undefined){this.optionsBackup.physics={solver:allOptions.physics.solver}}allOptions.physics[\"solver\"]=\"hierarchicalRepulsion\"}else if(allOptions.physics!==false){this.optionsBackup.physics={solver:\"barnesHut\"};allOptions.physics[\"solver\"]=\"hierarchicalRepulsion\"}var type=\"horizontal\";if(this.options.hierarchical.direction===\"RL\"||this.options.hierarchical.direction===\"LR\"){type=\"vertical\"}if(allOptions.edges===undefined){this.optionsBackup.edges={smooth:{enabled:true,type:\"dynamic\"}};allOptions.edges={smooth:false}}else if(allOptions.edges.smooth===undefined){this.optionsBackup.edges={smooth:{enabled:true,type:\"dynamic\"}};allOptions.edges.smooth=false}else{if(typeof allOptions.edges.smooth===\"boolean\"){this.optionsBackup.edges={smooth:allOptions.edges.smooth};allOptions.edges.smooth={enabled:allOptions.edges.smooth,type:type}}else{if(allOptions.edges.smooth.type!==undefined&&allOptions.edges.smooth.type!==\"dynamic\"){type=allOptions.edges.smooth.type}this.optionsBackup.edges={smooth:allOptions.edges.smooth.enabled===undefined?true:allOptions.edges.smooth.enabled,type:allOptions.edges.smooth.type===undefined?\"dynamic\":allOptions.edges.smooth.type,roundness:allOptions.edges.smooth.roundness===undefined?.5:allOptions.edges.smooth.roundness};allOptions.edges.smooth={enabled:allOptions.edges.smooth.enabled===undefined?true:allOptions.edges.smooth.enabled,type:type,roundness:allOptions.edges.smooth.roundness===undefined?.5:allOptions.edges.smooth.roundness}}}this.body.emitter.emit(\"_forceDisableDynamicCurves\",type)}return allOptions}},{key:\"seededRandom\",value:function seededRandom(){var x=Math.sin(this.randomSeed++)*1e4;return x-Math.floor(x)}},{key:\"positionInitially\",value:function positionInitially(nodesArray){if(this.options.hierarchical.enabled!==true){this.randomSeed=this.initialRandomSeed;for(var i=0;i<nodesArray.length;i++){var node=nodesArray[i];var radius=10*.1*nodesArray.length+10;var angle=2*Math.PI*this.seededRandom();if(node.x===undefined){node.x=radius*Math.cos(angle)}if(node.y===undefined){node.y=radius*Math.sin(angle)}}}}},{key:\"getSeed\",value:function getSeed(){return this.initialRandomSeed}},{key:\"setupHierarchicalLayout\",value:function setupHierarchicalLayout(){if(this.options.hierarchical.enabled===true&&this.body.nodeIndices.length>0){var node=undefined,nodeId=undefined;var definedLevel=false;var undefinedLevel=false;this.hierarchicalLevels={};this.nodeSpacing=100;for(nodeId in this.body.nodes){if(this.body.nodes.hasOwnProperty(nodeId)){node=this.body.nodes[nodeId];if(node.options.level!==undefined){definedLevel=true;this.hierarchicalLevels[nodeId]=node.options.level}else{undefinedLevel=true}}}if(undefinedLevel===true&&definedLevel===true){throw new Error(\"To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.\");return}else{if(undefinedLevel===true){if(this.options.hierarchical.sortMethod===\"hubsize\"){this._determineLevelsByHubsize()}else if(this.options.hierarchical.sortMethod===\"directed\"||\"direction\"){this._determineLevelsDirected()}}var distribution=this._getDistribution();this._placeNodesByHierarchy(distribution)}}}},{key:\"_placeNodesByHierarchy\",value:function _placeNodesByHierarchy(distribution){var nodeId=undefined,node=undefined;this.positionedNodes={};for(var level in distribution){if(distribution.hasOwnProperty(level)){for(nodeId in distribution[level].nodes){if(distribution[level].nodes.hasOwnProperty(nodeId)){node=distribution[level].nodes[nodeId];if(this.options.hierarchical.direction===\"UD\"||this.options.hierarchical.direction===\"DU\"){if(node.x===undefined){node.x=distribution[level].distance}distribution[level].distance=node.x+this.nodeSpacing}else{if(node.y===undefined){node.y=distribution[level].distance}distribution[level].distance=node.y+this.nodeSpacing}this.positionedNodes[nodeId]=true;this._placeBranchNodes(node.edges,node.id,distribution,level)}}}}}},{key:\"_getDistribution\",value:function _getDistribution(){var distribution={};var nodeId=undefined,node=undefined;for(nodeId in this.body.nodes){if(this.body.nodes.hasOwnProperty(nodeId)){node=this.body.nodes[nodeId];var level=this.hierarchicalLevels[nodeId]===undefined?0:this.hierarchicalLevels[nodeId];if(this.options.hierarchical.direction===\"UD\"||this.options.hierarchical.direction===\"DU\"){node.y=this.options.hierarchical.levelSeparation*level;node.options.fixed.y=true}else{node.x=this.options.hierarchical.levelSeparation*level;node.options.fixed.x=true}if(distribution[level]===undefined){distribution[level]={amount:0,nodes:{},distance:0}}distribution[level].amount+=1;distribution[level].nodes[nodeId]=node}}return distribution}},{key:\"_getHubSize\",value:function _getHubSize(){var hubSize=0;for(var nodeId in this.body.nodes){if(this.body.nodes.hasOwnProperty(nodeId)){var node=this.body.nodes[nodeId];if(this.hierarchicalLevels[nodeId]===undefined){hubSize=node.edges.length<hubSize?hubSize:node.edges.length}}}return hubSize}},{key:\"_determineLevelsByHubsize\",value:function _determineLevelsByHubsize(){var nodeId=undefined,node=undefined;var hubSize=1;while(hubSize>0){hubSize=this._getHubSize();if(hubSize===0)break;for(nodeId in this.body.nodes){if(this.body.nodes.hasOwnProperty(nodeId)){node=this.body.nodes[nodeId];if(node.edges.length===hubSize){this._setLevelByHubsize(0,node)}}}}}},{key:\"_setLevelByHubsize\",value:function _setLevelByHubsize(level,node){if(this.hierarchicalLevels[node.id]!==undefined)return;var childNode=undefined;this.hierarchicalLevels[node.id]=level;for(var i=0;i<node.edges.length;i++){if(node.edges[i].toId===node.id){childNode=node.edges[i].from}else{childNode=node.edges[i].to}this._setLevelByHubsize(level+1,childNode)}}},{key:\"_determineLevelsDirected\",value:function _determineLevelsDirected(){var nodeId=undefined,node=undefined;var minLevel=1e4;for(nodeId in this.body.nodes){if(this.body.nodes.hasOwnProperty(nodeId)){node=this.body.nodes[nodeId];this._setLevelDirected(minLevel,node)}}for(nodeId in this.body.nodes){if(this.body.nodes.hasOwnProperty(nodeId)){minLevel=this.hierarchicalLevels[nodeId]<minLevel?this.hierarchicalLevels[nodeId]:minLevel}}for(nodeId in this.body.nodes){if(this.body.nodes.hasOwnProperty(nodeId)){this.hierarchicalLevels[nodeId]-=minLevel}}}},{key:\"_setLevelDirected\",value:function _setLevelDirected(level,node){if(this.hierarchicalLevels[node.id]!==undefined)return;var childNode=undefined;this.hierarchicalLevels[node.id]=level;for(var i=0;i<node.edges.length;i++){if(node.edges[i].toId===node.id){childNode=node.edges[i].from;this._setLevelDirected(level-1,childNode)}else{childNode=node.edges[i].to;this._setLevelDirected(level+1,childNode)}}}},{key:\"_placeBranchNodes\",value:function _placeBranchNodes(edges,parentId,distribution,parentLevel){for(var i=0;i<edges.length;i++){var childNode=undefined;var parentNode=undefined;if(edges[i].toId===parentId){childNode=edges[i].from;parentNode=edges[i].to}else{childNode=edges[i].to;parentNode=edges[i].from}var childNodeLevel=this.hierarchicalLevels[childNode.id];if(this.positionedNodes[childNode.id]===undefined){if(childNodeLevel>parentLevel){if(this.options.hierarchical.direction===\"UD\"||this.options.hierarchical.direction===\"DU\"){if(childNode.x===undefined){childNode.x=Math.max(distribution[childNodeLevel].distance,parentNode.x)}distribution[childNodeLevel].distance=childNode.x+this.nodeSpacing;this.positionedNodes[childNode.id]=true}else{if(childNode.y===undefined){childNode.y=Math.max(distribution[childNodeLevel].distance,parentNode.y)}distribution[childNodeLevel].distance=childNode.y+this.nodeSpacing}this.positionedNodes[childNode.id]=true;if(childNode.edges.length>1){this._placeBranchNodes(childNode.edges,childNode.id,distribution,childNodeLevel)}}}}}}]);return LayoutEngine}();exports[\"default\"]=LayoutEngine;module.exports=exports[\"default\"]},function(module,exports,__webpack_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\")}}var util=__webpack_require__(7);var Hammer=__webpack_require__(3);var hammerUtil=__webpack_require__(30);var ManipulationSystem=function(){function ManipulationSystem(body,canvas,selectionHandler){var _this=this;_classCallCheck(this,ManipulationSystem);this.body=body;this.canvas=canvas;this.selectionHandler=selectionHandler;this.editMode=false;this.manipulationDiv=undefined;this.editModeDiv=undefined;this.closeDiv=undefined;this.manipulationHammers=[];this.temporaryUIFunctions={};this.temporaryEventFunctions=[];this.touchTime=0;this.temporaryIds={nodes:[],edges:[]};this.guiEnabled=false;this.inMode=false;this.selectedControlNode=undefined;this.options={};this.defaultOptions={enabled:false,initiallyActive:false,addNode:true,addEdge:true,editNode:undefined,editEdge:true,deleteNode:true,deleteEdge:true,controlNodeStyle:{shape:\"dot\",size:6,color:{background:\"#ff0000\",border:\"#3c3c3c\",highlight:{background:\"#07f968\",border:\"#3c3c3c\"}},borderWidth:2,borderWidthSelected:2}};util.extend(this.options,this.defaultOptions);this.body.emitter.on(\"destroy\",function(){_this._clean()});this.body.emitter.on(\"_dataChanged\",this._restore.bind(this));this.body.emitter.on(\"_resetData\",this._restore.bind(this))}_createClass(ManipulationSystem,[{key:\"_restore\",value:function _restore(){if(this.inMode!==false){if(this.options.initiallyActive===true){this.enableEditMode()}else{this.disableEditMode()}}}},{key:\"setOptions\",value:function setOptions(options,allOptions,globalOptions){if(allOptions!==undefined){if(allOptions.locale!==undefined){this.options.locale=allOptions.locale}else{this.options.locale=globalOptions.locale}if(allOptions.locales!==undefined){this.options.locales=allOptions.locales}else{this.options.locales=globalOptions.locales}}if(options!==undefined){if(typeof options===\"boolean\"){this.options.enabled=options}else{this.options.enabled=true;util.deepExtend(this.options,options)}if(this.options.initiallyActive===true){this.editMode=true}this._setup()}}},{key:\"toggleEditMode\",value:function toggleEditMode(){if(this.editMode===true){this.disableEditMode()}else{this.enableEditMode()}}},{key:\"enableEditMode\",value:function enableEditMode(){this.editMode=true;this._clean();if(this.guiEnabled===true){this.manipulationDiv.style.display=\"block\";this.closeDiv.style.display=\"block\";this.editModeDiv.style.display=\"none\";this.showManipulatorToolbar()}}},{key:\"disableEditMode\",value:function disableEditMode(){this.editMode=false;this._clean();if(this.guiEnabled===true){this.manipulationDiv.style.display=\"none\";this.closeDiv.style.display=\"none\";this.editModeDiv.style.display=\"block\";this._createEditButton()}}},{key:\"showManipulatorToolbar\",value:function showManipulatorToolbar(){this._clean();this.manipulationDOM={};if(this.guiEnabled===true){this.editMode=true;this.manipulationDiv.style.display=\"block\";this.closeDiv.style.display=\"block\";var selectedNodeCount=this.selectionHandler._getSelectedNodeCount();var selectedEdgeCount=this.selectionHandler._getSelectedEdgeCount();var selectedTotalCount=selectedNodeCount+selectedEdgeCount;var locale=this.options.locales[this.options.locale];var needSeperator=false;if(this.options.addNode!==false){this._createAddNodeButton(locale);needSeperator=true}if(this.options.addEdge!==false){if(needSeperator===true){this._createSeperator(1)}else{needSeperator=true}this._createAddEdgeButton(locale)}if(selectedNodeCount===1&&typeof this.options.editNode===\"function\"){if(needSeperator===true){this._createSeperator(2)}else{needSeperator=true}this._createEditNodeButton(locale)}else if(selectedEdgeCount===1&&selectedNodeCount===0&&this.options.editEdge!==false){if(needSeperator===true){this._createSeperator(3)}else{needSeperator=true}this._createEditEdgeButton(locale)}if(selectedTotalCount!==0){if(selectedNodeCount===1&&this.options.deleteNode!==false){if(needSeperator===true){this._createSeperator(4)}this._createDeleteButton(locale)}else if(selectedNodeCount===0&&this.options.deleteEdge!==false){if(needSeperator===true){this._createSeperator(4)}this._createDeleteButton(locale)}}this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this));this._temporaryBindEvent(\"select\",this.showManipulatorToolbar.bind(this))}this.body.emitter.emit(\"_redraw\")}},{key:\"addNodeMode\",value:function addNodeMode(){if(this.editMode!==true){this.enableEditMode()}this._clean();this.inMode=\"addNode\";if(this.guiEnabled===true){\nvar locale=this.options.locales[this.options.locale];this.manipulationDOM={};this._createBackButton(locale);this._createSeperator();this._createDescription(locale[\"addDescription\"]||this.options.locales[\"en\"][\"addDescription\"]);this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindEvent(\"click\",this._performAddNode.bind(this))}},{key:\"editNode\",value:function editNode(){var _this2=this;if(this.editMode!==true){this.enableEditMode()}this._clean();var node=this.selectionHandler._getSelectedNode();if(node!==undefined){this.inMode=\"editNode\";if(typeof this.options.editNode===\"function\"){if(node.isCluster!==true){var data=util.deepExtend({},node.options,true);data.x=node.x;data.y=node.y;if(this.options.editNode.length===2){this.options.editNode(data,function(finalizedData){if(finalizedData!==null&&finalizedData!==undefined&&_this2.inMode===\"editNode\"){_this2.body.data.nodes.getDataSet().update(finalizedData)}_this2.showManipulatorToolbar()})}else{throw new Error(\"The function for edit does not support two arguments (data, callback)\")}}else{alert(this.options.locales[this.options.locale][\"editClusterError\"]||this.options.locales[\"en\"][\"editClusterError\"])}}else{throw new Error(\"No function has been configured to handle the editing of nodes.\")}}else{this.showManipulatorToolbar()}}},{key:\"addEdgeMode\",value:function addEdgeMode(){if(this.editMode!==true){this.enableEditMode()}this._clean();this.inMode=\"addEdge\";if(this.guiEnabled===true){var locale=this.options.locales[this.options.locale];this.manipulationDOM={};this._createBackButton(locale);this._createSeperator();this._createDescription(locale[\"edgeDescription\"]||this.options.locales[\"en\"][\"edgeDescription\"]);this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindUI(\"onTouch\",this._handleConnect.bind(this));this._temporaryBindUI(\"onDragEnd\",this._finishConnect.bind(this));this._temporaryBindUI(\"onDrag\",this._dragControlNode.bind(this));this._temporaryBindUI(\"onRelease\",this._finishConnect.bind(this));this._temporaryBindUI(\"onDragStart\",function(){});this._temporaryBindUI(\"onHold\",function(){})}},{key:\"editEdgeMode\",value:function editEdgeMode(){var _this3=this;if(this.editMode!==true){this.enableEditMode()}this._clean();this.inMode=\"editEdge\";if(this.guiEnabled===true){var locale=this.options.locales[this.options.locale];this.manipulationDOM={};this._createBackButton(locale);this._createSeperator();this._createDescription(locale[\"editEdgeDescription\"]||this.options.locales[\"en\"][\"editEdgeDescription\"]);this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0];if(this.edgeBeingEditedId!==undefined){(function(){var edge=_this3.body.edges[_this3.edgeBeingEditedId];var controlNodeFrom=_this3._getNewTargetNode(edge.from.x,edge.from.y);var controlNodeTo=_this3._getNewTargetNode(edge.to.x,edge.to.y);_this3.temporaryIds.nodes.push(controlNodeFrom.id);_this3.temporaryIds.nodes.push(controlNodeTo.id);_this3.body.nodes[controlNodeFrom.id]=controlNodeFrom;_this3.body.nodeIndices.push(controlNodeFrom.id);_this3.body.nodes[controlNodeTo.id]=controlNodeTo;_this3.body.nodeIndices.push(controlNodeTo.id);_this3._temporaryBindUI(\"onTouch\",_this3._controlNodeTouch.bind(_this3));_this3._temporaryBindUI(\"onTap\",function(){});_this3._temporaryBindUI(\"onHold\",function(){});_this3._temporaryBindUI(\"onDragStart\",_this3._controlNodeDragStart.bind(_this3));_this3._temporaryBindUI(\"onDrag\",_this3._controlNodeDrag.bind(_this3));_this3._temporaryBindUI(\"onDragEnd\",_this3._controlNodeDragEnd.bind(_this3));_this3._temporaryBindUI(\"onMouseMove\",function(){});_this3._temporaryBindEvent(\"beforeDrawing\",function(ctx){var positions=edge.edgeType.findBorderPositions(ctx);if(controlNodeFrom.selected===false){controlNodeFrom.x=positions.from.x;controlNodeFrom.y=positions.from.y}if(controlNodeTo.selected===false){controlNodeTo.x=positions.to.x;controlNodeTo.y=positions.to.y}});_this3.body.emitter.emit(\"_redraw\")})()}else{this.showManipulatorToolbar()}}},{key:\"deleteSelected\",value:function deleteSelected(){var _this4=this;if(this.editMode!==true){this.enableEditMode()}this._clean();this.inMode=\"delete\";var selectedNodes=this.selectionHandler.getSelectedNodes();var selectedEdges=this.selectionHandler.getSelectedEdges();var deleteFunction=undefined;if(selectedNodes.length>0){for(var i=0;i<selectedNodes.length;i++){if(this.body.nodes[selectedNodes[i]].isCluster===true){alert(this.options.locales[this.options.locale][\"deleteClusterError\"]||this.options.locales[\"en\"][\"deleteClusterError\"]);return}}if(typeof this.options.deleteNode===\"function\"){deleteFunction=this.options.deleteNode}}else if(selectedEdges.length>0){if(typeof this.options.deleteEdge===\"function\"){deleteFunction=this.options.deleteEdge}}if(typeof deleteFunction===\"function\"){var data={nodes:selectedNodes,edges:selectedEdges};if(deleteFunction.length===2){deleteFunction(data,function(finalizedData){if(finalizedData!==null&&finalizedData!==undefined&&_this4.inMode===\"delete\"){_this4.body.data.edges.getDataSet().remove(finalizedData.edges);_this4.body.data.nodes.getDataSet().remove(finalizedData.nodes);_this4.body.emitter.emit(\"startSimulation\");_this4.showManipulatorToolbar()}else{_this4.body.emitter.emit(\"startSimulation\");_this4.showManipulatorToolbar()}})}else{throw new Error(\"The function for delete does not support two arguments (data, callback)\")}}else{this.body.data.edges.getDataSet().remove(selectedEdges);this.body.data.nodes.getDataSet().remove(selectedNodes);this.body.emitter.emit(\"startSimulation\");this.showManipulatorToolbar()}}},{key:\"_setup\",value:function _setup(){if(this.options.enabled===true){this.guiEnabled=true;this._createWrappers();if(this.editMode===false){this._createEditButton()}else{this.showManipulatorToolbar()}}else{this._removeManipulationDOM();this.guiEnabled=false}}},{key:\"_createWrappers\",value:function _createWrappers(){if(this.manipulationDiv===undefined){this.manipulationDiv=document.createElement(\"div\");this.manipulationDiv.className=\"vis-manipulation\";if(this.editMode===true){this.manipulationDiv.style.display=\"block\"}else{this.manipulationDiv.style.display=\"none\"}this.canvas.frame.appendChild(this.manipulationDiv)}if(this.editModeDiv===undefined){this.editModeDiv=document.createElement(\"div\");this.editModeDiv.className=\"vis-edit-mode\";if(this.editMode===true){this.editModeDiv.style.display=\"none\"}else{this.editModeDiv.style.display=\"block\"}this.canvas.frame.appendChild(this.editModeDiv)}if(this.closeDiv===undefined){this.closeDiv=document.createElement(\"div\");this.closeDiv.className=\"vis-close\";this.closeDiv.style.display=this.manipulationDiv.style.display;this.canvas.frame.appendChild(this.closeDiv)}}},{key:\"_getNewTargetNode\",value:function _getNewTargetNode(x,y){var controlNodeStyle=util.deepExtend({},this.options.controlNodeStyle);controlNodeStyle.id=\"targetNode\"+util.randomUUID();controlNodeStyle.hidden=false;controlNodeStyle.physics=false;controlNodeStyle.x=x;controlNodeStyle.y=y;return this.body.functions.createNode(controlNodeStyle)}},{key:\"_createEditButton\",value:function _createEditButton(){this._clean();this.manipulationDOM={};util.recursiveDOMDelete(this.editModeDiv);var locale=this.options.locales[this.options.locale];var button=this._createButton(\"editMode\",\"vis-button vis-edit vis-edit-mode\",locale[\"edit\"]||this.options.locales[\"en\"][\"edit\"]);this.editModeDiv.appendChild(button);this._bindHammerToDiv(button,this.toggleEditMode.bind(this))}},{key:\"_clean\",value:function _clean(){this.inMode=false;if(this.guiEnabled===true){util.recursiveDOMDelete(this.editModeDiv);util.recursiveDOMDelete(this.manipulationDiv);this._cleanManipulatorHammers()}this._cleanupTemporaryNodesAndEdges();this._unbindTemporaryUIs();this._unbindTemporaryEvents();this.body.emitter.emit(\"restorePhysics\")}},{key:\"_cleanManipulatorHammers\",value:function _cleanManipulatorHammers(){if(this.manipulationHammers.length!=0){for(var i=0;i<this.manipulationHammers.length;i++){this.manipulationHammers[i].destroy()}this.manipulationHammers=[]}}},{key:\"_removeManipulationDOM\",value:function _removeManipulationDOM(){this._clean();util.recursiveDOMDelete(this.manipulationDiv);util.recursiveDOMDelete(this.editModeDiv);util.recursiveDOMDelete(this.closeDiv);if(this.manipulationDiv){this.canvas.frame.removeChild(this.manipulationDiv)}if(this.editModeDiv){this.canvas.frame.removeChild(this.editModeDiv)}if(this.closeDiv){this.canvas.frame.removeChild(this.manipulationDiv)}this.manipulationDiv=undefined;this.editModeDiv=undefined;this.closeDiv=undefined}},{key:\"_createSeperator\",value:function _createSeperator(){var index=arguments[0]===undefined?1:arguments[0];this.manipulationDOM[\"seperatorLineDiv\"+index]=document.createElement(\"div\");this.manipulationDOM[\"seperatorLineDiv\"+index].className=\"vis-separator-line\";this.manipulationDiv.appendChild(this.manipulationDOM[\"seperatorLineDiv\"+index])}},{key:\"_createAddNodeButton\",value:function _createAddNodeButton(locale){var button=this._createButton(\"addNode\",\"vis-button vis-add\",locale[\"addNode\"]||this.options.locales[\"en\"][\"addNode\"]);this.manipulationDiv.appendChild(button);this._bindHammerToDiv(button,this.addNodeMode.bind(this))}},{key:\"_createAddEdgeButton\",value:function _createAddEdgeButton(locale){var button=this._createButton(\"addEdge\",\"vis-button vis-connect\",locale[\"addEdge\"]||this.options.locales[\"en\"][\"addEdge\"]);this.manipulationDiv.appendChild(button);this._bindHammerToDiv(button,this.addEdgeMode.bind(this))}},{key:\"_createEditNodeButton\",value:function _createEditNodeButton(locale){var button=this._createButton(\"editNode\",\"vis-button vis-edit\",locale[\"editNode\"]||this.options.locales[\"en\"][\"editNode\"]);this.manipulationDiv.appendChild(button);this._bindHammerToDiv(button,this.editNode.bind(this))}},{key:\"_createEditEdgeButton\",value:function _createEditEdgeButton(locale){var button=this._createButton(\"editEdge\",\"vis-button vis-edit\",locale[\"editEdge\"]||this.options.locales[\"en\"][\"editEdge\"]);this.manipulationDiv.appendChild(button);this._bindHammerToDiv(button,this.editEdgeMode.bind(this))}},{key:\"_createDeleteButton\",value:function _createDeleteButton(locale){var button=this._createButton(\"delete\",\"vis-button vis-delete\",locale[\"del\"]||this.options.locales[\"en\"][\"del\"]);this.manipulationDiv.appendChild(button);this._bindHammerToDiv(button,this.deleteSelected.bind(this))}},{key:\"_createBackButton\",value:function _createBackButton(locale){var button=this._createButton(\"back\",\"vis-button vis-back\",locale[\"back\"]||this.options.locales[\"en\"][\"back\"]);this.manipulationDiv.appendChild(button);this._bindHammerToDiv(button,this.showManipulatorToolbar.bind(this))}},{key:\"_createButton\",value:function _createButton(id,className,label){var labelClassName=arguments[3]===undefined?\"vis-label\":arguments[3];this.manipulationDOM[id+\"Div\"]=document.createElement(\"div\");this.manipulationDOM[id+\"Div\"].className=className;this.manipulationDOM[id+\"Label\"]=document.createElement(\"div\");this.manipulationDOM[id+\"Label\"].className=labelClassName;this.manipulationDOM[id+\"Label\"].innerHTML=label;this.manipulationDOM[id+\"Div\"].appendChild(this.manipulationDOM[id+\"Label\"]);return this.manipulationDOM[id+\"Div\"]}},{key:\"_createDescription\",value:function _createDescription(label){this.manipulationDiv.appendChild(this._createButton(\"description\",\"vis-button vis-none\",label))}},{key:\"_temporaryBindEvent\",value:function _temporaryBindEvent(event,newFunction){this.temporaryEventFunctions.push({event:event,boundFunction:newFunction});this.body.emitter.on(event,newFunction)}},{key:\"_temporaryBindUI\",value:function _temporaryBindUI(UIfunctionName,newFunction){if(this.body.eventListeners[UIfunctionName]!==undefined){this.temporaryUIFunctions[UIfunctionName]=this.body.eventListeners[UIfunctionName];this.body.eventListeners[UIfunctionName]=newFunction}else{throw new Error(\"This UI function does not exist. Typo? You tried: \"+UIfunctionName+\" possible are: \"+JSON.stringify(Object.keys(this.body.eventListeners)))}}},{key:\"_unbindTemporaryUIs\",value:function _unbindTemporaryUIs(){for(var functionName in this.temporaryUIFunctions){if(this.temporaryUIFunctions.hasOwnProperty(functionName)){this.body.eventListeners[functionName]=this.temporaryUIFunctions[functionName];delete this.temporaryUIFunctions[functionName]}}this.temporaryUIFunctions={}}},{key:\"_unbindTemporaryEvents\",value:function _unbindTemporaryEvents(){for(var i=0;i<this.temporaryEventFunctions.length;i++){var eventName=this.temporaryEventFunctions[i].event;var boundFunction=this.temporaryEventFunctions[i].boundFunction;this.body.emitter.off(eventName,boundFunction)}this.temporaryEventFunctions=[]}},{key:\"_bindHammerToDiv\",value:function _bindHammerToDiv(domElement,boundFunction){var hammer=new Hammer(domElement,{});hammerUtil.onTouch(hammer,boundFunction);this.manipulationHammers.push(hammer)}},{key:\"_cleanupTemporaryNodesAndEdges\",value:function _cleanupTemporaryNodesAndEdges(){for(var i=0;i<this.temporaryIds.edges.length;i++){this.body.edges[this.temporaryIds.edges[i]].disconnect();delete this.body.edges[this.temporaryIds.edges[i]];var indexTempEdge=this.body.edgeIndices.indexOf(this.temporaryIds.edges[i]);if(indexTempEdge!==-1){this.body.edgeIndices.splice(indexTempEdge,1)}}for(var i=0;i<this.temporaryIds.nodes.length;i++){delete this.body.nodes[this.temporaryIds.nodes[i]];var indexTempNode=this.body.nodeIndices.indexOf(this.temporaryIds.nodes[i]);if(indexTempNode!==-1){this.body.nodeIndices.splice(indexTempNode,1)}}this.temporaryIds={nodes:[],edges:[]}}},{key:\"_controlNodeTouch\",value:function _controlNodeTouch(event){this.selectionHandler.unselectAll();this.lastTouch=this.body.functions.getPointer(event.center);this.lastTouch.translation=util.extend({},this.body.view.translation)}},{key:\"_controlNodeDragStart\",value:function _controlNodeDragStart(event){var pointer=this.lastTouch;var pointerObj=this.selectionHandler._pointerToPositionObject(pointer);var from=this.body.nodes[this.temporaryIds.nodes[0]];var to=this.body.nodes[this.temporaryIds.nodes[1]];var edge=this.body.edges[this.edgeBeingEditedId];this.selectedControlNode=undefined;var fromSelect=from.isOverlappingWith(pointerObj);var toSelect=to.isOverlappingWith(pointerObj);if(fromSelect===true){this.selectedControlNode=from;edge.edgeType.from=from}else if(toSelect===true){this.selectedControlNode=to;edge.edgeType.to=to}this.body.emitter.emit(\"_redraw\")}},{key:\"_controlNodeDrag\",value:function _controlNodeDrag(event){this.body.emitter.emit(\"disablePhysics\");var pointer=this.body.functions.getPointer(event.center);var pos=this.canvas.DOMtoCanvas(pointer);if(this.selectedControlNode!==undefined){this.selectedControlNode.x=pos.x;this.selectedControlNode.y=pos.y}else{var diffX=pointer.x-this.lastTouch.x;var diffY=pointer.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+diffX,y:this.lastTouch.translation.y+diffY}}this.body.emitter.emit(\"_redraw\")}},{key:\"_controlNodeDragEnd\",value:function _controlNodeDragEnd(event){var pointer=this.body.functions.getPointer(event.center);var pointerObj=this.selectionHandler._pointerToPositionObject(pointer);var edge=this.body.edges[this.edgeBeingEditedId];var overlappingNodeIds=this.selectionHandler._getAllNodesOverlappingWith(pointerObj);var node=undefined;for(var i=overlappingNodeIds.length-1;i>=0;i--){if(overlappingNodeIds[i]!==this.selectedControlNode.id){node=this.body.nodes[overlappingNodeIds[i]];break}}if(node!==undefined&&this.selectedControlNode!==undefined){if(node.isCluster===true){alert(this.options.locales[this.options.locale][\"createEdgeError\"]||this.options.locales[\"en\"][\"createEdgeError\"])}else{var from=this.body.nodes[this.temporaryIds.nodes[0]];if(this.selectedControlNode.id===from.id){this._performEditEdge(node.id,edge.to.id)}else{this._performEditEdge(edge.from.id,node.id)}}}else{edge.updateEdgeType();this.body.emitter.emit(\"restorePhysics\")}this.body.emitter.emit(\"_redraw\")}},{key:\"_handleConnect\",value:function _handleConnect(event){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(event.center);this.lastTouch.translation=util.extend({},this.body.view.translation);var pointer=this.lastTouch;var node=this.selectionHandler.getNodeAt(pointer);if(node!==undefined){if(node.isCluster===true){alert(this.options.locales[this.options.locale][\"createEdgeError\"]||this.options.locales[\"en\"][\"createEdgeError\"])}else{var targetNode=this._getNewTargetNode(node.x,node.y);this.body.nodes[targetNode.id]=targetNode;this.body.nodeIndices.push(targetNode.id);var connectionEdge=this.body.functions.createEdge({id:\"connectionEdge\"+util.randomUUID(),from:node.id,to:targetNode.id,physics:false,smooth:{enabled:true,type:\"continuous\",roundness:.5}});this.body.edges[connectionEdge.id]=connectionEdge;this.body.edgeIndices.push(connectionEdge.id);this.temporaryIds.nodes.push(targetNode.id);this.temporaryIds.edges.push(connectionEdge.id)}}this.touchTime=(new Date).valueOf()}}},{key:\"_dragControlNode\",value:function _dragControlNode(event){var pointer=this.body.functions.getPointer(event.center);if(this.temporaryIds.nodes[0]!==undefined){var targetNode=this.body.nodes[this.temporaryIds.nodes[0]];targetNode.x=this.canvas._XconvertDOMtoCanvas(pointer.x);targetNode.y=this.canvas._YconvertDOMtoCanvas(pointer.y);this.body.emitter.emit(\"_redraw\")}else{var diffX=pointer.x-this.lastTouch.x;var diffY=pointer.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+diffX,y:this.lastTouch.translation.y+diffY}}}},{key:\"_finishConnect\",value:function _finishConnect(event){var pointer=this.body.functions.getPointer(event.center);var pointerObj=this.selectionHandler._pointerToPositionObject(pointer);var connectFromId=undefined;if(this.temporaryIds.edges[0]!==undefined){connectFromId=this.body.edges[this.temporaryIds.edges[0]].fromId}var overlappingNodeIds=this.selectionHandler._getAllNodesOverlappingWith(pointerObj);var node=undefined;for(var i=overlappingNodeIds.length-1;i>=0;i--){if(this.temporaryIds.nodes.indexOf(overlappingNodeIds[i])===-1){node=this.body.nodes[overlappingNodeIds[i]];break}}this._cleanupTemporaryNodesAndEdges();if(node!==undefined){if(node.isCluster===true){alert(this.options.locales[this.options.locale][\"createEdgeError\"]||this.options.locales[\"en\"][\"createEdgeError\"])}else{if(this.body.nodes[connectFromId]!==undefined&&this.body.nodes[node.id]!==undefined){this._performAddEdge(connectFromId,node.id)}}}this.body.emitter.emit(\"_redraw\")}},{key:\"_performAddNode\",value:function _performAddNode(clickData){var _this5=this;var defaultData={id:util.randomUUID(),x:clickData.pointer.canvas.x,y:clickData.pointer.canvas.y,label:\"new\"};if(typeof this.options.addNode===\"function\"){if(this.options.addNode.length===2){this.options.addNode(defaultData,function(finalizedData){if(finalizedData!==null&&finalizedData!==undefined&&_this5.inMode===\"addNode\"){_this5.body.data.nodes.getDataSet().add(finalizedData);_this5.showManipulatorToolbar()}})}else{throw new Error(\"The function for add does not support two arguments (data,callback)\");this.showManipulatorToolbar()}}else{this.body.data.nodes.getDataSet().add(defaultData);this.showManipulatorToolbar()}}},{key:\"_performAddEdge\",value:function _performAddEdge(sourceNodeId,targetNodeId){var _this6=this;var defaultData={from:sourceNodeId,to:targetNodeId};if(typeof this.options.addEdge===\"function\"){if(this.options.addEdge.length===2){this.options.addEdge(defaultData,function(finalizedData){if(finalizedData!==null&&finalizedData!==undefined&&_this6.inMode===\"addEdge\"){_this6.body.data.edges.getDataSet().add(finalizedData);_this6.selectionHandler.unselectAll();_this6.showManipulatorToolbar()}})}else{throw new Error(\"The function for connect does not support two arguments (data,callback)\")}}else{this.body.data.edges.getDataSet().add(defaultData);this.selectionHandler.unselectAll();this.showManipulatorToolbar()}}},{key:\"_performEditEdge\",value:function _performEditEdge(sourceNodeId,targetNodeId){var _this7=this;var defaultData={id:this.edgeBeingEditedId,from:sourceNodeId,to:targetNodeId};if(typeof this.options.editEdge===\"function\"){if(this.options.editEdge.length===2){this.options.editEdge(defaultData,function(finalizedData){if(finalizedData===null||finalizedData===undefined||_this7.inMode!==\"editEdge\"){_this7.body.edges[defaultData.id].updateEdgeType();_this7.body.emitter.emit(\"_redraw\")}else{_this7.body.data.edges.getDataSet().update(finalizedData);_this7.selectionHandler.unselectAll();_this7.showManipulatorToolbar()}})}else{throw new Error(\"The function for edit does not support two arguments (data, callback)\")}}else{this.body.data.edges.getDataSet().update(defaultData);this.selectionHandler.unselectAll();this.showManipulatorToolbar()}}}]);return ManipulationSystem}();exports[\"default\"]=ManipulationSystem;module.exports=exports[\"default\"]},function(module,exports){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var string=\"string\";var boolean=\"boolean\";var number=\"number\";var array=\"array\";var object=\"object\";var dom=\"dom\";var any=\"any\";var allOptions={configure:{enabled:{\"boolean\":boolean},filter:{\"boolean\":boolean,string:string,array:array,\"function\":\"function\"},container:{dom:dom},showButton:{\"boolean\":boolean},__type__:{object:object,\"boolean\":boolean,string:string,array:array,\"function\":\"function\"}},edges:{arrows:{to:{enabled:{\"boolean\":boolean},scaleFactor:{number:number},__type__:{object:object,\"boolean\":boolean}},middle:{enabled:{\"boolean\":boolean},scaleFactor:{number:number},__type__:{object:object,\"boolean\":boolean}},from:{enabled:{\"boolean\":boolean},scaleFactor:{number:number},__type__:{object:object,\"boolean\":boolean}},__type__:{string:[\"from\",\"to\",\"middle\"],object:object}},color:{color:{string:string},highlight:{string:string},hover:{string:string},inherit:{string:[\"from\",\"to\",\"both\"],\"boolean\":boolean},opacity:{number:number},__type__:{object:object,string:string}},dashes:{\"boolean\":boolean,array:array},font:{color:{string:string},size:{number:number},face:{string:string},background:{string:string},strokeWidth:{number:number},strokeColor:{string:string},align:{string:[\"horizontal\",\"top\",\"middle\",\"bottom\"]},__type__:{object:object,string:string}},hidden:{\"boolean\":boolean},hoverWidth:{\"function\":\"function\",number:number},label:{string:string,undefined:\"undefined\"},labelHighlightBold:{\"boolean\":boolean},length:{number:number,undefined:\"undefined\"},physics:{\"boolean\":boolean},scaling:{min:{number:number},max:{number:number},label:{enabled:{\"boolean\":boolean},min:{number:number},max:{number:number},maxVisible:{number:number},drawThreshold:{number:number},__type__:{object:object,\"boolean\":boolean}},customScalingFunction:{\"function\":\"function\"},__type__:{object:object}},selectionWidth:{\"function\":\"function\",number:number},selfReferenceSize:{number:number},shadow:{enabled:{\"boolean\":boolean},size:{number:number},x:{number:number},y:{number:number},__type__:{object:object,\"boolean\":boolean}},smooth:{enabled:{\"boolean\":boolean},type:{string:[\"dynamic\",\"continuous\",\"discrete\",\"diagonalCross\",\"straightCross\",\"horizontal\",\"vertical\",\"curvedCW\",\"curvedCCW\"]},roundness:{number:number},__type__:{object:object,\"boolean\":boolean}},title:{string:string,undefined:\"undefined\"},width:{number:number},value:{number:number,undefined:\"undefined\"},__type__:{object:object}},groups:{useDefaultGroups:{\"boolean\":boolean},__any__:\"get from nodes, will be overwritten below\",__type__:{object:object}},interaction:{dragNodes:{\"boolean\":boolean},dragView:{\"boolean\":boolean},hideEdgesOnDrag:{\"boolean\":boolean},hideNodesOnDrag:{\"boolean\":boolean},hover:{\"boolean\":boolean},keyboard:{enabled:{\"boolean\":boolean},speed:{x:{number:number},y:{number:number},zoom:{number:number},__type__:{object:object}},bindToWindow:{\"boolean\":boolean},__type__:{object:object,\"boolean\":boolean}},multiselect:{\"boolean\":boolean},navigationButtons:{\"boolean\":boolean},selectable:{\"boolean\":boolean},selectConnectedEdges:{\"boolean\":boolean},hoverConnectedEdges:{\"boolean\":boolean},tooltipDelay:{number:number},zoomView:{\"boolean\":boolean},__type__:{object:object}},layout:{randomSeed:{undefined:\"undefined\",number:number},hierarchical:{enabled:{\"boolean\":boolean},levelSeparation:{number:number},direction:{string:[\"UD\",\"DU\",\"LR\",\"RL\"]},sortMethod:{string:[\"hubsize\",\"directed\"]},__type__:{object:object,\"boolean\":boolean}},__type__:{object:object}},manipulation:{enabled:{\"boolean\":boolean},initiallyActive:{\"boolean\":boolean},addNode:{\"boolean\":boolean,\"function\":\"function\"},addEdge:{\"boolean\":boolean,\"function\":\"function\"},editNode:{\"function\":\"function\"},editEdge:{\"boolean\":boolean,\"function\":\"function\"},deleteNode:{\"boolean\":boolean,\"function\":\"function\"},deleteEdge:{\"boolean\":boolean,\"function\":\"function\"},controlNodeStyle:\"get from nodes, will be overwritten below\",__type__:{object:object,\"boolean\":boolean}},nodes:{borderWidth:{number:number},borderWidthSelected:{number:number,undefined:\"undefined\"},brokenImage:{string:string,undefined:\"undefined\"},color:{border:{string:string},background:{string:string},highlight:{border:{string:string},background:{string:string},__type__:{object:object,string:string}},hover:{border:{string:string},background:{string:string},__type__:{object:object,string:string}},__type__:{object:object,string:string}},fixed:{x:{\"boolean\":boolean},y:{\"boolean\":boolean},__type__:{object:object,\"boolean\":boolean}},font:{color:{string:string},size:{number:number},face:{string:string},background:{string:string},strokeWidth:{number:number},strokeColor:{string:string},__type__:{object:object,string:string}},group:{string:string,number:number,undefined:\"undefined\"},hidden:{\"boolean\":boolean},icon:{face:{string:string},code:{string:string},size:{number:number},color:{string:string},__type__:{object:object}},id:{string:string,number:number},image:{string:string,undefined:\"undefined\"},label:{string:string,undefined:\"undefined\"},labelHighlightBold:{\"boolean\":boolean},level:{number:number,undefined:\"undefined\"},mass:{number:number},physics:{\"boolean\":boolean},scaling:{min:{number:number},max:{number:number},label:{enabled:{\"boolean\":boolean},min:{number:number},max:{number:number},maxVisible:{number:number},drawThreshold:{number:number},__type__:{object:object,\"boolean\":boolean}},customScalingFunction:{\"function\":\"function\"},__type__:{object:object}},shadow:{enabled:{\"boolean\":boolean},size:{number:number},x:{number:number},y:{number:number},__type__:{object:object,\"boolean\":boolean}},shape:{string:[\"ellipse\",\"circle\",\"database\",\"box\",\"text\",\"image\",\"circularImage\",\"diamond\",\"dot\",\"star\",\"triangle\",\"triangleDown\",\"square\",\"icon\"]},size:{number:number},title:{string:string,undefined:\"undefined\"},value:{number:number,undefined:\"undefined\"},x:{number:number},y:{number:number},__type__:{object:object}},physics:{enabled:{\"boolean\":boolean},barnesHut:{gravitationalConstant:{number:number},centralGravity:{number:number},springLength:{number:number},springConstant:{number:number},damping:{number:number},avoidOverlap:{number:number},__type__:{object:object}},forceAtlas2Based:{gravitationalConstant:{number:number},centralGravity:{number:number},springLength:{number:number},springConstant:{number:number},damping:{number:number},avoidOverlap:{number:number},__type__:{object:object}},repulsion:{centralGravity:{number:number},springLength:{number:number},springConstant:{number:number},nodeDistance:{number:number},damping:{number:number},__type__:{object:object}},hierarchicalRepulsion:{centralGravity:{number:number},springLength:{number:number},springConstant:{number:number},nodeDistance:{number:number},damping:{number:number},__type__:{object:object}},maxVelocity:{number:number},minVelocity:{number:number},solver:{string:[\"barnesHut\",\"repulsion\",\"hierarchicalRepulsion\",\"forceAtlas2Based\"]},stabilization:{enabled:{\"boolean\":boolean},iterations:{number:number},updateInterval:{number:number},onlyDynamicEdges:{\"boolean\":boolean},fit:{\"boolean\":boolean},__type__:{object:object,\"boolean\":boolean}},timestep:{number:number},__type__:{object:object,\"boolean\":boolean}},autoResize:{\"boolean\":boolean},clickToUse:{\"boolean\":boolean},locale:{string:string},locales:{__any__:{any:any},__type__:{object:object}},height:{string:string},width:{string:string},__type__:{object:object}};allOptions.groups.__any__=allOptions.nodes;allOptions.manipulation.controlNodeStyle=allOptions.nodes;var configureOptions={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:[\"color\",\"#2B7CE9\"],background:[\"color\",\"#97C2FC\"],highlight:{border:[\"color\",\"#2B7CE9\"],background:[\"color\",\"#D2E5FF\"]},hover:{border:[\"color\",\"#2B7CE9\"],background:[\"color\",\"#D2E5FF\"]}},fixed:{x:false,y:false},font:{color:[\"color\",\"#343434\"],size:[14,0,100,1],face:[\"arial\",\"verdana\",\"tahoma\"],background:[\"color\",\"none\"],strokeWidth:[0,0,50,1],strokeColor:[\"color\",\"#ffffff\"]},hidden:false,labelHighlightBold:true,physics:true,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:false,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:false,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:[\"ellipse\",\"box\",\"circle\",\"database\",\"diamond\",\"dot\",\"square\",\"star\",\"text\",\"triangle\",\"triangleDown\"],size:[25,0,200,1]},edges:{arrows:{to:{enabled:false,scaleFactor:[1,0,3,.05]},middle:{enabled:false,scaleFactor:[1,0,3,.05]},from:{enabled:false,scaleFactor:[1,0,3,.05]}},color:{color:[\"color\",\"#848484\"],highlight:[\"color\",\"#848484\"],hover:[\"color\",\"#848484\"],inherit:[\"from\",\"to\",\"both\",true,false],opacity:[1,0,1,.05]},dashes:false,font:{color:[\"color\",\"#343434\"],size:[14,0,100,1],face:[\"arial\",\"verdana\",\"tahoma\"],background:[\"color\",\"none\"],strokeWidth:[2,0,50,1],strokeColor:[\"color\",\"#ffffff\"],align:[\"horizontal\",\"top\",\"middle\",\"bottom\"]},hidden:false,hoverWidth:[1.5,0,5,.1],labelHighlightBold:true,physics:true,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:true,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:false,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:true,type:[\"dynamic\",\"continuous\",\"discrete\",\"diagonalCross\",\"straightCross\",\"horizontal\",\"vertical\",\"curvedCW\",\"curvedCCW\"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:false,levelSeparation:[150,20,500,5],direction:[\"UD\",\"DU\",\"LR\",\"RL\"],sortMethod:[\"hubsize\",\"directed\"]}},interaction:{dragNodes:true,dragView:true,hideEdgesOnDrag:false,hideNodesOnDrag:false,hover:false,keyboard:{enabled:false,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:true},multiselect:false,navigationButtons:false,selectable:true,selectConnectedEdges:true,hoverConnectedEdges:true,tooltipDelay:[300,0,1e3,25],zoomView:true},manipulation:{enabled:false,initiallyActive:false},physics:{enabled:true,barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:[\"barnesHut\",\"forceAtlas2Based\",\"repulsion\",\"hierarchicalRepulsion\"],timestep:[.5,.01,1,.01]},global:{locale:[\"en\",\"nl\"]}};exports.allOptions=allOptions;exports.configureOptions=configureOptions},function(module,exports){\"use strict\";if(typeof CanvasRenderingContext2D!==\"undefined\"){CanvasRenderingContext2D.prototype.circle=function(x,y,r){\nthis.beginPath();this.arc(x,y,r,0,2*Math.PI,false);this.closePath()};CanvasRenderingContext2D.prototype.square=function(x,y,r){this.beginPath();this.rect(x-r,y-r,r*2,r*2);this.closePath()};CanvasRenderingContext2D.prototype.triangle=function(x,y,r){this.beginPath();r*=1.15;y+=.275*r;var s=r*2;var s2=s/2;var ir=Math.sqrt(3)/6*s;var h=Math.sqrt(s*s-s2*s2);this.moveTo(x,y-(h-ir));this.lineTo(x+s2,y+ir);this.lineTo(x-s2,y+ir);this.lineTo(x,y-(h-ir));this.closePath()};CanvasRenderingContext2D.prototype.triangleDown=function(x,y,r){this.beginPath();r*=1.15;y-=.275*r;var s=r*2;var s2=s/2;var ir=Math.sqrt(3)/6*s;var h=Math.sqrt(s*s-s2*s2);this.moveTo(x,y+(h-ir));this.lineTo(x+s2,y-ir);this.lineTo(x-s2,y-ir);this.lineTo(x,y+(h-ir));this.closePath()};CanvasRenderingContext2D.prototype.star=function(x,y,r){this.beginPath();r*=.82;y+=.1*r;for(var n=0;n<10;n++){var radius=n%2===0?r*1.3:r*.5;this.lineTo(x+radius*Math.sin(n*2*Math.PI/10),y-radius*Math.cos(n*2*Math.PI/10))}this.closePath()};CanvasRenderingContext2D.prototype.diamond=function(x,y,r){this.beginPath();this.lineTo(x,y+r);this.lineTo(x+r,y);this.lineTo(x,y-r);this.lineTo(x-r,y);this.closePath()};CanvasRenderingContext2D.prototype.roundRect=function(x,y,w,h,r){var r2d=Math.PI/180;if(w-2*r<0){r=w/2}if(h-2*r<0){r=h/2}this.beginPath();this.moveTo(x+r,y);this.lineTo(x+w-r,y);this.arc(x+w-r,y+r,r,r2d*270,r2d*360,false);this.lineTo(x+w,y+h-r);this.arc(x+w-r,y+h-r,r,0,r2d*90,false);this.lineTo(x+r,y+h);this.arc(x+r,y+h-r,r,r2d*90,r2d*180,false);this.lineTo(x,y+r);this.arc(x+r,y+r,r,r2d*180,r2d*270,false);this.closePath()};CanvasRenderingContext2D.prototype.ellipse=function(x,y,w,h){var kappa=.5522848,ox=w/2*kappa,oy=h/2*kappa,xe=x+w,ye=y+h,xm=x+w/2,ym=y+h/2;this.beginPath();this.moveTo(x,ym);this.bezierCurveTo(x,ym-oy,xm-ox,y,xm,y);this.bezierCurveTo(xm+ox,y,xe,ym-oy,xe,ym);this.bezierCurveTo(xe,ym+oy,xm+ox,ye,xm,ye);this.bezierCurveTo(xm-ox,ye,x,ym+oy,x,ym);this.closePath()};CanvasRenderingContext2D.prototype.database=function(x,y,w,h){var f=1/3;var wEllipse=w;var hEllipse=h*f;var kappa=.5522848,ox=wEllipse/2*kappa,oy=hEllipse/2*kappa,xe=x+wEllipse,ye=y+hEllipse,xm=x+wEllipse/2,ym=y+hEllipse/2,ymb=y+(h-hEllipse/2),yeb=y+h;this.beginPath();this.moveTo(xe,ym);this.bezierCurveTo(xe,ym+oy,xm+ox,ye,xm,ye);this.bezierCurveTo(xm-ox,ye,x,ym+oy,x,ym);this.bezierCurveTo(x,ym-oy,xm-ox,y,xm,y);this.bezierCurveTo(xm+ox,y,xe,ym-oy,xe,ym);this.lineTo(xe,ymb);this.bezierCurveTo(xe,ymb+oy,xm+ox,yeb,xm,yeb);this.bezierCurveTo(xm-ox,yeb,x,ymb+oy,x,ymb);this.lineTo(x,ym)};CanvasRenderingContext2D.prototype.arrow=function(x,y,angle,length){var xt=x-length*Math.cos(angle);var yt=y-length*Math.sin(angle);var xi=x-length*.9*Math.cos(angle);var yi=y-length*.9*Math.sin(angle);var xl=xt+length/3*Math.cos(angle+.5*Math.PI);var yl=yt+length/3*Math.sin(angle+.5*Math.PI);var xr=xt+length/3*Math.cos(angle-.5*Math.PI);var yr=yt+length/3*Math.sin(angle-.5*Math.PI);this.beginPath();this.moveTo(x,y);this.lineTo(xl,yl);this.lineTo(xi,yi);this.lineTo(xr,yr);this.closePath()};CanvasRenderingContext2D.prototype.dashedLine=function(x,y,x2,y2,pattern){this.beginPath();this.moveTo(x,y);var patternLength=pattern.length;var dx=x2-x;var dy=y2-y;var slope=dy/dx;var distRemaining=Math.sqrt(dx*dx+dy*dy);var patternIndex=0;var draw=true;var xStep=0;var dashLength=pattern[0];while(distRemaining>=.1){dashLength=pattern[patternIndex++%patternLength];if(dashLength>distRemaining){dashLength=distRemaining}xStep=Math.sqrt(dashLength*dashLength/(1+slope*slope));xStep=dx<0?-xStep:xStep;x+=xStep;y+=slope*xStep;if(draw===true){this.lineTo(x,y)}else{this.moveTo(x,y)}distRemaining-=dashLength;draw=!draw}}}},function(module,exports){\"use strict\";function parseDOT(data){dot=data;return parseGraph()}var NODE_ATTR_MAPPING={fontsize:\"font.size\",fontcolor:\"font.color\",labelfontcolor:\"font.color\",fontname:\"font.face\",color:[\"color.border\",\"color.background\"],fillcolor:\"color.background\",tooltip:\"title\",labeltooltip:\"title\"};var EDGE_ATTR_MAPPING=Object.create(NODE_ATTR_MAPPING);EDGE_ATTR_MAPPING.color=\"color.color\";var TOKENTYPE={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3};var DELIMITERS={\"{\":true,\"}\":true,\"[\":true,\"]\":true,\";\":true,\"=\":true,\",\":true,\"->\":true,\"--\":true};var dot=\"\";var index=0;var c=\"\";var token=\"\";var tokenType=TOKENTYPE.NULL;function first(){index=0;c=dot.charAt(0)}function next(){index++;c=dot.charAt(index)}function nextPreview(){return dot.charAt(index+1)}var regexAlphaNumeric=/[a-zA-Z_0-9.:#]/;function isAlphaNumeric(c){return regexAlphaNumeric.test(c)}function merge(a,b){if(!a){a={}}if(b){for(var name in b){if(b.hasOwnProperty(name)){a[name]=b[name]}}}return a}function setValue(obj,path,value){var keys=path.split(\".\");var o=obj;while(keys.length){var key=keys.shift();if(keys.length){if(!o[key]){o[key]={}}o=o[key]}else{o[key]=value}}}function addNode(graph,node){var i,len;var current=null;var graphs=[graph];var root=graph;while(root.parent){graphs.push(root.parent);root=root.parent}if(root.nodes){for(i=0,len=root.nodes.length;i<len;i++){if(node.id===root.nodes[i].id){current=root.nodes[i];break}}}if(!current){current={id:node.id};if(graph.node){current.attr=merge(current.attr,graph.node)}}for(i=graphs.length-1;i>=0;i--){var g=graphs[i];if(!g.nodes){g.nodes=[]}if(g.nodes.indexOf(current)===-1){g.nodes.push(current)}}if(node.attr){current.attr=merge(current.attr,node.attr)}}function addEdge(graph,edge){if(!graph.edges){graph.edges=[]}graph.edges.push(edge);if(graph.edge){var attr=merge({},graph.edge);edge.attr=merge(attr,edge.attr)}}function createEdge(graph,from,to,type,attr){var edge={from:from,to:to,type:type};if(graph.edge){edge.attr=merge({},graph.edge)}edge.attr=merge(edge.attr||{},attr);return edge}function getToken(){tokenType=TOKENTYPE.NULL;token=\"\";while(c===\" \"||c===\"\t\"||c===\"\\n\"||c===\"\\r\"){next()}do{var isComment=false;if(c===\"#\"){var i=index-1;while(dot.charAt(i)===\" \"||dot.charAt(i)===\"\t\"){i--}if(dot.charAt(i)===\"\\n\"||dot.charAt(i)===\"\"){while(c!=\"\"&&c!=\"\\n\"){next()}isComment=true}}if(c===\"/\"&&nextPreview()===\"/\"){while(c!=\"\"&&c!=\"\\n\"){next()}isComment=true}if(c===\"/\"&&nextPreview()===\"*\"){while(c!=\"\"){if(c===\"*\"&&nextPreview()===\"/\"){next();next();break}else{next()}}isComment=true}while(c===\" \"||c===\"\t\"||c===\"\\n\"||c===\"\\r\"){next()}}while(isComment);if(c===\"\"){tokenType=TOKENTYPE.DELIMITER;return}var c2=c+nextPreview();if(DELIMITERS[c2]){tokenType=TOKENTYPE.DELIMITER;token=c2;next();next();return}if(DELIMITERS[c]){tokenType=TOKENTYPE.DELIMITER;token=c;next();return}if(isAlphaNumeric(c)||c===\"-\"){token+=c;next();while(isAlphaNumeric(c)){token+=c;next()}if(token===\"false\"){token=false}else if(token===\"true\"){token=true}else if(!isNaN(Number(token))){token=Number(token)}tokenType=TOKENTYPE.IDENTIFIER;return}if(c==='\"'){next();while(c!=\"\"&&(c!='\"'||c==='\"'&&nextPreview()==='\"')){token+=c;if(c==='\"'){next()}next()}if(c!='\"'){throw newSyntaxError('End of string \" expected')}next();tokenType=TOKENTYPE.IDENTIFIER;return}tokenType=TOKENTYPE.UNKNOWN;while(c!=\"\"){token+=c;next()}throw new SyntaxError('Syntax error in part \"'+chop(token,30)+'\"')}function parseGraph(){var graph={};first();getToken();if(token===\"strict\"){graph.strict=true;getToken()}if(token===\"graph\"||token===\"digraph\"){graph.type=token;getToken()}if(tokenType===TOKENTYPE.IDENTIFIER){graph.id=token;getToken()}if(token!=\"{\"){throw newSyntaxError(\"Angle bracket { expected\")}getToken();parseStatements(graph);if(token!=\"}\"){throw newSyntaxError(\"Angle bracket } expected\")}getToken();if(token!==\"\"){throw newSyntaxError(\"End of file expected\")}getToken();delete graph.node;delete graph.edge;delete graph.graph;return graph}function parseStatements(graph){while(token!==\"\"&&token!=\"}\"){parseStatement(graph);if(token===\";\"){getToken()}}}function parseStatement(graph){var subgraph=parseSubgraph(graph);if(subgraph){parseEdge(graph,subgraph);return}var attr=parseAttributeStatement(graph);if(attr){return}if(tokenType!=TOKENTYPE.IDENTIFIER){throw newSyntaxError(\"Identifier expected\")}var id=token;getToken();if(token===\"=\"){getToken();if(tokenType!=TOKENTYPE.IDENTIFIER){throw newSyntaxError(\"Identifier expected\")}graph[id]=token;getToken()}else{parseNodeStatement(graph,id)}}function parseSubgraph(graph){var subgraph=null;if(token===\"subgraph\"){subgraph={};subgraph.type=\"subgraph\";getToken();if(tokenType===TOKENTYPE.IDENTIFIER){subgraph.id=token;getToken()}}if(token===\"{\"){getToken();if(!subgraph){subgraph={}}subgraph.parent=graph;subgraph.node=graph.node;subgraph.edge=graph.edge;subgraph.graph=graph.graph;parseStatements(subgraph);if(token!=\"}\"){throw newSyntaxError(\"Angle bracket } expected\")}getToken();delete subgraph.node;delete subgraph.edge;delete subgraph.graph;delete subgraph.parent;if(!graph.subgraphs){graph.subgraphs=[]}graph.subgraphs.push(subgraph)}return subgraph}function parseAttributeStatement(graph){if(token===\"node\"){getToken();graph.node=parseAttributeList();return\"node\"}else if(token===\"edge\"){getToken();graph.edge=parseAttributeList();return\"edge\"}else if(token===\"graph\"){getToken();graph.graph=parseAttributeList();return\"graph\"}return null}function parseNodeStatement(graph,id){var node={id:id};var attr=parseAttributeList();if(attr){node.attr=attr}addNode(graph,node);parseEdge(graph,id)}function parseEdge(graph,from){while(token===\"->\"||token===\"--\"){var to;var type=token;getToken();var subgraph=parseSubgraph(graph);if(subgraph){to=subgraph}else{if(tokenType!=TOKENTYPE.IDENTIFIER){throw newSyntaxError(\"Identifier or subgraph expected\")}to=token;addNode(graph,{id:to});getToken()}var attr=parseAttributeList();var edge=createEdge(graph,from,to,type,attr);addEdge(graph,edge);from=to}}function parseAttributeList(){var attr=null;while(token===\"[\"){getToken();attr={};while(token!==\"\"&&token!=\"]\"){if(tokenType!=TOKENTYPE.IDENTIFIER){throw newSyntaxError(\"Attribute name expected\")}var name=token;getToken();if(token!=\"=\"){throw newSyntaxError(\"Equal sign = expected\")}getToken();if(tokenType!=TOKENTYPE.IDENTIFIER){throw newSyntaxError(\"Attribute value expected\")}var value=token;setValue(attr,name,value);getToken();if(token==\",\"){getToken()}}if(token!=\"]\"){throw newSyntaxError(\"Bracket ] expected\")}getToken()}return attr}function newSyntaxError(message){return new SyntaxError(message+', got \"'+chop(token,30)+'\" (char '+index+\")\")}function chop(text,maxLength){return text.length<=maxLength?text:text.substr(0,27)+\"...\"}function forEach2(array1,array2,fn){if(Array.isArray(array1)){array1.forEach(function(elem1){if(Array.isArray(array2)){array2.forEach(function(elem2){fn(elem1,elem2)})}else{fn(elem1,array2)}})}else{if(Array.isArray(array2)){array2.forEach(function(elem2){fn(array1,elem2)})}else{fn(array1,array2)}}}function setProp(object,path,value){var names=path.split(\".\");var prop=names.pop();var obj=object;for(var i=0;i<names.length;i++){var name=names[i];if(!(name in obj)){obj[name]={}}obj=obj[name]}obj[prop]=value;return object}function convertAttr(attr,mapping){var converted={};for(var prop in attr){if(attr.hasOwnProperty(prop)){var visProp=mapping[prop];if(Array.isArray(visProp)){visProp.forEach(function(visPropI){setProp(converted,visPropI,attr[prop])})}else if(typeof visProp===\"string\"){setProp(converted,visProp,attr[prop])}else{setProp(converted,prop,attr[prop])}}}return converted}function DOTToGraph(data){var dotData=parseDOT(data);var graphData={nodes:[],edges:[],options:{}};if(dotData.nodes){dotData.nodes.forEach(function(dotNode){var graphNode={id:dotNode.id,label:String(dotNode.label||dotNode.id)};merge(graphNode,convertAttr(dotNode.attr,NODE_ATTR_MAPPING));if(graphNode.image){graphNode.shape=\"image\"}graphData.nodes.push(graphNode)})}if(dotData.edges){var convertEdge=function convertEdge(dotEdge){var graphEdge={from:dotEdge.from,to:dotEdge.to};merge(graphEdge,convertAttr(dotEdge.attr,EDGE_ATTR_MAPPING));graphEdge.arrows=dotEdge.type===\"->\"?\"to\":undefined;return graphEdge};dotData.edges.forEach(function(dotEdge){var from,to;if(dotEdge.from instanceof Object){from=dotEdge.from.nodes}else{from={id:dotEdge.from}}if(dotEdge.to instanceof Object){to=dotEdge.to.nodes}else{to={id:dotEdge.to}}if(dotEdge.from instanceof Object&&dotEdge.from.edges){dotEdge.from.edges.forEach(function(subEdge){var graphEdge=convertEdge(subEdge);graphData.edges.push(graphEdge)})}forEach2(from,to,function(from,to){var subEdge=createEdge(graphData,from.id,to.id,dotEdge.type,dotEdge.attr);var graphEdge=convertEdge(subEdge);graphData.edges.push(graphEdge)});if(dotEdge.to instanceof Object&&dotEdge.to.edges){dotEdge.to.edges.forEach(function(subEdge){var graphEdge=convertEdge(subEdge);graphData.edges.push(graphEdge)})}})}if(dotData.attr){graphData.options=dotData.attr}return graphData}exports.parseDOT=parseDOT;exports.DOTToGraph=DOTToGraph},function(module,exports){\"use strict\";function parseGephi(gephiJSON,optionsObj){var edges=[];var nodes=[];var options={edges:{inheritColor:false},nodes:{fixed:false,parseColor:false}};if(optionsObj!==undefined){if(optionsObj.fixed!==undefined){options.nodes.fixed=optionsObj.fixed}if(optionsObj.parseColor!==undefined){options.nodes.parseColor=optionsObj.parseColor}if(optionsObj.inheritColor!==undefined){options.edges.inheritColor=optionsObj.inheritColor}}var gEdges=gephiJSON.edges;var gNodes=gephiJSON.nodes;for(var i=0;i<gEdges.length;i++){var edge={};var gEdge=gEdges[i];edge[\"id\"]=gEdge.id;edge[\"from\"]=gEdge.source;edge[\"to\"]=gEdge.target;edge[\"attributes\"]=gEdge.attributes;if(gEdge.color&&options.inheritColor===false){edge[\"color\"]=gEdge.color}edges.push(edge)}for(var i=0;i<gNodes.length;i++){var node={};var gNode=gNodes[i];node[\"id\"]=gNode.id;node[\"attributes\"]=gNode.attributes;node[\"title\"]=gNode.title;node[\"x\"]=gNode.x;node[\"y\"]=gNode.y;node[\"label\"]=gNode.label;if(options.nodes.parseColor===true){node[\"color\"]=gNode.color}else{node[\"color\"]=gNode.color!==undefined?{background:gNode.color,border:gNode.color,highlight:{background:gNode.color,border:gNode.color},hover:{background:gNode.color,border:gNode.color}}:undefined}node[\"size\"]=gNode.size;node[\"fixed\"]=options.nodes.fixed&&gNode.x!==undefined&&gNode.y!==undefined;nodes.push(node)}return{nodes:nodes,edges:edges}}exports.parseGephi=parseGephi},function(module,exports){\"use strict\";function Images(callback){this.images={};this.imageBroken={};this.callback=callback}Images.prototype.load=function(url,brokenUrl,id){var img=this.images[url];if(img===undefined){var me=this;img=new Image;img.onload=function(){if(this.width===0){document.body.appendChild(this);this.width=this.offsetWidth;this.height=this.offsetHeight;document.body.removeChild(this)}if(me.callback){me.images[url]=img;me.callback(this)}};img.onerror=function(){if(brokenUrl===undefined){console.error(\"Could not load image:\",url);delete this.src;if(me.callback){me.callback(this)}}else{if(me.imageBroken[id]&&me.imageBroken[id][url]===true){console.error(\"Could not load brokenImage:\",brokenUrl);delete this.src;if(me.callback){me.callback(this)}}else{console.error(\"Could not load image:\",url);this.src=brokenUrl;if(me.imageBroken[id]===undefined){me.imageBroken[id]={}}me.imageBroken[id][url]=true}}};img.src=url}return img};module.exports=Images},function(module,exports){\"use strict\";exports[\"en\"]={edit:\"Edit\",del:\"Delete selected\",back:\"Back\",addNode:\"Add Node\",addEdge:\"Add Edge\",editNode:\"Edit Node\",editEdge:\"Edit Edge\",addDescription:\"Click in an empty space to place a new node.\",edgeDescription:\"Click on a node and drag the edge to another node to connect them.\",editEdgeDescription:\"Click on the control points and drag them to a node to connect to it.\",createEdgeError:\"Cannot link edges to a cluster.\",deleteClusterError:\"Clusters cannot be deleted.\",editClusterError:\"Clusters cannot be edited.\"};exports[\"en_EN\"]=exports[\"en\"];exports[\"en_US\"]=exports[\"en\"];exports[\"nl\"]={edit:\"Wijzigen\",del:\"Selectie verwijderen\",back:\"Terug\",addNode:\"Node toevoegen\",addEdge:\"Link toevoegen\",editNode:\"Node wijzigen\",editEdge:\"Link wijzigen\",addDescription:\"Klik op een leeg gebied om een nieuwe node te maken.\",edgeDescription:\"Klik op een node en sleep de link naar een andere node om ze te verbinden.\",editEdgeDescription:\"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.\",createEdgeError:\"Kan geen link maken naar een cluster.\",deleteClusterError:\"Clusters kunnen niet worden verwijderd.\",editClusterError:\"Clusters kunnen niet worden aangepast.\"};exports[\"nl_NL\"]=exports[\"nl\"];exports[\"nl_BE\"]=exports[\"nl\"]}])});\n",
"title": "$:/plugins/felixhayashi/vis/vis.js",
"type": "application/javascript",
"module-type": "library"
}
}
}
{
"tiddlers": {
"$:/plugins/kixam/moment/moment.js": {
"text": "!function(a,b){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=b():\"function\"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){\"use strict\";function a(){return Gd.apply(null,arguments)}function b(a){Gd=a}function c(a){return\"[object Array]\"===Object.prototype.toString.call(a)}function d(a){return a instanceof Date||\"[object Date]\"===Object.prototype.toString.call(a)}function e(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function f(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function g(a,b){for(var c in b)f(b,c)&&(a[c]=b[c]);return f(b,\"toString\")&&(a.toString=b.toString),f(b,\"valueOf\")&&(a.valueOf=b.valueOf),a}function h(a,b,c,d){return za(a,b,c,d,!0).utc()}function i(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function j(a){return null==a._pf&&(a._pf=i()),a._pf}function k(a){if(null==a._isValid){var b=j(a);a._isValid=!isNaN(a._d.getTime())&&b.overflow<0&&!b.empty&&!b.invalidMonth&&!b.nullInput&&!b.invalidFormat&&!b.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour)}return a._isValid}function l(a){var b=h(0/0);return null!=a?g(j(b),a):j(b).userInvalidated=!0,b}function m(a,b){var c,d,e;if(\"undefined\"!=typeof b._isAMomentObject&&(a._isAMomentObject=b._isAMomentObject),\"undefined\"!=typeof b._i&&(a._i=b._i),\"undefined\"!=typeof b._f&&(a._f=b._f),\"undefined\"!=typeof b._l&&(a._l=b._l),\"undefined\"!=typeof b._strict&&(a._strict=b._strict),\"undefined\"!=typeof b._tzm&&(a._tzm=b._tzm),\"undefined\"!=typeof b._isUTC&&(a._isUTC=b._isUTC),\"undefined\"!=typeof b._offset&&(a._offset=b._offset),\"undefined\"!=typeof b._pf&&(a._pf=j(b)),\"undefined\"!=typeof b._locale&&(a._locale=b._locale),Id.length>0)for(c in Id)d=Id[c],e=b[d],\"undefined\"!=typeof e&&(a[d]=e);return a}function n(b){m(this,b),this._d=new Date(+b._d),Jd===!1&&(Jd=!0,a.updateOffset(this),Jd=!1)}function o(a){return a instanceof n||null!=a&&null!=a._isAMomentObject}function p(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function q(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&p(a[d])!==p(b[d]))&&g++;return g+f}function r(){}function s(a){return a?a.toLowerCase().replace(\"_\",\"-\"):a}function t(a){for(var b,c,d,e,f=0;f<a.length;){for(e=s(a[f]).split(\"-\"),b=e.length,c=s(a[f+1]),c=c?c.split(\"-\"):null;b>0;){if(d=u(e.slice(0,b).join(\"-\")))return d;if(c&&c.length>=b&&q(e,c,!0)>=b-1)break;b--}f++}return null}function u(a){var b=null;if(!Kd[a]&&\"undefined\"!=typeof module&&module&&module.exports)try{b=Hd._abbr,require(\"./locale/\"+a),v(b)}catch(c){}return Kd[a]}function v(a,b){var c;return a&&(c=\"undefined\"==typeof b?x(a):w(a,b),c&&(Hd=c)),Hd._abbr}function w(a,b){return null!==b?(b.abbr=a,Kd[a]||(Kd[a]=new r),Kd[a].set(b),v(a),Kd[a]):(delete Kd[a],null)}function x(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Hd;if(!c(a)){if(b=u(a))return b;a=[a]}return t(a)}function y(a,b){var c=a.toLowerCase();Ld[c]=Ld[c+\"s\"]=Ld[b]=a}function z(a){return\"string\"==typeof a?Ld[a]||Ld[a.toLowerCase()]:void 0}function A(a){var b,c,d={};for(c in a)f(a,c)&&(b=z(c),b&&(d[b]=a[c]));return d}function B(b,c){return function(d){return null!=d?(D(this,b,d),a.updateOffset(this,c),this):C(this,b)}}function C(a,b){return a._d[\"get\"+(a._isUTC?\"UTC\":\"\")+b]()}function D(a,b,c){return a._d[\"set\"+(a._isUTC?\"UTC\":\"\")+b](c)}function E(a,b){var c;if(\"object\"==typeof a)for(c in a)this.set(c,a[c]);else if(a=z(a),\"function\"==typeof this[a])return this[a](b);return this}function F(a,b,c){for(var d=\"\"+Math.abs(a),e=a>=0;d.length<b;)d=\"0\"+d;return(e?c?\"+\":\"\":\"-\")+d}function G(a,b,c,d){var e=d;\"string\"==typeof d&&(e=function(){return this[d]()}),a&&(Pd[a]=e),b&&(Pd[b[0]]=function(){return F(e.apply(this,arguments),b[1],b[2])}),c&&(Pd[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function H(a){return a.match(/\\[[\\s\\S]/)?a.replace(/^\\[|\\]$/g,\"\"):a.replace(/\\\\/g,\"\")}function I(a){var b,c,d=a.match(Md);for(b=0,c=d.length;c>b;b++)Pd[d[b]]?d[b]=Pd[d[b]]:d[b]=H(d[b]);return function(e){var f=\"\";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function J(a,b){return a.isValid()?(b=K(b,a.localeData()),Od[b]||(Od[b]=I(b)),Od[b](a)):a.localeData().invalidDate()}function K(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Nd.lastIndex=0;d>=0&&Nd.test(a);)a=a.replace(Nd,c),Nd.lastIndex=0,d-=1;return a}function L(a,b,c){ce[a]=\"function\"==typeof b?b:function(a){return a&&c?c:b}}function M(a,b){return f(ce,a)?ce[a](b._strict,b._locale):new RegExp(N(a))}function N(a){return a.replace(\"\\\\\",\"\").replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,function(a,b,c,d,e){return b||c||d||e}).replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}function O(a,b){var c,d=b;for(\"string\"==typeof a&&(a=[a]),\"number\"==typeof b&&(d=function(a,c){c[b]=p(a)}),c=0;c<a.length;c++)de[a[c]]=d}function P(a,b){O(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}function Q(a,b,c){null!=b&&f(de,a)&&de[a](b,c._a,c,a)}function R(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function S(a){return this._months[a.month()]}function T(a){return this._monthsShort[a.month()]}function U(a,b,c){var d,e,f;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;12>d;d++){if(e=h([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp(\"^\"+this.months(e,\"\").replace(\".\",\"\")+\"$\",\"i\"),this._shortMonthsParse[d]=new RegExp(\"^\"+this.monthsShort(e,\"\").replace(\".\",\"\")+\"$\",\"i\")),c||this._monthsParse[d]||(f=\"^\"+this.months(e,\"\")+\"|^\"+this.monthsShort(e,\"\"),this._monthsParse[d]=new RegExp(f.replace(\".\",\"\"),\"i\")),c&&\"MMMM\"===b&&this._longMonthsParse[d].test(a))return d;if(c&&\"MMM\"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}function V(a,b){var c;return\"string\"==typeof b&&(b=a.localeData().monthsParse(b),\"number\"!=typeof b)?a:(c=Math.min(a.date(),R(a.year(),b)),a._d[\"set\"+(a._isUTC?\"UTC\":\"\")+\"Month\"](b,c),a)}function W(b){return null!=b?(V(this,b),a.updateOffset(this,!0),this):C(this,\"Month\")}function X(){return R(this.year(),this.month())}function Y(a){var b,c=a._a;return c&&-2===j(a).overflow&&(b=c[fe]<0||c[fe]>11?fe:c[ge]<1||c[ge]>R(c[ee],c[fe])?ge:c[he]<0||c[he]>24||24===c[he]&&(0!==c[ie]||0!==c[je]||0!==c[ke])?he:c[ie]<0||c[ie]>59?ie:c[je]<0||c[je]>59?je:c[ke]<0||c[ke]>999?ke:-1,j(a)._overflowDayOfYear&&(ee>b||b>ge)&&(b=ge),j(a).overflow=b),a}function Z(b){a.suppressDeprecationWarnings===!1&&\"undefined\"!=typeof console&&console.warn&&console.warn(\"Deprecation warning: \"+b)}function $(a,b){var c=!0,d=a+\"\\n\"+(new Error).stack;return g(function(){return c&&(Z(d),c=!1),b.apply(this,arguments)},b)}function _(a,b){ne[a]||(Z(b),ne[a]=!0)}function aa(a){var b,c,d=a._i,e=oe.exec(d);if(e){for(j(a).iso=!0,b=0,c=pe.length;c>b;b++)if(pe[b][1].exec(d)){a._f=pe[b][0]+(e[6]||\" \");break}for(b=0,c=qe.length;c>b;b++)if(qe[b][1].exec(d)){a._f+=qe[b][0];break}d.match(_d)&&(a._f+=\"Z\"),ta(a)}else a._isValid=!1}function ba(b){var c=re.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(aa(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}function ca(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function da(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function ea(a){return fa(a)?366:365}function fa(a){return a%4===0&&a%100!==0||a%400===0}function ga(){return fa(this.year())}function ha(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=Aa(a).add(f,\"d\"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function ia(a){return ha(a,this._week.dow,this._week.doy).week}function ja(){return this._week.dow}function ka(){return this._week.doy}function la(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),\"d\")}function ma(a){var b=ha(this,1,4).week;return null==a?b:this.add(7*(a-b),\"d\")}function na(a,b,c,d,e){var f,g,h=da(a,0,1).getUTCDay();return h=0===h?7:h,c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:ea(a-1)+g}}function oa(a){var b=Math.round((this.clone().startOf(\"day\")-this.clone().startOf(\"year\"))/864e5)+1;return null==a?b:this.add(a-b,\"d\")}function pa(a,b,c){return null!=a?a:null!=b?b:c}function qa(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function ra(a){var b,c,d,e,f=[];if(!a._d){for(d=qa(a),a._w&&null==a._a[ge]&&null==a._a[fe]&&sa(a),a._dayOfYear&&(e=pa(a._a[ee],d[ee]),a._dayOfYear>ea(e)&&(j(a)._overflowDayOfYear=!0),c=da(e,0,a._dayOfYear),a._a[fe]=c.getUTCMonth(),a._a[ge]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;7>b;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[he]&&0===a._a[ie]&&0===a._a[je]&&0===a._a[ke]&&(a._nextDay=!0,a._a[he]=0),a._d=(a._useUTC?da:ca).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[he]=24)}}function sa(a){var b,c,d,e,f,g,h;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=pa(b.GG,a._a[ee],ha(Aa(),1,4).year),d=pa(b.W,1),e=pa(b.E,1)):(f=a._locale._week.dow,g=a._locale._week.doy,c=pa(b.gg,a._a[ee],ha(Aa(),f,g).year),d=pa(b.w,1),null!=b.d?(e=b.d,f>e&&++d):e=null!=b.e?b.e+f:f),h=na(c,d,e,g,f),a._a[ee]=h.year,a._dayOfYear=h.dayOfYear}function ta(b){if(b._f===a.ISO_8601)return void aa(b);b._a=[],j(b).empty=!0;var c,d,e,f,g,h=\"\"+b._i,i=h.length,k=0;for(e=K(b._f,b._locale).match(Md)||[],c=0;c<e.length;c++)f=e[c],d=(h.match(M(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&j(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),k+=d.length),Pd[f]?(d?j(b).empty=!1:j(b).unusedTokens.push(f),Q(f,d,b)):b._strict&&!d&&j(b).unusedTokens.push(f);j(b).charsLeftOver=i-k,h.length>0&&j(b).unusedInput.push(h),j(b).bigHour===!0&&b._a[he]<=12&&b._a[he]>0&&(j(b).bigHour=void 0),b._a[he]=ua(b._locale,b._a[he],b._meridiem),ra(b),Y(b)}function ua(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&12>b&&(b+=12),d||12!==b||(b=0),b):b}function va(a){var b,c,d,e,f;if(0===a._f.length)return j(a).invalidFormat=!0,void(a._d=new Date(0/0));for(e=0;e<a._f.length;e++)f=0,b=m({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._f=a._f[e],ta(b),k(b)&&(f+=j(b).charsLeftOver,f+=10*j(b).unusedTokens.length,j(b).score=f,(null==d||d>f)&&(d=f,c=b));g(a,c||b)}function wa(a){if(!a._d){var b=A(a._i);a._a=[b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],ra(a)}}function xa(a){var b,e=a._i,f=a._f;return a._locale=a._locale||x(a._l),null===e||void 0===f&&\"\"===e?l({nullInput:!0}):(\"string\"==typeof e&&(a._i=e=a._locale.preparse(e)),o(e)?new n(Y(e)):(c(f)?va(a):f?ta(a):d(e)?a._d=e:ya(a),b=new n(Y(a)),b._nextDay&&(b.add(1,\"d\"),b._nextDay=void 0),b))}function ya(b){var f=b._i;void 0===f?b._d=new Date:d(f)?b._d=new Date(+f):\"string\"==typeof f?ba(b):c(f)?(b._a=e(f.slice(0),function(a){return parseInt(a,10)}),ra(b)):\"object\"==typeof f?wa(b):\"number\"==typeof f?b._d=new Date(f):a.createFromInputFallback(b)}function za(a,b,c,d,e){var f={};return\"boolean\"==typeof c&&(d=c,c=void 0),f._isAMomentObject=!0,f._useUTC=f._isUTC=e,f._l=c,f._i=a,f._f=b,f._strict=d,xa(f)}function Aa(a,b,c,d){return za(a,b,c,d,!1)}function Ba(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return Aa();for(d=b[0],e=1;e<b.length;++e)b[e][a](d)&&(d=b[e]);return d}function Ca(){var a=[].slice.call(arguments,0);return Ba(\"isBefore\",a)}function Da(){var a=[].slice.call(arguments,0);return Ba(\"isAfter\",a)}function Ea(a){var b=A(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+36e5*h,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=x(),this._bubble()}function Fa(a){return a instanceof Ea}function Ga(a,b){G(a,0,0,function(){var a=this.utcOffset(),c=\"+\";return 0>a&&(a=-a,c=\"-\"),c+F(~~(a/60),2)+b+F(~~a%60,2)})}function Ha(a){var b=(a||\"\").match(_d)||[],c=b[b.length-1]||[],d=(c+\"\").match(we)||[\"-\",0,0],e=+(60*d[1])+p(d[2]);return\"+\"===d[0]?e:-e}function Ia(b,c){var e,f;return c._isUTC?(e=c.clone(),f=(o(b)||d(b)?+b:+Aa(b))-+e,e._d.setTime(+e._d+f),a.updateOffset(e,!1),e):Aa(b).local();return c._isUTC?Aa(b).zone(c._offset||0):Aa(b).local()}function Ja(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Ka(b,c){var d,e=this._offset||0;return null!=b?(\"string\"==typeof b&&(b=Ha(b)),Math.abs(b)<16&&(b=60*b),!this._isUTC&&c&&(d=Ja(this)),this._offset=b,this._isUTC=!0,null!=d&&this.add(d,\"m\"),e!==b&&(!c||this._changeInProgress?$a(this,Va(b-e,\"m\"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?e:Ja(this)}function La(a,b){return null!=a?(\"string\"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Ma(a){return this.utcOffset(0,a)}function Na(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Ja(this),\"m\")),this}function Oa(){return this._tzm?this.utcOffset(this._tzm):\"string\"==typeof this._i&&this.utcOffset(Ha(this._i)),this}function Pa(a){return a=a?Aa(a).utcOffset():0,(this.utcOffset()-a)%60===0}function Qa(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ra(){if(this._a){var a=this._isUTC?h(this._a):Aa(this._a);return this.isValid()&&q(this._a,a.toArray())>0}return!1}function Sa(){return!this._isUTC}function Ta(){return this._isUTC}function Ua(){return this._isUTC&&0===this._offset}function Va(a,b){var c,d,e,g=a,h=null;return Fa(a)?g={ms:a._milliseconds,d:a._days,M:a._months}:\"number\"==typeof a?(g={},b?g[b]=a:g.milliseconds=a):(h=xe.exec(a))?(c=\"-\"===h[1]?-1:1,g={y:0,d:p(h[ge])*c,h:p(h[he])*c,m:p(h[ie])*c,s:p(h[je])*c,ms:p(h[ke])*c}):(h=ye.exec(a))?(c=\"-\"===h[1]?-1:1,g={y:Wa(h[2],c),M:Wa(h[3],c),d:Wa(h[4],c),h:Wa(h[5],c),m:Wa(h[6],c),s:Wa(h[7],c),w:Wa(h[8],c)}):null==g?g={}:\"object\"==typeof g&&(\"from\"in g||\"to\"in g)&&(e=Ya(Aa(g.from),Aa(g.to)),g={},g.ms=e.milliseconds,g.M=e.months),d=new Ea(g),Fa(a)&&f(a,\"_locale\")&&(d._locale=a._locale),d}function Wa(a,b){var c=a&&parseFloat(a.replace(\",\",\".\"));return(isNaN(c)?0:c)*b}function Xa(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,\"M\").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,\"M\"),c}function Ya(a,b){var c;return b=Ia(b,a),a.isBefore(b)?c=Xa(a,b):(c=Xa(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function Za(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(_(b,\"moment().\"+b+\"(period, number) is deprecated. Please use moment().\"+b+\"(number, period).\"),f=c,c=d,d=f),c=\"string\"==typeof c?+c:c,e=Va(c,d),$a(this,e,a),this}}function $a(b,c,d,e){var f=c._milliseconds,g=c._days,h=c._months;e=null==e?!0:e,f&&b._d.setTime(+b._d+f*d),g&&D(b,\"Date\",C(b,\"Date\")+g*d),h&&V(b,C(b,\"Month\")+h*d),e&&a.updateOffset(b,g||h)}function _a(a){var b=a||Aa(),c=Ia(b,this).startOf(\"day\"),d=this.diff(c,\"days\",!0),e=-6>d?\"sameElse\":-1>d?\"lastWeek\":0>d?\"lastDay\":1>d?\"sameDay\":2>d?\"nextDay\":7>d?\"nextWeek\":\"sameElse\";return this.format(this.localeData().calendar(e,this,Aa(b)))}function ab(){return new n(this)}function bb(a,b){var c;return b=z(\"undefined\"!=typeof b?b:\"millisecond\"),\"millisecond\"===b?(a=o(a)?a:Aa(a),+this>+a):(c=o(a)?+a:+Aa(a),c<+this.clone().startOf(b))}function cb(a,b){var c;return b=z(\"undefined\"!=typeof b?b:\"millisecond\"),\"millisecond\"===b?(a=o(a)?a:Aa(a),+a>+this):(c=o(a)?+a:+Aa(a),+this.clone().endOf(b)<c)}function db(a,b,c){return this.isAfter(a,c)&&this.isBefore(b,c)}function eb(a,b){var c;return b=z(b||\"millisecond\"),\"millisecond\"===b?(a=o(a)?a:Aa(a),+this===+a):(c=+Aa(a),+this.clone().startOf(b)<=c&&c<=+this.clone().endOf(b))}function fb(a){return 0>a?Math.ceil(a):Math.floor(a)}function gb(a,b,c){var d,e,f=Ia(a,this),g=6e4*(f.utcOffset()-this.utcOffset());return b=z(b),\"year\"===b||\"month\"===b||\"quarter\"===b?(e=hb(this,f),\"quarter\"===b?e/=3:\"year\"===b&&(e/=12)):(d=this-f,e=\"second\"===b?d/1e3:\"minute\"===b?d/6e4:\"hour\"===b?d/36e5:\"day\"===b?(d-g)/864e5:\"week\"===b?(d-g)/6048e5:d),c?e:fb(e)}function hb(a,b){var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),f=a.clone().add(e,\"months\");return 0>b-f?(c=a.clone().add(e-1,\"months\"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,\"months\"),d=(b-f)/(c-f)),-(e+d)}function ib(){return this.clone().locale(\"en\").format(\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\")}function jb(){var a=this.clone().utc();return 0<a.year()&&a.year()<=9999?\"function\"==typeof Date.prototype.toISOString?this.toDate().toISOString():J(a,\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\"):J(a,\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\")}function kb(b){var c=J(this,b||a.defaultFormat);return this.localeData().postformat(c)}function lb(a,b){return this.isValid()?Va({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function mb(a){return this.from(Aa(),a)}function nb(a,b){return this.isValid()?Va({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function ob(a){return this.to(Aa(),a)}function pb(a){var b;return void 0===a?this._locale._abbr:(b=x(a),null!=b&&(this._locale=b),this)}function qb(){return this._locale}function rb(a){switch(a=z(a)){case\"year\":this.month(0);case\"quarter\":case\"month\":this.date(1);case\"week\":case\"isoWeek\":case\"day\":this.hours(0);case\"hour\":this.minutes(0);case\"minute\":this.seconds(0);case\"second\":this.milliseconds(0)}return\"week\"===a&&this.weekday(0),\"isoWeek\"===a&&this.isoWeekday(1),\"quarter\"===a&&this.month(3*Math.floor(this.month()/3)),this}function sb(a){return a=z(a),void 0===a||\"millisecond\"===a?this:this.startOf(a).add(1,\"isoWeek\"===a?\"week\":a).subtract(1,\"ms\")}function tb(){return+this._d-6e4*(this._offset||0)}function ub(){return Math.floor(+this/1e3)}function vb(){return this._offset?new Date(+this):this._d}function wb(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function xb(){return k(this)}function yb(){return g({},j(this))}function zb(){return j(this).overflow}function Ab(a,b){G(0,[a,a.length],0,b)}function Bb(a,b,c){return ha(Aa([a,11,31+b-c]),b,c).week}function Cb(a){var b=ha(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==a?b:this.add(a-b,\"y\")}function Db(a){var b=ha(this,1,4).year;return null==a?b:this.add(a-b,\"y\")}function Eb(){return Bb(this.year(),1,4)}function Fb(){var a=this.localeData()._week;return Bb(this.year(),a.dow,a.doy)}function Gb(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}function Hb(a,b){if(\"string\"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),\"number\"!=typeof a)return null}else a=parseInt(a,10);return a}function Ib(a){return this._weekdays[a.day()]}function Jb(a){return this._weekdaysShort[a.day()]}function Kb(a){return this._weekdaysMin[a.day()]}function Lb(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=Aa([2e3,1]).day(b),d=\"^\"+this.weekdays(c,\"\")+\"|^\"+this.weekdaysShort(c,\"\")+\"|^\"+this.weekdaysMin(c,\"\"),this._weekdaysParse[b]=new RegExp(d.replace(\".\",\"\"),\"i\")),this._weekdaysParse[b].test(a))return b}function Mb(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Hb(a,this.localeData()),this.add(a-b,\"d\")):b}function Nb(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,\"d\")}function Ob(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)}function Pb(a,b){G(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Qb(a,b){return b._meridiemParse}function Rb(a){return\"p\"===(a+\"\").toLowerCase().charAt(0)}function Sb(a,b,c){return a>11?c?\"pm\":\"PM\":c?\"am\":\"AM\"}function Tb(a){G(0,[a,3],0,\"millisecond\")}function Ub(){return this._isUTC?\"UTC\":\"\"}function Vb(){return this._isUTC?\"Coordinated Universal Time\":\"\"}function Wb(a){return Aa(1e3*a)}function Xb(){return Aa.apply(null,arguments).parseZone()}function Yb(a,b,c){var d=this._calendar[a];return\"function\"==typeof d?d.call(b,c):d}function Zb(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b}function $b(){return this._invalidDate}function _b(a){return this._ordinal.replace(\"%d\",a)}function ac(a){return a}function bc(a,b,c,d){var e=this._relativeTime[c];return\"function\"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)}function cc(a,b){var c=this._relativeTime[a>0?\"future\":\"past\"];return\"function\"==typeof c?c(b):c.replace(/%s/i,b)}function dc(a){var b,c;for(c in a)b=a[c],\"function\"==typeof b?this[c]=b:this[\"_\"+c]=b;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+\"|\"+/\\d{1,2}/.source)}function ec(a,b,c,d){var e=x(),f=h().set(d,b);return e[c](f,a)}function fc(a,b,c,d,e){if(\"number\"==typeof a&&(b=a,a=void 0),a=a||\"\",null!=b)return ec(a,b,c,e);var f,g=[];for(f=0;d>f;f++)g[f]=ec(a,f,c,e);return g}function gc(a,b){return fc(a,b,\"months\",12,\"month\")}function hc(a,b){return fc(a,b,\"monthsShort\",12,\"month\")}function ic(a,b){return fc(a,b,\"weekdays\",7,\"day\")}function jc(a,b){return fc(a,b,\"weekdaysShort\",7,\"day\")}function kc(a,b){return fc(a,b,\"weekdaysMin\",7,\"day\")}function lc(){var a=this._data;return this._milliseconds=Ue(this._milliseconds),this._days=Ue(this._days),this._months=Ue(this._months),a.milliseconds=Ue(a.milliseconds),a.seconds=Ue(a.seconds),a.minutes=Ue(a.minutes),a.hours=Ue(a.hours),a.months=Ue(a.months),a.years=Ue(a.years),this}function mc(a,b,c,d){var e=Va(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function nc(a,b){return mc(this,a,b,1)}function oc(a,b){return mc(this,a,b,-1)}function pc(){var a,b,c,d=this._milliseconds,e=this._days,f=this._months,g=this._data,h=0;return g.milliseconds=d%1e3,a=fb(d/1e3),g.seconds=a%60,b=fb(a/60),g.minutes=b%60,c=fb(b/60),g.hours=c%24,e+=fb(c/24),h=fb(qc(e)),e-=fb(rc(h)),f+=fb(e/30),e%=30,h+=fb(f/12),f%=12,g.days=e,g.months=f,g.years=h,this}function qc(a){return 400*a/146097}function rc(a){return 146097*a/400}function sc(a){var b,c,d=this._milliseconds;if(a=z(a),\"month\"===a||\"year\"===a)return b=this._days+d/864e5,c=this._months+12*qc(b),\"month\"===a?c:c/12;switch(b=this._days+Math.round(rc(this._months/12)),a){case\"week\":return b/7+d/6048e5;case\"day\":return b+d/864e5;case\"hour\":return 24*b+d/36e5;case\"minute\":return 1440*b+d/6e4;case\"second\":return 86400*b+d/1e3;case\"millisecond\":return Math.floor(864e5*b)+d;default:throw new Error(\"Unknown unit \"+a)}}function tc(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*p(this._months/12)}function uc(a){return function(){return this.as(a)}}function vc(a){return a=z(a),this[a+\"s\"]()}function wc(a){return function(){return this._data[a]}}function xc(){return fb(this.days()/7)}function yc(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function zc(a,b,c){var d=Va(a).abs(),e=jf(d.as(\"s\")),f=jf(d.as(\"m\")),g=jf(d.as(\"h\")),h=jf(d.as(\"d\")),i=jf(d.as(\"M\")),j=jf(d.as(\"y\")),k=e<kf.s&&[\"s\",e]||1===f&&[\"m\"]||f<kf.m&&[\"mm\",f]||1===g&&[\"h\"]||g<kf.h&&[\"hh\",g]||1===h&&[\"d\"]||h<kf.d&&[\"dd\",h]||1===i&&[\"M\"]||i<kf.M&&[\"MM\",i]||1===j&&[\"y\"]||[\"yy\",j];return k[2]=b,k[3]=+a>0,k[4]=c,yc.apply(null,k)}function Ac(a,b){return void 0===kf[a]?!1:void 0===b?kf[a]:(kf[a]=b,!0)}function Bc(a){var b=this.localeData(),c=zc(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function Cc(){var a=lf(this.years()),b=lf(this.months()),c=lf(this.days()),d=lf(this.hours()),e=lf(this.minutes()),f=lf(this.seconds()+this.milliseconds()/1e3),g=this.asSeconds();return g?(0>g?\"-\":\"\")+\"P\"+(a?a+\"Y\":\"\")+(b?b+\"M\":\"\")+(c?c+\"D\":\"\")+(d||e||f?\"T\":\"\")+(d?d+\"H\":\"\")+(e?e+\"M\":\"\")+(f?f+\"S\":\"\"):\"P0D\"}\n//! moment.js locale configuration\n//! locale : belarusian (be)\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\nfunction Dc(a,b){var c=a.split(\"_\");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function Ec(a,b,c){var d={mm:b?\"хвіліна_хвіліны_хвілін\":\"хвіліну_хвіліны_хвілін\",hh:b?\"гадзіна_гадзіны_гадзін\":\"гадзіну_гадзіны_гадзін\",dd:\"дзень_дні_дзён\",MM:\"месяц_месяцы_месяцаў\",yy:\"год_гады_гадоў\"};return\"m\"===c?b?\"хвіліна\":\"хвіліну\":\"h\"===c?b?\"гадзіна\":\"гадзіну\":a+\" \"+Dc(d[c],+a)}function Fc(a,b){var c={nominative:\"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань\".split(\"_\"),accusative:\"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня\".split(\"_\")},d=/D[oD]?(\\[[^\\[\\]]*\\]|\\s+)+MMMM?/.test(b)?\"accusative\":\"nominative\";return c[d][a.month()]}function Gc(a,b){var c={nominative:\"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота\".split(\"_\"),accusative:\"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу\".split(\"_\")},d=/\\[ ?[Вв] ?(?:мінулую|наступную)? ?\\] ?dddd/.test(b)?\"accusative\":\"nominative\";return c[d][a.day()]}\n//! moment.js locale configuration\n//! locale : breton (br)\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\nfunction Hc(a,b,c){var d={mm:\"munutenn\",MM:\"miz\",dd:\"devezh\"};return a+\" \"+Kc(d[c],a)}function Ic(a){switch(Jc(a)){case 1:case 3:case 4:case 5:case 9:return a+\" bloaz\";default:return a+\" vloaz\"}}function Jc(a){return a>9?Jc(a%10):a}function Kc(a,b){return 2===b?Lc(a):a}function Lc(a){var b={m:\"v\",b:\"v\",d:\"z\"};return void 0===b[a.charAt(0)]?a:b[a.charAt(0)]+a.substring(1)}\n//! moment.js locale configuration\n//! locale : bosnian (bs)\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\nfunction Mc(a,b,c){var d=a+\" \";switch(c){case\"m\":return b?\"jedna minuta\":\"jedne minute\";case\"mm\":return d+=1===a?\"minuta\":2===a||3===a||4===a?\"minute\":\"minuta\";case\"h\":return b?\"jedan sat\":\"jednog sata\";case\"hh\":return d+=1===a?\"sat\":2===a||3===a||4===a?\"sata\":\"sati\";case\"dd\":return d+=1===a?\"dan\":\"dana\";case\"MM\":return d+=1===a?\"mjesec\":2===a||3===a||4===a?\"mjeseca\":\"mjeseci\";case\"yy\":return d+=1===a?\"godina\":2===a||3===a||4===a?\"godine\":\"godina\"}}function Nc(a){return a>1&&5>a&&1!==~~(a/10)}function Oc(a,b,c,d){var e=a+\" \";switch(c){case\"s\":return b||d?\"pár sekund\":\"pár sekundami\";case\"m\":return b?\"minuta\":d?\"minutu\":\"minutou\";case\"mm\":return b||d?e+(Nc(a)?\"minuty\":\"minut\"):e+\"minutami\";break;case\"h\":return b?\"hodina\":d?\"hodinu\":\"hodinou\";case\"hh\":return b||d?e+(Nc(a)?\"hodiny\":\"hodin\"):e+\"hodinami\";break;case\"d\":return b||d?\"den\":\"dnem\";case\"dd\":return b||d?e+(Nc(a)?\"dny\":\"dní\"):e+\"dny\";break;case\"M\":return b||d?\"měsíc\":\"měsícem\";case\"MM\":return b||d?e+(Nc(a)?\"měsíce\":\"měsíců\"):e+\"měsíci\";break;case\"y\":return b||d?\"rok\":\"rokem\";case\"yy\":return b||d?e+(Nc(a)?\"roky\":\"let\"):e+\"lety\"}}\n//! moment.js locale configuration\n//! locale : austrian german (de-at)\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\nfunction Pc(a,b,c,d){var e={m:[\"eine Minute\",\"einer Minute\"],h:[\"eine Stunde\",\"einer Stunde\"],d:[\"ein Tag\",\"einem Tag\"],dd:[a+\" Tage\",a+\" Tagen\"],M:[\"ein Monat\",\"einem Monat\"],MM:[a+\" Monate\",a+\" Monaten\"],y:[\"ein Jahr\",\"einem Jahr\"],yy:[a+\" Jahre\",a+\" Jahren\"]};return b?e[c][0]:e[c][1]}\n//! moment.js locale configuration\n//! locale : german (de)\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\nfunction Qc(a,b,c,d){var e={m:[\"eine Minute\",\"einer Minute\"],h:[\"eine Stunde\",\"einer Stunde\"],d:[\"ein Tag\",\"einem Tag\"],dd:[a+\" Tage\",a+\" Tagen\"],M:[\"ein Monat\",\"einem Monat\"],MM:[a+\" Monate\",a+\" Monaten\"],y:[\"ein Jahr\",\"einem Jahr\"],yy:[a+\" Jahre\",a+\" Jahren\"]};return b?e[c][0]:e[c][1]}\n//! moment.js locale configuration\n//! locale : estonian (et)\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\nfunction Rc(a,b,c,d){var e={s:[\"mõne sekundi\",\"mõni sekund\",\"paar sekundit\"],m:[\"ühe minuti\",\"üks minut\"],mm:[a+\" minuti\",a+\" minutit\"],h:[\"ühe tunni\",\"tund aega\",\"üks tund\"],hh:[a+\" tunni\",a+\" tundi\"],d:[\"ühe päeva\",\"üks päev\"],M:[\"kuu aja\",\"kuu aega\",\"üks kuu\"],MM:[a+\" kuu\",a+\" kuud\"],y:[\"ühe aasta\",\"aasta\",\"üks aasta\"],yy:[a+\" aasta\",a+\" aastat\"]};return b?e[c][2]?e[c][2]:e[c][1]:d?e[c][0]:e[c][1]}function Sc(a,b,c,d){var e=\"\";switch(c){case\"s\":return d?\"muutaman sekunnin\":\"muutama sekunti\";case\"m\":return d?\"minuutin\":\"minuutti\";case\"mm\":e=d?\"minuutin\":\"minuuttia\";break;case\"h\":return d?\"tunnin\":\"tunti\";case\"hh\":e=d?\"tunnin\":\"tuntia\";break;case\"d\":return d?\"päivän\":\"päivä\";case\"dd\":e=d?\"päivän\":\"päivää\";break;case\"M\":return d?\"kuukauden\":\"kuukausi\";case\"MM\":e=d?\"kuukauden\":\"kuukautta\";break;case\"y\":return d?\"vuoden\":\"vuosi\";case\"yy\":e=d?\"vuoden\":\"vuotta\"}return e=Tc(a,d)+\" \"+e}function Tc(a,b){return 10>a?b?If[a]:Hf[a]:a}\n//! moment.js locale configuration\n//! locale : hrvatski (hr)\n//! author : Bojan Marković : https://github.com/bmarkovic\nfunction Uc(a,b,c){var d=a+\" \";switch(c){case\"m\":return b?\"jedna minuta\":\"jedne minute\";case\"mm\":return d+=1===a?\"minuta\":2===a||3===a||4===a?\"minute\":\"minuta\";case\"h\":return b?\"jedan sat\":\"jednog sata\";case\"hh\":return d+=1===a?\"sat\":2===a||3===a||4===a?\"sata\":\"sati\";case\"dd\":return d+=1===a?\"dan\":\"dana\";case\"MM\":return d+=1===a?\"mjesec\":2===a||3===a||4===a?\"mjeseca\":\"mjeseci\";case\"yy\":return d+=1===a?\"godina\":2===a||3===a||4===a?\"godine\":\"godina\"}}function Vc(a,b,c,d){var e=a;switch(c){case\"s\":return d||b?\"néhány másodperc\":\"néhány másodperce\";case\"m\":return\"egy\"+(d||b?\" perc\":\" perce\");case\"mm\":return e+(d||b?\" perc\":\" perce\");case\"h\":return\"egy\"+(d||b?\" óra\":\" órája\");case\"hh\":return e+(d||b?\" óra\":\" órája\");case\"d\":return\"egy\"+(d||b?\" nap\":\" napja\");case\"dd\":return e+(d||b?\" nap\":\" napja\");case\"M\":return\"egy\"+(d||b?\" hónap\":\" hónapja\");case\"MM\":return e+(d||b?\" hónap\":\" hónapja\");case\"y\":return\"egy\"+(d||b?\" év\":\" éve\");case\"yy\":return e+(d||b?\" év\":\" éve\")}return\"\"}function Wc(a){return(a?\"\":\"[múlt] \")+\"[\"+Nf[this.day()]+\"] LT[-kor]\"}\n//! moment.js locale configuration\n//! locale : Armenian (hy-am)\n//! author : Armendarabyan : https://github.com/armendarabyan\nfunction Xc(a,b){var c={nominative:\"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր\".split(\"_\"),accusative:\"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի\".split(\"_\")},d=/D[oD]?(\\[[^\\[\\]]*\\]|\\s+)+MMMM?/.test(b)?\"accusative\":\"nominative\";return c[d][a.month()]}function Yc(a,b){var c=\"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ\".split(\"_\");return c[a.month()]}function Zc(a,b){var c=\"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ\".split(\"_\");return c[a.day()]}\n//! moment.js locale configuration\n//! locale : icelandic (is)\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\nfunction $c(a){return a%100===11?!0:a%10===1?!1:!0}function _c(a,b,c,d){var e=a+\" \";switch(c){case\"s\":return b||d?\"nokkrar sekúndur\":\"nokkrum sekúndum\";case\"m\":return b?\"mínúta\":\"mínútu\";case\"mm\":return $c(a)?e+(b||d?\"mínútur\":\"mínútum\"):b?e+\"mínúta\":e+\"mínútu\";case\"hh\":return $c(a)?e+(b||d?\"klukkustundir\":\"klukkustundum\"):e+\"klukkustund\";case\"d\":return b?\"dagur\":d?\"dag\":\"degi\";case\"dd\":return $c(a)?b?e+\"dagar\":e+(d?\"daga\":\"dögum\"):b?e+\"dagur\":e+(d?\"dag\":\"degi\");case\"M\":return b?\"mánuður\":d?\"mánuð\":\"mánuði\";case\"MM\":return $c(a)?b?e+\"mánuðir\":e+(d?\"mánuði\":\"mánuðum\"):b?e+\"mánuður\":e+(d?\"mánuð\":\"mánuði\");case\"y\":return b||d?\"ár\":\"ári\";case\"yy\":return $c(a)?e+(b||d?\"ár\":\"árum\"):e+(b||d?\"ár\":\"ári\")}}\n//! moment.js locale configuration\n//! locale : Georgian (ka)\n//! author : Irakli Janiashvili : https://github.com/irakli-janiashvili\nfunction ad(a,b){var c={nominative:\"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი\".split(\"_\"),accusative:\"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს\".split(\"_\")},d=/D[oD] *MMMM?/.test(b)?\"accusative\":\"nominative\";return c[d][a.month()]}function bd(a,b){var c={nominative:\"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი\".split(\"_\"),accusative:\"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს\".split(\"_\")},d=/(წინა|შემდეგ)/.test(b)?\"accusative\":\"nominative\";return c[d][a.day()]}\n//! moment.js locale configuration\n//! locale : Luxembourgish (lb)\n//! author : mweimerskirch : https://github.com/mweimerskirch, David Raison : https://github.com/kwisatz\nfunction cd(a,b,c,d){var e={m:[\"eng Minutt\",\"enger Minutt\"],h:[\"eng Stonn\",\"enger Stonn\"],d:[\"een Dag\",\"engem Dag\"],M:[\"ee Mount\",\"engem Mount\"],y:[\"ee Joer\",\"engem Joer\"]};return b?e[c][0]:e[c][1]}function dd(a){var b=a.substr(0,a.indexOf(\" \"));return fd(b)?\"a \"+a:\"an \"+a}function ed(a){var b=a.substr(0,a.indexOf(\" \"));return fd(b)?\"viru \"+a:\"virun \"+a}function fd(a){if(a=parseInt(a,10),isNaN(a))return!1;if(0>a)return!0;if(10>a)return a>=4&&7>=a?!0:!1;if(100>a){var b=a%10,c=a/10;return fd(0===b?c:b)}if(1e4>a){for(;a>=10;)a/=10;return fd(a)}return a/=1e3,fd(a)}function gd(a,b,c,d){return b?\"kelios sekundės\":d?\"kelių sekundžių\":\"kelias sekundes\"}function hd(a,b,c,d){return b?jd(c)[0]:d?jd(c)[1]:jd(c)[2]}function id(a){return a%10===0||a>10&&20>a}function jd(a){return Of[a].split(\"_\")}function kd(a,b,c,d){var e=a+\" \";return 1===a?e+hd(a,b,c[0],d):b?e+(id(a)?jd(c)[1]:jd(c)[0]):d?e+jd(c)[1]:e+(id(a)?jd(c)[1]:jd(c)[2])}function ld(a,b){var c=-1===b.indexOf(\"dddd HH:mm\"),d=Pf[a.day()];return c?d:d.substring(0,d.length-2)+\"į\"}function md(a,b,c){return c?b%10===1&&11!==b?a[2]:a[3]:b%10===1&&11!==b?a[0]:a[1]}function nd(a,b,c){return a+\" \"+md(Qf[c],a,b)}function od(a,b,c){return md(Qf[c],a,b)}function pd(a,b){return b?\"dažas sekundes\":\"dažām sekundēm\"}function qd(a){return 5>a%10&&a%10>1&&~~(a/10)%10!==1}function rd(a,b,c){var d=a+\" \";switch(c){case\"m\":return b?\"minuta\":\"minutę\";case\"mm\":return d+(qd(a)?\"minuty\":\"minut\");case\"h\":return b?\"godzina\":\"godzinę\";case\"hh\":return d+(qd(a)?\"godziny\":\"godzin\");case\"MM\":return d+(qd(a)?\"miesiące\":\"miesięcy\");case\"yy\":return d+(qd(a)?\"lata\":\"lat\")}}\n//! moment.js locale configuration\n//! locale : romanian (ro)\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\nfunction sd(a,b,c){var d={mm:\"minute\",hh:\"ore\",dd:\"zile\",MM:\"luni\",yy:\"ani\"},e=\" \";return(a%100>=20||a>=100&&a%100===0)&&(e=\" de \"),a+e+d[c]}\n//! moment.js locale configuration\n//! locale : russian (ru)\n//! author : Viktorminator : https://github.com/Viktorminator\n//! Author : Menelion Elensúle : https://github.com/Oire\nfunction td(a,b){var c=a.split(\"_\");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function ud(a,b,c){var d={mm:b?\"минута_минуты_минут\":\"минуту_минуты_минут\",hh:\"час_часа_часов\",dd:\"день_дня_дней\",MM:\"месяц_месяца_месяцев\",yy:\"год_года_лет\"};return\"m\"===c?b?\"минута\":\"минуту\":a+\" \"+td(d[c],+a)}function vd(a,b){var c={nominative:\"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь\".split(\"_\"),accusative:\"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря\".split(\"_\")},d=/D[oD]?(\\[[^\\[\\]]*\\]|\\s+)+MMMM?/.test(b)?\"accusative\":\"nominative\";return c[d][a.month()]}function wd(a,b){var c={nominative:\"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек\".split(\"_\"),accusative:\"янв_фев_мар_апр_мая_июня_июля_авг_сен_окт_ноя_дек\".split(\"_\")},d=/D[oD]?(\\[[^\\[\\]]*\\]|\\s+)+MMMM?/.test(b)?\"accusative\":\"nominative\";return c[d][a.month()]}function xd(a,b){var c={nominative:\"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота\".split(\"_\"),accusative:\"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу\".split(\"_\")},d=/\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/.test(b)?\"accusative\":\"nominative\";return c[d][a.day()]}function yd(a){return a>1&&5>a}function zd(a,b,c,d){var e=a+\" \";switch(c){case\"s\":return b||d?\"pár sekúnd\":\"pár sekundami\";case\"m\":return b?\"minúta\":d?\"minútu\":\"minútou\";case\"mm\":return b||d?e+(yd(a)?\"minúty\":\"minút\"):e+\"minútami\";break;case\"h\":return b?\"hodina\":d?\"hodinu\":\"hodinou\";case\"hh\":return b||d?e+(yd(a)?\"hodiny\":\"hodín\"):e+\"hodinami\";break;case\"d\":return b||d?\"deň\":\"dňom\";case\"dd\":return b||d?e+(yd(a)?\"dni\":\"dní\"):e+\"dňami\";break;case\"M\":return b||d?\"mesiac\":\"mesiacom\";case\"MM\":return b||d?e+(yd(a)?\"mesiace\":\"mesiacov\"):e+\"mesiacmi\";break;case\"y\":return b||d?\"rok\":\"rokom\";case\"yy\":return b||d?e+(yd(a)?\"roky\":\"rokov\"):e+\"rokmi\"}}\n//! moment.js locale configuration\n//! locale : slovenian (sl)\n//! author : Robert Sedovšek : https://github.com/sedovsek\nfunction Ad(a,b,c,d){var e=a+\" \";switch(c){case\"s\":return b||d?\"nekaj sekund\":\"nekaj sekundami\";case\"m\":return b?\"ena minuta\":\"eno minuto\";case\"mm\":return e+=1===a?b?\"minuta\":\"minuto\":2===a?b||d?\"minuti\":\"minutama\":5>a?b||d?\"minute\":\"minutami\":b||d?\"minut\":\"minutami\";case\"h\":return b?\"ena ura\":\"eno uro\";case\"hh\":return e+=1===a?b?\"ura\":\"uro\":2===a?b||d?\"uri\":\"urama\":5>a?b||d?\"ure\":\"urami\":b||d?\"ur\":\"urami\";case\"d\":return b||d?\"en dan\":\"enim dnem\";case\"dd\":return e+=1===a?b||d?\"dan\":\"dnem\":2===a?b||d?\"dni\":\"dnevoma\":b||d?\"dni\":\"dnevi\";case\"M\":return b||d?\"en mesec\":\"enim mesecem\";case\"MM\":return e+=1===a?b||d?\"mesec\":\"mesecem\":2===a?b||d?\"meseca\":\"mesecema\":5>a?b||d?\"mesece\":\"meseci\":b||d?\"mesecev\":\"meseci\";case\"y\":return b||d?\"eno leto\":\"enim letom\";case\"yy\":return e+=1===a?b||d?\"leto\":\"letom\":2===a?b||d?\"leti\":\"letoma\":5>a?b||d?\"leta\":\"leti\":b||d?\"let\":\"leti\"}}\n//! moment.js locale configuration\n//! locale : ukrainian (uk)\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\nfunction Bd(a,b){var c=a.split(\"_\");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function Cd(a,b,c){var d={mm:\"хвилина_хвилини_хвилин\",hh:\"година_години_годин\",dd:\"день_дні_днів\",MM:\"місяць_місяці_місяців\",yy:\"рік_роки_років\"};return\"m\"===c?b?\"хвилина\":\"хвилину\":\"h\"===c?b?\"година\":\"годину\":a+\" \"+Bd(d[c],+a)}function Dd(a,b){var c={nominative:\"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень\".split(\"_\"),accusative:\"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня\".split(\"_\")},d=/D[oD]? *MMMM?/.test(b)?\"accusative\":\"nominative\";return c[d][a.month()]}function Ed(a,b){var c={nominative:\"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота\".split(\"_\"),accusative:\"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу\".split(\"_\"),genitive:\"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи\".split(\"_\")},d=/(\\[[ВвУу]\\]) ?dddd/.test(b)?\"accusative\":/\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(b)?\"genitive\":\"nominative\";return c[d][a.day()]}function Fd(a){return function(){return a+\"о\"+(11===this.hours()?\"б\":\"\")+\"] LT\"}}var Gd,Hd,Id=a.momentProperties=[],Jd=!1,Kd={},Ld={},Md=/(\\[[^\\[]*\\])|(\\\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Nd=/(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Od={},Pd={},Qd=/\\d/,Rd=/\\d\\d/,Sd=/\\d{3}/,Td=/\\d{4}/,Ud=/[+-]?\\d{6}/,Vd=/\\d\\d?/,Wd=/\\d{1,3}/,Xd=/\\d{1,4}/,Yd=/[+-]?\\d{1,6}/,Zd=/\\d+/,$d=/[+-]?\\d+/,_d=/Z|[+-]\\d\\d:?\\d\\d/gi,ae=/[+-]?\\d+(\\.\\d{1,3})?/,be=/[0-9]*['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+|[\\u0600-\\u06FF\\/]+(\\s*?[\\u0600-\\u06FF]+){1,2}/i,ce={},de={},ee=0,fe=1,ge=2,he=3,ie=4,je=5,ke=6;G(\"M\",[\"MM\",2],\"Mo\",function(){return this.month()+1}),G(\"MMM\",0,0,function(a){return this.localeData().monthsShort(this,a)}),G(\"MMMM\",0,0,function(a){return this.localeData().months(this,a)}),y(\"month\",\"M\"),L(\"M\",Vd),L(\"MM\",Vd,Rd),L(\"MMM\",be),L(\"MMMM\",be),O([\"M\",\"MM\"],function(a,b){b[fe]=p(a)-1}),O([\"MMM\",\"MMMM\"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[fe]=e:j(c).invalidMonth=a});var le=\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),me=\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),ne={};a.suppressDeprecationWarnings=!1;var oe=/^\\s*(?:[+-]\\d{6}|\\d{4})-(?:(\\d\\d-\\d\\d)|(W\\d\\d$)|(W\\d\\d-\\d)|(\\d\\d\\d))((T| )(\\d\\d(:\\d\\d(:\\d\\d(\\.\\d+)?)?)?)?([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,pe=[[\"YYYYYY-MM-DD\",/[+-]\\d{6}-\\d{2}-\\d{2}/],[\"YYYY-MM-DD\",/\\d{4}-\\d{2}-\\d{2}/],[\"GGGG-[W]WW-E\",/\\d{4}-W\\d{2}-\\d/],[\"GGGG-[W]WW\",/\\d{4}-W\\d{2}/],[\"YYYY-DDD\",/\\d{4}-\\d{3}/]],qe=[[\"HH:mm:ss.SSSS\",/(T| )\\d\\d:\\d\\d:\\d\\d\\.\\d+/],[\"HH:mm:ss\",/(T| )\\d\\d:\\d\\d:\\d\\d/],[\"HH:mm\",/(T| )\\d\\d:\\d\\d/],[\"HH\",/(T| )\\d\\d/]],re=/^\\/?Date\\((\\-?\\d+)/i;a.createFromInputFallback=$(\"moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.\",function(a){a._d=new Date(a._i+(a._useUTC?\" UTC\":\"\"))}),G(0,[\"YY\",2],0,function(){return this.year()%100}),G(0,[\"YYYY\",4],0,\"year\"),G(0,[\"YYYYY\",5],0,\"year\"),G(0,[\"YYYYYY\",6,!0],0,\"year\"),y(\"year\",\"y\"),L(\"Y\",$d),L(\"YY\",Vd,Rd),L(\"YYYY\",Xd,Td),L(\"YYYYY\",Yd,Ud),L(\"YYYYYY\",Yd,Ud),O([\"YYYY\",\"YYYYY\",\"YYYYYY\"],ee),O(\"YY\",function(b,c){c[ee]=a.parseTwoDigitYear(b)}),a.parseTwoDigitYear=function(a){return p(a)+(p(a)>68?1900:2e3)};var se=B(\"FullYear\",!1);G(\"w\",[\"ww\",2],\"wo\",\"week\"),G(\"W\",[\"WW\",2],\"Wo\",\"isoWeek\"),y(\"week\",\"w\"),y(\"isoWeek\",\"W\"),L(\"w\",Vd),L(\"ww\",Vd,Rd),L(\"W\",Vd),L(\"WW\",Vd,Rd),P([\"w\",\"ww\",\"W\",\"WW\"],function(a,b,c,d){b[d.substr(0,1)]=p(a)});var te={dow:0,doy:6};G(\"DDD\",[\"DDDD\",3],\"DDDo\",\"dayOfYear\"),y(\"dayOfYear\",\"DDD\"),L(\"DDD\",Wd),L(\"DDDD\",Sd),O([\"DDD\",\"DDDD\"],function(a,b,c){c._dayOfYear=p(a)}),a.ISO_8601=function(){};var ue=$(\"moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548\",function(){var a=Aa.apply(null,arguments);return this>a?this:a}),ve=$(\"moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548\",function(){var a=Aa.apply(null,arguments);return a>this?this:a});Ga(\"Z\",\":\"),Ga(\"ZZ\",\"\"),L(\"Z\",_d),L(\"ZZ\",_d),O([\"Z\",\"ZZ\"],function(a,b,c){c._useUTC=!0,c._tzm=Ha(a)});var we=/([\\+\\-]|\\d\\d)/gi;a.updateOffset=function(){};var xe=/(\\-)?(?:(\\d*)\\.)?(\\d+)\\:(\\d+)(?:\\:(\\d+)\\.?(\\d{3})?)?/,ye=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Va.fn=Ea.prototype;var ze=Za(1,\"add\"),Ae=Za(-1,\"subtract\");a.defaultFormat=\"YYYY-MM-DDTHH:mm:ssZ\";var Be=$(\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\",function(a){return void 0===a?this.localeData():this.locale(a)});G(0,[\"gg\",2],0,function(){return this.weekYear()%100}),G(0,[\"GG\",2],0,function(){return this.isoWeekYear()%100}),Ab(\"gggg\",\"weekYear\"),Ab(\"ggggg\",\"weekYear\"),Ab(\"GGGG\",\"isoWeekYear\"),Ab(\"GGGGG\",\"isoWeekYear\"),y(\"weekYear\",\"gg\"),y(\"isoWeekYear\",\"GG\"),L(\"G\",$d),L(\"g\",$d),L(\"GG\",Vd,Rd),L(\"gg\",Vd,Rd),L(\"GGGG\",Xd,Td),L(\"gggg\",Xd,Td),L(\"GGGGG\",Yd,Ud),L(\"ggggg\",Yd,Ud),P([\"gggg\",\"ggggg\",\"GGGG\",\"GGGGG\"],function(a,b,c,d){b[d.substr(0,2)]=p(a)}),P([\"gg\",\"GG\"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),G(\"Q\",0,0,\"quarter\"),y(\"quarter\",\"Q\"),L(\"Q\",Qd),O(\"Q\",function(a,b){b[fe]=3*(p(a)-1)}),G(\"D\",[\"DD\",2],\"Do\",\"date\"),y(\"date\",\"D\"),L(\"D\",Vd),L(\"DD\",Vd,Rd),L(\"Do\",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),O([\"D\",\"DD\"],ge),O(\"Do\",function(a,b){b[ge]=p(a.match(Vd)[0],10)});var Ce=B(\"Date\",!0);G(\"d\",0,\"do\",\"day\"),G(\"dd\",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),G(\"ddd\",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),G(\"dddd\",0,0,function(a){return this.localeData().weekdays(this,a)}),G(\"e\",0,0,\"weekday\"),G(\"E\",0,0,\"isoWeekday\"),y(\"day\",\"d\"),y(\"weekday\",\"e\"),y(\"isoWeekday\",\"E\"),L(\"d\",Vd),L(\"e\",Vd),L(\"E\",Vd),L(\"dd\",be),L(\"ddd\",be),L(\"dddd\",be),P([\"dd\",\"ddd\",\"dddd\"],function(a,b,c){var d=c._locale.weekdaysParse(a);null!=d?b.d=d:j(c).invalidWeekday=a}),P([\"d\",\"e\",\"E\"],function(a,b,c,d){b[d]=p(a)});var De=\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),Ee=\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),Fe=\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\");G(\"H\",[\"HH\",2],0,\"hour\"),G(\"h\",[\"hh\",2],0,function(){return this.hours()%12||12}),Pb(\"a\",!0),Pb(\"A\",!1),y(\"hour\",\"h\"),L(\"a\",Qb),L(\"A\",Qb),L(\"H\",Vd),L(\"h\",Vd),L(\"HH\",Vd,Rd),L(\"hh\",Vd,Rd),O([\"H\",\"HH\"],he),O([\"a\",\"A\"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),O([\"h\",\"hh\"],function(a,b,c){b[he]=p(a),j(c).bigHour=!0});var Ge=/[ap]\\.?m?\\.?/i,He=B(\"Hours\",!0);G(\"m\",[\"mm\",2],0,\"minute\"),y(\"minute\",\"m\"),L(\"m\",Vd),L(\"mm\",Vd,Rd),O([\"m\",\"mm\"],ie);var Ie=B(\"Minutes\",!1);G(\"s\",[\"ss\",2],0,\"second\"),y(\"second\",\"s\"),L(\"s\",Vd),L(\"ss\",Vd,Rd),O([\"s\",\"ss\"],je);var Je=B(\"Seconds\",!1);G(\"S\",0,0,function(){return~~(this.millisecond()/100)}),G(0,[\"SS\",2],0,function(){return~~(this.millisecond()/10)}),Tb(\"SSS\"),Tb(\"SSSS\"),y(\"millisecond\",\"ms\"),L(\"S\",Wd,Qd),L(\"SS\",Wd,Rd),L(\"SSS\",Wd,Sd),L(\"SSSS\",Zd),O([\"S\",\"SS\",\"SSS\",\"SSSS\"],function(a,b){b[ke]=p(1e3*(\"0.\"+a))});var Ke=B(\"Milliseconds\",!1);G(\"z\",0,0,\"zoneAbbr\"),G(\"zz\",0,0,\"zoneName\");var Le=n.prototype;Le.add=ze,Le.calendar=_a,Le.clone=ab,Le.diff=gb,Le.endOf=sb,Le.format=kb,Le.from=lb,Le.fromNow=mb,Le.to=nb,Le.toNow=ob,Le.get=E,Le.invalidAt=zb,Le.isAfter=bb,Le.isBefore=cb,Le.isBetween=db,Le.isSame=eb,Le.isValid=xb,Le.lang=Be,Le.locale=pb,Le.localeData=qb,Le.max=ve,Le.min=ue,Le.parsingFlags=yb,Le.set=E,Le.startOf=rb,Le.subtract=Ae,Le.toArray=wb,Le.toDate=vb,Le.toISOString=jb,Le.toJSON=jb,Le.toString=ib,Le.unix=ub,Le.valueOf=tb,Le.year=se,Le.isLeapYear=ga,Le.weekYear=Cb,Le.isoWeekYear=Db,Le.quarter=Le.quarters=Gb,Le.month=W,Le.daysInMonth=X,Le.week=Le.weeks=la,Le.isoWeek=Le.isoWeeks=ma,Le.weeksInYear=Fb,Le.isoWeeksInYear=Eb,Le.date=Ce,Le.day=Le.days=Mb,Le.weekday=Nb,Le.isoWeekday=Ob,Le.dayOfYear=oa,Le.hour=Le.hours=He,Le.minute=Le.minutes=Ie,Le.second=Le.seconds=Je,Le.millisecond=Le.milliseconds=Ke,Le.utcOffset=Ka,Le.utc=Ma,Le.local=Na,Le.parseZone=Oa,Le.hasAlignedHourOffset=Pa,Le.isDST=Qa,Le.isDSTShifted=Ra,Le.isLocal=Sa,Le.isUtcOffset=Ta,Le.isUtc=Ua,Le.isUTC=Ua,Le.zoneAbbr=Ub,Le.zoneName=Vb,Le.dates=$(\"dates accessor is deprecated. Use date instead.\",Ce),Le.months=$(\"months accessor is deprecated. Use month instead\",W),Le.years=$(\"years accessor is deprecated. Use year instead\",se),Le.zone=$(\"moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779\",La);var Me=Le,Ne={sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},Oe={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY LT\",LLLL:\"dddd, MMMM D, YYYY LT\"},Pe=\"Invalid date\",Qe=\"%d\",Re=/\\d{1,2}/,Se={future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},Te=r.prototype;Te._calendar=Ne,Te.calendar=Yb,Te._longDateFormat=Oe,Te.longDateFormat=Zb,Te._invalidDate=Pe,Te.invalidDate=$b,Te._ordinal=Qe,Te.ordinal=_b,Te._ordinalParse=Re,Te.preparse=ac,Te.postformat=ac,Te._relativeTime=Se,Te.relativeTime=bc,Te.pastFuture=cc,Te.set=dc,Te.months=S,Te._months=le,Te.monthsShort=T,Te._monthsShort=me,Te.monthsParse=U,Te.week=ia,Te._week=te,Te.firstDayOfYear=ka,Te.firstDayOfWeek=ja,Te.weekdays=Ib,Te._weekdays=De,Te.weekdaysMin=Kb,Te._weekdaysMin=Fe,Te.weekdaysShort=Jb,Te._weekdaysShort=Ee,Te.weekdaysParse=Lb,Te.isPM=Rb,Te._meridiemParse=Ge,Te.meridiem=Sb,v(\"en\",{ordinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===p(a%100/10)?\"th\":1===b?\"st\":2===b?\"nd\":3===b?\"rd\":\"th\";return a+c}}),a.lang=$(\"moment.lang is deprecated. Use moment.locale instead.\",v),a.langData=$(\"moment.langData is deprecated. Use moment.localeData instead.\",x);var Ue=Math.abs,Ve=uc(\"ms\"),We=uc(\"s\"),Xe=uc(\"m\"),Ye=uc(\"h\"),Ze=uc(\"d\"),$e=uc(\"w\"),_e=uc(\"M\"),af=uc(\"y\"),bf=wc(\"milliseconds\"),cf=wc(\"seconds\"),df=wc(\"minutes\"),ef=wc(\"hours\"),ff=wc(\"days\"),gf=wc(\"months\"),hf=wc(\"years\"),jf=Math.round,kf={s:45,m:45,h:22,d:26,M:11},lf=Math.abs,mf=Ea.prototype;mf.abs=lc,mf.add=nc,mf.subtract=oc,mf.as=sc,mf.asMilliseconds=Ve,mf.asSeconds=We,mf.asMinutes=Xe,mf.asHours=Ye,mf.asDays=Ze,mf.asWeeks=$e,mf.asMonths=_e,mf.asYears=af,mf.valueOf=tc,mf._bubble=pc,mf.get=vc,mf.milliseconds=bf,mf.seconds=cf,mf.minutes=df,mf.hours=ef,mf.days=ff,mf.weeks=xc,mf.months=gf,mf.years=hf,mf.humanize=Bc,mf.toISOString=Cc,mf.toString=Cc,mf.toJSON=Cc,mf.locale=pb,mf.localeData=qb,mf.toIsoString=$(\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\",Cc),mf.lang=Be,G(\"X\",0,0,\"unix\"),G(\"x\",0,0,\"valueOf\"),L(\"x\",$d),L(\"X\",ae),O(\"X\",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),O(\"x\",function(a,b,c){c._d=new Date(p(a))}),\n//! moment.js\n//! version : 2.10.3\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\na.version=\"2.10.3\",b(Aa),a.fn=Me,a.min=Ca,a.max=Da,a.utc=h,a.unix=Wb,a.months=gc,a.isDate=d,a.locale=v,a.invalid=l,a.duration=Va,a.isMoment=o,a.weekdays=ic,a.parseZone=Xb,a.localeData=x,a.isDuration=Fa,a.monthsShort=hc,a.weekdaysMin=kc,a.defineLocale=w,a.weekdaysShort=jc,a.normalizeUnits=z,a.relativeTimeThreshold=Ac;var nf=a,of=(nf.defineLocale(\"af\",{months:\"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des\".split(\"_\"),weekdays:\"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag\".split(\"_\"),weekdaysShort:\"Son_Maa_Din_Woe_Don_Vry_Sat\".split(\"_\"),weekdaysMin:\"So_Ma_Di_Wo_Do_Vr_Sa\".split(\"_\"),meridiemParse:/vm|nm/i,isPM:function(a){return/^nm$/i.test(a)},meridiem:function(a,b,c){return 12>a?c?\"vm\":\"VM\":c?\"nm\":\"NM\"},longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd, D MMMM YYYY LT\"},calendar:{sameDay:\"[Vandag om] LT\",nextDay:\"[Môre om] LT\",nextWeek:\"dddd [om] LT\",lastDay:\"[Gister om] LT\",lastWeek:\"[Laas] dddd [om] LT\",sameElse:\"L\"},relativeTime:{future:\"oor %s\",past:\"%s gelede\",s:\"'n paar sekondes\",m:\"'n minuut\",mm:\"%d minute\",h:\"'n uur\",hh:\"%d ure\",d:\"'n dag\",dd:\"%d dae\",M:\"'n maand\",MM:\"%d maande\",y:\"'n jaar\",yy:\"%d jaar\"},ordinalParse:/\\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?\"ste\":\"de\")},week:{dow:1,doy:4}}),nf.defineLocale(\"ar-ma\",{months:\"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر\".split(\"_\"),monthsShort:\"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر\".split(\"_\"),weekdays:\"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd D MMMM YYYY LT\"},calendar:{sameDay:\"[اليوم على الساعة] LT\",nextDay:\"[غدا على الساعة] LT\",nextWeek:\"dddd [على الساعة] LT\",lastDay:\"[أمس على الساعة] LT\",lastWeek:\"dddd [على الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"في %s\",past:\"منذ %s\",s:\"ثوان\",m:\"دقيقة\",mm:\"%d دقائق\",h:\"ساعة\",hh:\"%d ساعات\",d:\"يوم\",dd:\"%d أيام\",M:\"شهر\",MM:\"%d أشهر\",y:\"سنة\",yy:\"%d سنوات\"},week:{dow:6,doy:12}}),{1:\"١\",2:\"٢\",3:\"٣\",4:\"٤\",5:\"٥\",6:\"٦\",7:\"٧\",8:\"٨\",9:\"٩\",0:\"٠\"}),pf={\"١\":\"1\",\"٢\":\"2\",\"٣\":\"3\",\"٤\":\"4\",\"٥\":\"5\",\"٦\":\"6\",\"٧\":\"7\",\"٨\":\"8\",\"٩\":\"9\",\"٠\":\"0\"},qf=(nf.defineLocale(\"ar-sa\",{months:\"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),monthsShort:\"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),weekdays:\"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd D MMMM YYYY LT\"},meridiemParse:/ص|م/,isPM:function(a){return\"م\"===a},meridiem:function(a,b,c){return 12>a?\"ص\":\"م\"},calendar:{sameDay:\"[اليوم على الساعة] LT\",nextDay:\"[غدا على الساعة] LT\",nextWeek:\"dddd [على الساعة] LT\",lastDay:\"[أمس على الساعة] LT\",lastWeek:\"dddd [على الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"في %s\",past:\"منذ %s\",s:\"ثوان\",m:\"دقيقة\",mm:\"%d دقائق\",h:\"ساعة\",hh:\"%d ساعات\",d:\"يوم\",dd:\"%d أيام\",M:\"شهر\",MM:\"%d أشهر\",y:\"سنة\",yy:\"%d سنوات\"},preparse:function(a){return a.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return pf[a]}).replace(/،/g,\",\")},postformat:function(a){return a.replace(/\\d/g,function(a){return of[a]}).replace(/,/g,\"،\")},week:{dow:6,doy:12}}),nf.defineLocale(\"ar-tn\",{months:\"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),monthsShort:\"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),weekdays:\"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd D MMMM YYYY LT\"},calendar:{sameDay:\"[اليوم على الساعة] LT\",nextDay:\"[غدا على الساعة] LT\",nextWeek:\"dddd [على الساعة] LT\",lastDay:\"[أمس على الساعة] LT\",lastWeek:\"dddd [على الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"في %s\",past:\"منذ %s\",s:\"ثوان\",m:\"دقيقة\",mm:\"%d دقائق\",h:\"ساعة\",hh:\"%d ساعات\",d:\"يوم\",dd:\"%d أيام\",M:\"شهر\",MM:\"%d أشهر\",y:\"سنة\",yy:\"%d سنوات\"},week:{dow:1,doy:4}}),{1:\"١\",2:\"٢\",3:\"٣\",4:\"٤\",5:\"٥\",6:\"٦\",7:\"٧\",8:\"٨\",9:\"٩\",0:\"٠\"}),rf={\"١\":\"1\",\"٢\":\"2\",\"٣\":\"3\",\"٤\":\"4\",\"٥\":\"5\",\"٦\":\"6\",\"٧\":\"7\",\"٨\":\"8\",\"٩\":\"9\",\"٠\":\"0\"},sf=function(a){return 0===a?0:1===a?1:2===a?2:a%100>=3&&10>=a%100?3:a%100>=11?4:5},tf={s:[\"أقل من ثانية\",\"ثانية واحدة\",[\"ثانيتان\",\"ثانيتين\"],\"%d ثوان\",\"%d ثانية\",\"%d ثانية\"],m:[\"أقل من دقيقة\",\"دقيقة واحدة\",[\"دقيقتان\",\"دقيقتين\"],\"%d دقائق\",\"%d دقيقة\",\"%d دقيقة\"],h:[\"أقل من ساعة\",\"ساعة واحدة\",[\"ساعتان\",\"ساعتين\"],\"%d ساعات\",\"%d ساعة\",\"%d ساعة\"],d:[\"أقل من يوم\",\"يوم واحد\",[\"يومان\",\"يومين\"],\"%d أيام\",\"%d يومًا\",\"%d يوم\"],M:[\"أقل من شهر\",\"شهر واحد\",[\"شهران\",\"شهرين\"],\"%d أشهر\",\"%d شهرا\",\"%d شهر\"],y:[\"أقل من عام\",\"عام واحد\",[\"عامان\",\"عامين\"],\"%d أعوام\",\"%d عامًا\",\"%d عام\"]},uf=function(a){return function(b,c,d,e){var f=sf(b),g=tf[a][sf(b)];return 2===f&&(g=g[c?0:1]),g.replace(/%d/i,b)}},vf=[\"كانون الثاني يناير\",\"شباط فبراير\",\"آذار مارس\",\"نيسان أبريل\",\"أيار مايو\",\"حزيران يونيو\",\"تموز يوليو\",\"آب أغسطس\",\"أيلول سبتمبر\",\"تشرين الأول أكتوبر\",\"تشرين الثاني نوفمبر\",\"كانون الأول ديسمبر\"],wf=(nf.defineLocale(\"ar\",{months:vf,monthsShort:vf,weekdays:\"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"D/M/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd D MMMM YYYY LT\"},meridiemParse:/ص|م/,isPM:function(a){return\"م\"===a},meridiem:function(a,b,c){return 12>a?\"ص\":\"م\"},calendar:{sameDay:\"[اليوم عند الساعة] LT\",nextDay:\"[غدًا عند الساعة] LT\",nextWeek:\"dddd [عند الساعة] LT\",lastDay:\"[أمس عند الساعة] LT\",lastWeek:\"dddd [عند الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"بعد %s\",past:\"منذ %s\",s:uf(\"s\"),m:uf(\"m\"),mm:uf(\"m\"),h:uf(\"h\"),hh:uf(\"h\"),d:uf(\"d\"),dd:uf(\"d\"),M:uf(\"M\"),MM:uf(\"M\"),y:uf(\"y\"),yy:uf(\"y\")},preparse:function(a){return a.replace(/\\u200f/g,\"\").replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return rf[a]}).replace(/،/g,\",\")},postformat:function(a){return a.replace(/\\d/g,function(a){return qf[a]}).replace(/,/g,\"،\")},week:{dow:6,doy:12}}),{1:\"-inci\",5:\"-inci\",8:\"-inci\",70:\"-inci\",80:\"-inci\",2:\"-nci\",7:\"-nci\",20:\"-nci\",50:\"-nci\",3:\"-üncü\",4:\"-üncü\",100:\"-üncü\",6:\"-ncı\",9:\"-uncu\",10:\"-uncu\",30:\"-uncu\",60:\"-ıncı\",90:\"-ıncı\"}),xf=(nf.defineLocale(\"az\",{months:\"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr\".split(\"_\"),monthsShort:\"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek\".split(\"_\"),weekdays:\"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə\".split(\"_\"),weekdaysShort:\"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən\".split(\"_\"),weekdaysMin:\"Bz_BE_ÇA_Çə_CA_Cü_Şə\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd, D MMMM YYYY LT\"},calendar:{sameDay:\"[bugün saat] LT\",nextDay:\"[sabah saat] LT\",nextWeek:\"[gələn həftə] dddd [saat] LT\",lastDay:\"[dünən] LT\",lastWeek:\"[keçən həftə] dddd [saat] LT\",sameElse:\"L\"},relativeTime:{future:\"%s sonra\",past:\"%s əvvəl\",s:\"birneçə saniyyə\",m:\"bir dəqiqə\",mm:\"%d dəqiqə\",h:\"bir saat\",hh:\"%d saat\",d:\"bir gün\",dd:\"%d gün\",M:\"bir ay\",MM:\"%d ay\",y:\"bir il\",yy:\"%d il\"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(a){return/^(gündüz|axşam)$/.test(a)},meridiem:function(a,b,c){return 4>a?\"gecə\":12>a?\"səhər\":17>a?\"gündüz\":\"axşam\"},ordinalParse:/\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(a){if(0===a)return a+\"-ıncı\";var b=a%10,c=a%100-b,d=a>=100?100:null;return a+(wf[b]||wf[c]||wf[d])},week:{dow:1,doy:7}}),nf.defineLocale(\"be\",{months:Fc,monthsShort:\"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж\".split(\"_\"),weekdays:Gc,weekdaysShort:\"нд_пн_ат_ср_чц_пт_сб\".split(\"_\"),weekdaysMin:\"нд_пн_ат_ср_чц_пт_сб\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY г.\",LLL:\"D MMMM YYYY г., LT\",LLLL:\"dddd, D MMMM YYYY г., LT\"},calendar:{sameDay:\"[Сёння ў] LT\",nextDay:\"[Заўтра ў] LT\",lastDay:\"[Учора ў] LT\",nextWeek:function(){return\"[У] dddd [ў] LT\"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return\"[У мінулую] dddd [ў] LT\";case 1:case 2:case 4:return\"[У мінулы] dddd [ў] LT\"}},sameElse:\"L\"},relativeTime:{future:\"праз %s\",past:\"%s таму\",s:\"некалькі секунд\",m:Ec,mm:Ec,h:Ec,hh:Ec,d:\"дзень\",dd:Ec,M:\"месяц\",MM:Ec,y:\"год\",yy:Ec},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(a){return/^(дня|вечара)$/.test(a)},meridiem:function(a,b,c){return 4>a?\"ночы\":12>a?\"раніцы\":17>a?\"дня\":\"вечара\"},ordinalParse:/\\d{1,2}-(і|ы|га)/,ordinal:function(a,b){switch(b){case\"M\":case\"d\":case\"DDD\":case\"w\":case\"W\":return a%10!==2&&a%10!==3||a%100===12||a%100===13?a+\"-ы\":a+\"-і\";case\"D\":return a+\"-га\";default:return a}},week:{dow:1,doy:7}}),nf.defineLocale(\"bg\",{months:\"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември\".split(\"_\"),monthsShort:\"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек\".split(\"_\"),weekdays:\"неделя_понеделник_вторник_сряда_четвъртък_петък_събота\".split(\"_\"),weekdaysShort:\"нед_пон_вто_сря_чет_пет_съб\".split(\"_\"),weekdaysMin:\"нд_пн_вт_ср_чт_пт_сб\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"D.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd, D MMMM YYYY LT\"},calendar:{sameDay:\"[Днес в] LT\",nextDay:\"[Утре в] LT\",nextWeek:\"dddd [в] LT\",lastDay:\"[Вчера в] LT\",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return\"[В изминалата] dddd [в] LT\";case 1:case 2:case 4:case 5:return\"[В изминалия] dddd [в] LT\"}},sameElse:\"L\"},relativeTime:{future:\"след %s\",past:\"преди %s\",s:\"няколко секунди\",m:\"минута\",mm:\"%d минути\",h:\"час\",hh:\"%d часа\",d:\"ден\",dd:\"%d дни\",M:\"месец\",MM:\"%d месеца\",y:\"година\",yy:\"%d години\"},ordinalParse:/\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+\"-ев\":0===c?a+\"-ен\":c>10&&20>c?a+\"-ти\":1===b?a+\"-ви\":2===b?a+\"-ри\":7===b||8===b?a+\"-ми\":a+\"-ти\"},week:{dow:1,doy:7}}),{1:\"১\",2:\"২\",3:\"৩\",4:\"৪\",5:\"৫\",6:\"৬\",7:\"৭\",8:\"৮\",9:\"৯\",0:\"০\"}),yf={\"১\":\"1\",\"২\":\"2\",\"৩\":\"3\",\"৪\":\"4\",\"৫\":\"5\",\"৬\":\"6\",\"৭\":\"7\",\"৮\":\"8\",\"৯\":\"9\",\"০\":\"0\"},zf=(nf.defineLocale(\"bn\",{months:\"জানুয়ারী_ফেবুয়ারী_মার্চ_এপ্রিল_মে_জুন_জুলাই_অগাস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর\".split(\"_\"),monthsShort:\"জানু_ফেব_মার্চ_এপর_মে_জুন_জুল_অগ_সেপ্ট_অক্টো_নভ_ডিসেম্\".split(\"_\"),weekdays:\"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পত্তিবার_শুক্রুবার_শনিবার\".split(\"_\"),weekdaysShort:\"রবি_সোম_মঙ্গল_বুধ_বৃহস্পত্তি_শুক্রু_শনি\".split(\"_\"),weekdaysMin:\"রব_সম_মঙ্গ_বু_ব্রিহ_শু_শনি\".split(\"_\"),longDateFormat:{LT:\"A h:mm সময়\",LTS:\"A h:mm:ss সময়\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, LT\",LLLL:\"dddd, D MMMM YYYY, LT\"},calendar:{sameDay:\"[আজ] LT\",nextDay:\"[আগামীকাল] LT\",nextWeek:\"dddd, LT\",lastDay:\"[গতকাল] LT\",lastWeek:\"[গত] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s পরে\",past:\"%s আগে\",s:\"কএক সেকেন্ড\",m:\"এক মিনিট\",mm:\"%d মিনিট\",h:\"এক ঘন্টা\",hh:\"%d ঘন্টা\",d:\"এক দিন\",dd:\"%d দিন\",M:\"এক মাস\",MM:\"%d মাস\",y:\"এক বছর\",yy:\"%d বছর\"},preparse:function(a){return a.replace(/[১২৩৪৫৬৭৮৯০]/g,function(a){return yf[a]})},postformat:function(a){return a.replace(/\\d/g,function(a){return xf[a]})},meridiemParse:/রাত|শকাল|দুপুর|বিকেল|রাত/,isPM:function(a){return/^(দুপুর|বিকেল|রাত)$/.test(a)},meridiem:function(a,b,c){return 4>a?\"রাত\":10>a?\"শকাল\":17>a?\"দুপুর\":20>a?\"বিকেল\":\"রাত\"},week:{dow:0,doy:6}}),{1:\"༡\",2:\"༢\",3:\"༣\",4:\"༤\",5:\"༥\",6:\"༦\",7:\"༧\",8:\"༨\",9:\"༩\",0:\"༠\"}),Af={\"༡\":\"1\",\"༢\":\"2\",\"༣\":\"3\",\"༤\":\"4\",\"༥\":\"5\",\"༦\":\"6\",\"༧\":\"7\",\"༨\":\"8\",\"༩\":\"9\",\"༠\":\"0\"},Bf=(nf.defineLocale(\"bo\",{months:\"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ\".split(\"_\"),monthsShort:\"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ\".split(\"_\"),weekdays:\"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་\".split(\"_\"),weekdaysShort:\"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་\".split(\"_\"),weekdaysMin:\"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་\".split(\"_\"),longDateFormat:{LT:\"A h:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, LT\",LLLL:\"dddd, D MMMM YYYY, LT\"},calendar:{sameDay:\"[དི་རིང] LT\",nextDay:\"[སང་ཉིན] LT\",nextWeek:\"[བདུན་ཕྲག་རྗེས་མ], LT\",lastDay:\"[ཁ་སང] LT\",lastWeek:\"[བདུན་ཕྲག་མཐའ་མ] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s ལ་\",past:\"%s སྔན་ལ\",s:\"ལམ་སང\",m:\"སྐར་མ་གཅིག\",mm:\"%d སྐར་མ\",h:\"ཆུ་ཚོད་གཅིག\",hh:\"%d ཆུ་ཚོད\",d:\"ཉིན་གཅིག\",dd:\"%d ཉིན་\",M:\"ཟླ་བ་གཅིག\",MM:\"%d ཟླ་བ\",y:\"ལོ་གཅིག\",yy:\"%d ལོ\"},preparse:function(a){return a.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(a){return Af[a]})},postformat:function(a){return a.replace(/\\d/g,function(a){return zf[a]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,isPM:function(a){return/^(ཉིན་གུང|དགོང་དག|མཚན་མོ)$/.test(a)},meridiem:function(a,b,c){return 4>a?\"མཚན་མོ\":10>a?\"ཞོགས་ཀས\":17>a?\"ཉིན་གུང\":20>a?\"དགོང་དག\":\"མཚན་མོ\"},week:{dow:0,doy:6}}),nf.defineLocale(\"br\",{months:\"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu\".split(\"_\"),monthsShort:\"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker\".split(\"_\"),weekdays:\"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn\".split(\"_\"),weekdaysShort:\"Sul_Lun_Meu_Mer_Yao_Gwe_Sad\".split(\"_\"),weekdaysMin:\"Su_Lu_Me_Mer_Ya_Gw_Sa\".split(\"_\"),longDateFormat:{LT:\"h[e]mm A\",LTS:\"h[e]mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D [a viz] MMMM YYYY\",LLL:\"D [a viz] MMMM YYYY LT\",LLLL:\"dddd, D [a viz] MMMM YYYY LT\"},calendar:{sameDay:\"[Hiziv da] LT\",nextDay:\"[Warc'hoazh da] LT\",nextWeek:\"dddd [da] LT\",lastDay:\"[Dec'h da] LT\",lastWeek:\"dddd [paset da] LT\",sameElse:\"L\"},relativeTime:{future:\"a-benn %s\",past:\"%s 'zo\",s:\"un nebeud segondennoù\",m:\"ur vunutenn\",mm:Hc,h:\"un eur\",hh:\"%d eur\",d:\"un devezh\",dd:Hc,M:\"ur miz\",MM:Hc,y:\"ur bloaz\",yy:Ic},ordinalParse:/\\d{1,2}(añ|vet)/,ordinal:function(a){var b=1===a?\"añ\":\"vet\";return a+b},week:{dow:1,doy:4}}),nf.defineLocale(\"bs\",{months:\"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar\".split(\"_\"),monthsShort:\"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.\".split(\"_\"),weekdays:\"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota\".split(\"_\"),weekdaysShort:\"ned._pon._uto._sri._čet._pet._sub.\".split(\"_\"),weekdaysMin:\"ne_po_ut_sr_če_pe_su\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"DD. MM. YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY LT\",LLLL:\"dddd, D. MMMM YYYY LT\"},calendar:{sameDay:\"[danas u] LT\",nextDay:\"[sutra u] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[u] [nedjelju] [u] LT\";case 3:return\"[u] [srijedu] [u] LT\";case 6:return\"[u] [subotu] [u] LT\";case 1:case 2:case 4:case 5:return\"[u] dddd [u] LT\"}},lastDay:\"[jučer u] LT\",lastWeek:function(){switch(this.day()){case 0:case 3:return\"[prošlu] dddd [u] LT\";case 6:return\"[prošle] [subote] [u] LT\";case 1:case 2:case 4:case 5:return\"[prošli] dddd [u] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"prije %s\",s:\"par sekundi\",m:Mc,mm:Mc,h:Mc,hh:Mc,d:\"dan\",dd:Mc,M:\"mjesec\",MM:Mc,y:\"godinu\",yy:Mc},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}}),nf.defineLocale(\"ca\",{months:\"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre\".split(\"_\"),monthsShort:\"gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.\".split(\"_\"),weekdays:\"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte\".split(\"_\"),weekdaysShort:\"dg._dl._dt._dc._dj._dv._ds.\".split(\"_\"),weekdaysMin:\"Dg_Dl_Dt_Dc_Dj_Dv_Ds\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd D MMMM YYYY LT\"},calendar:{sameDay:function(){return\"[avui a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},nextDay:function(){return\"[demà a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},nextWeek:function(){return\"dddd [a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},lastDay:function(){return\"[ahir a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},lastWeek:function(){return\"[el] dddd [passat a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:\"en %s\",past:\"fa %s\",s:\"uns segons\",m:\"un minut\",mm:\"%d minuts\",h:\"una hora\",hh:\"%d hores\",d:\"un dia\",dd:\"%d dies\",M:\"un mes\",MM:\"%d mesos\",y:\"un any\",yy:\"%d anys\"},ordinalParse:/\\d{1,2}(r|n|t|è|a)/,ordinal:function(a,b){var c=1===a?\"r\":2===a?\"n\":3===a?\"r\":4===a?\"t\":\"è\";return(\"w\"===b||\"W\"===b)&&(c=\"a\"),a+c},week:{dow:1,doy:4}}),\"leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec\".split(\"_\")),Cf=\"led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro\".split(\"_\"),Df=(nf.defineLocale(\"cs\",{months:Bf,monthsShort:Cf,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp(\"^\"+a[c]+\"$|^\"+b[c]+\"$\",\"i\");return d}(Bf,Cf),weekdays:\"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota\".split(\"_\"),weekdaysShort:\"ne_po_út_st_čt_pá_so\".split(\"_\"),weekdaysMin:\"ne_po_út_st_čt_pá_so\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY LT\",LLLL:\"dddd D. MMMM YYYY LT\"},calendar:{sameDay:\"[dnes v] LT\",nextDay:\"[zítra v] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[v neděli v] LT\";case 1:case 2:return\"[v] dddd [v] LT\";case 3:return\"[ve středu v] LT\";case 4:return\"[ve čtvrtek v] LT\";case 5:return\"[v pátek v] LT\";case 6:return\"[v sobotu v] LT\"}},lastDay:\"[včera v] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[minulou neděli v] LT\";case 1:case 2:return\"[minulé] dddd [v] LT\";case 3:return\"[minulou středu v] LT\";case 4:case 5:return\"[minulý] dddd [v] LT\";case 6:return\"[minulou sobotu v] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"před %s\",s:Oc,m:Oc,mm:Oc,h:Oc,hh:Oc,d:Oc,dd:Oc,M:Oc,MM:Oc,y:Oc,yy:Oc},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),nf.defineLocale(\"cv\",{months:\"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав\".split(\"_\"),monthsShort:\"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш\".split(\"_\"),weekdays:\"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун\".split(\"_\"),weekdaysShort:\"выр_тун_ытл_юн_кӗҫ_эрн_шӑм\".split(\"_\"),weekdaysMin:\"вр_тн_ыт_юн_кҫ_эр_шм\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD-MM-YYYY\",LL:\"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]\",LLL:\"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], LT\",LLLL:\"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], LT\"},calendar:{sameDay:\"[Паян] LT [сехетре]\",nextDay:\"[Ыран] LT [сехетре]\",lastDay:\"[Ӗнер] LT [сехетре]\",nextWeek:\"[Ҫитес] dddd LT [сехетре]\",lastWeek:\"[Иртнӗ] dddd LT [сехетре]\",sameElse:\"L\"},relativeTime:{future:function(a){var b=/сехет$/i.exec(a)?\"рен\":/ҫул$/i.exec(a)?\"тан\":\"ран\";return a+b},past:\"%s каялла\",s:\"пӗр-ик ҫеккунт\",m:\"пӗр минут\",mm:\"%d минут\",h:\"пӗр сехет\",hh:\"%d сехет\",d:\"пӗр кун\",dd:\"%d кун\",M:\"пӗр уйӑх\",MM:\"%d уйӑх\",y:\"пӗр ҫул\",yy:\"%d ҫул\"},ordinalParse:/\\d{1,2}-мӗш/,ordinal:\"%d-мӗш\",week:{dow:1,doy:7}}),nf.defineLocale(\"cy\",{months:\"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr\".split(\"_\"),monthsShort:\"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag\".split(\"_\"),weekdays:\"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn\".split(\"_\"),weekdaysShort:\"Sul_Llun_Maw_Mer_Iau_Gwe_Sad\".split(\"_\"),weekdaysMin:\"Su_Ll_Ma_Me_Ia_Gw_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd, D MMMM YYYY LT\"},calendar:{sameDay:\"[Heddiw am] LT\",nextDay:\"[Yfory am] LT\",nextWeek:\"dddd [am] LT\",lastDay:\"[Ddoe am] LT\",lastWeek:\"dddd [diwethaf am] LT\",sameElse:\"L\"},relativeTime:{future:\"mewn %s\",past:\"%s yn ôl\",s:\"ychydig eiliadau\",m:\"munud\",mm:\"%d munud\",h:\"awr\",hh:\"%d awr\",d:\"diwrnod\",dd:\"%d diwrnod\",M:\"mis\",MM:\"%d mis\",y:\"blwyddyn\",yy:\"%d flynedd\"},ordinalParse:/\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(a){var b=a,c=\"\",d=[\"\",\"af\",\"il\",\"ydd\",\"ydd\",\"ed\",\"ed\",\"ed\",\"fed\",\"fed\",\"fed\",\"eg\",\"fed\",\"eg\",\"eg\",\"fed\",\"eg\",\"eg\",\"fed\",\"eg\",\"fed\"];return b>20?c=40===b||50===b||60===b||80===b||100===b?\"fed\":\"ain\":b>0&&(c=d[b]),a+c},week:{dow:1,doy:4}}),nf.defineLocale(\"da\",{months:\"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),weekdays:\"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag\".split(\"_\"),weekdaysShort:\"søn_man_tir_ons_tor_fre_lør\".split(\"_\"),weekdaysMin:\"sø_ma_ti_on_to_fr_lø\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY LT\",LLLL:\"dddd [d.] D. MMMM YYYY LT\"},calendar:{sameDay:\"[I dag kl.] LT\",nextDay:\"[I morgen kl.] LT\",nextWeek:\"dddd [kl.] LT\",lastDay:\"[I går kl.] LT\",lastWeek:\"[sidste] dddd [kl] LT\",sameElse:\"L\"},relativeTime:{future:\"om %s\",past:\"%s siden\",s:\"få sekunder\",m:\"et minut\",mm:\"%d minutter\",h:\"en time\",hh:\"%d timer\",d:\"en dag\",dd:\"%d dage\",M:\"en måned\",MM:\"%d måneder\",y:\"et år\",yy:\"%d år\"},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),nf.defineLocale(\"de-at\",{months:\"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),monthsShort:\"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.\".split(\"_\"),weekdays:\"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag\".split(\"_\"),weekdaysShort:\"So._Mo._Di._Mi._Do._Fr._Sa.\".split(\"_\"),weekdaysMin:\"So_Mo_Di_Mi_Do_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY LT\",LLLL:\"dddd, D. MMMM YYYY LT\"},calendar:{sameDay:\"[Heute um] LT [Uhr]\",sameElse:\"L\",nextDay:\"[Morgen um] LT [Uhr]\",nextWeek:\"dddd [um] LT [Uhr]\",lastDay:\"[Gestern um] LT [Uhr]\",lastWeek:\"[letzten] dddd [um] LT [Uhr]\"},relativeTime:{future:\"in %s\",past:\"vor %s\",s:\"ein paar Sekunden\",m:Pc,mm:\"%d Minuten\",h:Pc,hh:\"%d Stunden\",d:Pc,dd:Pc,M:Pc,MM:Pc,y:Pc,yy:Pc},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),nf.defineLocale(\"de\",{months:\"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),monthsShort:\"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.\".split(\"_\"),weekdays:\"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag\".split(\"_\"),weekdaysShort:\"So._Mo._Di._Mi._Do._Fr._Sa.\".split(\"_\"),weekdaysMin:\"So_Mo_Di_Mi_Do_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY LT\",LLLL:\"dddd, D. MMMM YYYY LT\"},calendar:{sameDay:\"[Heute um] LT [Uhr]\",sameElse:\"L\",nextDay:\"[Morgen um] LT [Uhr]\",nextWeek:\"dddd [um] LT [Uhr]\",lastDay:\"[Gestern um] LT [Uhr]\",lastWeek:\"[letzten] dddd [um] LT [Uhr]\"},relativeTime:{future:\"in %s\",past:\"vor %s\",s:\"ein paar Sekunden\",m:Qc,mm:\"%d Minuten\",h:Qc,hh:\"%d Stunden\",d:Qc,dd:Qc,M:Qc,MM:Qc,y:Qc,yy:Qc},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),nf.defineLocale(\"el\",{monthsNominativeEl:\"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος\".split(\"_\"),monthsGenitiveEl:\"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου\".split(\"_\"),months:function(a,b){return/D/.test(b.substring(0,b.indexOf(\"MMMM\")))?this._monthsGenitiveEl[a.month()]:this._monthsNominativeEl[a.month()]},monthsShort:\"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ\".split(\"_\"),weekdays:\"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο\".split(\"_\"),weekdaysShort:\"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ\".split(\"_\"),weekdaysMin:\"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα\".split(\"_\"),meridiem:function(a,b,c){return a>11?c?\"μμ\":\"ΜΜ\":c?\"πμ\":\"ΠΜ\"},isPM:function(a){return\"μ\"===(a+\"\").toLowerCase()[0]},meridiemParse:/[ΠΜ]\\.?Μ?\\.?/i,longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd, D MMMM YYYY LT\"},calendarEl:{sameDay:\"[Σήμερα {}] LT\",nextDay:\"[Αύριο {}] LT\",nextWeek:\"dddd [{}] LT\",lastDay:\"[Χθες {}] LT\",lastWeek:function(){switch(this.day()){case 6:return\"[το προηγούμενο] dddd [{}] LT\";default:return\"[την προηγούμενη] dddd [{}] LT\"}},sameElse:\"L\"},calendar:function(a,b){var c=this._calendarEl[a],d=b&&b.hours();return\"function\"==typeof c&&(c=c.apply(b)),c.replace(\"{}\",d%12===1?\"στη\":\"στις\")},relativeTime:{future:\"σε %s\",past:\"%s πριν\",s:\"λίγα δευτερόλεπτα\",m:\"ένα λεπτό\",mm:\"%d λεπτά\",h:\"μία ώρα\",hh:\"%d ώρες\",d:\"μία μέρα\",dd:\"%d μέρες\",M:\"ένας μήνας\",MM:\"%d μήνες\",y:\"ένας χρόνος\",yy:\"%d χρόνια\"},ordinalParse:/\\d{1,2}η/,ordinal:\"%dη\",week:{dow:1,doy:4}}),nf.defineLocale(\"en-au\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd, D MMMM YYYY LT\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},ordinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?\"th\":1===b?\"st\":2===b?\"nd\":3===b?\"rd\":\"th\";return a+c},week:{dow:1,doy:4}}),nf.defineLocale(\"en-ca\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"YYYY-MM-DD\",LL:\"D MMMM, YYYY\",LLL:\"D MMMM, YYYY LT\",LLLL:\"dddd, D MMMM, YYYY LT\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},ordinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?\"th\":1===b?\"st\":2===b?\"nd\":3===b?\"rd\":\"th\";return a+c}}),nf.defineLocale(\"en-gb\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd, D MMMM YYYY LT\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},ordinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?\"th\":1===b?\"st\":2===b?\"nd\":3===b?\"rd\":\"th\";return a+c},week:{dow:1,doy:4}}),nf.defineLocale(\"eo\",{months:\"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec\".split(\"_\"),weekdays:\"Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato\".split(\"_\"),weekdaysShort:\"Dim_Lun_Mard_Merk_Ĵaŭ_Ven_Sab\".split(\"_\"),weekdaysMin:\"Di_Lu_Ma_Me_Ĵa_Ve_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"YYYY-MM-DD\",LL:\"D[-an de] MMMM, YYYY\",LLL:\"D[-an de] MMMM, YYYY LT\",LLLL:\"dddd, [la] D[-an de] MMMM, YYYY LT\"},meridiemParse:/[ap]\\.t\\.m/i,isPM:function(a){return\"p\"===a.charAt(0).toLowerCase()},meridiem:function(a,b,c){return a>11?c?\"p.t.m.\":\"P.T.M.\":c?\"a.t.m.\":\"A.T.M.\"},calendar:{sameDay:\"[Hodiaŭ je] LT\",nextDay:\"[Morgaŭ je] LT\",nextWeek:\"dddd [je] LT\",lastDay:\"[Hieraŭ je] LT\",lastWeek:\"[pasinta] dddd [je] LT\",sameElse:\"L\"},relativeTime:{future:\"je %s\",past:\"antaŭ %s\",s:\"sekundoj\",m:\"minuto\",mm:\"%d minutoj\",h:\"horo\",hh:\"%d horoj\",d:\"tago\",dd:\"%d tagoj\",M:\"monato\",MM:\"%d monatoj\",y:\"jaro\",yy:\"%d jaroj\"},ordinalParse:/\\d{1,2}a/,ordinal:\"%da\",week:{dow:1,doy:7}}),\"Ene._Feb._Mar._Abr._May._Jun._Jul._Ago._Sep._Oct._Nov._Dic.\".split(\"_\")),Ef=\"Ene_Feb_Mar_Abr_May_Jun_Jul_Ago_Sep_Oct_Nov_Dic\".split(\"_\"),Ff=(nf.defineLocale(\"es\",{months:\"Enero_Febrero_Marzo_Abril_Mayo_Junio_Julio_Agosto_Septiembre_Octubre_Noviembre_Diciembre\".split(\"_\"),monthsShort:function(a,b){return/-MMM-/.test(b)?Ef[a.month()]:Df[a.month()]},weekdays:\"Domingo_Lunes_Martes_Miércoles_Jueves_Viernes_Sábado\".split(\"_\"),weekdaysShort:\"Dom._Lun._Mar._Mié._Jue._Vie._Sáb.\".split(\"_\"),weekdaysMin:\"Do_Lu_Ma_Mi_Ju_Vi_Sá\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY LT\",LLLL:\"dddd, D [de] MMMM [de] YYYY LT\"},calendar:{sameDay:function(){return\"[hoy a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextDay:function(){return\"[mañana a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextWeek:function(){return\"dddd [a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastDay:function(){return\"[ayer a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastWeek:function(){return\"[el] dddd [pasado a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:\"en %s\",past:\"hace %s\",s:\"unos segundos\",m:\"un minuto\",mm:\"%d minutos\",h:\"una hora\",hh:\"%d horas\",d:\"un día\",dd:\"%d días\",M:\"un mes\",MM:\"%d meses\",y:\"un año\",yy:\"%d años\"},ordinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}}),nf.defineLocale(\"et\",{months:\"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember\".split(\"_\"),monthsShort:\"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets\".split(\"_\"),weekdays:\"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev\".split(\"_\"),weekdaysShort:\"P_E_T_K_N_R_L\".split(\"_\"),weekdaysMin:\"P_E_T_K_N_R_L\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY LT\",LLLL:\"dddd, D. MMMM YYYY LT\"},calendar:{sameDay:\"[Täna,] LT\",nextDay:\"[Homme,] LT\",nextWeek:\"[Järgmine] dddd LT\",lastDay:\"[Eile,] LT\",lastWeek:\"[Eelmine] dddd LT\",sameElse:\"L\"},relativeTime:{future:\"%s pärast\",past:\"%s tagasi\",s:Rc,m:Rc,mm:Rc,h:Rc,hh:Rc,d:Rc,dd:\"%d päeva\",M:Rc,MM:Rc,y:Rc,yy:Rc},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),nf.defineLocale(\"eu\",{months:\"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua\".split(\"_\"),monthsShort:\"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.\".split(\"_\"),weekdays:\"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata\".split(\"_\"),weekdaysShort:\"ig._al._ar._az._og._ol._lr.\".split(\"_\"),weekdaysMin:\"ig_al_ar_az_og_ol_lr\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"YYYY-MM-DD\",LL:\"YYYY[ko] MMMM[ren] D[a]\",LLL:\"YYYY[ko] MMMM[ren] D[a] LT\",LLLL:\"dddd, YYYY[ko] MMMM[ren] D[a] LT\",l:\"YYYY-M-D\",ll:\"YYYY[ko] MMM D[a]\",lll:\"YYYY[ko] MMM D[a] LT\",llll:\"ddd, YYYY[ko] MMM D[a] LT\"},calendar:{sameDay:\"[gaur] LT[etan]\",nextDay:\"[bihar] LT[etan]\",nextWeek:\"dddd LT[etan]\",lastDay:\"[atzo] LT[etan]\",lastWeek:\"[aurreko] dddd LT[etan]\",sameElse:\"L\"},relativeTime:{future:\"%s barru\",past:\"duela %s\",s:\"segundo batzuk\",m:\"minutu bat\",mm:\"%d minutu\",h:\"ordu bat\",hh:\"%d ordu\",d:\"egun bat\",\ndd:\"%d egun\",M:\"hilabete bat\",MM:\"%d hilabete\",y:\"urte bat\",yy:\"%d urte\"},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}}),{1:\"۱\",2:\"۲\",3:\"۳\",4:\"۴\",5:\"۵\",6:\"۶\",7:\"۷\",8:\"۸\",9:\"۹\",0:\"۰\"}),Gf={\"۱\":\"1\",\"۲\":\"2\",\"۳\":\"3\",\"۴\":\"4\",\"۵\":\"5\",\"۶\":\"6\",\"۷\":\"7\",\"۸\":\"8\",\"۹\":\"9\",\"۰\":\"0\"},Hf=(nf.defineLocale(\"fa\",{months:\"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر\".split(\"_\"),monthsShort:\"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر\".split(\"_\"),weekdays:\"یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه\".split(\"_\"),weekdaysShort:\"یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه\".split(\"_\"),weekdaysMin:\"ی_د_س_چ_پ_ج_ش\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd, D MMMM YYYY LT\"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(a){return/بعد از ظهر/.test(a)},meridiem:function(a,b,c){return 12>a?\"قبل از ظهر\":\"بعد از ظهر\"},calendar:{sameDay:\"[امروز ساعت] LT\",nextDay:\"[فردا ساعت] LT\",nextWeek:\"dddd [ساعت] LT\",lastDay:\"[دیروز ساعت] LT\",lastWeek:\"dddd [پیش] [ساعت] LT\",sameElse:\"L\"},relativeTime:{future:\"در %s\",past:\"%s پیش\",s:\"چندین ثانیه\",m:\"یک دقیقه\",mm:\"%d دقیقه\",h:\"یک ساعت\",hh:\"%d ساعت\",d:\"یک روز\",dd:\"%d روز\",M:\"یک ماه\",MM:\"%d ماه\",y:\"یک سال\",yy:\"%d سال\"},preparse:function(a){return a.replace(/[۰-۹]/g,function(a){return Gf[a]}).replace(/،/g,\",\")},postformat:function(a){return a.replace(/\\d/g,function(a){return Ff[a]}).replace(/,/g,\"،\")},ordinalParse:/\\d{1,2}م/,ordinal:\"%dم\",week:{dow:6,doy:12}}),\"nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän\".split(\" \")),If=[\"nolla\",\"yhden\",\"kahden\",\"kolmen\",\"neljän\",\"viiden\",\"kuuden\",Hf[7],Hf[8],Hf[9]],Jf=(nf.defineLocale(\"fi\",{months:\"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu\".split(\"_\"),monthsShort:\"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu\".split(\"_\"),weekdays:\"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai\".split(\"_\"),weekdaysShort:\"su_ma_ti_ke_to_pe_la\".split(\"_\"),weekdaysMin:\"su_ma_ti_ke_to_pe_la\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD.MM.YYYY\",LL:\"Do MMMM[ta] YYYY\",LLL:\"Do MMMM[ta] YYYY, [klo] LT\",LLLL:\"dddd, Do MMMM[ta] YYYY, [klo] LT\",l:\"D.M.YYYY\",ll:\"Do MMM YYYY\",lll:\"Do MMM YYYY, [klo] LT\",llll:\"ddd, Do MMM YYYY, [klo] LT\"},calendar:{sameDay:\"[tänään] [klo] LT\",nextDay:\"[huomenna] [klo] LT\",nextWeek:\"dddd [klo] LT\",lastDay:\"[eilen] [klo] LT\",lastWeek:\"[viime] dddd[na] [klo] LT\",sameElse:\"L\"},relativeTime:{future:\"%s päästä\",past:\"%s sitten\",s:Sc,m:Sc,mm:Sc,h:Sc,hh:Sc,d:Sc,dd:Sc,M:Sc,MM:Sc,y:Sc,yy:Sc},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),nf.defineLocale(\"fo\",{months:\"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des\".split(\"_\"),weekdays:\"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur\".split(\"_\"),weekdaysShort:\"sun_mán_týs_mik_hós_frí_ley\".split(\"_\"),weekdaysMin:\"su_má_tý_mi_hó_fr_le\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd D. MMMM, YYYY LT\"},calendar:{sameDay:\"[Í dag kl.] LT\",nextDay:\"[Í morgin kl.] LT\",nextWeek:\"dddd [kl.] LT\",lastDay:\"[Í gjár kl.] LT\",lastWeek:\"[síðstu] dddd [kl] LT\",sameElse:\"L\"},relativeTime:{future:\"um %s\",past:\"%s síðani\",s:\"fá sekund\",m:\"ein minutt\",mm:\"%d minuttir\",h:\"ein tími\",hh:\"%d tímar\",d:\"ein dagur\",dd:\"%d dagar\",M:\"ein mánaði\",MM:\"%d mánaðir\",y:\"eitt ár\",yy:\"%d ár\"},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),nf.defineLocale(\"fr-ca\",{months:\"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre\".split(\"_\"),monthsShort:\"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.\".split(\"_\"),weekdays:\"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi\".split(\"_\"),weekdaysShort:\"dim._lun._mar._mer._jeu._ven._sam.\".split(\"_\"),weekdaysMin:\"Di_Lu_Ma_Me_Je_Ve_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"YYYY-MM-DD\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd D MMMM YYYY LT\"},calendar:{sameDay:\"[Aujourd'hui à] LT\",nextDay:\"[Demain à] LT\",nextWeek:\"dddd [à] LT\",lastDay:\"[Hier à] LT\",lastWeek:\"dddd [dernier à] LT\",sameElse:\"L\"},relativeTime:{future:\"dans %s\",past:\"il y a %s\",s:\"quelques secondes\",m:\"une minute\",mm:\"%d minutes\",h:\"une heure\",hh:\"%d heures\",d:\"un jour\",dd:\"%d jours\",M:\"un mois\",MM:\"%d mois\",y:\"un an\",yy:\"%d ans\"},ordinalParse:/\\d{1,2}(er|)/,ordinal:function(a){return a+(1===a?\"er\":\"\")}}),nf.defineLocale(\"fr\",{months:\"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre\".split(\"_\"),monthsShort:\"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.\".split(\"_\"),weekdays:\"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi\".split(\"_\"),weekdaysShort:\"dim._lun._mar._mer._jeu._ven._sam.\".split(\"_\"),weekdaysMin:\"Di_Lu_Ma_Me_Je_Ve_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd D MMMM YYYY LT\"},calendar:{sameDay:\"[Aujourd'hui à] LT\",nextDay:\"[Demain à] LT\",nextWeek:\"dddd [à] LT\",lastDay:\"[Hier à] LT\",lastWeek:\"dddd [dernier à] LT\",sameElse:\"L\"},relativeTime:{future:\"dans %s\",past:\"il y a %s\",s:\"quelques secondes\",m:\"une minute\",mm:\"%d minutes\",h:\"une heure\",hh:\"%d heures\",d:\"un jour\",dd:\"%d jours\",M:\"un mois\",MM:\"%d mois\",y:\"un an\",yy:\"%d ans\"},ordinalParse:/\\d{1,2}(er|)/,ordinal:function(a){return a+(1===a?\"er\":\"\")},week:{dow:1,doy:4}}),\"jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.\".split(\"_\")),Kf=\"jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des\".split(\"_\"),Lf=(nf.defineLocale(\"fy\",{months:\"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber\".split(\"_\"),monthsShort:function(a,b){return/-MMM-/.test(b)?Kf[a.month()]:Jf[a.month()]},weekdays:\"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon\".split(\"_\"),weekdaysShort:\"si._mo._ti._wo._to._fr._so.\".split(\"_\"),weekdaysMin:\"Si_Mo_Ti_Wo_To_Fr_So\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD-MM-YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd D MMMM YYYY LT\"},calendar:{sameDay:\"[hjoed om] LT\",nextDay:\"[moarn om] LT\",nextWeek:\"dddd [om] LT\",lastDay:\"[juster om] LT\",lastWeek:\"[ôfrûne] dddd [om] LT\",sameElse:\"L\"},relativeTime:{future:\"oer %s\",past:\"%s lyn\",s:\"in pear sekonden\",m:\"ien minút\",mm:\"%d minuten\",h:\"ien oere\",hh:\"%d oeren\",d:\"ien dei\",dd:\"%d dagen\",M:\"ien moanne\",MM:\"%d moannen\",y:\"ien jier\",yy:\"%d jierren\"},ordinalParse:/\\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?\"ste\":\"de\")},week:{dow:1,doy:4}}),nf.defineLocale(\"gl\",{months:\"Xaneiro_Febreiro_Marzo_Abril_Maio_Xuño_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro\".split(\"_\"),monthsShort:\"Xan._Feb._Mar._Abr._Mai._Xuñ._Xul._Ago._Set._Out._Nov._Dec.\".split(\"_\"),weekdays:\"Domingo_Luns_Martes_Mércores_Xoves_Venres_Sábado\".split(\"_\"),weekdaysShort:\"Dom._Lun._Mar._Mér._Xov._Ven._Sáb.\".split(\"_\"),weekdaysMin:\"Do_Lu_Ma_Mé_Xo_Ve_Sá\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd D MMMM YYYY LT\"},calendar:{sameDay:function(){return\"[hoxe \"+(1!==this.hours()?\"ás\":\"á\")+\"] LT\"},nextDay:function(){return\"[mañá \"+(1!==this.hours()?\"ás\":\"á\")+\"] LT\"},nextWeek:function(){return\"dddd [\"+(1!==this.hours()?\"ás\":\"a\")+\"] LT\"},lastDay:function(){return\"[onte \"+(1!==this.hours()?\"á\":\"a\")+\"] LT\"},lastWeek:function(){return\"[o] dddd [pasado \"+(1!==this.hours()?\"ás\":\"a\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:function(a){return\"uns segundos\"===a?\"nuns segundos\":\"en \"+a},past:\"hai %s\",s:\"uns segundos\",m:\"un minuto\",mm:\"%d minutos\",h:\"unha hora\",hh:\"%d horas\",d:\"un día\",dd:\"%d días\",M:\"un mes\",MM:\"%d meses\",y:\"un ano\",yy:\"%d anos\"},ordinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:7}}),nf.defineLocale(\"he\",{months:\"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר\".split(\"_\"),monthsShort:\"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳\".split(\"_\"),weekdays:\"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת\".split(\"_\"),weekdaysShort:\"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳\".split(\"_\"),weekdaysMin:\"א_ב_ג_ד_ה_ו_ש\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D [ב]MMMM YYYY\",LLL:\"D [ב]MMMM YYYY LT\",LLLL:\"dddd, D [ב]MMMM YYYY LT\",l:\"D/M/YYYY\",ll:\"D MMM YYYY\",lll:\"D MMM YYYY LT\",llll:\"ddd, D MMM YYYY LT\"},calendar:{sameDay:\"[היום ב־]LT\",nextDay:\"[מחר ב־]LT\",nextWeek:\"dddd [בשעה] LT\",lastDay:\"[אתמול ב־]LT\",lastWeek:\"[ביום] dddd [האחרון בשעה] LT\",sameElse:\"L\"},relativeTime:{future:\"בעוד %s\",past:\"לפני %s\",s:\"מספר שניות\",m:\"דקה\",mm:\"%d דקות\",h:\"שעה\",hh:function(a){return 2===a?\"שעתיים\":a+\" שעות\"},d:\"יום\",dd:function(a){return 2===a?\"יומיים\":a+\" ימים\"},M:\"חודש\",MM:function(a){return 2===a?\"חודשיים\":a+\" חודשים\"},y:\"שנה\",yy:function(a){return 2===a?\"שנתיים\":a%10===0&&10!==a?a+\" שנה\":a+\" שנים\"}}}),{1:\"१\",2:\"२\",3:\"३\",4:\"४\",5:\"५\",6:\"६\",7:\"७\",8:\"८\",9:\"९\",0:\"०\"}),Mf={\"१\":\"1\",\"२\":\"2\",\"३\":\"3\",\"४\":\"4\",\"५\":\"5\",\"६\":\"6\",\"७\":\"7\",\"८\":\"8\",\"९\":\"9\",\"०\":\"0\"},Nf=(nf.defineLocale(\"hi\",{months:\"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर\".split(\"_\"),monthsShort:\"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.\".split(\"_\"),weekdays:\"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार\".split(\"_\"),weekdaysShort:\"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि\".split(\"_\"),weekdaysMin:\"र_सो_मं_बु_गु_शु_श\".split(\"_\"),longDateFormat:{LT:\"A h:mm बजे\",LTS:\"A h:mm:ss बजे\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, LT\",LLLL:\"dddd, D MMMM YYYY, LT\"},calendar:{sameDay:\"[आज] LT\",nextDay:\"[कल] LT\",nextWeek:\"dddd, LT\",lastDay:\"[कल] LT\",lastWeek:\"[पिछले] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s में\",past:\"%s पहले\",s:\"कुछ ही क्षण\",m:\"एक मिनट\",mm:\"%d मिनट\",h:\"एक घंटा\",hh:\"%d घंटे\",d:\"एक दिन\",dd:\"%d दिन\",M:\"एक महीने\",MM:\"%d महीने\",y:\"एक वर्ष\",yy:\"%d वर्ष\"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return Mf[a]})},postformat:function(a){return a.replace(/\\d/g,function(a){return Lf[a]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(a,b){return 12===a&&(a=0),\"रात\"===b?4>a?a:a+12:\"सुबह\"===b?a:\"दोपहर\"===b?a>=10?a:a+12:\"शाम\"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?\"रात\":10>a?\"सुबह\":17>a?\"दोपहर\":20>a?\"शाम\":\"रात\"},week:{dow:0,doy:6}}),nf.defineLocale(\"hr\",{months:\"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac\".split(\"_\"),monthsShort:\"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.\".split(\"_\"),weekdays:\"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota\".split(\"_\"),weekdaysShort:\"ned._pon._uto._sri._čet._pet._sub.\".split(\"_\"),weekdaysMin:\"ne_po_ut_sr_če_pe_su\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"DD. MM. YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY LT\",LLLL:\"dddd, D. MMMM YYYY LT\"},calendar:{sameDay:\"[danas u] LT\",nextDay:\"[sutra u] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[u] [nedjelju] [u] LT\";case 3:return\"[u] [srijedu] [u] LT\";case 6:return\"[u] [subotu] [u] LT\";case 1:case 2:case 4:case 5:return\"[u] dddd [u] LT\"}},lastDay:\"[jučer u] LT\",lastWeek:function(){switch(this.day()){case 0:case 3:return\"[prošlu] dddd [u] LT\";case 6:return\"[prošle] [subote] [u] LT\";case 1:case 2:case 4:case 5:return\"[prošli] dddd [u] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"prije %s\",s:\"par sekundi\",m:Uc,mm:Uc,h:Uc,hh:Uc,d:\"dan\",dd:Uc,M:\"mjesec\",MM:Uc,y:\"godinu\",yy:Uc},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}}),\"vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton\".split(\" \")),Of=(nf.defineLocale(\"hu\",{months:\"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december\".split(\"_\"),monthsShort:\"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec\".split(\"_\"),weekdays:\"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat\".split(\"_\"),weekdaysShort:\"vas_hét_kedd_sze_csüt_pén_szo\".split(\"_\"),weekdaysMin:\"v_h_k_sze_cs_p_szo\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"YYYY.MM.DD.\",LL:\"YYYY. MMMM D.\",LLL:\"YYYY. MMMM D., LT\",LLLL:\"YYYY. MMMM D., dddd LT\"},meridiemParse:/de|du/i,isPM:function(a){return\"u\"===a.charAt(1).toLowerCase()},meridiem:function(a,b,c){return 12>a?c===!0?\"de\":\"DE\":c===!0?\"du\":\"DU\"},calendar:{sameDay:\"[ma] LT[-kor]\",nextDay:\"[holnap] LT[-kor]\",nextWeek:function(){return Wc.call(this,!0)},lastDay:\"[tegnap] LT[-kor]\",lastWeek:function(){return Wc.call(this,!1)},sameElse:\"L\"},relativeTime:{future:\"%s múlva\",past:\"%s\",s:Vc,m:Vc,mm:Vc,h:Vc,hh:Vc,d:Vc,dd:Vc,M:Vc,MM:Vc,y:Vc,yy:Vc},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}}),nf.defineLocale(\"hy-am\",{months:Xc,monthsShort:Yc,weekdays:Zc,weekdaysShort:\"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ\".split(\"_\"),weekdaysMin:\"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY թ.\",LLL:\"D MMMM YYYY թ., LT\",LLLL:\"dddd, D MMMM YYYY թ., LT\"},calendar:{sameDay:\"[այսօր] LT\",nextDay:\"[վաղը] LT\",lastDay:\"[երեկ] LT\",nextWeek:function(){return\"dddd [օրը ժամը] LT\"},lastWeek:function(){return\"[անցած] dddd [օրը ժամը] LT\"},sameElse:\"L\"},relativeTime:{future:\"%s հետո\",past:\"%s առաջ\",s:\"մի քանի վայրկյան\",m:\"րոպե\",mm:\"%d րոպե\",h:\"ժամ\",hh:\"%d ժամ\",d:\"օր\",dd:\"%d օր\",M:\"ամիս\",MM:\"%d ամիս\",y:\"տարի\",yy:\"%d տարի\"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(a){return/^(ցերեկվա|երեկոյան)$/.test(a)},meridiem:function(a){return 4>a?\"գիշերվա\":12>a?\"առավոտվա\":17>a?\"ցերեկվա\":\"երեկոյան\"},ordinalParse:/\\d{1,2}|\\d{1,2}-(ին|րդ)/,ordinal:function(a,b){switch(b){case\"DDD\":case\"w\":case\"W\":case\"DDDo\":return 1===a?a+\"-ին\":a+\"-րդ\";default:return a}},week:{dow:1,doy:7}}),nf.defineLocale(\"id\",{months:\"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des\".split(\"_\"),weekdays:\"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu\".split(\"_\"),weekdaysShort:\"Min_Sen_Sel_Rab_Kam_Jum_Sab\".split(\"_\"),weekdaysMin:\"Mg_Sn_Sl_Rb_Km_Jm_Sb\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"LT.ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [pukul] LT\",LLLL:\"dddd, D MMMM YYYY [pukul] LT\"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),\"pagi\"===b?a:\"siang\"===b?a>=11?a:a+12:\"sore\"===b||\"malam\"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?\"pagi\":15>a?\"siang\":19>a?\"sore\":\"malam\"},calendar:{sameDay:\"[Hari ini pukul] LT\",nextDay:\"[Besok pukul] LT\",nextWeek:\"dddd [pukul] LT\",lastDay:\"[Kemarin pukul] LT\",lastWeek:\"dddd [lalu pukul] LT\",sameElse:\"L\"},relativeTime:{future:\"dalam %s\",past:\"%s yang lalu\",s:\"beberapa detik\",m:\"semenit\",mm:\"%d menit\",h:\"sejam\",hh:\"%d jam\",d:\"sehari\",dd:\"%d hari\",M:\"sebulan\",MM:\"%d bulan\",y:\"setahun\",yy:\"%d tahun\"},week:{dow:1,doy:7}}),nf.defineLocale(\"is\",{months:\"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des\".split(\"_\"),weekdays:\"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur\".split(\"_\"),weekdaysShort:\"sun_mán_þri_mið_fim_fös_lau\".split(\"_\"),weekdaysMin:\"Su_Má_Þr_Mi_Fi_Fö_La\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY [kl.] LT\",LLLL:\"dddd, D. MMMM YYYY [kl.] LT\"},calendar:{sameDay:\"[í dag kl.] LT\",nextDay:\"[á morgun kl.] LT\",nextWeek:\"dddd [kl.] LT\",lastDay:\"[í gær kl.] LT\",lastWeek:\"[síðasta] dddd [kl.] LT\",sameElse:\"L\"},relativeTime:{future:\"eftir %s\",past:\"fyrir %s síðan\",s:_c,m:_c,mm:_c,h:\"klukkustund\",hh:_c,d:_c,dd:_c,M:_c,MM:_c,y:_c,yy:_c},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),nf.defineLocale(\"it\",{months:\"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre\".split(\"_\"),monthsShort:\"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic\".split(\"_\"),weekdays:\"Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato\".split(\"_\"),weekdaysShort:\"Dom_Lun_Mar_Mer_Gio_Ven_Sab\".split(\"_\"),weekdaysMin:\"D_L_Ma_Me_G_V_S\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd, D MMMM YYYY LT\"},calendar:{sameDay:\"[Oggi alle] LT\",nextDay:\"[Domani alle] LT\",nextWeek:\"dddd [alle] LT\",lastDay:\"[Ieri alle] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[la scorsa] dddd [alle] LT\";default:return\"[lo scorso] dddd [alle] LT\"}},sameElse:\"L\"},relativeTime:{future:function(a){return(/^[0-9].+$/.test(a)?\"tra\":\"in\")+\" \"+a},past:\"%s fa\",s:\"alcuni secondi\",m:\"un minuto\",mm:\"%d minuti\",h:\"un'ora\",hh:\"%d ore\",d:\"un giorno\",dd:\"%d giorni\",M:\"un mese\",MM:\"%d mesi\",y:\"un anno\",yy:\"%d anni\"},ordinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}}),nf.defineLocale(\"ja\",{months:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),weekdays:\"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日\".split(\"_\"),weekdaysShort:\"日_月_火_水_木_金_土\".split(\"_\"),weekdaysMin:\"日_月_火_水_木_金_土\".split(\"_\"),longDateFormat:{LT:\"Ah時m分\",LTS:\"LTs秒\",L:\"YYYY/MM/DD\",LL:\"YYYY年M月D日\",LLL:\"YYYY年M月D日LT\",LLLL:\"YYYY年M月D日LT dddd\"},meridiemParse:/午前|午後/i,isPM:function(a){return\"午後\"===a},meridiem:function(a,b,c){return 12>a?\"午前\":\"午後\"},calendar:{sameDay:\"[今日] LT\",nextDay:\"[明日] LT\",nextWeek:\"[来週]dddd LT\",lastDay:\"[昨日] LT\",lastWeek:\"[前週]dddd LT\",sameElse:\"L\"},relativeTime:{future:\"%s後\",past:\"%s前\",s:\"数秒\",m:\"1分\",mm:\"%d分\",h:\"1時間\",hh:\"%d時間\",d:\"1日\",dd:\"%d日\",M:\"1ヶ月\",MM:\"%dヶ月\",y:\"1年\",yy:\"%d年\"}}),nf.defineLocale(\"jv\",{months:\"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des\".split(\"_\"),weekdays:\"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu\".split(\"_\"),weekdaysShort:\"Min_Sen_Sel_Reb_Kem_Jem_Sep\".split(\"_\"),weekdaysMin:\"Mg_Sn_Sl_Rb_Km_Jm_Sp\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"LT.ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [pukul] LT\",LLLL:\"dddd, D MMMM YYYY [pukul] LT\"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(a,b){return 12===a&&(a=0),\"enjing\"===b?a:\"siyang\"===b?a>=11?a:a+12:\"sonten\"===b||\"ndalu\"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?\"enjing\":15>a?\"siyang\":19>a?\"sonten\":\"ndalu\"},calendar:{sameDay:\"[Dinten puniko pukul] LT\",nextDay:\"[Mbenjang pukul] LT\",nextWeek:\"dddd [pukul] LT\",lastDay:\"[Kala wingi pukul] LT\",lastWeek:\"dddd [kepengker pukul] LT\",sameElse:\"L\"},relativeTime:{future:\"wonten ing %s\",past:\"%s ingkang kepengker\",s:\"sawetawis detik\",m:\"setunggal menit\",mm:\"%d menit\",h:\"setunggal jam\",hh:\"%d jam\",d:\"sedinten\",dd:\"%d dinten\",M:\"sewulan\",MM:\"%d wulan\",y:\"setaun\",yy:\"%d taun\"},week:{dow:1,doy:7}}),nf.defineLocale(\"ka\",{months:ad,monthsShort:\"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ\".split(\"_\"),weekdays:bd,weekdaysShort:\"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ\".split(\"_\"),weekdaysMin:\"კვ_ორ_სა_ოთ_ხუ_პა_შა\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd, D MMMM YYYY LT\"},calendar:{sameDay:\"[დღეს] LT[-ზე]\",nextDay:\"[ხვალ] LT[-ზე]\",lastDay:\"[გუშინ] LT[-ზე]\",nextWeek:\"[შემდეგ] dddd LT[-ზე]\",lastWeek:\"[წინა] dddd LT-ზე\",sameElse:\"L\"},relativeTime:{future:function(a){return/(წამი|წუთი|საათი|წელი)/.test(a)?a.replace(/ი$/,\"ში\"):a+\"ში\"},past:function(a){return/(წამი|წუთი|საათი|დღე|თვე)/.test(a)?a.replace(/(ი|ე)$/,\"ის წინ\"):/წელი/.test(a)?a.replace(/წელი$/,\"წლის წინ\"):void 0},s:\"რამდენიმე წამი\",m:\"წუთი\",mm:\"%d წუთი\",h:\"საათი\",hh:\"%d საათი\",d:\"დღე\",dd:\"%d დღე\",M:\"თვე\",MM:\"%d თვე\",y:\"წელი\",yy:\"%d წელი\"},ordinalParse:/0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,ordinal:function(a){return 0===a?a:1===a?a+\"-ლი\":20>a||100>=a&&a%20===0||a%100===0?\"მე-\"+a:a+\"-ე\"},week:{dow:1,doy:7}}),nf.defineLocale(\"km\",{months:\"មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ\".split(\"_\"),monthsShort:\"មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ\".split(\"_\"),weekdays:\"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍\".split(\"_\"),weekdaysShort:\"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍\".split(\"_\"),weekdaysMin:\"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd, D MMMM YYYY LT\"},calendar:{sameDay:\"[ថ្ងៃនៈ ម៉ោង] LT\",nextDay:\"[ស្អែក ម៉ោង] LT\",nextWeek:\"dddd [ម៉ោង] LT\",lastDay:\"[ម្សិលមិញ ម៉ោង] LT\",lastWeek:\"dddd [សប្តាហ៍មុន] [ម៉ោង] LT\",sameElse:\"L\"},relativeTime:{future:\"%sទៀត\",past:\"%sមុន\",s:\"ប៉ុន្មានវិនាទី\",m:\"មួយនាទី\",mm:\"%d នាទី\",h:\"មួយម៉ោង\",hh:\"%d ម៉ោង\",d:\"មួយថ្ងៃ\",dd:\"%d ថ្ងៃ\",M:\"មួយខែ\",MM:\"%d ខែ\",y:\"មួយឆ្នាំ\",yy:\"%d ឆ្នាំ\"},week:{dow:1,doy:4}}),nf.defineLocale(\"ko\",{months:\"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월\".split(\"_\"),monthsShort:\"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월\".split(\"_\"),weekdays:\"일요일_월요일_화요일_수요일_목요일_금요일_토요일\".split(\"_\"),weekdaysShort:\"일_월_화_수_목_금_토\".split(\"_\"),weekdaysMin:\"일_월_화_수_목_금_토\".split(\"_\"),longDateFormat:{LT:\"A h시 m분\",LTS:\"A h시 m분 s초\",L:\"YYYY.MM.DD\",LL:\"YYYY년 MMMM D일\",LLL:\"YYYY년 MMMM D일 LT\",LLLL:\"YYYY년 MMMM D일 dddd LT\"},calendar:{sameDay:\"오늘 LT\",nextDay:\"내일 LT\",nextWeek:\"dddd LT\",lastDay:\"어제 LT\",lastWeek:\"지난주 dddd LT\",sameElse:\"L\"},relativeTime:{future:\"%s 후\",past:\"%s 전\",s:\"몇초\",ss:\"%d초\",m:\"일분\",mm:\"%d분\",h:\"한시간\",hh:\"%d시간\",d:\"하루\",dd:\"%d일\",M:\"한달\",MM:\"%d달\",y:\"일년\",yy:\"%d년\"},ordinalParse:/\\d{1,2}일/,ordinal:\"%d일\",meridiemParse:/오전|오후/,isPM:function(a){return\"오후\"===a},meridiem:function(a,b,c){return 12>a?\"오전\":\"오후\"}}),nf.defineLocale(\"lb\",{months:\"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),monthsShort:\"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.\".split(\"_\"),weekdays:\"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg\".split(\"_\"),weekdaysShort:\"So._Mé._Dë._Më._Do._Fr._Sa.\".split(\"_\"),weekdaysMin:\"So_Mé_Dë_Më_Do_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"H:mm [Auer]\",LTS:\"H:mm:ss [Auer]\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY LT\",LLLL:\"dddd, D. MMMM YYYY LT\"},calendar:{sameDay:\"[Haut um] LT\",sameElse:\"L\",nextDay:\"[Muer um] LT\",nextWeek:\"dddd [um] LT\",lastDay:\"[Gëschter um] LT\",lastWeek:function(){switch(this.day()){case 2:case 4:return\"[Leschten] dddd [um] LT\";default:return\"[Leschte] dddd [um] LT\"}}},relativeTime:{future:dd,past:ed,s:\"e puer Sekonnen\",m:cd,mm:\"%d Minutten\",h:cd,hh:\"%d Stonnen\",d:cd,dd:\"%d Deeg\",M:cd,MM:\"%d Méint\",y:cd,yy:\"%d Joer\"},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),{m:\"minutė_minutės_minutę\",mm:\"minutės_minučių_minutes\",h:\"valanda_valandos_valandą\",hh:\"valandos_valandų_valandas\",d:\"diena_dienos_dieną\",dd:\"dienos_dienų_dienas\",M:\"mėnuo_mėnesio_mėnesį\",MM:\"mėnesiai_mėnesių_mėnesius\",y:\"metai_metų_metus\",yy:\"metai_metų_metus\"}),Pf=\"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis\".split(\"_\"),Qf=(nf.defineLocale(\"lt\",{months:\"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio\".split(\"_\"),monthsShort:\"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd\".split(\"_\"),weekdays:ld,weekdaysShort:\"Sek_Pir_Ant_Tre_Ket_Pen_Šeš\".split(\"_\"),weekdaysMin:\"S_P_A_T_K_Pn_Š\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"YYYY-MM-DD\",LL:\"YYYY [m.] MMMM D [d.]\",LLL:\"YYYY [m.] MMMM D [d.], LT [val.]\",LLLL:\"YYYY [m.] MMMM D [d.], dddd, LT [val.]\",l:\"YYYY-MM-DD\",ll:\"YYYY [m.] MMMM D [d.]\",lll:\"YYYY [m.] MMMM D [d.], LT [val.]\",llll:\"YYYY [m.] MMMM D [d.], ddd, LT [val.]\"},calendar:{sameDay:\"[Šiandien] LT\",nextDay:\"[Rytoj] LT\",nextWeek:\"dddd LT\",lastDay:\"[Vakar] LT\",lastWeek:\"[Praėjusį] dddd LT\",sameElse:\"L\"},relativeTime:{future:\"po %s\",past:\"prieš %s\",s:gd,m:hd,mm:kd,h:hd,hh:kd,d:hd,dd:kd,M:hd,MM:kd,y:hd,yy:kd},ordinalParse:/\\d{1,2}-oji/,ordinal:function(a){return a+\"-oji\"},week:{dow:1,doy:4}}),{m:\"minūtes_minūtēm_minūte_minūtes\".split(\"_\"),mm:\"minūtes_minūtēm_minūte_minūtes\".split(\"_\"),h:\"stundas_stundām_stunda_stundas\".split(\"_\"),hh:\"stundas_stundām_stunda_stundas\".split(\"_\"),d:\"dienas_dienām_diena_dienas\".split(\"_\"),dd:\"dienas_dienām_diena_dienas\".split(\"_\"),M:\"mēneša_mēnešiem_mēnesis_mēneši\".split(\"_\"),MM:\"mēneša_mēnešiem_mēnesis_mēneši\".split(\"_\"),y:\"gada_gadiem_gads_gadi\".split(\"_\"),yy:\"gada_gadiem_gads_gadi\".split(\"_\")}),Rf=(nf.defineLocale(\"lv\",{months:\"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec\".split(\"_\"),weekdays:\"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena\".split(\"_\"),weekdaysShort:\"Sv_P_O_T_C_Pk_S\".split(\"_\"),weekdaysMin:\"Sv_P_O_T_C_Pk_S\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD.MM.YYYY.\",LL:\"YYYY. [gada] D. MMMM\",LLL:\"YYYY. [gada] D. MMMM, LT\",LLLL:\"YYYY. [gada] D. MMMM, dddd, LT\"},calendar:{sameDay:\"[Šodien pulksten] LT\",nextDay:\"[Rīt pulksten] LT\",nextWeek:\"dddd [pulksten] LT\",lastDay:\"[Vakar pulksten] LT\",lastWeek:\"[Pagājušā] dddd [pulksten] LT\",sameElse:\"L\"},relativeTime:{future:\"pēc %s\",past:\"pirms %s\",s:pd,m:od,mm:nd,h:od,hh:nd,d:od,dd:nd,M:od,MM:nd,y:od,yy:nd},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),{words:{m:[\"jedan minut\",\"jednog minuta\"],mm:[\"minut\",\"minuta\",\"minuta\"],h:[\"jedan sat\",\"jednog sata\"],hh:[\"sat\",\"sata\",\"sati\"],dd:[\"dan\",\"dana\",\"dana\"],MM:[\"mjesec\",\"mjeseca\",\"mjeseci\"],yy:[\"godina\",\"godine\",\"godina\"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,b,c){var d=Rf.words[c];return 1===c.length?b?d[0]:d[1]:a+\" \"+Rf.correctGrammaticalCase(a,d)}}),Sf=(nf.defineLocale(\"me\",{months:[\"januar\",\"februar\",\"mart\",\"april\",\"maj\",\"jun\",\"jul\",\"avgust\",\"septembar\",\"oktobar\",\"novembar\",\"decembar\"],monthsShort:[\"jan.\",\"feb.\",\"mar.\",\"apr.\",\"maj\",\"jun\",\"jul\",\"avg.\",\"sep.\",\"okt.\",\"nov.\",\"dec.\"],weekdays:[\"nedjelja\",\"ponedjeljak\",\"utorak\",\"srijeda\",\"četvrtak\",\"petak\",\"subota\"],weekdaysShort:[\"ned.\",\"pon.\",\"uto.\",\"sri.\",\"čet.\",\"pet.\",\"sub.\"],weekdaysMin:[\"ne\",\"po\",\"ut\",\"sr\",\"če\",\"pe\",\"su\"],longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"DD. MM. YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY LT\",LLLL:\"dddd, D. MMMM YYYY LT\"},calendar:{sameDay:\"[danas u] LT\",nextDay:\"[sjutra u] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[u] [nedjelju] [u] LT\";case 3:return\"[u] [srijedu] [u] LT\";case 6:return\"[u] [subotu] [u] LT\";case 1:case 2:case 4:case 5:return\"[u] dddd [u] LT\"}},lastDay:\"[juče u] LT\",lastWeek:function(){var a=[\"[prošle] [nedjelje] [u] LT\",\"[prošlog] [ponedjeljka] [u] LT\",\"[prošlog] [utorka] [u] LT\",\"[prošle] [srijede] [u] LT\",\"[prošlog] [četvrtka] [u] LT\",\"[prošlog] [petka] [u] LT\",\"[prošle] [subote] [u] LT\"];return a[this.day()]},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"prije %s\",s:\"nekoliko sekundi\",m:Rf.translate,mm:Rf.translate,h:Rf.translate,hh:Rf.translate,d:\"dan\",dd:Rf.translate,M:\"mjesec\",MM:Rf.translate,y:\"godinu\",yy:Rf.translate},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}}),nf.defineLocale(\"mk\",{months:\"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември\".split(\"_\"),monthsShort:\"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек\".split(\"_\"),weekdays:\"недела_понеделник_вторник_среда_четврток_петок_сабота\".split(\"_\"),weekdaysShort:\"нед_пон_вто_сре_чет_пет_саб\".split(\"_\"),weekdaysMin:\"нe_пo_вт_ср_че_пе_сa\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"D.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd, D MMMM YYYY LT\"},calendar:{sameDay:\"[Денес во] LT\",nextDay:\"[Утре во] LT\",nextWeek:\"dddd [во] LT\",lastDay:\"[Вчера во] LT\",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return\"[Во изминатата] dddd [во] LT\";case 1:case 2:case 4:case 5:return\"[Во изминатиот] dddd [во] LT\"}},sameElse:\"L\"},relativeTime:{future:\"после %s\",past:\"пред %s\",s:\"неколку секунди\",m:\"минута\",mm:\"%d минути\",h:\"час\",hh:\"%d часа\",d:\"ден\",dd:\"%d дена\",M:\"месец\",MM:\"%d месеци\",y:\"година\",yy:\"%d години\"},ordinalParse:/\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+\"-ев\":0===c?a+\"-ен\":c>10&&20>c?a+\"-ти\":1===b?a+\"-ви\":2===b?a+\"-ри\":7===b||8===b?a+\"-ми\":a+\"-ти\"},week:{dow:1,doy:7}}),nf.defineLocale(\"ml\",{months:\"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ\".split(\"_\"),monthsShort:\"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.\".split(\"_\"),weekdays:\"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച\".split(\"_\"),weekdaysShort:\"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി\".split(\"_\"),weekdaysMin:\"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ\".split(\"_\"),longDateFormat:{LT:\"A h:mm -നു\",LTS:\"A h:mm:ss -നു\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, LT\",LLLL:\"dddd, D MMMM YYYY, LT\"},calendar:{sameDay:\"[ഇന്ന്] LT\",nextDay:\"[നാളെ] LT\",nextWeek:\"dddd, LT\",lastDay:\"[ഇന്നലെ] LT\",lastWeek:\"[കഴിഞ്ഞ] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s കഴിഞ്ഞ്\",past:\"%s മുൻപ്\",s:\"അൽപ നിമിഷങ്ങൾ\",m:\"ഒരു മിനിറ്റ്\",mm:\"%d മിനിറ്റ്\",h:\"ഒരു മണിക്കൂർ\",hh:\"%d മണിക്കൂർ\",d:\"ഒരു ദിവസം\",dd:\"%d ദിവസം\",M:\"ഒരു മാസം\",MM:\"%d മാസം\",y:\"ഒരു വർഷം\",yy:\"%d വർഷം\"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,isPM:function(a){return/^(ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി)$/.test(a)},meridiem:function(a,b,c){return 4>a?\"രാത്രി\":12>a?\"രാവിലെ\":17>a?\"ഉച്ച കഴിഞ്ഞ്\":20>a?\"വൈകുന്നേരം\":\"രാത്രി\"}}),{1:\"१\",2:\"२\",3:\"३\",4:\"४\",5:\"५\",6:\"६\",7:\"७\",8:\"८\",9:\"९\",0:\"०\"}),Tf={\"१\":\"1\",\"२\":\"2\",\"३\":\"3\",\"४\":\"4\",\"५\":\"5\",\"६\":\"6\",\"७\":\"7\",\"८\":\"8\",\"९\":\"9\",\"०\":\"0\"},Uf=(nf.defineLocale(\"mr\",{months:\"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर\".split(\"_\"),monthsShort:\"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.\".split(\"_\"),weekdays:\"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार\".split(\"_\"),weekdaysShort:\"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि\".split(\"_\"),weekdaysMin:\"र_सो_मं_बु_गु_शु_श\".split(\"_\"),longDateFormat:{LT:\"A h:mm वाजता\",LTS:\"A h:mm:ss वाजता\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, LT\",LLLL:\"dddd, D MMMM YYYY, LT\"},calendar:{sameDay:\"[आज] LT\",nextDay:\"[उद्या] LT\",nextWeek:\"dddd, LT\",lastDay:\"[काल] LT\",lastWeek:\"[मागील] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s नंतर\",past:\"%s पूर्वी\",s:\"सेकंद\",m:\"एक मिनिट\",mm:\"%d मिनिटे\",h:\"एक तास\",hh:\"%d तास\",d:\"एक दिवस\",dd:\"%d दिवस\",M:\"एक महिना\",MM:\"%d महिने\",y:\"एक वर्ष\",yy:\"%d वर्षे\"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return Tf[a]})},postformat:function(a){return a.replace(/\\d/g,function(a){return Sf[a]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(a,b){return 12===a&&(a=0),\"रात्री\"===b?4>a?a:a+12:\"सकाळी\"===b?a:\"दुपारी\"===b?a>=10?a:a+12:\"सायंकाळी\"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?\"रात्री\":10>a?\"सकाळी\":17>a?\"दुपारी\":20>a?\"सायंकाळी\":\"रात्री\"},week:{dow:0,doy:6}}),nf.defineLocale(\"ms-my\",{months:\"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember\".split(\"_\"),monthsShort:\"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis\".split(\"_\"),weekdays:\"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu\".split(\"_\"),weekdaysShort:\"Ahd_Isn_Sel_Rab_Kha_Jum_Sab\".split(\"_\"),weekdaysMin:\"Ah_Is_Sl_Rb_Km_Jm_Sb\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"LT.ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [pukul] LT\",LLLL:\"dddd, D MMMM YYYY [pukul] LT\"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),\"pagi\"===b?a:\"tengahari\"===b?a>=11?a:a+12:\"petang\"===b||\"malam\"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?\"pagi\":15>a?\"tengahari\":19>a?\"petang\":\"malam\"},calendar:{sameDay:\"[Hari ini pukul] LT\",nextDay:\"[Esok pukul] LT\",nextWeek:\"dddd [pukul] LT\",lastDay:\"[Kelmarin pukul] LT\",lastWeek:\"dddd [lepas pukul] LT\",sameElse:\"L\"},relativeTime:{future:\"dalam %s\",past:\"%s yang lepas\",s:\"beberapa saat\",m:\"seminit\",mm:\"%d minit\",h:\"sejam\",hh:\"%d jam\",d:\"sehari\",dd:\"%d hari\",M:\"sebulan\",MM:\"%d bulan\",y:\"setahun\",yy:\"%d tahun\"},week:{dow:1,doy:7}}),{1:\"၁\",2:\"၂\",3:\"၃\",4:\"၄\",5:\"၅\",6:\"၆\",7:\"၇\",8:\"၈\",9:\"၉\",0:\"၀\"}),Vf={\"၁\":\"1\",\"၂\":\"2\",\"၃\":\"3\",\"၄\":\"4\",\"၅\":\"5\",\n\"၆\":\"6\",\"၇\":\"7\",\"၈\":\"8\",\"၉\":\"9\",\"၀\":\"0\"},Wf=(nf.defineLocale(\"my\",{months:\"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ\".split(\"_\"),monthsShort:\"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ\".split(\"_\"),weekdays:\"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ\".split(\"_\"),weekdaysShort:\"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ\".split(\"_\"),weekdaysMin:\"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd D MMMM YYYY LT\"},calendar:{sameDay:\"[ယနေ.] LT [မှာ]\",nextDay:\"[မနက်ဖြန်] LT [မှာ]\",nextWeek:\"dddd LT [မှာ]\",lastDay:\"[မနေ.က] LT [မှာ]\",lastWeek:\"[ပြီးခဲ့သော] dddd LT [မှာ]\",sameElse:\"L\"},relativeTime:{future:\"လာမည့် %s မှာ\",past:\"လွန်ခဲ့သော %s က\",s:\"စက္ကန်.အနည်းငယ်\",m:\"တစ်မိနစ်\",mm:\"%d မိနစ်\",h:\"တစ်နာရီ\",hh:\"%d နာရီ\",d:\"တစ်ရက်\",dd:\"%d ရက်\",M:\"တစ်လ\",MM:\"%d လ\",y:\"တစ်နှစ်\",yy:\"%d နှစ်\"},preparse:function(a){return a.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(a){return Vf[a]})},postformat:function(a){return a.replace(/\\d/g,function(a){return Uf[a]})},week:{dow:1,doy:4}}),nf.defineLocale(\"nb\",{months:\"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des\".split(\"_\"),weekdays:\"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag\".split(\"_\"),weekdaysShort:\"søn_man_tirs_ons_tors_fre_lør\".split(\"_\"),weekdaysMin:\"sø_ma_ti_on_to_fr_lø\".split(\"_\"),longDateFormat:{LT:\"H.mm\",LTS:\"LT.ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY [kl.] LT\",LLLL:\"dddd D. MMMM YYYY [kl.] LT\"},calendar:{sameDay:\"[i dag kl.] LT\",nextDay:\"[i morgen kl.] LT\",nextWeek:\"dddd [kl.] LT\",lastDay:\"[i går kl.] LT\",lastWeek:\"[forrige] dddd [kl.] LT\",sameElse:\"L\"},relativeTime:{future:\"om %s\",past:\"for %s siden\",s:\"noen sekunder\",m:\"ett minutt\",mm:\"%d minutter\",h:\"en time\",hh:\"%d timer\",d:\"en dag\",dd:\"%d dager\",M:\"en måned\",MM:\"%d måneder\",y:\"ett år\",yy:\"%d år\"},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),{1:\"१\",2:\"२\",3:\"३\",4:\"४\",5:\"५\",6:\"६\",7:\"७\",8:\"८\",9:\"९\",0:\"०\"}),Xf={\"१\":\"1\",\"२\":\"2\",\"३\":\"3\",\"४\":\"4\",\"५\":\"5\",\"६\":\"6\",\"७\":\"7\",\"८\":\"8\",\"९\":\"9\",\"०\":\"0\"},Yf=(nf.defineLocale(\"ne\",{months:\"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर\".split(\"_\"),monthsShort:\"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.\".split(\"_\"),weekdays:\"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार\".split(\"_\"),weekdaysShort:\"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.\".split(\"_\"),weekdaysMin:\"आइ._सो._मङ्_बु._बि._शु._श.\".split(\"_\"),longDateFormat:{LT:\"Aको h:mm बजे\",LTS:\"Aको h:mm:ss बजे\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, LT\",LLLL:\"dddd, D MMMM YYYY, LT\"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return Xf[a]})},postformat:function(a){return a.replace(/\\d/g,function(a){return Wf[a]})},meridiemParse:/राती|बिहान|दिउँसो|बेलुका|साँझ|राती/,meridiemHour:function(a,b){return 12===a&&(a=0),\"राती\"===b?3>a?a:a+12:\"बिहान\"===b?a:\"दिउँसो\"===b?a>=10?a:a+12:\"बेलुका\"===b||\"साँझ\"===b?a+12:void 0},meridiem:function(a,b,c){return 3>a?\"राती\":10>a?\"बिहान\":15>a?\"दिउँसो\":18>a?\"बेलुका\":20>a?\"साँझ\":\"राती\"},calendar:{sameDay:\"[आज] LT\",nextDay:\"[भोली] LT\",nextWeek:\"[आउँदो] dddd[,] LT\",lastDay:\"[हिजो] LT\",lastWeek:\"[गएको] dddd[,] LT\",sameElse:\"L\"},relativeTime:{future:\"%sमा\",past:\"%s अगाडी\",s:\"केही समय\",m:\"एक मिनेट\",mm:\"%d मिनेट\",h:\"एक घण्टा\",hh:\"%d घण्टा\",d:\"एक दिन\",dd:\"%d दिन\",M:\"एक महिना\",MM:\"%d महिना\",y:\"एक बर्ष\",yy:\"%d बर्ष\"},week:{dow:1,doy:7}}),\"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.\".split(\"_\")),Zf=\"jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),$f=(nf.defineLocale(\"nl\",{months:\"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december\".split(\"_\"),monthsShort:function(a,b){return/-MMM-/.test(b)?Zf[a.month()]:Yf[a.month()]},weekdays:\"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag\".split(\"_\"),weekdaysShort:\"zo._ma._di._wo._do._vr._za.\".split(\"_\"),weekdaysMin:\"Zo_Ma_Di_Wo_Do_Vr_Za\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD-MM-YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd D MMMM YYYY LT\"},calendar:{sameDay:\"[vandaag om] LT\",nextDay:\"[morgen om] LT\",nextWeek:\"dddd [om] LT\",lastDay:\"[gisteren om] LT\",lastWeek:\"[afgelopen] dddd [om] LT\",sameElse:\"L\"},relativeTime:{future:\"over %s\",past:\"%s geleden\",s:\"een paar seconden\",m:\"één minuut\",mm:\"%d minuten\",h:\"één uur\",hh:\"%d uur\",d:\"één dag\",dd:\"%d dagen\",M:\"één maand\",MM:\"%d maanden\",y:\"één jaar\",yy:\"%d jaar\"},ordinalParse:/\\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?\"ste\":\"de\")},week:{dow:1,doy:4}}),nf.defineLocale(\"nn\",{months:\"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des\".split(\"_\"),weekdays:\"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag\".split(\"_\"),weekdaysShort:\"sun_mån_tys_ons_tor_fre_lau\".split(\"_\"),weekdaysMin:\"su_må_ty_on_to_fr_lø\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd D MMMM YYYY LT\"},calendar:{sameDay:\"[I dag klokka] LT\",nextDay:\"[I morgon klokka] LT\",nextWeek:\"dddd [klokka] LT\",lastDay:\"[I går klokka] LT\",lastWeek:\"[Føregåande] dddd [klokka] LT\",sameElse:\"L\"},relativeTime:{future:\"om %s\",past:\"for %s sidan\",s:\"nokre sekund\",m:\"eit minutt\",mm:\"%d minutt\",h:\"ein time\",hh:\"%d timar\",d:\"ein dag\",dd:\"%d dagar\",M:\"ein månad\",MM:\"%d månader\",y:\"eit år\",yy:\"%d år\"},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),\"styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień\".split(\"_\")),_f=\"stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia\".split(\"_\"),ag=(nf.defineLocale(\"pl\",{months:function(a,b){return\"\"===b?\"(\"+_f[a.month()]+\"|\"+$f[a.month()]+\")\":/D MMMM/.test(b)?_f[a.month()]:$f[a.month()]},monthsShort:\"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru\".split(\"_\"),weekdays:\"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota\".split(\"_\"),weekdaysShort:\"nie_pon_wt_śr_czw_pt_sb\".split(\"_\"),weekdaysMin:\"N_Pn_Wt_Śr_Cz_Pt_So\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd, D MMMM YYYY LT\"},calendar:{sameDay:\"[Dziś o] LT\",nextDay:\"[Jutro o] LT\",nextWeek:\"[W] dddd [o] LT\",lastDay:\"[Wczoraj o] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[W zeszłą niedzielę o] LT\";case 3:return\"[W zeszłą środę o] LT\";case 6:return\"[W zeszłą sobotę o] LT\";default:return\"[W zeszły] dddd [o] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"%s temu\",s:\"kilka sekund\",m:rd,mm:rd,h:rd,hh:rd,d:\"1 dzień\",dd:\"%d dni\",M:\"miesiąc\",MM:rd,y:\"rok\",yy:rd},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),nf.defineLocale(\"pt-br\",{months:\"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro\".split(\"_\"),monthsShort:\"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez\".split(\"_\"),weekdays:\"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado\".split(\"_\"),weekdaysShort:\"Dom_Seg_Ter_Qua_Qui_Sex_Sáb\".split(\"_\"),weekdaysMin:\"Dom_2ª_3ª_4ª_5ª_6ª_Sáb\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY [às] LT\",LLLL:\"dddd, D [de] MMMM [de] YYYY [às] LT\"},calendar:{sameDay:\"[Hoje às] LT\",nextDay:\"[Amanhã às] LT\",nextWeek:\"dddd [às] LT\",lastDay:\"[Ontem às] LT\",lastWeek:function(){return 0===this.day()||6===this.day()?\"[Último] dddd [às] LT\":\"[Última] dddd [às] LT\"},sameElse:\"L\"},relativeTime:{future:\"em %s\",past:\"%s atrás\",s:\"segundos\",m:\"um minuto\",mm:\"%d minutos\",h:\"uma hora\",hh:\"%d horas\",d:\"um dia\",dd:\"%d dias\",M:\"um mês\",MM:\"%d meses\",y:\"um ano\",yy:\"%d anos\"},ordinalParse:/\\d{1,2}º/,ordinal:\"%dº\"}),nf.defineLocale(\"pt\",{months:\"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro\".split(\"_\"),monthsShort:\"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez\".split(\"_\"),weekdays:\"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado\".split(\"_\"),weekdaysShort:\"Dom_Seg_Ter_Qua_Qui_Sex_Sáb\".split(\"_\"),weekdaysMin:\"Dom_2ª_3ª_4ª_5ª_6ª_Sáb\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY LT\",LLLL:\"dddd, D [de] MMMM [de] YYYY LT\"},calendar:{sameDay:\"[Hoje às] LT\",nextDay:\"[Amanhã às] LT\",nextWeek:\"dddd [às] LT\",lastDay:\"[Ontem às] LT\",lastWeek:function(){return 0===this.day()||6===this.day()?\"[Último] dddd [às] LT\":\"[Última] dddd [às] LT\"},sameElse:\"L\"},relativeTime:{future:\"em %s\",past:\"há %s\",s:\"segundos\",m:\"um minuto\",mm:\"%d minutos\",h:\"uma hora\",hh:\"%d horas\",d:\"um dia\",dd:\"%d dias\",M:\"um mês\",MM:\"%d meses\",y:\"um ano\",yy:\"%d anos\"},ordinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}}),nf.defineLocale(\"ro\",{months:\"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie\".split(\"_\"),monthsShort:\"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.\".split(\"_\"),weekdays:\"duminică_luni_marți_miercuri_joi_vineri_sâmbătă\".split(\"_\"),weekdaysShort:\"Dum_Lun_Mar_Mie_Joi_Vin_Sâm\".split(\"_\"),weekdaysMin:\"Du_Lu_Ma_Mi_Jo_Vi_Sâ\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY H:mm\",LLLL:\"dddd, D MMMM YYYY H:mm\"},calendar:{sameDay:\"[azi la] LT\",nextDay:\"[mâine la] LT\",nextWeek:\"dddd [la] LT\",lastDay:\"[ieri la] LT\",lastWeek:\"[fosta] dddd [la] LT\",sameElse:\"L\"},relativeTime:{future:\"peste %s\",past:\"%s în urmă\",s:\"câteva secunde\",m:\"un minut\",mm:sd,h:\"o oră\",hh:sd,d:\"o zi\",dd:sd,M:\"o lună\",MM:sd,y:\"un an\",yy:sd},week:{dow:1,doy:7}}),nf.defineLocale(\"ru\",{months:vd,monthsShort:wd,weekdays:xd,weekdaysShort:\"вс_пн_вт_ср_чт_пт_сб\".split(\"_\"),weekdaysMin:\"вс_пн_вт_ср_чт_пт_сб\".split(\"_\"),monthsParse:[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[й|я]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY г.\",LLL:\"D MMMM YYYY г., LT\",LLLL:\"dddd, D MMMM YYYY г., LT\"},calendar:{sameDay:\"[Сегодня в] LT\",nextDay:\"[Завтра в] LT\",lastDay:\"[Вчера в] LT\",nextWeek:function(){return 2===this.day()?\"[Во] dddd [в] LT\":\"[В] dddd [в] LT\"},lastWeek:function(a){if(a.week()===this.week())return 2===this.day()?\"[Во] dddd [в] LT\":\"[В] dddd [в] LT\";switch(this.day()){case 0:return\"[В прошлое] dddd [в] LT\";case 1:case 2:case 4:return\"[В прошлый] dddd [в] LT\";case 3:case 5:case 6:return\"[В прошлую] dddd [в] LT\"}},sameElse:\"L\"},relativeTime:{future:\"через %s\",past:\"%s назад\",s:\"несколько секунд\",m:ud,mm:ud,h:\"час\",hh:ud,d:\"день\",dd:ud,M:\"месяц\",MM:ud,y:\"год\",yy:ud},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(a){return/^(дня|вечера)$/.test(a)},meridiem:function(a,b,c){return 4>a?\"ночи\":12>a?\"утра\":17>a?\"дня\":\"вечера\"},ordinalParse:/\\d{1,2}-(й|го|я)/,ordinal:function(a,b){switch(b){case\"M\":case\"d\":case\"DDD\":return a+\"-й\";case\"D\":return a+\"-го\";case\"w\":case\"W\":return a+\"-я\";default:return a}},week:{dow:1,doy:7}}),nf.defineLocale(\"si\",{months:\"ජනවාරි_පෙබරවාරි_මාර්තු_අප්රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්\".split(\"_\"),monthsShort:\"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ\".split(\"_\"),weekdays:\"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා\".split(\"_\"),weekdaysShort:\"ඉරි_සඳු_අඟ_බදා_බ්රහ_සිකු_සෙන\".split(\"_\"),weekdaysMin:\"ඉ_ස_අ_බ_බ්ර_සි_සෙ\".split(\"_\"),longDateFormat:{LT:\"a h:mm\",LTS:\"a h:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY MMMM D\",LLL:\"YYYY MMMM D, LT\",LLLL:\"YYYY MMMM D [වැනි] dddd, LTS\"},calendar:{sameDay:\"[අද] LT[ට]\",nextDay:\"[හෙට] LT[ට]\",nextWeek:\"dddd LT[ට]\",lastDay:\"[ඊයේ] LT[ට]\",lastWeek:\"[පසුගිය] dddd LT[ට]\",sameElse:\"L\"},relativeTime:{future:\"%sකින්\",past:\"%sකට පෙර\",s:\"තත්පර කිහිපය\",m:\"මිනිත්තුව\",mm:\"මිනිත්තු %d\",h:\"පැය\",hh:\"පැය %d\",d:\"දිනය\",dd:\"දින %d\",M:\"මාසය\",MM:\"මාස %d\",y:\"වසර\",yy:\"වසර %d\"},ordinalParse:/\\d{1,2} වැනි/,ordinal:function(a){return a+\" වැනි\"},meridiem:function(a,b,c){return a>11?c?\"ප.ව.\":\"පස් වරු\":c?\"පෙ.ව.\":\"පෙර වරු\"}}),\"január_február_marec_apríl_máj_jún_júl_august_september_október_november_december\".split(\"_\")),bg=\"jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec\".split(\"_\"),cg=(nf.defineLocale(\"sk\",{months:ag,monthsShort:bg,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp(\"^\"+a[c]+\"$|^\"+b[c]+\"$\",\"i\");return d}(ag,bg),weekdays:\"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota\".split(\"_\"),weekdaysShort:\"ne_po_ut_st_št_pi_so\".split(\"_\"),weekdaysMin:\"ne_po_ut_st_št_pi_so\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY LT\",LLLL:\"dddd D. MMMM YYYY LT\"},calendar:{sameDay:\"[dnes o] LT\",nextDay:\"[zajtra o] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[v nedeľu o] LT\";case 1:case 2:return\"[v] dddd [o] LT\";case 3:return\"[v stredu o] LT\";case 4:return\"[vo štvrtok o] LT\";case 5:return\"[v piatok o] LT\";case 6:return\"[v sobotu o] LT\"}},lastDay:\"[včera o] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[minulú nedeľu o] LT\";case 1:case 2:return\"[minulý] dddd [o] LT\";case 3:return\"[minulú stredu o] LT\";case 4:case 5:return\"[minulý] dddd [o] LT\";case 6:return\"[minulú sobotu o] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"pred %s\",s:zd,m:zd,mm:zd,h:zd,hh:zd,d:zd,dd:zd,M:zd,MM:zd,y:zd,yy:zd},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),nf.defineLocale(\"sl\",{months:\"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december\".split(\"_\"),monthsShort:\"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.\".split(\"_\"),weekdays:\"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota\".split(\"_\"),weekdaysShort:\"ned._pon._tor._sre._čet._pet._sob.\".split(\"_\"),weekdaysMin:\"ne_po_to_sr_če_pe_so\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"DD. MM. YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY LT\",LLLL:\"dddd, D. MMMM YYYY LT\"},calendar:{sameDay:\"[danes ob] LT\",nextDay:\"[jutri ob] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[v] [nedeljo] [ob] LT\";case 3:return\"[v] [sredo] [ob] LT\";case 6:return\"[v] [soboto] [ob] LT\";case 1:case 2:case 4:case 5:return\"[v] dddd [ob] LT\"}},lastDay:\"[včeraj ob] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[prejšnjo] [nedeljo] [ob] LT\";case 3:return\"[prejšnjo] [sredo] [ob] LT\";case 6:return\"[prejšnjo] [soboto] [ob] LT\";case 1:case 2:case 4:case 5:return\"[prejšnji] dddd [ob] LT\"}},sameElse:\"L\"},relativeTime:{future:\"čez %s\",past:\"pred %s\",s:Ad,m:Ad,mm:Ad,h:Ad,hh:Ad,d:Ad,dd:Ad,M:Ad,MM:Ad,y:Ad,yy:Ad},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}}),nf.defineLocale(\"sq\",{months:\"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor\".split(\"_\"),monthsShort:\"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj\".split(\"_\"),weekdays:\"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë\".split(\"_\"),weekdaysShort:\"Die_Hën_Mar_Mër_Enj_Pre_Sht\".split(\"_\"),weekdaysMin:\"D_H_Ma_Më_E_P_Sh\".split(\"_\"),meridiemParse:/PD|MD/,isPM:function(a){return\"M\"===a.charAt(0)},meridiem:function(a,b,c){return 12>a?\"PD\":\"MD\"},longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd, D MMMM YYYY LT\"},calendar:{sameDay:\"[Sot në] LT\",nextDay:\"[Nesër në] LT\",nextWeek:\"dddd [në] LT\",lastDay:\"[Dje në] LT\",lastWeek:\"dddd [e kaluar në] LT\",sameElse:\"L\"},relativeTime:{future:\"në %s\",past:\"%s më parë\",s:\"disa sekonda\",m:\"një minutë\",mm:\"%d minuta\",h:\"një orë\",hh:\"%d orë\",d:\"një ditë\",dd:\"%d ditë\",M:\"një muaj\",MM:\"%d muaj\",y:\"një vit\",yy:\"%d vite\"},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}}),{words:{m:[\"један минут\",\"једне минуте\"],mm:[\"минут\",\"минуте\",\"минута\"],h:[\"један сат\",\"једног сата\"],hh:[\"сат\",\"сата\",\"сати\"],dd:[\"дан\",\"дана\",\"дана\"],MM:[\"месец\",\"месеца\",\"месеци\"],yy:[\"година\",\"године\",\"година\"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,b,c){var d=cg.words[c];return 1===c.length?b?d[0]:d[1]:a+\" \"+cg.correctGrammaticalCase(a,d)}}),dg=(nf.defineLocale(\"sr-cyrl\",{months:[\"јануар\",\"фебруар\",\"март\",\"април\",\"мај\",\"јун\",\"јул\",\"август\",\"септембар\",\"октобар\",\"новембар\",\"децембар\"],monthsShort:[\"јан.\",\"феб.\",\"мар.\",\"апр.\",\"мај\",\"јун\",\"јул\",\"авг.\",\"сеп.\",\"окт.\",\"нов.\",\"дец.\"],weekdays:[\"недеља\",\"понедељак\",\"уторак\",\"среда\",\"четвртак\",\"петак\",\"субота\"],weekdaysShort:[\"нед.\",\"пон.\",\"уто.\",\"сре.\",\"чет.\",\"пет.\",\"суб.\"],weekdaysMin:[\"не\",\"по\",\"ут\",\"ср\",\"че\",\"пе\",\"су\"],longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"DD. MM. YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY LT\",LLLL:\"dddd, D. MMMM YYYY LT\"},calendar:{sameDay:\"[данас у] LT\",nextDay:\"[сутра у] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[у] [недељу] [у] LT\";case 3:return\"[у] [среду] [у] LT\";case 6:return\"[у] [суботу] [у] LT\";case 1:case 2:case 4:case 5:return\"[у] dddd [у] LT\"}},lastDay:\"[јуче у] LT\",lastWeek:function(){var a=[\"[прошле] [недеље] [у] LT\",\"[прошлог] [понедељка] [у] LT\",\"[прошлог] [уторка] [у] LT\",\"[прошле] [среде] [у] LT\",\"[прошлог] [четвртка] [у] LT\",\"[прошлог] [петка] [у] LT\",\"[прошле] [суботе] [у] LT\"];return a[this.day()]},sameElse:\"L\"},relativeTime:{future:\"за %s\",past:\"пре %s\",s:\"неколико секунди\",m:cg.translate,mm:cg.translate,h:cg.translate,hh:cg.translate,d:\"дан\",dd:cg.translate,M:\"месец\",MM:cg.translate,y:\"годину\",yy:cg.translate},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}}),{words:{m:[\"jedan minut\",\"jedne minute\"],mm:[\"minut\",\"minute\",\"minuta\"],h:[\"jedan sat\",\"jednog sata\"],hh:[\"sat\",\"sata\",\"sati\"],dd:[\"dan\",\"dana\",\"dana\"],MM:[\"mesec\",\"meseca\",\"meseci\"],yy:[\"godina\",\"godine\",\"godina\"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,b,c){var d=dg.words[c];return 1===c.length?b?d[0]:d[1]:a+\" \"+dg.correctGrammaticalCase(a,d)}}),eg=(nf.defineLocale(\"sr\",{months:[\"januar\",\"februar\",\"mart\",\"april\",\"maj\",\"jun\",\"jul\",\"avgust\",\"septembar\",\"oktobar\",\"novembar\",\"decembar\"],monthsShort:[\"jan.\",\"feb.\",\"mar.\",\"apr.\",\"maj\",\"jun\",\"jul\",\"avg.\",\"sep.\",\"okt.\",\"nov.\",\"dec.\"],weekdays:[\"nedelja\",\"ponedeljak\",\"utorak\",\"sreda\",\"četvrtak\",\"petak\",\"subota\"],weekdaysShort:[\"ned.\",\"pon.\",\"uto.\",\"sre.\",\"čet.\",\"pet.\",\"sub.\"],weekdaysMin:[\"ne\",\"po\",\"ut\",\"sr\",\"če\",\"pe\",\"su\"],longDateFormat:{LT:\"H:mm\",LTS:\"LT:ss\",L:\"DD. MM. YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY LT\",LLLL:\"dddd, D. MMMM YYYY LT\"},calendar:{sameDay:\"[danas u] LT\",nextDay:\"[sutra u] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[u] [nedelju] [u] LT\";case 3:return\"[u] [sredu] [u] LT\";case 6:return\"[u] [subotu] [u] LT\";case 1:case 2:case 4:case 5:return\"[u] dddd [u] LT\"}},lastDay:\"[juče u] LT\",lastWeek:function(){var a=[\"[prošle] [nedelje] [u] LT\",\"[prošlog] [ponedeljka] [u] LT\",\"[prošlog] [utorka] [u] LT\",\"[prošle] [srede] [u] LT\",\"[prošlog] [četvrtka] [u] LT\",\"[prošlog] [petka] [u] LT\",\"[prošle] [subote] [u] LT\"];return a[this.day()]},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"pre %s\",s:\"nekoliko sekundi\",m:dg.translate,mm:dg.translate,h:dg.translate,hh:dg.translate,d:\"dan\",dd:dg.translate,M:\"mesec\",MM:dg.translate,y:\"godinu\",yy:dg.translate},ordinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}}),nf.defineLocale(\"sv\",{months:\"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),weekdays:\"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag\".split(\"_\"),weekdaysShort:\"sön_mån_tis_ons_tor_fre_lör\".split(\"_\"),weekdaysMin:\"sö_må_ti_on_to_fr_lö\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"YYYY-MM-DD\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd D MMMM YYYY LT\"},calendar:{sameDay:\"[Idag] LT\",nextDay:\"[Imorgon] LT\",lastDay:\"[Igår] LT\",nextWeek:\"[På] dddd LT\",lastWeek:\"[I] dddd[s] LT\",sameElse:\"L\"},relativeTime:{future:\"om %s\",past:\"för %s sedan\",s:\"några sekunder\",m:\"en minut\",mm:\"%d minuter\",h:\"en timme\",hh:\"%d timmar\",d:\"en dag\",dd:\"%d dagar\",M:\"en månad\",MM:\"%d månader\",y:\"ett år\",yy:\"%d år\"},ordinalParse:/\\d{1,2}(e|a)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?\"e\":1===b?\"a\":2===b?\"a\":\"e\";return a+c},week:{dow:1,doy:4}}),nf.defineLocale(\"ta\",{months:\"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்\".split(\"_\"),monthsShort:\"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்\".split(\"_\"),weekdays:\"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை\".split(\"_\"),weekdaysShort:\"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி\".split(\"_\"),weekdaysMin:\"ஞா_தி_செ_பு_வி_வெ_ச\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, LT\",LLLL:\"dddd, D MMMM YYYY, LT\"},calendar:{sameDay:\"[இன்று] LT\",nextDay:\"[நாளை] LT\",nextWeek:\"dddd, LT\",lastDay:\"[நேற்று] LT\",lastWeek:\"[கடந்த வாரம்] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s இல்\",past:\"%s முன்\",s:\"ஒரு சில விநாடிகள்\",m:\"ஒரு நிமிடம்\",mm:\"%d நிமிடங்கள்\",h:\"ஒரு மணி நேரம்\",hh:\"%d மணி நேரம்\",d:\"ஒரு நாள்\",dd:\"%d நாட்கள்\",M:\"ஒரு மாதம்\",MM:\"%d மாதங்கள்\",y:\"ஒரு வருடம்\",yy:\"%d ஆண்டுகள்\"},ordinalParse:/\\d{1,2}வது/,ordinal:function(a){return a+\"வது\"},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(a,b,c){return 2>a?\" யாமம்\":6>a?\" வைகறை\":10>a?\" காலை\":14>a?\" நண்பகல்\":18>a?\" எற்பாடு\":22>a?\" மாலை\":\" யாமம்\"},meridiemHour:function(a,b){return 12===a&&(a=0),\"யாமம்\"===b?2>a?a:a+12:\"வைகறை\"===b||\"காலை\"===b?a:\"நண்பகல்\"===b&&a>=10?a:a+12},week:{dow:0,doy:6}}),nf.defineLocale(\"th\",{months:\"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม\".split(\"_\"),monthsShort:\"มกรา_กุมภา_มีนา_เมษา_พฤษภา_มิถุนา_กรกฎา_สิงหา_กันยา_ตุลา_พฤศจิกา_ธันวา\".split(\"_\"),weekdays:\"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์\".split(\"_\"),weekdaysShort:\"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์\".split(\"_\"),weekdaysMin:\"อา._จ._อ._พ._พฤ._ศ._ส.\".split(\"_\"),longDateFormat:{LT:\"H นาฬิกา m นาที\",LTS:\"LT s วินาที\",L:\"YYYY/MM/DD\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY เวลา LT\",LLLL:\"วันddddที่ D MMMM YYYY เวลา LT\"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(a){return\"หลังเที่ยง\"===a},meridiem:function(a,b,c){return 12>a?\"ก่อนเที่ยง\":\"หลังเที่ยง\"},calendar:{sameDay:\"[วันนี้ เวลา] LT\",nextDay:\"[พรุ่งนี้ เวลา] LT\",nextWeek:\"dddd[หน้า เวลา] LT\",lastDay:\"[เมื่อวานนี้ เวลา] LT\",lastWeek:\"[วัน]dddd[ที่แล้ว เวลา] LT\",sameElse:\"L\"},relativeTime:{future:\"อีก %s\",past:\"%sที่แล้ว\",s:\"ไม่กี่วินาที\",m:\"1 นาที\",mm:\"%d นาที\",h:\"1 ชั่วโมง\",hh:\"%d ชั่วโมง\",d:\"1 วัน\",dd:\"%d วัน\",M:\"1 เดือน\",MM:\"%d เดือน\",y:\"1 ปี\",yy:\"%d ปี\"}}),nf.defineLocale(\"tl-ph\",{months:\"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre\".split(\"_\"),monthsShort:\"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis\".split(\"_\"),weekdays:\"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado\".split(\"_\"),weekdaysShort:\"Lin_Lun_Mar_Miy_Huw_Biy_Sab\".split(\"_\"),weekdaysMin:\"Li_Lu_Ma_Mi_Hu_Bi_Sab\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"MM/D/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY LT\",LLLL:\"dddd, MMMM DD, YYYY LT\"},calendar:{sameDay:\"[Ngayon sa] LT\",nextDay:\"[Bukas sa] LT\",nextWeek:\"dddd [sa] LT\",lastDay:\"[Kahapon sa] LT\",lastWeek:\"dddd [huling linggo] LT\",sameElse:\"L\"},relativeTime:{future:\"sa loob ng %s\",past:\"%s ang nakalipas\",s:\"ilang segundo\",m:\"isang minuto\",mm:\"%d minuto\",h:\"isang oras\",hh:\"%d oras\",d:\"isang araw\",dd:\"%d araw\",M:\"isang buwan\",MM:\"%d buwan\",y:\"isang taon\",yy:\"%d taon\"},ordinalParse:/\\d{1,2}/,ordinal:function(a){return a},week:{dow:1,doy:4}}),{1:\"'inci\",5:\"'inci\",8:\"'inci\",70:\"'inci\",80:\"'inci\",2:\"'nci\",7:\"'nci\",20:\"'nci\",50:\"'nci\",3:\"'üncü\",4:\"'üncü\",100:\"'üncü\",6:\"'ncı\",9:\"'uncu\",10:\"'uncu\",30:\"'uncu\",60:\"'ıncı\",90:\"'ıncı\"}),fg=(nf.defineLocale(\"tr\",{months:\"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık\".split(\"_\"),monthsShort:\"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara\".split(\"_\"),weekdays:\"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi\".split(\"_\"),weekdaysShort:\"Paz_Pts_Sal_Çar_Per_Cum_Cts\".split(\"_\"),weekdaysMin:\"Pz_Pt_Sa_Ça_Pe_Cu_Ct\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd, D MMMM YYYY LT\"},calendar:{sameDay:\"[bugün saat] LT\",nextDay:\"[yarın saat] LT\",nextWeek:\"[haftaya] dddd [saat] LT\",lastDay:\"[dün] LT\",lastWeek:\"[geçen hafta] dddd [saat] LT\",sameElse:\"L\"},relativeTime:{future:\"%s sonra\",past:\"%s önce\",s:\"birkaç saniye\",m:\"bir dakika\",mm:\"%d dakika\",h:\"bir saat\",hh:\"%d saat\",d:\"bir gün\",dd:\"%d gün\",M:\"bir ay\",MM:\"%d ay\",y:\"bir yıl\",yy:\"%d yıl\"},ordinalParse:/\\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal:function(a){if(0===a)return a+\"'ıncı\";var b=a%10,c=a%100-b,d=a>=100?100:null;return a+(eg[b]||eg[c]||eg[d])},week:{dow:1,doy:7}}),nf.defineLocale(\"tzm-latn\",{months:\"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir\".split(\"_\"),monthsShort:\"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir\".split(\"_\"),weekdays:\"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas\".split(\"_\"),weekdaysShort:\"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas\".split(\"_\"),weekdaysMin:\"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd D MMMM YYYY LT\"},calendar:{sameDay:\"[asdkh g] LT\",nextDay:\"[aska g] LT\",nextWeek:\"dddd [g] LT\",lastDay:\"[assant g] LT\",lastWeek:\"dddd [g] LT\",sameElse:\"L\"},relativeTime:{future:\"dadkh s yan %s\",past:\"yan %s\",s:\"imik\",m:\"minuḍ\",mm:\"%d minuḍ\",h:\"saɛa\",hh:\"%d tassaɛin\",d:\"ass\",dd:\"%d ossan\",M:\"ayowr\",MM:\"%d iyyirn\",y:\"asgas\",yy:\"%d isgasn\"},week:{dow:6,doy:12}}),nf.defineLocale(\"tzm\",{months:\"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ\".split(\"_\"),monthsShort:\"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ\".split(\"_\"),weekdays:\"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ\".split(\"_\"),weekdaysShort:\"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ\".split(\"_\"),weekdaysMin:\"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"dddd D MMMM YYYY LT\"},calendar:{sameDay:\"[ⴰⵙⴷⵅ ⴴ] LT\",nextDay:\"[ⴰⵙⴽⴰ ⴴ] LT\",nextWeek:\"dddd [ⴴ] LT\",lastDay:\"[ⴰⵚⴰⵏⵜ ⴴ] LT\",lastWeek:\"dddd [ⴴ] LT\",sameElse:\"L\"},relativeTime:{future:\"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s\",past:\"ⵢⴰⵏ %s\",s:\"ⵉⵎⵉⴽ\",m:\"ⵎⵉⵏⵓⴺ\",mm:\"%d ⵎⵉⵏⵓⴺ\",h:\"ⵙⴰⵄⴰ\",hh:\"%d ⵜⴰⵙⵙⴰⵄⵉⵏ\",d:\"ⴰⵙⵙ\",dd:\"%d oⵙⵙⴰⵏ\",M:\"ⴰⵢoⵓⵔ\",MM:\"%d ⵉⵢⵢⵉⵔⵏ\",y:\"ⴰⵙⴳⴰⵙ\",yy:\"%d ⵉⵙⴳⴰⵙⵏ\"},week:{dow:6,doy:12}}),nf.defineLocale(\"uk\",{months:Dd,monthsShort:\"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд\".split(\"_\"),weekdays:Ed,weekdaysShort:\"нд_пн_вт_ср_чт_пт_сб\".split(\"_\"),weekdaysMin:\"нд_пн_вт_ср_чт_пт_сб\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY р.\",LLL:\"D MMMM YYYY р., LT\",LLLL:\"dddd, D MMMM YYYY р., LT\"},calendar:{sameDay:Fd(\"[Сьогодні \"),nextDay:Fd(\"[Завтра \"),lastDay:Fd(\"[Вчора \"),nextWeek:Fd(\"[У] dddd [\"),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return Fd(\"[Минулої] dddd [\").call(this);case 1:case 2:case 4:return Fd(\"[Минулого] dddd [\").call(this)}},sameElse:\"L\"},relativeTime:{future:\"за %s\",past:\"%s тому\",s:\"декілька секунд\",m:Cd,mm:Cd,h:\"годину\",hh:Cd,d:\"день\",dd:Cd,M:\"місяць\",MM:Cd,y:\"рік\",yy:Cd},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(a){return/^(дня|вечора)$/.test(a)},meridiem:function(a,b,c){return 4>a?\"ночі\":12>a?\"ранку\":17>a?\"дня\":\"вечора\"},ordinalParse:/\\d{1,2}-(й|го)/,ordinal:function(a,b){switch(b){case\"M\":case\"d\":case\"DDD\":case\"w\":case\"W\":return a+\"-й\";case\"D\":return a+\"-го\";default:return a}},week:{dow:1,doy:7}}),nf.defineLocale(\"uz\",{months:\"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь\".split(\"_\"),monthsShort:\"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек\".split(\"_\"),weekdays:\"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба\".split(\"_\"),weekdaysShort:\"Якш_Душ_Сеш_Чор_Пай_Жум_Шан\".split(\"_\"),weekdaysMin:\"Як_Ду_Се_Чо_Па_Жу_Ша\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY LT\",LLLL:\"D MMMM YYYY, dddd LT\"},calendar:{sameDay:\"[Бугун соат] LT [да]\",nextDay:\"[Эртага] LT [да]\",nextWeek:\"dddd [куни соат] LT [да]\",lastDay:\"[Кеча соат] LT [да]\",lastWeek:\"[Утган] dddd [куни соат] LT [да]\",sameElse:\"L\"},relativeTime:{future:\"Якин %s ичида\",past:\"Бир неча %s олдин\",s:\"фурсат\",m:\"бир дакика\",mm:\"%d дакика\",h:\"бир соат\",hh:\"%d соат\",d:\"бир кун\",dd:\"%d кун\",M:\"бир ой\",MM:\"%d ой\",y:\"бир йил\",yy:\"%d йил\"},week:{dow:1,doy:7}}),nf.defineLocale(\"vi\",{months:\"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12\".split(\"_\"),monthsShort:\"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12\".split(\"_\"),weekdays:\"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy\".split(\"_\"),weekdaysShort:\"CN_T2_T3_T4_T5_T6_T7\".split(\"_\"),weekdaysMin:\"CN_T2_T3_T4_T5_T6_T7\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"LT:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM [năm] YYYY\",LLL:\"D MMMM [năm] YYYY LT\",LLLL:\"dddd, D MMMM [năm] YYYY LT\",l:\"DD/M/YYYY\",ll:\"D MMM YYYY\",lll:\"D MMM YYYY LT\",llll:\"ddd, D MMM YYYY LT\"},calendar:{sameDay:\"[Hôm nay lúc] LT\",nextDay:\"[Ngày mai lúc] LT\",nextWeek:\"dddd [tuần tới lúc] LT\",lastDay:\"[Hôm qua lúc] LT\",lastWeek:\"dddd [tuần rồi lúc] LT\",sameElse:\"L\"},relativeTime:{future:\"%s tới\",past:\"%s trước\",s:\"vài giây\",m:\"một phút\",mm:\"%d phút\",h:\"một giờ\",hh:\"%d giờ\",d:\"một ngày\",dd:\"%d ngày\",M:\"một tháng\",MM:\"%d tháng\",y:\"một năm\",yy:\"%d năm\"},ordinalParse:/\\d{1,2}/,ordinal:function(a){return a},week:{dow:1,doy:4}}),nf.defineLocale(\"zh-cn\",{months:\"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),weekdays:\"星期日_星期一_星期二_星期三_星期四_星期五_星期六\".split(\"_\"),weekdaysShort:\"周日_周一_周二_周三_周四_周五_周六\".split(\"_\"),weekdaysMin:\"日_一_二_三_四_五_六\".split(\"_\"),longDateFormat:{LT:\"Ah点mm分\",LTS:\"Ah点m分s秒\",L:\"YYYY-MM-DD\",LL:\"YYYY年MMMD日\",LLL:\"YYYY年MMMD日LT\",LLLL:\"YYYY年MMMD日ddddLT\",l:\"YYYY-MM-DD\",ll:\"YYYY年MMMD日\",lll:\"YYYY年MMMD日LT\",llll:\"YYYY年MMMD日ddddLT\"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),\"凌晨\"===b||\"早上\"===b||\"上午\"===b?a:\"下午\"===b||\"晚上\"===b?a+12:a>=11?a:a+12},meridiem:function(a,b,c){var d=100*a+b;return 600>d?\"凌晨\":900>d?\"早上\":1130>d?\"上午\":1230>d?\"中午\":1800>d?\"下午\":\"晚上\"},calendar:{sameDay:function(){return 0===this.minutes()?\"[今天]Ah[点整]\":\"[今天]LT\"},nextDay:function(){return 0===this.minutes()?\"[明天]Ah[点整]\":\"[明天]LT\"},lastDay:function(){return 0===this.minutes()?\"[昨天]Ah[点整]\":\"[昨天]LT\"},nextWeek:function(){var a,b;return a=nf().startOf(\"week\"),b=this.unix()-a.unix()>=604800?\"[下]\":\"[本]\",0===this.minutes()?b+\"dddAh点整\":b+\"dddAh点mm\"},lastWeek:function(){var a,b;return a=nf().startOf(\"week\"),b=this.unix()<a.unix()?\"[上]\":\"[本]\",0===this.minutes()?b+\"dddAh点整\":b+\"dddAh点mm\"},sameElse:\"LL\"},ordinalParse:/\\d{1,2}(日|月|周)/,ordinal:function(a,b){switch(b){case\"d\":case\"D\":case\"DDD\":return a+\"日\";case\"M\":return a+\"月\";case\"w\":case\"W\":return a+\"周\";default:return a}},relativeTime:{future:\"%s内\",past:\"%s前\",s:\"几秒\",m:\"1 分钟\",mm:\"%d 分钟\",h:\"1 小时\",hh:\"%d 小时\",d:\"1 天\",dd:\"%d 天\",M:\"1 个月\",MM:\"%d 个月\",y:\"1 年\",yy:\"%d 年\"},week:{dow:1,doy:4}}),nf.defineLocale(\"zh-tw\",{months:\"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),weekdays:\"星期日_星期一_星期二_星期三_星期四_星期五_星期六\".split(\"_\"),weekdaysShort:\"週日_週一_週二_週三_週四_週五_週六\".split(\"_\"),weekdaysMin:\"日_一_二_三_四_五_六\".split(\"_\"),longDateFormat:{LT:\"Ah點mm分\",LTS:\"Ah點m分s秒\",L:\"YYYY年MMMD日\",LL:\"YYYY年MMMD日\",LLL:\"YYYY年MMMD日LT\",LLLL:\"YYYY年MMMD日ddddLT\",l:\"YYYY年MMMD日\",ll:\"YYYY年MMMD日\",lll:\"YYYY年MMMD日LT\",llll:\"YYYY年MMMD日ddddLT\"},meridiemParse:/早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),\"早上\"===b||\"上午\"===b?a:\"中午\"===b?a>=11?a:a+12:\"下午\"===b||\"晚上\"===b?a+12:void 0},meridiem:function(a,b,c){var d=100*a+b;\n\nreturn 900>d?\"早上\":1130>d?\"上午\":1230>d?\"中午\":1800>d?\"下午\":\"晚上\"},calendar:{sameDay:\"[今天]LT\",nextDay:\"[明天]LT\",nextWeek:\"[下]ddddLT\",lastDay:\"[昨天]LT\",lastWeek:\"[上]ddddLT\",sameElse:\"L\"},ordinalParse:/\\d{1,2}(日|月|週)/,ordinal:function(a,b){switch(b){case\"d\":case\"D\":case\"DDD\":return a+\"日\";case\"M\":return a+\"月\";case\"w\":case\"W\":return a+\"週\";default:return a}},relativeTime:{future:\"%s內\",past:\"%s前\",s:\"幾秒\",m:\"一分鐘\",mm:\"%d分鐘\",h:\"一小時\",hh:\"%d小時\",d:\"一天\",dd:\"%d天\",M:\"一個月\",MM:\"%d個月\",y:\"一年\",yy:\"%d年\"}}),nf);return fg});",
"type": "application/javascript",
"title": "$:/plugins/kixam/moment/moment.js",
"module-type": "library"
},
"$:/plugins/kixam/moment/icon": {
"text": "<svg height=\"22pt\" width=\"22pt\" viewBox=\"0 0 128 128\">\n<path d=\"m 64.116816,0 -54.4965957,31.959746 0.00139,63.919491 54.4965967,31.959743 54.496603,-31.959743 0,-63.919491 L 64.118211,0 Z M 63.842544,28.318892 A 35.326327,35.326327 0 0 1 99.17259,63.645219 35.326327,35.326327 0 0 1 63.842544,98.975265 35.326327,35.326327 0 0 1 28.516216,63.645219 35.326327,35.326327 0 0 1 63.842544,28.318892 Z m 0,4.775599 c -16.870097,0 -30.550728,13.680631 -30.550728,30.550728 0,16.874746 13.680631,30.555841 30.550728,30.555841 16.874745,0 30.555841,-13.681095 30.555841,-30.555841 0,-16.870097 -13.681096,-30.550728 -30.555841,-30.550728 z m 0,1.906893 c 1.06455,0 1.910611,0.860008 1.910611,1.915725 l 0,28.638722 -17.190856,0 c -1.027361,0 -1.905499,-0.85536 -1.905499,-1.910612 0,-1.059902 0.854895,-1.905963 1.905499,-1.905963 l 13.374282,0 0,-24.81285 c 0,-1.06362 0.855359,-1.925022 1.905963,-1.925022 z\"/>\n</svg>\n",
"type": "text/vnd.tiddlywiki",
"title": "$:/plugins/kixam/moment/icon",
"tags": "$:/tags/Image"
},
"$:/plugins/kixam/moment/readme": {
"text": "A plugin for [[TiddlyWiki|http://tiddlywiki.com]] 5, that provides the [[moment.js library|http://momentjs.com]].\n",
"title": "$:/plugins/kixam/moment/readme"
},
"$:/plugins/kixam/moment/license": {
"!! moment.js licence": "[[MIT|http://mit-license.org/]]",
"text": "Permission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n```\n\n!! Plugin license: [[BSD 2-clause simplified license|http://www.freebsd.org/copyright/freebsd-license.html]]\n```\nCopyright (c) 2015, kixam\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n```\n",
"title": "$:/plugins/kixam/moment/license"
}
}
}
{
"tiddlers": {
"$:/plugins/kixam/timeline/widget.utils.js": {
"text": "/*\\\ntitle: $:/plugins/kixam/timeline/widget.utils.js\ntype: application/javascript\nmodule-type: library\n\n A library of reusable functions, used in the TW5-visjsTimeline plugin\n\n\\*/\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\n\n(function() {\n 'use strict';\n\n // parseWidgetAttributes\n //\n // Utility to handle configuration attributes for a widget.\n // It handles validation, coercion and assignment of attribute values to the current widgets fields.\n // Parent and nextSibling are required so that any errors can be reported\n //\n // The attributeDefns are a object representing with a field for each attribute expected by the widget\n //\n // Each definition field is an object with two fields\n // type - This is used to coerce values before assignment (only string and integer are currently supported)\n // defaultValue - When an attribute is not provided in the plugin call, then this value should be used instead\n //\n // If an attribute is passed to the plugin that is not expected (i.e. in the attributeDefns object), then this function returns false\n // and an error message is output on the parent. This should be shown instead of the widget's usual view.\n //\n function parseWidgetAttributes(self, attributeDefns) {\n var errors = [];\n for (var attr in self.attributes) {\n if (attributeDefns[attr] === undefined) {\n errors.push(attr);\n } else {\n if (attributeDefns[attr].type == \"string\") {\n self[attr] = self.attributes[attr];\n } else if (attributeDefns[attr].type == \"integer\") {\n self[attr] = parseInt(self.attributes[attr] );\n if (isNaN(self[attr])) {\n delete self[attr];\n }\n }\n }\n }\n if (errors.length !== 0) {\n return errors;\n }\n for (var attrDefn in attributeDefns) {\n if (self[attrDefn] === undefined) {\n self[attrDefn] = attributeDefns[attrDefn].defaultValue;\n }\n }\n return undefined;\n }\n\n function displayTiddler(self,toTiddlerTitle){\n var domTiddler = self.parentDomNode.parentNode;\n var bounds = domTiddler.getBoundingClientRect();\n var e = {\n type: \"tm-navigate\",\n navigateTo: toTiddlerTitle,\n navigateFromTitle: self.getVariable(\"currentTiddler\"),\n navigateFromNode: domTiddler,\n navigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n }\n };\n self.dispatchEvent(e);\n }\n\n function enhancedColorStyle(csscolor) {\n var color = $tw.utils.parseCSSColor(csscolor);\n var style = null;\n if(color !== null) {\n for(var i=0;i<3;i++) color[i] = Math.floor(240 + color[i] / 17);\n\n style = \"border-color: \" + csscolor + \";\"\n + \"background-color: rgb(\" + (color[0]).toString()+\",\"\n + (color[1]).toString()+\",\"\n + (color[2]).toString()+\");\";\n }\n return style;\n }\n\n // adapted from $tw.utils.error of $:/boot/boot.js\n function dispError(message, title, subtitle) {\n console.error($tw.node ? \"\\x1b[1;31m\" + message + \"\\x1b[0m\" : message);\n if($tw.browser && !$tw.node) {\n // Display an error message to the user\n var dm = $tw.utils.domMaker,\n heading = dm(\"h1\",{text: (title || \"Error with vis.js Timeline\")}),\n prompt = dm(\"div\",{text: (subtitle || \"Please check the following:\"), \"class\": \"tc-error-prompt\"}),\n message = dm(\"div\",{innerHTML: message, attributes: {style: \"text-align: left;\"}}),\n button = dm(\"button\",{text: \"close\"}),\n form = dm(\"form\",{children: [heading,prompt,message,button], \"class\": \"tc-error-form\", attributes: {style: \"background-color: rgb(75, 75, 255); border: 8px solid rgb(0, 0, 255);\"}});\n document.body.insertBefore(form,document.body.firstChild);\n form.addEventListener(\"submit\",function(event) {\n document.body.removeChild(form);\n event.preventDefault();\n return false;\n },true);\n return null;\n } else if(!$tw.browser) {\n // Exit if we're under node.js\n process.exit(1);\n }\n }\n\n function setTiddlerField(tiddlerTitle, field, value) {\n if(tiddlerTitle && field) {\n var fields = {\n title: tiddlerTitle\n };\n fields[field] = value;\n var tiddler = $tw.wiki.getTiddler(tiddlerTitle, true);\n $tw.wiki.addTiddler(new $tw.Tiddler(tiddler, fields));\n }\n }\n\n exports.parseWidgetAttributes = parseWidgetAttributes;\n exports.displayTiddler = displayTiddler;\n exports.enhancedColorStyle = enhancedColorStyle;\n exports.dispError = dispError;\n exports.setTiddlerField = setTiddlerField;\n}\n());\n",
"title": "$:/plugins/kixam/timeline/widget.utils.js",
"type": "application/javascript",
"module-type": "library"
},
"$:/plugins/kixam/timeline/icon": {
"title": "$:/plugins/kixam/timeline/icon",
"tags": "$:/tags/Image",
"text": "<svg height=\"22pt\" width=\"22pt\" viewBox=\"0 0 128 128\">\n<path fill-rule=\"evenodd\" d=\"m64 0 54.56 32v64l-54.56 32-54.56-32v-64zm-48.429 75.635c8.5524 1.5516 29.568 7.708 27.545 6.755-10.977-5.172-27.059-20.046-27.059-20.046l26.814-23.294s12.652-15.314 29.23-16.023c3.6806-.15747 13.92-7.5832 19.605-5.2303 4.0461 1.6746 7.6113 13.276 9.3244 19.035 4.6497 15.63 3.1019 46.52 3.1019 46.52s6.4391-.30692 7.0193 6.8629c.18694 2.3102-.0602 10.297-9.1531 10.615-28.973 1.01-61.939-6.115-86.429-25.195zm57.684-31.244a17.066 17.066 0 0 0 -17.073 17.073 17.066 17.066 0 0 0 17.073 17.063 17.066 17.066 0 0 0 17.063 -17.063 17.066 17.066 0 0 0 -17.063 -17.073zm4.6 17.455a5.3692 5.3692 0 0 1 5.3727 5.3636 5.3692 5.3692 0 0 1 -5.3727 5.3727 5.3692 5.3692 0 0 1 -5.3727 -5.3727 5.3692 5.3692 0 0 1 5.3727 -5.3636z\"/>\n</svg>\n"
},
"$:/plugins/kixam/timeline/styles.css": {
"title": "$:/plugins/kixam/timeline/styles.css",
"tags": "[[$:/tags/Stylesheet]]",
"type": "text/css",
"text": ".vis-item .vis-dot {\n border-color: inherit;\n}\n\n.vis-item .vis-range {\n background-color: #f0f0ff;\n}\n\n.vis-labelset .vis-label {\n background-color: #fffff0;\n}\n\n.vis-labelset .vis-label .vis-inner {\n font-weight: bold;\n width: 100%;\n text-align: center;\n}\n\n.visjstimeline-navpad {\n position: relative;\n}\n\n.visjstimeline-navpad div, .visjstimeline-warning {\n z-index: 9999;\n -moz-user-select: none;\n}\n\n.visjstimeline-warning {\n fill: #FFFFFF;\n background-color: #EE0000;\n box-shadow: 0 0 5px rgba(0, 0, 0, 0.75);\n top: 15px;\n right: 15px;\n width: 34px;\n height: 34px;\n position: absolute;\n display: inline-block;\n cursor: pointer;\n}\n\n.visjstimeline-warning:hover {\n background-color: #FF0000;\n}\n\n.visjstimeline-warning svg {\n width: 32px;\n height: 32px;\n margin: 1px;\n}\n\n.item-icon svg {\n height: 14px;\n width: 14px;\n}\n\n.group-icon svg {\n height: 16px;\n width: 16px;\n}\n"
},
"$:/plugins/kixam/timeline/license": {
"title": "$:/plugins/kixam/timeline/license",
"text": "! [[BSD 2-clause simplified license|http://www.freebsd.org/copyright/freebsd-license.html]]\n```\nCopyright (c) 2015, kixam\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n# Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n# Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n```\n"
},
"$:/plugins/kixam/timeline/readme": {
"title": "$:/plugins/kixam/timeline/readme",
"text": "! vis.js Timeline\n\nA timeline plugin for [[TiddlyWiki|http://tiddlywiki.com]] 5, using [[vis.js|http://visjs.org]].\n\n---\n\nContinued from [[emkay's plugin|https://github.com/emkayonline/tw5visjs]].\n\nDepends on [[felixhayashi's vis.js plugin|https://github.com/felixhayashi/TW5-Vis.js]] and [[moment.js plugin|https://github.com/kixam/TW5-moment.js]], which are available, along with installation instructions, on the [[demo site|http://kixam.github.io/TW5-visjsTimeline]].\n"
},
"$:/plugins/kixam/timeline/usage": {
"title": "$:/plugins/kixam/timeline/usage",
"text": "\\define createSaveCloseTiddler(title,text)\n<$action-sendmessage $message=\"tm-new-tiddler\" title=\"$title$\" text=\"$text$\" />\n<$action-sendmessage $message=\"tm-save-tiddler\" $param=\"Draft of '$title$'\" />\n<$action-sendmessage $message=\"tm-close-tiddler\" $param=\"$title$\" />\n\\end\n\n\\define demoTiddlerContents(option)\nValue for option ''$option$'' : <$edit-text tag=input tiddler='$(optionValueTiddler)$'/>\n\n!!Result\n<$visjstimeline $option$={{$(optionValueTiddler)$}} />\n\\end\n\n\\define tryit(option,value:\"\")\n<$set name=optionValueTiddler value=\"$:/temp/visjstimeline-demo-option-$option$\">\n<$set name=optionDemoTiddler value=\"Testing option '$option$'\">\n<$button>\n<$macrocall $name=createSaveCloseTiddler title=<<optionValueTiddler>> text=\"$value$\" />\n<$macrocall $name=createSaveCloseTiddler title=<<optionDemoTiddler>> text=<<demoTiddlerContents \"$option$\">> />\n<$action-navigate $to=<<optionDemoTiddler>> />\nTry it!\n</$button>\n</$set>\n</$set>\n\\end\n\n!Introduction\n\nThis project is a direct continuation of [[emkay's plugin|https://github.com/emkayonline/tw5visjs]].\n\nThe `<$visjstimeline>` widget shows a set of tiddlers on a graphical timeline. The timeline is interactive and dynamic, and can be zoomed and moved around by dragging.\n\n!Content and Attributes\n\nA list of tiddlers is specified using a filter.\n\nEach matching tiddler is shown on the timeline using its specified start date and, if provided, end date fields. The start date defaults to the 'created' field.\n\n!! Valid date format on tiddlers\n* By default dates are parsed using the [[TiddlyWiki|http://tiddlywiki.com/#TiddlyWiki]] date parser (which will handle the `created` and `modified` fields)\n* An override date format can be specified.\n* This format will apply to both the start and end dates, and `customTime`.\n* Additionally the start date or end date field on a tiddler, or the `customTime` attribute, can be set to the word `now`: this will set the date in the timeline to the date at the time the timeline is displayed.\n\n!! Relevant tiddler fields\n|!Field|!Interpretation|\n| `caption` |Used to represent the tiddler instead of the `title`.|\n| `description` |Used instead of `caption` or `title` to render description text when mouse hovers over the item.|\n| `icon` |Link to a image tiddler that will be used as the item's icon.|\n| `color` |Used to render the corresponding item or group on the timeline.|\n| `timeline:start` and `timeline:end` |If the `persistent` attribute is present, used to load/save the start and end of the contained timeline x-axis, respectively.|\n\n!! Attributes\n\nAll attributes are optional.\n\n|!Attribute|!Description|!Default value|! |\n| `filter` |The [[TiddlerFilter|http://tiddlywiki.com/#Filters]] used to generate the list of tiddlers to display.|`!is[system]`|<<tryit filter \"[all[tiddlers]tag[Group A]]\">>|\n| `startDateField` |A field on each tiddler that defines the start date of a tiddler in the timeline.|`created`|<<tryit startDateField modified>>|\n| `endDateField` |A field on each tiddler that defines the end date of a tiddler in the timeline.|//undefined//|<<tryit endDateField created>>|\n| `format` |The format for parsing the dates, using the moment.js [[Parse string+format|http://momentjs.com/docs/#/parsing/string-format/]]. If unset, uses [[TW5 date format|http://tiddlywiki.com/#DateFormat]].|//undefined//||\n| `groupField` |A field whose value will be used to group tiddlers on the timeline.|//undefined//|<<tryit groupField color>>|\n| `customTime` |A date at which a vertical bar will be shown on the timeline. Affected by `format`. It can be moved by the user, but the new position will not be saved.|//undefined//|<<tryit customTime \"20150619\">>|\n| `groupTags` |If `groupField` field is not used and if a filtered tiddler has a tag among the given [[Title List|http://tiddlywiki.com/#Title%20List]], this tag will be used as the item's group.|//undefined//|<<tryit groupTags \"[[Group A]]\">>|\n| `boxing` |If set to `static`, the containing box will be static. If set to `auto`, the timeline will dynamically adjust its height to the items to show.|`static`|<<tryit boxing auto>>|\n| `navpad` |If set, a navpad will be shown.|//undefined//|<<tryit navpad>>|\n| `config` |Title of a tiddler which contains configuration options for the timeline in [[JSON format|http://tiddlywiki.com/#JSONTiddlers]], as per [[vis.js documentation|http://visjs.org/docs/timeline/#Configuration_Options]].|//undefined//||\n| `persistent` |If set, the x-axis range will become persistent. Uses (creates, if needed) 2 fields of the tiddler containing the timeline, namely `timeline:start` and `timeline:end`.|//undefined//|<<tryit persistent>>|\n\n!!!Notes about the `config` attribute\n* for the sake of integration, not all the options are available, please see [[the whitelist|$:/plugins/kixam/timeline/validOptions]];\n* the `navpad` is not affected by options passed through this mechanism, except for these listed below the `whitelist` under the name `navbarReactOptions`;\n* if you create or change options in your config tiddler after the timeline was drawn, you may need to have it redrawn, e.g. by editing/canceling the tiddler containing the timeline, or by changing sidebar panel back and forth.\n\n!!!Notes about the `groupField` and `groupTags` attributes\n* if the `filter` finds tiddlers that cannot be grouped according to the criteria given by either of these attributes, these tiddlers will be shown in a dedicated generic group called `Global`\n* if a tiddler representing a tag is listed by the `groupTags` attribute and has any of the relevant tiddler fields listed in the previous section, they will be used to render the group in the group margin\n\nThe content of the `<$visjstimeline>` widget is ignored.\n\n! Example Usage\n\nShow all non-system tiddlers, using their created date as the start date:\n\n`<$visjstimeline/>`\n\nShow all Tiddlers with a name starting 'Tiddler', using the born and died fields with a custom format:\n\n`<$visjstimeline filter=\"[prefix[Tiddler]]\" startDateField=\"born\" endDateField=\"died\" format=\"YYYY MMM\"/>`\n"
},
"$:/plugins/kixam/timeline/validOptions": {
"title": "$:/plugins/kixam/timeline/validOptions",
"type": "application/json",
"text": "{\n\t\"whitelist\": [\"align\",\"clickToUse\",\"end\",\"format\",\"hiddenDates\",\"margin\",\"max\",\"min\",\"moveable\",\"orientation\",\"showCurrentTime\",\"showMajorLabels\",\"showMinorLabels\",\"stack\",\"start\",\"timeAxis\",\"zoomable\",\"zoomMin\",\"zoomMax\"],\n\t\"navbarReactOptions\": [\"clickToUse\",\"max\",\"min\",\"zoomMin\",\"zoomMax\"]\n}\n"
},
"$:/plugins/kixam/timeline/widget.timeline.js": {
"text": "/*\\\ntitle: $:/plugins/kixam/timeline/widget.timeline.js\ntype: application/javascript\nmodule-type: widget\n\n A widget for displaying timelines using Vis.js. http://visjs.org\n Continued from emkay's plugin at https://github.com/emkayonline/tw5visjs\n\n For full help see $:/plugins/kixam/timeline/help\n\n\\*/\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\n(function() {\n 'use strict';\n\n var Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n var moment = require(\"$:/plugins/kixam/moment/moment.js\");\n if(typeof window !== 'undefined' && typeof window.moment !== 'function') {\n window.moment = moment;\n }\n var utils = require(\"$:/plugins/kixam/timeline/widget.utils.js\");\n var vis = require(\"$:/plugins/felixhayashi/vis/vis.js\");\n\n var TimelineWidget = function(parseTreeNode,options) {\n Widget.call(this);\n this.initialise(parseTreeNode,options);\n };\n\n TimelineWidget.prototype = new Widget();\n\n TimelineWidget.prototype.render = function(parent,nextSibling) {\n this.parentDomNode = parent;\n this.computeAttributes();\n this.options = {};\n this.tiddler = this.parentWidget;\n while(this.tiddler.parentWidget !== undefined && this.tiddler.tiddlerTitle === undefined && this.tiddler.transcludeTitle === undefined) {\n this.tiddler = this.tiddler.parentWidget;\n }\n this.tiddler = $tw.wiki.getTiddler(this.tiddler.tiddlerTitle || this.tiddler.transcludeTitle);\n this.warningTiddlerTitle = \"$:/temp/visjstimeline-warning/\" + this.tiddler.fields.title;\n this.hasCustomTime = false;\n\n var attrParseWorked = this.execute();\n if (attrParseWorked === undefined) {\n this.timelineHolder = $tw.utils.domMaker(\"div\",{attributes:{style: \"position: relative;\"}});\n parent.insertBefore(this.timelineHolder,nextSibling);\n this.domNodes.push(this.timelineHolder);\n\n if(this.attributes[\"boxing\"] !== \"auto\") {\n this.timelineHolder.style[\"height\"]=\"100%\";\n // -- adapted from felixhayashi's tiddlymap in widget.map.js\n this.sidebar = document.getElementsByClassName(\"tc-sidebar-scrollable\")[0];\n this.isContainedInSidebar = (this.sidebar && this.sidebar.contains(this.parentDomNode));\n if(this.isContainedInSidebar) {\n this.parentDomNode.style[\"margin-top\"]=\"-14px\";\n this.parentDomNode.style[\"padding-right\"]=\"2px\";\n }\n parent.style[\"width\"] = this.getAttribute(\"width\", \"100%\");\n this.handleResizeEvent = this.handleResizeEvent.bind(this);\n window.addEventListener(\"resize\", this.handleResizeEvent, false);\n this.handleResizeEvent();\n // --\n this.options[\"height\"] = \"100%\";\n }\n\n this.createWarningButton();\n\n this.createTimeline();\n\n if(this.attributes[\"navpad\"] !== undefined) {\n this.options[\"orientation\"] = \"top\";\n }\n // default options must be set at this point, as we might add/change options from user through 'config'\n this.updateTimeline();\n\n if(this.attributes[\"navpad\"] !== undefined) {\n this.createNavpad(); // must be created only after all options were processed\n // e.g. for clickToUse, we observe vis-overlay, which will not exist if option is not processed\n }\n\n\n } else {\n utils.dispError(this.parseTreeNode.type+\": Unexpected attribute(s) \"+attrParseWorked.join(\", \"));\n this.refresh = function() {}; // disable refresh of this as it won't work with incorrrect attributes\n }\n };\n\n\n TimelineWidget.prototype.execute = function() {\n var attrParseWorked = utils.parseWidgetAttributes(this,{\n filter: { type: \"string\", defaultValue: \"[!is[system]]\"},\n groupField: { type: \"string\", defaultValue: undefined},\n startDateField: { type: \"string\", defaultValue: \"created\"},\n endDateField: { type: \"string\", defaultValue: undefined},\n format: { type: \"string\", defaultValue: undefined},\n customTime: { type: \"string\", defaultValue: undefined},\n groupTags: {type: \"string\", defaultValue: undefined},\n boxing: {type: \"string\", defaultValue: \"static\"},\n navpad: {type: \"string\", defaultValue: undefined},\n config: {type: \"string\", defaultValue: undefined},\n persistent: {type: \"string\", defaultValue: undefined},\n });\n\n if ((attrParseWorked === undefined) && (this.filter)) {\n this.compiledFilter = this.wiki.compileFilter(this.filter);\n }\n\n return attrParseWorked;\n };\n\n TimelineWidget.prototype.getTimepointList = function(changedTiddlers) {\n var tiddlerList = [];\n // process the filter into an array of tiddler titles\n tiddlerList = this.compiledFilter.call(null, changedTiddlers, null);\n // If filter is a list of tiddlers it will return tiddlers even if they are not in changed Tiddlers\n if (changedTiddlers !== undefined) {\n tiddlerList = tiddlerList.filter(function (e) { return changedTiddlers[e];});\n }\n var self = this;\n var withoutDraftsList = tiddlerList.filter(function(optionTitle) {\n var optionTiddler = self.wiki.getTiddler(optionTitle);\n if (optionTiddler === undefined) {\n // tiddler may not exist if list attribute provided to widget, so exclude\n return true;\n } else {\n var isDraft = optionTiddler && optionTiddler.hasField(\"draft.of\");\n return !isDraft;\n }\n });\n return withoutDraftsList;\n };\n /*\n Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n */\n TimelineWidget.prototype.refresh = function(changedTiddlers) {\n var changedAttributes = this.computeAttributes();\n if(changedAttributes.filter\n || changedAttributes.startDateField\n || changedAttributes.endDateField\n || changedAttributes.groupField\n || changedAttributes.customTime\n || changedAttributes.groupTags\n || changedAttributes.boxing\n || changedAttributes.navpad\n || changedAttributes.config) {\n this.refreshSelf();\n this.updateTimeline();\n return true;\n }\n if (this.displayedTiddlers.some(function (e) { return changedTiddlers[e.id]; })) {\n this.updateTimeline();\n return true;\n }\n var anyRelevantChanges = this.getTimepointList(changedTiddlers);\n if (anyRelevantChanges.length !== 0) {\n this.updateTimeline();\n return true;\n }\n this.handleResizeEvent();\n };\n\n TimelineWidget.prototype.createTimeline = function() {\n var data = [];\n this.timeline = new vis.Timeline(this.timelineHolder, data);\n\n var self = this;\n this.timeline.on('click', function(properties) {\n // Check if background or a tiddler is selected\n if (properties.item !== null) {\n var toTiddlerTitle = properties.item;\n utils.displayTiddler(self, toTiddlerTitle);\n }\n else if(properties.group !== null && properties.what === \"group-label\") {\n var toTiddlerTitle = properties.group;\n if($tw.wiki.getTiddler(toTiddlerTitle)) {\n utils.displayTiddler(self, toTiddlerTitle);\n }\n }\n });\n if(this.attributes[\"persistent\"] !== undefined) {\n // apply saved x-axis range\n var start = moment(this.tiddler.fields[\"timeline:start\"]);\n var end = moment(this.tiddler.fields[\"timeline:end\"]);\n if(start.isValid() && end.isValid()) {\n this.options.start = start.toDate();\n this.options.end = end.toDate();\n }\n\n // monitor and save changes in x-axis range\n this.writeRange = false;\n this.handleRangeChanged = this.handleRangeChanged.bind(this);\n this.timeline.on('rangechanged', this.handleRangeChanged);\n }\n };\n\n TimelineWidget.prototype.handleRangeChanged = function(properties) {\n if(properties.byUser || this.writeRange) {\n var start = moment(properties.start);\n var end = moment(properties.end);\n if(start.isValid() && end.isValid()) {\n utils.setTiddlerField(this.tiddler.fields.title, \"timeline:start\", start.format());\n utils.setTiddlerField(this.tiddler.fields.title, \"timeline:end\", end.format());\n }\n }\n this.writeRange = false;\n }\n\n // -- adapted from felixhayashi's tiddlymap in widget.map.js\n TimelineWidget.prototype.handleResizeEvent = function(event) {\n if(this.isContainedInSidebar) {\n var windowHeight = window.innerHeight;\n var canvasOffset = this.parentDomNode.getBoundingClientRect().top;\n var distanceBottom = this.getAttribute(\"bottom-spacing\", \"0px\");\n var calculatedHeight = (windowHeight - canvasOffset - (this.isContainedInSidebar?3:0)) + \"px\";\n this.parentDomNode.style[\"height\"] = \"calc(\" + calculatedHeight + \" - \" + distanceBottom + \")\";\n } else {\n var height = this.getAttribute(\"height\");\n this.parentDomNode.style[\"height\"] = (height ? height : \"300px\");\n }\n if(this.timeline) {\n this.timeline.redraw(); // redraw timeline\n }\n };\n // --\n\n TimelineWidget.prototype.createWarningButton = function() {\n var button = $tw.utils.domMaker(\"div\", {innerHTML: $tw.wiki.getTiddlerText(\"$:/core/images/warning\",\"Warning\"), class: \"visjstimeline-warning\", attributes: {title: \"Not all tiddlers could be rendered\", style: \"visibility: hidden\"}});\n\n this.timelineHolder.appendChild(button);\n this.domNodes.push(button);\n\n this.handleWarningClick = this.handleWarningClick.bind(this);\n button.addEventListener(\"click\", this.handleWarningClick, false);\n }\n\n TimelineWidget.prototype.handleWarningClick = function(event) {\n utils.displayTiddler(this, this.warningTiddlerTitle);\n }\n\n TimelineWidget.prototype.appendWarning = function(message) {\n if($tw.wiki.getTiddler(this.warningTiddlerTitle) === undefined) {\n var format = \"Using \";\n if(this.format === undefined) {\n format += \"[[TW5 date format|http://tiddlywiki.com/#DateFormat]]\";\n } else {\n format += \"[[moment.js format|http://momentjs.com/docs/#/parsing/string-format/]]: `\" + this.format + \"`\";\n }\n var fields = {title: this.warningTiddlerTitle, text: \"!!!Problems found while rendering `<$visjstimeline/>` in [[\"+this.tiddler.fields.title+\"]]\\n\\n\" + format + \"\\n\\n|!Tiddler|!Problem|!Result|\\n\"};\n $tw.wiki.addTiddler(new $tw.Tiddler(fields));\n }\n utils.setTiddlerField(this.warningTiddlerTitle,\"text\", $tw.wiki.getTiddlerText(this.warningTiddlerTitle) + message + \"\\n\");\n var button = this.timelineHolder.getElementsByClassName(\"visjstimeline-warning\")[0];\n button.style[\"visibility\"] = \"visible\";\n }\n\n TimelineWidget.prototype.resetWarning = function() {\n $tw.wiki.deleteTiddler(this.warningTiddlerTitle);\n var button = this.timelineHolder.getElementsByClassName(\"visjstimeline-warning\")[0];\n button.style[\"visibility\"] = \"hidden\";\n }\n\n TimelineWidget.prototype.createNavpad = function() {\n var navpad = $tw.utils.domMaker(\"div\",{class: \"vis-navigation visjstimeline-navpad\"});\n\n this.timelineHolder.className = \"vis-network\";\n this.timelineHolder.appendChild(navpad);\n this.domNodes.push(navpad);\n\n navpad.appendChild($tw.utils.domMaker(\"div\",{attributes:{class: \"vis-button vis-up\", id: \"up\", style: \"visibility: hidden\"}}));\n navpad.appendChild($tw.utils.domMaker(\"div\",{attributes:{class: \"vis-button vis-down\", id: \"down\", style: \"visibility: hidden\"}}));\n navpad.appendChild($tw.utils.domMaker(\"div\",{attributes:{class: \"vis-button vis-left\", id: \"left\"}}));\n navpad.appendChild($tw.utils.domMaker(\"div\",{attributes:{class: \"vis-button vis-right\", id: \"right\"}}));\n navpad.appendChild($tw.utils.domMaker(\"div\",{attributes:{class: \"vis-button vis-zoomIn\", id: \"zoomIn\"}}));\n navpad.appendChild($tw.utils.domMaker(\"div\",{attributes:{class: \"vis-button vis-zoomOut\", id: \"zoomOut\"}}));\n navpad.appendChild($tw.utils.domMaker(\"div\",{attributes:{class: \"vis-button vis-zoomExtends\", id: \"zoomExtends\"}}));\n\n this.handleNavpadClick = this.handleNavpadClick.bind(this);\n for(var i=0; i<navpad.childNodes.length; i++) {\n this.domNodes.push(navpad.childNodes[i]);\n navpad.childNodes[i].addEventListener(\"click\", this.handleNavpadClick, false);\n }\n\n var panel = this.timelineHolder.getElementsByClassName(\"vis-panel vis-center\")[0];\n var top = panel.getElementsByClassName(\"vis-shadow vis-top\")[0];\n var bottom = panel.getElementsByClassName(\"vis-shadow vis-bottom\")[0];\n var overlay = this.timelineHolder.getElementsByClassName(\"vis-overlay\")[0];\n\n this.handleItemsVisibilityChanged = this.handleItemsVisibilityChanged.bind(this);\n var self = this;\n var observer = new MutationObserver(function(mutations) {\n for(var i=0; i<mutations.length; i++) {\n self.handleItemsVisibilityChanged(mutations[i]);\n }});\n observer.observe(top, {attributes: true, subtree: false});\n observer.observe(bottom, {attributes: true, subtree: false});\n if(overlay !== undefined) { // clickToUse === true\n observer.observe(overlay, {attributes: true, subtree: false});\n navpad.style[\"visibility\"] = \"hidden\";\n }\n }\n\n TimelineWidget.prototype.handleItemsVisibilityChanged = function(mutation) {\n if(mutation.attributeName === \"style\") {\n if((' ' + mutation.target.className + ' ').indexOf(' vis-overlay ') > -1) {\n // whole navpad visibility\n var timeline = this.timelineHolder.getElementsByClassName(\"vis-timeline\")[0];\n var navpad = this.timelineHolder.getElementsByClassName(\"navpad\")[0];\n if(navpad !== undefined) {\n navpad.style[\"visibility\"] = (mutation.target.style[\"display\"] === \"none\" ? \"visible\":\"hidden\");\n }\n } else {\n // up and down buttons visibility\n var cls = \"vis-button \" + ( (' ' + mutation.target.className + ' ').indexOf(' vis-top ') > -1 ? \"vis-up\":\"vis-down\" );\n var button = this.timelineHolder.getElementsByClassName(cls)[0];\n if(button !== undefined) {\n button.style[\"visibility\"] = mutation.target.style[\"visibility\"];\n }\n }\n }\n }\n\n TimelineWidget.prototype.handleNavpadClick = function(event) {\n var range = this.timeline.getWindow();\n var interval = range.end - range.start;\n var ratio = 0.2; // horizontal movement\n var step = 10; // vertical movement\n\n var centerdiv = this.timelineHolder.getElementsByClassName(\"vis-panel vis-center\")[0];\n var contentdiv = centerdiv.getElementsByClassName(\"vis-content\")[0];\n this.writeRange = true; // handle persistence\n switch (event.target.id) {\n case \"up\":\n centerdiv.getElementsByClassName(\"vis-shadow vis-bottom\")[0].style[\"visibility\"] = \"visible\";\n contentdiv.style[\"top\"] = parseInt(contentdiv.style[\"top\"]) + step + \"px\";\n if(parseInt(contentdiv.style[\"top\"]) >= 0) {\n contentdiv.style[\"top\"] = \"0px\";\n centerdiv.getElementsByClassName(\"vis-shadow vis-top\")[0].style[\"visibility\"] = \"hidden\";\n }\n break;\n case \"down\":\n centerdiv.getElementsByClassName(\"vis-shadow vis-top\")[0].style[\"visibility\"] = \"visible\";\n contentdiv.style[\"top\"] = parseInt(contentdiv.style[\"top\"]) - step + \"px\";\n if( Math.abs(parseInt(contentdiv.style[\"top\"])) > contentdiv.getBoundingClientRect().height - centerdiv.getBoundingClientRect().height ) {\n contentdiv.style[\"top\"] = contentdiv.getBoundingClientRect().height - centerdiv.getBoundingClientRect().height;\n centerdiv.getElementsByClassName(\"vis-shadow vis-bottom\")[0].style[\"visibility\"] = \"hidden\";\n }\n break;\n case \"left\":\n this.timeline.setWindow({\n start: range.start.valueOf() - interval * ratio,\n end : range.end.valueOf() - interval * ratio,\n });\n break;\n case \"right\":\n this.timeline.setWindow({\n start: range.start.valueOf() + interval * ratio,\n end : range.end.valueOf() + interval * ratio,\n });\n break;\n case \"zoomIn\":\n this.timeline.setWindow({\n start: range.start.valueOf() + interval * ratio,\n end : range.end.valueOf() - interval * ratio,\n });\n break;\n case \"zoomOut\":\n this.timeline.setWindow({\n start: range.start.valueOf() - interval * ratio,\n end : range.end.valueOf() + interval * ratio,\n });\n break;\n case \"zoomExtends\":\n this.timeline.fit();\n break;\n default:\n this.dispError(\"No such navtab action: \" + action);\n }\n }\n\n function dateFieldToDate(dateField, dateFormat) {\n dateField = dateField.trim();\n if (dateField === \"now\") {\n return new Date();\n }\n if (dateField !== \"\") {\n if (dateFormat === undefined) {\n return $tw.utils.parseDate(dateField);\n } else {\n var m = moment(dateField, dateFormat, true);\n if (m.isValid()) {\n return m.toDate();\n }\n }\n }\n }\n\n function addTimeData(self) {\n return function(current, tiddlerName) {\n var currentData = current.data;\n var currentGroups = current.groups;\n var currentErrors = current.errors;\n var theTiddler = self.wiki.getTiddler(tiddlerName);\n // tiddler may not exist if list attribute provided to widget\n if (theTiddler !== undefined) {\n var tiddlerStartDate = theTiddler.getFieldString(self.startDateField);\n var startDate = dateFieldToDate(tiddlerStartDate, self.format);\n if (!isNaN(startDate)) {\n // var newTimepoint = {id: tiddlerName, content: tiddlerName, start: $tw.utils.formatDateString(startDate, \"YYYY-0MM-0DD\"), type: 'point'};\n var caption = theTiddler.fields.caption || tiddlerName,\n description = theTiddler.fields.description || caption,\n color = theTiddler.fields.color || false,\n style = \"border-color: \" + color + \";\" || \"\",\n icon = theTiddler.fields.icon,\n iconTiddler = $tw.wiki.getTiddler(icon);\n if(iconTiddler !== undefined) {\n caption = \"<span class='item-icon'\" + (color?\" style='fill:\"+color+\"';\":\"\") + \">\"\n + iconTiddler.fields.text + \"</span> \"\n + caption;\n }\n var newTimepoint = {id: tiddlerName, content: caption, title: description, style: style, start: startDate, type: 'point'};\n var tiddlerGroup = \"\";\n if (self.groupField !== undefined) {\n tiddlerGroup = theTiddler.getFieldString(self.groupField);\n } else if(self.groupTags !== undefined) {\n $tw.utils.each($tw.wiki.filterTiddlers(self.groupTags),\n function(tag) {if(theTiddler.hasTag(tag)) tiddlerGroup = tag;});\n }\n if(self.groupTags !== undefined || self.groupField !== undefined) {\n if (tiddlerGroup !== \"\") {\n newTimepoint.group = tiddlerGroup;\n currentGroups[tiddlerGroup] = true;\n } else {\n newTimepoint.group = \"Global\";\n currentGroups.Global = true;\n }\n }\n if (self.endDateField !== undefined ) {\n var tiddlerEndDate = theTiddler.getFieldString(self.endDateField);\n var endDate = dateFieldToDate(tiddlerEndDate, self.format);\n if(!isNaN(endDate) && endDate < startDate) {\n currentErrors.push(\"| [[\" + tiddlerName + \"]] |End date \\\"\" + tiddlerEndDate + \"\\\" (field `\" + self.endDateField + \"`) is before start date \\\"\" + tiddlerStartDate + \"\\\" (field `\" + self.startDateField + \"`)|Used start date as end date|\");\n endDate = startDate;\n }\n else if(isNaN(endDate)) {\n if(tiddlerEndDate === \"\") {\n currentErrors.push(\"| [[\" + tiddlerName + \"]] |End date field `\" + self.endDateField + \"` is empty or does not exist|Used start date as end date|\");\n } else {\n currentErrors.push(\"| [[\" + tiddlerName + \"]] |Could not parse end date \\\"\" + tiddlerEndDate + \"\\\" from field `\" + self.endDateField + \"`|Used start date as end date|\");\n }\n endDate = startDate;\n }\n\n newTimepoint.end = endDate;\n if (newTimepoint.end.getTime() != newTimepoint.start.getTime()) {\n newTimepoint.type = 'range';\n if(theTiddler.getFieldString(\"color\") !== \"\") {\n newTimepoint.style += \"border-width: 3px;\" + utils.enhancedColorStyle(theTiddler.getFieldString(\"color\"));\n }\n }\n }\n currentData.push(newTimepoint);\n } else {\n if(tiddlerStartDate === \"\") {\n currentErrors.push(\"| [[\" + tiddlerName + \"]] |Start date field `\" + self.startDateField + \"` is empty or does not exist|Not rendered|\");\n } else {\n currentErrors.push(\"| [[\" + tiddlerName + \"]] |Could not parse start date \\\"\" + tiddlerStartDate + \"\\\" from field `\" + self.startDateField + \"`|Not rendered|\");\n }\n }\n } else {\n currentErrors.push(\"| [[\" + tiddlerName + \"]] |Tiddler was not found|Not rendered|\");\n }\n return {data: currentData, groups: currentGroups, errors: currentErrors};\n };\n }\n\n TimelineWidget.prototype.updateTimeline = function() {\n this.resetWarning();\n\n var langprefix = \"$:/languages/\".length,\n lang = $tw.wiki.getTiddlerText(\"$:/language\").substring(langprefix, langprefix + 2);\n if(lang === \"zh\") {\n // TW5 does not use standard codes for Chinese\n var suffix = $tw.wiki.getTiddlerText(\"$:/language\");\n suffix = suffix.substring(suffix.length-1);\n if(suffix === \"s\") {\n lang = \"zh-cn\"; //simplified\n } else {\n lang = \"zh-tw\"; //traditional\n }\n }\n this.options[\"locale\"] = moment.locale([lang, \"en\"]);\n\n var timepointList = this.getTimepointList();\n var result = timepointList.reduce(addTimeData(this), {data: [], groups: {}, errors: []});\n this.displayedTiddlers = result.data;\n this.timeline.setItems(result.data);\n if (this.customTime !== undefined) {\n if(this.hasCustomTime) {\n this.timeline.removeCustomTime();\n this.hasCustomTime = false;\n }\n var d = dateFieldToDate(this.customTime, this.format);\n if (d !== undefined) {\n this.timeline.addCustomTime(d);\n this.hasCustomTime = true;\n }\n }\n // override default options with these provided by the user, if any\n var config = $tw.wiki.getTiddlerData(this.attributes[\"config\"], {});\n var whitelist = $tw.wiki.getTiddlerData(\"$:/plugins/kixam/timeline/validOptions\", {\"whitelist\":[]}).whitelist;\n if(this.attributes[\"persistent\"] !== undefined\n && this.tiddler.fields[\"timeline:start\"] !== undefined\n && this.tiddler.fields[\"timeline:end\"] !== undefined) {\n whitelist.start = undefined;\n whitelist.end = undefined;\n }\n for(var opt in config) {\n if(whitelist.indexOf(opt) > -1) this.options[opt] = config[opt];\n }\n this.timeline.setOptions(this.options);\n if (Object.keys(result.groups).length !== 0) {\n var theGroups = [];\n for (var group in result.groups) {\n theGroups.push({id: group, content: group, title: group});\n if(group === \"Global\") {\n theGroups[theGroups.length-1].content = \"— Global —\";\n theGroups[theGroups.length-1].style = \"background-color:rgba(0,0,0,0); font-style:italic;\";\n }\n else {\n var tiddler = $tw.wiki.getTiddler(group);\n if(tiddler !== undefined) {\n var caption = \"<span>\" + (tiddler.fields.caption || group) + \"</span>\",\n description = tiddler.fields.description || tiddler.fields.caption || group,\n color = tiddler.fields.color || false,\n icon = tiddler.fields.icon,\n iconTiddler = $tw.wiki.getTiddler(icon);\n if(color) {\n theGroups[theGroups.length-1].style = \"border-width:3px; border-style:solid;\"\n + \"border-bottom-width:3px; border-bottom-style:solid;\"\n + utils.enhancedColorStyle(tiddler.fields.color);\n }\n if(iconTiddler !== undefined) {\n caption = \"<span class='group-icon'\" + (color?\" style='fill:\"+color+\"';\":\"\") + \">\"\n + iconTiddler.fields.text + \"</span><br>\"\n + caption;\n }\n theGroups[theGroups.length-1].content = caption;\n theGroups[theGroups.length-1].title = description;\n }\n }\n }\n this.timeline.setGroups(theGroups);\n }\n for(var i=0; i<result.errors.length; i++) {\n this.appendWarning(result.errors[i]);\n }\n if(this.attributes[\"persistent\"] === undefined\n || this.tiddler.fields[\"timeline:start\"] === undefined\n || this.tiddler.fields[\"timeline:end\"] === undefined) {\n this.timeline.fit();\n }\n };\n\n exports.visjstimeline = TimelineWidget;\n\n }\n ());\n",
"title": "$:/plugins/kixam/timeline/widget.timeline.js",
"type": "application/javascript",
"module-type": "widget"
}
}
}
Rétrospective des ateliers 2014-2015
Vous êtes Libre ce soir ?
/*Bloc information*/
.info {background-color:#ECF0F1; color:#2C3E50; margin:10px; padding:10px; border-radius: 5px;}
.taglist-columns{
column-count: 4;
-moz-column-count: 4;
-webkit-column-count: 4;
}
.footer {
background-color: transparent;
margin-left: 1em;
}
{
"tiddlers": {
"$:/info/browser": {
"title": "$:/info/browser",
"text": "yes"
},
"$:/info/node": {
"title": "$:/info/node",
"text": "no"
}
}
}
{
"tiddlers": {
"$:/themes/tiddlywiki/snowwhite/base": {
"title": "$:/themes/tiddlywiki/snowwhite/base",
"tags": "[[$:/tags/Stylesheet]]",
"text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-sidebar-header {\n\ttext-shadow: 0 1px 0 <<colour sidebar-foreground-shadow>>;\n}\n\n.tc-tiddler-info {\n\t<<box-shadow \"inset 1px 2px 3px rgba(0,0,0,0.1)\">>\n}\n\n@media screen {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n\t}\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow none>>\n\t}\n}\n\n.tc-page-controls button svg, .tc-tiddler-controls button svg, .tc-topbar button svg {\n\t<<transition \"fill 150ms ease-in-out\">>\n}\n\n.tc-tiddler-controls button.tc-selected,\n.tc-page-controls button.tc-selected {\n\t<<filter \"drop-shadow(0px -1px 2px rgba(0,0,0,0.25))\">>\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-edit-tags {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-tiddler-frame .tc-edit-tags input.tc-edit-texteditor {\n\t<<box-shadow \"none\">>\n\tborder: none;\n\toutline: none;\n}\n\ncanvas.tc-edit-bitmapeditor {\n\t<<box-shadow \"2px 2px 5px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-drop-down {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-block-dropdown {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-modal {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n}\n\n.tc-modal-footer {\n\tborder-radius: 0 0 6px 6px;\n\t<<box-shadow \"inset 0 1px 0 #fff\">>;\n}\n\n\n.tc-alert {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.6)\">>\n}\n\n.tc-notification {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\n}\n\n.tc-sidebar-lists .tc-tab-set .tc-tab-divider {\n\tborder-top: none;\n\theight: 1px;\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.0) 100%\">>\n}\n\n.tc-more-sidebar .tc-tab-buttons button {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.01) 0%, rgba(0,0,0,0.1) 100%\">>\n}\n\n.tc-more-sidebar .tc-tab-buttons button.tc-tab-selected {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.05) 0%, rgba(255,255,255,0.05) 100%\">>\n}\n\n.tc-message-box img {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n\n.tc-plugin-info {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n"
}
}
}
{
"tiddlers": {
"$:/themes/tiddlywiki/vanilla/themetweaks": {
"title": "$:/themes/tiddlywiki/vanilla/themetweaks",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ThemeTweaks/ThemeTweaks}}",
"text": "\\define lingo-base() $:/language/ThemeTweaks/\n\n\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n\\define backgroundimage-dropdown()\n<div class=\"tc-drop-down-wrapper\">\n<$button popup=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"\n\t$value=<<imageTitle>>\n/>\n\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n\\end\n\n\\define backgroundimageattachment-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\" default=\"scroll\">\n<option value=\"scroll\"><<lingo Settings/BackgroundImageAttachment/Scroll>></option>\n<option value=\"fixed\"><<lingo Settings/BackgroundImageAttachment/Fixed>></option>\n</$select>\n\\end\n\n\\define backgroundimagesize-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\" default=\"scroll\">\n<option value=\"auto\"><<lingo Settings/BackgroundImageSize/Auto>></option>\n<option value=\"cover\"><<lingo Settings/BackgroundImageSize/Cover>></option>\n<option value=\"contain\"><<lingo Settings/BackgroundImageSize/Contain>></option>\n</$select>\n\\end\n\n<<lingo ThemeTweaks/Hint>>\n\n! <<lingo Options>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><<lingo Options/SidebarLayout>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><option value=\"fixed-fluid\"><<lingo Options/SidebarLayout/Fixed-Fluid>></option><option value=\"fluid-fixed\"><<lingo Options/SidebarLayout/Fluid-Fixed>></option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><<lingo Options/StickyTitles>></$link><br>//<<lingo Options/StickyTitles/Hint>>// |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><option value=\"no\">{{$:/language/No}}</option><option value=\"yes\">{{$:/language/Yes}}</option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><<lingo Options/CodeWrapping>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><option value=\"pre\">{{$:/language/No}}</option><option value=\"pre-wrap\">{{$:/language/Yes}}</option></$select> |\n\n! <<lingo Settings>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"><<lingo Settings/FontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\"><<lingo Settings/CodeFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"><<lingo Settings/BackgroundImage>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" default=\"\" tag=\"input\"/> |<<backgroundimage-dropdown>> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\"><<lingo Settings/BackgroundImageAttachment>></$link> |<<backgroundimageattachment-dropdown>> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\"><<lingo Settings/BackgroundImageSize>></$link> |<<backgroundimagesize-dropdown>> | |\n\n! <<lingo Metrics>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\"><<lingo Metrics/FontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\"><<lingo Metrics/LineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\"><<lingo Metrics/BodyFontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\"><<lingo Metrics/BodyLineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\"><<lingo Metrics/StoryLeft>></$link><br>//<<lingo Metrics/StoryLeft/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\"><<lingo Metrics/StoryTop>></$link><br>//<<lingo Metrics/StoryTop/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\"><<lingo Metrics/StoryRight>></$link><br>//<<lingo Metrics/StoryRight/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\"><<lingo Metrics/StoryWidth>></$link><br>//<<lingo Metrics/StoryWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"><<lingo Metrics/TiddlerWidth>></$link><br>//<<lingo Metrics/TiddlerWidth/Hint>>//<br> |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\"><<lingo Metrics/SidebarBreakpoint>></$link><br>//<<lingo Metrics/SidebarBreakpoint/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\"><<lingo Metrics/SidebarWidth>></$link><br>//<<lingo Metrics/SidebarWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\" default=\"\" tag=\"input\"/> |\n"
},
"$:/themes/tiddlywiki/vanilla/base": {
"title": "$:/themes/tiddlywiki/vanilla/base",
"tags": "[[$:/tags/Stylesheet]]",
"text": "\\define custom-background-datauri()\n<$set name=\"background\" value={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}>\n<$list filter=\"[<background>is[image]]\">\n`background: url(`\n<$list filter=\"[<background>!has[_canonical_uri]]\">\n<$macrocall $name=\"datauri\" title={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}/>\n</$list>\n<$list filter=\"[<background>has[_canonical_uri]]\">\n<$view tiddler={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}} field=\"_canonical_uri\"/>\n</$list>\n`) center center;`\n`background-attachment: `{{$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment}}`;\n-webkit-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-moz-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-o-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\nbackground-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;`\n</$list>\n</$set>\n\\end\n\n\\define if-fluid-fixed(text,hiddenSidebarText)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" type=\"match\" text=\"fluid-fixed\">\n$text$\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">\n$hiddenSidebarText$\n</$reveal>\n</$reveal>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/*\n** Start with the normalize CSS reset, and then belay some of its effects\n*/\n\n{{$:/themes/tiddlywiki/vanilla/reset}}\n\n*, input[type=\"search\"] {\n\tbox-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\t-webkit-box-sizing: border-box;\n}\n\nhtml button {\n\tline-height: 1.2;\n\tcolor: <<colour button-foreground>>;\n\tbackground: <<colour button-background>>;\n\tborder-color: <<colour button-border>>;\n}\n\n/*\n** Basic element styles\n*/\n\nhtml {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};\n\ttext-rendering: optimizeLegibility; /* Enables kerning and ligatures etc. */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\nhtml:-webkit-full-screen {\n\tbackground-color: <<colour page-background>>;\n}\n\nbody.tc-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/fontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\n\tcolor: <<colour foreground>>;\n\tbackground-color: <<colour page-background>>;\n\tfill: <<colour foreground>>;\n\tword-wrap: break-word;\n\t<<custom-background-datauri>>\n}\n\nh1, h2, h3, h4, h5, h6 {\n\tline-height: 1.2;\n\tfont-weight: 300;\n}\n\npre {\n\tdisplay: block;\n\tpadding: 14px;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\tword-break: normal;\n\tword-wrap: break-word;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tbackground-color: <<colour pre-background>>;\n\tborder: 1px solid <<colour pre-border>>;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\ncode {\n\tcolor: <<colour code-foreground>>;\n\tbackground-color: <<colour code-background>>;\n\tborder: 1px solid <<colour code-border>>;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\nblockquote {\n\tborder-left: 5px solid <<colour blockquote-bar>>;\n\tmargin-left: 25px;\n\tpadding-left: 10px;\n}\n\ndl dt {\n\tfont-weight: bold;\n\tmargin-top: 6px;\n}\n\ntextarea,\ninput[type=text],\ninput[type=search],\ninput[type=\"\"],\ninput:not([type]) {\n\tcolor: <<colour foreground>>;\n\tbackground: <<colour background>>;\n}\n\n.tc-muted {\n\tcolor: <<colour muted-foreground>>;\n}\n\nsvg.tc-image-button {\n\tpadding: 0px 1px 1px 0px;\n}\n\nkbd {\n\tdisplay: inline-block;\n\tpadding: 3px 5px;\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tcolor: <<colour foreground>>;\n\tvertical-align: middle;\n\tbackground-color: <<colour background>>;\n\tborder: solid 1px <<colour muted-foreground>>;\n\tborder-bottom-color: <<colour muted-foreground>>;\n\tborder-radius: 3px;\n\tbox-shadow: inset 0 -1px 0 <<colour muted-foreground>>;\n}\n\n/*\nMarkdown likes putting code elements inside pre elements\n*/\npre > code {\n\tpadding: 0;\n\tborder: none;\n\tbackground-color: inherit;\n\tcolor: inherit;\n}\n\ntable {\n\tborder: 1px solid <<colour table-border>>;\n\twidth: auto;\n\tmax-width: 100%;\n\tcaption-side: bottom;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n}\n\ntable th, table td {\n\tpadding: 0 7px 0 7px;\n\tborder-top: 1px solid <<colour table-border>>;\n\tborder-left: 1px solid <<colour table-border>>;\n}\n\ntable thead tr td, table th {\n\tbackground-color: <<colour table-header-background>>;\n\tfont-weight: bold;\n}\n\ntable tfoot tr td {\n\tbackground-color: <<colour table-footer-background>>;\n}\n\n.tc-csv-table {\n\twhite-space: nowrap;\n}\n\n.tc-tiddler-frame img,\n.tc-tiddler-frame svg,\n.tc-tiddler-frame canvas,\n.tc-tiddler-frame embed,\n.tc-tiddler-frame iframe {\n\tmax-width: 100%;\n}\n\n.tc-tiddler-body > embed,\n.tc-tiddler-body > iframe {\n\twidth: 100%;\n\theight: 600px;\n}\n\n/*\n** Links\n*/\n\nbutton.tc-tiddlylink,\na.tc-tiddlylink {\n\ttext-decoration: none;\n\tfont-weight: normal;\n\tcolor: <<colour tiddler-link-foreground>>;\n\t-webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */\n}\n\n.tc-sidebar-lists a.tc-tiddlylink {\n\tcolor: <<colour sidebar-tiddler-link-foreground>>;\n}\n\n.tc-sidebar-lists a.tc-tiddlylink:hover {\n\tcolor: <<colour sidebar-tiddler-link-foreground-hover>>;\n}\n\nbutton.tc-tiddlylink:hover,\na.tc-tiddlylink:hover {\n\ttext-decoration: underline;\n}\n\na.tc-tiddlylink-resolves {\n}\n\na.tc-tiddlylink-shadow {\n\tfont-weight: bold;\n}\n\na.tc-tiddlylink-shadow.tc-tiddlylink-resolves {\n\tfont-weight: normal;\n}\n\na.tc-tiddlylink-missing {\n\tfont-style: italic;\n}\n\na.tc-tiddlylink-external {\n\ttext-decoration: underline;\n\tcolor: <<colour external-link-foreground>>;\n\tbackground-color: <<colour external-link-background>>;\n}\n\na.tc-tiddlylink-external:visited {\n\tcolor: <<colour external-link-foreground-visited>>;\n\tbackground-color: <<colour external-link-background-visited>>;\n}\n\na.tc-tiddlylink-external:hover {\n\tcolor: <<colour external-link-foreground-hover>>;\n\tbackground-color: <<colour external-link-background-hover>>;\n}\n\n/*\n** Drag and drop styles\n*/\n\n.tc-tiddler-dragger {\n\tposition: relative;\n\tz-index: -10000;\n}\n\n.tc-tiddler-dragger-inner {\n\tposition: absolute;\n\tdisplay: inline-block;\n\tpadding: 8px 20px;\n\tfont-size: 16.9px;\n\tfont-weight: bold;\n\tline-height: 20px;\n\tcolor: <<colour dragger-foreground>>;\n\ttext-shadow: 0 1px 0 rgba(0, 0, 0, 1);\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour dragger-background>>;\n\tborder-radius: 20px;\n}\n\n.tc-tiddler-dragger-cover {\n\tposition: absolute;\n\tbackground-color: <<colour page-background>>;\n}\n\n.tc-dropzone {\n\tposition: relative;\n}\n\n.tc-dropzone.tc-dragover:before {\n\tz-index: 10000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour dropzone-background>>;\n\ttext-align: center;\n\tcontent: \"<<lingo DropMessage>>\";\n}\n\n/*\n** Plugin reload warning\n*/\n\n.tc-plugin-reload-warning {\n\tz-index: 1000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour alert-background>>;\n\ttext-align: center;\n}\n\n/*\n** Buttons\n*/\n\nbutton svg, button img, label svg, label img {\n\tvertical-align: middle;\n}\n\n.tc-btn-invisible {\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n}\n\n.tc-btn-boxed {\n\tfont-size: 0.6em;\n\tpadding: 0.2em;\n\tmargin: 1px;\n\tbackground: none;\n\tborder: 1px solid <<colour tiddler-controls-foreground>>;\n\tborder-radius: 0.25em;\n}\n\nhtml body.tc-body .tc-btn-boxed svg {\n\tfont-size: 1.6666em;\n}\n\n.tc-btn-boxed:hover {\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n}\n\nhtml body.tc-body .tc-btn-boxed:hover svg {\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded {\n\tfont-size: 0.5em;\n\tline-height: 2;\n\tpadding: 0em 0.3em 0.2em 0.4em;\n\tmargin: 1px;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n\tborder-radius: 2em;\n}\n\nhtml body.tc-body .tc-btn-rounded svg {\n\tfont-size: 1.6666em;\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded:hover {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tcolor: <<colour muted-foreground>>;\n}\n\nhtml body.tc-body .tc-btn-rounded:hover svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-icon svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-text {\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-btn-big-green {\n\tdisplay: inline-block;\n\tpadding: 8px;\n\tmargin: 4px 8px 4px 8px;\n\tbackground: <<colour download-background>>;\n\tcolor: <<colour download-foreground>>;\n\tfill: <<colour download-foreground>>;\n\tborder: none;\n\tfont-size: 1.2em;\n\tline-height: 1.4em;\n\ttext-decoration: none;\n}\n\n.tc-btn-big-green svg,\n.tc-btn-big-green img {\n\theight: 2em;\n\twidth: 2em;\n\tvertical-align: middle;\n\tfill: <<colour download-foreground>>;\n}\n\n.tc-sidebar-lists input {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-sidebar-lists button {\n\tcolor: <<colour sidebar-button-foreground>>;\n\tfill: <<colour sidebar-button-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini {\n\tcolor: <<colour sidebar-muted-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini:hover {\n\tcolor: <<colour sidebar-muted-foreground-hover>>;\n}\n\nbutton svg.tc-image-button, button .tc-image-button img {\n\theight: 1em;\n\twidth: 1em;\n}\n\n.tc-unfold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 100%;\n\twidth: calc(100% + 2px);\n\tmargin-left: -43px;\n\ttext-align: center;\n\tborder-top: 2px solid <<colour tiddler-info-background>>;\n\tmargin-top: 4px;\n}\n\n.tc-unfold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n\tborder-top: 2px solid <<colour tiddler-info-border>>;\n}\n\n.tc-unfold-banner svg, .tc-fold-banner svg {\n\theight: 0.75em;\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-unfold-banner:hover svg, .tc-fold-banner:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n.tc-fold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 23px;\n\ttext-align: center;\n\tmargin-left: -35px;\n\ttop: 6px;\n\tbottom: 6px;\n}\n\n.tc-fold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-unfold-banner {\n\t\tposition: static;\n\t\twidth: calc(100% + 59px);\n\t}\n\n\t.tc-fold-banner {\n\t\twidth: 16px;\n\t\tmargin-left: -16px;\n\t\tfont-size: 0.75em;\n\t}\n\n}\n\n/*\n** Tags and missing tiddlers\n*/\n\n.tc-tag-list-item {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\n.tc-tags-wrapper {\n\tmargin: 4px 0 14px 0;\n}\n\n.tc-missing-tiddler-label {\n\tfont-style: italic;\n\tfont-weight: normal;\n\tdisplay: inline-block;\n\tfont-size: 11.844px;\n\tline-height: 14px;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n}\n\nbutton.tc-tag-label, span.tc-tag-label {\n\tdisplay: inline-block;\n\tpadding: 0.16em 0.7em;\n\tfont-size: 0.9em;\n\tfont-weight: 300;\n\tline-height: 1.2em;\n\tcolor: <<colour tag-foreground>>;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour tag-background>>;\n\tborder-radius: 1em;\n}\n\n.tc-untagged-separator {\n\twidth: 10em;\n\tleft: 0;\n\tmargin-left: 0;\n\tborder: 0;\n\theight: 1px;\n\tbackground: <<colour tab-divider>>;\n}\n\nbutton.tc-untagged-label {\n\tbackground-color: <<colour untagged-background>>;\n}\n\n.tc-tag-label svg, .tc-tag-label img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour tag-foreground>>;\n}\n\n.tc-tag-manager-table .tc-tag-label {\n\twhite-space: normal;\n}\n\n.tc-tag-manager-tag {\n\twidth: 100%;\n}\n\n/*\n** Page layout\n*/\n\n.tc-topbar {\n\tposition: fixed;\n\tz-index: 1200;\n}\n\n.tc-topbar-left {\n\tleft: 29px;\n\ttop: 5px;\n}\n\n.tc-topbar-right {\n\ttop: 5px;\n\tright: 29px;\n}\n\n.tc-topbar button {\n\tpadding: 8px;\n}\n\n.tc-topbar svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-topbar button:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-sidebar-header {\n\tcolor: <<colour sidebar-foreground>>;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-sidebar-header .tc-title a.tc-tiddlylink-resolves {\n\tfont-weight: 300;\n}\n\n.tc-sidebar-header .tc-sidebar-lists p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-sidebar-header .tc-missing-tiddler-label {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-advanced-search input {\n\twidth: 60%;\n}\n\n.tc-search a svg {\n\twidth: 1.2em;\n\theight: 1.2em;\n\tvertical-align: middle;\n}\n\n.tc-page-controls {\n\tmargin-top: 14px;\n\tfont-size: 1.5em;\n}\n\n.tc-page-controls button {\n\tmargin-right: 0.5em;\n}\n\n.tc-page-controls a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-page-controls img {\n\twidth: 1em;\n}\n\n.tc-page-controls svg {\n\tfill: <<colour sidebar-controls-foreground>>;\n}\n\n.tc-page-controls button:hover svg, .tc-page-controls a:hover svg {\n\tfill: <<colour sidebar-controls-foreground-hover>>;\n}\n\n.tc-menu-list-item {\n\twhite-space: nowrap;\n}\n\n.tc-menu-list-count {\n\tfont-weight: bold;\n}\n\n.tc-menu-list-subitem {\n\tpadding-left: 7px;\n}\n\n.tc-story-river {\n\tposition: relative;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-sidebar-header {\n\t\tpadding: 14px;\n\t\tmin-height: 32px;\n\t\tmargin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tpadding: 0;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-message-box {\n\t\tmargin: 21px -21px 21px -21px;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tposition: fixed;\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t\tbottom: 0;\n\t\tright: 0;\n\t\toverflow-y: auto;\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t\tmargin: 0 0 0 -42px;\n\t\tpadding: 71px 0 28px 42px;\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/storywidth}};\n\t\tpadding: 42px 42px 42px 42px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-story-river {\n\t\twidth: calc(100% - {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}});\n\t}\n\n\">>\n\n}\n\n@media print {\n\n\tbody.tc-body {\n\t\tbackground-color: transparent;\n\t}\n\n\t.tc-sidebar-header, .tc-topbar {\n\t\tdisplay: none;\n\t}\n\n\t.tc-story-river {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.tc-story-river .tc-tiddler-frame {\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tpadding: 0;\n\t}\n}\n\n/*\n** Tiddler styles\n*/\n\n.tc-tiddler-frame {\n\tposition: relative;\n\tmargin-bottom: 28px;\n\tbackground-color: <<colour tiddler-background>>;\n\tborder: 1px solid <<colour tiddler-border>>;\n}\n\n{{$:/themes/tiddlywiki/vanilla/sticky}}\n\n.tc-tiddler-info {\n\tpadding: 14px 42px 14px 42px;\n\tbackground-color: <<colour tiddler-info-background>>;\n\tborder-top: 1px solid <<colour tiddler-info-border>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-border>>;\n}\n\n.tc-tiddler-info p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-tiddler-info .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour tiddler-info-tab-background>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-tab-background>>;\n}\n\n.tc-view-field-table {\n\twidth: 100%;\n}\n\n.tc-view-field-name {\n\twidth: 1%; /* Makes this column be as narrow as possible */\n\ttext-align: right;\n\tfont-style: italic;\n\tfont-weight: 200;\n}\n\n.tc-view-field-value {\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 14px 14px 14px 14px;\n\t}\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -14px 0 -14px;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 28px 42px 42px 42px;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}};\n\t\tborder-radius: 2px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\">>\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -42px 0 -42px;\n\t}\n}\n\n.tc-site-title,\n.tc-titlebar {\n\tfont-weight: 300;\n\tfont-size: 2.35em;\n\tline-height: 1.2em;\n\tcolor: <<colour tiddler-title-foreground>>;\n\tmargin: 0;\n}\n\n.tc-site-title {\n\tcolor: <<colour site-title-foreground>>;\n}\n\n.tc-tiddler-title-icon {\n\tvertical-align: middle;\n}\n\n.tc-system-title-prefix {\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-titlebar h2 {\n\tfont-size: 1em;\n\tdisplay: inline;\n}\n\n.tc-titlebar img {\n\theight: 1em;\n}\n\n.tc-subtitle {\n\tfont-size: 0.9em;\n\tcolor: <<colour tiddler-subtitle-foreground>>;\n\tfont-weight: 300;\n}\n\n.tc-tiddler-missing .tc-title {\n font-style: italic;\n font-weight: normal;\n}\n\n.tc-tiddler-frame .tc-tiddler-controls {\n\tfloat: right;\n}\n\n.tc-tiddler-controls .tc-drop-down {\n\tfont-size: 0.6em;\n}\n\n.tc-tiddler-controls .tc-drop-down .tc-drop-down {\n\tfont-size: 1em;\n}\n\n.tc-tiddler-controls > span > button {\n\tvertical-align: baseline;\n\tmargin-left:5px;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img,\n.tc-search button svg, .tc-search a svg {\n\theight: 0.75em;\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-tiddler-controls button.tc-selected svg,\n.tc-page-controls button.tc-selected svg {\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n}\n\n.tc-tiddler-controls button.tc-btn-invisible:hover svg,\n.tc-search button:hover svg, .tc-search a:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n@media print {\n\t.tc-tiddler-controls {\n\t\tdisplay: none;\n\t}\n}\n\n.tc-tiddler-help { /* Help prompts within tiddler template */\n\tcolor: <<colour muted-foreground>>;\n\tmargin-top: 14px;\n}\n\n.tc-tiddler-help a.tc-tiddlylink {\n\tcolor: <<colour very-muted-foreground>>;\n}\n\n.tc-tiddler-frame .tc-edit-texteditor {\n\twidth: 100%;\n\tmargin: 4px 0 4px 0;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor,\n.tc-tiddler-frame iframe.tc-edit-texteditor {\n\tpadding: 3px 3px 3px 3px;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tline-height: 1.3em;\n\t-webkit-appearance: none;\n}\n\n.tc-tiddler-frame .tc-binary-warning {\n\twidth: 100%;\n\theight: 5em;\n\ttext-align: center;\n\tpadding: 3em 3em 6em 3em;\n\tbackground: <<colour alert-background>>;\n\tborder: 1px solid <<colour alert-border>>;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor {\n\tbackground-color: <<colour tiddler-editor-background>>;\n}\n\ncanvas.tc-edit-bitmapeditor {\n\tborder: 6px solid <<colour tiddler-editor-border-image>>;\n\tcursor: crosshair;\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tmargin-top: 6px;\n\tmargin-bottom: 6px;\n}\n\n.tc-edit-bitmapeditor-width {\n\tdisplay: block;\n}\n\n.tc-edit-bitmapeditor-height {\n\tdisplay: block;\n}\n\n.tc-tiddler-body {\n\tclear: both;\n}\n\n.tc-tiddler-frame .tc-tiddler-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};\n}\n\n.tc-titlebar, .tc-tiddler-edit-title {\n\toverflow: hidden; /* https://github.com/Jermolene/TiddlyWiki5/issues/282 */\n}\n\nhtml body.tc-body.tc-single-tiddler-window {\n\tmargin: 1em;\n\tbackground: <<colour tiddler-background>>;\n}\n\n.tc-single-tiddler-window img,\n.tc-single-tiddler-window svg,\n.tc-single-tiddler-window canvas,\n.tc-single-tiddler-window embed,\n.tc-single-tiddler-window iframe {\n\tmax-width: 100%;\n}\n\n/*\n** Editor\n*/\n\n.tc-editor-toolbar {\n\tmargin-top: 8px;\n}\n\n.tc-editor-toolbar button {\n\tvertical-align: middle;\n\tbackground-color: <<colour tiddler-controls-foreground>>;\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n\tborder-radius: 4px;\n\tpadding: 3px;\n\tmargin: 2px 0 2px 4px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-adjunct {\n\tmargin-left: 1px;\n\twidth: 1em;\n\tborder-radius: 8px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-start-group {\n\tmargin-left: 11px;\n}\n\n.tc-editor-toolbar button.tc-selected {\n\tbackground-color: <<colour primary>>;\n}\n\n.tc-editor-toolbar button svg {\n\twidth: 1.6em;\n\theight: 1.2em;\n}\n\n.tc-editor-toolbar button:hover {\n\tbackground-color: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour background>>;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more {\n\twhite-space: normal;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more button {\n\tdisplay: inline-block;\n\tpadding: 3px;\n\twidth: auto;\n}\n\n.tc-editor-toolbar .tc-search-results {\n\tpadding: 0;\n}\n\n/*\n** Adjustments for fluid-fixed mode\n*/\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n<<if-fluid-fixed text:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 0;\n\t\tposition: relative;\n\t\twidth: auto;\n\t\tleft: 0;\n\t\tmargin-left: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\tmargin-right: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tbottom: 0;\n\t\tright: 0;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 42px);\n\t}\n\n\"\"\" hiddenSidebarText:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 3em;\n\t\tmargin-right: 0;\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 84px);\n\t}\n\n\"\"\">>\n\n}\n\n/*\n** Toolbar buttons\n*/\n\n.tc-page-controls svg.tc-image-new-button {\n fill: <<colour toolbar-new-button>>;\n}\n\n.tc-page-controls svg.tc-image-options-button {\n fill: <<colour toolbar-options-button>>;\n}\n\n.tc-page-controls svg.tc-image-save-button {\n fill: <<colour toolbar-save-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-info-button {\n fill: <<colour toolbar-info-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-edit-button {\n fill: <<colour toolbar-edit-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-close-button {\n fill: <<colour toolbar-close-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-delete-button {\n fill: <<colour toolbar-delete-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-cancel-button {\n fill: <<colour toolbar-cancel-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-done-button {\n fill: <<colour toolbar-done-button>>;\n}\n\n/*\n** Tiddler edit mode\n*/\n\n.tc-tiddler-edit-frame em.tc-edit {\n\tcolor: <<colour muted-foreground>>;\n\tfont-style: normal;\n}\n\n.tc-edit-type-dropdown a.tc-tiddlylink-missing {\n\tfont-style: normal;\n}\n\n.tc-edit-tags {\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tpadding: 4px 8px 4px 8px;\n}\n\n.tc-edit-add-tag {\n\tdisplay: inline-block;\n}\n\n.tc-edit-add-tag .tc-add-tag-name input {\n\twidth: 50%;\n}\n\n.tc-edit-tags .tc-tag-label {\n\tdisplay: inline-block;\n}\n\n.tc-edit-tags-list {\n\tmargin: 14px 0 14px 0;\n}\n\n.tc-remove-tag-button {\n\tpadding-left: 4px;\n}\n\n.tc-tiddler-preview {\n\toverflow: auto;\n}\n\n.tc-tiddler-preview-preview {\n\tfloat: right;\n\twidth: 49%;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tmargin: 4px 3px 3px 3px;\n\tpadding: 3px 3px 3px 3px;\n}\n\n.tc-tiddler-frame .tc-tiddler-preview .tc-edit-texteditor {\n\twidth: 49%;\n}\n\n.tc-tiddler-frame .tc-tiddler-preview canvas.tc-edit-bitmapeditor {\n\tmax-width: 49%;\n}\n\n.tc-edit-fields {\n\twidth: 100%;\n}\n\n\n.tc-edit-fields table, .tc-edit-fields tr, .tc-edit-fields td {\n\tborder: none;\n\tpadding: 4px;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(odd) {\n\tbackground-color: <<colour tiddler-editor-fields-odd>>;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(even) {\n\tbackground-color: <<colour tiddler-editor-fields-even>>;\n}\n\n.tc-edit-field-name {\n\ttext-align: right;\n}\n\n.tc-edit-field-value input {\n\twidth: 100%;\n}\n\n.tc-edit-field-remove {\n}\n\n.tc-edit-field-remove svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n\tvertical-align: middle;\n}\n\n.tc-edit-field-add-name {\n\tdisplay: inline-block;\n\twidth: 15%;\n}\n\n.tc-edit-field-add-value {\n\tdisplay: inline-block;\n\twidth: 40%;\n}\n\n.tc-edit-field-add-button {\n\tdisplay: inline-block;\n\twidth: 10%;\n}\n\n/*\n** Storyview Classes\n*/\n\n.tc-storyview-zoomin-tiddler {\n\tposition: absolute;\n\tdisplay: block;\n\twidth: 100%;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-storyview-zoomin-tiddler {\n\t\twidth: calc(100% - 84px);\n\t}\n\n}\n\n/*\n** Dropdowns\n*/\n\n.tc-btn-dropdown {\n\ttext-align: left;\n}\n\n.tc-btn-dropdown svg, .tc-btn-dropdown img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-drop-down-wrapper {\n\tposition: relative;\n}\n\n.tc-drop-down {\n\tmin-width: 380px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\ttext-shadow: none;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-drop-down {\n\tmargin-left: 14px;\n}\n\n.tc-drop-down button svg, .tc-drop-down a svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down button.tc-btn-invisible:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down p {\n\tpadding: 0 14px 0 14px;\n}\n\n.tc-drop-down svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-drop-down img {\n\twidth: 1em;\n}\n\n.tc-drop-down-language-chooser img {\n\twidth: 2em;\n\tvertical-align: baseline;\n}\n\n.tc-drop-down a, .tc-drop-down button {\n\tdisplay: block;\n\tpadding: 0 14px 0 14px;\n\twidth: 100%;\n\ttext-align: left;\n\tcolor: <<colour foreground>>;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-tab-set .tc-tab-buttons button {\n\tdisplay: inline-block;\n width: auto;\n margin-bottom: 0px;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.tc-drop-down .tc-prompt {\n\tpadding: 0 14px;\n}\n\n.tc-drop-down .tc-chooser {\n\tborder: none;\n}\n\n.tc-drop-down .tc-chooser .tc-swatches-horiz {\n\tfont-size: 0.4em;\n\tpadding-left: 1.2em;\n}\n\n.tc-drop-down .tc-file-input-wrapper {\n\twidth: 100%;\n}\n\n.tc-drop-down .tc-file-input-wrapper button {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-drop-down a:hover, .tc-drop-down button:hover, .tc-drop-down .tc-file-input-wrapper:hover button {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-tab-buttons button {\n\tbackground-color: <<colour dropdown-tab-background>>;\n}\n\n.tc-drop-down .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour dropdown-tab-background-selected>>;\n\tborder-bottom: 1px solid <<colour dropdown-tab-background-selected>>;\n}\n\n.tc-drop-down-bullet {\n\tdisplay: inline-block;\n\twidth: 0.5em;\n}\n\n.tc-drop-down .tc-tab-contents a {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-block-dropdown-wrapper {\n\tposition: relative;\n}\n\n.tc-block-dropdown {\n\tposition: absolute;\n\tmin-width: 220px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\tz-index: 1000;\n\ttext-shadow: none;\n}\n\n.tc-block-dropdown.tc-search-drop-down {\n\tmargin-left: -12px;\n}\n\n.tc-block-dropdown a {\n\tdisplay: block;\n\tpadding: 4px 14px 4px 14px;\n}\n\n.tc-block-dropdown.tc-search-drop-down a {\n\tdisplay: block;\n\tpadding: 0px 10px 0px 10px;\n}\n\n.tc-drop-down .tc-dropdown-item-plain,\n.tc-block-dropdown .tc-dropdown-item-plain {\n\tpadding: 4px 14px 4px 7px;\n}\n\n.tc-drop-down .tc-dropdown-item,\n.tc-block-dropdown .tc-dropdown-item {\n\tpadding: 4px 14px 4px 7px;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-block-dropdown a:hover {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-search-results {\n\tpadding: 0 7px 0 7px;\n}\n\n.tc-image-chooser, .tc-colour-chooser {\n\twhite-space: normal;\n}\n\n.tc-image-chooser a,\n.tc-colour-chooser a {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.tc-image-chooser a {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 2px;\n\tmargin: 2px;\n\twidth: 4em;\n\theight: 4em;\n}\n\n.tc-colour-chooser a {\n\tpadding: 3px;\n\twidth: 2em;\n\theight: 2em;\n\tvertical-align: middle;\n}\n\n.tc-image-chooser a:hover,\n.tc-colour-chooser a:hover {\n\tbackground: <<colour primary>>;\n\tpadding: 0px;\n\tborder: 3px solid <<colour primary>>;\n}\n\n.tc-image-chooser a svg,\n.tc-image-chooser a img {\n\tdisplay: inline-block;\n\twidth: auto;\n\theight: auto;\n\tmax-width: 3.5em;\n\tmax-height: 3.5em;\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tmargin: auto;\n}\n\n/*\n** Modals\n*/\n\n.tc-modal-wrapper {\n\tposition: fixed;\n\toverflow: auto;\n\toverflow-y: scroll;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 900;\n}\n\n.tc-modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 1000;\n\tbackground-color: <<colour modal-backdrop>>;\n}\n\n.tc-modal {\n\tz-index: 1100;\n\tbackground-color: <<colour modal-background>>;\n\tborder: 1px solid <<colour modal-border>>;\n}\n\n@media (max-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 1em;\n\t\tleft: 1em;\n\t\tright: 1em;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n@media (min-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 2em;\n\t\tleft: 25%;\n\t\twidth: 50%;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n.tc-modal-header {\n\tpadding: 9px 15px;\n\tborder-bottom: 1px solid <<colour modal-header-border>>;\n}\n\n.tc-modal-header h3 {\n\tmargin: 0;\n\tline-height: 30px;\n}\n\n.tc-modal-header img, .tc-modal-header svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-modal-body {\n\tpadding: 15px;\n}\n\n.tc-modal-footer {\n\tpadding: 14px 15px 15px;\n\tmargin-bottom: 0;\n\ttext-align: right;\n\tbackground-color: <<colour modal-footer-background>>;\n\tborder-top: 1px solid <<colour modal-footer-border>>;\n}\n\n/*\n** Notifications\n*/\n\n.tc-notification {\n\tposition: fixed;\n\ttop: 14px;\n\tright: 42px;\n\tz-index: 1300;\n\tmax-width: 280px;\n\tpadding: 0 14px 0 14px;\n\tbackground-color: <<colour notification-background>>;\n\tborder: 1px solid <<colour notification-border>>;\n}\n\n/*\n** Tabs\n*/\n\n.tc-tab-set.tc-vertical {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tab-buttons {\n\tfont-size: 0.85em;\n\tpadding-top: 1em;\n\tmargin-bottom: -2px;\n}\n\n.tc-tab-buttons.tc-vertical {\n\tz-index: 100;\n\tdisplay: block;\n\tpadding-top: 14px;\n\tvertical-align: top;\n\ttext-align: right;\n\tmargin-bottom: inherit;\n\tmargin-right: -1px;\n\tmax-width: 33%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n}\n\n.tc-tab-buttons button.tc-tab-selected {\n\tcolor: <<colour tab-foreground-selected>>;\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-left: 1px solid <<colour tab-border-selected>>;\n\tborder-top: 1px solid <<colour tab-border-selected>>;\n\tborder-right: 1px solid <<colour tab-border-selected>>;\n}\n\n.tc-tab-buttons button {\n\tcolor: <<colour tab-foreground>>;\n\tpadding: 3px 5px 3px 5px;\n\tmargin-right: 0.3em;\n\tfont-weight: 300;\n\tborder: none;\n\tbackground: inherit;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-right: 1px solid <<colour tab-border>>;\n\tborder-top-left-radius: 2px;\n\tborder-top-right-radius: 2px;\n}\n\n.tc-tab-buttons.tc-vertical button {\n\tdisplay: block;\n\twidth: 100%;\n\tmargin-top: 3px;\n\tmargin-right: 0;\n\ttext-align: right;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tborder-right: none;\n\tborder-top-left-radius: 2px;\n\tborder-bottom-left-radius: 2px;\n}\n\n.tc-tab-buttons.tc-vertical button.tc-tab-selected {\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-right: 1px solid <<colour tab-background-selected>>;\n}\n\n.tc-tab-divider {\n\tborder-top: 1px solid <<colour tab-divider>>;\n}\n\n.tc-tab-divider.tc-vertical {\n\tdisplay: none;\n}\n\n.tc-tab-content {\n\tmargin-top: 14px;\n}\n\n.tc-tab-content.tc-vertical {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-top: 0;\n\tpadding-left: 14px;\n\tborder-left: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 70%;\n\tflex: 1 0 70%;\n}\n\n.tc-sidebar-lists .tc-tab-buttons {\n\tmargin-bottom: -1px;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tcolor: <<colour sidebar-tab-foreground-selected>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border-selected>>;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button {\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tcolor: <<colour sidebar-tab-foreground>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border>>;\n}\n\n.tc-sidebar-lists .tc-tab-divider {\n\tborder-top: 1px solid <<colour sidebar-tab-divider>>;\n}\n\n.tc-more-sidebar .tc-tab-buttons button {\n\tdisplay: block;\n\twidth: 100%;\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tborder-top: none;\n\tborder-left: none;\n\tborder-bottom: none;\n\tborder-right: 1px solid #ccc;\n\tmargin-bottom: inherit;\n}\n\n.tc-more-sidebar .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tborder: none;\n}\n\n/*\n** Alerts\n*/\n\n.tc-alerts {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tmax-width: 500px;\n\tz-index: 20000;\n}\n\n.tc-alert {\n\tposition: relative;\n\tmargin: 28px;\n\tpadding: 14px 14px 14px 14px;\n\tborder: 2px solid <<colour alert-border>>;\n\tbackground-color: <<colour alert-background>>;\n}\n\n.tc-alert-toolbar {\n\tposition: absolute;\n\ttop: 14px;\n\tright: 14px;\n}\n\n.tc-alert-toolbar svg {\n\tfill: <<colour alert-muted-foreground>>;\n}\n\n.tc-alert-subtitle {\n\tcolor: <<colour alert-muted-foreground>>;\n\tfont-weight: bold;\n}\n\n.tc-alert-highlight {\n\tcolor: <<colour alert-highlight>>;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-static-alert {\n\t\tposition: relative;\n\t}\n\n\t.tc-static-alert-inner {\n\t\tposition: absolute;\n\t\tz-index: 100;\n\t}\n\n}\n\n.tc-static-alert-inner {\n\tpadding: 0 2px 2px 42px;\n\tcolor: <<colour static-alert-foreground>>;\n}\n\n/*\n** Control panel\n*/\n\n.tc-control-panel td {\n\tpadding: 4px;\n}\n\n.tc-control-panel table, .tc-control-panel table input, .tc-control-panel table textarea {\n\twidth: 100%;\n}\n\n.tc-plugin-info {\n\tdisplay: block;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground-colour: <<colour background>>;\n\tmargin: 0.5em 0 0.5em 0;\n\tpadding: 4px;\n}\n\n.tc-plugin-info-disabled {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n\tbackground: repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n}\n\n.tc-plugin-info-disabled:hover {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n\tbackground: repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n}\n\na.tc-tiddlylink.tc-plugin-info:hover {\n\ttext-decoration: none;\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour foreground>>;\n}\n\na.tc-tiddlylink.tc-plugin-info:hover .tc-plugin-info > .tc-plugin-info-chunk > svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-plugin-info-chunk {\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-plugin-info-chunk h1 {\n\tfont-size: 1em;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk h2 {\n\tfont-size: 0.8em;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk div {\n\tfont-size: 0.7em;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info:hover > .tc-plugin-info-chunk > img, .tc-plugin-info:hover > .tc-plugin-info-chunk > svg {\n\twidth: 2em;\n\theight: 2em;\n\tfill: <<colour foreground>>;\n}\n\n.tc-plugin-info > .tc-plugin-info-chunk > img, .tc-plugin-info > .tc-plugin-info-chunk > svg {\n\twidth: 2em;\n\theight: 2em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-plugin-info.tc-small-icon > .tc-plugin-info-chunk > img, .tc-plugin-info.tc-small-icon > .tc-plugin-info-chunk > svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-plugin-info-dropdown {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tmargin-top: -8px;\n}\n\n.tc-plugin-info-dropdown-message {\n\tbackground: <<colour message-background>>;\n\tpadding: 0.5em 1em 0.5em 1em;\n\tfont-weight: bold;\n\tfont-size: 0.8em;\n}\n\n.tc-plugin-info-dropdown-body {\n\tpadding: 1em 1em 1em 1em;\n}\n\n/*\n** Message boxes\n*/\n\n.tc-message-box {\n\tborder: 1px solid <<colour message-border>>;\n\tbackground: <<colour message-background>>;\n\tpadding: 0px 21px 0px 21px;\n\tfont-size: 12px;\n\tline-height: 18px;\n\tcolor: <<colour message-foreground>>;\n}\n\n/*\n** Pictures\n*/\n\n.tc-bordered-image {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 5px;\n\tmargin: 5px;\n}\n\n/*\n** Floats\n*/\n\n.tc-float-right {\n\tfloat: right;\n}\n\n/*\n** Chooser\n*/\n\n.tc-chooser {\n\tborder: 1px solid <<colour table-border>>;\n}\n\n.tc-chooser-item {\n\tborder: 8px;\n\tpadding: 2px 4px;\n}\n\n.tc-chooser-item a.tc-tiddlylink {\n\tdisplay: block;\n\ttext-decoration: none;\n\tcolor: <<colour tiddler-link-foreground>>;\n\tbackground-color: <<colour tiddler-link-background>>;\n}\n\n.tc-chooser-item a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n}\n\n/*\n** Palette swatches\n*/\n\n.tc-swatches-horiz {\n}\n\n.tc-swatches-horiz .tc-swatch {\n\tdisplay: inline-block;\n}\n\n.tc-swatch {\n\twidth: 2em;\n\theight: 2em;\n\tmargin: 0.4em;\n\tborder: 1px solid #888;\n}\n\n/*\n** Table of contents\n*/\n\n.tc-sidebar-lists .tc-table-of-contents {\n\twhite-space: nowrap;\n}\n\n.tc-table-of-contents button {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents svg {\n\twidth: 0.7em;\n\theight: 0.7em;\n\tvertical-align: middle;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents ol {\n\tlist-style-type: none;\n\tpadding-left: 0;\n}\n\n.tc-table-of-contents ol ol {\n\tpadding-left: 1em;\n}\n\n.tc-table-of-contents li {\n\tfont-size: 1.0em;\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n\tline-height: 1.4;\n}\n\n.tc-table-of-contents li li a {\n\tfont-weight: normal;\n}\n\n.tc-table-of-contents li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n\tline-height: 1.5;\n}\n\n.tc-table-of-contents li li li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n}\n\n.tc-tabbed-table-of-contents {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents {\n\tz-index: 100;\n\tdisplay: inline-block;\n\tpadding-left: 1em;\n\tmax-width: 50%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n\tbackground: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a,\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tdisplay: block;\n\tpadding: 0.12em 1em 0.12em 0.25em;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a {\n\tborder-top: 1px solid <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-background>>;\n\tborder-bottom: 1px solid <<colour tab-background>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a:hover {\n\ttext-decoration: none;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour background>>;\n\tmargin-right: -1px;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a:hover {\n\ttext-decoration: none;\n}\n\n.tc-tabbed-table-of-contents .tc-tabbed-table-of-contents-content {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-left: 1.5em;\n\tpadding-right: 1.5em;\n\tborder: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 50%;\n\tflex: 1 0 50%;\n}\n\n/*\n** Dirty indicator\n*/\n\nbody.tc-dirty span.tc-dirty-indicator, body.tc-dirty span.tc-dirty-indicator svg {\n\tfill: <<colour dirty-indicator>>;\n\tcolor: <<colour dirty-indicator>>;\n}\n\n/*\n** File inputs\n*/\n\n.tc-file-input-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-file-input-wrapper input[type=file] {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tfont-size: 999px;\n\tmax-width: 100%;\n\tmax-height: 100%;\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\toutline: none;\n\tbackground: white;\n\tcursor: pointer;\n\tdisplay: inline-block;\n}\n\n/*\n** Thumbnail macros\n*/\n\n.tc-thumbnail-wrapper {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin: 6px;\n\tvertical-align: top;\n}\n\n.tc-thumbnail-right-wrapper {\n\tfloat:right;\n\tmargin: 0.5em 0 0.5em 0.5em;\n}\n\n.tc-thumbnail-image {\n\ttext-align: center;\n\toverflow: hidden;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-image svg,\n.tc-thumbnail-image img {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n\tmin-width: 100%;\n\tmin-height: 100%;\n\tmax-width: 100%;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image img {\n\tfilter: alpha(opacity=0.8);\n\topacity: 0.8;\n}\n\n.tc-thumbnail-background {\n\tposition: absolute;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-icon svg,\n.tc-thumbnail-icon img {\n\twidth: 3em;\n\theight: 3em;\n\t<<filter \"drop-shadow(2px 2px 4px rgba(0,0,0,0.3))\">>\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon img {\n\tfill: #fff;\n\t<<filter \"drop-shadow(3px 3px 4px rgba(0,0,0,0.6))\">>\n}\n\n.tc-thumbnail-icon {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tdisplay: -webkit-flex;\n\t-webkit-align-items: center;\n\t-webkit-justify-content: center;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.tc-thumbnail-caption {\n\tposition: absolute;\n\tbackground-color: #777;\n\tcolor: #fff;\n\ttext-align: center;\n\tbottom: 0;\n\twidth: 100%;\n\tfilter: alpha(opacity=0.9);\n\topacity: 0.9;\n\tline-height: 1.4;\n\tborder-bottom-left-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-caption {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n}\n\n/*\n** Errors\n*/\n\n.tc-error {\n\tbackground: #f00;\n\tcolor: #fff;\n}\n"
},
"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize",
"text": "15px"
},
"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/bodylineheight",
"text": "22px"
},
"$:/themes/tiddlywiki/vanilla/metrics/fontsize": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/fontsize",
"text": "14px"
},
"$:/themes/tiddlywiki/vanilla/metrics/lineheight": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/lineheight",
"text": "20px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storyleft": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storyleft",
"text": "0px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storytop": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storytop",
"text": "0px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storyright": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storyright",
"text": "770px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storywidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storywidth",
"text": "770px"
},
"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth",
"text": "686px"
},
"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint",
"text": "960px"
},
"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth",
"text": "350px"
},
"$:/themes/tiddlywiki/vanilla/options/stickytitles": {
"title": "$:/themes/tiddlywiki/vanilla/options/stickytitles",
"text": "no"
},
"$:/themes/tiddlywiki/vanilla/options/sidebarlayout": {
"title": "$:/themes/tiddlywiki/vanilla/options/sidebarlayout",
"text": "fixed-fluid"
},
"$:/themes/tiddlywiki/vanilla/options/codewrapping": {
"title": "$:/themes/tiddlywiki/vanilla/options/codewrapping",
"text": "pre-wrap"
},
"$:/themes/tiddlywiki/vanilla/reset": {
"title": "$:/themes/tiddlywiki/vanilla/reset",
"type": "text/plain",
"text": "/*! normalize.css v3.0.0 | MIT License | git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Correct `block` display not defined in IE 8/9.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; /* 1 */\n vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9.\n * Hide the `template` element in IE, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n background: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9, Safari 5, and Chrome.\n */\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.\n */\n\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari 5 and Chrome.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari 5, and Chrome.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9.\n */\n\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow displayed oddly in IE 9.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari 5.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; /* 1 */\n font: inherit; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10.\n */\n\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8+, and Opera\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome\n * (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; /* 2 */\n box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n"
},
"$:/themes/tiddlywiki/vanilla/settings/fontfamily": {
"title": "$:/themes/tiddlywiki/vanilla/settings/fontfamily",
"text": "\"Helvetica Neue\", Helvetica, Arial, \"Lucida Grande\", \"DejaVu Sans\", sans-serif"
},
"$:/themes/tiddlywiki/vanilla/settings/codefontfamily": {
"title": "$:/themes/tiddlywiki/vanilla/settings/codefontfamily",
"text": "Monaco, Consolas, \"Lucida Console\", \"DejaVu Sans Mono\", monospace"
},
"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment": {
"title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment",
"text": "fixed"
},
"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize": {
"title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize",
"text": "auto"
},
"$:/themes/tiddlywiki/vanilla/sticky": {
"title": "$:/themes/tiddlywiki/vanilla/sticky",
"text": "<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\" type=\"match\" text=\"yes\">\n``\n.tc-tiddler-title {\n\tposition: -webkit-sticky;\n\tposition: -moz-sticky;\n\tposition: -o-sticky;\n\tposition: -ms-sticky;\n\tposition: sticky;\n\ttop: 0px;\n\tbackground: ``<<colour tiddler-background>>``;\n\tz-index: 500;\n}\n``\n</$reveal>\n"
}
}
}
!Vous êtes libre ce soir ?
L'atelier //Vous êtes libre ce soir// est un rendez-vous hebdomadaire sur la culture libre, au sein de l’EPN l’@nnexe, de l’association Relais 59, Paris 12.
!!C’est où ?
L’@nnexe,
8 Place Henri Frenay,
75012 Paris
!!Accès :
*''METRO'' : Gare de Lyon : ligne 1, sortie rue Legraverend (située sur le Bd Diderot) et ligne 14, sortie n°9 place Henri Frenay Gare de Lyon
*''RER'' : lignes A et D du RER, sortie n°9 place Henri Frenay
*''BUS'' : Gare de Lyon lignes 20, 63 et 65
!2006 - 2014
Nous sommes en 2006, et [[VELCS]] est une émission de radio que j’anime seul dans mon ~~garage~~ salon, avec l’enregistrement de podcasts envoyés à une radio locale à Tours.
L’émission trouve quelques temps après une seconde vie sur une autre radio, à un rythme hebdomadaire, vous pouvez d’ailleurs trouver les archives sur le blog : http://velcs.info
Aujourd’hui [[VELCS]] n’est plus une émission de radio, mais le principe reste le même : ''vous faire découvrir l’univers et l’esprit de la culture libre.''
!2014 - 2015
Le rendez-vous de la saison 1 c'était tous les jeudis.
Pour la deuxième saison, qui a débuté le mardi 16 septembre 2014, le rendez-vous hebdomadaire est fixé au mardi, toujours de 18h30 à 20h00.
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NSAwIFIKPj4Kc3RyZWFtCnicY2CgBgAAAEYAAQplbmRzdHJlYW0KZW5kb2JqCjExNyAwIG9iagogICAxMgplbmRvYmoKMTE4IDAgb2JqCjw8IC9GdW5jdGlvblR5cGUgMgogICAvRG9tYWluIFsgMCAxIF0KICAgL0MwIFsgMC4xODAzOTIgMC4yMDM5MjIgMC4yMTE3NjUgXQogICAvQzEgWyAwLjE4MDM5MiAwLjIwMzkyMiAwLjIxMTc2NSBdCiAgIC9OIDEKPj4KZW5kb2JqCjExOSAwIG9iago8PCAvRnVuY3Rpb25UeXBlIDIKICAgL0RvbWFpbiBbIDAgMSBdCiAgIC9DMCBbIDEgXQogICAvQzEgWyAwIF0KICAgL04gMQo+PgplbmRvYmoKOTggMCBvYmoKICAgICAgPDwgL1NoYWRpbmdUeXBlIDIKICAgICAgICAgL0NvbG9yU3BhY2UgL0RldmljZVJHQgogICAgICAgICAvQ29vcmRzIFsgMTYuOTg3NjgyIDE2LjUxNTY1IDMxLjAxMjMxOCAxNi41MTU2NSBdCiAgICAgICAgIC9Eb21haW4gWyAwIDEgXQogICAgICAgICAvRXh0ZW5kIFsgdHJ1ZSB0cnVlIF0KICAgICAgICAgL0Z1bmN0aW9uIDExOCAwIFIKICAgICAgPj4KZW5kb2JqCjEyMCAwIG9iagogICAgICA8PCAvU2hhZGluZ1R5cGUgMgogICAgICAgICAvQ29sb3JTcGFjZSAvRGV2aWNlR3JheQogICAgICAgICAvQ29vcmRzIFsgMTYuOTg3NjgyIDE2LjUxNTY1IDMxLjAxMjMxOCAxNi41MTU2NSBdCiAgICAgICAgIC9Eb21haW4gWyAwIDEgXQogICAgICAgICAvRXh0ZW5kIFsgdHJ1ZSB0cnVlIF0KICAgICAgICAgL0Z1bmN0aW9uIDExOSAwIFIKICAgICAgPj4KZW5kb2JqCjEyMSAwIG9iago8PCAvTGVuZ3RoIDEyMiAwIFIKICAgL0ZpbHRlciAvRmxhdGVEZWNvZGUKICAgL1R5cGUgL1hPYmplY3QKICAgL1N1YnR5cGUgL0Zvcm0KICAgL0Zvcm1UeXBlIDEKICAgL0JCb3ggWyAxNS4wMzA1NzggOC41OTM0OTYgMzMuMzA0OTQ1IDI0LjgyMjY4OSBdCiAgIC9SZXNvdXJjZXMKICAgICAgPDwgL0V4dEdTdGF0ZQogICAgICAgICAgICA8PCAvYTAgPDwgL2NhIDEgL0NBIDEgPj4gICAgICA+PgogICAgICAgICAvU2hhZGluZwogICAgICAgICAgICA8PCAvc2gxMjAgMTIwIDAgUiA+PgogICAgICA+PgogICAvR3JvdXAKICAgICAgPDwgL1R5cGUgL0dyb3VwCiAgICAgICAgIC9TIC9UcmFuc3BhcmVuY3kKICAgICAgICAgL0kgdHJ1ZQogICAgICAgICAvQ1MgL0RldmljZUdyYXkKICAgICAgPj4KPj4Kc3RyZWFtCnic0080UEgvVtAvzjA0MlAozuACACkWBH0KZW5kc3RyZWFtCmVuZG9iagoxMjIgMCBvYmoKICAgMjUKZW5kb2JqCjEyMyAwIG9iago8PCAvVHlwZSAvTWFzawogICAvUyAvTHVtaW5vc2l0eQogICAvRyAxMjEgMCBSCj4+CmVuZG9iago5OSAwIG9iago8PCAvVHlwZSAvRXh0R1N0YXRlCiAgIC9TTWFzayAxMjMgMCBSCiAgIC9jYSAxCiAgIC9DQSAxCiAgIC9BSVMgZmFsc2UKPj4KZW5kb2JqCjEyNCAwIG9iago8PCAvRnVuY3Rpb25UeXBlIDIKICAgL0RvbWFpbiBbIDAgMSBdCiAgIC9DMCBbIDEgMSAxIF0KICAgL0MxIFsgMSAxIDEgXQogICAvTiAxCj4+CmVuZG9iagoxMjUgMCBvYmoKPDwgL0Z1bmN0aW9uVHlwZSAyCiAgIC9Eb21haW4gWyAwIDEgXQogICAvQzAgWyAwLjU3Mzc3IF0KICAgL0MxIFsgMCBdCiAgIC9OIDEKPj4KZW5kb2JqCjExMCAwIG9iagogICAgICA8PCAvU2hhZGluZ1R5cGUgMwogICAgICAgICAvQ29sb3JTcGFjZSAvRGV2aWNlUkdCCiAgICAgICAgIC9Db29yZHMgWyA5LjkyNjQ1NSAyNi44Njc2NjggMCA5LjkyNjQ1NSAyNi44Njc2NjggMTMuODgyNjUxIF0KICAgICAgICAgL0RvbWFpbiBbIDAgMSBdCiAgICAgICAgIC9FeHRlbmQgWyB0cnVlIHRydWUgXQogICAgICAgICAvRnVuY3Rpb24gMTI0IDAgUgogICAgICA+PgplbmRvYmoKMTI2IDAgb2JqCiAgICAgIDw8IC9TaGFkaW5nVHlwZSAzCiAgICAgICAgIC9Db2xvclNwYWNlIC9EZXZpY2VHcmF5CiAgICAgICAgIC9Db29yZHMgWyA5LjkyNjQ1NSAyNi44Njc2NjggMCA5LjkyNjQ1NSAyNi44Njc2NjggMTMuODgyNjUxIF0KICAgICAgICAgL0RvbWFpbiBbIDAgMSBdCiAgICAgICAgIC9FeHRlbmQgWyB0cnVlIHRydWUgXQogICAgICAgICAvRnVuY3Rpb24gMTI1IDAgUgogICAgICA+PgplbmRvYmoKMTI3IDAgb2JqCjw8IC9MZW5ndGggMTI4IDAgUgogICAvRmlsdGVyIC9GbGF0ZURlY29kZQogICAvVHlwZSAvWE9iamVjdAogICAvU3VidHlwZSAvRm9ybQogICAvRm9ybVR5cGUgMQogICAvQkJveCBbIC0xNi4zMjc0MzEgMC41MjQyNTMgOTMuOTQxMDk5IDUzLjk2OTIzNCBdCiAgIC9SZXNvdXJjZXMKICAgICAgPDwgL0V4dEdTdGF0ZQogICAgICAgICAgICA8PCAvYTAgPDwgL2NhIDEgL0NBIDEgPj4gICAgICA+PgogICAgICAgICAvU2hhZGluZwogICAgICAgICAgICA8PCAvc2gxMjYgMTI2IDAgUiA+PgogICAgICA+PgogICAvR3JvdXAKICAgICAgPDwgL1R5cGUgL0dyb3VwCiAgICAgICAgIC9TIC9UcmFuc3BhcmVuY3kKICAgICAgICAgL0kgdHJ1ZQogICAgICAgICAvQ1MgL0RldmljZUdyYXkKICAgICAgPj4KPj4Kc3RyZWFtCnic0080UEgvVtAvzjA0MlMozuACACk0BIMKZW5kc3RyZWFtCmVuZG9iagoxMjggMCBvYmoKICAgMjUKZW5kb2JqCjEyOSAwIG9iago8PCAvVHlwZSAvTWFzawogICAvUyAvTHVtaW5vc2l0eQogICAvRyAxMjcgMCBSCj4+CmVuZG9iagoxMTEgMCBvYmoKPDwgL1R5cGUgL0V4dEdTdGF0ZQogICAvU01hc2sgMTI5IDAgUgogICAvY2EgMQogICAvQ0EgMQogICAvQUlTIGZhbHNlCj4+CmVuZG9iagoxMzAg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YmoKPDwgL1R5cGUgL0ZvbnQKICAgL1N1YnR5cGUgL1R5cGUxCiAgIC9CYXNlRm9udCAvTVpUTk9WK1RpdGlsbGl1bVRleHQxNEwtOTk5d3QKICAgL0ZpcnN0Q2hhciAzMgogICAvTGFzdENoYXIgMjM0CiAgIC9Gb250RGVzY3JpcHRvciAxMzQgMCBSCiAgIC9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCiAgIC9XaWR0aHMgWyAyMzUgNTMwIDAgNTMwIDAgMCAwIDEwMCAwIDAgMCAwIDE3MCA0NDAgMjQ4IDUzMCA1MzAgNTMwIDAgMCAwIDAgNTMwIDAgMCA1MzAgMjMwIDAgMCAwIDAgMzg2IDAgNjA1IDAgNTM0IDAgNTUzIDAgNTk1IDAgMjc4IDAgMCA0ODcgMCAwIDAgNTkyIDAgMCA1MzAgMCAwIDYxMyAwIDAgMCAwIDAgMCAwIDAgMCAwIDUyOCA1NDYgNDM2IDU1MSA1MDcgMzQzIDUzOCA1NjEgMjY4IDAgMCAyNjggODQ3IDU2MSA1MzAgNTQ2IDAgMzYwIDQ5NyAzNTAgNTYxIDQ4NCAwIDQ2NyA0ODUgNDc3IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNDk3IDAgNDk3IF0KICAgIC9Ub1VuaWNvZGUgMTMyIDAgUgo+PgplbmRvYmoKMTM1IDAgb2JqCjw8IC9MZW5ndGggMTM2IDAgUgogICAvRmlsdGVyIC9GbGF0ZURlY29kZQogICAvU3VidHlwZSAvVHlwZTFDCj4+CnN0cmVhbQp4nF1XeVwUx/Kf2d3pgWmzRvYN0QVmjQQFRBGiMeIVOYJGVw5ZjOhDQVHwRNAFNYfghYwSD4ga0eCB+CSgqEkwoLAIuxxRY6LGI4kmvmiiMZqfSWpI4fv8evP+e5/5dPdM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CiAgIC9DYXBIZWlnaHQgOTQyCiAgIC9TdGVtViA4MAogICAvU3RlbUggODAKICAgL0ZvbnRGaWxlMyAxMzUgMCBSCj4+CmVuZG9iagoxOSAwIG9iago8PCAvVHlwZSAvRm9udAogICAvU3VidHlwZSAvVHlwZTEKICAgL0Jhc2VGb250IC9FRlBCS1YrVGl0aWxsaXVtVGV4dDE0TC0yNTB3dAogICAvRmlyc3RDaGFyIDMyCiAgIC9MYXN0Q2hhciAyMzMKICAgL0ZvbnREZXNjcmlwdG9yIDEzOSAwIFIKICAgL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKICAgL1dpZHRocyBbIDIzNSAwIDAgMCAwIDAgMCAxMDAgMCAwIDAgMCAxNzAgNDQwIDI0OCAwIDAgNTMwIDUzMCAwIDAgNTMwIDAgMCAwIDUzMCAwIDAgMCAwIDAgMzg2IDk4NSA2MDQgMCAwIDY0NiAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNjA5IDAgNjI2IDAgMCAwIDU4NyAwIDAgMCAwIDAgMCAwIDAgMCAwIDUyMCA1NDAgNDM3IDU0MSA1MDcgMCAwIDAgMjI4IDAgMCAyMzYgODY4IDU3MCA1MjcgNTQxIDUzNyAzNTUgNDg2IDM2NiA1NTggNDgxIDAgNDU5IDAgNDgwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA1MzYgMCAwIDAgMCAwIDAgMCAwIDQ5NyBdCiAgICAvVG9Vbmljb2RlIDEzNyAwIFIKPj4KZW5kb2JqCjE0MCAwIG9iago8PCAvTGVuZ3RoIDE0MSAwIFIKICAgL0ZpbHRlciAvRmxhdGVEZWNvZGUKICAgL1N1YnR5cGUgL1R5cGUxQwo+PgpzdHJlYW0KeJxdV3lcFFe2rqK7bkGVKZW2CDZSTUSDICCiwSWKG4oiRpDF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IC9CYXNlRm9udCAvS05YS0dDK1RpdGlsbGl1bVRleHQxNEwtNjAwd3QKICAgL0ZpcnN0Q2hhciAzMgogICAvTGFzdENoYXIgMjM0CiAgIC9Gb250RGVzY3JpcHRvciAxNDQgMCBSCiAgIC9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCiAgIC9XaWR0aHMgWyAyMzUgMCAwIDAgMCAwIDAgMTAwIDAgMjYwIDAgMCAxNzAgNDQwIDAgMCA1MzAgNTMwIDUzMCA1MzAgMCA1MzAgMCA1MzAgNTMwIDAgMTk0IDAgMCAwIDAgMCAwIDYwNSAwIDAgNjM3IDAgNTQ4IDYwNCA2ODAgMjU3IDAgMCA1MDQgMCAwIDAgNjAxIDAgNjIwIDUzMiAwIDY0MCA1OTkgMCAwIDAgMCAwIDAgMCAwIDAgMCA1MjQgNTQzIDQzNiA1NDYgNTA3IDMzNyA1MjQgNTYzIDI0NyAyNTYgMCAyNTEgODU4IDU2NiA1MjggNTQ0IDUzNyAzNTggNDkxIDM1OSA1NTkgMCAwIDQ2MyA0ODMgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA1NzIgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA1MzYgMCAwIDAgMCAwIDAgMCAwIDQ5NyA0OTcgXQogICAgL1RvVW5pY29kZSAxNDIgMCBSCj4+CmVuZG9iagoxNDUgMCBvYmoKPDwgL0xlbmd0aCAxNDYgMCBSCiAgIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCiAgIC9TdWJ0eXBlIC9UeXBlMUMKPj4Kc3RyZWFtCnicjVN/UFRVGD1v37734G2zqbRYA/t2BaYxlQnLitG11LBWwjIhVCBMkIbVRWeYjYUaiVlKjNdi4KIo/iBQJHQqpaKmrOmHkP0YJ0e0P0KroVK0yKi+N35QvXVymrF/vDPfmfOde++Zb+6ZK8BqgSAIk3N8AZ/f73uqLKekMjBz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ZWlnaHQgOTQyCiAgIC9TdGVtViA4MAogICAvU3RlbUggODAKICAgL0ZvbnRGaWxlMyAxNTAgMCBSCj4+CmVuZG9iagozNiAwIG9iago8PCAvVHlwZSAvRm9udAogICAvU3VidHlwZSAvVHlwZTEKICAgL0Jhc2VGb250IC9OTFFESVkrVGl0aWxsaXVtVGV4dDE0TC1Cb2xkCiAgIC9GaXJzdENoYXIgMzIKICAgL0xhc3RDaGFyIDExOAogICAvRm9udERlc2NyaXB0b3IgMTU0IDAgUgogICAvRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZwogICAvV2lkdGhzIFsgMjM1IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDQ0MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAyMjYgMCAwIDAgMCA2ODcgMCA2MTUgMCAwIDUzNiAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDUxOCA1MzggMCAwIDUwNyAwIDAgMCAyMTUgMjMzIDAgMjI1IDAgMCA1MjYgNTQwIDUzOCAzNTQgNDgzIDM3MiA1NTcgNDgwIF0KICAgIC9Ub1VuaWNvZGUgMTUyIDAgUgo+PgplbmRvYmoKMSAwIG9iago8PCAvVHlwZSAvUGFnZXMKICAgL0tpZHMgWyAzNyAwIFIgXQogICAvQ291bnQgMQo+PgplbmRvYmoKMTU1IDAgb2JqCjw8IC9DcmVhdG9yIChjYWlybyAxLjEzLjEgKGh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZykpCiAgIC9Qcm9kdWNlciAoY2Fpcm8gMS4xMy4xIChodHRwOi8vY2Fpcm9ncmFwaGljcy5vcmcpKQo+PgplbmRvYmoKMTU2IDAgb2JqCjw8IC9UeXBlIC9DYXRhbG9nCiAgIC9QYWdlcyAxIDAgUgo+PgplbmRvYmoKeHJlZgowIDE1NwowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNTQ1MDcgMDAwMDAgbiAKMDAwMDAwNTYxMSAwMDAwMCBuIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDU1ODggMDAwMDAgbiAKMDAwMDAwNzI2NSAwMDAwMCBuIAowMDAwMDA2ODExIDAwMDAwIG4gCjAwMDAwMDgxODMgMDAwMDAgbiAKMDAwMDAwNzcyNyAwMDAwMCBuIAowMDAwMDA5MDk0IDAwMDAwIG4gCjAwMDAwMDg2NDAgMDAwMDAgbiAKMDAwMDAxOTM2OSAwMDAwMCBuIAowMDAwMDEwMDExIDAwMDAwIG4gCjAwMDAwMDk1NTQgMDAwMDAgbiAKMDAwMDAxMDkyOSAwMDAwMCBuIAowMDAwMDEwNDcyIDAwMDAwIG4gCjAwMDAwMTE4NDkgMDAwMDAgbiAKMDAwMDAxMTM5MiAwMDAwMCBuIAowMDAwMDM2ODk0IDAwMDAwIG4gCjAwMDAwNDIzNzcgMDAwMDAgbiAKMDAwMDA0ODU1NSAwMDAwMCBuIAowMDAwMDEyNzc5IDAwMDAwIG4gCjAwMDAwMTIzMTIgMDAwMDAgbiAKMDAwMDAxMzcxNiAwMDAwMCBuIAowMDAwMDEzMjQ5IDAwMDAwIG4gCjAwMDAwMTQ2NDkgMDAwMDAgbiAKMDAwMDAxNDE4MiAwMDAwMCBuIAowMDAwMDE1NTc1IDAwMDAwIG4gCjAwMDAwMTUxMDggMDAwMDAgbiAKMDAwMDAxNjUwMSAwMDAwMCBuIAowMDAwMDE2MDM0IDAwMDAwIG4gCjAwMDAwMTc0MjcgMDAwMDAgbiAKMDAwMDAxNjk2MCAwMDAwMCBuIAowMDAwMDE4MzU1IDAwMDAwIG4gCjAwMDAwMTc4ODggMDAwMDAgbiAKMDAwMDA1MDk1NiAwMDAwMCBuIAowMDAwMDU0MDY4IDAwMDAwIG4gCjAwMDAwMDYyMTEgMDAwMDAgbiAKMDAwMDAwNjQ0MCAwMDAwMCBuIAowMDAwMDIwMDMyIDAwMDAwIG4gCjAwMDAwMDcyMDUgMDAwMDAgbiAKMDAwMDAwNzM1MiAwMDAwMCBuIAowMDAwMDIwNDEwIDAwMDAwIG4gCjAwMDAwMDgxMjMgMDAwMDAgbiAKMDAwMDAwODI3MCAwMDAwMCBuIAowMDAwMDIwODIzIDAwMDAwIG4gCjAwMDAwMDkwMzQgMDAwMDAgbiAKMDAwMDAwOTE4MSAwMDAwMCBuIAowMDAwMDIxMTQwIDAwMDAwIG4gCjAwMDAwMDk5NTEgMDAwMDAgbiAKMDAwMDAxMDA5OSAwMDAwMCBuIAowMDAwMDIxNTQ5IDAwMDAwIG4gCjAwMDAwMTA4NjkgMDAwMDAgbiAKMDAwMDAxMTAxNyAwMDAwMCBuIAowMDAwMDIxOTUzIDAwMDAwIG4gCjAwMDAwMTE3ODkgMDAwMDAgbiAKMDAwMDAxMTkzNyAwMDAwMCBuIAowMDAwMDIyMzYxIDAwMDAwIG4gCjAwMDAwMTI3MTkgMDAwMDAgbiAKMDAwMDAxMjg2NyAwMDAwMCBuIAowMDAwMDIyNzU2IDAwMDAwIG4gCjAwMDAwMTM2NTYgMDAwMDAgbiAKMDAwMDAxMzgwNCAwMDAwMCBuIAowMDAwMDIzMjk5IDAwMDAwIG4gCjAwMDAwMTQ1ODkgMDAwMDAgbiAKMDAwMDAxNDczNyAwMDAwMCBuIAowMDAwMDIzODA5IDAwMDAwIG4gCjAwMDAwMTU1MTUgMDAwMDAgbiAKMDAwMDAxNTY2MyAwMDAwMCBuIAowMDAwMDI0MjEyIDAwMDAwIG4gCjAwMDAwMTY0NDEgMDAwMDAgbiAKMDAwMDAxNjU4OSAwMDAwMCBuIAowMDAwMDI0NjIyIDAwMDAwIG4gCjAwMDAwMTczNjcgMDAwMDAgbiAKMDAwMDAxNzUxNSAwMDAwMCBuIAowMDAwMDI1MDI4IDAwMDAwIG4gCjAwMDAwMTgyOTUgMDAwMDAgbiAKMDAwMDAxODQ0MyAwMDAwMCBuIAowMDAwMDE5MzQ2IDAwMDAwIG4gCjAwMDAwMjAwMDkgMDAwMDAgbiAKMDAwMDAyMDMwNyAwMDAwMCBuIAowMDAwMDIwMjg1IDAwMDAwIG4gCjAwMDAwMjY0ODAgMDAwMDAgbiAKMDAwMDAyMDc1MCAwMDAwMCBuIAowMDAwMDIwNzI3IDAwMDAwIG4gCjAwMDAwMjEwNjcgMDAwMDAgbiAKMDAwMDAyMTA0NSAwMDAwMCBuIAowMDAwMDIxNDc2IDAwMDAwIG4gCjAwMDAwMjE0NTMgMDAwMDAgbiAKMDAwMDAyMTg4MCAwMDAwMCBuIAowMDAwMDIxODU3IDAwMDAwIG4gCjAwMDAwMjIyODggMDAwMDAgbiAKMDAwMDAyMjI2NSAwMDAwMCBuIAowMDAwMDIyNjUzIDAwMDAwIG4gCjAwMDAwMjI2MzAgMDAwMDAgbiAKMDAwMDAyODYwMSAwMDAwMCBuIAowMDAwMDIzMjA1IDAwMDAwIG4gCjAwMDAwMjMxODIgMDAwMDAgbiAKMDAwMDAyOTEwMyAwMDAwMCBuIAowMDAwMDMwMDk4IDAwMDAwIG4gCjAwMDAwMjM3MzUgMDAwMDAgbiAKMDAwMDAyMzcxMSAwMDAwMCBuIAowMDAwMDI0MTM4IDAwMDAwIG4gCjAwMDAwMjQxMTQgMDAwMDAgbiAKMDAwMDAyNDU0OCAwMDAwMCBuIAowMDAwMDI0NTI0IDAwMDAwIG4gCjAwMDAwMjQ5NTQgMDAwMDAgbiAKMDAwMDAyNDkzMCAwMDAwMCBuIAowMDAwMDI1NDc1IDAwMDAwIG4gCjAwMDAwMjU0NTEgMDAwMDAgbiAKMDAwMDAzMDM4NSAwMDAwMCBuIAowMDAwMDMxNDA2IDAwMDAwIG4gCjAwMDAwMjU1NzQgMDAwMDAgbiAKMDAwMDAyNjQ1NiAwMDAwMCBuIAowMDAwMDI4MDE5IDAwMDAwIG4gCjAwMDAwMjgwNDQgMDAwMDAgbiAKMDAwMDAyODU3NyAwMDAwMCBuIAowMDAwMDI4ODQ2IDAwMDAwIG4gCjAwMDAwMjg4NjkgMDAwMDAgbiAKMDAwMDAyOTAxMSAwMDAwMCBuIAowMDAwMDI5MzI2IDAwMDAwIG4gCjAwMDAwMjk1NTEgMDAwMDAgbiAKMDAwMDAzMDAwOCAwMDAwMCBuIAowMDAwMDMwMDMxIDAwMDAwIG4gCjAwMDAwMzAxODcgMDAwMDAgbiAKMDAwMDAzMDI4NyAwMDAwMCBuIAowMDAwMDMwNjIxIDAwMDAwIG4gCjAwMDAwMzA4NTggMDAwMDAgbiAKMDAwMDAzMTMxNiAwMDAwMCBuIAowMDAwMDMxMzM5IDAwMDAwIG4gCjAwMDAwMzE0OTYgMDAwMDAgbiAKMDAwMDAzNjAzNiAwMDAwMCBuIAowMDAwMDM2MDYxIDAwMDAwIG4gCjAwMDAwMzY1ODMgMDAwMDAgbiAKMDAwMDAzNjYwNyAwMDAwMCBuIAowMDAwMDM3NjIwIDAwMDAwIG4gCjAwMDAwNDE1NjQgMDAwMDAgbiAKMDAwMDA0MTU4OSAwMDAwMCBuIAowMDAwMDQyMDY2IDAwMDAwIG4gCjAwMDAwNDIwOTAgMDAwMDAgbiAKMDAwMDA0MzA4MSAwMDAwMCBuIAowMDAwMDQ3Njc4IDAwMDAwIG4gCjAwMDAwNDc3MDMgMDAwMDAgbiAKMDAwMDA0ODI0NCAwMDAwMCBuIAowMDAwMDQ4MjY4IDAwMDAwIG4gCjAwMDAwNDkyODkgMDAwMDAgbiAKMDAwMDA1MDI4NCAwMDAwMCBuIAowMDAwMDUwMzA4IDAwMDAwIG4gCjAwMDAwNTA2NDUgMDAwMDAgbiAKMDAwMDA1MDY2OSAwMDAwMCBuIAowMDAwMDUxNDI0IDAwMDAwIG4gCjAwMDAwNTMzMzQgMDAwMDAgbiAKMDAwMDA1MzM1OSAwMDAwMCBuIAowMDAwMDUzNzU4IDAwMDAwIG4gCjAwMDAwNTM3ODIgMDAwMDAgbiAKMDAwMDA1NDU3MyAwMDAwMCBuIAowMDAwMDU0NzAyIDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMTU3CiAgIC9Sb290IDE1NiAwIFIKICAgL0luZm8gMTU1IDAgUgo+PgpzdGFydHhyZWYKNTQ3NTYKJSVFT0YK
Liste des 58 ateliers de la saison 1 et 2 :
<dl>
<$list filter="[tag[Atelier]] +[sort[title]]">
<dt><$link>{{!!title}}</$link></dt>
<dd>{{!!url}}</dd>
<dd><i class="fa fa-tags"></i> {{!!description}}</dd>
<dd>» //{{!!summary}}//</dd>
<dd><i class="fa fa-calendar"></i> {{!!debut}}</dd>
<dd><i class="fa fa-male"></i> {{!!animateur}}</dd>
</$list>
</dl>
http://sourceforge.net/projects/audacity/
<<list-links "[tag[Audio]]">>
<$visjstimeline filter="[tag[Atelier]]" startDateField="debut" endDateField="fin" format="DD/MM/YYYY" navpad/>
<<list-links "[tag[Crowdsourcing]]">>
```
{{{[tag[deux]]}}}
```
{{{[tag[deux]]}}}
http://www.discourse.org/
https://github.com/discourse/discourse
https://fr.wikipedia.org/wiki/DocBook
http://emojione.com/
```
<<list-links "[prefix[$:/emojione/]]">>
```
<<list-links "[prefix[$:/emojione/]]">>
<style>
.my-gallery svg {
width: 10em;
height: 10em;
margin: 1em;
}
</style>
<div class="my-gallery">
<$list filter="[all[tiddlers+shadows]tag[emojione]]">
<span title=<<currentTiddler>>>
<$transclude/>
</span>
</$list>
</div>
```
width="22pt" height="22pt"
```
Exporter les tiddlers avec la recherche avancée par filtre :
```
[prefix[$:/emojione/]]
```
<style>
.my-gallery svg {
width: 10em;
height: 10em;
margin: 1em;
}
</style>
<div class="my-gallery">
<$list filter="[all[tiddlers+shadows]tag[emojione]]">
<span title=<<currentTiddler>>>
<$transclude/>
</span>
</$list>
</div>
<<list-links "[prefix[$:/emojione/]]">>
https://www.mozilla.org/fr/firefox/os/2.0/
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ICAgICAgL3M2NSA2NSAwIFIKICAgICAgL3M2NyA2NyAwIFIKICAgICAgL3M2OSA2OSAwIFIKICAgICAgL3M3MSA3MSAwIFIKICAgICAgL3M3MyA3MyAwIFIKICAgICAgL3M3NSA3NSAwIFIKICAgPj4KICAgL1hPYmplY3QgPDwgL3g2IDYgMCBSIC94OCA4IDAgUiAveDEwIDEwIDAgUiAveDEyIDEyIDAgUiAveDE0IDE0IDAgUiAveDE2IDE2IDAgUiAveDE4IDE4IDAgUiAveDIwIDIwIDAgUiAveDIyIDIyIDAgUiAveDI0IDI0IDAgUiAveDI2IDI2IDAgUiAveDI4IDI4IDAgUiAveDMwIDMwIDAgUiAveDMyIDMyIDAgUiAveDM0IDM0IDAgUiAveDM2IDM2IDAgUiAveDM4IDM4IDAgUiAveDQwIDQwIDAgUiAveDQyIDQyIDAgUiAveDQ0IDQ0IDAgUiAveDQ2IDQ2IDAgUiAveDQ4IDQ4IDAgUiAveDQ5IDQ5IDAgUiAveDUxIDUxIDAgUiAveDUzIDUzIDAgUiAveDU1IDU1IDAgUiAveDU3IDU3IDAgUiAveDYyIDYyIDAgUiAveDY0IDY0IDAgUiAveDY2IDY2IDAgUiAveDY4IDY4IDAgUiAveDcwIDcwIDAgUiAveDcyIDcyIDAgUiAveDc0IDc0IDAgUiAveDc2IDc2IDAgUiA+PgogICAvRm9udCA8PAogICAgICAvZi0wLTAgNTggMCBSCiAgICAgIC9mLTEtMCA1OSAwIFIKICAgICAgL2YtMi0wIDYwIDAgUgogICA+Pgo+PgplbmRvYmoKNzcgMCBvYmoKPDwgL1R5cGUgL1BhZ2UKICAgL1BhcmVudCAxIDAgUgogICAvTWVkaWFCb3ggWyAwIDAgNTk1LjI3NTU3NCA4NDEuODg5NzcxIF0KICAgL0NvbnRlbnRzIDMgMCBSCiAgIC9Hcm91cCA8PAogICAgICAvVHlwZSAvR3JvdXAKICAgICAgL1MgL1RyYW5zcGFyZW5jeQogICAgICAvSSB0cnVlCiAgICAgIC9DUyAvRGV2aWNlUkdCCiAgID4+CiAgIC9SZXNvdXJjZXMgMiAwIFIKPj4KZW5kb2JqCjc4IDAgb2JqCjw8IC9UeXBlIC9YT2JqZWN0CiAgIC9MZW5n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eYAm/784bkJDJRS5ulSkM57ZH/yRJjQHBciCEy7/NkH7RCIVr0F6nd9d4UtCCmVuZHN0cmVhbQplbmRvYmoKMjU3IDAgb2JqCiAgIDUxMwplbmRvYmoKMjM3IDAgb2JqCjw8IC9MZW5ndGggMjU4IDAgUgogICAvRmlsdGVyIC9GbGF0ZURlY29kZQogICAvVHlwZSAvWE9iamVjdAogICAvU3VidHlwZSAvSW1hZ2UKICAgL1dpZHRoIDUwCiAgIC9IZWlnaHQgMjMKICAgL0NvbG9yU3BhY2UgL0RldmljZUdyYXkKICAgL0ludGVycG9sYXRlIHRydWUKICAgL0JpdHNQZXJDb21wb25lbnQgMQogICAvU01hc2sgMjU2IDAgUgo+PgpzdHJlYW0KeJxjYBjkAAAAoQABCmVuZHN0cmVhbQplbmRvYmoKMjU4IDAgb2JqCiAgIDEyCmVuZG9iagoyNTkgMCBvYmoKPDwgL0Z1bmN0aW9uVHlwZSAyCiAgIC9Eb21haW4gWyAwIDEgXQogICAvQzAgWyAwLjE4MDM5MiAwLjIwMzkyMiAwLjIxMTc2NSBdCiAgIC9DMSBbIDAuMTgwMzkyIDAuMjAzOTIyIDAuMjExNzY1IF0KICAgL04gMQo+PgplbmRvYmoKMjYwIDAgb2JqCjw8IC9GdW5jdGlvblR5cGUgMgogICAvRG9tYWluIFsgMCAxIF0KICAgL0MwIFsgMSBdCiAgIC9DMSBbIDAgXQogICAvTiAxCj4+CmVuZG9iagoyNDAgMCBvYmoKICAgICAgPDwgL1NoYWRpbmdUeXBlIDIKICAgICAgICAgL0NvbG9yU3BhY2UgL0RldmljZVJHQgogICAgICAgICAvQ29vcmRzIFsgMTYuOTg3NjgyIDE2LjUxNTY1IDMxLjAxMjMxOCAxNi41MTU2NSBdCiAgICAgICAgIC9Eb21haW4gWyAwIDEgXQogICAgICAgICAvRXh0ZW5kIFsgdHJ1ZSB0cnVlIF0KICAgICAgICAgL0Z1bmN0aW9uIDI1OSAwIFIKICAgICAgPj4KZW5kb2JqCjI2MSAwIG9iagogICAgICA8PCAvU2hhZGluZ1R5cGUgMgogICAgICAgICAvQ29sb3JTcGFjZSAvRGV2aWNlR3JheQogICAgICAgICAvQ29vcmRzIFsgMTYuOTg3NjgyIDE2LjUxNTY1IDMxLjAxMjMxOCAxNi41MTU2NSBdCiAgICAgICAgIC9Eb21haW4gWyAwIDEgXQogICAgICAgICAvRXh0ZW5kIFsgdHJ1ZSB0cnVlIF0KICAgICAgICAgL0Z1bmN0aW9uIDI2MCAwIFIKICAgICAgPj4KZW5kb2JqCjI2MiAwIG9iago8PCAvTGVuZ3RoIDI2MyAwIFIKICAgL0ZpbHRlciAvRmxhdGVEZWNvZGUKICAgL1R5cGUgL1hPYmplY3QKICAgL1N1YnR5cGUgL0Zvcm0KICAgL0Zvcm1UeXBlIDEKICAgL0JCb3ggWyAxNC40MTM3NjMgNy44OTUwMjMgMzMuNTI3NzIyIDI1LjA2Njk2MyBdCiAgIC9SZXNvdXJjZXMKICAgICAgPDwgL0V4dEdTdGF0ZQogICAgICAgICAgICA8PCAvYTAgPDwgL2NhIDEgL0NBIDEgPj4gICAgICA+PgogICAgICAgICAvU2hhZGluZwogICAgICAgICAgICA8PCAvc2gyNjEgMjYxIDAgUiA+PgogICAgICA+PgogICAvR3JvdXAKICAgICAgPDwgL1R5cGUgL0dyb3VwCiAgICAgICAgIC9TIC9UcmFuc3BhcmVuY3kKICAgICAgICAgL0kgdHJ1ZQogICAgICAgICAvQ1MgL0RldmljZUdyYXkKICAgICAgPj4KPj4Kc3RyZWFtCnic0080UEgvVtAvzjAyM1QozuACACk6BIMKZW5kc3RyZWFtCmVuZG9iagoyNjMgMCBvYmoKICAgMjUKZW5kb2JqCjI2NCAwIG9iago8PCAvVHlwZSAvTWFzawogICAvUyAvTHVtaW5vc2l0eQogICAvRyAyNjIgMCBSCj4+CmVuZG9iagoyNDEgMCBvYmoKPDwgL1R5cGUgL0V4dEdTdGF0ZQogICAvU01hc2sgMjY0IDAgUgogICAvY2EgMQogICAvQ0EgMQogICAvQUlTIGZhbHNlCj4+CmVuZG9iagoyNjUgMCBvYmoKPDwgL0Z1bmN0aW9uVHlwZSAyCiAgIC9Eb21haW4gWyAwIDEgXQogICAvQzAgWyAxIDEgMSBdCiAgIC9DMSBbIDEgMSAxIF0KICAgL04gMQo+PgplbmRvYmoKMjY2IDAgb2JqCjw8IC9GdW5jdGlvblR5cGUgMgogICAvRG9tYWluIFsgMCAxIF0KICAgL0MwIFsgMC41NzM3NyBdCiAgIC9DMSBbIDAgXQogICAvTiAxCj4+CmVuZG9iagoyNTIgMCBvYmoKICAgICAgPDwgL1NoYWRpbmdUeXBlIDMKICAgICAgICAgL0NvbG9yU3BhY2UgL0RldmljZVJHQgogICAgICAgICAvQ29vcmRzIFsgOS45MjY0NTUgMjYuODY3NjY4IDAgOS45MjY0NTUgMjYuODY3NjY4IDEzLjg4MjY1MSBdCiAgICAgICAgIC9Eb21haW4gWyAwIDEgXQogICAgICAgICAvRXh0ZW5kIFsgdHJ1ZSB0cnVlIF0KICAgICAgICAgL0Z1bmN0aW9uIDI2NSAwIFIKICAgICAgPj4KZW5kb2JqCjI2NyAwIG9iagogICAgICA8PCAvU2hhZGluZ1R5cGUgMwogICAgICAgICAvQ29sb3JTcGFjZSAvRGV2aWNlR3JheQogICAgICAgICAvQ29vcmRzIFsgOS45MjY0NTUgMjYuODY3NjY4IDAgOS45MjY0NTUgMjYuODY3NjY4IDEzLjg4MjY1MSBdCiAgICAgICAgIC9Eb21haW4gWyAwIDEgXQogICAgICAgICAvRXh0ZW5kIFsgdHJ1ZSB0cnVlIF0KICAgICAgICAgL0Z1bmN0aW9uIDI2NiAwIFIKICAgICAgPj4KZW5kb2JqCjI2OCAwIG9iago8PCAvTGVuZ3RoIDI2OSAwIFIKICAgL0ZpbHRlciAvRmxhdGVEZWNvZGUKICAgL1R5cGUgL1hPYmplY3QKICAgL1N1YnR5cGUgL0Zvcm0KICAgL0Zvcm1UeXBlIDEKICAgL0JCb3ggWyAtMTcuNzU2MjE1IDAuMTI5NTYxIDk3LjE4NzA1NyA1NC40MzI0NjYgXQogICAvUmVzb3VyY2VzCiAgICAgIDw8IC9FeHRHU3RhdGUKICAgICAgICAgICAgPDwgL2EwIDw8IC9jYSAxIC9DQSAxID4+ICAgICAgPj4KICAgICAgICAgL1NoYWRpbmcKICAgICAgICAgICAgPDwgL3NoMjY3IDI2NyAwIFIgPj4KICAgICAgPj4KICAgL0dyb3VwCiAgICAgIDw8IC9UeXBlIC9Hcm91cAogICAgICAgICAvUyAvVHJhbnNwYXJlbmN5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y3D91WUtZH9/982fc+ZVK0tedky2a0z0+z+Yp1m6yucHJdLQdAplbmRzdHJlYW0KZW5kb2JqCjI4NCAwIG9iagogICA0MTMKZW5kb2JqCjI4NSAwIG9iago8PCAvVHlwZSAvRm9udERlc2NyaXB0b3IKICAgL0ZvbnROYW1lIC9LQk1DWUYrVGl0aWxsaXVtVGV4dDE0TC02MDB3dAogICAvRm9udEZhbWlseSAoVGl0aWxsaXVtVGV4dDE0TCkKICAgL0ZsYWdzIDQKICAgL0ZvbnRCQm94IFsgLTEwNyAtMjUwIDE3NzAgOTU3IF0KICAgL0l0YWxpY0FuZ2xlIDAKICAgL0FzY2VudCA3NTAKICAgL0Rlc2NlbnQgLTI1MAogICAvQ2FwSGVpZ2h0IDk1NwogICAvU3RlbVYgODAKICAgL1N0ZW1IIDgwCiAgIC9Gb250RmlsZTMgMjgxIDAgUgo+PgplbmRvYmoKNjAgMCBvYmoKPDwgL1R5cGUgL0ZvbnQKICAgL1N1YnR5cGUgL1R5cGUxCiAgIC9CYXNlRm9udCAvS0JNQ1lGK1RpdGlsbGl1bVRleHQxNEwtNjAwd3QKICAgL0ZpcnN0Q2hhciAzMgogICAvTGFzdENoYXIgMjQ5CiAgIC9Gb250RGVzY3JpcHRvciAyODUgMCBSCiAgIC9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCiAgIC9XaWR0aHMgWyAyMzUgMCAwIDAgMCAwIDAgMTAwIDAgMCAwIDAgMCAwIDAgMCA1MzAgNTMwIDUzMCA1MzAgMCAwIDAgMCA1MzAgMCAxOTQgMCAwIDAgMCAzODYgMCAwIDAgNTM1IDAgMCAwIDYwNCAwIDI1NyAwIDAgNTA0IDg0OSAwIDAgNjAxIDAgMCAwIDQ4OCAwIDU5OSA5MTMgMCAwIDAgMCAwIDAgMCAwIDAgNTI0IDU0MyA0MzYgNTQ2IDUwNyAzMzcgNTI0IDU2MyAyNDcgMjU2IDAgMjUxIDg1OCA1NjYgNTI4IDU0NCA1MzcgMzU4IDQ5MSAzNTkgNTU5IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNTM2IDAgMCAwIDAgMCAwIDAgMCAwIDQ5NyAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNTExIF0KICAgIC9Ub1VuaWNvZGUgMjgzIDAgUgo+PgplbmRvYmoKMSAwIG9iago8PCAvVHlwZSAvUGFnZXMKICAgL0tpZHMgWyA3NyAwIFIgXQogICAvQ291bnQgMQo+PgplbmRvYmoKMjg2IDAgb2JqCjw8IC9DcmVhdG9yIChjYWlybyAxLjEzLjEgKGh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZykpCiAgIC9Qcm9kdWNlciAoY2Fpcm8gMS4xMy4xIChodHRwOi8vY2Fpcm9ncmFwaGljcy5vcmcpKQo+PgplbmRvYmoKMjg3IDAgb2JqCjw8IC9UeXBlIC9DYXRhbG9nCiAgIC9QYWdlcyAxIDAgUgo+PgplbmRvYmoKeHJlZgowIDI4OAowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwNzQwMTAgMDAwMDAgbiAKMDAwMDAwNDgwNCAwMDAwMCBuIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDQ3ODEgMDAwMDAgbiAKMDAwMDAwNzA5NiAwMDAwMCBuIAowMDAwMDA2NjQwIDAwMDAwIG4gCjAwMDAwMDgwMDcgMDAwMDAgbiAKMDAwMDAwNzU1MyAwMDAwMCBuIAowMDAwMDA4OTI0IDAwMDAwIG4gCjAwMDAwMDg0NjcgMDAwMDAgbiAKMDAwMDAwOTg0MSAwMDAwMCBuIAowMDAwMDA5Mzg0IDAwMDAwIG4gCjAwMDAwMTA3NTkgMDAwMDAgbiAKMDAwMDAxMDMwMiAwMDAwMCBuIAowMDAwMDExNjc3IDAwMDAwIG4gCjAwMDAwMTEyMjAgMDAwMDAgbiAKMDAwMDAxMjU5NSAwMDAwMCBuIAowMDAwMDEyMTM4IDAwMDAwIG4gCjAwMDAwMTM1MTcgMDAwMDAgbiAKMDAwMDAxMzA1NiAwMDAwMCBuIAowMDAwMDE0NDQyIDAwMDAwIG4gCjAwMDAwMTM5ODAgMDAwMDAgbiAKMDAwMDAxNTM2NyAwMDAwMCBuIAowMDAwMDE0OTA1IDAwMDAwIG4gCjAwMDAwMTYyOTIgMDAwMDAgbiAKMDAwMDAxNTgzMCAwMDAwMCBuIAowMDAwMDE3MjEyIDAwMDAwIG4gCjAwMDAwMTY3NTIgMDAwMDAgbiAKMDAwMDAxODEzNiAwMDAwMCBuIAowMDAwMDE3Njc1IDAwMDAwIG4gCjAwMDAwMTkwNjMgMDAwMDAgbiAKMDAwMDAxODYwMSAwMDAwMCBuIAowMDAwMDE5OTg5IDAwMDAwIG4gCjAwMDAwMTk1MjcgMDAwMDAgbiAKMDAwMDAyMDkxNiAwMDAwMCBuIAowMDAwMDIwNDU0IDAwMDAwIG4gCjAwMDAwMjE4NDMgMDAwMDAgbiAKMDAwMDAyMTM4MSAwMDAwMCBuIAowMDAwMDIyNzY3IDAwMDAwIG4gCjAwMDAwMjIzMDUgMDAwMDAgbiAKMDAwMDAyMzY5NCAwMDAwMCBuIAowMDAwMDIzMjMyIDAwMDAwIG4gCjAwMDAwMjQ2MzEgMDAwMDAgbiAKMDAwMDAyNDE1OSAwMDAwMCBuIAowMDAwMDI1NTU4IDAwMDAwIG4gCjAwMDAwMjUwOTYgMDAwMDAgbiAKMDAwMDAyNjQ3OCAwMDAwMCBuIAowMDAwMDI2MDE5IDAwMDAwIG4gCjAwMDAwMzg2ODYgMDAwMDAgbiAKMDAwMDAyNzQwMCAwMDAwMCBuIAowMDAwMDI2OTQwIDAwMDAwIG4gCjAwMDAwMjgzMjUgMDAwMDAgbiAKMDAwMDAyNzg2MyAwMDAwMCBuIAowMDAwMDI5MjQyIDAwMDAwIG4gCjAwMDAwMjg3ODMgMDAwMDAgbiAKMDAwMDAzMDE2NyAwMDAwMCBuIAowMDAwMDI5NzA1IDAwMDAwIG4gCjAwMDAwNjExNjkgMDAwMDAgbiAKMDAwMDA2NzM4OSAwMDAwMCBuIAowMDAwMDczMjY2IDAwMDAwIG4gCjAwMDAwMzExMDcgMDAwMDAgbiAKMDAwMDAzMDYzMSAwMDAwMCBuIAowMDAwMDMyMDU2IDAwMDAwIG4gCjAwMDAwMzE1ODAgMDAwMDAgbiAKMDAwMDAzMzAwMSAwMDAwMCBuIAowMDAwMDMyNTI1IDAwMDAwIG4gCjAwMDAwMzM5MzggMDAwMDAgbiAKMDAwMDAzMzQ2MiAwMDAwMCBuIAowMDAwMDM0ODc0IDAwMDAwIG4gCjAwMDAwMzQzOTggMDAwMDAgbiAKMDAwMDAzNTgxMCAwMDAwMCBuIAowMDAwMDM1MzM0IDAwMDAwIG4gCjAwMDAwMzY3NDkgMDAwMDAgbiAKMDAwMDAzNjI3MyAwMDAwMCBuIAowMDAwMDM3NjY4IDAwMDAwIG4gCjAwMDAwMzcyMDggMDAwMDAgbiAKMDAwMDAwNjAzNiAwMDAwMCBuIAowMDAwMDA2MjY1IDAwMDAwIG4gCjAwMDAwMzkzNTIgMDAwMDAgbiAKMDAwMDAwNzAzNiAwMDAwMCBuIAowMDAwMDA3MTgzIDAwMDAwIG4gCjAwMDAwMzk3NTQgMDAwMDAgbiAKMDAwMDAwNzk0NyAwMDAwMCBuIAowMDAwMDA4MDk0IDAwMDAwIG4gCjAwMDAwNDAxNTAgMDAwMDAgbiAKMDAwMDAwODg2NCAwMDAwMCBuIAowMDAwMDA5MDExIDAwMDAwIG4gCjAwMDAwNDA1NTQgMDAwMDAgbiAKMDAwMDAwOTc4MSAwMDAwMCBuIAowMDAwMDA5OTI5IDAwMDAwIG4gCjAwMDAwNDA5NTggMDAwMDAgbiAKMDAwMDAxMDY5OSAwMDAwMCBuIAowMDAwMDEwODQ3IDAwMDAwIG4gCjAwMDAwNDEzNjMgMDAwMDAgbiAKMDAwMDAxMTYxNyAwMDAwMCBuIAowMDAwMDExNzY1IDAwMDAwIG4gCjAwMDAwNDE3NjMgMDAwMDAgbiAKMDAwMDAxMjUzNSAwMDAwMCBuIAowMDAwMDEyNjgzIDAwMDAwIG4gCjAwMDAwNDIxNjkgMDAwMDAgbiAKMDAwMDAxMzQ1NiAwMDAwMCBuIAowMDAwMDEzNjA2IDAwMDAwIG4gCjAwMDAwNDI1NzIgMDAwMDAgbiAKMDAwMDAxNDM4MCAwMDAwMCBuIAowMDAwMDE0NTMxIDAwMDAwIG4gCjAwMDAwNDI5NzUgMDAwMDAgbiAKMDAwMDAxNTMwNSAwMDAwMCBuIAowMDAwMDE1NDU2IDAwMDAwIG4gCjAwMDAwNDMzNzcgMDAwMDAgbiAKMDAwMDAxNjIzMCAwMDAwMCBuIAowMDAwMDE2MzgxIDAwMDAwIG4gCjAwMDAwNDM3ODAgMDAwMDAgbiAKMDAwMDAxNzE1MCAwMDAwMCBuIAowMDAwMDE3MzAxIDAwMDAwIG4gCjAwMDAwNDQxNzggMDAwMDAgbiAKMDAwMDAxODA3NCAwMDAwMCBuIAowMDAwMDE4MjI1IDAwMDAwIG4gCjAwMDAwNDQ1NzggMDAwMDAgbiAKMDAwMDAxOTAwMSAwMDAwMCBuIAowMDAwMDE5MTUyIDAwMDAwIG4gCjAwMDAwNDQ5ODIgMDAwMDAgbiAKMDAwMDAxOTkyNyAwMDAwMCBuIAowMDAwMDIwMDc4IDAwMDAwIG4gCjAwMDAwNDUzODcgMDAwMDAgbiAKMDAwMDAyMDg1NCAwMDAwMCBuIAowMDAwMDIxMDA1IDAwMDAwIG4gCjAwMDAwNDU3OTIgMDAwMDAgbiAKMDAwMDAyMTc4MSAwMDAwMCBuIAowMDAwMDIxOTMyIDAwMDAwIG4gCjAwMDAwNDYxOTYgMDAwMDAgbiAKMDAwMDAyMjcwNSAwMDAwMCBuIAowMDAwMDIyODU2IDAwMDAwIG4gCjAwMDAwNDY2MDMgMDAwMDAgbiAKMDAwMDAyMzYzMiAwMDAwMCBuIAowMDAwMDIzNzgzIDAwMDAwIG4gCjAwMDAwNDcwMDYgMDAwMDAgbiAKMDAwMDAyNDU2OSAwMDAwMCBuIAowMDAwMDI0NzIwIDAwMDAwIG4gCjAwMDAwNDc0MTAgMDAwMDAgbiAKMDAwMDAyNTQ5NiAwMDAwMCBuIAowMDAwMDI1NjQ3IDAwMDAwIG4gCjAwMDAwNDc4MTcgMDAwMDAgbiAKMDAwMDAyNjQxNiAwMDAwMCBuIAowMDAwMDI2NTY3IDAwMDAwIG4gCjAwMDAwNDgxMzUgMDAwMDAgbiAKMDAwMDAyNzMzOCAwMDAwMCBuIAowMDAwMDI3NDg5IDAwMDAwIG4gCjAwMDAwNDg1MzkgMDAwMDAgbiAKMDAwMDAyODI2MyAwMDAwMCBuIAowMDAwMDI4NDE0IDAwMDAwIG4gCjAwMDAwNDg5NDYgMDAwMDAgbiAKMDAwMDAyOTE4MCAwMDAwMCBuIAowMDAwMDI5MzMxIDAwMDAwIG4gCjAwMDAwNDkzNDYgMDAwMDAgbiAKMDAwMDAzMDEwNSAwMDAwMCBuIAowMDAwMDMwMjU2IDAwMDAwIG4gCjAwMDAwNDk3NDggMDAwMDAgbiAKMDAwMDAzMTA0NSAwMDAwMCBuIAowMDAwMDMxMTk2IDAwMDAwIG4gCjAwMDAwNTAxNTYgMDAwMDAgbiAKMDAwMDAzMTk5NCAwMDAwMCBuIAowMDAwMDMyMTQ1IDAwMDAwIG4gCjAwMDAwNTA3MTYgMDAwMDAgbiAKMDAwMDAzMjkzOSAwMDAwMCBuIAowMDAwMDMzMDkwIDAwMDAwIG4gCjAwMDAwNTEyMjAgMDAwMDAgbiAKMDAwMDAzMzg3NiAwMDAwMCBuIAowMDAwMDM0MDI3IDAwMDAwIG4gCjAwMDAwNTE2MzEgMDAwMDAgbiAKMDAwMDAzNDgxMiAwMDAwMCBuIAowMDAwMDM0OTYzIDAwMDAwIG4gCjAwMDAwNTIwNDIgMDAwMDAgbiAKMDAwMDAzNTc0OCAwMDAwMCBuIAowMDAwMDM1ODk5IDAwMDAwIG4gCjAwMDAwNTI0NTEgMDAwMDAgbiAKMDAwMDAzNjY4NyAwMDAwMCBuIAowMDAwMDM2ODM4IDAwMDAwIG4gCjAwMDAwNTMwMDEgMDAwMDAgbiAKMDAwMDAzNzYwNiAwMDAwMCBuIAowMDAwMDM3NzU3IDAwMDAwIG4gCjAwMDAwMzg2NjIgMDAwMDAgbiAKMDAwMDAzOTMyOCAwMDAwMCBuIAowMDAwMDM5NjgwIDAwMDAwIG4gCjAwMDAwMzk2NTYgMDAwMDAgbiAKMDAwMDA0MDA3NiAwMDAwMCBuIAowMDAwMDQwMDUyIDAwMDAwIG4gCjAwMDAwNDA0ODAgMDAwMDAgbiAKMDAwMDA0MDQ1NiAwMDAwMCBuIAowMDAwMDQwODg0IDAwMDAwIG4gCjAwMDAwNDA4NjAgMDAwMDAgbiAKMDAwMDA0MTI4OSAwMDAwMCBuIAowMDAwMDQxMjY1IDAwMDAwIG4gCjAwMDAwNDE2ODkgMDAwMDAgbiAKMDAwMDA0MTY2NSAwMDAwMCBuIAowMDAwMDQyMDk1IDAwMDAwIG4gCjAwMDAwNDIwNzEgMDAwMDAgbiAKMDAwMDA0MjQ5OCAwMDAwMCBuIAowMDAwMDQyNDc0IDAwMDAwIG4gCjAwMDAwNDI5MDEgMDAwMDAgbiAKMDAwMDA0Mjg3NyAwMDAwMCBuIAowMDAwMDQzMzAzIDAwMDAwIG4gCjAwMDAwNDMyNzkgMDAwMDAgbiAKMDAwMDA0MzcwNiAwMDAwMCBuIAowMDAwMDQzNjgyIDAwMDAwIG4gCjAwMDAwNDQxMDQgMDAwMDAgbiAKMDAwMDA0NDA4MCAwMDAwMCBuIAowMDAwMDQ0NTA0IDAwMDAwIG4gCjAwMDAwNDQ0ODAgMDAwMDAgbiAKMDAwMDA0NDkwOCAwMDAwMCBuIAowMDAwMDQ0ODg0IDAwMDAwIG4gCjAwMDAwNDUzMTMgMDAwMDAgbiAKMDAwMDA0NTI4OSAwMDAwMCBuIAowMDAwMDQ1NzE4IDAwMDAwIG4gCjAwMDAwNDU2OTQgMDAwMDAgbiAKMDAwMDA0NjEyMiAwMDAwMCBuIAowMDAwMDQ2MDk4IDAwMDAwIG4gCjAwMDAwNDY1MjkgMDAwMDAgbiAKMDAwMDA0NjUwNSAwMDAwMCBuIAowMDAwMDQ2OTMyIDAwMDAwIG4gCjAwMDAwNDY5MDggMDAwMDAgbiAKMDAwMDA0NzMzNiAwMDAwMCBuIAowMDAwMDQ3MzEyIDAwMDAwIG4gCjAwMDAwNDc3NDMgMDAwMDAgbiAKMDAwMDA0NzcxOSAwMDAwMCBuIAowMDAwMDQ4MDYxIDAwMDAwIG4gCjAwMDAwNDgwMzggMDAwMDAgbiAKMDAwMDA0ODQ2NSAwMDAwMCBuIAowMDAwMDQ4NDQxIDAwMDAwIG4gCjAwMDAwNDg4NzIgMDAwMDAgbiAKMDAwMDA0ODg0OCAwMDAwMCBuIAowMDAwMDQ5MjcyIDAwMDAwIG4gCjAwMDAwNDkyNDggMDAwMDAgbiAKMDAwMDA0OTY3NCAwMDAwMCBuIAowMDAwMDQ5NjUwIDAwMDAwIG4gCjAwMDAwNTAwNTAgMDAwMDAgbiAKMDAwMDA1MDAyNiAwMDAwMCBuIAowMDAwMDU0MDg3IDAwMDAwIG4gCjAwMDAwNTA2MTcgMDAwMDAgbiAKMDAwMDA1MDU5MyAwMDAwMCBuIAowMDAwMDU0NTkwIDAwMDAwIG4gCjAwMDAwNTU1ODYgMDAwMDAgbiAKMDAwMDA1MTE0NiAwMDAwMCBuIAowMDAwMDUxMTIyIDAwMDAwIG4gCjAwMDAwNTE1NTcgMDAwMDAgbiAKMDAwMDA1MTUzMyAwMDAwMCBuIAowMDAwMDUxOTY4IDAwMDAwIG4gCjAwMDAwNTE5NDQgMDAwMDAgbiAKMDAwMDA1MjM3NyAwMDAwMCBuIAowMDAwMDUyMzUzIDAwMDAwIG4gCjAwMDAwNTI5MDIgMDAwMDAgbiAKMDAwMDA1Mjg3OCAwMDAwMCBuIAowMDAwMDU1ODc0IDAwMDAwIG4gCjAwMDAwNTY4OTUgMDAwMDAgbiAKMDAwMDA1MzI2MCAwMDAwMCBuIAowMDAwMDUzMjM3IDAwMDAwIG4gCjAwMDAwNTMzMzQgMDAwMDAgbiAKMDAwMDA1NDA2MyAwMDAwMCBuIAowMDAwMDU0MzMzIDAwMDAwIG4gCjAwMDAwNTQzNTYgMDAwMDAgbiAKMDAwMDA1NDQ5OCAwMDAwMCBuIAowMDAwMDU0ODE0IDAwMDAwIG4gCjAwMDAwNTUwMzkgMDAwMDAgbiAKMDAwMDA1NTQ5NiAwMDAwMCBuIAowMDAwMDU1NTE5IDAwMDAwIG4gCjAwMDAwNTU2NzYgMDAwMDAgbiAKMDAwMDA1NTc3NiAwMDAwMCBuIAowMDAwMDU2MTEwIDAwMDAwIG4gCjAwMDAwNTYzNDcgMDAwMDAgbiAKMDAwMDA1NjgwNSAwMDAwMCBuIAowMDAwMDU2ODI4IDAwMDAwIG4gCjAwMDAwNTY5ODUgMDAwMDAgbiAKMDAwMDA2MDQxMCAwMDAwMCBuIAowMDAwMDYwNDM1IDAwMDAwIG4gCjAwMDAwNjA4NTggMDAwMDAgbiAKMDAwMDA2MDg4MiAwMDAwMCBuIAowMDAwMDYxODUxIDAwMDAwIG4gCjAwMDAwNjY1MTcgMDAwMDAgbiAKMDAwMDA2NjU0MiAwMDAwMCBuIAowMDAwMDY3MDc4IDAwMDAwIG4gCjAwMDAwNjcxMDIgMDAwMDAgbiAKMDAwMDA2ODExOSAwMDAwMCBuIAowMDAwMDcyNDM2IDAwMDAwIG4gCjAwMDAwNzI0NjEgMDAwMDAgbiAKMDAwMDA3Mjk1NSAwMDAwMCBuIAowMDAwMDcyOTc5IDAwMDAwIG4gCjAwMDAwNzQwNzYgMDAwMDAgbiAKMDAwMDA3NDIwNSAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDI4OAogICAvUm9vdCAyODcgMCBSCiAgIC9JbmZvIDI4NiAwIFIKPj4Kc3RhcnR4cmVmCjc0MjU5CiUlRU9GCg==
http://sourceforge.net/projects/freeplane/
http://librenotes.bitbucket.org/gitnotes/
<<list-links "[tag[Graphisme]]">>
http://www.greenstone.org/index_fr
https://fr.libreoffice.org/
http://fr.openfoodfacts.org/
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
width="290"
height="290"
viewBox="0 0 290 290"
enable-background="new 0 0 360 360"
xml:space="preserve"
inkscape:version="0.48.4 r9939"
sodipodi:docname="openshot.svg"><metadata
id="metadata4432"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
id="defs4430"><radialGradient
inkscape:collect="always"
xlink:href="#SVGID_1_"
id="radialGradient4872"
gradientUnits="userSpaceOnUse"
cx="181.0645"
cy="177.68311"
r="161.6741" /><linearGradient
inkscape:collect="always"
xlink:href="#SVGID_2_"
id="linearGradient4874"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0084,0.0596,-0.059,0.9983,-12.1665,-88.3223)"
x1="127.5649"
y1="201.7578"
x2="326.5795"
y2="321.63629" /><linearGradient
inkscape:collect="always"
xlink:href="#SVGID_3_"
id="linearGradient4876"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.011,0.035,0.0335,-0.9677,1064.9712,-381.7715)"
x1="-828.80957"
y1="-674.81543"
x2="-936.83099"
y2="-525.04883" /><radialGradient
inkscape:collect="always"
xlink:href="#SVGID_4_"
id="radialGradient4878"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.9323,0.3618,-0.3618,0.9323,106.0605,-539.3926)"
cx="330.48831"
cy="640.79492"
r="139.521" /><radialGradient
inkscape:collect="always"
xlink:href="#SVGID_5_"
id="radialGradient4880"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.2202,0,0,-0.2201,604.9996,323.4069)"
cx="-2282.1865"
cy="884.27441"
r="232.7077" /><radialGradient
inkscape:collect="always"
xlink:href="#SVGID_1_"
id="radialGradient3199"
gradientUnits="userSpaceOnUse"
cx="181.0645"
cy="177.68311"
r="161.6741" /><linearGradient
inkscape:collect="always"
xlink:href="#SVGID_2_"
id="linearGradient3201"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0084,0.0596,-0.059,0.9983,-12.1665,-88.3223)"
x1="127.5649"
y1="201.7578"
x2="326.5795"
y2="321.63629" /><linearGradient
inkscape:collect="always"
xlink:href="#SVGID_3_"
id="linearGradient3203"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.011,0.035,0.0335,-0.9677,1064.9712,-381.7715)"
x1="-828.80957"
y1="-674.81543"
x2="-936.83099"
y2="-525.04883" /><radialGradient
inkscape:collect="always"
xlink:href="#SVGID_4_"
id="radialGradient3205"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.9323,0.3618,-0.3618,0.9323,106.0605,-539.3926)"
cx="330.48831"
cy="640.79492"
r="139.521" /><radialGradient
inkscape:collect="always"
xlink:href="#SVGID_5_"
id="radialGradient3207"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.2202,0,0,-0.2201,604.9996,323.4069)"
cx="-2282.1865"
cy="884.27441"
r="232.7077" /><foreignObject
id="foreignObject4100"
height="1"
width="1"
y="0"
x="0"
requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/"><i:pgfRef
xlink:href="#adobe_illustrator_pgf" /></foreignObject><radialGradient
inkscape:collect="always"
xlink:href="#SVGID_1_"
id="radialGradient3391"
gradientUnits="userSpaceOnUse"
cx="181.0645"
cy="177.68311"
r="161.6741" /><linearGradient
inkscape:collect="always"
xlink:href="#SVGID_2_"
id="linearGradient3393"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0084,0.0596,-0.059,0.9983,-12.1665,-88.3223)"
x1="127.5649"
y1="201.7578"
x2="326.5795"
y2="321.63629" /><linearGradient
inkscape:collect="always"
xlink:href="#SVGID_3_"
id="linearGradient3395"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.011,0.035,0.0335,-0.9677,1064.9712,-381.7715)"
x1="-828.80957"
y1="-674.81543"
x2="-936.83099"
y2="-525.04883" /><radialGradient
inkscape:collect="always"
xlink:href="#SVGID_4_"
id="radialGradient3397"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.9323,0.3618,-0.3618,0.9323,106.0605,-539.3926)"
cx="330.48831"
cy="640.79492"
r="139.521" /><radialGradient
inkscape:collect="always"
xlink:href="#SVGID_5_"
id="radialGradient3399"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.2202,0,0,-0.2201,604.9996,323.4069)"
cx="-2282.1865"
cy="884.27441"
r="232.7077" /><radialGradient
id="SVGID_1_"
cx="181.0645"
cy="177.68311"
r="161.6741"
gradientUnits="userSpaceOnUse"><stop
offset="0.8589"
style="stop-color:#FBC91A"
id="stop4105" /><stop
offset="1"
style="stop-color:#FFFFFF;stop-opacity:0"
id="stop4107" /></radialGradient><radialGradient
inkscape:collect="always"
xlink:href="#SVGID_5_"
id="radialGradient3707"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.2202,0,0,-0.2201,604.9996,323.4069)"
cx="-2282.1865"
cy="884.27441"
r="232.7077" /><radialGradient
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.2202,0,0,-0.2201,604.9996,323.4069)"
r="232.7077"
cy="884.27441"
cx="-2282.1865"
id="SVGID_5_"><stop
id="stop4192"
style="stop-color:#FFFFFF"
offset="0" /><stop
id="stop4194"
style="stop-color:#8CD6F2"
offset="0.4277" /><stop
id="stop4196"
style="stop-color:#86CCEB;stop-opacity:0.709"
offset="0.5942" /><stop
id="stop4198"
style="stop-color:#7AB6DC;stop-opacity:0"
offset="1" /></radialGradient><radialGradient
inkscape:collect="always"
xlink:href="#SVGID_5_"
id="radialGradient3715"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.2202,0,0,-0.2201,572.47981,290.9523)"
cx="-2282.1865"
cy="884.27441"
r="232.7077" /><radialGradient
inkscape:collect="always"
xlink:href="#SVGID_4_"
id="radialGradient3717"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.9323,0.3618,-0.3618,0.9323,106.0605,-539.3926)"
cx="330.48831"
cy="640.79492"
r="139.521" /><radialGradient
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.9323,0.3618,-0.3618,0.9323,106.0605,-539.3926)"
r="139.521"
cy="640.79492"
cx="330.48831"
id="SVGID_4_"><stop
id="stop4164"
style="stop-color:#FFFFFF"
offset="0.638" /><stop
id="stop4166"
style="stop-color:#FDFDFD"
offset="0.7638" /><stop
id="stop4168"
style="stop-color:#F6F6F6"
offset="0.8091" /><stop
id="stop4170"
style="stop-color:#EBEBEB"
offset="0.8414" /><stop
id="stop4172"
style="stop-color:#DADADA"
offset="0.8675" /><stop
id="stop4174"
style="stop-color:#C4C4C4"
offset="0.8898" /><stop
id="stop4176"
style="stop-color:#A8A8A8"
offset="0.9097" /><stop
id="stop4178"
style="stop-color:#888888"
offset="0.9276" /><stop
id="stop4180"
style="stop-color:#626262"
offset="0.944" /><stop
id="stop4182"
style="stop-color:#373737"
offset="0.9594" /><stop
id="stop4184"
style="stop-color:#090909"
offset="0.973" /><stop
id="stop4186"
style="stop-color:#000000"
offset="0.9755" /></radialGradient><radialGradient
inkscape:collect="always"
xlink:href="#SVGID_4_"
id="radialGradient3733"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.9323,0.3618,-0.3618,0.9323,73.540701,-571.8472)"
cx="330.48831"
cy="640.79492"
r="139.521" /><linearGradient
inkscape:collect="always"
xlink:href="#SVGID_3_"
id="linearGradient3736"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.011,0.035,0.0335,-0.9677,1064.9712,-381.7715)"
x1="-828.80957"
y1="-674.81543"
x2="-936.83099"
y2="-525.04883" /><linearGradient
gradientTransform="matrix(1.011,0.035,0.0335,-0.9677,1064.9712,-381.7715)"
y2="-525.04883"
x2="-936.83099"
y1="-674.81543"
x1="-828.80957"
gradientUnits="userSpaceOnUse"
id="SVGID_3_"><stop
id="stop4151"
style="stop-color:#144CA2"
offset="0" /><stop
id="stop4153"
style="stop-color:#8CD6F2"
offset="1" /></linearGradient><linearGradient
inkscape:collect="always"
xlink:href="#SVGID_3_"
id="linearGradient3742"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.011,0.035,0.0335,-0.9677,1032.4514,-414.2261)"
x1="-828.80957"
y1="-674.81543"
x2="-936.83099"
y2="-525.04883" /><linearGradient
inkscape:collect="always"
xlink:href="#SVGID_2_"
id="linearGradient3745"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0084,0.0596,-0.059,0.9983,-12.1665,-88.3223)"
x1="127.5649"
y1="201.7578"
x2="326.5795"
y2="321.63629" /><linearGradient
gradientTransform="matrix(1.0084,0.0596,-0.059,0.9983,-12.1665,-88.3223)"
y2="321.63629"
x2="326.5795"
y1="201.7578"
x1="127.5649"
gradientUnits="userSpaceOnUse"
id="SVGID_2_"><stop
id="stop4128"
style="stop-color:#FFFFFF"
offset="0" /><stop
id="stop4130"
style="stop-color:#FCFCFC"
offset="0.2317" /><stop
id="stop4132"
style="stop-color:#F3F3F3"
offset="0.4013" /><stop
id="stop4134"
style="stop-color:#E3E3E3"
offset="0.5511" /><stop
id="stop4136"
style="stop-color:#CCCCCC"
offset="0.6894" /><stop
id="stop4138"
style="stop-color:#AFAFAF"
offset="0.82" /><stop
id="stop4140"
style="stop-color:#8C8C8C"
offset="0.9429" /><stop
id="stop4142"
style="stop-color:#797979"
offset="1" /></linearGradient><linearGradient
inkscape:collect="always"
xlink:href="#SVGID_2_"
id="linearGradient3757"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0084,0.0596,-0.059,0.9983,-44.686301,-120.7769)"
x1="127.5649"
y1="201.7578"
x2="326.5795"
y2="321.63629" /><clipPath
clip-path="url(#SVGID_20_-9)"
id="SVGID_21_-2"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use4272-7"
overflow="visible"
xlink:href="#SVGID_18_-5" /></clipPath><clipPath
clip-path="url(#SVGID_20_-9)"
id="clipPath3774"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use3776"
overflow="visible"
xlink:href="#SVGID_18_-5" /></clipPath><clipPath
id="SVGID_23_-3"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use4350-0"
overflow="visible"
xlink:href="#SVGID_22_-5" /></clipPath><clipPath
id="SVGID_25_-6"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use4364-4"
overflow="visible"
xlink:href="#SVGID_24_-2" /></clipPath><clipPath
id="clipPath3782"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use3784"
overflow="visible"
xlink:href="#SVGID_24_-2" /></clipPath><defs
id="defs4420-4"><path
inkscape:connector-curvature="0"
d="m 322.277,204.504 c -8.455,21.662 -16.905,43.324 -25.359,64.988 -5.256,13.467 -37.283,15.891 -86.221,4.096 C 142.165,257.072 66.422,218.926 41.524,188.385 l 25.358,-64.989 c 24.896,30.54 100.64,68.686 169.174,85.204 48.936,11.793 80.965,9.369 86.221,-4.096 z"
id="SVGID_34_-6" /></defs><clipPath
id="SVGID_35_-4"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use4424-7"
overflow="visible"
xlink:href="#SVGID_34_-6" /></clipPath><defs
id="defs4412-7"><path
inkscape:connector-curvature="0"
d="m 34.318,167.092 25.357,-64.99 c -2.105,5.394 0.088,12.561 7.207,21.294 l -25.358,64.989 c -7.12,-8.734 -9.31,-15.9 -7.206,-21.293 z"
id="SVGID_32_-1" /></defs><clipPath
id="SVGID_33_-4"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use4416-9"
overflow="visible"
xlink:href="#SVGID_32_-1" /></clipPath><defs
id="defs4392-7"><path
inkscape:connector-curvature="0"
d="m 322.277,204.504 c -8.455,21.662 -16.905,43.324 -25.359,64.988"
id="SVGID_26_-0" /></defs><defs
id="defs4395-3"><path
inkscape:connector-curvature="0"
d="M 145.896,98.006"
id="SVGID_27_-7" /></defs><defs
id="defs4398-5"><line
y2="167.092"
x2="34.318001"
y1="102.102"
x1="59.675999"
id="SVGID_28_-9" /></defs><clipPath
id="SVGID_29_-3"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use4402-9"
overflow="visible"
xlink:href="#SVGID_26_-0" /></clipPath><clipPath
clip-path="url(#SVGID_29_-3)"
id="SVGID_30_-1"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use4405-4"
overflow="visible"
xlink:href="#SVGID_27_-7" /></clipPath><clipPath
clip-path="url(#SVGID_30_-1)"
id="SVGID_31_-4"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use4408-6"
overflow="visible"
xlink:href="#SVGID_28_-9" /></clipPath><defs
id="defs4360-0"><path
inkscape:connector-curvature="0"
d="m 322.277,204.504 c -8.455,21.662 -16.905,43.324 -25.359,64.988 -5.256,13.467 -37.283,15.891 -86.221,4.096 C 142.165,257.072 66.422,218.926 41.524,188.385 l 25.358,-64.989 c 24.896,30.54 100.64,68.686 169.174,85.204 48.936,11.793 80.965,9.369 86.221,-4.096 z"
enable-background="new "
id="SVGID_24_-2" /></defs><clipPath
id="clipPath3878"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use3880"
overflow="visible"
xlink:href="#SVGID_24_-2" /></clipPath><defs
id="defs4346-2"><path
inkscape:connector-curvature="0"
d="m 34.318,167.092 25.357,-64.99 c -2.105,5.394 0.088,12.561 7.207,21.294 l -25.358,64.989 c -7.12,-8.734 -9.31,-15.9 -7.206,-21.293 z"
enable-background="new "
id="SVGID_22_-5" /></defs><clipPath
id="clipPath3868"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use3870"
overflow="visible"
xlink:href="#SVGID_22_-5" /></clipPath><defs
id="defs4256-7"><path
inkscape:connector-curvature="0"
d="m 322.277,204.504 c -8.455,21.662 -16.905,43.324 -25.359,64.988"
enable-background="new "
id="SVGID_16_-7" /></defs><defs
id="defs4259-4"><path
inkscape:connector-curvature="0"
d="M 145.896,98.006"
enable-background="new "
id="SVGID_17_-5" /></defs><defs
id="defs4262-9"><line
y2="167.092"
x2="34.318001"
y1="102.102"
x1="59.675999"
enable-background="new "
id="SVGID_18_-5" /></defs><clipPath
id="SVGID_19_-6"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use4266-3"
overflow="visible"
xlink:href="#SVGID_16_-7" /></clipPath><clipPath
clip-path="url(#SVGID_19_-6)"
id="SVGID_20_-9"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use4269-7"
overflow="visible"
xlink:href="#SVGID_17_-5" /></clipPath><clipPath
clip-path="url(#SVGID_20_-9)"
id="clipPath3826"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use3828"
overflow="visible"
xlink:href="#SVGID_18_-5" /></clipPath><defs
id="defs4242-1"><path
inkscape:connector-curvature="0"
d="m 322.277,204.504 c -8.455,21.662 -16.905,43.324 -25.359,64.988 -5.256,13.467 -37.283,15.891 -86.221,4.096 C 142.165,257.072 66.422,218.926 41.524,188.385 l 25.358,-64.989 c 24.896,30.54 100.64,68.686 169.174,85.204 48.936,11.793 80.965,9.369 86.221,-4.096 z"
id="SVGID_14_-4" /></defs><clipPath
id="SVGID_15_-5"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use4246-5"
overflow="visible"
xlink:href="#SVGID_14_-4" /></clipPath><defs
id="defs4234-8"><path
inkscape:connector-curvature="0"
d="m 34.318,167.092 25.357,-64.99 c -2.105,5.394 0.088,12.561 7.207,21.294 l -25.358,64.989 c -7.12,-8.734 -9.31,-15.9 -7.206,-21.293 z"
id="SVGID_12_-5" /></defs><clipPath
id="SVGID_13_-4"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use4238-9"
overflow="visible"
xlink:href="#SVGID_12_-5" /></clipPath><defs
id="defs4214-0"><path
inkscape:connector-curvature="0"
d="m 322.277,204.504 c -8.455,21.662 -16.905,43.324 -25.359,64.988"
id="SVGID_6_-8" /></defs><defs
id="defs4217-4"><path
inkscape:connector-curvature="0"
d="M 145.896,98.006"
id="SVGID_7_-2" /></defs><defs
id="defs4220-9"><line
y2="167.092"
x2="34.318001"
y1="102.102"
x1="59.675999"
id="SVGID_8_-6" /></defs><clipPath
id="SVGID_9_-5"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use4224-7"
overflow="visible"
xlink:href="#SVGID_6_-8" /></clipPath><clipPath
clip-path="url(#SVGID_9_-5)"
id="SVGID_10_-5"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use4227-4"
overflow="visible"
xlink:href="#SVGID_7_-2" /></clipPath><clipPath
clip-path="url(#SVGID_10_-5)"
id="SVGID_11_-1"><use
height="360"
width="360"
y="0"
x="0"
style="overflow:visible"
id="use4230-4"
overflow="visible"
xlink:href="#SVGID_8_-6" /></clipPath></defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="925"
inkscape:window-height="1027"
id="namedview4428"
showgrid="false"
inkscape:zoom="1.8541911"
inkscape:cx="125.14838"
inkscape:cy="131.91134"
inkscape:window-x="65"
inkscape:window-y="24"
inkscape:window-maximized="0"
inkscape:current-layer="Layer_1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" /><polygon
points="58.409,105.417 60.549,111.477 55.421,120.633 54.597,115.189 "
id="polygon4111"
style="fill:#3f3e3e"
transform="translate(-32.519802,-32.454599)" /><polygon
points="317.171,204.285 320.496,209.064 316.188,219.355 313.359,214.057 "
id="polygon4113"
style="fill:#3f3e3e"
transform="translate(-32.519802,-32.454599)" /><path
style="fill:#3f3e3e"
inkscape:connector-curvature="0"
id="path4117"
d="m 39.832199,60.791401 c -17.184,4.808997 -13.365,16.471997 -13.365,16.471997 l 1.352,6.602 c -0.001,-0.001 29.196,-27.881997 12.013,-23.073997 z m -11.834,10.867997 -1.135,1.095 1.621,-4.309 1.229,-1.188 -1.715,4.402 z m 2.408,-1.725 -1.478,0.983 1.64,-4.344 1.556,-1.04 -1.718,4.401 z m 2.918,-1.482 -1.717,0.812 1.563,-4.321 1.871,-0.890997 -1.717,4.399997 z" /><path
style="fill:#3f3e3e"
inkscape:connector-curvature="0"
id="path4121"
d="m 279.59321,182.3074 5.451,-3.961 c 0,0 10.686,-6.035 1.243,-21.176 -9.442,-15.14 -6.694,25.137 -6.694,25.137 z m 9.802,-13.537 0.106,1.705 -1.709,4.275 -0.099,-1.574 1.702,-4.406 z m -0.616,-2.899 0.447,1.816 -1.72,4.312 -0.427,-1.723 1.7,-4.405 z m -1.153,-3.064 0.78,1.922 -1.761,4.244 -0.721,-1.758 1.702,-4.408 z" /><path
style="fill:none"
inkscape:connector-curvature="0"
id="path4125"
d="m 175.92721,19.554401 c -14.696,-2.947 -29.948,-3.338 -45.206,-1.025 -34.119012,5.173 -64.155011,23.225 -84.572011,50.825997 -0.118,0.16 -0.247,0.312 -0.377,0.458 -0.096,0.169 -0.206,0.335 -0.323,0.498 C 4.2141991,127.1474 16.988199,207.1424 73.924201,248.6344 c 12.536,9.135 26.195009,15.691 40.331009,19.77 248.847,-158.053 -297.219,-71.709 61.672,-248.849999 z" /><path
inkscape:connector-curvature="0"
style="fill:url(#linearGradient3757)"
id="path4144"
d="m 254.57521,221.2384 c 20.418,-27.602 28.774,-61.451 23.529,-95.312 -5.248,-33.861 -23.467,-63.680999 -51.303,-83.964999 -15.392,-11.215 -34.886,-19.182 -53.056,-22.825 -358.892,177.140999 189.356,91.213999 -59.491,249.265999 50.643,14.612 107.369,-2.617 140.321,-47.164 z" /><path
style="fill:none"
inkscape:connector-curvature="0"
id="path4148"
d="m 221.50021,39.511401 c -14.411,-10.008 -30.381,-16.854 -47.066,-20.375 -227.457011,164.763999 247.688,56.437997 -56.688,250.773999 50.078,11.84 104.658,-6.969 135.83,-51.477 19.72,-28.152 27.241,-62.27 21.183,-96.063 -6.058,-33.794002 -24.972,-63.219999 -53.259,-82.858999 z" /><path
inkscape:connector-curvature="0"
style="fill:url(#linearGradient3742)"
id="path4155"
d="m 174.43321,19.136401 c -16.059,-3.389 -32.783,-3.695 -49.428,-0.744 -33.943012,6.021 -63.496011,24.842 -83.215011,52.994997 -0.113,0.164 -0.234,0.319 -0.362,0.468 -0.094,0.171 -0.198,0.342 -0.312,0.507 C 1.3221991,130.3134 16.014199,210.1394 73.867201,250.3094 c 13.671997,9.494 28.564009,15.98 43.878009,19.6 304.376,-194.334002 -170.769011,-86.009 56.688,-250.772999 z" /><path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path4159"
d="m 99.140206,275.1134 c -24.203005,-9.389 -46.048007,-25.611 -62.364007,-48.164 -21.701,-29.992 -30.5149999,-66.654 -24.819,-103.233 5.695,-36.580002 25.239,-68.826999 55.029,-90.801999 0.174,-0.128 0.354,-0.246 0.535,-0.353 0.158,-0.143 0.326,-0.278 0.502,-0.407 30.189005,-21.842 67.078011,-30.621 103.870011,-24.718 36.793,5.901 69.085,25.779 90.928,55.969 21.84,30.187999 30.62,67.076999 24.718,103.867999 -5.902,36.793 -25.779,69.084 -55.969,90.926 -39.768,28.774 -89.752,33.473 -132.430004,16.914 z M 74.360201,41.913401 c -0.146,0.13 -0.299,0.256 -0.46,0.375 C 17.688199,83.753398 5.2671991,163.5294 46.210199,220.1214 c 41.326999,57.117 121.416011,69.965 178.531011,28.641 27.671,-20.018 45.887,-49.613 51.295,-83.334 5.41,-33.718 -2.634,-67.526 -22.654,-95.195002 -20.02,-27.668997 -49.614,-45.884997 -83.334,-51.294997 -33.72,-5.41 -67.527,2.636 -95.197009,22.655 -0.16,0.115 -0.324,0.222 -0.491,0.32 z" /><path
inkscape:connector-curvature="0"
style="opacity:0.5524;fill:url(#radialGradient3733)"
id="path4188"
d="m 99.140206,275.1134 c -24.203005,-9.389 -46.048007,-25.611 -62.364007,-48.164 -21.701,-29.992 -30.5149999,-66.654 -24.819,-103.233 5.695,-36.580002 25.239,-68.826999 55.029,-90.801999 0.174,-0.128 0.354,-0.246 0.535,-0.353 0.158,-0.143 0.326,-0.278 0.502,-0.407 30.189005,-21.842 67.078011,-30.621 103.870011,-24.718 36.793,5.901 69.085,25.779 90.928,55.969 21.84,30.187999 30.62,67.076999 24.718,103.867999 -5.902,36.793 -25.779,69.084 -55.969,90.926 -39.768,28.774 -89.752,33.473 -132.430004,16.914 z M 74.360201,41.913401 c -0.146,0.13 -0.299,0.256 -0.46,0.375 C 17.688199,83.753398 5.2671991,163.5294 46.210199,220.1214 c 41.326999,57.117 121.416011,69.965 178.531011,28.641 27.671,-20.018 45.887,-49.613 51.295,-83.334 5.41,-33.718 -2.634,-67.526 -22.654,-95.195002 -20.02,-27.668997 -49.614,-45.884997 -83.334,-51.294997 -33.72,-5.41 -67.527,2.636 -95.197009,22.655 -0.16,0.115 -0.324,0.222 -0.491,0.32 z" /><path
inkscape:connector-curvature="0"
style="opacity:0.41000001;fill:url(#radialGradient3715)"
id="path4200"
d="m 33.460199,60.360401 c 15.361,-23.744 47.066001,-30.538 70.812011,-15.174 23.743,15.363 30.536,47.066999 15.174,70.811999 -15.364,23.744 -47.068009,30.537 -70.812011,15.174 -23.59,-15.265 -30.474,-46.686002 -15.428,-70.414999" /><image
style="opacity:0.43999999;overflow:visible"
id="image4204"
xlink:href="data:image/png;base64,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 VWB5ph+oWtc+n/UcsIqqyDyd1qhOa9q6DL7HMhm3gtHv2vvv2Oh37TReP97T1f/aZsWHPOnqZ+I7 q50/IjXTfnivwSK2SM7RtW4UuSkSq65ukZyzlHWLQLXMzynKeUHaOvwbRCcAAMD38rQoTxH7XIEr U9s9EZ5esZUpoLPLv93kpxSPF9lDdlansHtEZ2YOz8N5TYl8v1fII6uMiEaFVkeDHs7rbfbYZo63 dZ97ojqv2n6S1yrtuymF52xU+GnfnQ7BaUlXj1ZarxCdmbk6pfDaGo3k1M4Tq+T8vfjnieg8HcuW tPbRZxlFp2bOC6Tnh4HoBAAAgOzNpogvytN6sxstYGR9vxWp7db5PKuqt4vUi7xd5OduFdorRLOI fc6+zrk7u6I7PXN4alF/VjFmlXnWysQeuZQRKlXic/b5K1Lhs3LTc2yr9rlnjk7PteAncG16f633 93kYZZv1mFVVHr+K6qwQnL+B8+6U63k5swWtDmN7hejMXkcl8ffN6z60VFKfpZB7Ijpn0ZoVhYgs gnN0bpC2/mUgOgEAAECKb0At0rSzgFFFZOdVivqozzufZ0RYfWq0525FilYVLnra3J3e6E4xLFdE AkYrEVv+M8a6TVSyeOah7JCfEREmynXY0jY6vtn9GSlINPpuRoSmlpp+GM6Hw/H71CllRr9hEVkX ieZ8l56zaSpWiU7POebdT5YiVIdy3LV5LC3RnDPB6ZWdo4JGlRXXR59/5XcFNgXRCQAAANrN1N1R ntabaE/UZzRComo+T0uEp1d6dc/v+Y3/pGCct09knfz0tmVu5K3fy9G1JzNHpSbexHCti2zjkS5n cqxXcnZEf87aRu+9WiBXRnR6o6xlMCb6O6NlOlhSu7Xf3NHxOxy/ae/v0RPJ+f4+Tudn6xCdo+uY 5TpnHTNb9nzfRsfYKjbfoy5nKetR2dkVxWmpzO79WxU+BEQnAAAAeP4I/IQCRtX7Jjufp0dMfXu0 5zfM47ladnbOL+cpWuRJc/9EAZoRn6PxR+A6W5VKfgb3dWafRQrDVMjOUVvHb3Bm/Ok8ZprkfF1+ l5s/cl1h/RBbNOfstTLnazaq03rNs17/LO/Nejyt83FqVdCv1k+lbbSNNvenZW7O0Wfzfh9IW/8i EJ0AAAAQ+cPvaHyOzgJGM7ni/QzZ+Txfb467U9zviPacPefTK7F3p7ZH20R60totfZbH97bTsCxS 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 AAAAHs//F2AA5rvOj/uuDfEAAAAASUVORK5CYII="
height="220.8"
width="319.67999"
overflow="visible"
x="-15.431364"
y="51.742332" /><path
d="m 99.722208,174.4674 c -5.55501,-15.205 -19.326007,-26.799 -19.326007,-26.799 0,0 -10.492002,14.508 -13.788002,27.973 l 0.114,-0.23 c 0,0 17.584002,3.861 33.027009,-0.996 l -0.027,0.052 z"
id="path4426"
inkscape:connector-curvature="0" /><i:pgf>
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
1NcTxnCzBUuthBqmj0BLh6iwBvathlSxGikRfilV++cEkWh5So7GPIUcAq2202xoTXRx8w7OSZ1Z
oMajj0C/W43zxNLxLY3SUZqrOq6tKbzNzsQwBObFJjZooN1m1e37hkGtxGi6qRyXzFMYaOIWyHca
23Su0YgVFC0TohTVHXgL4d9tDTAndjVNYRcIMboAJx2LTWy3CT7EOayKkJINIliJWtzDriGdYpqN
Me0ebweEIxABTHl0wysBYshouwl9JBbzHLRipll2oGmwSi5wJatbz+ZVyN6GymIZnwrFO1D7GTic
6jpw3lR9wFtGvQJ18yhIhxJV6qP3R8eo5BIa25ZS0DZOHKFi2TzGC2ltVPdRaGhr1RnUA6eYl6qO
QlkTotY0NmKkP15cg02vt5IHfa64nFqzrzNEAOEEipjHKYiPOg2SwbmHhlpxWDgcIo6YW07m1Rou
co3G7VQ3b9XaRpEQzsxsI4QuSBHdNPhh6Q7y4y6JqE2VPflxVN9NE3nR5IQW6UDcRYSQKMNvcZix
5kbbFc6itfHU+bMnNrPzWQeLXFBKbN/rijO5IybluUYAfVeMTxXiF79+/eq3b65evb169ccnT4ys
oT/7v/js11/L38Rgf/X5f/3bv1693Lr57J/8j2f//Nk//f5X579+/eJS/vjLq+dvr16/unjz7ff9
xc/O/v6v1y9fbX/1ZBvWm6s/vHt7+c0/nP3jZ//08zdvLt5r8fyrq5cv3ly+kr9PZ//076/err+T
/3n77deX8nd///oP//vy+dtfvH736sU29l+8/us/nP3Tf766er61+Xz7yKs/3vzdny9evrMffqkz
2Zq+/eb7fyJhUPKLbXQ3fvOPH3uq4e8Ondu3B8/o26Oexwc2czePv36Cefz837/4+cuvv7r4Ih46
n6sXW8sPzETafPSpxHD4pvzl6sXbrw7eGLQ+6hl9dXn1x6/eHjwlNv/HA4Z+LGwyHboWr95d/+b5
24s/Xx7OFfc/+ej7/Pbdmz8cOrc3l9+8e3n4PrP5x2eQmyR56Jz+cPHN5b++ufw/7y5fPT+c7b/3
q48+w1evP3979fb5B9jImuU32vp3Vy/vcSxv/OaTnMt3L7flvTx0jvbTAyfH7/zgwcfvGfzdb9RO
dLr83X523z/U71n5j7wln79+9+b55b+9ufj6q6vnBz/Zrw7ek6tXR87/rl594Bm4MZn0CWbzodVe
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
f4Ps1+8+Bjb3Q/apPIB9OXbusJ/Twel/D+U5jYeXxz4J26eX9m9xl37/5eWbf7168+MbfR6OPzmd
Heyxenvxh5eX/3U/k+WN33z0PdevP0Zb2L++e/X8Px4QN3naz8LZ6Zw9yHP2bw/pnMUTO3ugx+wX
nyrERJUdybr+3ZuLV998eUAVieM57z9EqDl2Qe0HpjKdrCGfyhpiG3YkcvXJHoKd0ci5n798eQR7
cixL8sMO6ylW8z4D+EQfv1f5p7/7+b/H8MW/vHrhZaCEVIXyxa9fv/rt1oWiHj0x8i8u/3j1av8X
n/36a+2j2F99/u31H16//Ozvf/H6L//wWTj7+fbf3//ls3f+Tzj7zWfhaQil1HYWns4ZSyryh55T
FkoIYRb9qzRL3DTypzHMEaRNLDH2dvb7i89WoNHvv93+5f/d/vC/N9JfzsrZr87+5/8KZy/ku//x
2XyaRkz17El7murs/ex6I5XRcj57Up622VM/G097LKOcPUnb38zUztpT+XcdVKpp5rPnnz0JT2tv
saez+XT0tA1967HUHPNZ1kn0s63JGK3HeZbH09C3cT777El82mJNW6OyzSvWs/g0t5zGWRrbr7dP
/ddn6emMKcaznJ7G2PpZf5pa3v4/b/1Lt//1WXuaQ2nzLG2Tmduw2rZWpcWzFJ+OOMfZnz/rT2ue
oZ3F+rTGbcnG09Z7z9tYUy/zLManvW8fL9vHS6/buOL2sTnTWX6ach5bi/S05yDDGyFtyxWz/X14
WlreJrWtwEaaefuxTCnPVqXXEUaTdUwptnF2a62fffblZ3/3xXbP395gZ3/3xd9vndQe+my7Q/qL
X/z8+fN31//x+q0bKf/ui+14frEdl5jCNudtg6MckFT7/8/em/VoeiRXmr8g/0PcNKC++BK+L+gr
MTHTaAxnIEjT0+orgRXFLhGdSQ4oVmHq348/59gbkbGwVEtGiQK6birD+b2bu7m5LceOrXX+sXIf
SyJzBCUzcmayn5k6AnKmYqaeebvexvn5p3e5vc+zLt5v534E6nzBGOcD1vu+2h4sbZ+t3N32+z7O
h9y/W7F8t5zOR+7OIrfc+5GaWx7vLQgtxOZWyrlB1rrP93vs0jR2Fm3ffX2+YqbW97mwvu/7zCki
0ZnA8x75bIezkOP92RdbbzDKPJK33p+LS+Ed586pvDbJLxbi5VK9spzPV/y5RLwmM3PtI3bvj0yd
mT3TeST6CN0RsrWyhC/VzRSlJHG8fyeBrNobKR+pLvrVWSSNlIIYM8I+YqTWkirPOhOxN1NzZD/N
80njrASbtqIEJOlPl/f+i8na2fKdvSRZO3N8nn/+0dcqtSNr513P1jr/aPwLWTtrM+vZmLczRfrI
T++Y8PNVZ6ifLzlCdz5E33Y7u3anI1L5vSfpVupZicVXv5Skr9+9InAvhPKl3D6X7Jei/3L+Xkzx
izV4ZaHO17TzOXe3/r4wMzyptrMXkeB21NTdi8n5Uiv1X9/tu7/5j3f/+N84VP4MDXEEfiDxTOPI
rZ5VO+/unXS+Ym9+PqYOABbk3LTd/XceNdY+u1VjZ4+wSP0s99J2P+r7aHjGzsfkmdjvrMK52/lV
anN1ycC5LzPd0z6nAT8pebMvzyGUpR2QnPNRmV9tbxlW9XwIc9vKQCTmEZ3aEB1kYxxJPUsekne0
Qe0cayvOj3Pr7QU8h09r57p73jIPjp8zNo4Oklx2Vvs85CicIwcv5unLqfW/1Ap4+UWf3r3y3S/n
5pUJPJPrpT6KtfVcJAR5tsVMTsn2Lc/3VUtfeZu6tF5HRe+JWhxcd2b5TFMaRxTP81uNq9rZnuUo
zF6KZv388wjCOdEnL4iSOKKKldBrm0fK2C3aWDXz8lmLf0Rsc5fdln5zlmz0s2RH6PquevVznpwV
OrZEPWvHbxpqnIs6j5YOSSjdcxrVvPVyc51HHiWUyrBIrPdrZCmCWhpXHR3U+kIW+/nYKqFIbS3r
oNobOucM7YnSOUON4+cIThmcmWegl/PjVyTphbS9FMjXxPaXoUFQ3S0xi2chz8m6Eb8z1bPNobFz
PrPbjz2Ztd3P7TbfeBasJqbqrO5qR46O/KE5ED+GfFCcgYVWRwTQRhrhTNbIbFqsM5Zq961aOuqV
x8n443Hb6ubIhSb5jHS2Dtf10PbIr5btvPhIrHHBwGS7nM9buW39p7VlBDAWygRl2acPtKzvPLOh
jVNQfdoKxccOzzvrygHK9pAE+SDkTMo7PvT8fNRkoVzcm+cdc6PwETnmh6Nx721RbjPruT7czkgZ
8Xnn1ZfOyLO1CrPB52E3YQsdM+mOGcjSs0jcijnpUsfn7DpGun+zdEhj0RcUxhnZ+sjz9FVLTEk8
n0OeGTw7yItyni5zn1dr7F59bNd5ixJoafjVQvalD7oW5SyYv+2phH05O+cvVr4tjA==
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
0CS0S/7Hpoh/8qunXz/dpi4eePmEL149vvrDGzzhs8dfP72ab3/54g/Xf/v9kX+4+dlLu3F74qzx
bp/+4tUvMNhPttm7/VGXWQ9MQ/Trv2yq+f/afvjPTaQ45enf/2M5PdnEv5ba/usn27Ovf3v6p9OD
00fTc6CU/tOJrz3904PTJz9//PLVLV/26MXzJ988ffW3fNS3PAUf+wa9+219sbgp8G9fX//oj9fP
f/bkCT6F/fndO2g85TXd8y3fqNX7w5cvvjp98fvHT1786QdsxWu+8SNcqOs+fvz0q222a1VtV1/b
vP/o8KxPfvn01d/UO7Rvrr5+efUDvRO2yumj3794+X8haC74IzQ03PFxzi578dVj3bUsLnry+OUf
7EHq9q8eP315S4f/7bbyrx8/eIPxCcfx+frqhm8v3r4vb755ae3jh3958/zJ3zi1P7u5fv7kHc3K
T/iw4/yLf/379g/b73/tzHvwyY/+fH31DdrAP/De27bOU2il3O+f9/vn2++fP3vjNfrZl8NL9Nnv
twH6yJWvTe198vR6W5sF2sZCisOaBEvrZenUS9Zt70j2Rv/3Z7/bnvjZZ+9yd/7iVz+2Djz96Le/
3dSXb9+jt8v1F1382o16f+zfuk9Pt/zP3/I/ZVniw03N+uTfnj+9evFkm2SbzvS700c/fPr1VzeP
/6Jf8d0fffv1o83/9pMfon1/B5vhdsS83/2wtXC/HX7LdohF/OPjig82Skp8K0IEzkMV/sre+K0t
iHZaf/bF/3765NXvv3jxzcsr3fXpy5eP4fNdUH+p2ym/6zHQV5bc+vRr6uv+13/CMx9tu831y+sn
fPbXfOLx2dPdsfY8/dp7zbe8lI/91eOXT+Fy5mN/+avHN99c7w8P44s+ffJHdcXeAb+6fvn1U5g0
fNIfPv3JZ9ePt3n7229udOXX25x+/Oxr3GDu4v+6J8t70MzvWtH7Gz7nzja2eL+xve3Gtm1rLbyP
jW1d1mnLKaG/Zp+rcd7nSkz97fe55fCsCNqFedcr8X7Xu9/1PphdL93vem+765UEPrb3sOv1fNse
g9Sd43ZYv8s2l1A2bt7Y2m176/3Gdr+x/X1ubPl+Y3vbjS22kt7Dvkbq0lv3NXi09l9rCeU77Gs9
rsd97d5Mvd/XPpx97T4c8Zb7GtKw49Lew8YWwbp4u8KW5r0oI//47Te2Us4s0XS/sd1vbB/Mxlbv
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
nu/rL2az5WZTfrHarRbL8vfFajtb77tfLOfL7etffPrs0Wb2ZL0q1/l4Pp8/WW23dbnW6yerxWxf
XluUr7ZcLm++eLRePVnvN9v6cesn891+XV/bPVnN9ovy2qx8xnxbX/vp1/uivOGjW/Lnj8vN3s7m
m9nf33z0p1cvP//qP25+/stffvy8HIo/fv3qWf3YNzblsryZ1X4zLws/2x9uS9lZZZ3mu/KdHy/q
iq/X9T2Uayu/3K/qiyXUr8vNqC9un8y39aoWs9WTxW69qC/+9Gv29Xa/e/QP35WN8OtH20V5M/Oy
E/fLct83tzd4vin3aL8r7261vSk3cr/b1B1V3sV2vt3d/Fu9kcvlti5CucTlfL+8+f2j3f7Jelne
eN2Lq+Xu5idf+q89vflZed91JefbeqrK/ZrPy7crb7zc491id1jxukV+/6js1bLf6vuczZ7sZ7NV
fW3xZLFclvu/r5ez6F76yVf7fU/vtXyz/WLdvadyO3ZlP35Z39Rqtet2ZtkK23JqyztYPpnt6g0t
b2q22NU3sFk92ayW9f5tywIcXvrJV+vtfa6f7Oqi3d6ocpa+rG9gvqiHalaq03xX17h82GY/W3Xv
abnf1le2T9abedni+82TdT3Ivz/ytfp6l//wr718mX99tL/5+d/ffPrfX5+D5XxRF355OJXbzXzb
nd96cavu/M6e7ErJLVeyXOyeLNaHg7rdrEvJne/K73W7pxyBTfm9vz5alqOy3NTDMN+uSqlbr26O
fId/6/FALBfzJ/t5977mTxblvNX3v1iUzXR4se6cbsFqVSnvpXtxW47Jen774mK+7OpPWeJld3h+
+iX7Wsf6lRf7rhCXKrNcbBbduy3bbHUod7Mn81V3Luobmy02q8P9Xq0P77ZU0/V+vzlc13bZneEj
X7O/t1vfz7p2un2pLLebo7x4exjLYSjHY3P7zuab21u2Wmy7G172x2q1qgW0HO7NZr+/va53vuSA
D8liVi9hWy5hvThMHl+WGWb5ZFuW4/Gq9qbFTWkMpVuVHbTalbZfasR8U+v+vJyBdblTu7K5yuCz
KPdnsSiftS6tcb1d3NR6tytl43E5J+XbrG/Kl9lsdvtD2dmVv5RPK6+t17Pd4bX9draoH7UqTfVQ
CbuvWF5ZHNp9qe+bchx/VT9tvj90rkVpSZvuix++W31lM1velMllv9ndVtRynOt3W27KnqoNYl46
yqb+6bxyietZaXyPF8u688pEM59tyh2pH7SoY1At3eXqykrvt/u6/PtynhZ1+luW77PcbetL5ctu
S6ecrzY/TI1ln+/q1PirR8uyCzbdjSkbv5STda275b4dNs6i3rZ1uac/XYhfPXrPTF2Xu9Tj0vPu
WUN+mKMXhzl6sds+me1X9Z2vl6Xql2stm76UjHXXFBaLMoPu52UGLSPXbrOv73xf7vxqsSgvlcls
0d3AchJ382W9qaWuLLsiuSjDWqkyN/UbdFvg8b7Uw9msjN21g5cy1G2GVRkdysy7Wh4K1+O6m7oP
Kp+/WtaTUwaV0sj35aZsyoqXSvx4PS+rUz7/V4/Kty43flFLRKnXXYk4couPLkU9zmVeLK+VK1vV
zbEo82VXj8oill22KvvvyN3p5uxjw/WmzNZPZmUYLe9sVr9sOS9lWC6HYr/cl61RZ5Td6qZbrvI9
ur93v1ta7rKcsnkXFdblgsqGXN7O5OX1MlPXe1y+Xpm7auku22++2h/eeJmyy4Redsu8+1Y1bpSa
/2np6vuyh3aLMns/Xm3qV9mul0c+9/FmW8fPOkGXDyuD6qZ8i18+P/cb//Le37iMcA==
txW/foOuRpZvexsrHrjTP3rzM28++sPXr/744vnXLz8rq1V/+8SF+OiPL5598c/Pyjf8vnzyzc9/
9fEnv7td83/589cvvzz81u0ZK2n2s6///cXTjz/Z10j7p1d/++LF09dv562TOL/59LO6mRbnbKZ3
01t33za3pfzNov5Waq5bfDavpWtbKuxmXSt8LXabekMel4l1X14qa3dbzGpGKMNMd/T26+X8raNX
9s26G7oXNRzU1LNa11m2C8FlD8zKKbqpxa2s8qYevcVhVvrVo9r4S4Ld1etaHWaT+sb2pf7Vs1cq
SHlr5extfjx75dTuyhs61JfdvJvVFnUmKGW/S1rdBq37cTMvNarWr9KVa0soX3e3KN+1fmodb2a1
4pYZYras11U24XK2qcN3Sbu1WP3k/jz/YOFdrjaL/ZmF9yf3tDbbcqH7enWlu5ahpxyxUiLnm67f
bstvlRfWpTSXt9m1210Jt127XT5Z16RRum1Xo+tBXuxrgS21cFc+u3yVUq3Xhyyyq7e+dNvylffd
PSoj12xWsmB5pQy4i9t8tKndtpTl2wxTv8K8dtvyBQ5PJ+qktisVd1snhMM/l/Xd1X/eLLvOVl7Z
zXe1Zi7rt53XBrypDbjc4XKF67IJykKWMv1js13uar6v69IN3fXa6vncdUW59J113VPLslfWdeKo
dbqbJY9usyPb8cimPba331PhF92h3O/KFu0ekSzKXiyDVnlxVwbRTVfi5/WQzpbr7q/lb2WX7Ddl
lba1pe/KKDNf1+mmGyW6g3u42WXELG2qXM2srvVyV27pot6uxWpdbu6qzCar+lLdmbsa1EspLUX+
cbm60tr2peGud3WFdjV4HPvs8k3Ltukmil0pcctNWdRSb8/+5r884ZvXp2br5XZ+U/r+dlEO+30K
/b1O1t2F/pTliBT6u/fUvSv9P3z34/O/w+PaT5+9Xf1rp91syljzuBvwNrs6683LL+vDu+4wzcty
3uxK0ZjX/l1n3nowN/syc3cTQFnB1WxVB71SjtaH4lyG1jL+l2UuG6gOgd2AWArCqpSHba2t8xoC
tvNaBsoxLb/qHijVCbtsk019OlPjVZm0lmXmrUmhe8DweFP6QC1mzx/VPLXthsN1Hcu6j9l1z9bK
C+Wdlt07q91y3r1Q7l5NBfWlksTKxW5KFdreftBysz280j09ra+s6+RdH8LUzV/qzXJ2mCMf10es
NWDMN9syUJaN9LgUse4JTZdR69zzuOzs3f52gi3dZVZjbd329USV01aS0q57T11S6jrbquabfZ2l
Z11drE8Ed4emVNrdqo4gZQvsN92jz/ogaLm9Wf5YA2u03C5KfKqfWU7uusaeRUky65r/F6XuL2r2
eLzYlBmspv9SFMvm7ipf6S2bdbd2dbZedhNaDbJdfq195vCor1x79zzoyGb5VU/RtT6JqcW+HLpD
IuzK0Zfda4dIVoPBfrfuWsJ6V+99eaVkjcMrq/nt523Lez/sqkUXG0tNLw1+fbPclq24nR9Sd6lX
q5oIt8vaAMss8GRdm9wPrWXbNY39Ybg/PJKoyb4+VKnFa1H6bZfbu9OwqI9Myw3clQ607JJCmZm6
XbYsjbXU0JoU642rJWc5q3m2OwEla+x2Xdet08p+s+k6YW2ypWfVmeYw+9TNt1xvStYpZ3A/W9xm
2k19uFy+a33i1j353NZdvitvrqz8Yrc75OzdrGSy+qSkW6vazbofFZTrrJthVbfPqt6N8o3my/Xh
uNRxpz6GrEWgVOjDfZ6tup961NcW89nhTs/r9FlfmZWh/pDiDw377TXsa4dc5glgfYBWSmFZlEV9
SvDGz5L+Q21UG9VGtfGitfHuH9DOZ69/QDurt7H+6HS5qeP07d9vX12u6zOt+gPEcu/369uN2j0y
KveprPMhIK62XYz/4Rc//t68Bt9DZt7WYlV2yOsf6g6jgN8x259+dy4+3r+xtscm/TfX9pTHN79+
e4jf1H1aT2vpJLv6SO3LR+XwLbtwXRrGrCSbm3k5SIfNWH8KWuJ22dU1qpX7UX+Gv+qC/Lz+OLT7
SW4JhLPZatVV8+WiHpn69HZbH9OXeHR4DvK4BsTVetG1j/LFNjWklN2zqM/e6yEpjWTfPQbY1ohY
W2U5/V0DqT8h2JQDWj5z/cNP2upX61as7M3NocaXArVflSNVLnC72Nz+QHk+X93r4KxLjqqxcbPs
yn7d5vt1+WK13ZcKMev+CEIpAIc/3ND9en6z2dWr22679revneyHUF5e7x5x14+uv65Bsf5wYdP1
5/qoeVu6UTkyvz2s3Ht2e9l0n5Q39/M//bffPf3TX5598+Jf/vbNi9vt/ek///4P9V/r/8Xde/2U
jy079/svv/iqfPTjZ6/Khv737169+Pb2W3788uWzwxt746Oe/+XzLz57+eL21C1u3/EPv1v/8urH
N/3zfV3a3WaxeOP0vvmhf332xXc/fOy3X3/2+Tfl/7948dVn7/nwuog/Hri3P35Y173sBrGyv0+5
7m9fPXv56qQrv/2MgV37clF/ZjI/6dqff3/ShT//fnhXXWpc6Zr7k676b6dd9d+GdtW1eJelXi1P
ueqXp131y8Fd9auX9aLuf8Fff1O/8AmXfPiEYV30s5fPT7nmw2eecM2vzmp1Q9zep5Wyl4MrZfvZ
PS7386/+97fPy4Tyixfff/P1y1eP//bZN5/f57qPf94IbsD3Z96A7wd4Az76y9dfvvjof5Xv/uov
z7766Ndf/5+vvvj62WfffvT586+/+vTJN1/9xxk36M+ff3F7J06/Sa8/t4eLn3/w4u++sDqd/8tf
Pv/2N1+8qH8Q/j7X85NPeSMOlrD9xo95u9T22Y/R7mdPj+S3nz09L8GVSz87w5XPPTvF/ezpmTnu
Z0//cHpQer0Dfv7xJzcff/fq65s/Pvv21YuXn//fN/beT1L7f/33b1+8/OuLz57+04u/PT180A97
6o609aDf/vS/lL98V/5ff+Bf//pGdJ/64pcYX+/Ij0G+Ht2LR/nyfu8b5n/29LfdG3zfM7A7H0nd
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
zS98ftXP2ZOmdOcUmgAwFaiWmcGZNgDyj5lfWN0r0xWZakwnzA022FDZYAPnTbOm9udOmhI58k+a
WbKdQhMAJjVtZzbKzNiZr/6lL3tluiLTGVOEudFG31c22sh5U63pSk2V5le/8qXVv7Daqr47T2Mg
CbZTaALAJKUxAWqVmTIA0s7881/44pe/+jWvTFdkrq/C3HjjTZSNN3beVGu6UvPbawVpfn611J0X
heafU2gCwGRkcJkZBkDSmX/xS19RZX57bdeXr7f+hirMTTfdTNl0U+dNteb31jVpfuPrX5U50Kqf
8925HwPlG5QUmgAw2WhOgFplpg6APrea68y/8rWvf9OU+b31XJGpwtx88y2UzTd33hRrulLT9ecq
za99VedAqTvvGAPhTACYLNSDRh/96F/FMlMHQKt+fnXXmYsy11p7HenLXZGpwtxyy62ULbd03hRr
brShSfNbIk2ZA0ngyLpzGQOVwXYKTQCYXAxqzUOZ+enPSGeuj5lrmjJdX77JpirMrbfexth66622
FGtu/P0NNzBp/qtKM3TnIxSaSBMAJjq1CZDl2VOZKQOg1fUxU5T5XVHmxptstvkWWzlfbrvtdsa2
226j1tx0E9efe2l+0z9pSnfeHgNRaALAZGPgBCiUmZ+1MlMfM79jytx0sy223Gob58vtd3Ds6P5n
++23U2tuvpnrz50014nStO7cj4EItgPAJKZ7AuSzmVJm+gHQNzJlapEpwtxxp5122nnnnXfaaccd
d1BrbrlFkObaa63pu/PVXHduYyCC7QAwmam25s0yM+/M111vA1Hmllttve12Tpg777zLLrsKu+yy
805qza232mKzTZvSXDUbAxFsB4DJSqU1D0GjvMwMnXmmzG223X6HnXZ2vtxtt92F3XZz2hRrbrvN
Vlts7qWZdeeMgQBg8tMxAQoHjcoy0zpzr8zttt9xp112db7cY09ljz2cN3d11tx+u2222lKl+T2b
A/lC8zOfyvNGnWMgpAkAE5bBQSNdAUplpnTm31t/w+9vstkWTpk77LjzLrs5Ye61197GXnvtucfu
u+2y8447bLfN1k6a399wfSdN686/qHvnjIEAYHLTdGYxAWqUmf/6rW9LZx6UudPOu+7mjLn3Pvvs
u++++7n/2WefvZ01d9t1551Umptt4qSpT5qpO+8eA9GdA8AkYMAESPLseZm5xppruc58g4029src
Zdfd93DG3He//fbff8aMGfvvv/9++4o1XanppLntVls4aYYnzTAG+tRIYyCkCQATkwGtuZaZH0tl
pg2A1t9QHjNVmbvtvudezpj7zzjggAOFAw6YodZ0peYuO+243TYizY02WO+73/l26M59SHP49WGk
CQATklprLjtAMWi0yqc+bWXmN9ZY89vf+a505ptvufW2psy99xFjHnjQQQcLBx10oFpz772kP99B
pLnpxhut/73vlt15GAP9bfMzFzxpAsBEp9WaNyZAFjSyMlMHQNKZb73t9jvuLMrcdz8x5sGHHHKo
cojz5oEz9t93n7322N2kufmmG+uTZtadf3KVYgxEdw4Ak4fucGYxAQpl5rrrbfj9TTffahunzF1F
mfvPEGMeethhhyuHHea06WrN/Vx/vvuuMgjacvNNvr/heutadz5SSBNpAsDEJXfmgAmQLzNlALTJ
Zltuvd0OXpkHHCjGPPyII40jjjjcWVNLTSdNGQTJ8FxSmqE71wNHHSFNpAkAE50RJ0A6NHdlpgyA
tthq2+132sWUedDBasyjjj565syZRx999FFHOmtKqSnSlOn5tltvsZk8aZbd+Sfq3Q==
OdIEgIlNVzgzmwBp0MiG5q7MlAGQ68x32W0PVeYhh6oxZx5zzLGOY46ZqdY89OCDRJoyPd9+2622
2NS68281u/N/6OrOkSYATEwGhjNlAuSDRqnM3GwL7cz32GsfUeZhhx951Ezny+OOO95x3HHHqjVd
qRmkueP2+qQpgaPYnddXKHnSBIAJT2dr7idAq3zSgkayAuTLTN+Z77PfDFXm0TOPdb484YQTHSec
4Lx57MyjjzzCpLnXHrvtvKM9aQ7sznnSBIBJwZBwpk2AJM8um+ZWZm659XY77rzbnnvvN+PAgw91
yjzm2OOdL0866WThpJNOPOH4Y485+iiT5j577bHrzvKkaYGjUbpzpAkAE5fu1lyuwIUJkAaNvrX2
Or7M3GEn15nvu39S5kknn3LKqcopp5zsrOlKTZPmfvvstfuu8qQp1zq6unOkCQCThM5wZmUCtJZk
M63MlM58/wMOUmUed/yJJ51y6mmnna6cdtqpzpqu1IzS3HN3/6RpgaN2sj3/CiVzIACYyFRb8/oE
6FvfXkeymVJm7rzrHnvrY6Yo84QTT3bKPP2MM84UzjjjdGfNk06U/lykOWO/vff0T5obb1TtzvPA
kUizXWgiTQCYIHTvTaYdID8BWus7301lpnbmhx1xlCpTjHnmWWedLZx11pnOmqec7PpzleaBM/bd
OzxpauBorTXX6LwK19WdI00AmBAMac39DpBNgL69zrrr+zJTBkCuMz/iqJnHijLFmGefc865wjnn
nC3WdKWmSfPgA/ffNzxpbvJ9351/vflxIKQJAJOBEVvzL39Vg0ayab6FLzNnHHjI4UfOPPZ4VaYz
5rnnnXe+cN5554o1Xakp0jzKSVOG5/akGQNH8kW14tO9rSdNpAkAE5BhrfkqnwwTIA0axTJzn/0O
cJ350ceoMs88yxnz/AsuuFC44ILzxZpnnhGkeejBMgfSJ00JHPljHV+tPmkOkGbf/5sCAOhszZvh
zDABysrMgw49XB4zvTLPv+DCiy66WLjoogvFmmefZdKcedThhx50wH72pCmBo7gOlL6olj9pMjwH
gIlL7sw/7WzNiwnQNtvv5MpMGQC5zvyEk0457Yyzzjnv/AsvuviSSy4VLrnkYrHmueeYNI+deeTh
hxw0Y9+99th1pxQ4Kk9pFk+areE50gSAiUJnax72Jv0VOJ0AfU9b81hmHnGU68xNma7IdMK87LLL
HZdddqlY8/zzkjQPO0TnQLvsuN02eeBIP3TxmexJ0x9tb86BkCYATAyGteZyoN0mQGvoBMjKTMlm
HiBlpnTmpsyLL7n0ssuvuOJKxxVXXC7WvPAC15+f6aR5/LFHH6lzoOaT5tfzJ02V5t/6ax1IEwAm
JN17k3+X9ibjDlCYAPky8+hjjz/plNPPPPvc850ynTGvnDXrKsesWVeKNS++yPXnIs0Tjz/maJ0D
DXjSLI62V+ZASBMAJgCVMrOjNV9jzTgBysrME08+zZTpiswrnTBnz7766tmzZ1+l1nSlppPmGSrN
o444tPGkWVw4ssXzOAcicQQAE5JaOLPRmhfhTGnNNWhkZeYJJ0lnrsp0ReZVs6+eozhvijVdqWnS
PPnE44456nDZB6o+aQ6YAyFNAJhIjKM1lwlQLDNdZ37OeRdcdIlTphjzmmuuFa65Zo5Y84rLVZpn
nXHqySccZ3OgzpRmPgdqJ46QJgBMBEZrzf2BdmvNZQIkQaNDfJl59rlBmXOcMK+bK1x33bVizVlX
qjTPUWnK8FyeNJ00G0+azTkQ0gSACUp1bzJvzT/ZbM3DBCiVmdKZX37lVa7IdMa8/vrr5827/nqn
TWfN2VcFaZ5+6kknHHv0ET7avtP222yVzsLZHChe67DhuU8cydl2pAkAE4VRWvNib1J2gGQCdOAh
hx91zPG+zDRlijHnzbtBcd501pxztUnzPCfNU06Kc6DG4nk2B8qH583EEdIEgL4ZQ2tue5MSzgwT
IC0zZQDkOvNZs0WZTpg33qTc6LR5fS7NM0/X4fnh+qQpcyD5eG/80kWxD5QPz5EmAEwghrfmdtLo
a6E1l3DmLrvvtd8BB4cy87wLLr7UlHn9PGfM+fPnL1iwYP58Z01Xal57jUnzgvM0ppnNgdItTZkD
6QHiodL8n0gTAPokKXPE1tyHM/fZ/0ANGulr5kWXSGd+jSjTGXPBzYrTplhz7nVJmmecZsPzSrQ9
7gPZ8DwljgZl25EmAKxkxtqab+xb831nHHTYkTNDmek6c6fMufNckbng5oULbxEWLrxZrOn6c5Pm
RRece7YOz2UONKM2B4rD8yJxhDQBYOKQl5mDpuahNZe9SQtnHnL4UceecPJpvsx0nflcqTLFmIsW
LVrs/sdp8+YFSZqXOGmedcapsnke5kA7FXMgHZ4PThwhTQDolQGt+d8Pbs3jBOhcKTO1M1dl3rJo
8eJbhcXOm7e4UvPGG6I0zz/XD88PjyeO5JtqNgeKw3NLHCFNAJh4VFrzv0yt+T9XW/Mddt7NwpnH
HH+SLzNnzZ7jlHmjKfPWJUuW3Hab+8etixe5UnP+TV6alzlpSuLIL1GW+0DF8DzFNJEmAEwkyjKz
uDZcDbTH1vzAQw7XCZCUmZe6MtN15qpMMeZttyvOm2JN159HaV54/jlheO4/dbHDtlvlw3O/ee7P
tusHgpAmAEwUuidAA1vzPaU1P3LmcToBulBeM7UzX6DKvO32O+6448473T+cNpfcatKcN9dJ84rL
Lr5QEkdpiXKPXXcqhue2ee4TR/EDQUgTACYGna3539Zbcx9o32vfAw4+7KhjjrcJkC8zb5p/s1fm
nXfeJThvijQX37JQJkFJmpI48nOgxvA8bp7HmKYtBCFNAJgIDApn1nfNU2t+xNHH6gTowksuu1Je
M11nfsuiW5eoMe++++573P84bYo1Fy9auGD+jfNcez7riksv1sRRPjyPS5RF4qiRbR8iTawJACuB
Mbfmm6SpuW/Npcyc5cpM6cwXLRZl3nX3PffcK9zjvOmsKf35wpvn33j9ddfMdtIMiaPm8Dwljr68
esi2l9L8S6QJAL1SC2fWWvN4oT205jOkNZdwpgSNYpm5eMltqsx7773PuPcekebtuTQvv9QSR2nz
3IbnKXH09a/EmGa+ENSS5v9CmgCwUhnUmvtv9LZb8x3i1Ny15joBmnX1NXPnSZl56223qzLvu//+
Bxz333+/WfP222QSNP+G66+b46QZE0cyB8o2z4M0feJoRGnyqAkAK4uBrfk/1i602xm41JrbBGjO
tdffoGXm7Xfcdbca80FFtOmsqdJcHKR55eWWODr5xHLzPCSOYkwTaQLAhKJRZpat+f+uteabhl1z
PzU/y1rzWGaaMp0xHzKcNrXUvPMOleZNN1x/rZPmZZfIYTgbnofE0fY+cRRimnEhCGkCwAShXWY2
W/PWd83DGbiyNbcyUzrzu+8RZT700MMPP+J4+GGnTWdNleaSIE3NtheJo71C4ijGNDu2KJEmAPTH
sNb84741/3L6eJpvzQ+UXfPUml8370ZXZi65/c677rlXlOmE+ajitKnSvPfuu1SaC266Ya6T5hWX
6WE4GZ4X5zosphmz7XGLspDmR5AmAPRBfQLUas3lu+bfzD6eZq35kRpoD635DTdJmamduSrz0Ucf
M5w2xZpBmgtVmpptrySONKZZZNuRJgBMGAaUmWFq/unPlq35lvrxNH8GLmvNb5yvZaZ05qrMxx57
/PHHn3jC/UOt6UrNe+9x0rx1kZPmPJWmZNuzG0f77LlbHtOM2faxSxNrAsAKoSgzi3BmuDbcbs3l
u+Z77G2t+YlZa37TglsWL7lDO3NVpvPlE086RJuPSalZSlMXgnxMM//WhcY0xyZN0u0AsHLoCGd+
NOxN1lrzrfW75nKhXc/AxdZ8/s2Lbr1NyswHHjRlPvnkU4rTpljT9ef33xekqavnmm3Xr6odl3/z
PMQ0/ULQMGmyEgQAK4vxtOZ2OlM+nqZn4GJrvmDhYmnN73WduSnzqaeeNpw2n5BSs5SmLgT5mOYJ
xx5dxjTTQlBdmn+NNAFgpdMdzsxb89XK1jzd55DW/Oy8Nb/Nteb3uc7clPn0088YzppSa8qjZpSm
3uvQbLs/DJc+EBSz7Zk0PzeqNJkEAcAKY1A4s7M1T/c59EJ73ppbmfnwI6bMZ5559tnnnnvu2Wef
ddrUUlMmQUmauhBkMc1TTypimpptt4WgEaTJ+BwAVg7NCVDjpFG9Nc/vc+gZuNSaW5n5yKOmTDHm
DxziTa015VEzSlPvdUi2PcY0jzrcYpop216V5j8V0iRzBAAri4HhTPtGb6U138F/cFKWgORCe2zN
ZQLky0xVphPm84po81ktNTNp6uq5z7afe9bpRUzTsu1Rml/7ypcq0vSf8CVzBAAricEToH/854+l
XfOsNc+XgORCe2zNl9x+ZygzTZnPP/+CItp0LbqX5kNRmj7brtc0dXhuMU2fbfdblP7IEdIEgJ4Z
EM7Mrg2n1jyeztxzX0sa2RJQ0ZprmfnEk6bMF1540RBt/kBKTZkEBWn6Lcpm4ihk220hSKW5Rkua
coTYvkZZSJPxOQCsODomQHk4M15od615Op2ZloA0adRozR91nbkp88UXf2iINk2aTyVp6ur5vLnX
+Gua6TBcOEEcpblmkKZFjuTKUfqEL9IEgJXDgAlQOmmUWvN0OlOXgFLSyHbNZWqurbmWmUGZLxlO
my+INb005U3zzttl9TwljoqY5tik2cgcMQkCgBXA0HBm2ZqH05k77WZLQI2kkbbmWZnplCnGfNkw
a0qpGaR5791OmpZtT4kji2lqtl23KP29jsHSHJo5wpoAsBwYNZyZteZyOnPn3W0JqJE0stbcl5mu
M1dlvvzyjzxOm65Dz6R5v5dmM3EUs+1x9TxJM2wE+Q+rIU0AWHm0JkCVcKZz5ufDhfZwOnOXPeJH
es84+7ywBBRa84dlaP7Ms9KZO2X+6EeveLw1X3i+lKbENC1xdGk6DBcWgnT1PJemX6P8TFWajM8B
YEVSLzPzcKa15l9MU3NtzXfdM34JKEsaLVyUWnNfZjplvvLKjz1qTS/NZ57SnKaTpo9pyvA8JI5i
tr0pzRBu/3yQ5r/8U7YSxCQIAFYsg8KZldZ83dCahyUg/yWg0Jovjq25lplRmT/xOG26UlMfNaM0
LXEkMc1w40hjmpJt91uU3dJcZSRpYk0AWD4MmAClvUn5ENCXvmofTwutefhIb5E0uvmW2JrL0Nx1
5qJMMearHmdNV2u6UlOk6drzxx7pSByFbPtYpFlmjujPAWC5MyScmV8btu+aF625nRu2m0ZhCUhb
c1dmPm1lpirz1Vdf85g129IMiaM5KXEkMU2/RVmVpn7C99MqTX+xo8gc8agJAMudQRMgC2fGk0Z+
17xoze3ccJ40uu2O2Jq7MlM7c6fM1157PeC0GaX53LNPP2nSzIbns6+87GJ/GM7fbQ==
HyZNvxLE+BwAVjSN1jybADXCmaE197vm/j7HUce2k0ahNdcyMynzDY+zppaaUZqPP/rIQ43huSWO
JNvutyhzaa4Xpfml1T+/WibNjvE5j5oAsNwYZQL06c+tllpzOwO3k7/PcfRxraSR7prbBEheM1WZ
Ysyfepw1rdTMpJmG5+Fcx8UXnOuz7UOl2Uq31yZBlJoAsBwYYQKU7U2mM3DhPsfM48uk0eIlrjW/
P7TmWmaaMn/60zc9Zs0kzWe8NItzHZY4shPEDWnKGqW/p/m1r2TS/FiHNOnPAWC5MWo40/YmG625
LQG1kkb3PfCQteapzFRlvmWoNZM0f/DcM+UcyA/P7VOUthCk9zpKacrnLnSPcnU7c1Sk2/Pxeeej
JtYEgLEyZAIUL2f6cGa1NbcPm2dJIwm0+wmQLzPfUGP+zFBrRmm++ILFNFWacfNcz3VYTLMmTTlC
vM7aa2XL52W6fdD4nFITAMZNdQLUPM/h9ya/uea3s9Z8r9ia+w+b200jXQKKrbmWmV6ZzpY/F8ya
pTQtceTnQGF4rp+itIWgUppbdkhTM0dyhrhzEkR/DgDLxAgToHxvstqaZx82D0kj35pLNtOXmW+p
Mf/Nodp8S/pzkeaPnDQlplnMgWx4LjeO7ARxKU29cqRfozRpWrq9Oj7nURMAliet1jybAOWXM4uT
RiHQ7u9z5B82t6RRaM1f/KErM5MyRZhv/5tp00pNk+YPX4xzoPvSEqUMzyWmqQtBuTT1NNzmTprr
e2l+vUuao0yCsCYAjM7QCVAjnNlqzY87Kf+weUgaSWsu4UwtM5My3/aoNH/mpfnKj9pzIF2iDNI8
u5TmHl6amzppfu+7a68V0+3tzFH7UZOkJgAsC4MmQMV5Dh/OjK35Hr41ly8BleeGdQnIt+Yv/0hf
M02ZTpa/MNSaKs3XX3v1x06a6Ukzu0As5zokpplLUzaCVJrbBGk2g5rZJIhHTQBYvowQzvxkEc4s
WvNDfWueLQFZ0ujhRx8PE6CfvPqalpmiTGfLXwpmTenPvTQbT5p33qZzIBmed0lTv0a56cYbRWla
5iiOz2X7fPRHTawJACNRb81jmZmHM7+u4czQmu+et+ZpCcgnjXRqLuHMWGaaMp0v33nnHdOmSVOm
5/FJ8ykvTf/Ncx2eS0yzLU35RtA2W4k0/UpQZXxeedQkdAQAy8KQcOY/5eHMeNLIfzxNd82tNT//
4vLccGrNZQIkZaa8Zf5ChWkEaWrkSOZAjSdNuQsnw3NNHMlCUClN+dzFjttvs9UWKs2YOapPguqP
mvTnADBmRp8Axb3Jjf13zautuSaN7D6HtuY2AbIyU5X5K49a00kzmwPpk+aTj8douy5RXn9tTZpy
uX23XXbcftutwkpQzBzZnaNikbL5qEl/DgDjZIRw5qfscmbam3St+Y677G5n4Bqt+QI7N2z3OdSZ
VmZmynxXEWsmadqTZhY4Ch9V083zOVfJQlAuTTlCvPeeKk1dCQpBzXx8niZBQx41KTUBYFRGmADl
lzPzvUnfmp+Qt+Y3+XPDDz3yWGjNQ5kpb5nemO+9Z9ZM0gxPmqE7D0+aNjxvSVPuac6Q757vstP2
thJUjs/zSVD3oyb9OQCMlY4JkB1oz89zWDgzP2mkF9p9a36BtebFElBozV97PZSZqsz3PLk0G915
fNK8TY5p3qgxzSsvS9KUK0eHyNco99x9F92j3DyXZj4Jqj9qDgodYU0A6Gb0CVAznKnfNfe75mef
d6G25s0lINmblNbcykxpzFWZSwWzpkkzdOfFOtD9cQ6kMc1MmnKw40j5sNp+++zp9yizzJEfn4dJ
0IiPmpSaADACjda8fqA9nufIw5l77L3/gc3WfJ615pY0Sq15KjNFmUsDXprWnevsPFsHik+aiy1x
1JSmfCPooAP283uUIXNUnwTVHzUpNQFgzIwwAcrOc2ThTL027M/AhdY8WwKKrfmPf/LaGz/1ZaZX
5vuKSfNXQZranadku3bnUZo33VCV5qEH+T1KCWra7fY0CSp2ghqPmsNCR0gTAKqMPAGKlzOLk0b6
8bQ0Nfet+d3pPoe05jIBCmWmN+avf23WFGm+I9JMY6DsaHt80pTheSHN00856YRjZx51+KEHH+DT
7ZY58uNznQSlnaDmoyb9OQCMk64JUMd5jhjO9CeN5Lvmade8vM8RWnObAHllvrdUjalEaTYLTX9/
WLvzAdI8buZRRxzq0+2aOSrH5/5R87Ployb9OQCMnyEToNZ5jhDO3EHDmQcdeuTM47IzcGVr/nRs
zd9862euzNTOfKkZ84MPPgjS9E+aRd4ofrzXP2k2pXmek+apTprHHOXT7ZI50vF5PNlR7ATZo2Za
Px8pdIQ0AaDJ4AlQPM8hE6DG5cx40iheaM9a8wd8ay4njfwEKHbmZswP1JomzVqhaXvnEjjyT5oN
aZ7jpHmyk6al233myJ/siJOgPN5erJ+H0BH9OQCMieEToOw8R3E5M+xN+o+nxal5rTXXMvOX1plH
YwZphu7cCs14flivwrnuXJ40bQ4UpXm5SvMsJ80TjzvGBzUlc6Tj82z7vIy3Z4+ajfNwlJoAMBqt
1rx1oL1xniMPZ9repH7X/MIUaE+nM+PepEyAfJn5vjrzN4pJMys0s6NwUmja3rl/0tTEUZTmpSrN
M5w0ZSXIZ45kfC4nO+xRc52180fNInRU688pNQFgOPUJ0KDzHFlrruHM40+ScKbfNe9uza3MXLo0
U6ZJUwpNedEsMppSaOr5Ye3O77/3bpkDaUwzSvNileZpJ+tKkGaOwvh86y2ySZA9akpSsxU6GrE/
x5oAEBk0AUrnOVbLznOk1lzDmceeoOHMtGvebs3f0Nbcl5lBmR9+aNLMC804BUqFpnTn9qQpw/NS
mvI1yjMsqOkzRzI+1+3zzTfdWKVZPmo2bmrSnwPAGKlOgIac5yjCmf6kUTgDV5maZ625lpmqzA8V
k6YWmqk5j98Gel7yRtKd6w7l3XfeXpHmuWeLNCWoKZkjGZ+3J0F5UjMPHZX9OaUmAAynI5xZP9Ae
znNIa76bhTOPsnDm+dkZuLI1fyW25nmZ+eGHQZpWaBaT8zAF0kLTunNdPO+QpgU1JXMk4/M0CfIn
Nb9TfdQc1p9TagJAhSHhzNZ5jnWKCZBrzWf6vclwob2yay6t+c9Ta54rUwtNdaZKMzsJ55rzUGha
dy5zIItpVqQZM0dpErTtVrVHzXboaHC+nVEQAOSMeQJUhjMPO8rvTWat+W3N1vz1N9IESMpMVea/
O2KhGR80gzP1G5QyBbJCU7pzedK8645SmrOuCCtB2fhcJ0G2E+Tj7TGpObA/ZxQEAEMZHs5sHGiv
hTObrXl2Bs5a83wC9EFy5r+3nPl2uNcuk/OXXpRlICs0tTtvSnPObJNmyBzpyQ6dBOlOkL8OVzxq
dvbnzf1zRkEA0KYxARrlQHvjcmbYm2y15k+WrbmGMyWbmSlTpFlzpgyBfvwja85joem6c5kDqTT9
m+a1uTT9+FwnQbITJCc1/aGjsH7e1Z+3988pNQGgRscEaNCB9tCa2wQoC2emj6cVZ+AarbmVmf8+
3JmhOddC8/FHpTu//95MmjdFaabMkZ7ssEmQnNTM4u1h/dzOw/mlIN+f/8OA/pxSEwAS45sAxc+a
p49axJNGxcfTwrXhojXPy8zkzPey98zgTJmcS3P+tOSNpDv30rwtSnOuSDObBMn4XBcp9aSmxduL
9fMYOhrSnw8YBWFNgOlLNZzZOtCeJkCN8xzpoxbxpFH4rnnemvtwZjYBSsr8MMzN9fDw26Uz5UFT
m/MnrTuXOdA9dzWkWY7PbRKkO0Eaby8eNWN//gW/FNToz8tPBVFqAkCDESZAxYH28jxHvJyZnTRa
7MOZA1rzD0tnNjLtYQakztQHzVho6pNmKc15c6+1zFExCZKdIIu3h0fNRn+eloKK/rwS1aTUBIDI
yBOg9oF2ac3DBKjcm7zznvutNS9OGhWt+b93PmfGrJF3psTan/WFpnXnuTQXiDQ1qJlPgnQnSE5q
hkfNlNQc0p8zCgKAQXRNgP7qb7oOtLfPc7T2JrU1f1xac/tGb7Y3Oaw19x+fLJxphaY582GT5t2Z
NG9UaZbj8yLeHpOa4VEzXwoq+/OOURDWBABlyAQoP9AurblOgMpvp2lr7srM1t7k40+NMDVvpzP9
c2bbmU91SXP+jfN8UDN/1DwuPWpaUtNuamZLQdafx3y73IfLRkGUmgDQZtgEqHqgXVvzMAE67kRf
Zrb2Jp96tt6al87Mts3z7/VGZTacGaR5T5TmwgUhqNmYBFm83T9q+k9S+kfNrD+3fHt+H25Yqfkn
WBNg2jJ8AvSJMAGqHGhPnzVvhTO1NU8fAoqteZk0Sp35gDIzOjMUmjY8F2nevuTWxV6aYXzeiLf7
pKatn7f783wU5KVZTR1RagLA/xhlAjToQHvzPEcezsy/0fvTyq75h8WuuR+aN8tM35p7Z2qhmbrz
TJrZ+Lz6qKlJzSx0lPfnxf55axQ0PHWENQGmEfUJ0IgH2uO306rhzOaHgFonjZrK7CgzpTVXZ0pz
roVmS5qLvDTDJKg4dBTXz5uho9ifjzIKIuAOAP9j2Q60739Q6zxHDGcOuTacnYH7IDsD11JmLDMz
Z4buPErzNpWmjM8rk6CY1LSbmu3+/Btlf94xCqqUmlgTYPpRnQBVwpmrtw+077VfOs/R/qhF2pts
tObvV68NVx8zizLTenPXnPsxUCHNJYt95ihNghpJzRg68l8/j/15dh+uGdWk1ASABkMmQN0H2nfd
s3GeoxrO7PwQUP5Ri7oys6G5lZnemVZoSnfelGaYBNUeNf1NzfDNi0q+PfXn7VEQpSYAKK1wZucn
er9cnwAdncrMQeHM7Bu98lVz+xJQ8+Np6asWr736alOZ2ppHZ7pCsylNyRylSVDxqOnXz8N5uEZ/
nu7DVUZBYyk1sSbAlGfME6BBB9qvsQlQM5ypJ42yb/SmT/R6ZdrIvEhm5vMfr8zkTF9oyhxIpSnW
FGna+Fx3gmqPmjF0lPXnG2b9eW0URKkJADmjTYBGPdBu5zniRy00nNn8END7jc+at0bm9pbZrUxz
pnbnXprF+LzrUTOGjpr9ebzf3hoFUWoCQMnwcOZIB9rDBGieP8/RCGfK3mRqzX1v3qHMxsQ8jH+c
MVWZyZnanZs08/G5LlKGeHt81Aw3Nbv68zKq2dgKagTcKTUBpi/11tyXmfUD7Zs0D7Rn5zluSBOg
7HKmhTP1dGbuzA8+SG+Z+Rd6X6s8ZWqRGZXpnVmRZlqkrD1qZpeO9thtl+6oZpE6igF3Sk2AaU9r
AjT2A+0nnGxlZus8R7ic6fcmfWvunenxygwj89rGZNOYpkxrzqvSjDtB2aPmecU3L9r9eSOqaaOg
PHXkA+6tUpPYEcC0YqwToEEH2ovzHOlypg9nxtY8c+avS2VWbhn9IHvIDDVmUKYVmg==
Is0HG9JsPmo2Q0fV/rw+CvKpo45Sk2VKgGnGsk2AGgfaW+c5mq15w5kdyozGfL4w5hO5MYMzkzQ1
cxQnQa1HzZH683IU1Ewdja3UxJoAU5CxT4AGHWjvOM+Rt+bmzF97Y1aUWR7MfPaZfPATfemV2ZZm
NgnSR01NaoZPUoo0W/15uA9XjIJsK6iROhqp1KRBB5jSdEyARvlEb+1AezzP8WB2nqNszc2ZvzZj
tpQZv837Qtwv94HMpi2DMktpVuLt+qjZCh35/jx89CKLatooKKWOKDUBIDCuCVDtQHv3eY64Nxlb
c3XmAGVmV9mfjgn2QpWFMsWZUZodj5oxdFTm2w9q9edhK6iROqLUBAChewI06id6ywPtNxUToGJv
Ultz/5w5SJnalz+f3X17PD5ddqHOFGnGSZAeb88eNS10VPTneb69NQpqpI7qpeZHKTUBphsjTIAG
fqL3qGOrB9qb4Uw7aZQ9Z7aU+XOvzPgtc/uMhV8s98VkoluaaRIUHjWL/vzCan/eGAVlqaPlUGpi
TYApw8gToPoneg/tmgAV5zlkApRa89Cbv6/KfK+tTOnLkzFjnKigZc5Sms1HzRQ6qvXnxffV/FZQ
mTpq7VJ2baBTagJMbcY+Acpb8+YEaG4xAfLnOUI4M7Tm4sz3W8r8WVBm80PmlllXHnjgAfvLg5k3
kzNNms1JkH/UbC8F5aVm2Z83U0ftXcoBpSbWBJjCjGcCFFvzGcMOtMt5jnA5M7Xm6sz3ByjT9eXp
i7w225Hq0fPAA16djWrz4WjNNAkKj5o+dGTfvBipPy9SRyOUmuHDlDToAFOa0SZAnysnQNaa750O
tLsyMz/Q3hHObDtTlflOOMvhlfnC8z+QIjMYU5tt58CEF6evNoM1vT6LSVB2iFhDR0P781rqKATc
/S4lpSbANGZgmTnSBOiY40OZ2TjQniZAeTjz3aTMpfEuh79kFJTp+vJQZD7ka0bXanvcX+81bzas
+XBDmmV/fku9Px88Ckqpo7RL2VlqMgsCmAYs6wSo+ERv93mOLJwZnbm0TBnlynR9eTSmCPMeVzFG
TJyqTS02W9asS9OHjrL+3OfbB5WaGzRKzc/7UjMfoA9PuGNNgClDxwRowBW44Z/ojQfa9TxHCmeW
zlzaGJm//tpPfhyVKUWm/w6vdth33XWnx/3VvCna7Kg10yQoPGrmoaO8Pw/75+2rHcUt4rhLSakJ
ML1ZpglQ+xO92YH28jxHDGfmzizmP6rMl6MypcgMH6wQ6Tluv/12+eMO782mNaulZv6o2e7PNd8+
YBTUDLiHUjPPav7jsFITawJMIUabAK06ZALU+ERvbQIUWnN15tJQZb6bHjPlktHLP3wxKlOKTO87
Z8vbImpO0WZpzWqpOag/t3y73YfrHgW1Ss3qWpD/WtDgWRDWBJj8LI8JUMcnelsToLd/8Y5vzT2t
x8yXX3rx+R+IMrUvj5+SdLZbsuRWj/ureFO16a1ZLzWb0gzn4Yr+PN2H6xwF1UrNuBb0iY/9S/m1
oCx2RIMOMPVoTID+bMwToAGf6PUToDKcmTmz2Zm/8qOXXnwhKtO11aE8dL5cvHjxIsH9uVi86bQZ
rNlZavpHzSH9eRbV7BoFxV3KYaVmETuiQQeYegwrM8c2AWodaH/uhR++1JgAJWeGzvzt0JnL/OcH
zz4TlOk8Z5ZzxeGiWxIiTtWmKzbFmiOUmvelm5qV/rxjFJSnjrJSM18LshPuw2dBNOgAU4RBQaPl
PAGScGbemr/X6MzlMfOF5597Rt4ynTKd5e6yFR7nuFsWLrzZs3DhQq9NX2vedVej1By1P8/vw+Wj
oHrqqLPUTF8L6poF0aADTBk6gkYf/au/GfQdoM4JUP0TvXk4MzrzvfdSmt06c3nMfO6Zp5/0yrz7
rlAVOl8uWLBgvuL+It502gzW9KXmIGnG0FG1P8+imnEUtIJKTawJMLkZEjQa/h2gtAPUmgCFA+16
nqPdmudlpu/M9THzSZmYe2V6Yzpf3uS40eH+EHGqNs2a0qD7V82uR82h/Xk2CspSR2MoNcMy5cBZ
EA06wKRncNBo6HeAih2g1gTo6fYE6FdlmfnOO7/UNLvNzMNjpilT+3I15nzR5Q0REacrN82a+qyZ
lZpjmp+H+3DlKKhIHQ0vNVsJ945Z0IAGHWsCTBJGCBr51vzLle8ALdMEqBgA+Zm5PmaKMu83ZVox
KMKcN2/e9Z5581SbUmwulHfNWGqOuT+P9+Gao6AyddQqNcusZrFMmcWOaNABph7Dg0aV7wBt0foO
UDYBqn+iN4UzgzPfy0+zywDIZub6mPmgKTNK7Qbny7lzrzPmzp3rvOm0GawZSs1mf/7wKP15imrG
raDKAnqt1NQNdP+1IC01q7EjmwXRoANMDQaXmcWquU2A1q18B0iuwA2fALVb81hm+gGQzMy9Mu+7
5y5Rpg23ndKcL691XHPNNfKHeFOqTWfN2KCH/rxLmrX+PLT+aRTkt4I0dVQG3JtZTSs17YR7vkzZ
nAXRoANMJVpBoz8bEDTSCdAGzQnQCSNMgCqt+Xv5bQ4/AIqduSpzyWJ/JNgZU3Q5JyDidNpM1ryl
1Z93PmrW+/NyFBRTR2XAvVFq2rGjb/lSc3DsiAYdYIrQGTT6679tr5r/qwWNsglQGTTKJ0CNT/Tm
4cz3OsvMvDO/PSpTjTnn6quvnm24vzlvOm06ayZp+lJT+3N91KxKs75/no2CUupIA+7DSk39WlC2
TFnGjmjQAaYYowSNPpkHjWzVXFvzuGpeXIHr+kRvM5xZvmbmZWauTJvPiDFnz77KMWvWLPlDvNm2
ppfmGPrzPKqZlZqX5wH3jlIz3NUMH6Zsx47qYU0adIDJzDIHjXQCdNa5A3eA4nmOzJnvdZWZsTO/
dZEoc568Mzpjii6vDIg4nTadNSvSvGP4o2Z7/7zcChqp1Awn3LO7HT7hnseOxtOgY02AicqyBo0O
OzKWma0rcPETvc1w5nupzAzZzFRmamcelDnf+uU5Yswrr7ziisuNK664QrTZsuaisBU06FGzYxSU
toJiqakB91ap2biruWEoNVuxo2IWRIMOMCUYHjRKF40kaPRdCRp1rZqPZQL0XiubaWWmDIBCZ37z
fF/3zXbGdMK8zHHppZfKH86brtq8yjr0Wn8+4FGzcxTUTh3FUvPEalYzfpjSJ9yL2FGcBdXCmtUG
HWsCTHSGlZnFRaPuoFFYNa/tADXPc7yblZm/SitAvsyUAZB25qbMG0yZzpiXX+50eUlAxHm5FJtX
ZaXmCI+a4auUWVSzI3UUAu6VUjNbC9KvBcVlyiJ2VMyCaNABpgbDy8xWnr0eNGp9ByifAGUH2hut
ud80j2Wm5IxkAOQfM2/wJZ9T5mVOmBdffPFFgvtTtZmsmfrzIUnN8P3zzlLzZi0152YB9/arZraB
rl8LaiXc0yxolY9/rBnW7GjQsSbAJKA9ARqcZ8++abHXvjOKMlMmQPPGNAGKB42KMlMGQNqZy/xn
rinTjHnRRRcGxJtOm86aqdRM/XklqRludjwSpNkqNe+Ipeb8oaVmduwoX6ZMsaMwC0p7QYMb9K5n
TawJMKFolJntoFEqMzsvGjVXzVs7QOUE6N1KmflGo8yUAZA+ZtoRdVXmxU6YF1xwwfmC+1O1mVnT
9+fNR817Wo+ajzwyYqlZe9WMpWZ27ChPuDdnQY29oCysWTToPGsCTBK6g0aVw5mWZ28GjbTMLFfN
h0yA3svLTAsalWWmDIB8Z27LjKZM58vzAuJNp82Li1LT9+fNSVCjP3+kXWoWA/TFi25pn+1orgVl
dzVTwn0DLTXt2pHNgrKw5mgTdBp0gInMwAlQ7XCm5tnDBKgsM33Q6BYtM8vvAHVNgFKePRuaW5kp
AyB9zDRlemOee+655wjuT9Vmbs2iPx/4qPlIYc1RSs0sqxk20LMT7inhbrGjcO0o7AVlYc2OBh1r
AkwOusvM9IXe4Xn2StDowUeyK3CVCVAjz94qM29dtFA7c8tJmjLPE2Ge7RFvOm1eUJSa1p8PftRM
zswa9NZa0KJ2VjOsBYVjR+mEe5ZwL2NHthfUCGtWJujDc0dYE2AiMCxoFL/Qu7qUmWtamVnLs8eg
0c35qvnACVArz56XmZIzss5cDmaoMs8771wnzLMcZ8o/zlJt5tbM5+edj5oNaTatOeBCnJWa+V3N
9LWgLOGexY6Kc8RdDfqg3BHWBJhgDA8aDftCbyoz5aJRV9BoyATIB41sBahRZtoI5kJXZLoa0/ny
zDPPENyfTptizbzUHPqoqZOgQpqZNX2D3txAv744dpTd1UwfpqzGjkZp0MORuJGs2fe/LQAwvMwc
sjbZvmjUChoNngDlQSPdNA9lpg6AtCu+9BJTphjT2fJ0Q7xZWtP681EeNUtpPhKeNbuPHcVPrF1S
lJqtZcosdpTvBXU36DxrAkwmxlZm+rXJLbau3WePF42aq+bDJkBZ0OiZp57QFaBQZvrO/BIJlYsy
zxRhnhYQbao1s1Kz/ahZ3tTskGZuzcYJ99pdzfS1oLBMGWJH8bDmwAa9M3fEsybAxKY9AeooM78U
yszutck8z54FjcorcIMnQE8/+bhsmuvQ3JWZsTOPyhRjnuo45RT5p9OmWPPsYE3rz9OjZj2pWZem
ajOzZmjQQ+xoXnHCPX6YsrVMmc+CBjboY1kMwpoAE4PWBKhzbTK7zrFF7TpHI88eV82L7wB1T4BS
nv3hBxtlpk5ezvfKPE10ecopJztOEW8Ga8ZSM4WO7FGzdrOjIc1HHS1rNhr0bBZ0ZVimPKu42xFi
R8UsKIY1l7lBx5oAE4F60Kh+nWOEMlPz7HnQaNQJkHygNwaNZNM8LzP1MTMoU315kmLaFGv6Bt33
56M8ambSfDSQW7M5QW98LaiyTBliR+UsyIc12w36oMUgrAkwURk0AeoqM9PaZCozw9qkHc4MF41i
0Gi0CVAIGt1zl6wAZWWmdOZBmSrMExWvzVPlXTOWmlnoSB41b2g/ajal+WhG05pFgz7kGnF5wz3b
C6o16J9uNuhdz5oMgwAmENUJUL42OXqZeUVnmZmtmg+eAGnQSPPssmmelZnSmQdlqjBPMESbzpqu
Qz89788bj5qtpOYgaXpt5ta8Uz6w7veCig9fXFQm3MvDmtleUKVBL3bQBzxrMgwCmFAMmgCV1zkG
3xpulZlZnr0aNFraMQFKZeaCrMyUzjwoU4V5vJGsGUvNPHTU9ajpx+cmzeDMx4yGNW0YVDToWezo
4lrsyM+C4jnikRr01rMmwyCACUh3mfk3jesc/tbwaGVmkWfvmgC9V50AWZ7dyszrY5kpnXlQpgrz
OMO06axZlppDHjVtEtSQ5mMJ02bNmmEWJIc1u2NH+V6QD2t2Neh6xZ1nTYDJwhjLzHXyofmMytA8
lZnNPPvgY8Ov/uQVv2puQaMli6XMnBvLTOnMM2Ued9yximlTrGmlZtafl4+aRVLTXw==
b8+lGZz5uOC1KcWmt2YYBqUGfWDsKN8Lyg53VBr0dMV9TM+aWBOgJ8oyMw8ajbXMvHIcZWZtAhSC
RnrQKJaZ0pl7ZXpjHiOYN501XYeeSs36o2ZMasZPUnpp+kIzKjN4MxSb3pp3331X3KbMZ0GV2FGx
F5TCmu0GfbWyQW8+azZua2JNgL4ZVGb66xztMnPr7XbcubVpbitAlTJzlKBROQEKQaN5c6+NZaZ2
5kGZJsyZM4M2nTVbpeYoj5q5NNWZassnHEmbhTXTBL0yC8piR8Ve0MAGvftZs7WEHodBtRE61gRY
KVScmfLsI5SZetAobZpXykx/0WikCdCz+QRo/o3XX3dNWWZmypwZUW2mUnPYo2ZFmtqda3PujemJ
2hRrPpBZswxr1g5r5rOgGNZsTdDDFfeQO0rPmuPIuGNNgBVPfQI0vMysHzQKK0B5mVnm2dut+aAJ
0Nxr5+RlpnTmqkw15tEetWYqNX3AvfWoeU1KalalaYWmOfNJJWmzac3UoMteULaCnmJH+V5Q3qA3
JuiV3FH3sybWBOidAa25v87xyU99Jn05rSwzs/Ps/m6mbJpbNrMsMwcFjeIVuPYE6Lprrk5lZujM
TZlOlkcZqs1Yaub9ee1R0yZBpTQfeOBBKzTFmVGZTwZzija1RX8oxDVDg96eBcXYUb4XlI64txv0
gc+ajNABJhpdQaPy1nCRzWx9BSidZ0+b5jGbmcrM8qJRdOagCdC1c2YXZWZUpjfmkUcemVtTSs1G
f1551CzH5yZNX2iaM8WUT0W8Nl2x6a3ZatAHrKDbjbiiQW9G3MvcUfVZMw6DGKED9MzgoFE8Amdl
ZnE3s/mxSfkKULybma0AdZeZ78XvAHVOgK65+qpGmalvmTPVmEdGVJu+1Az9edejZtwJakpTCs3g
TJXl00rSZsuaRViz9T3f7Bzx4AZ99GdNRugAfdN0ZjNo5Ncm62VmljOSj03qV4AWLUkHjXyZ+ZOB
ZWbnDpBMgJyHQjYzKzNVmU6VRxhmzbzUPMkW0DseNcP4PErTP2lqcx6cacJ85pngTV9sFtaMDbrN
gqofWUthzfYE3Y7EhdxR9VmzmXHHmgD9MmAClF3nSK+ZvsyM3zTXAdB5aWtSvwJkdzMHl5lLR5oA
SdAoLzNNmTNVmUdkJGtqqWlbQfVHTT8JyqRZFJrqTFXmMxnqTSs2M2v6iLufBc2tzoJSWDM26D7i
7q+4l7mj8TxrYk2AlUZ30KjIs9sHeosys35q2HJGep69mc38t7frZebACZAGjcJmopaZ+pjplXl4
QK0pDXqQ5gldj5p+EpRLM+vOtTn3ZaYz5bMJ9abTZm7NskGPs6D05YsyrFlp0MvFIGnQq8+aKeM+
eBiENQFWNLkzK0GjsDaZysxNNt9qm9YNuEbOSL4ClK0A5WXmr/Iyc4QJUAwa5WWmV6ba8rDDDsut
aa+afn5ef9RsSdOeNFNzbs40Yz4X8NqM1nz44YdSgz5wFtTdoLcWgyR3VHnWLIZBWBOgTwYFjbI8
u5WZWTbTb02GAZD/Pq8OgDRnVCkzy9fMpdkE6M30HaDmBCgEjUKZ6R8zvTIPi3hrhv7cP2qeXDxq
hg8F2fg8STM8afpCU535tDrTufIHAfWmFpuuRVdrNhv0MAtqnCOOYc1Wg97MHeXPmnEJvRwGjXGE
jjUBli+dE6Ayz/6lr3wtlZmNG3Bnnas5o2IAZHH2bNP8rcamees8R/oOUHUCpG1uKjNNmSrLQw89
NLOmlprxUfPE5qNm+LpaKc3wpFk405TpXPl8QL2p2iyt6SPucRbUOkccwpplg+6PxGW5o/Cs2Upr
do3QsSbAymbYBKijzNStyTxnVA6AQs7IDhp1lpm+NZcy0zkzfQeomAD5MvPMrMx0nblX5qERs+bA
/jxOgkppLlrsnzSt0FRnSmtuynSufCGg3nTabFizaNBbsyB/Iy5uU8YG3V9xD7mj/FmzsoRe2wwa
cYSONQGWH52tuQ8aZR/oLcpMi7PXB0BZZ645o2qZmVrzMAH6YfwOUDkBuji2uKnMNGUeWpCVml6a
xzUfNcPX1Qpp3iLSdN15LDSDM02ZzpUvBtSbTpuu2EzWjA16xywoFMlZgx4/GBQXg/TjlNW05sAR
OtYEWLnUWvOPfCQdzpQ8u/+kxbe+HcvMtDWZDYCuzxfNmzmjeNDovVZrXjnP0ZwA+W3Ek0OZ6Trz
oMxDAtGazf48PGraJKglTT3YIU+avtDU5lyfM5/1ynSu/GFAvem06a35xBOPlw26LzVbsyAf1gwN
evxgUFoMajxrptuazWFQ1wgdawKsBFqteW0CFMvM9TbceLNUZlrOKAyA5s5znbnfANJF82wA1Lqb
2RHOfMaHM+sToLLMVGUekmPWbPbn+aNmHJ97aWq4XaQpT5qh0LQHTW3NRZkqzJci6k215nNmTd+g
hx10Pwu6sTkL8kfcfYMePxjkc0eVZ82whJ4y7kNH6FgTYIXTbs0rEyD/5bSizJQ4e8oZxUvDt2fR
zGwAlJ1nX1przf2B9qd9OLNjAqTZzLzMVFUerARrplIzSjPvzyvSvGm+PWnKGOi++8ODprXmpkyn
ypcjok0tNktraoNezIIan6asN+g+d1R71qxl3Nsj9HbwCGsCrDiqrXlrAqRrk2t957tSZm4pZWbY
mkwDoPIEnO/M8wFQpcxshDPjBOieygTIgkaNMjMZs7RmkubM9qOmzxyJNGUjSK4cyZOmLzTvf+Ch
hx8JztQyU5T58ss/SnhtqjWfDdaMEffuvaAwxyoadJ87qjxrdmXcBwSPhq8GYU2AZaOzNS8mQHad
Iy8zZWtSckZ+AJSimdqZP5o68+oXLWJr3nWeozYBsqBRKDO9Mg8uaEqzeNRsSPOyKE3fnWuhKc25
DYHMmapMMeYryo/1n16b0qL/wGbovkH3peYdxQp6vBFXNOjhSJzPHdWeNVsZ92KEblvo4ZA71gRY
OXS05mEH6BOrhKCRXOfQMnMbKzNjnD2cgLtxfqMzfyFtAGUDIGfL999/P2vNf57CmelAe2UClAWN
UmeupjxIya0Z+nN71KxJUwdBskapcyDXnYdCU5rzRx59LHOmKFN06fiJQ/702ozW9A163KbU2FE8
RxxnQXmDHo7E+dxR61kz3dbMh0GVEXozrok1AVYg3a25HBu2CZAFjewI3CapzJQ4+ymxzCy+AVTO
zLPOPChTpFmEM7smQFfFCVAIGhVlZjJm0ma7P/eTIL3Z0ZKmPmm67twKzbvu1uY8ODMpU335qmLi
dNpsWjOWmjF2VJ4jbjXociTOLwZ1PmsWw6DPfkalOSh4hDUBViQDWvPGBCgvM/fUMlPi7HEAlDpz
r8z6zDwpc2lozSvnOSoToNPzCZCUmaEzP6hgkDR9qZmkKbvnV8323bkvNKU5j870ZaYoU4X5mkfF
6bTpis2XwrvmM34WVJSai8pPU/qwZoq4uwbdLwYVz5rZEno5DFr1s60ROtYEWJl0t+btCZDl2W0F
SMtMnzO63KKZsjRZT7MXM/P3Q5kZW/P2eY7WFbjmBCiVmQcdVJXmISbNw9OjZtoJ8tNz2QjSJ03X
nc+7wQpNbc4feNA7U1rzoEwR5usR9abTZrBmatBj7KhIuKdZUKtB94tBzWdNf1szGwa1NoOy4FHb
mn+GNQFWAINa82ICFIJGW26zvWUztcyUnNHFIZoZOvNHw555SrP7pcmkzOjMPJxZnwBdkk6eN8vM
qMwDjUapmT1qFuPz06M0L7nUd+fXz5NCc/Gtrjm/R2ZYjwRnWpmpynz99TcS6s22NeulpsaOGg26
7aCn3FHlWTPd1rRhUHuE3hHXrKwGYU2A5cLg1lyvwOUTIFmb1INGRZmptzkanXktZpQp8/2yNR88
ATo/TIA6yswDE/X+vCZNXaPUJ02ZnVuhKctAuiv/UHCma82jMt9446fCm2++KX+IN4M1X9bkUetV
s/Xli3qDbrmj+rNmNgzqGKHX45pYE2DFMEpr7idA66yrQSM9z57KzDAAyjrz9JjZjBklZZozQ2v+
2qs/Lg+0d06AYjazrszMmk1pHp1J09+G80+aMjv3L5qLl/gHzUcee1yc+fwLL/oy05TpfPmWouKU
ajNZsyg1H66UmjoLKhp0OxLX8ayptzXTMChuBrVH6FgTYGUxUmueT4C22nYHvZsp2cwTT5E4ux8A
3XzLrZVPAJXfszBl/rrZmvtwZn6gvWMH6Lhma95WZrPULCZBXpph9zx05zIGmjtPMpqLtDkPzpSx
uWvNvTLFmG+99TOPetNpU63542DNAaVmih1VGvTas2bKuHeN0LEmwMomd2a9NddwZpwAbbH1djvt
amXmTCkzJWc0y0czpTPXmFE8mtlIZqoyf+2ISSNtzcN5jvxAe3MClFrzGDQKZWZTmc1SsyHN448/
wXKa+qTpuvNUaN6UOzM8ykprHpQpxvx5QL2ZrJmVmtlaUPgK+q3pK+g6C7IGXSPuee6oeNbsGAbF
45rhdscAa1bW0LEmwLLQfs7sbs2/t8H3NWgkXwGyMvP0s88LOaObQ2eeP2a+Hj8BVChTpFm25q0D
7TYButpPgGJrXikzgycPEDqleXgmzTQ81+5cC82rrdC05vweDRv5fXl9YpBnWRn/O2P+m+Ptt+Wf
4k0tNt94XWboZs0wQC830KXUtIR7mAUVDXr9WbMYBtVG6PF2Rwq5Y02AFcvYWvMQNNpfDhr5MlNz
Rjcu0EPDWWfeSmbmykzO1Nb89dd+0vxEr02AZuffAWpMgMoy84BAbs1yfN6Qpu/OQ6GZO/Pu7Lsc
Mvz/sZaZUjH/XHz59i+Et0WcUm1arVmUmll/Ho8dpVLTZkGhQdcjceWzpl9Cz4ZB+WaQP67ZuN3R
Wg3CmgArgFZr/ueV1jyFM/0EaN8ZB8tBo1Bm+gGQdeaNZGY+Mo/GVGfKc6a15tl5jviJ3uYE6PTq
BKitzGTN9iRIpDkzSNO6cys0dXQemvOGM3/o3xhUmWLMX/zil4Z602lTrRka9EZ//mjx4QstNW0W
VDTo+vaQPWv6JfTmMKgxQtfgUR7XxJoAK5zu1vzv89bcn+fQi0Y+aCQHjWRoHstM7czzD00Wp9mj
Mj/44APvzMbeZPmJXpkASTizPgFqlpkHlBTSPDhI0940/UaQDxz5QvNyKzT9g2bpzJdjLv/n3pjv
eNSbas233nozLzWLqKY/4R5LTYsdXX9d3qD73FHjWbMcBm2WDYNya66GNQFWHpWkUToDV2/NbQJ0
1DFy0EiH5lpmygBIO/PwmOnnP3ljbsZUaQZntsOZzU/01idAZZl5QIvGo6ZIM+Y0Q3ceCs0LXaGZ
mnMZAnlnFh8zsopZjfmrgGgzWPPNsj8v5uf+a0FFqRnCmqFBrzxrlsOgcoSebneUcU2sCbBCGfSc
abvm2dT8+5tuITtANgE67sRTzzjHD811A+guSbOH2izMf0plfvBBdKY9ZxbhTDvP0Q==
/kTv0AlQW5mNUjObnqcnTV9onntemAJdc50+aN4avjOcXxnx6582/0+oNsWaoUF31mw8aoazmjYK
SqWmzYKKBr3yrFkOg9IIPQ8eNUPuxRo61gRYnnQljcIZuHJqbuHMMAE6+bSizLxTLsBpZ66PmX7/
Jynz10mZ6sz33vOtuYUz44H2/BO95QSo1ZoPUGaXNK07LwrN886X5tw/aM6/OX6bPb4yuNa8cTLZ
LoC+pyeT1Zpvv12Ums1Hzdif+1JTEu6NBr3jWbMcBpUjdLvdUQu5Y02AFUT9OTO05uJM2TVPrbkP
Z8oESPLssmluZeYS5xndM88fM23LPChTZPkbR3BmozUP4czaJ3oHT4DqziykmXKaWXeuheZZZ6fm
XIZAMji/I89Mif/zYH66Zfd++qCR3k0u+vPG/nnqz++wD1/kDfrsWdmzZkhr2m3NchjkR+iNuOYK
sSbaBKgxQtLIds391Dy05jIBkqDRJVdcNSeUmTIACp25drMtZf7GSM7Mw5nhPEfxid5hE6ABysyk
meU0tTvPCs3QnNuDpgzOgzNlmlX8MO3EVNxmsm8adUjzqSeDNItSU2JHoUGvPWvWhkE6Qs+DR7WQ
O9YEWHF0OTOezrSkUQy0x9ZcJkASNLpytgzNrcy0F0BLZvrKLFfmb37TcKZvzRvhzMYneuMnbjsn
QJklZ8yYMViaRXeuGU1pzmXp/PIr/eBcnXmvOjP8ApDWvPhhfv1BNsuKJ+3EmnVpptBRLDV1mVLD
mtKg1581W8MgHaGXwSP7FjrWBFgpjPCcaWfgbNc8TM21NdcJ0OWz5lw3L5aZjz/5tG9mX/Pzn1KZ
HzrMmTI2z1vz7DxH7RO9xXkOmwBVyswZRm16np4080LTmvP4oCmD85vku5nemVI0h9Zcy0z5YVyN
mVfMaZzl+/NuaZajoCVxFhQadJ87ikvoeltTh0HlCN0Hj+R2RyPk3l5Dx5oAy5W2M7PFSXnOtKTR
N9b4lt81336n1Jqfde6Fl14x+xqfzbQyMxRmr/v5T1SmN6ZKU5zpnzNjaz7CgfZhE6AZkao0U6Fp
L5qWa/cPmjYEyp35kDrTP2fKLwDXmQdlZj9L+AWQ+vMkzZc6pBlLTY0dWYN+XWjQ07NmGgaVI/RG
8Ki9GrSM1mQcBNBJZQRUec60pJFeG5ZA+/4H+tb8/ItkAjTvpptjmSkzE40Zpfc/UWZmmdyZsmue
hTMHfaI3fQeoOQGqKLMmzVqhGR804+C8cKZVzdqav/nWz61mFmXKz/LvHv1x7KUhfqg9SLN5vr0m
zdSgx9xR/qzph0HlCF2DR/52h49r2moQ1gRY0XQ/Z/5Des70SSM9A7fjrnu41vww35rLreG5N8wv
ykzrzOUx049MojK9ZD4MzpTnTDtpVJznqH+iNzvQXi8zZ8wYJs2s0IwPmt6ZF1yUnGnvmT4D4J8z
3/yZvGbaD6PG/K1HrWk/T1hrCtIsT2pm0mxZ0xr0mDvSZ83mMCgboWvwKMY1l5s1/xRrAgylw5mN
dGaeNNptz31da350bM2vvf5GCRrdfZ8vM8PI5GdhZKLK/DBWZsmZeWuen+dofKL3nOJAe+cEaMaM
QdLMCs3YnNuD5mmn+8F55kw7aSdrQD944YfWmrvfAO/8yitTjPk7w6wppWZan/fSfPUnHdIsS80w
C7Id9Jg7yodBuhkURugheOTjmhZybyxUjm5Nu6/551gTYDS6R0DhDlx4zlw7JI1232u/AzXQrq35
rKttAqR1mZSZ/vnvzTj/8cpUX/7Wd7PiTJ80ysOZox1oz3aABigzk2ZeaFpz7ifn0ZnnaNiocOZ9
vmy2n0dacykzgzKdLf9DUW3qjxReaE2azTNHmTRDf95q0CXirs+aKa0Zh0FphB6CRz6umULurTX0
5W1NtAkwJNFepjPlOVPvc+x/0GFy0kin5tKaL7jlVi0zH0tlZjZljs9/vpXNBBNa8xTOrB9oH2UC
1HbmjHqhmT9otpx5rXem3rSTqNHzL77kW3P347ifRpQpReZ//MfvBbVmW5rV7jxI0z9q+lIzs6Y1
6HlaMw2D2iN0H9csQ+7jteZfYE2AkRg+AsrSmek5U3fNz/RT85tuXiQTIGllY5lpj5m5Msv3P/+c
2WrNqwfa9VEvhDM7JkAVZSZpNgrN9KBpg/PCmbIHdKtfA5URkPwOkJ/HVc1aZmqVacb8z/80bTpr
Fr8IrDuvFZqZNK0/b5WaljuqDoPyEXqKa8aQO9YEWAkMHAF97OPZHThNZ8bnTE0anSdTc23NdQIU
FePLTBmZW2Pui0x9/Ut6yVvzEM705znyA+31T/Q2w5lVZ85oFZqDnGn5zBv8V43ut7r5hR++bL8D
3pYyUztzU+Z/eqI05cFhQKHpu/MoTe3PtdRsWVOeNSvDIP9RXx2ha/AoD7mX1lxzGaxJYBNgAN3O
bCfaNZ0pi5PxOVMC7ak114lJVmZKZ+6V+dswM/EjE3FmbM393mQezmwcaG99one0MnN0Z8oMyDLt
cqNjkR4CfSj+QNaaa5lpyhRj/h/DrKnteaPQbL9o2pOmk2aYBGWlZjN31BoGxRG6bqFr8Ejjmj7k
3lhDx5oAK4bOEdDfFyOguGy+w876nHnkMfqcecnlV12jU3NtzfX1rxLMyabM+vZndtHW/N+sNa+H
M+sH2kedABXS7Hamn5tbPlP3ze2Dw/fGtwb5gWwCpK+ZWmWKMv+voNZUadqPtbTMG2XOtO7cS1Mq
zdCf56VmljsKz5rZZlA4hzczWnPfhjVloXLFWJMhOoDQMTYv7w3HEZAtm+u54WPDc+a1199kU/OH
rZPNgjnvhiyjKVNnzGFeos+ZeWteC2cOPM8xdAI0dmfqXSP5eqZ+o+Ph8EsgtuaxzAzGNGs6af7H
f/wuFpp+dN68QBwKTXnSzKUZS83ms6YuoRebQdkWuo9remvuWixUbrh+suY3sCbA8qQ2AvJj83wL
KB8B7WkjIH3OvNSeM10r61vzF1/6kX/N1DJT5z9+zOyTOb/N3PIL3TVPe5OtcOZFrfMcY5kANZrz
ijMtaxT2gK6YNVtuDi8IB+cfe0LfZ3/8qm/NpcxMyvz/jCBNLTSL5rzlzDA7z6Rp/bm8ajYb9Mow
KI3QY1xTQ+7lQuWI1kzXO1rfQx/VmmgTpiGDxubtLaDNt5LbmToCOl5vGl02a851Nyy4RQLtGs7U
1ryZ/86UmTvTP2fmrXkRzhzTeY5lcOapp9m+udyC8/FMG5s/Egpn90tAysx3l8rQPFPmH/7whyDN
WGiGA3eVB82s0PTSDI+avtT0DXqy5rxiGKQj9GTNYySuGa25x/is+Y8ta45pOQhrwrRjoDM/9vFV
mltAeqDjQO/M8zWdKWfg/HNmas0b+W/RpWYZw4TZP2c2WvOxhzOHKXOwM8Pu5FkWNboiRo3SCEie
M2NrHstMb8w/qDWdNH2hmR40BzhTC02dA3lpan/uS80wQa8Mg9IIPYtrxtWgfA0dawKsMMY+Nrct
oGIEtPi2O+05U4bMMf/9bigzVZlZADyoJTxnamueLmeO5zzHWJ1pmXa/b366d2Yam8sI6IFYOL/6
um/NY5n5f9WY/89h0tRCM/0y6HamNee+OzdpplKzo0HPN4MawSOz5qFxoXLc1vyHDmuWgU2G6ADD
nRm/a1GMzXUE5JzpR0BOMQ+WVdkv/GumV+bvPdGZ4TnTt+bl5cyB4cwxTYC6ZkC6O2l3jXw804/N
4wgoPmda0ihMgFyZ+Z/SmJsxvTSl0HQ/2qjO9IVmLs1QaoYGvWnNNELX4NEga+68/K3JOAgg0hyb
/3kjavSZLGpkh+D2iM4890I50a4jIEtnFkNmKTN/k+3MNJ357q+kNX/TXxt2rfkI4czWeY6hyqw5
U/fNUzwzjs3DCMg2J/1zphTOsTV3vwGszIzKFGlKoanNeXJmdQZkvXnuzFyayZp3+ssdzRH67DBC
j3HNYM0j4hp6zZrrDrbmx2rWZBwEUKceNfprHzX6RD1q5Mfm4syrr5M7cDYCsqrs1biaXZSZGv3W
SclvdbycnjNTa14PZy7LBGiIM/3YvBwB+S0gec7UdKb7JeBb81Bmus7cyfK/BJFmbM6jM9MiUFBm
mJtbb54VmirNYM37YoPeGAalEXpmzTPz1aDlZs2/VWsyRAeo03LmXzbjmf7gsP8WUNw2t83JWVfb
2DyMgOJzZpwA/TYq028Zhg620prr3uQ4wpkDlFk6U250dI+AbNs8e858+tmQNIoToFRm/td/eWlK
c545M1xSbi6cv5Bac6fMVGg6aZalpo+4F8MgO3ikI3QLHvmLR/Gb70fH4x3xUFzdmvWUu1jzn5I1
iR4BdFAbm3+kfaS9iGfue0DmTNmc1LG5HwG94jvZd3xrLmVmUGbuzKXv+aRRnJqH1nx5hjPbzsxG
QOk5U5xZec58UnMAfglIwpkyAWooM3dmeqi1PaBs3zwvM20GJM4spVk26NkwKHzT14/Qx2nNIbtB
yZpDYu4M0WFaMyhq1LxqFL6fFuOZtm1+4wI5amRj8yyY866/mpafs/h9lmK050y70N5ozWuXM8dx
nqPpzOpz5sn158x77H6y/4Gy1tzKTFXmH//4R5WmOtPPzS13+k5YA6q/ZlqZmZxp0vSlpm/Qu4ZB
4Utr8U5c05oHj2rN1lXiMVoTbcK0ZAzOXK8VaZd45jVzb5RDcD5qlO8ZxhNAv287U58zNWlkZ+Ds
2nC1NV+mcOaIz5nnnHt+ls70Bzp80qhozd0PY2WmKVOlKQ+awZnpObMsM198sdWZe2WW0iwadD8M
qgaPYshdV4OWkzU/7q3ZWqkc2xAda8JUZpAzG2tA4cMWe5XO1HimbJvrxORlPzHxzvSteXY17Xe+
GovPmUWgvdWanxVb83GFM0d5zmymMxcusmXzx3xEP2vN8zLzj3/00kx1ZmrNrcxsLJu3lFk4M0qz
bc1yGJTimivGmtVFdLMmD5sAA52Z1oDseqZ3ZrEGFJ3po0Y/9gHwX9l13talyd/99rf5c6Z9PO25
Zwa25u3LmaOGM2uteSWdGQ50FEmjx/37rKubfWuuEyBfZv4xc6ZmjX7vC+ilWZnZocwnmsqM0iyt
eU82DGrHNQdY87BxW7M839EIbI7lYRNtwhSly5kDPqCW1oDMmTepMy2emd2ziDeAms4snzNDa/6Y
D7RXWvOTlqE1H+E5s5I0usvfnA9LQCGc6SdAZZn5/zTTHlrzpf7CnQ3NGyeN2kWmV6ZJM1nzgbAY
lI/QqyH3zJqnj82a8WtrX+qy5tDAJsUmTD+yqFHH6mRt3TysTo7kzKTM6Ex7znT96xuv/UQ/npZa
84UjtuZjLjOHJY3y1vyuZmtue5PWmjfLzP+XteapzLQBUEWZuTCjMb0z26VmY4ReuRMXFyrHaE3/
BYxvtKzZWg6SwGZtHESLDtORlerMMAIqnzP9hfZy13zw1HzkcGZHa35EvTWf4+/AhQ==
JSDfmv8sa819mfnHP7aeM+0H86+ZoTMvv58WjNnQZVLmCNa8pQy5t615yvis+cVkzfZKJeMggMAy
OXNgbx6jRq0RkH/OLJNGDz/oz8At16n5jCGLk0Nb82xqnlpzLTP/+7//28bmcWoey0wZADWV+XTa
/cl8KZbMjZmkWR0Glda8flmsuUHbmqt7aw6JHo1xHIQ2YWoxfmdWZ0CD3zOrz5lpCSg7Aye75kWg
fYW15rWpebU1/82HfgJkr5n/7Z0ZWvNUZlpn/vprP/nxK8WXzdO2ZOHINnmp2RE8yq9r6kLlslhz
TWfNr5s1v+Cs2Qps1oboPGzCdGWszvQzoFo+MyvM6s5spDNtcTItAdmF9sYZuGXbNe+ems/smpov
zKbmKdAuP0ylzAxT81hmhgGQPGZ6ZaZP9Ib1crNioEOaWYPuR+iNuGa6rtmw5tnLZs1azL0xRGcc
BNOYcTnzgPLkcMi0h3zmAGc205mv+ufMmDRKF9qH7povr0D72SHQfk12bjgLtIeTRjGcmcrMP+Zl
pjw5xM5cR+ZOmaHIzC6/Wevt6VBny5rFCL21GhSPd4zNmvqNynXX+c7a3ppfa1uzMUSvjYNo0WFa
MR5nZpn2y2aFM+35HlCRz4x7QL///e/zZfP8plEraXR5njTyu+ZHLnNrnp9oL88NX9oKtIdd85++
9fNfNFvzoswUZ4ahuS03/UwfMxvKjFffVISBQpw1aVaGQSvKmv8q1vxq05pDx0HdD5sUmzAVGdGZ
lmnX3cnd4u5k5UbHiyEDHveA4lmj39eWzS2d+dQT8sFJe84MpzND0ii70D62b/TWW/NRTmfec19+
P9n9Agh7k+3WvCgz7cf6N3vMDMpMxrSFcn2kDGTibGlziDWbq0F28mis1ty0Ys3G+Y5yiM7DJkx3
RnNma9+8fgtOLvS+Ei/0Ls1PwdnB4d8Vy+bZc6alM4c9Z/rWfPynM8uvp9W+BCS75vfen5+BK1vz
P0RnpjLTspl+AGSPmTIyF2XGIvOReIEjJ4qzWm1m1nxguVoz3dfcwqy5vlrz29GaxXLQgCH62B82
0SZMdrqcme2bfyF9dnIzu2vU/FSv3BzO72eWd42iNO3e8G8GpzPjBydH/KrF2MrMSjiz4wxcvNDe
DmcmZ+ZlZjw7oo+ZUZnJmH6ckxO8WWqz41lz+VpTvhu03TZbZ9b8rlnTzhJnMfcB46CRHjYpNmFK
0XBm/UZHeT/Tbg6Hb1tcHb9t8Wj29Zxwc/hDa87/o/n5tGzZfEg6s1icHNd9joHhTGvNy4/0hgvt
fp5VC2fmq+axzPSd+Ruvy8jclClFpjemGc8pL+D+H/cmb47FmncvJ2vumKy5UbBmWkT3MfdiiJ5t
og982KTYhClLdOYI9zPtTrt82yJ+D6jxDbU8oPmr9/KvTtq3zX+bzliEEVC2bL5ERkDlR3pPXZYR
0OjhTL3Qnj44+XDSv500CnuTxXmOmM0MOSPfmcv8x5Tp+nIrMh+MRzFzvDhVm+O35uIxWfPwQdbM
jrmHmHttiF4fB9Giw/RgFGfaty2+45y5qX4PSL+h5r/Ve0VcBJKw0TOtY3BaaHpp5l82D7czfaL9
oZRoL0dAy5Jo7wpnHl0LZ0prLuHMOzr2Jn9XtOaxzPy/dp9dB0D+08NyEfQlU6bry70xveec6Tzy
d/Om12Zq0RvWLIdBpTVvX37W3CSzpi4HVQKbneOgEVbRadFhajDcmfJti/y7k/Kt3mJ50gKa9zzw
cDJN47uTKk33z9/G1jwl2osDHfF2Zvlh82PGNTYfSzhz6N5kEc5sl5khPmXfN/pRVKYUmWJMe4R0
lWGGidNrsyw2u4dBMeQeV4PGY81DKtbcXKyZFtEtsNmMHoUh+ogPmxSbMPWoOdN/Dyh8Qy19q1e+
b779zrvni0AWNso+ovbD9kfURJq/88r0V3l/Wd4bHrwFdOyyOrM5AWqEM7uuDVfCmX/oLDP9ZpNs
0DtlvhCUaUWm//6u81vE/T9u994Uba58ax5YWHPbrbdqWbMSPaqNg3jYhGlFxZnZdyfj98011L7+
RptsoQvnFtC0sFH6WO+D+XcarTmXyblI87demdaaZ58Cqo7NBx41WhZnjvwhoBDOfLMVzozOLOLs
MgB6J/5ML/3QlPnYo64v98YUs922ZMmSWw33tyUqTtFmw5r5u+YKtub+++6z156777bLzjvuEKxp
K5VlYDNFj7q2gzoeNrMWHW3CFOFPssF56/vmGtD83Gpf+FKxCJQ+PKmD89nXzsuGQNkXgWKhKdJU
tMwc9GXzcnOyGTUamzOHT4DGHM7MWvP/KspMGQDZzFweM0WZz5gyH7jfG1PWxG91XnNmW7RI/lis
5sy0OUGsuVlmzTx6pFePxvawSbEJU5JOZ7YWgXyo3cJGNjiXIdBsGwKFr6hpqv2Nt36uk3NXaGbS
DGWmPmeWN9rzqJE4M/+y+WBndkpzxHDmhc1w5oPDw5nVMtM6c1Pmc6bMBx9wReZd4Ys+cjE4oeqM
2lyJ1jx1sDXDSmUW2AzRo+EPm6O26MyDYBLTdGZlESh8RE0CmnFwnoZAtnGePWhac+6nQNqdez6M
rbkfAb3y0sDvWiyLMwdOgPJw5iVZOPP24eHM/yoHQL8POaPUmb/4fKZM57Mgs1sWLlx4s8f9daF4
02tzpVnznCHWzFcqxZoxetQaog992KRFhylK5szG8qR9RC2E2mUItEEYnMsFTRsCycZ5fNB8JH5C
R5pzmQIV0hRl+m/Zvp2PzTs/09vpzBGa80Zrfsjwy5k3+8uZRTiz46MWZZn5/tJ42k4qZ1Hm406Z
9993z91SZPpvUty8YMGC+Yb72wIRp9dm39Y8YP/99tl7z2wRvRHYtOhROUQfnNikRYepS5czq2Gj
jTbdYuvtd/bX4HR70jaB7EEzb85tCqQvmiJN4zfWmttzpo3NM2cuGZ8zO6Q5cAJ0fH6eo3Y5Mwtn
vl8JZzbKzHimyT9mPv1kUmb8Ornz5U033XSj4P68Sc1p2qxbs0y5DzjesWzWPPLwww45uGnNLLDZ
GKKHcVDHw+aytehoEyYDlcF505kaNtIh0EZhCKQb52ETSE61S0Lz/njcPE2Blqo0f2PGdMrU1tyH
v19NnzZvONPeMxsnOo4YizMHTYAGnOcIlzOHToBSmSk5I8ub+s48KVP68rjc6HR5g2PevHnyh5oz
aNMVmwOtOezk0TismSIJbWtWAps6RE/joIEPm9UWnWITpgw1Z37ko3+dwkbF4HzjzW3jXDaBjg2f
UfMJzbvvC5d6NdbuC00vTeUDKzPtLu9QZ6azRroHVNw1GirNESdA1fMcT4cJ0M87PmveLDNlA6jo
zB975KEHVJlOX0FezpbXJ9Scpk3XpJfWvDuzZr1BX47WPK5pzRhzb0SPusZB5Sp6R4tOsQlTh7Yz
/yIFNBvX4MIQyG8CyYOmnYPTMx2SNrLm3GLtUmjK6Fyk+YEaU8tMac39XrbEM9vOtLNGcQ9I983j
XaMRC82RJ0DN8xwPtidA7XBmq8xM34N7Qd4aMmUuusWLy5lr7nWRuXPnmjdFm71a88RkzWI5KEWP
0hDdj4OKc+6VVfR2i848CKYQf9IcnFfCRvkQSDaBsgfNcy+8VM90SNrIT861sZXmPBSa7/9arBmU
6T9m+2ZwzGBnnpI7M2vOh0hz9AnQZWkCNPA8RzY1r5SZYavpRXvMDMpcvMhZy6TlhHnttdcErr1W
xKnadE26tugVaw4cBi0na54SrFkcPcqjR8UQPYyDuh42x9mio02YPLScWQzOW0OgTbZID5o+oakr
59ac+yrNT4FkdB6k+Wsx5q/f19bcdbIp/v1cdKbNzfM9ILvREW/BdTbnLWlWysxDywnQWM5zNMOZ
HWXmTzShLz/Oww/ef+/dXpn+85DOWNfMmXO1Z86cOeZN0Wa3NYeM0MdrTf+1tfPPPefsaM1jZx6d
rFlGj/IhejEOaj9sxuxRq0XvnAdRbMKkY4TBedyeLB40JaFpaaPYnPtjvX4KJC+aXppiTVOmPmeG
YxYNZ+oekOyb642O+HVzGwI1mvNB0jygUWbWz3Occ+4FI57nKFvztAJUlJn2OqudeVJm9m3Iq6+e
PXv2VYr7i4pTtOmadG3RS2vecUc1eDT0AxhjsObFwZrhF5NZMwtsNoboxTio/bA5eotOsQmTm87B
eRwCfXa1sAlkJzTlQdPOdPi0kTbni0JzblMgX2j+8p13nTTFmsJSLTPDpxlrzrxhrt41imEjPwRq
NOeh0KxL84COMjNNgFxrfuaYvp3mL2cWrbnPZvoy0w+AXGcuj5mZMr0xxZezZs260uH+mCXiNG1K
sdm05m1Na3aO0MdhzTk1a54crBlj7jF6FIbofhzU8bDZyh41W/RB8yCKTZhMVJzph0B/H4dA8UFz
/fCgad8ESs35DQtCrN2mQL7Q1O5cpLlUjemU+a4+Z/5cP5oTnSl7QLJvfvNN+gk1f3M4PGiG5jwr
NNvSPKClzIEToPI8x012nuP+eJ7j1e7zHPUyMxtoPSyPmXfcdqsq02lKjemEeeWVV0TUnM6bTpta
bOrDZrDm4pVqzfNya7Zj7unqURoHVR42h7foXfOgIeEjtAkTjo7Bud+ezB807bTR5lvbyrm/O6z3
4LQ5t8PDOkPxhaaOgVSaYk1RppWZb/sPjb1iM6AnzJlyC27+Dddb2Cg8aPrmPBWa8qKZdeeZNA9o
KLMRNKqf57hSw5lhAhTPc7xWDWeWE6Bmmen3QKUzz5Tp22HnqCsuv/wyz+WXXy7edNp01aY8baZa
8+bcmqON0MdtzcudNS9Sa7rfTmF/QKwZo0f5ED2OgwY+bI6/RUebMEnoHALlD5pfSA+aKW0kNzS1
Ofexdtk5t0rNF5q+O1dpGu8mZ76eO1PuGt2ud9plcG4HNGNzHifnje68Jc2S1gSodqD9ymIC5M9z
+O8NFxOgP+Rlpn1sUg4apTLzZX/WTt4ZpDNfeLMpc469IDpfXnrppZco7i+XijhFm1JsNqwpKXfZ
Qx89eDQea16dW7M4etSMHjXHQQMfNodN0VvzIF42YdLROQQqHzTDN4GqzfmcubJz7qdAsdC07txJ
01vzXVGmPmf6b4CHPOPDD8rNYQsb2RAoa87zQrPszgdLc/AEqHWg/c76BKjdmneWmbYG6vQvP8ot
pszgpsvElxc7LrroIvlDxGnalGJzFGsOHqGP35qX5dbMY+7lEL0cB4Wce3jYjKvojRa9uYtOsQlT
gYYziwfNPKEZ0ka2Phmac52c6855iGimQlO78yBN5VdWZhbOjP3skjAEis15o9AM3Xn5pNkhzdoE
aCwH2t/OJkCpNW+Umc6Z5Qc0H3nIOnNRprwzSBMsxnTCdLa8MKDmdN502tRiM7PmjWZN2UMfFDxq
jdDHZc3ZwZoXZtbUwKaPHvkhetqpjNtB8WFzzTWGtuhD50EUmzCZGOVBM08bbbZVOQ==
OZedc4to3hqXD7XQtO5cpemsabzzS3XmW2/6zzPqRQs1zd1mGhGNpdpt5bwsNP9/9t770c+qSvt+
5tHpM46Og6Mz4zj2itixIqI+CKKIgqhjoVgCSO+EEopU6UjvLSGQCiSEkEav0iwoYMECwzi+6vwD
7151r7X32vd9f885afpdP0iQBJKTnM+51rqutbZ25/3QHO4AmQPtN/CBdgxnfj84z+Hy7HQ308tM
nsxekOhPyESRCVQ6csaMGUdQpW8BNxM2k9qsqXkOUdMHj0am5rXDqEk/waPLmLs10Vt2UB5sVqvo
dYve4QeNxea41q/qG2jqynnZnGOsHY9oqguUheZy6c4ZmkjNR6AzfxDGmfAKeL4CxPGcS3CgCal2
bM6N0ETr3HXnfdDcYYgDNMKB9l87mWnz7JjN1IPzs2eKYIZZJhKJiXnEEYenOuyww+AvCE7AJojN
TM3ThJrnntsOHk2GmnIyhLDJ1CQlTNR0gU000a0dhNtBcmITB5t5FX1Ai05+ULkfNJLYHGNzXGu/
LDPrgWbcnGusfc99D6SI5qln4uVhMlJAaEp3TtAEakKRzCyZSfkcHGja5lyFpmQ0A2g2Zpo7VDJz
wgfa5TzH0421yeLNYQpNAfsJmSQyZxwBuDxUCsmZsJnUZklNSrlPNHjU/7IvUVPFJlNTViptYNPe
ikM7KG8H0WDTJjZz9ihq0aPI5lhsjmu9rcZAk1fOJW1UOedf3GHnb+y6xz7iAp3+nUBopu6coJmo
SQUy8wGIGhEz4Q4QnU6DTOPF0px7oQmypx5pdkEzIxOvwJUOUP+B9hEcIFwBMjIT/H9caIJfhuwp
JmIeeuj06dMPgUp/nQ7cTNgEsQktuqfmmUzNMng0hdS0LfopJxeBTYoeZRMd7SC7HUSDTZPYjFv0
zsjmWGyOa72t5kCz2ZzD65Owc25coG+fRnEjFpqwdb7qtgxNpuZDD4HMBAuImCkPQdC6IYYaSaDJ
RJMzmvsUI80amjtUyBzsAPUeaPeteX45jYJGsGluZCaS/xwif/pVfItEZpJviZcHSyE4EZsgNpWa
J2Zqcsi9tNCHU3NuTE14nAjPIEcrlT565Owgux0kg01u0fkycd2iB+fipkxsjrE5rrVYfqDZ15zD
4eGPbbU1vArELhBcHqa40QW6tL0Yzhul7vzOuzM0oR4kmcnM1Mdz8HgapBppEMhCE5fOuTtH77wT
mjtEyOxygI4zDtDVvQ7Q062gERw0wmwmPZ8pU1kE/3FiriTtdvDBB6U68MAD4S8HATcRmwU1T8rU
7I9rToqa7egRm+i1HVQPNvMqekeL3uEHjcXmuNbHKgeaYXPOzjnvnG/5SXaBdgEXiONGsHTOQvP6
JDSxO7/jLoZmoiYVyEzLTHkKghcOzz83C82jjzxCunPxzjuhuYMhZuQAdRxon9V9oP3XUdBI8+z4
fKaRmefxCmji/jEIICJmwuUBXEhOxGam5jFCTdqo7AweWWqGcc3cojtqzhRqXhZSk6JHxkTX3VXd
Dso5d0ls2uxR2KK3/aAi6d4nNsfYHNe6UjUzo+YcY+3mIBy4QHh5mONGKDRpopkkG9lAGZqJmgmb
6X+SzDTMNM/n4PqMhHRAaJINRM/X6EgzhqZSM5eXmaMdaB/iAGHQCGXm7atWsMycPZM2QM/OvwJB
5kEAzP21kJuIzSQ2A2pWwaMmNVshdzfYLKjJD67n6FHC5hmliR7bQTnnbhKbMNgMWvTXIzUDP2hk
sTnu0ce1blU10Aybc9g5NxHNbbaDy8O4C4Rxoyw0cTR4I9yEo5EmQpOomYiJMjMx805hpnkMglwg
Fpq2O6fAUQOaO0XQ3DGQmZM90G4vGlHQKMvMReYluHOMUmbBdhASc7/99ts3VfrLfsjNhM2Cmt8y
1IyCRxTXnCQ1q+hRaaJHdlA+TOwGm7qK3teiT1hsjnv0ca17VTbnfxE256ULRLtAEjfCXLsITTjd
S925gyYVy0xk5srlt+Snbb3QVObo520Aza9maO4YIFNk5mQPtNcOkA0a4atGNyzMMpMPjZD1Tz1u
Iibych8qAidiM4lNT81jDTVPP90Fjwpq9t0kDpaDrknYtNS8tDLRi/sdlR1UDzabLbrdRbd+0GTF
5hib41rr1dOcy6tA5AIlobkZXB7WuBELzRNPJuucDgQtvGFx6s6Xr7z1tjsImomaXPcJM29bhWEj
as5ZaHK20fa20iI2oKn9+Y4RMr0D1PFEb/eB9pYDpHl280i7HE7+lswWQCcDMffZZ28p4aan5gym
Jlw9qoJHdVxzODXnzqlXKvsHm2wH6XaQ5NyLxKbLHkUterQfROGjUmxGNvq4Rx/XOlidzfkLN/hn
G9Ekobn5liZuJEJTJppkA4F3vmyFQjNR8z4iZkKmMhNNIGrO5bq5684JOyE06/5cqEnf3skHjVo7
QPWB9gfiA+2hA8RBo8U3Lpw3B7KZLDM1LEXABxMLibmXFnIzoOaRQs0oeNRPzQCaXXZQNdg0O5X1
dlA52JRVdJs98i16tYvuxGYdPqrF5tgQGtc6Wc3mHF8FgoNw//rv7ALJLhDFjZzQhIkmbJ0jg7g7
Bx+IoEnUhIJpZmYmDjTRBcq3enlXm7I6otU8NHeJoZmrlpmxA3SRcYA6D7R7B+iHP7BBo0U3LIBN
c3mfw4fyEZlEzD1zCTaxRSdqHkrUPOqoIHjUoma8UNmiZqtFn/BgU5731WtxUYuukc04fNQlNsc9
+rjWzSqZaZrzlgu0OSydV0ITts4JQtCd40iToUnUpAKZicy8deUKGGim5hxdICM0bSacoXlAC5oh
NRGZRdDIO0B8oP0Sc6B9ZfeB9sIB0qDRzTfB+xyzZ8EKkJWZamDBTxyJuUcuxiaKzYqaOa757WZc
cwLU7MkeXdh1mDgabOIquskeFS26PxfX6QdVYpNOH41uCI2xOa41U2Fzng/CeRdIl84x165CE5aB
TkWhiUeCuDsHH+jW224HqZmombgJ/3O3MHPViuXcnDuhSd057x4ebS7uCDS/GUJzJ0tMRqYJGhUO
UHCgXRygZjjTO0APsAMEQaO518HzHF5malAKftpIzN1NCTaJmtChg4eOu0E9cc0JrAbVPTpNNmeO
ciwuGmxK9kiuxZkWHXfR6Vycj2ya8NHqEJtjbI5rDVSH0DQu0Ctfw09ckND8pBGamNE87sQkNM8h
DEF3TiNNhWaiJmKTkEnMXLkcm/NFNyzME03qzmGkidA8pg1NcoKoPzfU3Mkis7kD1HiiNzrQ3nCA
6KKR5tmvugIvzRuZKYF8+EkjMb9pirFJ1NzPUvPww+vgURBynwA15zUjm3mpMh/w6Blsyiq6ZI9K
F13PxcV+UCQ2xUZvpo/GPfq41pGqmRm5QE5o/r9CaE4/4ig4b0Q2EIQ0qTs30CRqQt0FMpOYuWIZ
Nuc3Xr+ArXPqzmGkSYeBjjPQzDNNvnJUS02pnXNnXjhAA5/ofWKoA8RBo2tmwkGjbJofzfc/DxBk
AjF3M4XYrKl5yCGt4FEdcu+jpqJyPlQHNq3YLF30rsGmyR7VLbqeiwv9oJHEZqtHH/vo41pr5Zvz
wAUyS+eV0ORloBlHH3ei2EDYndNIM0ETZpq3EzW5QGYSM5ffgs05CE3IaGJ3DiNNPUAZQnOPCJoZ
mzvvrJ154QA1nui9PnaA7IH2lgMEQaMFkmf3MlMmgPQTBmLumgux2UFNDR4Fcc16NeiqeKHSINNg
k7mpPXokNnveDuLz+S57pC46Bd3lXFzlBw0Sm+MefVzrdvW7QLx0Trl2IzTROset88OP+hbaQNSd
z5wNI02B5spbQWomat5JxASZycyE5hyE5sL5sAyUunMYaea3IU700DyAh4OFE6TU3DkTkzvzwAGq
D7RHT/SGB9rrHSBwgCBodOXl+NhwITP5+ichM5FyFynCJolNS03YDeqIa4arQR3U9Mw05HTYrMWm
+kHunrsZbJpV9I4WvfCDyv2gWGxGhtDEevQxNse12iozs3CBYBfoBeACmVx7YZ3jMtA+Bxx86Iyj
8Sbcd2iFm0eaAk2SmkDNOxGZqTUXZpLQvB6EZurOeaQpb5BZaGpwx9rnMNQkqcnUdMg0MjNygC5x
T/T2nOdoOECLyAHCPDu8m1m8NZx/sgjMaVTMTRGbLWrmuGZ1k7ibmr5Bn1+VcJObdINNFJuXlGKz
ukxcZY+0RbdHNkM/qEds8oJQhyHU7tHH2BzXGqtOFygWmmidb/d53Drffa/9MG+ENhB55xA4Qh8o
QxOpyXU7MxMGmlloXjebR5r0PPgZFppHVNB0/bml5lcRmWQAGZnZcIBGOdBe7gCxAwRBI8qzn3aK
ykx5mCMjE2j5DSjhJotNS812XDNeDeo+3lFAcwGXcrPAJvfoIjaD7JEZbNYt+o5liy6RTfSDaD+o
Ch95sVmnjypDyPfoY2yOa+1UlwvEcaNIaH5qW9g6/+q03fbYB/NG8NY5eCsX4UgzQ/MWgCZRE7l5
OyIzMZOE5pKbFkNGE2wgHGkSNM8JoHmIhaYdago1pb5mO3OSmXkHyD/R23+g3bwD1HaAJGhkZKY7
YreLAJNLsZmpuffePq55WBnXHJ2aDpoLbKng5C4dsZl7dB8+stmjbwXZI9uia9A98oN6xWaHIVSH
Nsc9+rjWWrnm3F3RDIUmLwPB1vnnvgh3NClvNAPXzs9Ac+Xyq8gHYmiS1EzURGwKM6U5B6FJNhCM
NK+64rJLL76whOZRWd0YJ4j7c5KaXzPElM6cZSatmvMOUOgAdR5oL67AOQcIVs0paIR3MwuZaaNR
30C6UzE2MzX3MNSs4prN1aAWNTnkrlLTInNhKktO5GaJTU26X1A+HmRubBbZo7pF58im+kGt8JFf
EOozhMbYHNc6UF0uUCw0aev8M9t/AQ6277oH2kDQnaN3Dm3vVbNml9AkanIJM1Vopu6coHllAU0K
tws0D9KYuDS9WWpqfZ2QyTKTg0Z2B2joE71la97lAGGePZKZCnb5WRps9lHz8DLkPoialdRUZi60
Jdy02OQeXcQm+EFl9ug4nz2qW3TaRW/4QRw+aojNf3Vis6dHH482x7XWKnSB+oUm3NHkvBE8p3aE
eOcw0gQfSKC5BKFJ1LyViQnITMxkoQk2kIw00TxnaJ5poCmvLqD9YIeaSqRMzK9/gztzlpkSNBIH
aHIH2p0DBKvmOWjkZGZ+MTPE+tcdNXfP1PTBo+ZqUN+hOJKaDpqIyuu5MjmVm4rNQGy2sketFj1H
Nu1+EIWPOsVmtyHU8tHH2BzXGq2gOS+Eps9o0h1NONgOeSOwgfY9ELtzTLbTSFOhueimJSw1iZpU
yExszsE6X3QjjTTb0DwmJ13cUFM7369/3ba+07gzF5k5eQeIwpn2Cpx1gDhoZGTmPtS0mkNMfnzw
NU9NzmsWFvoh4U3iYg3dUzNb6NqfCzMdMq+37ERwGmxCj27E5gXFetAJYYtud9FLPw==
SPaDusWmnj4KDKHRe/QxNse1+mo0oQnnjejZ3m3IBvrGbq47h2lhBE2iJnFzlTCThSZ45+QDldCE
NUq4cmQ2+Iqhps4Lv2G7XkHm3vsamXn8SU0H6LtNByiHMx/7YcsBkqARZzONzPTm/lf91FWoqWZQ
NzXzalBNzfrkUZaaDE1B5g2+GJwWmzDaxB5d/aBm9qirRfd+UK/YNHc2G4ZQu0cfOtocY3NcU1KR
C9QQmnDeSA62b8U20Nd2sd35aXRm7XJIHDE0FwM0qUEnbCIygZkkNLk7XzCPzHOF5rkOmmKfm9sX
nBffxRvTaK+gdBPTXGTmCd9WB+gqdoD6nugN3wEKHSAMGuGm+YEHiMx090S+aiOkbO+3qbl/GHIf
TE0jNQmaKDQVmTeaYnCS3FRsYo8umU0Wm3X2qG7RYz/Iho8GiM3AEGpl3UcebY6xOa4pqNoFioXm
q15LdzQ1bwTPqXF3Tt75CSedQifQ0TwHaMJG0GKVmkDNlYRMYqYKzRiauHuO0Dw2hwMP4rOU2p/v
mhPjFOOhGaHIzCJo1HCAvjfoid7IASqCRtk0B5npVzwdNmNq1nHNxkJlk5o61kSpmaGJzFRgLtJi
cDI3AZtz5lCPLpNN16KXd49Mi75P3aLn/SAJH3WJTW8IBRtC/T36GJvjWgPVJzR16/zVr3vDmzaS
YPvHPk5r59yd60gTfaCLk5RTaN5I0CRqIjYRmczMDM35BpqXZmjCE0GaOWInyPTnftFml10sMr3M
lHeAJvNEb3EFLjtAGjQCm0pkpnuKQ7biB1CzjGu61aCYmu5QHDXoJDURmsJMRiaycrFUBqfHporN
Ouhev1TpW/TSD+LwkU+6N8SmM4SaPfoYm+Nam9UvNPm80Wte72wg2gZi71xGmqzlHDShPwepmam5
AplJQtNC87oMTVijPEehqfa5dYL2kqtBZqF7V/JU9kADCLKZSWYeceQxGjQKHKAHptABSoLLy8zm
9aWdDTWnGWruMTI1y/Oa0KCD1FRostBkZgowb9JicpLeVGxijz6LF4QEm9HdI9uiu8im84M4fKRJ
dxWbbkFosj26G22OsTmu1VTdQtPc0fQ2UO7Od4HuHEeax53Ir+1ATHPmNbOvmztvwUKAJktNoiYV
MRO6c680r3HQNEFNcYJkqMlSU6ipd4MYmZAzQpkJrflxJ+R3gGIHqPtA+2M//L59B6h2gDRoVMrM
AJkjUvPgiprHl4fizHlNbdCxP1doMjMRmQzMJVpMTuYmYHP+fBxtqo3uxWZ8mnj6wfZcXPaDcvho
qNjMhlAZ2oSsexw/GmNzXGuwuoSmu6OZbSDfndPe+WHoA4F5Dmgy0LyeoCnUXC7IJGZCdx5BE68c
KTS9E2SlZnGh8puKzCwz8aJRfgeodIB6nugtHaBb+Aqcd4BM0EhlZvxykTv1GVBz987VoAY1+bwm
Bo+oQcf+HKFJ3XlqzomZhMyEyptzMTmBm4pNFJs82Yxa9GI9SD26fTWymf2gHD4qxCYvCMnpI2MI
dffo0WizxxEaY3NcU1ZNocnnjUhoUt4IbCDaBjLe+bQ80jyex4YEzVmzr5szb/5C6M9vAqkJDTpQ
k2sZCU3ozitoXo7QdJmjeqgZXULnmeA+ZABNP+wIzrPT1OCS7ADFT/R2Hmhv7AChAwRPWkjQSGRm
Rmb10ltETRfX7KPmCSU1+eQRpzW5P1dogtAUZgoxl5oichI3Ezavvx57dBGbrkWvskdhi85+UA4f
RWKTbfRgGz0bQrZH91n3kUebY2yOa2rqzzI0G0KTNyjFBoJtIOnO8cDRLjzSZPNcoXn1rNnXJmjS
UFOl5jIDTRSaATSv8tBkJ0iGmnyzo3hxBx+OYNwAMqEzP/TwGZxnJwdI3gEKHKDeA+2lA4RX4EoH
iEM3LDNjZNqXOEpq+uDR3sX7FzE19bymjDUv1f6coYlCMzXniZmETCLmLbYInMDNjE3o0Rt+UHGa
2LnoeAvP+UEcPirF5mZebIaGUJR1b4w2x9gc1xqqhtCUg+0mb8TbQLY715Em+UDH8mu4CM0rEZpz
5/NQk6QmUHOZ6MwGNOFgx+U2cyROUB5qZqnJLzsSMDmuA8gkmXmk5tlp1Tx2gHoOtDsHaBG9A9Rw
gPZiVqjMLJ5hl4fYzftFco6pI+TeON5RndcUqXkZSU2E5nUITWzOiZmATATmsmX8e0HfuIV+M2hY
sgh7dBSb2Q9qZY9oPUiD7jhxlpiqho846V6LTT599K53Omp29uh1/Kg52hxjc1xTX6HQDIPtYgPZ
7lxGmugDHXnMcZA4YmjCRtA1BM0sNZmay5abz9MlDprXITSvJGg6J+g4c8ZRpCZQE54Q56dwDTJR
Zh51jJGZ+R2gURwg80QvOEA3DnKARGYKMnew5d7JHE5Nu4Zen9fMZpBITYHmHGnOb+QvXfK7sHy5
unJmWrI0YxPFpm3R29kjuuCBLbo+SLJXGT7ipLuKzbwgpEfdgx7d++jN0eYYm+NaYxUITTnYbvNG
tA3E3fkmpjvnkSaa58ccd6JA8+JLCZrkBBE0l1iFE0FzAXaD6fMToOnsczfUzFITqAnY3AtwuRc3
tIjMQw6VbObJJmhUOkCPdjpAxYF2dYCu7neARGbWyGxQsyvk7hYqO6jZAU1h5hKR+zYxmyNgDps3
4m+JtuhF0L1+Fj236BLZlP2gDrGJp4/4qLs+vNby0btHm2NsjmvN1J85aD63kTeyIU3tzh00DzyE
EkeYhRRoYlBThpoqNW9xzGxAk+1zdYJ0qJn7c6ZmwiYXPxzOyKQVIJSZEjTSd4BGdYDkQPvC+XNm
z7zKO0AzsgMUyswSmRE1e1aDOqjpXkNHahbQFGbauTITc5WtYt1gCYtNtNGRmpHYLJ5FNy06LW3l
8JERmzLZ1G10TR+VhlCrRy9Hm8YRGmNzXKu9YqHpbSDTnaN3jsl2M9L85p77oHkeQBPtcyc1DTV5
imagOR8/PWc5+7wcahqpCR06YJNqX6ILZMEPIwMoy0wKGgXvAA040H6fnudYMM85QCc6ByiWmQEy
u6g5bTA1zaG4SmoqNK3QpKysLrPyuSm+0mcuqCyXSAPmwG64fuHAwaZr0emqyr5uGT0Sm3hns0wf
dfToVWrTOkJx/mgEbI65Oa4B9WcBNCVvJDYQdeev0u4c9s7zSFPMc4QmLHdnaGJQ0ww1VWre0oTm
POwEZxZOkBlq5v6cqZmwSbUfJ8ETWCCa6WQmBY1GdoCKJ3rJAboU3gGKHCBdAcoykxn5FanVTk0H
TezOPTOhMWdi3pZv6MMVfboJvSpjk1YO+LdlXvdgU7JH3KKbsyp7u6S7FZuyjU5H3TV9pOvoZY8e
jTadI1Qa6WNsjmu1VLfQ9N35696IyXYNHBkfCBJHh804mqApM00MakJ7yJ+0RmreQsgMoDn3umtD
J+hkk6LO1EzYBG7uB8CUm0AJmWgAncCmOchMDRoNc4CCA+3oAM2eeeVl5jyHdYAimVkQ02GzI3hU
r6Gbk0eNQ3FZaio0sTtHoWmZyZegkZd32EJw0i39FWa7dVE12IypaVr0o49UP0jCR5J0F7Ep2+h4
Z9Omj6oNIZd17xhtVo7QGJvjWk3VaQOV3fkb30x75zDSVB+IzHOKaTpoclBThprcn9/s44E1NNE+
t05QHmoenz8jpxM1EzYRnOl/D5SXyBIyU2dOK0BZZs5dcIN5B6i9A8ThzMoBKg+05ytw4gBp0KgD
maNSs1iozIfijtDX0I3UdNDk7nyuycnmd5pul5eU77qLn6C/U14HvVXO6d9iVrUWLPDUbCxVatDd
rrvus7efbJoFIT3qrobQ+98b9ujBaLNKbY6xOa41UiUzjQ2E20DGO4dkOwWOYKSJKU3xgSBxVEGT
0u3XuP6Q+vOlPdAsnSAeap6Uuz/8jDzkYMQm1UF8Qg06V+nMs8yUoNEwB6gMZ8oTvewAYWvursDV
DpAws0LmMGrGrwaF5zWZmtSfG2hSd35djsku0Vea+O35BMu7tZCc/BA9vxC6zF4FWOio2ZU9Mv3A
dAkfNcWmTx+5Hn1Co83h2OzcSR9jc1zt6unO/9F152/YUEaakNIkH4jMc4hpGmh+55zzLriI0u0J
mtkJCqTm0qXec5jnnCAeakp/rs95sdZM2EzcBF4eLH0rIpMMIF5Mojw7B426HSBznqN4ohcdoCvR
AcJwZtsB6kNmpmYj5N5NTXNeUyx0kZrQnys0sTuffW1e/VeZCcgEYt599z22EJzATXyLfpW83SQH
qK631Oxq0Tno7ne3WmITj7obQ6jRozdGm1OGzTE3xzW8vA30XL8NBCFN351v+BYcaUJKE30gNM8x
cZSh+W0HTXKC5hXQXBpCM3aCcKip/blITfiERGxyTZcrQEfjMBNkJvwkWGaaoJG8A9TtAIVP9JID
hOHM0AEqZWYDmb3UbL21Vh+Ky1IT+3OF5iUwTyahiQNNYaYgk4h577333seVvnkvcBOxmZp0EJv0
elNIzc7Bpj66lvcQVGxKZlNOH2HUPRtCvCEU9uitzcoxNse1ZisUmiakyd15DhxBSvP9H9wMfCA0
zzFx1IImZY6uFSsi7M+Xug0U+sRUJwiHmpjUPOM0vnTEEzOgZsJm4ibUobhfCLPMY2iYCZ05rABZ
mYlBo/sfHNkBkvMcQxwgNs27ZGZMzWg1KDreodTMY83cnws0L4YPPZtwfDc/MZNlJiIzETOh8v5c
BE7FJojNlStXLLcXog01azsoaNF9+MiLTTh9JEfdjSFUhDZ7RpvOERpjc1xrpv4shGbZnetVOBhp
4v1h9oHAPMeYJi4EVdC8VD9zwYvIQ01HzaVtJ0iGmhI6yu5somb6fEzY5DrcEOTEk3hAcKGVmS5o
NPKB9n4HKAeNemVmNdYcslBZn9e0UtNCE8Ltl8pkJGl8PJtPzFRk3ovAfCDVd6HgGwhOwSaKzYqa
C5vUjMSmfHU7rCU2NX0kD6/xhpDp0XPWPRhtekdI8kdTjc0xN8fly0DT20CFd55HmuwDffRjHwfz
XGKaDpqnlND0TtCSAdAEJ8gMNak/P1Xz0/DZCGIzcRPqCDBFgB/HMjLRAILXMGeSzMxBo4eSzBzB
AYoOtHc5QDsFzPwy1QjUDN9a84fizFgT+3OBJuQ0L+SPPDbnYAIBM5ctX8EyE5AJwEywfFALyZmx
ydRctdJ36NZDn+UeqgxbdBN14KXXvc02ejaEdB296NGrrLsdbTpHSLFJYnOMzXGtvhrWneeR5kZv
Qx+IzHNIHEFMswFNCWqGTlANzbx9MtcNNbU/t1IzUROwyXWkHkuD2R515ng43slMWjUPrsD1H2i/
2pznaFyB8w5QScxRqNnxQuXeJuRupCb05wJN7M4vzVf5lJmpNTfIBGA+BPXww/gX5CZjk6h5h9Ga
2UM3eU2lph9sunNxXmxiZpM+ZNOsIaQbQq5Hz8ePWqPNwki3sc2h2KwTSOMufVyd1Q==
152/4IVupJl9IFqihJgmZNt3+eaeCk08KXQGdIkETbLP5w6DZh1vv/Ri7s/Pym/SHHcsYjNx8yjA
5VHoIX/rWLJDTjvjTDKASpnpgkb+HaCRDrR37gAVzPyyr8lTU1aDtEGn/pyhCTlN6M4v4a3/Ofh6
sjATZCYiM4lMIObDDz/8CNfDgE7gZsImUPOeTE12g1wnUHjoxg6KxKYmxAqxiekjNIR0Q4h6dPbR
P/TB5mjTOULGSLexzVGxOZab4xpUJTO9dw7duYw0AZpvUB8Ilyg5phlC8yyTbrf2eeAELXUnHIuh
JvXn55+bpSZ+KqbPxYTNxM1UxxwjezG4FiMe1JVXwwoQy8zbjMzscoDaB9rzE70gMw+JHaBuZHZT
M4prtl5D5wZd0wLHUnt++hlnfQe6c/y440Mj8xcgM29ZBuNMlJmETCDmI488mku4mdRmEpuemvaN
Zfn98UePhJqtFt3Y6CQ2aaahhpAPbRZZdzfaDBwhNdIngM1xlz6ukavdnfPeOY00Sx8IzPMtttp6
m22374amzRzNlzM7A4eakNS0/bk9C3E8YDNxE+vY/DQjIpM7czhoFMjM7AA9PcqB9vKJ3mIHKJKZ
NTInS00z1gygecqp3J1TamEWPs4kzMTWnGRmQmYi5qOPfg/q+6ngr8zNh1hsMjXJQy/Gmv56B1KT
7SBt0ZuTTXkPby81hHAdXUOb1KNT1p330evRpnOEnJE+Gja7h5tjbo4rrN7uXEea1gciaG6J0PwC
bVFaaJ5QQ/PaOcOdoDzU5P78Er7caD4TAZuJm1jHH083JTGm+B05FJJ607lGZkqeHYJGPwtl5pAD
7YUDtEflAHXLzL655jBqOqkpuVSa5aLK1kMp184BZi5KzFyOzLzrbkEmEjPR8gdcRM6ETUtNcoPs
WDN/VZtv3lvL1Oxq0e2CkE0fmR79C9qjU9ad9tHjFaHISI/T7mNsjmtqq6c7l5Gm8YHe+g40zzf7
KEDz0zU0j7LQ5KDmLAfNYUNNTGqa/vw8+5mI2JRKwMR1mNNpoHfhRXj6eHYixg2LljRl5mQOtB84
oDWPkTkBahZr6HiWPkvNDE0caYrQvEKYeQMyE8aZd96VZCYjE4j5gx/8MBeCM2EziU1o0ZmalNdk
qVk26Pm+plKTB5vSolfY1DMr/IxoNoQ0tEk9Ombdg/hReMdjdGzKvc2JDjfH3PxTrlhousARjzS9
eU7Q/AQuBAXQPImhSX1imTlqQLMaamp/fml5JPxkwKbUt+UC71nsgVBnPhcOGlUyswoaTeBAu3sH
qHSAumVmBzW73loz7/pmqZmvOeHS6InYnUtmgZrz+QuVmdCa33c/IxOJ+ViqH0HBN5CbCZsgNpGa
5KGz1FylUtM16I6aVyg1uUVvik2fPsKEaw5tUo+OWXeJH7nRZmikl9isloRCbA70hMZyc1yuOrrz
PNLMPhCeOOLEEWTbaYsygObJAE0f1OzKHJVDTVk/x/4c8u0X+xTgqackbgI54X9PkUOS5ygyrwED
6IbFsAJkZGaVZx9woL16olccoD0nJjMnSE1YDXJS00MTR5osNM8PmHnrbdCap86ckInETLT8MReR
M2FTqPkgUhOgeZeRmkud1NSxpqUmDDb9elCNzcNd+oh79K97H5320Tl+ZEabZiHdX3bvwWYZdx/N
ExrLzXGZirpzP9I0PhCb5+/YWKH5KYbm1yw0j5FTGQxNCWpK5qi9SMnQdP351VeK1MzUPP20xM0E
zoTLU/OT3+fJNGAW9qWL4KARZDOdzLRBI9Oa9x9orx2g1FiWDtAAmTlhajqpuW++Tg9vbfLeaF74
v8ozE1pzlJmIzB/+8DEA5uO5EJxCTejQH2QL/e4MTZlqmvcveKxZUNO66E5s+vtUbAjJh9L76LSP
zvEjHW2WC+n92BRLyC5X9g83x136uNpVCc1qpIk+UN4HosQRxTRhIejT233OQ/OwAppBULNrkTLq
z0lquux04mYCZ8Ll6ebh2guzZwyW8ZJbYNO8U2Y+XTlAfJ7jpvaB9gEOUB8yK2rWcU1HTTGDVGra
h+MONyedQGiK1vbMTK05yczvo8gEYj6R6slU8FfAJopNoqY06O3+XKQmm0FETY4e5Ra9KTaNIWR7
9Oyj0z46x49ktBktpJexzYaT7u9tTgibY26OC6tvpGl8IIXm2yGm2QnNYzM066Bmh32On5Kyq6cn
yKpTOqBfAJwJl2eeeRYQE/pyulChXemSpXDQSLOZdZ69Ps/xUONAe/1E7wQdoFGpadbQndS0DxSb
a8vanON8gpiZPgpgAUFrTjITkZmICbj8CRaBE7GJWvN7SE0DTdOfy1oQb1Nyg26pKYPN7AflMXRg
CPke3WTdbfxIRpuxIzQAm/WZ4hqbzS69V26OufmnVZ6Z5UhTfCDeB+L3gd5O2XaC5meGQDMHNZuZ
o7g/V6mJDbrGWRI30+diwuV38JlvenyR7lPA2iAJrAQL2jQXmenz7M/0HWhnB0ha8+KJ3rYDNAiZ
A6hZrKGL1HTQpIeQ4L3NE8yFEkxbzZGvHPBhuCd9HB58+BHozAGZTyAvfyqF4ARqQof+gx9830DT
9ec5qsn9OTXoNTW5RTdis2UI8YaQXiPNPTrFj/xos+kIjY7Nbk9oLDfH1aywO5eRJvtAZJ5j4gjf
B8JsO0PzkyU0D5p+2BHwOSyfwo2gZocT5EJHciPc3oQAi+EcICf8LwDzfLwdqciEzpx60rvuuS+a
Zj7Tas2jJ3pzOJOf6J2cAzQBanqpaaHJ3flRR/PxUJqHgAlUMhNa8yQzBZkAzJ/lAmwaasb9uYUm
9+ckNbFBF2rSYLMUm2KjtzaEtEenrDvuo1P8yI82C0doirA5apc+5uafdgXQ/ItipCnmeY5pMjQ/
AqvnAk1yz/dVaNLpdpNu78scVf25PXXEDTrPytJnohQA88KLoC+X4xQ4zOTO/N7mNPOZKTnQPgmZ
ORo1RWp6aGJ3bl7c5IGmMjN/HOBrxyPQmRMygZg/h3rqKfhfwiZT87GoPw+gSf25SE2m5kymZnbR
s41eGELFM8zco1OGi+JHdrTJqU3nCI2EzfLe5hBPaGS5Oebmn0Q1R5rWB2LzPEMTF4JKaMKVI4Lm
keaTmM2ZInPUeCco7s+vsZd0UL9oATAvRpFJJzsVmSyvWjLzmfI8x6QOtE9IZg6lppOaBprQnYN3
Dk9uHitPbvLF5VnKzJXyteNhkJmMTCDmU0899Quo9NenAJtAzSeeIGjm/jwwggw0sT9HqempiS16
Fps2s9nTo8us+OvlaJNTm8YRmgpsFsPN/i59zM1xtbpz6wNlaL5iEDQPaUHzmqHQVP+8pCZiE7gp
BcDkFxfpbOT12S0GZDZWgPoOtA99oncyrXk/NXey1LTQ3GOPPY3QnHHk0d8qHkOaZTKqt3NrjjKT
kAnETLj8JRZyE6mZOnSEpvTntdDMRpBAE/tzoeY1RE0cbGKLXorNyBDyPTrvo9v4EY82xRH6+BYl
Njd+1wBslmeKhww3Jyo3x9z8466OkWZpnhtovqMPmkcbaHK63WWOmk7QUtOfZ6nJ1GQBk7hJlXh5
2eWXX6FAXmADNtSZ201zJzN/3TjPMeyJ3kk6QCNQM4QmducoNA+FD/a3jpVD+cDMK+SwkwSuUG+T
zGRkIjB/hcXYTNREqSnQbHXnEjlCaHJ/nqmJeU0dbFZiszaE/Pv1B0KWy8aPaLRJqU1xhD7x8S0d
NkVsdmMznymWvPsIw82x3ByXrQ5o/q0+daHQfJVuUdK9jgCa+x90yKHweazQlHS7ZI7mL7y+ZZ+7
/txJTXkwlj8XqRIvEzBRZPKDDovolk/uzEOZ+UzLAZrQgfbJyMw2NbVBp6lmhuZuBE0SmtKc4wcb
mXlxZubN8Lg7pQf4I4FDiiQyEZi/pkJuAjVBaj75hMw0FZr3lBc79PW7GppETbaDsthkG90aQnGP
rvvoOgExo01xhIyRXsY2A2xy3F3OFGvevXO4OZrcHHPzT61aI002z5/3fEkccUxTtijf/b4eaPJt
OJNuLzJHgRNUWEE01czU1E9GqisRmLOAmPxuGJzZNV4xGkDlQaOiNZ+KA+2TQmYnNVVqMjQhcvRN
nWhScy7MPAPDRpaZtHKfBTdErn5Okhs+GliIzV/+kqSmh2YgNKU7Z2guZGhW1KzEpiwIOUOouY9e
jjZpIV3ueMj5oyi26bH52hCbtZXeM9zsl5tjbv4pVcHM0AfSmGZeCGpCcy+E5uE0ZZOdvhzU7Mkc
1VLTb+rxZyPV1VfPFGKCer1RkCmdeTaA+G7mM8/E4czJHGiftMysoWmpWUGTu3OYaGJzzgNNz0w6
U7Isv+2hXz0EmfnrB1IToPmUg2YgNFdYoYm/OwxNlpoBNbONbtJH9YZQuY9uRpuU2hRHSIz0nD9K
2PxQHzbNmeLQE+ro0iffpo+5+cdXje68gibFNPuguRtA80CFZplud5mj0AmqpeZCu3SSPh3T5yPV
rFnXCDH10TA4GEmbL9qZF3F225rb8xy3UjhzXnWeY/CB9okzs0dqZmhid05Ck5pzGmjyQSlm5jXK
TPbCZBnKDyn+C0pk968cNNtCk851qNBEaHJ/XlAzY9OKzcIQavXoZrTJqU12hMRIz/mjIO3+jiY2
G1Z6Mdyccrk55uYfWbWh+TdlTLMHmvCwmkJzhoXm+eb97aZ9viy1frWBnqnJRkP6jMRK37r2Wm32
F+ldclywhkTiD35otFVG5jN1OJPPc9gD7a3zHMGB9ilAZoOaJTRRaO622ze5OaeBJn91EmZCPtO+
h3QfDil+6IYUBMxnn32WsMnCm9pzLzRDFwi7ABKaWWmW1GyLzQE9uh1t7r6bc4T4/FHeSPevVhI2
i+VKOVP8CoNN9YS6uvQJyM0mN8fg/COqBjT/qoDmi19itij5MpyD5hcFmvvsf+DBh9ozR2XmiOxz
6wQxM4maLDX5U9NkAZGb8EkJdd11c+bMzZ3+EkFmTtf8yGgrkla5Nddw5po8zzExaiI0RWjyRJOc
c89M6M0ha0RvyEHUyCyQshemyHxWCqip0HRCk5rzLmai0LTQNNQsxKYxhBo9enO0qR92uuOR80ca
2wyWhMqddHlLyFvptSc0QG66VaExN/8kyzKzCU2Jabahub1Ac3eEJt6GO1Zv7sgD3Jw5mjd/YT3U
XOapucQ0gQsX2hYQK/Fy3nxdYl+ylF5yoNNnD+XO3BhAWVX1nOe4uDzPMeBA+6SRWVJToWmFpjbn
xMyDPTMxnznzmuvwUj3Y5v5xD/7qgcT8by6kJmhvMoJUaObmfAAzGZryu3NdLTZLQ8j36DbrHow2
80eeHKGcP9LYZoDN8nDc6z02rSdUdemFl94jN8fc/NOrQmh683woND/toLmfQLMIaprMUeAEZWg6
ai6yozP85IRKvFywUIgJ79IyMvEkReF6KDIzM3M48wEXztTzHOWB9r27D7RPBTM9NQ==
PTRNcy5po4iZl18Jj8hBpD0/746tOchMh8zfQCE1WWlmoQnN+UjMhN8XIzWVmpXY7OjR26NNXUjP
RrpspBfYdGn36t6mTSDVntAIcrOrTR9zc/XXuvDxHALNFw6G5rTddt9zHz1zZIOamjky9rkbai5r
UhM/QeUzFGshBD2FmLcs07dv6IrPD6rO/L+EmakP7Qhn6nmOUymcOTUH2idETdOdk9DE5jybQJaZ
6Juff9Ell181c/aceRA1AgtIxpmPyeMe2Jg/S8D8n/8RagI085NySWjKQLNmpvGAAmaW1BRszqwM
IRPadFn3PkdIjXSNbWravVSbfrlyI8Vm4AnVXXpkCtVyc8zNNVzND+aa/4AW0CzMc7MQxNB8dQ3N
Twg0dzbQNHuUpX0eO0HLli2rx5qCzfRJCuDkugH2iRahTAWRufJWRqZcpHCe+TOOmX3hzOo8x/5T
e55jVGiK0CRm7rqbMPNAy0zYnbzo0suvmjUb4pk33YwWEIwzuTVXmYnI/B8upCZB81emOYeBZsxM
LzMtMzM0hZpNsVn16EX8qMRmHm3m1coc26ywSU56uZNuXq4sPaEquVmYQrXcHKlNb3NzDM7h1cnL
Nf/x1P9kI3HE1zSHQPPLAM1dd5fbcLISJJmjS+SiRsMJWrYs0JqobNLnKXBTK/0tNPY3s8i89bY7
GJkPMTKpM/8lgsIgU1vzdjjz/K5w5pSc5xgGTSc0eaCJJlDFTNwDOveCiy694iqItINtDhbQ3ffe
T+PMx1FmOmT+NhVRE9pzEprUnCsz1QMqZSYhk2RmZiaPTZSahdjs6NG7Rpv2sHuRP7LY3LbEZnDK
wySQguFm1KW35GZXmz7m5mqoQcBcsx9Oy8yOmCZD8z8CaNLl9u0/D9D82jS+DXeIjtskc+Ts83kL
CifIQtNQk7AJ3CR0Ai0XE2mXAjFXQF9ODyziSfLv4zDzyWqYSTLz1+qal+FMeTtt9PMcU4jMCJqG
mdMMM7U3T1+VTj/z7HMvuPhSjLSTbQ4W0H0PPEitOUhu+FDALFOI+VvCJkBThKZhJs0zIWsUyMwQ
mTpqdtRUsdnq0YP4Ucdo02+k57T7MGwaK108oe4uvSE3+9r0kbk5BmdHjQDMNfnBnCJobgvQ3MFA
81ALTWefh06Qg6bDJnATwMm1RL4/EhP78rvlsTBAZjjMLFvz6HImhDPzeY4jV+N5jgHQ7GCmzRrh
jY6zzj7vgos5aiQWEI0ztTUnmfkbJOb/h0XQhO78GdHfjpmQz4TW3F3QXFyOlwtkCjVrbHb16ENH
m2Vsc+eddhgBm5WVXgw3jZdemkJqpjfb9BY3x4JzEjUyMNfch7IDmn/TA00It38Iobk1QPM/AZrf
2FWWz+URX84cGfs8coIKaGZsIjcZnTfLM2zLljMxU19+972KTFmuthFujiI+02jNi8uZazyc2QFN
HWgGzDyUR8ZwP5PimWibkwWE48zcmqePBSLzN/8jxERostDMX0yImd979JGHHuRxppWZdgfIakxL
zIKa2UaPe/Su0WYXNr8ZYrOabcbBzcoTcl16mXhvmOmrgZtjcNqaGDDXCjSfMwlofhagudPXePkc
V4IoqGnsc9k+VyfoxtAJctxEcErhd0rABGICMpPIvPe+BzIy6ezZU3gBTpCZQzW+Nc+XM+eYy5nD
3k5bPcjM0KyZCfNMzmceeBB/cI/PUSOwzcECWroMx5mYNKLWPMtMRObvoASa0JxbZmLWCC0gas0r
ZPIGkDV/qprbEJuuR/dZ98Zos4nN3RvY3LYDm94TssPNWG5uUEw3B4w3J83NMTihJg7MNfUx1P+W
TRzVC0F6GS6C5paf2HobgOaXDDQPtrd3avscX6TM1+EsNJdDleSUf4rAZGJCX37v/Q9AyIiRaZKZ
GZmcqfGtuYQzZW+yvJyZ305b7eHMYcyUTPt++9ONDly3MrY5bJvncSYnjX5CDhB35oJMgiYyMwlN
3SgFZpIFlFpzkpkOmTYt2+Clo2ZHjx6PNs8OUpsNbO7RxOZnGtgsPaGwSw9NoXabPmFujsHZrOaH
5f9Wtc5B8y9LaL4ogiYcIf6wQPNzAE262IErQfxKEEDTb59fc23HUHO5L0En/s0KBGbqyoWY92Vk
PvZjH2ZXZOZITdGarzR7k2vwcuYAaLaYSfvmcAuObXO1gGDbHLaAVqy6HR9459YcNLeRmb/7nUIz
CU0eaCozf/QYjDOhNVeZKcg0N9q9US41SGyONtrMjlCEzT07sFlcQKoSSEXgvejS1RTqbdOr8eaY
m5Orwbjs/iiuwZ9oNdIcCs2PfmzLrbbe5jMAza/sJCtBFNTE2+1kn/P2eXsniKC5PKwVK5CXAEwi
piLzoYzMJx0y82r1M+IOh6257E2ePXhvcrUhs2JmzhoxM03USCwguNABm5MLb9BxJiSNTGtukPn7
VMpMHGjm2/U/ktYcZOYdt98GnTkj80Z5dVL3fsIaIjaLHr17tGmM9Aqbe3ls7lhi0z6THh/zaHXp
4XRzQJve5uaEwPmnRs5Rcdn+GK65n+v/nRA032+hSWeOON1+0PTDCvtcnCC+sV4ONS00V7hauRJ5
ScC0xHzQItP4P+4cBTJTA+1y0qhuzU9zz5rTZ+VquZw5GjN1D4ijRodMtxYQb076caZtzVlmAjJ/
TwXQFGbmQW9uzVFmUmfOyNQnJ93uf66Qm5aadY/eP9oMjPTWbmUdd++20qMuvZKbtZnu2vQ1w80/
GXBOEJjxh3DN/XQnCM1NEjQ333KrT26jZ44AmpBut5kjts87h5q5O3ewRFwCMDMxDTK/B8iUl8J+
8UsZZj6L69V+nMm75s41X5da8wYzed+cbHO1gGjbvBxnctJIW/MsMxWZAE0YaEJv/gwx86d07Qla
c5GZt64yyLQ3poh/pipwdorNarR5RVdqMzDSLTb3qbH5lSHYrLv0LrlJ2c2qTW+ON2tuBo36GJy2
BgDzOc9pfvDWBjU7ofm3g6EpZ454JQiDmuxW0Pa5OkHxUJOhaXtxw0sCJhATRSYj81GHzOz/PMtH
fIpxZpdrvvZb84iZEjXyFlA5zsR05s234LI5JY2oNbcyE2j5hz9YZlLWiBT449Cas8wEAwiHmYrM
BXzM1Fzlu1av82VwNsXmBEeb9kSxyx91qk17OC7EZtmlq5eeTaEeuVmF3kfgZlNw/qmCsw+Yz2lU
5wdvjf2sB0ETI0evctDcNEFzC4EmrwRBUFMyR6ETVA81MzQFmQaYhpimLydk/tgi0509e9Ysu/CF
dhdoD13z6U3XfPXKzCYz+8aZmM6kZXOTNPoZOUBGZv7hDwhNx0y99vRDlpnSmVtk5vPPSDxTmZsj
YrNntBlh02+kd8w2dygexfDYrLv0yhSK5WbPeHNi3BwNnH985OwGZouX0QdvzX6g/M+3H5r5ytFb
3/5OhOZmCZp05ohWgiDdjpmjfBwuO0Eab3dDTXSCDDQZmQTMTMwkMitkGsu8uhTpx5l0Bm4dDLTX
zATbPBpn+nQmHDWCAx24bL7qtqo1Z5mpyARoGmb+2hxi/t6jKDO5M192y9KEzExMfy9fS8E5IWyy
2DSblTLatI6QzR+1sFkEkHasrPQBXXpDbnJ2M7tCHePNLm4OF5x/OuDsAmaBx+dGX3Dcx27tCM1R
obnhRgmaG78HoPmRzbfgPcqcbseLmrUTBNfhwqFmhqYyM2tMHmTmvtwgk1cmuTN/1jPzaRFTkDTS
M3CT3DVfE8y048zd/ThT0plwoAOXzXlxMmzNWWb+wTDzt8RM/mryJB1iJpmZOnMYZlpk6sNMADl+
m2kWlXAzxGYHNbs3K50jVGLzuCY2/U76AGwWi0JqChXTzaBNj8abATcnITj7wLn+k7NLYkasdBVi
c12B5l+X0Mz3NOHdc4Tm+wCacOaIVoI4qImZI2ef252gaqiZobmcsusr1fjxIjNAZjHM/G/HTJ80
ogvt5Rk4aM3rM3D8EFAwzlzNzAxacx5n6oEOnzSCxUm8Axe15haZzEzItFNrbmXmA0lmps581cqM
TCEmt9KgCqUEnRE2R+vRB2Pz5Bqb9SkPd6a4C5vVolAsN9ttei83RxWcI4Nz/SXnAGA2cFl/3NYB
aD6nA5obxND8wKZ0sYPT7RzUxMyRvq1mdoJwqBkmNZfqgqTEMau+vAOZ9iA5++bqDaOYMktA9kL7
GnyjdwgyuTW3zGwmjXBxku/A0RJQ0Jr/vmLmbzjRrh8ZPF1y7z13wTATLHNEJolMJCY30bYyOPV9
OzPbnExq0zhCbKTn2GaFzeACUkfePWPTdOnOFCrkZtymm/FmBzeDRr0hOCcFzvUOndXPvwuYf15X
9VFbT6D5ile95rUGmrpHmYOazj4/Np/U1KFmtX7Oh95kSXKVs8s9MomZGZm/0M48v+EgFlCUNOpe
Atq7SBqtBWbadGZva76obM1/xq25mOZ/MMyUcSZ+ZGQ9Ct+Vw8585QpGJvTlQkwCGiCNC/7mSgIn
6U2HzQY1B442A0fIxTZLbEaH40YabnbLzahNnyg3OwVnFzj/iMjZJmbJywCXFTebUnMN/kImDk3Y
o4R0OwU15Tic3T7vHWoaaBbMtI35EJnJzHzmmfY4c94o48w1yUybzpw2bZeoNT/F3IFrt+bPBq35
72mcya45B41wmgmd+e23gf/DyGSRmYgpKLPF5HTYnD06NqPUpg27D8JmeG9zMDbLvXSVmya7WbTp
1hbq4GbHgNMLzrBTnxA412121j/ZFjAVjn9RVoHNptRcg7+aEaD5aoKmXOzAlSBIt3PmKNvnoww1
CZpyjYOYyRkjsH9anXkpM38zwjjTv2pxwH77rD0LKE4ajd6a/8K15omW//u/ZWsOQwvdwieZScPM
jEwmJtvaiWJa6e8uI3Cy3JQmPY82W9Tsun5Uht17sSlOenymeAg2a1Moy824TTfcFLnZ4mZzwBkJ
zoHgHEjOdQ+dwc8xbsmbuCzBGUjNNfoBcL+Mfmi+9GX/wdC0e5QY1OTMEdjncLJDts8RmjnerkPN
a1vQRKFJuz93uc58mMz8765xJqQzr+1MZ35z112ql4DW1BbQZFrzx3JrbmXm/yI0DTPZAXqCo/4k
M28FZC4BZM6fNzeJTCSmqL5LwJyBgm9dQuBUbF5dYrNLbA49Glfkjzqx2bju3sRm2xQyclOym7ZN
z+NNbwsV3KT8ZqNRrwVn3alPDTnXDXaGP7FYYha8/MuqHDZraq7RX/hI0PwXhWaZboegJmSOxD5X
J8jG288thppz8yFifrxiuZx9y/uSHTLTmua/aY8zq3Rm4yUgSbS3mLlarxq51jy75gf0ueZu11z3
JlVmCjOhNc8O0JN6ux6imdCZL2VkzrkORSYSE8GVBJ8pQidwE+WmYlN6dCs25wTUHAWblzhsnt3C
ZnUBaaQuPZabsirEbboZb4a2UM3NuFEvBWerU+8D53Byrj12xj+bLmDWtDQfqfLDtQ==
vkDzRQLNV776tW4lSIOakDkC+xy3z70TZIaadv18/sL8Di9Dky+/3WGYmZDZ2Zo/W8jMp+0duPKR
3o5l89o2X73M7FwCGhZov9sE2lNrDuHM7AARM53M/JWVmdyZIzIXCTJRZCZiUoMM0JJKf3MhglOw
qWpzcmKz4Qh1YdMuV/rDcaN06U25WbTpOt7s4abbF6ob9UJwhp16bA6F5BwFnWuQnu2fQUhMA0yL
yqoMNvXjtLag6X9FHpp/1QfNt79zY4ImBjUhcwT2OWyfsxNEO0F2qAnr58EmpYUmC023ZY7IrFpz
swJEyIzGmdWyubWAjjnyiMOGMnPKoRnLTNeaHyyPhpSnMyHQLrvmetLIhzONzERmRjKTO/ObCJnY
lzMxOfaTcMWVvn0+ktNjU0ebHYbQELE5BJvnlNgsHq48dPqQLr0jg8RmumvT2U0vbaGSmy/23NQB
Z0twtjv1puScAnKuPqp0/yfzz7eWmBmYAsi/9mWxqR8o/eCsRaE5GJr/DtDEPUoX1MTMkdjn6ATt
45wgTmrS+nl5Hi5DE5+xMAczow2gn/4s3DS3y+awHkirLuXD5vlAh9rmxVGjkpmrTWh2BtqDXXP7
EhDsmusZOH4IqHKAcmsuDlDS3/q1BGWmIPP6BYTMJDKRmJSTPO/ccxOpsNK3zkVyxtgcSWwOcoQ6
sZl30j02o+Fmb5demem+Tc/jzS5u+tx73aiXgrMFzqhX7yfnhNg5BYwZ9F8YAZjKyb+RcuCUj5Pr
z9c9aNrnLl70zy8xZ46qzJHY57B9zk6QPONbDTVd6MhBcyW+lsZ32YNFc5SZ5qnJZ8sloKfbz1oU
trl/CsgwU7NGq1Nodu2a59fTzBm4c/gM3Bx3Bk4utJfhzP8tW3MNGmWZqcNMRubVV4HIBGLSPk5q
iFNLnAr+ejaSU7g5SWxaao6Oze9YbLpHMUYcbobTTdOmWzfdjjdrbrr8ZjTgLARnDM7BkrNBzomj
cwhJJ/DvMT+151hiemBmXv5NXPpxMtRsKc01wMyh0HyBg6ZfCfqgHIcD+xy2zyMn6GQ/1DShoxzU
pDd55YnJu+t7Ro6Z5eKkvwOnFhAwczlvAdErvbA5aaJGPcxcTdBst+YmnFm8anEZnIGbt8BdaI/C
mZUD9JtAZlJnLsi8jpAJIlMHiEnT5SJ0Ejc9NnsNoXqvMhCbgSPUj01z3b220ptdeud007lC8Xgz
4GbXgLMpOEtwNnr1tuZsoXPK2DmZsj8fB8znVsDMvPzboJyD1oJm/u+uM9AEqQnQxIOauEeZg5qS
OUL73DtBGm/XoaaEjoqHfDlzJA+ZuweAWr25v5xJe5PVONPY5rw5KVGjkpk0z6R8pjTnXmhOJTQ7
HSBqzQ86eHrxSG++0K7hzO81w5nETB80cg++J5kpw8y5hMwEJxCZ5/Ht9DMTl7TS3zE4BZvcpI8i
NntXhHqweZHHppwpDq304V26kZveFcpuuhlvDuNm3KiPDM5B5Gyicy3B0/8UnlMD889LYGZc/l1V
+kGijxB/cAw014LQHARN6s830DNHvBJk7HOAJp7syE7QHnu7eHu+qen6czfUFGhWD1qEvrk8nUbE
5BPtkDQy7rDY5hQ1ipmZH7awu5O10JxCaHaEM78ZhzNTa34FXGhfcH1rb7JwgP63coDyGeYHwADC
ztwhE0XmuXw2HdwWrdNPPx3BCdwUbOJsU3t03RHq3hCaEmzSKQ++t1lY6eFws9GlF3KzdIXq8WaT
m68ouGkb9Vpwlp16A5w95ByOzjVFz+q/OhCYGZd/X9bfmWmGUrMLmmuEmUOgWZ05onS7yxzRyQ7Y
PqedILoOh0PNOHSk/XkMzU5m6kCzeglIxpmyBcSbk7xtjhc6HDPVN/f75kZorg5odjpAYThT9yZv
WBxcG+4IZ0YyUwwg7MwFmZdcnEQmERN5eWpikdSpp57K4DTYtD36ZWWP3r7i0Tzj4Y30CJuX1tis
hpv1nlDdpQdys3aFjJuu481ubuZ9oaBRV8HpO/U2OAeSs0RnNztXCz6j/8pzCl6GwBSBqbh8XlF/
71IHXdDUn8w6Ck1Ot2vmiI/D8fY5OkG4E1QMNW3oqLh01AvNeqAp0PwvJiYg8+n8rqJYHRg1ongm
HRwOmZlfg83NuQrNqYdm1ZqX14b3n1Q4s3SASpkJOaPbVq2Azhz9n2tmMjLPO5eIeRpqt9T0cqVv
ngzgBG4KNs9hbGKPPtAQmhJsYhTqQnL2S0+ot0vvlZtFm27Gm21u2vxm1ag3BWcPOHvJ2YPOXnZO
EqHtf+NzKl52AZN5iYj8h7LMxydLTQvNtcXMAdAM9ig5qGmdoI+pEwQ7QXmoGYSO6jcpS2j2NOc8
0QRoUgky5V1FndtRPJMj7ZmZ5JvjHpDZNw+FpoHm1FBziAM0JJz5/SCc2QoaYQBLjLG7boevJNiZ
Z2Sef14i0Jly7zfJtpNOpErfOgnJidwUbKIlVPTo/aHNKcJm5QnZ4WYrglSZQqXcrNr0crzZy81X
VdyMBGcbnNlVH0rOAp01OwfTcwrqOS1etoHJvARCPr8qu4yapWYnNNcQM0eFJgY1g8yRc4LwOpy/
2SHn4Vx/noeaDpqF0Aycc4BmpuYzz+A085f2jTCmwwqMtCMzpTeHrNGxRx/JD/WqCVQLzRqaU0DN
wQ4QPhhvwplzynDmY53hzBw0ojz742ZgsYo6cxhmzsRZJiIzSTYGD5DnhKTZUp0ABeSMsOl69Etb
PXofNucOwGY+tiTYHLFLd6ZQKTcjV8iNNzu5KflN3k+3jboXnL3gLCRnJzm70BmxczXi0/9Xnlvz
sgVM5iV8FF5Ql7+1x1KTobmWhWYPNP/aQRPS7UXmyG6fsxNk4u1V6Cjqz2moqdC03XlroinQpHpa
ZWZqzXNy+842M3F3kl6dzANNFpqrFZojhzPdG723DA9nogMUyEz+oEBnDsPMKy8nZH7nrDNOz+/l
JuikOhb/9zhEJ3NTsHnmmSP26MNfEbL5I5PbpKOeZZfe9NL9fmUzuumnm9qmi5tO480ebkruvRxw
1oLTdOoVOGvJ2UHOGJ0VO1v0nAKCBv9G8581vCyAaQUm8RL4+I9UL8TivxFs4odFpWYIzTXOzC5o
1svnJqiJmaPaCYKdIB1q7q3QpPNwQX/O6+epP2do5pGm6c6ZmR6aTysxf/0rac3pXcWSmegBcaZd
9s3FOOeBphWabWhOlppxaz5tWvCoBbXm54XhzPByZtCaQ57dycy7MEuwZDF15g6Z5s3HY1N7K5X+
BsGZuCnYPM1hk3r0IrTZGG16R2gkbBbblQ25qV56nHh3GSQnN4M23Y43s51ec1P2hVqNurfUQ3C+
oABnlpwROXvQGbCzi579KO35Me6/8+clL5vAJF4qK/8pl6CTD0YZqUnQxF8w/6Kc0FxjzGxDM7rY
4TNHhX3OO0EUb6+HmlV/TqGj7AQV0Ay78wxNoCYWIRNbcxxnanR7VWbm1czMMxIzT1ATiAaaTmg6
aE41NTtbc3M586jgcmZHOPO3v43Pc0ie3cX8wQDCzpyGmRdegMhMqNGIeBJoxxwtlb4N4KyxWfTo
YWjz6vqu+4jYHCQ3zw/k5rfNW+nBO2xWboaukBtvGju95qbuC+UBZyQ4bafeBOcQcpaiM6OzYGdM
z+EAHU5KQ8uKlzUwRWASLhGTG7j6J/mwGGp6aKrQXEvMbEGzPHOU0+2aOcr2udkJ4qEmJTX5pmZH
f85DTbLPLTRlpBkE28EIAmr+GoCJyKTWHMaZdFb3/nuVmdcTMy+7GG904C04YCYONKE53zsHnwdB
cxLUbDtAxeXMbw1/1CI+z2GDRpXMXHTDgnlzZsPH5JKLBJkgMlmZHX1UqiOp0rcQnMhNwebJJ5c9
ehXa9D26d4QKbM4tqcnY1NzmtV5uGlMojG425eYRUQbJTDdzm16MN83F4oibtC/kBpzcqEv0ve7U
Q3CWkjOT03brBTojdlbwbNFzFIq2fqz5r/xFwMsImCgwiZfAyBdB/TMVfnsD82qdg6bpztdqc24X
SoWaHpp5JchmjgL7vBxq6vq5WQqq+3MZaqITZGaaDM1gGwjd818RNhMxFZn4Fm0+3iPMhN1JuNFx
/jlwP1MGmtScG6FZQnPqqdnvAPnzHHw5c/ZIlzPLoFElMxcn6T2XOnODzBNP0Iu+qZtN/Wwq+OsM
BmeITSs2h/Tog7FZcnN2k5uFmX5uIDfLW8XRdDNo03m82cvNdws360a9FJyd4GxIzpKcfeh08Kzp
2Q/QQVX8K//C4tLx0no+DEwUmMhLgeWLTTE5hZooNRma65DQ7IZmEdTMZ4izfZ778y3sUJPWzwf2
5zDUDKFZ+kA/RWgmaiI2kZgJmcTMx/PDijUz8eYwHTY6htJGLDSHQHMqqDmCA+TCmXqe4zZ0gB5p
OED5QDs4QHI4E/LsehyPN6PAAJoJI94Lzz/3bERmIouazSDIciE6gZsGmyeeOLxHb2Fzzpy4Sw+x
ORo3e67H1dPNwBWS8abl5laem5Lf5H0hM+CUJFIhOMsRpwFnS3I+/x+qbj1Gp7KzBc8YnyNQNPyB
+d/+lwaXFS/NCNPykmj5Eqh/ocJvvzg/WYfUFGj67nwtMzOGZiPdrsfh1D6Ph5qU1MyhI9+f50cv
Zkp/LvY5Ro66oSnUpPqFIPOJx9ECcsyEfXO4BUcBzTzQROcchOa+2RLI0Fwt1Gw5QMPOc9wy9DyH
CxpRnr2UmTStgK8igkxgCikxMJoPO+xQKvimcFOwedxxvT167aOPgk3Dza7xZkfm3WxYVpH3o8rp
Zu0KyXjTcXObHm5WjXopOJvg/JcKnN3kjNCp7AzhWdCzD6E95f89f+lome9u/G0TmNiOCy6BlP9q
6l+MWYbU9NB0QrNsztcoM4dAs7LP5WQHOkGNoWYVOor6cwod8VAT7PNuaGJ/jtSUAmRyaw4WUMlM
VFWXgwmEA01qzkVo7m8/Y7qhOUkzqNMB6j/PsaxwgBrhzDBoRCtAKjP1i0jqzEF5AzJNEDx1r6kO
OeQQ/CuSE7hZYzMUm83RZuEIdWPTctMcQbquc77Z8RBbv9yUdkPddG8LhdyU3Dvvp2uj7gQnTzht
p+7BKa76YHIG6KzZmeHp8RkCdPTK/7q/srTMZ4p8qEg7cuEl4TJB8t+gXkqF387bAKg108eAoVl0
57XQXLPMDKDZkW6vnaB4qMk3Nfv7cwod0U6QQJPC7TU0SWoiNZGb6X9/zsh8HMeZjz4sx8hXwL45
GR5XgQl0PiOChSZb5xE0V4fULFpz6wA1znNcMOp5jtIBkqBRvicKMpM+Hpfqx+PbhExZnQFaHix1
CKLTY/OYY6Ie3Yc23anNK0bA5jxXgwacZQxJ23QrN1vn41hulm26jDfZFqq4qX667AvxgNM26ig4
84TTZZEyOPOietGrB+TsQKewM4CnpWfJz8EYrX5I/jf+taGl3SJ/nvXIX+iBybgEUA==
/rurl7rregU0sTv3QnPtNee90IwzR7J9jjtBZVKTnqT8qnnz4jC/f277cx1qcuYI1ygVmsY9Z6mJ
1ERsJmIiMrk1B2Y+mJkJW4LzoBW9UltRFZranTtoOqk5ldSsW3MnMwe+ndZznsM5QBo0cneeFuT5
rnw4EjKNQZK0V6oDU8FfCZzITcTmkUcehU56T49+fj7s7kab/dicV1azVS+3LKu7m9Cmy2Z6LDc5
u1m4QkUKqYObui/ExlDRqBeCU5eGGJzcqts4Uik5DTmd6DTojNmp8HT49PxsQzQs/+P0X/k3mZZ6
dON5Raao5CVqy4TI9DXjP0y97GX+cWSQmgpN7c7XFWYOTrdX9jnvBBVDTV4/t6Ejm28vH6XE/pyG
mpw5Emi6nKZKTaQmYBOA+bOfMjJ/9BhYQIkQ/OjNMspvJ0j4XhSE5lEzpDu30NxVoVlKzclSs8sB
2r3DATLnOe6pznOEDlAdNMKDRulriJOZ8NEAZMJHA5FJoguyOEl3cTE5gZuCzRmMTe7RQ0OoNdp0
+aPmklBFzTDEGT3G5rmZ2/RAbrrspg8hucObLW7m/Kbsp/OA0zXqecJpwJlHnGbG6Xr1iJwbGHJm
dNbsFHhG9PT8bEC0Xe4H6r/SXMCUE0X/kEPrtcBUXKZf9MtTvULq5S/PX0GImgxNmGmmXyR353Vz
vtaY2ZtuNxc17fa5OalZrp/n0JHvz/N9uPN8f05DTbbP88EOf68DpGaiZsImcBOIScjE1hzGmcpM
OkfOq9VqE6PQlO784CKsZ6Tm1FIzdoCqA+0zji7Oc1yXz3NYB+gX1gH6fcsB4qCRyswlWWZeyDGC
hExQ3TN0NRsaVaj98H/3J3IqNg9jbJY9uorNvtHmIGw2qWnZ6TfUjeBkbmqbzq5Qr9x0Fz3ceLOP
m8WAsxCcYqlr+D2D05lD0quH5IxEZ27YmZ0xPDM9PT9jiHaU+4Hyb/y7fADT3Nx4QVNgJmAyLhMm
k9Z+5au4XvnKPLIAaqZfv4NmKTTXBWZ2p9sj+xydINwJioaaOXRU9+f5fvv5vj/XoaZmjsrdc5Ca
oDUZmwDMnzz55BMkM5mZ9+XHFfEJh9nUnBuhKd35IWahjsSFSM12gz4Rag52gI42DpCe51havJ0W
OkB/qBygn/7kCc6zy4ty9Aonnnk6Lw8qjhZk4mRv//1S7UsF30RwKjZxtqk9erePXo827fmjBjYr
as4vy7OTyWnBKdw0480BctNd9HDjTWOnG27m3LsYQ6ZRt4LTdersqdsZZ9Crh+QsROc/vbDNTg9P
g08H0JiizXI/TP51f5/vX2ZcZn2Zgcm8BGAyLhMnk9R+9WuoXo2yWw85wy/fQDMLTXSBfHO+Fpk5
BJqFfS5OkMTbo9BR1Z+7++1gBUl/LqEjM9S0K0EPP/o9kppCTeQmEROQia05WECWmTTQxObcCE3q
Rwtoan9eSs0poGboAIUH2o+NDrTb8xxP/MSGM3/XbM0paER5dvvSR074n07DTEHmQaSyYKyXi8Bp
sBn16GFoM482e7A5O8RmjMwFCxZU9GRyZnAiN69SbnKb3iE3jStk3fT8pbSXm3bAWQpO6dRz+L0F
TmsP1eSsRWfITg/Pf3BnfEuARhBtlf0x8q96Xj5/+XzFZc1LACbz8j9eTrhEWL4W6nVYr0XRrdv6
+EodQxMjRyI0XXO+do3zCJphut05QWao+YZwqClvXpT9ud5vPyvuzznerkNNe7Hjh0zNhE3kJhKT
kPkDGGcqM+0jDrhdrUKTUHHUDA9N7s9FapYN+mSo+ZXMzAkdaO84z9G3al499i7XRM9yo93p0pfC
NrYt4aZiU3r0bh/djTbPb7+QHsc2DTUzLMNSdhpwem66Nr1LbpZtut1ND7mZ94XEGDKNuptwSqee
R5xFq47gVMkZkNOJTkFni50Onhmfyk9L0AijddnvLP8O/pc+39Ayr0SGDXkSmMRLwGX69b4+1Ruo
4Js5kIUn9Qw0VWj65nxdYGYMzcg+52eCaCdI4u0+qblFfvNC8u17Gznloprd/bm9DZepCdgEbiZg
Pv5jQeajmZnmSdp8+CynuI9VaB7sRYWVmh3U/Moo1JyAA3RhdaD9AesAPW0PtHc5QBI04kc46eHi
C9kA0qzqdG1JwQNJtScWfEu4qdgcoUcvRpvZSO9Nuys0HTIXBpXZKeQsuenk5gVGbp7hNtONK5Td
dGMLZW7mHFI+IycDTm7Us+DsBWclOXvJadAZsPOfXljRM/MzA9QitMXS6tEJ/bH8b3uBXnPjgxsb
8IqP4yU35MxLwCWy8o2p3sT1Rvjlyy1S3NOvoanNeWOguXaY2ZduF2gaJyhfh3NDTRs6qvrzMKpp
/HMXOnInO0BqEjURmwmc8D+JmAmZzMwHiZn0jPfNlNDkm+SyYH1KElgWmpHUbI81RzeDApk5mQPt
P3cH2nscIAkawUMfC93RetwjpYMlqraRmAmWe3AxOJGbjM26Rz8q6tHNaNNjU8RmiM2AmhmZDMnr
q1J4CjgdN6823OyUm9kVym16toU6uVk26iw4t1DBaTp1C07jqhtwsuJy5Gygs8HODf6pomfmpyFo
QdGuyj9A/i357qWlJW34OF5iQ+54CbDcMNWbpTbMaSzUmhmahpnP0+Z8XWJmR1DT2OfeCTJDTb9+
3tWfR1FN3j9v9ef33f/dB7lB//4PwA1K2JR6TJH50IPfvZ+ZudI9SqvnIs88HSM2As3DihthKDWp
QW+NNUel5kgO0MQOtAcOkASNwAFateKWJYvTV4/raJpJMpM7c0r3q6ACXu6uxeC02ByxRy8cIW+k
N7HpoanIJEbeEJSwE8kpgpO5KbYQt+nN6WbQpndxM+8LyYCzEJw84ewA58YCzhY5s+YM0Bmx88X+
QJDQk/GZAeoYGsM0uKGuP/aF+e6lHCfKuKx4+UrlpeDyzW/eKNVbtOCXLgecX/faDM1SaEJzjgPN
wARaW8zsgWZrJygPNWn9vN2f56jm0Y2oZpd/jlKTtGYSm8BNqkTMH3zfMvOuO24DE4ibcxaa1J3D
SFOheSTZpdkspc+K3KBPATW/4pgZOkCTOtA+wAGCPHvxnpzcrHc5VfyaAb9+LeImY3PEHr10hHqw
KY6QpWYWmoJMJOSNUotSybcZnRacws2iTW/JTecKqZuutpDnpubecT9dBpySRMoTTrbUTaeewcnm
UNmrh+SM0cmy07HTwJPo+aINHD8zQQuKdpV+f/5XbOAOub0470P+W8DL1ygvCZdvectb3/rWt5nK
EdY3WmhSd95sztcRZjah2eME8VCzuKm5hevP5SVfjWo2rKDYPy+pSdik+gEjE8eZxMzbb12JA037
lHfqzmGk6aCZczYiNaMGfTLUDGTmgAPtgxyg37UcIFo154tGlGe/YeE82DQn0/yM007WU6JmH4q+
YKRfvJZys8RmR4/uR5vOEQrzR9WLGIaaKjQzMhWWixYt1qK/Z3QyOJmb2KdLm85y05jp1Wa6yE1x
09UWctw0d1fJGLKNuhGcbKnH4PwAgdP16jU5s0MUo9OyU+FJ9HzJiyt+KkENQ0OYuvvp9jjwi/LN
yxfzaSLdHldcikFOvHw985Jw+ba3vf3t78B6J/yi36G/blw1TdRkaEJ3LkJTm/N1kJm90Kx3gije
LklNvKlZ9+f8/Ln254fmqGZtBQX5dpGaQk3GJlci5vceJZmZmHkPMnPVimXQnLPQxO4cRprgAyk0
eWvQ5pldg95BzaEWeikzV8eBdpGZvw0dIA4azZ/Lz3y4p5Hc3j1pbPiVSzE3A2wO6NGDsHszf3Sl
f7USqOmgScwkZCoub/LF8MzgZG7ifFPadJCb2UyPNtNFbkqbnnfxMzc1vyn76dKoF4KTLfUInNiq
ozlkevUWOZ3oLNFZsDMrT4fPl7zYAjQj1HO0LvO9+Ee+WFCph4ncNuTLjb58reOl4PKd73zXu961
sdS73pU3TTcy0ITuvBSaONBc55g51D5vDDVN6KiRb9f+vG0FXeusoOpFykRN9NC/B9zE+h4hs2Am
NecoNLE7h5HmBfDOokATD/roizFqoHdSc8TgkUdmfaB97+EH2h/rPM/RcoAoaAR59utmz7zy8kJm
+kOi/ItOv2qpzE3Gpow2u3r0arTpjPSO2Ka+WslaU6GJQjMjU3i5pCpGJ5LTcFPa9IxN16UbuWkP
yHGb3sdNO+CUJFKecOZOvQInzjjRVddePSTnRmqSCDqt6jTsFHh6ev6bubSmAFWEOo6Glb8b/0j6
FzEr/+2lZndc5WWtLxMvEy6Blhtv/O53v/s9pvjXzNRUaKbuHGwgEJrrPDMDaBbb594JwqGmWT+P
QkemP7dRzfBqh0Y1zSXi/LoaUPO7SM2ETQInABMac0TmA/fdi8wEEyg15zctugGEZurOeaSJ0AQj
SA9H4ra1uQyWu9Td6HCHsdCHUPMrATIneKD9Jn+gnR2gMpzZ6QDloNG111ytr8mZFzgP0pN4MpLA
XzOW5abDZkePbkab3hEqjPQ4tmmpKdBkoQnMFGQSMG/GWqqFf0vkRHAabkqbTtNN7tLDyDvLTW7T
zXjTcFNySCZtsatp1I3gZEu9AU40h2yv3iCnFZ0enZ6dFp6Znv9ujq0pQRmhBUijyt+Nf2S+4GZg
Kds9Er/U+aXlJeDyPe9573vfl+r9VO97X96WesfbDTRTd85CE5pzbwKte8wc3QmCoWYZOor689oK
OsZtBTWsIJKavIAu1ERsEjiJmAmZKDOBmXfefhsMNG+5mYRm6s7BO7/iskssNOFNh2P5EJpKzWwg
l2aQDx4NoeZXQmT2OEDnsAMkB9on6ADRqvl9Nmg086rLL7no/Gya62Ny++7tY1b4ZSJVBidiE5v0
PRw2q6x7PNosjfQIm01qktAUZgIylZgAylt8MTuRnIabldysvHR3d5PlZh5vem4e6rlpB5xecLKl
3gYnuurcq7PkDMnJorNEp2NnAU/t2xmfL/t3A1BFqONoWPm7vVRAiah0sKRdyNfkONGb3kR2D7Tj
qRtP8hJxCaz8wAc+sEkuGU7g+dF3CDRf91rszmmiic25mkDrJjNHcIJ0qMnr5xI6Cvpzd7+9ZQVd
aKwgLzXz6+c810RsPozkhL88hMgUZt5xGzfnONHE7txDk94OAxkhT2G7490y3tttoIVeUrOoSmZO
22XQE70DD7T7K3CRA8RBI3m0WGSmeUtOj5QQL7UyNndTbPb56DLajI30ILbpXq001LTQZGYyMhGY
iZHLsJZz4d8wOgGchpsiN4Mu/dKySye5mdv0bAs5bsq+kHMPd9Wnn1Fw5k69AU6MI3GvzpIzIKeK
TofOkp0GnkrPjE8GKBNUGOpAWlf+Pvyj8F8hJ4kElrQKadKXiZdv8bxM6hJwuckmH/zgpqk+hAXf
YjcMXqUDqUnQfP3rXvNqFpqpObcDzXWVmYOdoGKoGffnJDWj/rx1wJ1fvbBSk65qOg==
aiZsJm5qJWSCzGRm3n4rNuckNBfMm3vd7GtmKjQhcoTPeutbODPckYZ4rDlxaioycQeo3wHSA+2l
A9QRzuxwgG5apEEjOGhkZKZ/Ss5oai3hpojN7h7djTaNIxQY6Y20O4tNpCZKTYKmZyYhE4EJpFzh
itmJ4DTcFLkZY7Ps0lVuUpuu3Mx6k3PvecCZ/8zsliecbKm3wSmLQyo5ecpZkFNFZ0ZnzU4Pz9fa
6xcOoIJQgahHqSnzT/kHvIJJSReJ6MgG09Lgku0e4GVqx0leJlwCLT/0oc022+zDuTbTkyZATYLm
mzfk7hyEJuba1wdmNqBZOkFx6IjevBjYn3cdiLNSk54KstREbAI3ub4LyEwyk5l52ypozkloQnfu
oQkbQdKfl1JTx5oDLfR+arYcoNaB9pGf6B3gAFHQCJ74cDJTH0Uym/b4q8TK3DTYVLEZ+OgHRxeK
W0Z6cP8IxaZozSQ1GZpJaKbmPDETW/OETCUmUHJlqlVc8O2VhE4Ep3IT5SZON6lL5+FmvGBZyc0u
buZGPc919B4rCs5OcGKOkyUnTzlrcqrotOi07KzgyUvchM/MTyEoIdRytF3yHekHvlruEb1W1sZx
EfJNJnyZx5csL5O6TLgEWH7kIx9N9f+oPirqGk/do9SE9nyjN2ehCc35P79og/WBmV32ed4J8kNN
CR319OfxVlDPAjpmNalBJ2rec+99iE3gJtcDgMwkM5mZt65cQUITbCADzUsvhpwm9+enfDs/u1iO
NanfmgJqGpk50AG6ZvgTvc0rcMYBgotGs66+gvPsp3zbykz7yrv+Al2F2IzEZjDaFEfIGOkNbGax
qdQEqQnQnDtXhCYwM8nMpDIBmUBMxuWttpidDE7mJspN6dIdNovk5sXuMTbbpntuUn7TDTjzHxy9
XrCLduoNcEqOkyWnNuvSrXegM2Qnw3PDNxX4fL1eEBKECkQdSn2Zf04/Qo8R8YUNWhrHNciNuBv3
7TjJy6QuEy6BlZtvvvnHoLbA/2UjDGYSKDVBab79bdCdJ6EJ1vnLZKCZmfnXtAi0LjJzuBPk1s9f
9nJZCjL9eZ8V1H4rSKQmvkqpDTpQE8VmwiZwkwuRmWQmMxOacxCaqTuHkaaFJqxRSn9OU83sBcVm
0CSoucMgB6h+ojc40D7EAfo57wCVDpAJGoUyMx/Bw4SAVIjNZo+uo83QEQqx6U6702QTqEkNuoEm
CE1kJsnMhEwgJvHytlS3c8G3byNyIjiZmyg3pUvvwualxdu/0qYP4CY16tkZEmetA5yS42TJiVPO
FjlLdHp2OngKPR0+35ivCAlDDUfbJd/x9XqK6I3CSoGlZC85TJTbcZKXhMtEyi223HLLj2vJTAKp
uekHBZqpO09CE5tzGmiuN8wcOtSsQkeN/jxLTYFmM3V0fvhWEHtBq0RrgthM2ARuUt2HyEwyU5hJ
QjN15zcsNNCEcDv352eezlKzaNCdGRQGj4ZTc4daZnoHqHiiVw+03zzwQHv4DpB3gOCi0RXoAOHd
TCczyyfeHTEzNxmbfT16MNosHaEwtqk9OlPziitIajI0sTu/HueZJDMFmQhMQOUdtpidAE7iJstN
wiY16fVs02BTunSUm9imy3jTcdMaQ7ZR1wmnP5dVg1MWh7Lk1GZ9K2VKjM4PaFCH2FnCE+jp8In8
3FAvCWWIWpL60n/K3x9/7IaCSmIlwpKT6pIlgnac5WVqxgmXAMuttvpEqk9SfeITegQKqInQfO97
Nn4XdOdJaEJzLgNN3gQSZq6rvfn/GQrN/v68K6rpF9CbUlPf8rXUZGwCN6nuRWQmmZmZmQTGTYth
pKnQvOqKyy+7hPtzkJqn4fnZskHPZlAZPBqNmvx/1TJTHKDqQLt7ovcOcoCGHGj/b2jNuxwgDhqd
fNIJRmbCACK7vTmFmquJTS82q/hRMdoMsXla8ES6UhMadAPNBTTQxOE2/jlIfxBWETETJe9MdRcX
fPtOIqdwE+XmAGzK0c3L9Ml0lJu5TWdu4nyT8pvIzZbgLDr1EpwUR7KSE6ecleZkchp0YsPu2FnC
k+mp+HzrWwSgjFBiqAFpWPJd6IdsJMc1aGP87WatJ2eJNrHyMvXihEtg5dZbb/0pKPj1wa9QXvH8
2OYgNRM03/fed29MQhOa81e+IptA6wkzu5ygcqhZhI6q/rzDCrK3iAOpeY1ITfKChJrgBmVsct2D
yGRmMjST0CRozkNozkpq4nLuz1FqnnGabdArM6gVPDJ4qam5gyeml5ldDlB9oP3+4Qfa6ytwzgG6
+ELNs3M208pMShZ+rSSm4SZjU3v0Lh/djDYLbB5bxzYJmyw2hZrUoBM0yQdCobmI/xDgn4JVTEzE
5d2uCJ0ITuWmxWbdo4fYVLnJbTpzk30hyb1Lo94QnF3gxDhSlpw45SzI2UJnzU4HT6an4DMDlBHK
EFWONou/F/2YtxEp307b4rgCiVs97+VmfBPyxkVepmaccAmw3GabT3/605/R+rRkrhI1k9QEpbnJ
B96HQvMtG22IzbmaQBLQXPeZWUIzHGq60BG+eYFLQaY/p/twXVZQFXBvvYBeUPMO+mS5R4s/W9Kn
ym1ZaC4xSvPa9HlxFfbnF8NtG8gwn2Ea9NIMcsGjJjV3Cqhpa8csMxsOkD3Q3n6itz7Q/ofqPId7
B0h3gNgB0qARrgAdeIDKTM7GuNS+VMZmZ4/eN9p0Rnp0/4jFJlETPHQLzZKZy7Exlz8Dd9OfAfu1
k/8sIDhvv91jkyyh1mjTYtPITcNNnm+eRtwMGnURnL5Td1EMmYXQ4hD26jzlNORsopMbdsdOgmdJ
T8En8hMByghFhmaOtou/m57VAFlJrMRGnHPqFLwkbxzkJXXjjEug5Wc+s+2222233We5tlP/K1Ez
SU2E5gc3eT8JzcTM1JyLCbReMXMiQ01eCvL9uYtqhlZQDriXUlMfC1rInzKsMm6lFr3QGCgwhJkG
mjcINGfP0v4cpSYY6NKg6zalHAHjW92dcc1eau6oMlODRp0OUPuJ3t4D7eoAPRQ6QC5o5GUmKZ+a
mKNgsz4aV71Z6fJHxWl3mGwaatbQ9MzUZgOBaWc0eVAjbQfJzYRNmm129OizyxeFRG5W3DyTuMkD
TmnUneA0nXoJTjGH+GtVlpzcrFO3vn1BToNOlp2OnQ6eTE/AJ/BTAUoIZYgqRzuKvx/+oHe/m2Xl
e2n/EXd6JHjJ6pLk5VZbQTMOuCRafvaz22//uVSfh4JvcOAqUTNJTYTmZh/6IAjNdyah+WYYaIIJ
VDEzzhqtbU666odmXj+v+3PKt8N9uNoKKlNHHVIze0E61szUvMOMsnJLxp8ipCsUmvPmJmhif37F
ZSw1zz07N+i8TalS0wWP+kPuMTUtMv07QP1P9JrzHE/FB9p/b8OZsQM0jx2gImgEK0AiM6dJBFuI
uaOWxWbYozdHm/vtHz71G8c2QWxii07UrKBJQlOZSTKTkJm9QJuhYE/wXuZmVpuV2FRqFpfj8oPp
JTfPzdzUASc26llwyoQTO/UQnHZKLpLTkPNLlpwOnao6MzulZ0/wdPQ0+PyA7HcTQYmhmaPt4u+G
P0Y2xT+grCRYYu5SrHHoxgGXnwJ1CbQEWH7+81/4whf+Ewq+JGQ5vd22IDUTND+2+Uc/vNmmIDTf
RcyEgSYY593MXPdk5v/pHWpWoSPtz3X/XO63ZytouNTUDXT2gthBF2qush6AVJ5iidDM7TkPNdE/
x6kmeUHUoAdjze64ZouaO3piEjLNNLPtADWf6B3pQPsQB+igAzWbuat25v5X0cJmLDZ3K3r0fexo
0xvpQWwTxSa26I6aDE0Umvl3Py848IaDzeriegPmdTV+5rFpxGbdovv77gU2PTfPydz0jToLztyp
y4gzg5OfEtnT9upZ61tyhuj0slPYSfB09GR8Cj+JoIhQhqhwtF30neiHbIKkJFTSRs9HmJYoLlFd
fkJxuS3iEmgJpPzSl8z1Gs0MbA9SM0Hz41t+LAtNbM6Rmf/Rxcx1szWHGjrUbPXndL+9YQW1paZZ
CxIvyDbo7AOsZOuUsyYIzOyY8gSLx/6Y05yn/TlJTdug0zZlOdaMg0dNapbAYeZ409xdget/ovfx
n/SHM5/B8xzkAD3iHaDZzgHSoJGRmeazNfoFDMVmx2gzyB8VN4phsinULKHJQjNeCruPl8LKXVrc
ps2bDnf7oc3yZZEfNC8/JzTLYNPJTc/NolFnR90KzjzitOA8gF5G3lt7dfN+n5KziU6VnZmdBM+A
noBP4ScRFBHKEFWQxsXfY1NdEqfdR0Ql7PNszrFLccYzLj+LuEy0BFiiIap/mnbYQS8/wYHmBM1P
fuLjWySh+aFN/ziYaaA5IHT0jxw6gv5c9s9tVDOygspdSpWauoGevaD5hXuaEycCztttOo8lhUJT
hpoqNblBRwf9dDzcMSI1XfCoKdOkM+91gCZ/oD07QCtiB8gEjazMlM48VMqKzf4evTHaNPmjILYJ
YhNbdOnQz4XfeYHmLBM5q2623Kc3Wx7imy10tQXuttAVgrwgdlcPNRe4RzEUmyo3e7jpBCdb6gE4
sX85mMApLyST5PQvn3ahU2Vn1p0Ez5KejM/NeVmRCEoMZYoqSeuSf4zfGX+ckBLWebbYQlOXn1Sr
h3H5OcElwZIaLSr8PMHL9l+G+8wAzW0+9cmtUGhycy7MfEXATLyf+dx1nJk9Q00XOgrz7YUVFKWO
uqRm9oJmS4sm1LxFtkFwF+R2uwtyq7dKDTSt1CQviB10WQwKLPQgrllTMxSbQhqRmTlo1H6id8QD
7d4B+qF7B0iuwFkHyAaNKpkZGlkxNr3YrONHHdgs80coNpWaIjUBmjDTLB5y5tf1bldk8pUrvQ3I
BwLxqGrGJu+I3WkMwrpDV2o6bHq5GXGzaNTNhJOzSDU48aux9uo65bQrFDU5DTpZdmbdSfAs6bkV
rdwoQAmhBFHG6EcNTLXyP6DvuTnvPW4h2zxbKSzFGN9OmnHFZfozQ3JBd8kkcYIPKSWtmfrzz277
mW22ZqH5QRloFsx8gWXmOm2bSw0Zapb9OeTb8/12ZwVFqaNKasoGOtzVNF7QHJc64cGm2aHjuvVW
n2auoXkNUvNyatBhL+hsXgw62W8GBXHNIdQsfOdSZu6DMjPYAZr8E73kAN1ROEDnVQ5Q+hwtZCYj
s5WX6sVmdP2oN7Zp3vq11DTQvEreicKBpjDTPRNFt/vN8X69RU3cRGzKNYKCmuwG5ZNx8w01GZtW
bmZu6nwzFpxqqZsRp5lxchyJyHmAkHNvT84Anao6LTsNPB09GZ/ATwToVh8XhBJEhaPN4u+EP+Dj
QkrY5dnawJJ88c8FuIQ/HvJnA/500E1ren8OqAnQ3H67bT9NQvPDONAkE2gUZq5tPobVHGqG/bn4
5/9m+3O2gtqpo1hq8l1N/dy5tsjqFavHSE691aCbc0sVmp6aV3GDfhE26MYM8ptBPg==
rtlLzTrg+FX6wyPTTJaZTQdosk/03ofnOfQdILoCVzlAEDTKMrMTmW2xGfXolSPUt5EOYlOoqVKT
oal5s7n0th4wc8XKVak1Ny/rPcxvROVHouCZKH715BE+SO2pKW6QfEFdrJePhJoqNgWbKDeFm9YX
Chp1Z6kH4DxKwCnkPEiadenWm+hU2YnsZN3p4cn0ZHwCPwWghFBkKFNUSVqX/ONPyM7j1rTKsw2x
0oSI0On54hdhdJn+pNgFDh11S8mtPKAmQvNz22+HQhObcxhoknHeYuY6b5tLDRhqhv053m/3VlA7
dWSl5jFOaooXJA26oSYNNusbN6vqKw2cLUFocsD9aqbmRTTWVDPo20WDHofc6fc/oqaCc2eLTCMz
9X6o2QHSJ3pHPtD+DB9o9w7QTT0OUCUzDTKr/c+RsVk6QtVG+nT/1q+jJvbn5/kl2nkw0GRmUmse
P0ZKDzjri6SETRKbdGAVr7jcLmm0okHPHTqLTcGmkZuOm75RjwWnBefxFpyZnCo5m+T0X6F5/ryj
6dkTPEV5cgRy+886fhJBEaHIUMEo1ydzmf/3U7zviHs8uMizLbEyw5Js8a8wLnkMhXOo/LWTaw+5
+JT+2BE0//MLqTv/9KewOd9s000sM9kD4n1zfg9oPbCApCbRn1sryB6I65WacsLdekGzOOLsbjZ4
bGq5k2DSg2EgzzXoeaypZlCwGRSE3GVmb++oVRvbO3/1q9KiZJmpQaMpdoAeqxygazodIHvlkT8B
PTFLbg4cbTpHqMCmN9JZbDI1s9QkaGraLDUY8Ht+4+KbmJn0FikhUx69B1r+SIrIydgsqEl3XG6L
pKY26DLYlB5dsancFF/IDjjNhLMbnJ6cTnIyOUN0yqtN9p0q/r3bgeGp9AR8Gn5uLxs4xFCmqIA0
LPke2yImaY1newync+Dyi2yLe3E5DX778feexzPwew+1N/9S8It1+nOXoPnlL/1n6s6xOd/8ox/e
dJP3v2fjdyozIZ8JNzr+8QXPr9aA1gNm9oeOiv58A+3PvRXkUkcNqSkb6CecdDIn3NkL4gZd0pr+
OthyvkC7MiOThKaHJkrNeKypZlBsodch992LP8P5MpBd1hZkWpkZOUB9T/QOONDuHKDrmw6QDRpZ
mRkjs4ea3aPNPiOdxaajJkPzXPOyHjXnykxszUFmIjKTxgRi/uhHP7aF4GRs4mPOD8n7J/eo1Fy5
0kFzkX2wkrSmiM0mN92AMxKcQ8FpyFmJToNOKzvLxJt+4SN6Mj45Ro4AJYQiQwWjn80wzZX/AX7H
z/ESzxcomw6sFFia+zPfYHGJv+XyG55+x+H3HH4d++kFB/xynZTmjtCdY3O+1ZYf++iHP7TJ+99L
zKRM+0sLZlLUaN23zaUGDDWr/ryIapIV5FJHHVLzaJGaFDviRg0bdNkMYa0pp7vz5W4pfu/AXwPL
U81irKlmUNNC76amFZv2ltrX+atvIDPFAbpIHKBJH2gnB2jZzYtvWJjfAXJX4NABykGjUmbGt5N7
xWbXaLOBTRWbRE0jNRma/JsO1jk459ffuAiZuQqZSTKTkZmImTD5+OOPP0GVvvU4chOxaal5v7wa
dYeD5s3+nrvRmiQ2jdwMuekadZ1wtsHZQc5CdNbozOyU95WnRW/98W/oVzJAkaCIUIKogrRR/F14
g4dJqXFLDdHJ5FLFpT7pjL/PWgfIPXv8gp2U5leT0PwiNOfbbP0JNIFKZv7rv7wY77SvdxYQV2Oo
2dOfm6gmbgVp6kgD7k2peZRITYkdXSThEzvWdNRkbK6wzDTQzBtzC+sGPWfc3T7lhKgp3OSjvYzM
QGY6Byh4onf4gXbvAN3S7wA1ZGYDmasFm+SjV9QUaNJrpCA0Z11zLQ40lZl33nXPvfc/QJ05IDNp
TOTlk1pETsQmUxM6dGrQ770n3wysoalSU7Wmx6bnph9wFhPOJjgryWnI6URnic7MTtSd+CfQwNPS
s7pYmH97ZR9H6otV6T/Kz6jybzwHjtUUp0mMikt3FBC/LHIdfLBeZQapmZTmN74GQjM15zjQtMx8
ozDzJcjM2DZf52UmVC80TX9eRTXVCtLUkQbcI6kpJ9wx4Z69IG7QZ9lzN0zNm+kpwupdrRXL/fMw
i6VBnx9Q88LaQh9ITfcImX8dQmc8IjPzc5NT4AAVT/Tei+c50AGC8xz0DpC5Alc6QIXM7ECmw2Z/
/Kg/fyRik6hZQvNMfvceJpozr8GBpjDzttvvhNb8uw8qMpGYTz75E6if/vSn+FcEZ8ImUxPmmiw1
Q2hKe+6hCdRksSnYLLhZC87CUg/BqZIzImctOhGd3LA7dorwNPBkesozovLH0ec6zFZOR/mU8c7S
NtEIhmFpWvH6zsChsMUABd+S26L7wdfs1J5PI6FJA82Pb4HMxHnmhpaZLtK+Po0zqYb3520ryKaO
NOAeZDXltaAcO0JTgB30mdeU1Lyp/R6hf4zQHGdgB91QU8wgukjcGXIvqLmb65H8643TZJi5p8rM
xEyQmd4B6n+it3Gg3TtAt664ZclicYDseY7KAcKonJWZPcgcfbTZt1oZUFOhSd35JWCdQ3NumHnH
ndiaP/SwIjMRk3D5M6qfIjkLaj6KwSOFJrfnaAQtDaDpqanY7OSmmXC6Tt2CU+NIVnIqOblbt6KT
VWeedYruxJ5d4SnK0+DT8HOahMr1S7qMj3YOywyXmg+cmN9Om4qghS8M4R4BW1/4F8oHkCmA0NyN
hGZqzrf7DDLzI8jMdxAzXwVRo3/VqNF6aAFxdYWOgv7cRjWzFWRTR5HUtHc1TcI9N+iXcYPeoGaF
TXn+2r5EeKNx0DM11QzKFrq/eNSmpgbp9Ku7+3OGwx7aNMevBxw0ylfgWg5Q74F290QvOkBynmP2
rKvqd4B4B8g5QKHM1J5swj36AGxSi47ULKCJv+N4FPDSyx0zlwMz77obW/NHHhVkJo2JvPy5FoIT
sQnUfOwxguYjDpp6aXVZ3Z1naCo1EZsqNy03XaMedeoFOLPkDMmZRSeiE1Vnlp3CTm53GZ4FPfeS
bA/xUwBKCKU/p9V79nXR96JEOpKyfVbAXhXgayyw68V15JH5swegmTodFJqpOf/C5z7rmbnRhm+E
+5kSNeq2gNY2Evurf6iJ/XnLCnKpo6bU5A10eZjSekFJeJCDfmV5kJaoCYPNLDYJnPwthqZ9h9CM
Ne0S+kX5TJxQ00jNPmru4v8s8l4hIRM2zUVm4nOTxQ7QAAeo+0B76ABha97tAFXINGdoInD29eg9
+SPq0YWaoDUPEWoSNE+i33ARmtScL0hfUxIzVwIz77kXWvMkMxmZSMxEyqdyETYTNZPW/HGiJkLz
0RKabaHJ0BSpWWIzc7MWnD3gzHGkLDkLctbodLJT2GnhGdCT8bmXhCORoLtLupxq11bxP8fvjD9u
D55JV3sK9X1pvMJyDFwUwDpGVqCAmofwn8EkNKE5/9J/CjNTbw57QG/daMM3CDPJNl9/x5lU3f35
Xzb6c94KMqmjLqnJx45Mwp29INOgX0HHFYs3tmiwacSmKdOfmy3jcKzpg0fVxaNOau6av4pPy7hg
ZFqZeSzKzLMwaDQBB+h30RO997kneq+6Ah0gDGcOcoBCZMbYrMRmDzaj0aaOwJCaGZrHqffHE01l
5mJgJtjm90BrjjKTkQnEfOqpX6T6ZSr4K2MTqYlS00AzFJoBMwWalpqETcPNUnCWnbqCU2acpeQU
cmbNWaITG3bPzhY8Mz0P0ISPApQQyhBFilLtXpT+A/qOexEoKWS7734Ey4CWfLIKUHksXOTXout4
6afN0IQ/hHtAc77TDl8GZm7zSfKAiJlwc9jY5uuxBcQ1UGqaqGbeCsqpIw64213K+tiRiR0dL+2a
bdCNGRRTc1kJTZWafqwZUlODR0HI3ayhl9TcTfsfLp6UEzJBPrPMPO7EHDQyDtCknui9Vw+0GweI
wpldDlAfMnvEpu/Rh65WZmqC1iygKXdUz83NOTJzCTITLKAHHnz4EZSZgkwgZsLlr7AInEjN1KFD
gy7QjITm8uVVc26EJkKTqcnYtNxsCs4mOAPJWZJT0SkNu7LT6M4CnpmeHp/CTwQoIZQgKhxtFn0f
/P4cs0RUiiM+3XXiTEt8vQQO8Z9wotQJ/N4cfvYcThHhfaA5/8bXdiZmfgqZuekm73v3u97+Vom0
swWEm5Pr3RaQrzY0O60gTR25gHssNe3DlBw7Ok76NWnQMXd0dW7QhZqLPTWXVdBUai62Y82u4JF9
/qJYqCypqdgkcO6qkABrMSHTyMzjT+KgkbwDFDlAPU/0xgfal8gTvaUDNH2YAxQgczRsho6QX63c
3dmt+1PwCKF51NHwu30iXexPQhOacxxoWmZya44yE5CZRCYQM9Hy11TETaYmSk0HzdGZqdQUbDI3
G436QHBG5FR0Fuw8qWSng2dJT7KqEZ/CTyIoIpQpqiANiv85fl/8cUhKCA9NF1hGtMSnReGVvG/D
a/bIfHn9I332ADTxj+G+e+/5zV2nITM/T8z86Ic3/cD73v3Ot0vU6N9fqhbQ+jzO5Orrz70VlLeC
IHXkAu5Nqckn3G3sCL0gbdA5d+THmrwbJNSsscnQzA26G2tW1Lzg/M6Qe03NvOImc6LdRFZhdg3Y
AL8ekZk5aDQhB+g3XU/0zrYH2nsdoAHInIIePfBdaa4pUhOgmT4F2fjDIy080AQTyDMTW3OSmaAy
kZi//vXTXMRNoqaDphGaBTNbvbkwU6GZsem4OQI4W+SM0VnrzgzPNj0Zn8pPEaDMUKZoRqkr/Uf4
PfEHTUdUqiE+g875VbREUp4Cb9hz0aQBpgwEzSMOOxSF5p677zbt66IzP5GYudmmH3gvR42cBbTe
t+ZYo/TncepIAu6F1NS1ID7hbmNH6AXZBl1yR9YMGkjNpZaaN+R1Sk9NDR61Qu4hNffIRiVN0JUN
0JnnvD7KzLNBZpp3gLID9CN1gKbgid7GFbiwNe9A5kCxOXC0qTvJe+9DU02C5owjxfc7TZpzMIEc
MyGd+RC05iIzEzKJmM9IITcTNS00s9Dk5jxgZlNmOmgG3CwFZwRONodKyVmSM6Mzs9PpzgzPUnoy
PQ0+hZ8I0MNzXJIpqiXhc/d/HqoRy8MPZ1TOOFJgGdASWXkaPMKci04xc/7kaPjaPR2bc2TmjomZ
2yVmbrn5Rzf74Pvfi7Z5toD+OMaZVBE046im3wpyAfdIasoGuku4H0TS7JhsqGqDLo/GzNZ3sBvU
XGag6am5yFGTLXR+09dQM45rFtTM2GR7cncxPKAHBc9cbpAcrzKTgkYNB2jIE731gXZ1gPQ8R+QA
Fa35AJk5hdgUatIHB6XmAfjRga+Peq4fmnMxgebOX8jMRAsIW3OUmYxMJuZ/cRE1AZq/QGgWQpOb
89vlWedblsZZoyYyO7hZCM4InCw5Mzmz5vToBHay7qzgycozS0+vPQ0+j5bADxGUIw==
k4zRjjqCE5YzNDp0tIFlRUtk5RlnpJ/nmWdRncmH8U7lc2HHHsNfvPdnZoLO3O7TwMyPfOiD7xcL
qBhnNtOZa5uDo1VXf97cCsLUkQu4V1JTNtBtwt15QRTW1AadxpqccefgEV3vMNS0YnOZbdBbFjq/
6euo2Qi5KzXlviZjk8C5h0TZ9pFhJnfmJ7DMvABlZvEO0OhP9ObzHO6JXnWAjhnsAPUic7TRZugI
5RadRTh9RYHBBX586IQqM/OCiy69/EphJvjmtwkzv//Dx1BmCjIRmM9SMTWT1LTQJKGJzXnBTDoX
uLiItHcTs5ObfeA0kpPJaUQnq05gZwOevm339GTtKfgUfiJAkaDMUKZou/h74Y/g6NCxBpYFLRGW
Z52Vfo5n54Kf8Zn5xuJx36Kv3umL9157IDO/BMzceiuMZ77vPWgB6RbQP7+oTmeurzITakh/3kod
YcC9kpr+2JFNuDsviMKa2KBL7siONUtq3lxSc5mTmiat2bbQu1eDNHmk77tIIk6SGntz94nN5xG0
aZ5lJgeNzBU46wCN9ERveaDdPNFbOkDTJiozm9Tsx6YTmzlRkKEp3TkJTWrOL4AP0dWZmRDPvFdb
c5SZGZmJlv+NhdhM1ERoQnsuQhOac2XmHYaZ+WC73QLqomXAzUhwFq16JDmFnIJOy04HT6Hnd7ro
eYpaL6o+lZ8IUEKoYrRd9J3wRxx3nPHDdWyZaXkW0PLss9NPD3+e5+rPN/1kz+Lh1kkn6mA9M/ML
22+LzLQW0B9TOtNWT3+erSCXOpKAeyQ1aQOd72q62FH2grhB5yMOnDsqxpo91FxmpKY3g5oWenGT
uEXNA/TmIefg9tIEMM/rphMRjMy89IqrbdBoRAcoeKJ3SfVEb+EA7dHlAA1EZq/Y7MHmN/x5B4Im
d+eH07z3RIyvng1fVi4zzIQ1ILKAsDV/8ifcmT+NxARc/iYVU1OhSUITm3MYaDIzyQNakZ8nXVRs
mw/hZZubDXCq5HTkrNCJ7HTwRHpG2vM7FT3N3FPxeZIEfxihQtGOou+FP+LEE8UPF4+HaHkGaUug
JZISf44XXJBhf252BFBoQnMuzPzaTshMiGcaCwjGmS+rx5nrbdLI1sD+vNgK6pWafMKdE+7OC6oa
9HKsWQWPqg49V0TNhZ3U/E6Lmnq9Q0/F7mNCbvuqxTH9MB7MYjbTykwKGgU7QJ0O0GhP9B44Va35
SD16445HBU3tzvl3mZpzMIGEmdczM8E2h9Yc1Di8/aHIZGBSATWT1KSZ5lM/1+Y8MxN8cyMz7WNq
Zv3HwBBqIDdLcJbmUJacrlvP6ER2lvREfF7Ywud3qrmn4FP5iQBlhDJEc51gQ5VU9P00OHRK9ngi
WqafF/z8LpLiq3gKzZNPOoHGRMjM3YGZX/ni5ynSDhbQezZ248woabTe3IFr1bCopksdmYB7U2ry
CXdOuGPsSLygqEGX3BFn3E3waDRq5reuo+BRvVBZUfOQg+2xw301EEzXXg7SYR3uNZ1mZOacJDMx
aNTrAE3sid7GO0BBaz4aMieBzUxNB80DzcQXLpjA1xXDzJtuXrZi1e0gxnGc+aPHn8BppiLzN7/5
HymGJihNEZo80MTe/P777oV8JrTmgkw+459PDpe4HMjOPnC2yUnozOxkesb4vKjEZ3vwqfg8TdI/
ylADUlf6z+j7nkqoJI9H5pbciSst088p/eQu0aLNJ6Qm+gEgNPnyNTJzV2EmWUBmnPlHlzQyVUKz
0woqA+6h1MS7mvRakIsdGS8Ip13GQZfcUT7dkS30YdQszaA2Nc9pUlNuuedDhzkczLcigQYzjL/B
MpMuGmHQyF+Bm4ADNMKB9imQmSNj01PTQHMPvvkka1J55HtOyUyMGtFXFmrNWWY+S8T8LRZTE6CJ
QlOY+SPHTGjNjcy88YbiSLuBntYwcs7pBaclp0EnsZPhSfQUfnYANBh9Fq074hP5ecbpSlClaKP4
u5xOpGRWsskjtDyfaEmwTD+xy3Lxux+sNpLQLJn5ja9i1MiNM3M684+xNcdqQLOZOip3KSupiSfc
7d0O7wVpWNNE3KVBd2PNKnjUpubSBjWvC6h5bpOa8m6QPOhyQF6koH3q6bTlgpuBp8BBIyMzb7xp
KQWNzDtAE3mid9n/z96bBu1dZued01VTk8TlxDPlShxPMp7KzCST8VQy5XbiVOIkE2/jeG977Hhc
7rS7WcW+CoQEYhdICBASkpCEdgntCAmhDbQgloYGemFvxNpNd7tt90r397nPfs69/J//87zvKwnp
uT8ESY2DeHn1e65zruuc03Wid7qu52g5QCMhs07Nrhkhg6beQ9DRUnT7bgrM5GiBfJWe/jxmC16l
0lxkJiETePm97zE2AZpUnSehCQ1NZCZ6QC+9+AK2M53MlF3Uj9h+dsUcvwY6hwJnlZwenQJPwacC
VAhaSNDVmXPUoCfic7FGgAShCw2k+tz/sEiTQ2yIs7ZcRrREXCIt028m/a7W24Pf4xr7YwNC824s
erA2v/IyZaa1MymdeTqX5viGsoLKWcpMasq1IJ9wd9uONKzJBTpH3GPuqMtCr1Azb2vGuGbnGHqk
JttBs2bqoK8OVei2M44e3nMvuxtOZuZBo0k/0Tu5DtDo2HSn5eRCoW190tlSGpRaSMxknbmXPlnQ
Nn8FXXOSmYjMv0Zkfo8fQTOV58LMD4yZmGmHdibJTIdMPjqpm9mFbPgq6JwoOPX//y2BnUpPT1Bj
aFSh6xq+e812X6r8JIAKQxuP/5YljMql5IeHUpy1JcISfk8b/W8S7szJn5okNB0zr03MvPgCts21
nflL/4qTRqdxaY6vVZ83U0dIzZ+tSU1e4Q5S0yXcMy+oVqBz7kjbmh0Weg9qioVep+byJjW5RL/e
FsPOkBld2qpLY4GSPCQBxTLzIMNAg0aFA/RRY0H7W8WC9u1xQfuUOUBDYTOjpkpNt8OerHP5zwvH
kvjAHDFzF2YLsOn7Ircz30E5zjKTkfn99Iia3/kOC82CmWABQWmOprlDphIzeDb0cnYOIzl31MlZ
oDP8Izdnb1MJUofQivXeqtw5BkQEXeo46p79TxIdIkt8hYrLVSouEZfp9wG/I/8b3IjU5D80S6E4
N2ZefcWlF12QtTM5aXS6l+b4BlhBvaUmLjuSw5Qu4e5G0HlHXK1Al9yRpjVHNoNyam7tS00u0XUp
rE6j6R7y2+Wc5v0U1oZB6p24ONOCRq+DzBzCAQoneve5E71LshO9VzXXc0wKMhvYzMWmSc3sVtJl
uvdptl7+MGZuf9i+TF94iToYJMfxswWRycRkan73uyo0lZmQzwTbHEtzlJmpMnfIfPhhAWZBrcjO
iYIzdEp9/b+1/rZkL4K0SC4VYflVwXVn40gQ2vWWW3iILXFfizMuCZbuq4S/M6Ym3oxZBsU5G5I3
Xn8dMnPauWf5duYZU5rj62UFxYD73/8H//Bng4FuezX5BrrFjpwX5MKatQK9aGsOaQZV4poccm8t
7wjUZLEpR1yul4lduEh7E85Rc7qUBqmBBSozIc8uo+bsADW3wPU80WvhTFqLMDUO0DDYDNTMzxhn
K5kDMzOj7KUvS7gAnbK/5B4GEvMHP4DPle8TM/+Gi3PHTGpnqsxMlblDJhNT7vKG59k5SeCsmEzb
+r5A09aMpg23r6m47krQ9uO/beVKM8ULdYlfGvmiWKwKp+nwFDb8iXmAmQlZo+uvu0YsoFppfjq7
5vY66vMsdRRnKdVAt72adJhShikpdmRekOyIaxXorbZmP2o6M6gyGlS7tRapyWLzZreRi7YbIDF1
BfkCmaNeX8jMatCoWpoPvaB9elzQPiUys4nNSM0ITbtj7K4lBWbmGVbt+lJpzsiErxQSk6gJXd/v
BGa+ffyrb77+GpXmKDPBAEqVOSDTEmb0p933EeU5dE4MnO0Q0wCbvvq3ZvnPYvlxNqXpPXcBaPvx
37aaYGlOzwaSl/j1oC9FaPTCb8h0xupUmzlmzp41IzGT25l5aV7s5/jYXgIa+DqtoCzg3iU18VqQ
S7jbYk2bC2oV6DF3VG1rgoXeouYThYVeDFRWVx4ZNUVs6gkC2XFwsx5VRMDzXsh1MUIDMjMPGg1c
0F6c6N1lDlCvBe2TLTN7UfMsd/EVhCZ2NJWZdvw922Ki46Umx/Gz5dtcmRsy6ev0XcdMzBpROzOV
5iAzqTL3yKQ2zGZ/3ocfNQ6NnJMCzi54Nv4vd1bn342hTE9jZ7mNLkTm16we9Pjvw/+bdWL1bHS8
VFzq75h+N9vcma1VDy5fBsyEsufWmxIzwQKidGZ3aW6z5qebzIQ3OVKTD1O6hLst1rR1xBzWLAp0
zh1xW3Nj3tbsbwZ5amajQfzJuapGTRGbfGzVrTq4FVbBpN8nI5MmAmGV7g6QT9ame9mCRt+sBo2m
ckH7JDKzhs0Mmk5ocnHOtz8KZvKC0d0+kEVOWfhskWkp/DKx0Pwb7We+/x7MTkI7M5XmLDOhMj+w
3yNzC7XhNvpoDz9lp5KzDs6GRuwkZ+M5Qj4SnmwQkWcQ3aEHMll3FkfeKpl5l6h0hJRHf6d8DTZy
93Kz8pL+TcNvl400ubK1BhuaxMzbb72JLaBpmDRypTkF2nXW/KdP69Kc3sSlphym/EWQmr/MCXf1
gnAuSMOa1QLd5Y58W7NmBvWl5p5BA5VGTRWbc/heIKCTdsLA7qw756pj5bZC7uIETZSZtTtAxYle
F858fiIL2qcEmTVs1qDpi/PIzHj7Q2elYgvDSnOHTIJmYCYs6Tj+FpfmEDQCmZkqc0GmqyQ2hmo2
w8YJAGcFlLv47W48+l/d8SIWnqo6q5uV7FNhXevVPi+sfcm8pN+z/E7l7hwPhcCCsFSXrZDP8Ntv
ufH6mdTOxKSRK8151tyvgTsNNrR3v56po4rU/McqNcuEu207Qi9IF3e4Av1WLdBd7ihra5ZmUFiv
OQnUNLEpN6pv1wVadyAx53tkYmW+g5dCejc4Bo2+l8tMOtE7BQvaJ5+ZJTYzaFpx7pmpZznv1bOc
m/NtebTG5H0tzdUqU2g6Zn4DmYntTHDNSWYeexIq8/37AjLR6V2vvol7is4MnFqql676kOB0qnJn
ZCWB8VF6e2oP/xfBp13LzMgZ0BknjmJuPvyS9SX4X5V5uY31Jf127ffJO6EAmvAl3biBmLkEmUm2
+TWYzsxLc5g1xzVwcNj8NHeA9H2iU2r+rZrUtLEg2KuJhynzhLt6QbYjrl2gd7U1h7fQe46hL6V1
Vyo25+mZVdqihesGgZi8ZR4v0PJhsD0S1I4y0ztAPxzkAPVc0N440TuVyCyoqdDsYiZkjeYgM3XD
aFxkX2374hfKfaWki/GX34TZyffexdL8lZdFZkJlfvAAIhPqciUmANO5zIUFsrYBzs11cDbIOVhd
Gi0NlY/R21s8/GWhp4IrA2eIUFUnjooX7K/Nm4PfwwKTfqsO6rt5AJU+h1JxDiZQqg==
e+Abcu4daAFNvxKSRlaa47rhejjz4308rc/rmTpqSc1Kwt15QTGsmRXotCSu1tbEQ2ulGTRE8Khj
DL0o0UFs4qVA3biF22KImKSDl8cbN7yr54VCZv51kJnVcOZXbT1H9URvdUH7lDtAXdR0QhOKc25o
CjPJN6cbc/P4xhxHjWobRqt6PFsy+m22gN55m0pzkZlHoZm5by8hk6rIDfjfdI1u/11pOZuVwk4z
jycMziozM2AGXCIe99Hb7x/9ktBzT7zOsdMNg1qfM5vXzGeOXDzd/2tt3Rorcvyt+t+m/LMZmsjM
9cRM7BXN4XYmJI3ENUeZmUrzXg7Q6VWa4xtkBZVS069wjwl3jR2JF6Q74nSaMhToPndkbc31G4uM
+0ALvTc1ixKdsXm3bXylrYN3w8LBhYvoKgchEyvzJJ4eP5zJzPcHyszgAHUuaD9ZDlCbmrnQzJl5
HTMTdz9R1Ahsc7aAulc/fVRhprUzwTVHmfkcykxsZu55NCEz/Qf1n4J6hzzLKVpG0aduJgbOnJlK
TFGYzEuhJSLyAL2D8vjnQk9HzpriFMkZZ92zgaNKnH+rd8i5JBdgOhHM/1x21dJHETATskbwIY7t
zOsoaZRKcwy0h3DmGeUA6ZuA1PyfVGpmsSOeC4phzVCg30AXEULuqGxrlhb6MCH3CjXzEh3FJmJT
t2XTQi3Y0MoW1YOKTKzMaVWPk5n1oFG+nqO+oP3hwQvaT5gD1KBmm5mUNaI7JhTPVNscLSC3lTkr
zVFm/jBj5vfELcPWL5fmKDMhzp5k5sH9ex8jZGLbjf5TruKtj2FGZrmNDT7YBmfDG4rgLPNIBTMZ
mazdCJiMSyHl4/LouxSf4JPIuZdOG+3RWtm4GcDZmDEKv2D/As4jZ4mpv8nHrEsgvSxmJvjmtPwA
LCBfmkOgfSQH6DRj5uhS838UqekT7sELCmHNvEDHbb5lWzMfQu9rofejZmxsSmdzIV7bw12FvFQL
9v/zb2kVIJOamY+Gaw1BZuZBI8eBk72gfRKg2WAmzk5a1EgtIJg2h+S/u8uZz+R7mfmRzEt9hy0g
1OQ4mI8ykypzaGY+uusRRCbFCGlz2QraLu7msR/Q5RQ2cB22n1UqdQOnd9VzyVlQ8xFtDxIyHTEP
yPcqfrPm36347aruJYFzr7vWvqvBzcq4pv/95p6WEXMXEdNk8F7pD/AflEfo04iYuSx9R0J//bab
Z3NpfvZn/yvMmhcO0JkwA1R5vVJH1Ql0kpohduS9IA1r6jSlj7jPdgV6pa3ZYQZNgJrBDkKxidhc
5Ndr4UrrxTreuXY9+j90SFG2m2nB2SEz2+s5Rl/QfoKQ6aCZM1M8IJydpG1/YpvTLWOYNscpIG1n
1kpz+jL96Ec/Mma6diYG2lVmUmWekLlbkOk++ZbRFRvd/aNLK4ycQ4GzJTkLbObMFBwZMTXpQfcA
j7jnTlH7cbZ9Dbmp3AzTmjk9s11OO1yuSDWmUl0ex5oDM1fQwhhsZ6bS/LKLYT8HzJpbOLPmAJ2+
M0DlG1pqhhvoWezIe0ES1swLdNniLoNBPq1JQ+iccR+Jmge7qOlMdP4jtxSLdN1SyEutlxLBV61h
lZmQiZ45H2vQ0Zb64kxfmjfWc5zgBe2TzcxLL7tcbHNnAfHkpGtnlgeTpO1LyMyYaaV5LjP3792T
kLmDWm7rfK2wpNyRtlg27S514PTcLMFZxpFKcBo2HTR3RR7t83etiJcAyaP0noTHP2Z08hwwfdPu
D9i023DCTZnBbEy1136TZvxknYP90hbAPyXGTLGAqJ1JpTnNmkM489foEFB0gOze5N86zR0gfd2p
owFSExPuGjtiL8jtiJMl7q5Az3JHMa2ZZdyHstBbY+iOmpmJbkplse0fXArt1RXcX3XI1NuzskS3
JTO1NO+3nuPELGgfDZqBmZA1wjkgjhqpbU4WkLQz5chctsnehqXSF4qRCdDUzxcuzd/nNaMmMxmZ
OxmZbhyWygS/j3ehnuyO4KwKTgfOeo6zSMA7IO3cmVe9/vsTvjmRl4zKY/ExPBGcrDedh5ndbXdz
Qzt2VBZ71pqvD9dEZiQmQ5OEJjJz00awzTHHcbeU5pdfcuF5Z3/203/2X8wB+sVfcPcm61vgTuvS
HN8wUjMcpuRhSokd+bkgF9b0DjrPoMuZtUZbs8MM6hc8alIzmOjoIXBHzNphsKf1QUH3JkQmNDMP
JGQe8/dtVGYW+Znh1nOAA1RbzzHZC9onxEzJZ2YWUKWdielMWtCR3zIOpblnpn6+iCZ3MpMr812G
TF3xt1j6Kgv8493li/QmrVtXPgQ4a8PqZafwEWGmQ6YRE4GZEPkUvKfl4c+eInICN1luMjYb1Kxj
s3yhfVBBpvPyRdgGZq6iT3FXmtMauOgANYNGxRa405WZE5SaPnbEI+ghrJkX6I3ckWtr5hn3yacm
p/vYel0h1qvcTFkl2z23KDIfp5Ngcnq2U2b+MF/P8Xa+nuMRv57j7s71HCfaAfLQjMxUC6jdzqT7
77CW2ZJG1dJckPlR9vkiDpDITKzMCZlbKQuzSo49Ue5BTt3Ku1euLboLYnIUpzc466NDhs0ITcdM
QyYQk4EJoHwmPmIncpOwqdTMKvTdYc7SLQrpIGaGzN0RmQf07ecxEKrNtyZmYjtzyf1cms+aMf2K
Sy/icCbOANG9yTM3aBTeBKRmETvidcQU1qwU6Be4Ar3R1izNoOGDRxVq2lZiEZuW8ZOHi1o1Yb/N
IxMrcy8zP+yQmVqah3DmxNdznBBkdjMzb2dyOhOWGsGCDhw2f/KpcP2jqzT/gft8MQeIZCYYQNTM
3G7IDGMJehfcjjDek9+pFXAubYNzdZwcqgY5t4TJmh3iSdP3JX9jpm/L9C2JIhOICcBMiHwW3ufl
4c8QnKg3EZtKzQOOmjWpWTvOXkdmtXWwX+KiBE264AmND/z6ruP911ia3zDz2qsuv4TDmTADJFvg
IGj0vzaCRmeAA6RvJKnZ4QX5sGalQA+5o2Zbs3MKfShq7nHUVDvIDd/50Tu4mSLnhHcIMqWZ+ZJc
6+YduqXMzErzGM582oczT5H1HD2ZiaV5YmaWaNd0JizowGFzHJzU++/10vxH1dIcW79yAx5k5rGj
h7EyN2RiXa67VmCQa76//i03vqsHvu+veEPDgFMHEnUekaGp35YgMwmZSWQKMYmWz4VH5CRsIjVZ
a2ZSsxuaQzBTPf39mrB3zIR8Jsr4tZR9w9KcZs3ZAfp/P/V7MWgkMrMVNDqdHSB7/aSmHaYsvaB/
6r0gDGuWBToviRvU1lz+YJgMGjV4VFJTblSS2NxYbHmgtdbM6u07dj6yG5B5kJuZWplXl0581CjN
3e20XuHME7+eozcza+lMX5rL4CTugdPS/H1XmkeZmZfm6gChzGQDiJqZ5FDAuZolutNPJl959BVm
X2H6lQe65hs4OUXWF5yNJqet7aXIOEOTCyBgJshMKMwJmULMBMnn0/sCP/ixcDNh06hZh2ZY5dFd
nrsMaYOZNpRkKxpw8Ym0MyFphKX57FkzOJyJ6zmyoJGXmX/vJ8+koFF4w0nNkHD3XlC9QJeIuyyJ
c7kj39a8W6YW2Qxauz5a6BOkJm8ldhtreZ2YrNiiKwAPsbp9eOeu3XsCMqUy55R2kJkf1UtzwED9
dlotnHnlSQ9nlswE2zxvZ/KCDirN7/WDk1KahyEgV5rnMtOX5uYAgcx8+tjRQ+kTJlXmDpkPLE0i
k7eg3oUbVmDFyh28YgWeLQ7w4FzgwVlLIxk4M8mZbaPk7b0oNRGaEutAZqLMhMIckMnEZFy+YI/A
CdgUanpo2kZYybg/UtjnLSdIqbmzYlHVmCkW0NbNm0JpftMNM3FuEhygGDTK8uxdQaPTnpmDpGa4
FlTzgv6JeEGNAl2WxMEW95g7krZmYQaFySAfPJoANeX8Vlj0bcu0AJjUD0j/sEf37CVkWjNTDKAo
M3+YMTMrzSWceSy7nbbY3047NcKZGTNdO5PSmZdQO1OGzcvSPAwB9SnNs7l8kZnPJFH+xEGpzDdi
LxORmUSmrfKbQ6v87DE82+DMvaEKOMtafb3eiHhIqbmdQh38OQ79zAMiMwWZSEzE5Yv4XnrpJfwr
chOwidRMFXqSmgGaEp1UZoagZpd1HqC5y7dbS2Zm7UxXmks4ExygEDQafG7yzHCA9HVJTV7hzocp
i4R7mAuqFOgccZct7tW2Jg+hd5hB1bhmX2rSN6GU6IxNf5RFVQSp2vTPSWjGXiYhkypzzRnZCt0g
M6ulOYczw+ZMvJ12L5Xmp1A48zODS/MrJ700VwdIZSbljPbv3ZMq8606Co13ZEFkyqZ9WHx6q3+6
CHVOBk5aJtAHnI0EvF5udN8lAk38FCdmUmVOyExFORCTaPnSF+m9ROREbKLW9NBM37NQne/Tgy3l
TFBHtl2p2cpCKTRbpTm55hLOBAcoBo18nt3LzNpGozOCmf2lZowdVbwgN02ZF+icOzpXckdZW1PN
oDAZ1Cd41IOaj+151MSmP/a6RXN48kdhF4iH/YpMbGZiZc45oy6ZGUrzytwkbs48mbfThmBmrTS/
mvYNZ6X55lCa113zQmZ+nzYzW/j/NbTLnsOc0YF9j1FlHpCp50Nvx9Mk/jgJXCe5hcgZwIk9zvke
nC6NlPU4a7W6XnB01Nwa76U6ZnpkAjEJl1+SR9wUagI0U32O5TkKTepo2jdrOX3eNQtk1NyZ+/oi
NCVqtM+X5uyaQ4MdwpnqAOEWOA4awUajcZ69eE2p2YodVeeC8gLdZtCL3JG1NWkI3ZlBXRZ679Gg
kpp7+BtRjqFsj99yO8Skhz8FBx8/hMjUZiZU5h0ys7s0H21u8oTLzAGl+RVWmkfXfEvummez5jGc
GUpzH/43mYkGUPoDTc3MFcsQmSAy58YbeP4IHpzBo8NOeKmEVu/n4LynCs5ud8gcwg1EzQDNkpmK
TCBmIuWX7SE3kZokNUlpstCE4lwXaLtvVSNma+TcjccHaBZCM6QzxTXHPXCZA3Te2TFolOXZC5l5
ZjlA9oaTmg0vCBd31Ap03uLOuaOyrWlmUG6hw1TOaNS0OXRtbObfi/oetnVKSWQefEKRCc1MKDbx
7izd6v6rUmZ+1Fmat+Ymb26X5qcIM1uu+ZCB9kZpbuH/t7zMfPwATEzt4FabIhNEpjtRD7eWZ+ut
5dmzGZ0Czts8OMsWZ29wMjcRm+IT6rXUyEyPzCQygZgJlF+xh9hEaiapSUpThSYU5wcsWBy+TYWX
ca9Rtggubs4kX99Dc7+bAgpDQBhodw4QzADlQaMsz/7fn6F59uINKzVrc0GxQBcH3ba4c+4otjVn
alvTm0HLbJSxGjwaEHKPm7dqMQ5/3YU/mNEH3Q9/Ao4cPSbI/PLLr0plnqRTS2b+cLJK81PWNW8G
2t3qzNaseVNmflOCRq/SyjySmWAASWW+DOwfRCaKzETMpC+Rltf7J+zky8s3W6letg==
OOeXMc5FuuWjsuQDsUnU3LjxIfsIZ2gyM1VmMjKBmF/5ysv4XqG/ADYTNRWaKjRFZyLPYkFk94I8
K4t9w7ZwuAlNmTZHLO/SQDvOmpsDdMWlIWiU59lrY5NnqsyEV5Wa1dhRzQsaWKBb7siPU2Jb05lB
NBlkFrqbQh+SmkWJ7pMcu/UQIF8peNQa+qQZCJlf/PLLCQJWmZfr2c+A0jwG2nvOmtdL848cM33Q
yMtMMIDIM4dm5hJDJhLzxhtnAy9npTdTHvxkFqMTwXmTB2fZ4izAmUnOsOQDsYlikzK8bmchCc0D
9CkLzAzIBGK+Au/VV1/FvyI1GZpfeJ6gqcxED8jNrwkxtxXXLuLBCyOnO2tRQHNfWGoUZ81zBygL
GmV59tbY5JnJzFJqdiTccy+oUaDjDHqeO/JtTdutiWaQt9ArU+i1uGZvasqSV77H8uhuOxcoOSaV
DE+D/QPIpGYmV+YyNdlYodvcNtxyza/PS/OTGGj/zOBAO8+ax0tAcAE+XrWQDe1u23BlpVF0gPBr
9XmWmWgAUWWOyLwXkUkiMxETgDlz5nXwZsDDH13H7BRwSql+ywBwxhxndIeYm7SMYBVRc4N+Lz7s
2t/MTJGZCZlJZAIxEy5ffS29V4mbiZpJajI0M2ZKcNIhMzvma6gsrgK5aSWWmllP0y3PpN2ZO1oO
UBk0sv3sP3NGj03WXw+p2eUFVQt03eKuuaOsrenMIJ4M8hZ6FjzSuOZQ1HTY3Kf7/eXZEkRp5j/l
kIkxI6zMfZy9WKErN3olcNgozYfZNnwSk0ZZaZ7NmlfWwD3h18BR9n9gONPNmPJtTiczeXXE0sWL
7hNkKjEBmImV17on7HTgDJV63uKMpXqtVmfBydhkalKBzuNiLDT3QcoCmQmleUAmA/P1118nbho0
q8zct9dPrrl8R9cZSkPn5lru3u2D4+/9PbnMzB0gFzQCmfnJYcYmz0BmDpKa3V4QhzXzAh2XxGnu
6I8odxTbmtEMihZ6ETwanprhpMB+uQCoj+IYB539+WxAJlfmYABlU5OCgZoTbLPmFmjHWfMFOGuO
pXmYNT9VmOlL8zhrruFMKM3lSO/OXdUN7YNWGoUT8K98mcP/IjPB0MUjNYDM+R6ZsxCY1157Dbzp
+PCH1zA6HThv6AXOZpNTuInYXIGdIvtOxOr8EZgYI9NQPmmFmV9BkYm85EfUBGiCEUTQLJlpKxKQ
mCFJvLF68XyDoHNTlrvfaZEjvR4sZy0eplFzNwOkW+AoaPQHv/tbzbHJsczMXpfU7PCCXFizUqDj
YJC2Nf9E25oyhB7MIG+h14NHfagppwQiNg/6+396VJVXxuKaBZILiEywzKGZiZV5MIBaW8fLWfOn
/az5Gpk1n9txCOjkMLMz0C7hzFkUzrQN7TQ3mUrzw0d5bvLVN6w0b20brgSNQGbyXD7uMtnEy8Oh
manIFGICMBMqr3ZP2enA6Sr12VVTfU4HOOXiCW/wf0CoKd+IXJ3TAMRBcg2xnemQicR8Qx5QU6GZ
MTNH5o4dSsxNMrTGrFxfPjfMprn77Vyf67b2x+x8Gl+1wCwXBo3una9b4CxolOXZu88AndnMHEZq
Vr2gRoEuuSPed0RtzaYZpBZ6FjyqjAa1BioPH65gU4//uSdXCQ5bxu55RSbEjLQyJwx8N5OZPmmU
b2gPa+BaN3pjO/NkM7M5NzljwnOTpQP0nj8BrzITDCDyzEGUw5hpQiaLzBkIzITJq+Bdmd5V9Bid
Cs5YqXeBszVyqdgksbncQ5Oqc52zVWaizKTCPCEzofJNfkRNgGbBTJaZiEy+obtdialDvuvdhgTY
MLNWljGFIU/N3UdoEjZpPSf+E1RmLgtb4C6+wAWNNM/uxiYr2znO0KBRfE2pmXtBbi5ocIFea2vG
jLtNBomFngeP6qNBDWoePlzHJoOTH90JPMQ7Fp6SAguRCf4PVeZiAAXTPHCAk0ZDbmgv9nOcOszs
Fc4cdm4yOkAUNNIT8LiZ2WQmnNyGZubcO+YwMmeixpyOvARaXiHvyisZngbOolKP3lBhDlVHLpGb
fF8PK3TdhoDVOa9zgRkISqfxhy3ITEJmguVX8SE1AZosNI2ZWJqbzKSz47SEi7ZwIS4NlGuyt9YP
x3PuXkc8d7p7vWR98j9hq8rMbNScgkaWZ2+NTY5lZnx1qdnhBUlYsyjQeQbd5460ralD6IUZFC30
SM2NNIwxFDUFm8RNuzitf+th20rzrCDzyy9TMzNV5iIz/6qUmT8aLWmUtzPzRLtn5gm8BTTRcGav
uUk5a16cgD8aZCacQqTKfM5ttwIySWQmjQnATKC8PDxBJ0vOTnDOzsFZmVUnwWlnnJGaBk3c5k9b
A/fS3BjG057/wov0aSvITLh86623iJoJmq+9JkITmAkeUCrNQWZGZHpiIi8Flqv18Vx82GOXTytp
6AjDIZQVgeTnDndvEvrrdgfIgkaVPDuPTY5lZv0NkJo1Lygr0GEGXZbE5bkjTWvqELqZQXyeUqfQ
Q/BI45pDU1OxaeS0v+WIrD7EcWFuSSEy33wLKnMwgExmVkrzSjszSxqF1Zn5VQtMZ54izGyHM2dN
RjhTHaA8aMQHQFhmggJCAwibmbdCL5ORCcREXl6WPU9O5WY3OG/sACdxk7AJYvP+CE3b578H1hMo
M9P3DstMQCYCkx5QE6CZMZNKc6nMFZm2sZA2ZBMtcUH2yuzpbDyuzQ7TSts1dCQPw/JYmUeZCUGj
6S5o5PLsP+/y7GOZ2fU6pWYrrNmMuIfckbQ1/zC2Nb0ZxBZ6CB7le+LygcqCmhk0S3bKDeqjuizW
5evg2/4NaGZCZQ4G0LdqDlAjafRVWjrebmfC4GRuATWZOfXQ7HSAOsOZ2Y1eDWd+qxnOrN2Z41DW
42ya80QffK1Ak996y01cmAMykZiJkZfCuwTfpfSEnKY4sxZnC5ytkcvEzYTNVKQ7anJmmC7t7YDi
nLdgCTP5e0eReRwfUDMpzcDMzz/7DJbmJDMlNinnqzYqMImWCEg5xrJiBW9ielD32PGM53qaVpIp
EJaaOLexi8eLqDKXbiYGjW6ePctvNPq93/7NX5c8e//tHGc6M/t5QbYjzoU1XcRdl8T5tqaMU/5+
bGuaGUQWeggeWVzTh9ybY+id1NR35MgRPRMIjcxnHTK/8gr6P1KZt2RmUZo325m1dGa0gNrMnHJo
ZqV55RCQu9GLDtDylWvWQzhzl4YzX4zhzLI0L7bAZQEDCmXtFJlJBhAeNL7pRkImdDKvRGIyLS+W
Z+yM4Mwr9d7gJL2ZsJnUJojNBRk0U3WehOYOuOj8mGOmNMKBmYjM4/JAab5JHU3uZz73+WehNEeZ
mSpzQyYTU4CJuFROLs/fihXZjKdNK1F9LvvhaGQYL71skTV7KjNv8BuNXNAojE2Ol8ANem2pWfeC
Ogt0nzuqtTWzySC10IvgUQy5d1GzUqB7WCIu8RA1EZN2xWq8Dr/rqTIvZGYeaC97dPm64XAJyFtA
Xcw8cdDsdIAuq23OXLFq7QYIZ+7mcCY4QAPDmaUD9JZbZs+rTFBmYs7oPpaZN98IZ5MAmdDIZGIC
KS+yZ+h04LxiGHCWI5eJmwmbIDaVmgxN6BHRSeedu/QMylM6CEHfPG8iMt+mh9BkoUnMRAvo2JMg
Mw/s34cbLQ2ZcuyPb/0xK/FMKhyZ1rfMb7GjGc+1Nq20RaOaQM1HeIYdkUk7ox5gmVlsNIKgke5n
r23n+O/GzKy/wV6QC2vWCnTc4u5yR66t+RuxrWmTQWqh++BRR8i9BzVzWAown3xSD6uiyPSJZBQK
qTJnmckjQHHU/EftnUbhSC9YQBvVAqLraeUUUOGbO2ZOLTSL0nywA5Rvzux7b9J9uuCouQsaPWGK
nBpt9KWC1i8sgEJkgsgkYgIoL7TnyOnAWbQ426V6PnLJ2ExqE8TmfJWaCM1Vq1Fobt22A5i5d/9B
W7f6EtcobwRkIjRRaBIzXwJmUmlOMpPXZkCj8SGsyteCwlyJV6WJloDIpfKW0B6mpTQZTztFIEAq
uXvr+pPUfJh20TxMJ142Y2UeZGbYaCSLM32efbydo+8bwgsKBTpTUwt0yR2FtKYOoWPG3U0GRQvd
B48WLx2Cmo/n1PS8jMSUgwSKTGxmVmRmPmruS3N3qeHVbEW7O2yuCzo6mXlCodnHAZLNmd4Batyb
/LAZzqw4QNlX6mHuZpLMxMqcdubB14pEJhETQHmBPYdOD85qi7MGzjhyKdxM2ASxqdSU7TGpOgeh
iS7Q7j3GzOeRmeQepsockPkOPhGaxkxoZ6bSnGQmVOZsZ5PIXIsSk4CJuGROLlmcvyWyxY6HlTBe
wn84Nm3WqSC5xIa3BDfRNU+TmZxnbwSNxts5hnv9vaB2gW65oyKtSbs10Qxyk0G8XDMGjwI1V1ao
+UiLmt7vqRHzab569QWPTKrMTWbGdmZlP4e2M+P1NPI1cHdmbptHZrp8pgpND82po+ZQDhCU5mE9
x8F8PcfXhnKAXnGNX74zt05kplbm8KWajshMIpOJCaScps+jU8BZb3FWwamS0wQnYjOpTRCbdwZo
wpAFC01l5qEjzEzO9eInriKToUnMfPkrXwYLCEvzJDPBAEqVuSJzg2hMACbwEnEJeLwf3qLw7nfb
P3XEU/5sSH2+TQ/6UlZ+E1TmHOaCtYSwOPPacDpNg0aUZx+PTQ75+nlBVqDnM+g8GOTamprWxCF0
ybiXFrpMoVfimiNSs6zK5bTqcyUyVWayA1RlJiKzct1GveCDzjavM5P6mTYH5IVmgOZUUbMrnDnk
eo7jcACk6QD9sGvEVJoYD7FpLjITKvPrZoBjzsgEYgovz+cX0NkTnDGOFEcuFZsgNoWaBE1oEKHQ
hIwmFef7DjzOzHzhRR4fo28fROa77+bMBNscS/Mnj4LMTJU5b82AoplEZiJmUpgATOAls3Ihvvv0
4U91FRNT80Gd/5Cm5lY+GYQj7Khk19PREJWZ8XRaCBr5PPtYZvZ9g7ygskCniHs2GFS0NXkIXcyg
3EK/TCz0Iq5J1MxHgwZSU6Cpzk8FmaXMxBEgkpnMTOxnurvmAAL0NXTt+JuvvZLZ5luxSUdRI71s
LsyErBHPTjqhWYPm1GCzXppPm6YOkK3nmKvrOYID1Gs9R5cD5D5cVJCLzLzhemlmOmQqL89L7/yI
TgXnRR3gdOZQGYAnbiI2iZoKTUhwpOochebGKjOxnckyE4n5LkFTmPkKMPPFF6A0Z5mJzUxFpiNm
AibwEmEJjFzA71589OP7bKPIEjes5JuaW+T8BV5dheJ/HW3AZ5lJY5M+aPRrtaDRmX3UfNg3QoEu
S+JsMMjamn4I3TLuuYXugkcW1+yk5vYuaho0PTOftnPUvCs2yExczmGluTBToflDJzOzi2DO2ND8
TGSm+uZ5QzNCc8qp2VmaT8V6jooD9KTLF6zNZCZ/oa7krxRq8mmCy/BycF7YB5yVkQ==
S+YmqE2k5q3YVFdopup8BVjnVJxHZsoyLJGZ777L0ExCE5n56isvYzszleYoMw8e2AfNTM6Zb0CR
ycQkYCIuGZT35O9e28SE1Fy61Obitam5WQ9gbOF+KV1AxuY6ykzMs3cGjcZjk8O+Epo9CvQBbU0+
fqFmUNVCt90dFteEkPuixfUx9HyVu1JTpaZEMp+UXibaP1KZR2a+I6W5MfO7ykx+dHBSm3TVzOHD
NG0emcn5zCuVmSY0M2jm1JxkbLYdIL2dNqN1O22o9RwdDpDeTIpeGWWyUGYKMi9kZCIkz/WvBGdZ
qQ8Ap3AT9eZMEptETUy90XVUqM6XP7hKmPnI7oyZ2s40ZBoz0QKi0hyCRoeoMqeDZoRMFJlITAYm
4BL4eHd68+O725YmKzUFmvIH46FNdgFjMyOTKnM6siJjkxo04sWZIWikefbx2GT/N2KBPqitGc2g
3EIvg0ejUNOCRzooacwcIDMDM/9amfkDj0yRmak0JwsIt05k44CemXMppo1duqtkR4cJTQfNJjUn
E5uDHaDu22nHOm6n/bCvA/SE22TixqWsh3GlIpOJSaA8R14kZ39wXlYBJ3MTxCZS06AJoTcRmlic
ownkmfklYiaX5gmX773nmMntTHDNIWiUZCZW5rg1HZGZ6nIhZirJmZcEy7vgzXMPf4EXMcGE50KK
3S+NK5hIaspNDHTl1/BtOpWZmGfvGzQay8zeb5gCvZY7ytuaPuNuk0HBQtfgUZuaywdTMxToBk3H
zFo3s85MKc6Zmj9AZGppbhZQtqlnm7FgAea0OUBzjdNPJjQ9NKeemkM7QEvZAZL1HE933k77qJ8D
hEtGXYz1Poqx3px9tFwkyAy8PCcnpwNnzRsKpXoZgCdsKjU9NPFe1SLsaK7ihiYY55GZPEGWSnNE
JkCT+5nYzqTSHINGIDMfw2YmTTOuxbp8GRIzSUwAJuCSWTkX35388Cfz5tlc/AIMkHqpKU7QQ3YT
Az2m1Soz54LMnHUt5dm7g0bjo+YjvN4F+k+UBXqzrZlPBgULXYNHEteMIXc/ht6LmrbDiIVmbpp3
MpMy7QpNeoRMuaIoJ8Fo2pyX6D5aYaazNqzmZBgoNAdRc3Kw2XKAKgva55YL2p8QByhbzzGSA9Sy
yqb7tq8gExl5tn8jgjMLwCM3GZtAzVlITYQmhjdQaEpxDiYQhI0cM2lRtZTm7xkzxQLC0hyDRiQz
dz9CG4A3gP57cAWKTCImAxNpmSh5B785tLyO9tfJOhEaVcqWiTA0N9pRDEbmCv5WZJnJefa+QaOx
zOz/ehXo3YNBWVvTm0E4GRQsdA4e6cYjjGtOmJoCzTgANIiZ1tAEaH5fkYmmOZbm0s6kktPu2zzq
anMZboFNPVJ0Kg5KaA6k5sSxOZoDpOs5qg7QwHBmxQHaG+5/+AlTkpnl1ygCswucVVO9BKcKTsIm
URP6mgJNXBqDHU0szqGhGZiJY0CdzIR2JpTm6ACJzNy5YxvEzBGZqS5HkYnETMAEXiItAZS3Z2+O
bRMBat7jx+Ixjcf2+YaNehZjPXZM+dASy8wZV1OefYSg0SfGzBz0PtGmZmeBXm1rWsbdTQYFC90H
j0LIfXRqZtDUEaDu2jwTmgDN7yMwTWZyO1Ns8wozs70TIXYofrBqqLPr1Jx8sdntAA2xoP2Nvg7Q
X7YdoE0baylWamBUtDh/ifQ1wFk31eulumGTqJkqdILmTdQYAqEpzExqe/PWHUluMzOffQ4j7WSb
QzvzXWOmtTNTaU4OkJOZuDR9LSITRSYRMynMBEzEZQLkbend6t9ttoVJqWnQdEYQ7XCn5cXgy6/k
E8heZmKevWOj0TjPPvrrITVbuaOwJQ7amqUZxGvixEL3wSMJuRfUXGQrj7qoyRa6LWUHaKrQpLHJ
CjOj0AzQJGKazKR2pjDTn+sOKyGZmXEisIRmk5qTjM0RHaDKgva3igXtRWne5QDtsl32fvmTLszT
QNZ54TOleDk4W95QA5zITcCmUpOgyaMV0NHk4hxMIM/Mp5GZcneP2pmMzHehnUml+Ve+zA4QykxD
5npBZhKZRMwkMRGYgEtg5C3wbpaHP5MlTMVU/BKtzvFWJt0Mwt1yJGaXcsdYZCbm2TuDRuM8+wTe
0AV6bGvKljjYrenMILcmzix0Cx7FkHscQx+CmnIsDW//HLWFRridQ6aAOoUmQhOoye+7gEwpzbHk
lHhmzsxwrUGX9cT5FoZmnZpdYnNkbHY5QAMXtHev5xjFAQpBI85mTnf3P2Iey740+CYOzoBNoObV
Vws0Ke2WvueUmauQmduFmceUmWSb10vzl7/CDhDITKvMNxIyH1ia6nIQmfNJYiZgAi+ZlTdlT5fX
MTUdNF1Lcw1tcF/P2zipmcn5V5aZl19MeXYOGpEDVAaNxnn2kV/DC+oq0GttzWAG1S10Cx7pnjhP
zTmjUVMPph31ezNbQvN9EZoGTaMmEFOQ+U1sZ4J+otuz5b1uPqR49122rcfmqC9xce3zfMfurCnF
Zrs0Dwvabx5yQXtemstUvrsD1O0AoRb3e5ntzty5ebv3c6OAs2oOOWwmaqYKHaQmQlO+5VJ1Q8U5
mEDrN24qmclXpGrMdA4QyEyuzBmZqwiZqS5HkQnETAoTgIm0vDG92f7dyHvmbymG4rlhZTlNvrWG
6zghy8T3POfOQZk5PclMzLP7oNEvjINGk/uGKtBbbc2KGeQsdJxC5+CRHQ0Ko0HDU5PamtLVhBNA
Tx7T6tzGzUuhqdU5lOdMTXqITC3Nk37iqFHJTDpxs9ifuNGtkEFpTjvfOcNnN8XmpNTonQ5Qa0H7
usqC9jeGWM/ROpm0hU4mLQlBo/rup7MbxGyDs2qq5zlOh81ETZCaDE0WmrdBrF8ampGZR5vMdKW5
OEAoM9EAkmYmpMyXITJTXc7ETBITeUmwvAHe9fTwx7KCiVeJxE0iAZpr5PraakImGkAoM3EJHIxN
Yp69PJ02DhpN3utdoBdtzWy3pjeDvIXug0cY19SQez6G7lYeDaDmHqUm1ecOmrxuuEy1h+pcoAnU
/A4C0yPzw6+DfsqYCXNAMEa9OUkJXFioxblsH7/GQdPGXCyCePZUis2sNO9Y0H5HY0G7d4AGL2jv
7QDdmZ9MCueMy/gqv9HBKdxEbAI1SWoiNE1oggsExTkxc50w8wAzE8eA1DavleboAKHMRAMIK3NC
5gpE5oJ7QWQiMZPEZGASK2fFpxuYbgoz8ZxdlpYmQ3MNnRSC/XLYM8VpfpaZmmdvnU4bB40m5w0s
0Ae1NX3GncwgZ6HzFDoHjzCuySF32+Q+LDX5HLoU6HLQXKCpC4dbNhCV50JNxOZ34AeATCnNwQIq
mEk3bsA4X4lV0b0iNLU6182QF+sGivNdX7MUm5OFzW6Z2VzQnjtAfddz9LtmTCN97VX255RjUm1y
DjTVsxinUTNJTYKmCU0szqmhCca5Z+bho7BElCPtgZnvimuuDpDJTDCAuJlpyGSRCcRMwEReJkTC
js/r9OnGT6WmQTOrzlfagUrYYbwCwkx0nA5lJo9NfvbTEDT63f88jAM0Ruawr0HN/3bYtqaYQYWF
rsEjjGtyyF3P+uJoUFx51JuaXKCD1DzKR83jlvZaS/NDhWaiJmKTiSnI/Dq2M1MNZsx88vATB7EA
2wYm0JqVfH+WO5pYnc+Uy2CXX67rdC/ooGafGr03Nkd1gIZa0D6SA+Rl5hW5zOSvQoOYXYqzyHHm
MU7BZqKmh6Z8RKNzjiZQyUyNtNNOrLf94KRzgJzMfBS6NvRpuoLUHyFTiJkUJvCSaDkjPl34SdQ0
aBbV+Uo6TIln2B6kypyzXCwzL55GizMtaFRxgGyj0Xg/+wTeCG3NcgjdzKBoobvgEcY1OeSeD1TG
lUe9qAlmEHtBVJ9XoPnKq1VoYn3O1KT3V4RMKc3RNnfMhD8aj0FAkxqaUpyD0OTqfJacU+T63O2H
VGpOFTb/wpjZ6QDVT/QeGNoB+htbZe/XMuuKUe8ADbwy143MDsHZAidjE6mp0ISeJgvNVJyDc44D
pCi4kZmQaU9fisNHZQzIR410QYc5QE5m7oECBD9MV3FiEpF5B3xrMDEBmIhL2PB57TXydN+nrl9S
aM7j3PIiZiZDk4hJg5l0Nv4OlplXXMJ5dgga/T+/Oh41n9rXUaD3b2uyGdSw0DWu6ah5QTaG3pOa
O3bIOXRsa5rUpNPmXdAUIwilZqImYJPftw2ZH2A786vYtsI/G2yOspxYL8X5AuhoUnUO0CSlacdu
dA/5NNnfEyYFJ7FGH8kB0gXtj4+2oL1xZa5wgCxoZDKzOP5R/ov3VZx5j1OwqdQUaKLQvBa/0266
mZh5LzOT8pnETBydxEi7ixp5ZMJHaZCZ+lmKyd0lYP8QMllkIjEBmATL6f7JhvnraCJeoVkRmise
lEvouPidKvMgMy84l4NGvxOCRrkDNA4aTc7r19b8O9W2ZjYZxBZ6mEIXan6KqPnnYaByZGqihQ5t
TZaaWJ8/nd2dfMWX52gEidRM1ARsyvtLRCaX5tDOfMP0BOSWIVBinX5ME8PHPP7ZgJZmgqaXmkJN
t1l3qsRmXWYOOtG7Lp7ofWHUE72VLXClA5QfgO+6/TFhcHpqMjSxOqfinBqaJTNhF9zBJ3h0kuKZ
b9aYqUEjk5k7sc+9brXMMkL9cQfU5UpMAmaC5NX4rpItyba1Dmc7eY9IEJrETIQmnKTE65WwMWlx
JjMvvfB8Wpz5qd/7rWzU/Of+0dgBmorXXaAXbU0eQg9mEE8GmYXOU+ghrqmjQTxQOSI1H3bUJC+I
rKBjHG6v9jS1PkepmagJ2ARwwv/7LUUmluaBmcdopNi1+pfz5zz96biFleZ1KjWVmqFEnxJsesAM
4wBNeEH7UA6Q5dnLu5wtZA4HzgybSE2CJrjnKDSnc1LDmMlZI8j2MzNrUSNBJnxXaNDIy8wtkNvl
T1L0BgGZLDKRmABMhuWV+q6ypXW0RgSUZhSaNndO0ORzbA/AnNF9tAAlyUwamzzvLAka4aj5L7VH
zcdBo8l5n+imZrOtyWaQmwwSC70SPHKjQTxQabfWRqMmtzVFamp9/ny5rEPrc6YmYRPAiX/5JiGT
SvPjKCicPcrDHpbCk+pcoYnuOeiJJDWNmlmJ3qjRJ4DNwJaaA0TrOa6/IT/RWyxoH/5Eb+uYcc0B
AmssdjP1X7gTmUOBU7HpoHkhfXRgcR6Zib45zAE9hDeRYIuoRdr9ho64bZiDRk5mUsfmQQmZz5sb
PkeRmMjLxMkr3LvS7awTaKrQnOsTyw/QEV98vPt9USYzIc/OQaP6TQtxgMYXeifxDd3WbGTcvYUe
gkdCzT9yA5Xh1lqFmvctam3v4MO+2tb0UvPZ8vykC2pigQ4VOmBTXyLmh18nmQntzDdffzUwU2N4
lilZhN55LirwT0hOTb0XNkhsdrY2K9jMkDnoRC+U5kvcgvbKid5+C9ppk312mLOXAw==
pKb5EMjsAc6ATaEmfBVUaFJDc+asCjO3YJuCIu2VTXB6CYhkpna5UWbmaYr5d0G/5hbXryFiIi8v
D+8Kt3vJoHmzJu/udguOGJrLGZn0gY0yE8cmIc+eB43+pQWN/kHrpsUYmRN8/dqaWVozHlozC12n
0DF45Kn5BwU1L2pQc/4garKFbgU6QfPpWJ+/EqSmoyZgU176GanMd9+hGJ7+6aBFDH53zRqakIOW
pkBT/pBQgS7UrIvNycNmBMoAB+j2eKJ3e36i983SAeq3oF0doO1+C1zFAZJTxiMhczA4jZoKTS80
M2bew5Ib2xQPZ1EjPQbkLk7GPLuXmdmkg7a4ue7AHjfw8jJ6l/JfGZtX8Tz8DBGaurvmHmUmQhPe
Mt7+jj0ALzNhceb/98f5qHm2bHg8aj7pb0CBXmtrqhlUtdAdNSF4pNs13Rh6tvJoeGruFmqage7q
81xqKjURm8BNeV9HZBIz3YTc88WORBKaUIkpNCVXotUYUfNKR82Lc7E5ao1u3MxQ0nKAuk70DrGg
ve4AQWkOS5n37xUHaGXdAWrIzAH/Xj3BWVAToWlCk4rzwMz54IbJFlHcvMy2uW6Co89YuWx+PMuz
Y5iCZCYZQFKZy6DD9dbf5o/Py3ChvG6Wp411V8QlIjdwcR6dcxCaywSZtDSJ/kkiMyVoJKPmftlw
dIDGQaPJfn0K9EpbM7fQ/4lY6Bo8iiH3MIbuVh6NSE1ra4rUfOrpqhX0pm33StRM2ARu8kvEFGRq
dDk7+WJCE6pzg+ZcnfiYHXtYV9bEZlmjD4/NGkUaDlDngvbSAfoGOECDF7Tn99/3wXoO2JXXwwGq
I7PZdugJTkdNB81p0zJmXi9uGCcIVnM8k21zs4DkGBAhs8izB5nplxDQKmpFpn1yIi3x45P2I4fN
S2gEaXHumlML8eg5CE18ePkXA020M+qGmZJn56CRjJqPHaAT90ak5k8HC52n0AM1/21BzT8eRM18
e0ft2ppSMy/QGZquq4kFulxffQ/FJnKTHhLzPZuQe1UuWMv9AhOaMlnM0KQ5OYEmUtP1sa7IxebQ
NfpgbNZl5qgnejvDmbUTvVUH6I7oAGVBo5yZA1IBvcBp1ERoitCEuJFj5mxuU1C4f6Xa5pkFJMeA
BJl6B0izFCYzZalqtoOAR8OksY20xO623oAL0ESheUP+jS9CE6n5ACGTcm4gM28UmckbjWzUvNsB
GsvMSX2VAr3V1oxmkFno/1gsdAkeWVzTU/MPjZpnDabmwl7UPGhjQV5qZtSUdTXvv0/g/ACA+T6M
FfuTL8xMMIGoOGehCdW5QjPsYzBqsodeE5uVGn2C2PysZ+a54Q5Q40RvuaB9eAeI13OIAwTrOVKR
WneAcpl5Vj9k9gJnTk0PTWQmf3yYG4bz5py6WsO2ed0CepuRWeTZw96WNSiucWPGnXSNFJFJXW3/
gXkR/ten7cgXCTUvp8A9jnbit/3NBTNBaOIjZNI8BcpMzrND0OjP/oRuWhSj5mMHaOpf77ZmOLRW
tdBjXJND7u4Yem9q3j0kNRmavkCntqZSU26wEjn97hr64yHM5NuCUJyT0EzVOW1KpEUJYe+XjcvN
9DETX59VavSO1mYfbAZkDnGid19+ord7QXuHA3Sw6gDdHBwg2jVcl5mdyOzBzQKaJjS5ocke0HU2
d38v2+beAnoqt4De1sq8IjP3ZjKzth5QRmnps9I/piZA8wq3Q+SGG7OzL8TMpYpM+o5TmXkt7Wf/
nI6aNx2g8bLhKX3DFuhtC93HNd12TRuoDIviHDWv6aDm8iGoWezU5L4mY1PHiS2FRzLzVTjHSsx8
5qknk6wQoZmqczpiwNCE/bL36n5ZXWTDI3N1sTlia7OOTYVFvAOUO0DlgvYDup5jtBO9mQO0ra8D
VMjMwcgcCM4SmhVmXkNz97dw1MhZQDo5aUvajZlUmastiK5gkJkrUWbK6v6baGeL7blyH5P2qnuX
rtObRYGZUJzTW+Jl5q03wdgk7mfHoJGOmo8doJPyRqNmxUKnuCbviRuemjfk1FzUoKZBs0bNFzJq
othEbL6t1iiWYIRMamcyM9EESsU5C008ySrQpDsGcvrFqIluUCk28xq92tocDpvGikJm1hygB/qc
6P1OxQH6QdeJXnOAHox3gLJlw3UHqC8yu8HpoKlCU5l56WUhdcW2OUcItko7008BkW0O3x1v8wcp
XzWnsUkInzXO6sUTUZfGwmLaNLcaWaCJHU23Sb5k5hKPTCczJWgEp9PGDtDJfr3amn0sdItrUsg9
DFQOQ825ndQc3Na0Cp1KdMRm4iaC820EJvzZ+OqbLDMTM1968QU4yPr0sSePHH7i4IF9e/fsTtX5
9q0ETTiXiicG75cTg0ZNaWwGsWmG0ERam56bn/XI7OsA+QXto5zo/Vr9RO9mWs9RdYAuqTlAw8rM
QeDMoGlfC7m9eY1EjbBPIfud2u3M4/qNITLT5dlxoyrLzAfwMs9dc+fwyfv82IkA83zbKG/QFKHZ
ZCYU50uQmHwA+B6VmRY0iqPm4xmgk/MGtzWDGTQJ1Px0Rk3bFJflfO32s1KzWaDn1OR1Ryg2EzaB
m0hO/CsSMyEzMBMamkcPs9Dc/UiA5oO0MGFRTk0t0Z3Y7FOj98VmfJ9ry8x+DpAtaB/tRK86QMv9
HSA4NxlmgCZBZnaRs/35Id9NagH1amcqM9/yF3ohz34oXiKNF+/pqF64D3WBAVOx6XfVydold1rQ
MxOgCW+xl5npC5xkJgeNYNR87ACdAm9AgS5mULTQy+BRFnK3gcoJUPP+gpodbc0KNVlsAjcBnPLe
DMj8ojITinMSmo/ugpYmQXMd3v8jqZlTU0p039ms1eijOkIlMusyc7QTva0F7Z0netdjODPeAepw
gCYgM1vY7GSms4Dmut5umc7Udubxusx8WmXmNjXN7+MPCq7M5eD9Je7Oyfnn6XPQ1A0ishPZnWPN
mbk4yEzLs9uo+a//yn9ozQCNt8CdoNe7ranzlHEKPe6JC6NBvajJO49mZtS8110yHY6akjxibCo3
6aUfv/E6ItOY+fznn33mKSjOQWjue8xBc+P6dWtXs9QsqIkluh42oKWzXTV639Zmic3M9qAY9yXZ
FripPtG7gxe0kwM0t7oFru4ATQiZGTXbzLw87HfidqamM3VBx/N4Cygyk3vcWZ4dj+ptYW29eCHd
JdbK/GraS0/ItE9DT81pNNd5Uc7MMmskzEzIpN65ykwOGp39FzRqzsuGmw7QeAvcCXldbc0BFjoH
j/yeOAy5R2r+Smdf8xJHTS1abE1Wf2pGD53EJmMzcfN1RCfwEolJyBRmPvfsM1CcJ6H5+IFUne/Z
zdDc/NDGDevWstTMqelPDvJ1g0aNPqC1WcPm53JiiutxbhclJutE7wfNE70nwAEaQM2cmed3im72
w/Jhc060O2ZyYDfLs+/AFm6UmVyZczOTkWn/Rf0uebfeM7u9wYdeHDOBmoRMHtdlmRlGzXXZ8NgB
OslvaDOoDB7ZnjgdDRpATcprhv2a2h6fU1Jz5eC+prpBUqILNomb9pCYL38FZSYx8/OJmSw0DZrb
EzQ3bdzAUrOgpolNsdFHqtELbNZP2wajOAsaeQeocaJ3Agva8xO97ADdHu8AdThAE0dmdVWJT/c7
CyikM5tJo1erMvMV3c/OQaPt2MJdSaa5yEyqzEtknhtebVMdhZKzMy/KTHj3L2KZaXl22mg00AH6
u2MH6MS+wW3NdvCoDLlHav67NjWzrcTXRmrags2e1Axr3Gl7B2BTuKkPiInIRJmJzISGJgnNVJ2D
D4TQ3LZ18yaRmjk1ndgUG71ao08KNovBF5GZ2Ra48kTvs8+/OOSC9kEnek+gA1SDpotdVQfv86/G
uliaW9IoMFNlJvwrS9AI8+zr1+YykyvzDJn639E2yVe2e/IaeWCm7OjwzHQyMwaNYNQ8d4AG3QEa
I3OKXy9qNiz0+mgQU/OX3KK4AdTEjbGzhJp3lNRcZcmjGjXjbBCJTcZm4iaSE97LRExEJshMZCYV
54exOmdo7gRoitTMqenFpjtyXanRG63NQdg8KwCznHu5tIcDdGS4E739FrTXHaCLLmw5QJOCzOYa
0eiH5RNRK2x3Zl6aGzOP61yY38++j7aFYogftfV8k5lUmV9Kjjn8e5urZ9A8jyqCCyIz6ZbwLda3
98wEZKLMzIJGOGrODlBzC1wozccy80S8QW3N3EKPwaMmNT85EjVt84ut7+Bl7h15zbhd02OTuEno
xL8CMb/0xSQzoTRnZh5DaEJ1vo/K850gNbeg1MypWRebZgjxUa1rdGVctyPUwKa9sx0yK0Gj6BMP
d6K3XM/x3rvH8wXt7kTviXaAMmhmzGxORHFpvrYszSFp9Nob2s48LjIzLs7UPPsqm693MlMqc0Km
T4/R9Y2wEdlf3pgVbHNh5v2MTPy2IpmJQSMbNa85QOM7QCf79TeDsuBRm5r/YkhqXsGfxUrNuPSI
V8VVZ4P8yiMVm1ijQ5EO3Ezg1EfERGQmmemZ+YRA81GG5taSmlFsoo3uDaFBrc3CEapg8+ycmGGN
j6zYtbGXeRM40TtgQXt2ohcdoM71HFNQmndcRWquqx9Ymgsz36oEjfZznn0dtXC9tiaZGZHpiKnQ
LJd7avfJz70pM++XT+L5LmjENy16OkDj0vyEv+Go+ZMZNX+mMoZeUrOjr3mR7JygCqY2iC4LNuMc
eqJmpbFJnU3CJnKTyPkl5CUQE5DpmFlAc3eDmlFsko2eG0KuRu/V2qxh07/iT+HlQWbqRgpygCZw
ovfDjhO9bj0HKy4XzpxCB6hk5ln5HtHRSvPjLDMpz14LGukhj7tMZpIBxM1MOn+U/TerMfMqP/Xm
LSBk5v2ITJKZPKGpG416OkB/Z+wAnZTXgmZH8MiH3CdGzWlCzemRmnGkUpYedWzv0MSmYFO4CY9w
icQkZKbSHJjJQrMOTU9NKdFJbJKNXtTo6qOXrc1+2Dwn/hHUP4QqM6+sTFevKBwgPdH73mgnesOC
9saJ3mw9x5TIzIKZXevq8RMk7uewK72+ND9uMrMaNNponxPzgszUyvx8+td2PZW8KLD/XNPVArot
WEDIzPtzmdnhAGFpPnaATpXXo61Zo+b/MFFqwj30c4WaV1oqozpSKYPoLWpa9ghrdMJm4iaA094L
QExAZpKZzz6DxTkJTYNmlZpcopPYJBvdDCGp0eutzSK12cJmMBR8f2waB/4ymTnv7qoDNKETvS/1
O9F7Wb00n2RkfqZSmp8zoDQvA+15aY4PZCYHjcD0yoJGD2YhfpaZWWXuuykmNGUfMg12StvpptwC
EmZGmTl71gzvAPktcFSaJ5n5s2MH6JR4o1Dzp/xO4nLl0QBqyj10pWZY35HH3LORyvYud+5sMjYT
Nxmc+pCYgExgJujMJDQ9NEVqRmpyie47m84Qkhrdsu4drc2ake7C0T65UmRXosy8Kw==
LvERByic6P1wyBO9L/Y90VvcAZoCmfmZHqV5LUNQmTV/+dXATJOZcqGXNxr5oJGG+GdmMlORGdvP
58RYWDi+Tu3MudRzcszkb6O7ca3xzTUHSO4AudI8OkDjBe0n6/Wj5t9ujwYNRU25UanU9EuP+sXc
63eDuLOp2CRuIjn5ITERmchMFpoKTSc1kZrU1+QS3XU2nSGkNXrf1mYTmzEifV4ZkbY7DnPKqZeJ
n+j1C9o7T/SeEAeoYOaA0rxz1vzVKDPro+YxaCQh/llRZnIzs7TsKsz0C2N9aZ4x827Ms8M9Twga
8bJhdIB4C1xYzzF2gE6ZdwKoqXPov5dT06/vGBBzX9Wxllg7m4xN4eZzjE4CZiImIpOYSUKToalS
U6lJbhCW6E5sFoaQ1OghftTlCFWwmQ0vn0ebcgiZWJnTbpMbABJ+v+7GMANUnOgdfkF7nxO9U+8A
eWa2S/NEpHyK1K+Bi7PmUWYWDlAlaAST5qXMLJDp1yH77vN0TYSE0lyYuQh64/feY0GjtgP08//7
P204QOPS/CS+vhZ6ewy9LzV/O1IzH0RvBzYr0aMd+V5irtEFm4mbAE5GJwKTkSnMTEJToMlSU6gJ
FTp66Fiiu85mbghpjV6PHzlHqI1NXivmgHl+2JLDUdbsXBhDonCAJrygvfeJ3ikKZ1bbmY3S3E2R
UnPXjvS2S/NXGw7QSn/Io7yxKTJTpxByZlrI4apq0qgszS1opA7QpysO0P8ydoBOvVeD5gBq/r0h
qGk7j/w99D9zS48s5p4HNiuXgwpqOrFp2EzcZHAKO/FHzyAyhZkBmiQ1jZra2DSxmRtC1Rp9WGzS
wm+/ixFX2NoyRqr0ILfCeXaBxNaWA0Sl+UAHaPCC9j4nek+MzAyluRhiRXM3bmjPSvO3XNCowwG6
c065YTmTmW5oyzEzL81v0NL8rorMxBOnEjTqdoD+Z3aAxus5TqXXlJqTQM1/XaXmH/+XPxVqFjH3
MrBZbnMXakaxKdg0bgI4n0F48g+eRmQyMxWaWJ97aj7C1CzFphlC5qP7+FHW2mRHqMgf2SWuC8Kh
BLuUcInN4ZFLXLlK23SABq/n+KBc0K4OUGNBe3GidypkZoWZ2ay5LXia54+8o+p2G9q/3HSAvlg6
QGtqSQE/X+9kZlwNULQzLUDXLs2zoJHbAod3gLg0HztAp/TrLNBro0FCTRtDH0BN3OXOl31//1N/
aNSMMfdW9KjcsFkRm1SjGzYTN4mcCE/+wVOIzMRMFJoAzUMAzQo1uUQXsZkZQuaj11qbNWyK2HQ3
sh03Kwe5ZEXOTDXNw0rynboFbkgHqLKeo36i97aT7gCdlc2ay4KnzpVGSXa/JOFMYSbKzOqyYXWA
MGjkPydiuipDpj+J6cdc+UNOSnPvmi8ymWkO0Cw/A4R3gH4DZOYvjR2gU/4NETxqLu+oUvMXSmr+
jlEzj7mXgU1yHb0dtLqgJolNqdEBm8xNASezk394TJiJQhOgKdTcx9R8dPcuK9FZbKKNHmv0dmuz
4gj5/FHEZrj86u++XikjJXLIO+kqHzRqzgA1HKDvf6/qAOUL2oc40XuCHKDzJxzOHOgAyUYjnxS4
rDSAGkv7sAHdyzXXoFHDAfptlpmfdA7Q+ETvKfqGpubfHYGaeA/9Pws1dTiIA5uN6BE1hPz+jpBz
D2ITsfk4Y5O4CeBUdB6j96Qw00NTqYnJIy82wUYfWKP71qZ3hOpGugSQgJsITn4XMzH16itG/TKZ
qet15Q4QOUDvjrag/Sm/oL3lAJ2I9RzDOEAjhTM7HCDbaBQ+JzKZmS86bZXmZaB9YZCZTQfodysO
0MATvScbHWfwG5KaPzmAmjQb5LYS/zum5m8QNXU4KA9stkz07pPomtlkbBo3EZxPHjvmeEnI9NBk
qckVOpfoKjbZRh9Yo7cdoTo2mZsITnqXMDENmWwAmcy0oJHeAerjAGUneo+XDtCoC9onDZmdpXkW
zuw8BFQtzTsdoDBqHj8nzq/JzOIEiV53uzZb0Z6X5vc5B8jNAH2m7gCNF7Sf2u8TQ1AzG0PvQU26
h/4flZo6UsmBTR898rvigh0kjc2VGTVZbHKNbthUbjI59R0VZhI0IzW1RK+Iza4aPW9tVox0j03j
JoIT36VMTEYmaZZbSGYuMJmZBY2GdIAaC9o3txa0DzjROxXMjOHMriPvQ4Qz6w6QbgvNHKAsmxmR
GQ8VXVCU5tmsucpMc4CwDaAO0Gc7HKDxid5T+U0hNT/pqPmrQE0eqcwDmzUTPZ4O0samZI9UbEqN
rthkuWngjO8IM1OhyRW6lOiF2MxrdMu6h9ZmxKY6Qhk2RW4CN4mcl+KPiJiCTIpmzpE73kFXadBI
tsCNfqL3pC9oj8islObVI+/9wpkdDtBm7wBVgkaczazLzLOz0tzPmsfVmQvrDlC4A0QO0K/+x18e
n+j9eL0aNIelZmUr8b8wav4yUzOOVMboUWmix+kgWxZXiE2PTZabpDcPH6GXIVOh2aAmi81gCIUa
PbY2NbXJjlBmpAdsotxkvWnvCibmdLftGytzKEVVZj6Ca88kaNTPAYITva0F7QNP9E71gvbIzGLb
8CUDwpnRASrDmbkD9ARvgYszQB0OUENmutL88liaW1cplubmAPEWuFSagwP0p+AA/SbKzPGJ3o/Z
60nNvz0iNf8NUlMG0fPAZmaiBzuoaGzG7JHLbFJr07Bp3FRyuoe/XFLTY3NXvUbXrLu2NoMjFI30
ApsmNxGc/NJPEjFRZF7HQvs2MoDuux+zmSAzZe2ZBo3kDlDNAaotaH/71FvQrszscoDqmzPze5Md
4UxxgB6vzwDFWdGLKCkwsDQPuwGuc+HMojRf2NoC9+k/8w7Q+ETvx+01C/SRqamXfT/5i5GaHHOP
0SMz0XM7iIqdBX6BRyY2tUZntQm5Tc9NAufhkpkITU9NFZtsozdqdJ1H19ZmzRFqY5P0JqPzSvjB
1UBMh0xo3s3DvZlLlzuZuR9dYhk173SAPhYL2odygO60yfsN/Rwg2gLn7gC1Z4AqnxM5Mj83uDSf
Uy3NowOkd4A+8+d/+sd/+PtjB+hj/AZSszaG3oOa/5KpqYPoPuYeN2xewH9OyA7KG5uNEj3W6Kw2
TW4KNxmc+RNqNsSmGEJljR5am8ER6sAmOenETQCnvPQzJKYhkytzkFVRZtZGzfsuaH99wIL2W0/0
gvaR1nOszB2g5zodoOwOUNwC13CAOmWmleaXyT6VmcXcpJTmi4otcDO8A/SpLgdofKL3lH9tM2h0
av5zpOb/9QtxfYfF3H30qGIH5Y1NV6Lj3iMVm1qjF9hkuUncrIDzUEFNFJvBEPI1+mZXo0trs+oI
hdimx2biJupNIifiMgHz2hkoMm9QZEJlDt07cDxUZlKevRw1zxygH036eo6T4QD1Wc/RCGdWHKBD
/g7Q8vqsaJYUyGVmpTQftNIoOkA3mwN0FjhAf/T74xO9H/M3GdTM76FHasaYe9xLjCa62EE6HeQb
m1n2yMSm1eglNh036+AM1KyLzbJGL1qbYY+HM9I1tmlLipWb+tLPQGMiMvlANiFz6TII1oDjEWWm
Cxo5B+ijsjSP6zm+YuFMXdBeXc9xgha01zdnnj/6eg7HzNIB2pffAcpmRbsdoFppbnOTXeHMzAGi
0vyzeqI3yczxid6P8ZsSav4fSM0wiE6BTR89yuwgPx0kiU36DL+PS3Tde7TeG0Lc2vTYVLnpuXmo
Ts262DRDqNraLByhav7oFsVm4iaBE9E5A/6afjrrehSZikyszFMlunrdBreO4qkyaFTeAaqHMxvr
ORqS64QsaO9ez3F5tp6j43ZaZzgTHCAKZz6igdTuWVEOGlVl5rnDhTNrDtDFF5yrC9p/Y3yi92P/
2tTMl3dUqVluJUZq/rynpgY2/V5iNNGDHaQrNn1jsyzRRWySIQQ1ehWbnpuHCm4eqohNZwjVa/S8
tVkz0g2b0ttkbgI4gZzw0o8SMBMxb5Th0buomfkAGkC5zISg0Rt50Chn5qBwZmM9x8xTxgG6pMsB
qt1Oe/3NNxsO0LNPuQXtE3OAYmk+jAN0R80BGp/oPT3eFFFTB9E55h6iR2iimx0k00GhsZmX6CHo
7g0hqtEpf8TY3NfC5qEKNVlstmr0vLWZY1ONdJc/cpaQchPJSS/9eHb6YACRyU2xhMxFGM0EAwiC
Nex4sMykjUbdQSMJZ36jO5yZL9491dZzwLqS6AANsZ4jOEC8lL64A9RygJoyM4QzZ8RwZnCAyjtA
tp7jz3ovaB87QB+DNwFqyn7Nn6lRU4eDiuiRmejBDtLGJic2MXvEbXYp0b3YNEPItTZb2MzlZkbN
ao3usu5Fa9M7Qh3YVG4mcOq7EYCJxCSxcs8CamZiZQ6I4GCNyEy4aeEdoEJmdoYzH/fhzKUnL5w5
lAMEpblfitexnqNwgI5NrQPU3JypDlC5nmN8ovd0e5NKTbf0KAQ2o4ludpBNB110SUxs5iX6okBN
bwhpazPDZr25echDM8fmfl+jt1ubfbGp3Ezg1Jd+dgsSkyMCikyszD0ivsB59o5R8x/1Cmduj+HM
209+OLNjQTuv5/DbSvgzpJcD9GTLAarNio7kADU3Z94Hd4DqC9o/NV7Qfnq9GjT7UPOnSmrGQfQQ
2MxN9GAHucamjaJj9oi+OznonolNM4RCa3Og2gzvidwQymv0srWZO0I+f6S9TZwSYm4mcNq79dbb
gJi6czkhE5qZqRCFypwrUSczBweNqpszT/Vw5uAF7WvKBe0D1nPkDlC7HeE+JwaW5n0coO4F7XKi
d7yg/fR5E6PmTxs1y5h7ET0iE91mKmXFpmtsuuyRL9Hvy6jpxKbW6KNjs12jF63NbmwucNhkbiZw
2rsdgIkKej72HRiZ6Jnv4H3kFZn5rYbM/HjeTosO0BV+Qfu8zgXttdK87gC5f+eudkSv0vxKtzmz
5QBxOPPOckH7+ETvafkmTk1cevSPWoHN3EQv7aCY2PTZo9sVME2xaTU6tjbJSK876VVsPlGt0cvU
Zs1Ir2OTpoSYmwmc9hIv75xL6vleiAUoMsEzJ1V15FgmM+sbjeqledicub+4nTbE5sypYGbbAeq5
oH3Qeo5yQftwDtDnTGae37WeQx2g8YL2M/YNTc1wbU2p2Q5sBhNd7CBbsUmNzWmxsZmX6IUf5NNH
rka31mYtt9nG5uNljV5vbZZGusPmIsEmyk0AZyKnvsTLeXeZciZkUjMTKvN9B1FVPUemeZFn/36U
mR9VSnMfztzX2pypZWptc+ZkM7O/AzSJC9rX1f6dr6q0I/o6QNcNdTtt4Inefzh2gD7+b0hq/kSd
mo3ApkSPwESv2EGuselG0bMSXXpIhdhcX4jNUWr0J1o1+mOhtZkZ6Vn+yLCJzU3gZgInkFNe4uX8
u+VfBA56PLgK/J9NMDQJhag0774YZWYlz94uzTGcGUpzDCo2l5XXA+1Tw8zJXdCuMg==
s1jQvnbQttARHCB3Oy0PGi1srOcYL2g/rV/VQm9S00p0o2Z1ED2PHqmJTnaQ5NxdY7Mo0dFFR6O5
5ge59JFm3bVGr6TdB4jNztZmDZvrCmySk45yM3EzgTORU17i5T33Wu50BanMTdDMTKIKDSAgxEsm
M7/WkJmOmV1HLYYozaecmb40H2pBew8HyC9onzoHqPt2WnU9R+8F7WMH6GP4+lEzv1GJ1OwcqfTR
o4odJI3NT1tjsyzRMehuVREPo2dis1mj18RmNzZd1r3pCBWxTSvScUoIuIngBHLSSz9egH/aeHPT
SodMqsyxEH0xyMxvVmXmjzpL82NZab7Elan1GcK8NJ8sZnaW5t0L2s0Ber7lAHWc6F1aXdB+8bDh
zLYDtKhamrtwplvQ/u/HC9pP0zfJ1CyjRzKJ7u0g19j8r9bYrJToHX6Qic2KITRBHz20NqvY3JBj
k4YrmZsJnImc9NIPAZh6MW71mnUOmQf06k0hM/+mQ2aO6prn/JhqZuYOkHwy1tdztBygjvUcVQeo
uS20V2leOEAWGnYy05fmcT3HoAXtYwfo4/96ULNyDz0bqeTAZhk98pPoagdRY1MSm1n2iEt0DLpH
P8jCR3GuMgtt2mSlM4RGrNHzGaEsf+SxiXIT9CaCcxGyE4QJ8HLxEvp94z33DYhMaGbuTciU3l0/
mfnDEV3zRmsvY+bkQLOHA9RvQftIJ3rvKhe0uztAnTKTXP0OB2hRUZqrAwSluS5o/60RFrSfbAyM
31Bv8qhZNdHRDqo3NiWxWSnRdRad/aC7Kn7Q6iA2e4c2R8Hmrg5sUgAJm5vMzQROe4mX6XcsxzvW
b3goIXM7InP/QTsUBshUmYlBIyczf/zjH7ukUZw1fwVnzduBdmvtVVM3U8zMfgvaJ+4ANU/09nGA
zhk0AxSDRlqa8+204ddzjB2gj/+bEDX9cFDDREc7yKaDfGNTRtHzEl1m0SmyKX6QCx/FJR7BEHqk
wxDqGT9qOUJd2CRuIjgTOeWlnyAw+SLxxoc2i8oEZOI2cjWAVGa6PDsh88dFO/PrH7xfmTXfUT8E
ZJqrk5mTAs2WAxTWc0zoRO+X2AHKF7TnJ3ozB6jPeo7aDFAlaISleSWcma/nGC9oP41fBzWLG5Wd
MfemHSTTQWVjs8geORe94QcVYnNDKTaz0OaBYWv0uiPERnqBTazSiZsriJz00g9XADBl2cimzVsF
mdzMdJW5l5lWmv+YmBnbmXENHMyaP77fr0TT1E3Rzgy2OTLTQXPi1OzrAN088RO9bj3Hal3PMQkO
ULEFrioz7+4Xzhyv5zh93yRQsxk9yqaDysZmd4lOfhCV6DF8FOcqTWz2MoR61ugd+SPBJuY2UW4m
biI4EZ0rgJaJlytX2eL5LVu379gJyNxHzUzmAxlAbZn540rSqFwDJxva85VosZ3ZycwJU7PbAZqq
Be2NE72XDhvOrN0BymQmM7O2ObMazvw5Xs8xXtB+Gr6RqPmTBTUzEz3aQTHnDo3NmD0KJTp3423x
Uch9OLHp5iqL9BEYQiPU6KWR3oFNDCARNxGcQE59q8Hk12ua27Y/vHNXjkwxgEqZKcj8cWhn6ob2
MAS0NySNQjszACQWqiU0J0TNIRygQQvaB5zotfUcnSd6eyxoLx0gtwWOP6ZNZt7fLM0tnDlgPcd4
Qfvp80agZkf0qGIHVRqbvkT/cynRQ9AdI5vBD7LlxOyumNjcmInNhiHUXaMPgc3tik3HzQROe2uh
5ar3h1NdvutRQuZhV5kPlpnUzhyUNHLtTF0jmVtAFWZm0JwANrscoKEXtJ+QE71NByiMmmNgrGc4
E2TmL43Xc5wpb2hqFoHNloku00Gac+fG5oAS3Uc22Q+y8FFFbNaj7sPX6OYIRSO9hc3ATSCnvPST
DXqgA+pyQOZ+QyZX5iQzv97oZiIzrTTXdqZbnVm2Mw0gcSImyyrWoTkiOCsys3qit1zQ7k/09l7Q
PuyJ3mEdoBA0gtCYd82zzZkxnNm9nmPsAJ1Wb0hqdkSP+jU2s+xRKNFtXZzzgzrFZit9VG7xGKZG
b8U2HTYdNxM4AZ300g8fAogTMaEuf/QxRaavzI+/857ITBubjKX5D8PByXo7U3p798ngdU9m1qk5
LDj/IjDzrH4neledQid6cwcoyszFPLWgpTnMTfLmzDycOV7PcSa9T1SxWaNmI3pU7u9AbP7zorEJ
iU3LHnkXPcyiBz+oU2xmc5WDDaFhavQmNjNuJnAiOvFtQl5yDApF5mP79h9EZCIdtDLvlJl92pn7
GldxuFD1zCSG5NBsUbM/OCMyu0/0zlEHaPUoDlBzQfvNfddzOJnZ4QBFmYnMXLjwPnXN9ay5bs4c
r+c4M19ParYDm5kdNKCxydmjeole84MkfBTFZn2usmUIDVWj98UmcjOBcwuyczPQcgv8FvggRxKZ
e/Y6ZHLj7jXKGXXIzB+32pmazpQjvc4CkkI1YyYyRCBCFOlBzT7g1L+z6QBVF7QPfaJ3qAXt/Ryg
7A5QHjRSZPLtUSzN73CluW7OHK/nOGPfIGp2xNwrJnq9sYmJTZc9shJdZ9GLyKYPH7mke0Vs1tJH
3hDqX6P3wyZzk8C5Ddm5FWi5DZhNUjcRE+ryg08cOgLIBEGFRShMAOGxSS8zs9L8Rx3pTDrSGyyg
VKgqQZiZ3N27wJhp0DRqdmOzE5xVZHY5QPUF7c+NvqB9BAco3wKXj5rrt1dkJs2a21GLMpwJDtD/
Nl7PcUa9OjUbw0F59GigHSSNTZ89apfozg8aIDYrUXdvCNVr9MnApnETwInohAc/lH8uEHPf/gOP
GzI5UvPGVznOTjKzVZq398CxBaQLfmzy2jMTS1UpznNoOmoO5GaVnO5/LWQmfeoVDtDoC9qPxfUc
PU/0tkpzCBrpFrgwal7ITGZmXprL3GQIZ+brOcYL2k//Nwo1Gya62UGhsWmj6K0SvfCDLHzUKTaz
9FHfGr0Lm63ZSnTSHTcTOBGd+ODH8k9EYh58/InDjEwdEAQDSGQmb+eolubWzswtIN6ducPlbjwz
KWuUF+cCzRo1e3AzkNP/clNmlid6J2lB+/IBC9r7luZZ0CjITN4eABaQzJrbSiOZmyw3Z2brOcYy
87R/Q5roPzHQDipH0S175Ep0nUUvIpucoJPlxF5s3mN7Kmvpo3aN3re12YVNlJvAzQROQie9XSps
mZiHDh95kpFJKcTX2QCKMrMozeOweb4789DBsK+cps09M69SZprQBJIEambY7AXO4n02l5m1GaDR
T/S++Hy5oD2c6L1+WAdommu3xqCRk5mLlZlWmt8irrnMTeLmzP/7l/9tRzhz7ACd/m9Iag6wg8oS
XXdshhI9zKJHP0jCR1FsVmz03BBq1+hDtDZr2PTcBHAiOeXBzwGYQExE5pGjTx57WpEJlTkYQCgz
4aQFOkBlaR7bmd4CYtv8oDORIzMpa0TRm4tZaCI0AzUNKDk3hwRnQGYPB2j4E72tBe2D1nNUmZk5
QFnQKMhMXFfVLM11btI2Z47Xc5yprz81O+2gdmOTskehROege4hssh80SGx2GkIa2qxm3buwefjw
4QHYZG4COP2Tg5gHWGQeffIpRCY4HVSZs8z8+jdo1zCX5lmgvZZolykgHzVSZkptjrVqEl5anEdo
Omp6qBTg7EtOQWY9aFRxgNb2PdFr4cyn+i1ov+SidmneETSqyExagYo7/hwzYdYcXXNZacRnzW1z
5jiceca+ntSsm+hdjU0571uU6L+el+jsB/F8kISPBorNmiEUanTKutdSmxk2D9NrYdNxk8jJT2v/
g0jMw0lkOmRSZY45I5WZoTQPg5M+0a62uUWN6szE2ckZ12hDk6pzhKanpmLTk2UEcObINJmZOUBT
caJ3iPUcfYJGJDOp30PIZGbKEJAvzf+cS/OemzPHMvO0f4Oo2TLRox3UaGxq9shKdDeLXvhBEj7q
LzYbhtBwrc3Dh1vY9NwkcrrH6jX9f3YIRSYg8/OITOzaQWV+/B2RmThqXjAznrUQC4hscz05WTIz
1aoovKShKUJToOmoSdg0bnaDs01O/t89k86fNAfotfaC9iUSrYrrOdqleUVmxqBRLjOXOGZyOxPW
wNGsOZfmNjf5C7E0Hy9oPzNf3UTvouaQjc1WiR4jmy581BKb2eqjYAjFGr0yj97Z2qxjU+UmclPQ
SU+CTE8wMQGZzzIyCQ1vmsyU0rw4alFlJtrmL39J4pkYaTdmAkRoIBoamqk4p7TRpQTNSE2PzTo3
a+AsyfnZEplBZhYOUGNBe8UBytZz5Avau28fnetmnhwy3UYjdKgoaFTKTKvM6VAeWEB8QcMC7bLS
qLY5cxzOPGNfnZrt6FHPxqbfFiclup9Fd5FNng9y4SMnNjmzeWtdbA6u0buxeagbm6Y3PTwP6nBm
+r87wiITkflCQiZXoCIzXWnOOtNfApLSnC0gixpRPDNj5gOLF1Gxehs2NFO5qkLTQdNRk7Ap3BwC
nJUnlXnIi1+Wb4Eb/kTvoPUccVloWZrnzCxlpg8aeZmJyKSbJdTOnE+D7bIGjkpzWGnU3pw5Xs9x
Zr4uag4y0VuNzVqJHmbRJbLJfhCHj1piU6bR73RXXBo1up5ea7c2+2EzcDN/+H/IxDRkvvjFL3Fl
/tXjKDOlNBcLKAjNj1hmUjuTbHO5BZQxE4TXyuXgI7MYouIchKZBM6dmlZsNcA4iZ7Nb6GVm2wHS
E70mMzWcOWg9h4Yz66X5WRGZXmbGjUZOZmpljmdKmJnczrQN7ZXSvLo5cywzz8Q3BDW9HeQbmzGx
WSnRKeiOs+iwLs5HNmP4qENs3lYRmwNqdIsftcPubWwqOLNHf/ORo1SWKzLB/8Gm3VffAtOcS/Oc
mR95ZEppDhaQRo0g0v6c90SQmSseWIK74OZCuSpC00GTpKZS02GTuVkDZy/J2WVKO5k5oRmg9nqO
W3QhSSzNM2aeVZOZl3fITEamMpPbmZA0wjVw6ppXjlqMw5nj15ealemgWmPTskd+PMjPovvIJvhB
HD4qxKabRtel7gNrdJ1Hr7c2Ow6kH65x0+Dp/rYjREwQmYpMaGaSzIRsJpXm3/zWt31tDsxEan7E
MlPbmWqb58yEBh8oL6hWF1JDE51zEJpQnRM0LwNoCjUBmw1uDgRngc4CSVFmQtDohhtvoTtAIzlA
Hes5Wpszz6MUqvvNnzVAZt6YyczFixmZzExtZ8IQkKyBI9e8KM393OR4PccZ/PpQs2UH5Y3NWoku
QXcq0dUP4hUeED5qik2aRuc9mzF9VK3Rs9ZmL0eopGaNnPw/H1FiQl1uyMTKHLuZXJpTO1OYadD8
6COTmZTORAuozcyEkSS9FktxzkJzJuSNSGmy1EzUzLBJ3OwBzoyc4Z0lyCQk+REbChrdcvsdfgtc
0wESZOaleWM9h2zOzEtzW3tHv++zDJl9ZCZW5nQ9NDKTkka0oR1nzV1pnh+1GDtA4w==
N7SJ3mhsdpfotC7OIptZ+Giw2Gykj/IaXeNHVUeoGnavYzN/RxCYQkyoyx0yRWZSaS7tTPHNkZk/
DMiU0vwvv1ljJhnJ0OFbv3YVm0B3k9BE6xxbmlieKzU9NpGbQ4KzRk4jUoGk6Xxu8tbb79Q7QEM5
QK1wpu5Xtn0kXJpbOzP+xs8OMti+c+oycwkSk6C5GGxzbWdepxvac9e8e25yLDPPyDeEiT6gsRlL
9Czo7iObPnzkxabY6BdmYtOljzpr9Ky12TPsPoCaRxiYiZgsMktkvi6l+fs4a56YibW5CU3EJvy/
P/gBOUDUzkTbPDCTwzcQWATjHEwgLM6THgLrPFXnqDSxp5mkJlCTxSZjM+NmNzgjgEKbMCAT/6NY
5QsqLgSNii1w6gBh0Oh4UZpLOPNxCGeWt9NcaX5ZtpL+7AKZQQbXZCbnjKCZ+UCFmbfePFtK87N1
1tyX5n6lUbk5c4zMM/FNWmOzXaJLZNP8IAwf8TB6VWzin09c6q5R91vxrEuzRnetzcZA+nDYPCLP
E1ORGZkJMvMd1ZnkAXFxLtAUZKLMhKQRWkDvv/t2xkycJXx4G5hA0NBcKkITq3MHzUBNUpuemy1w
DiSn8cghM8TFRWZq0KjlAL1WluaV22m0wymfm7yufsbj7BKZQQbXTHP4ZsFmZsLlsmXCTLLNtZ3J
x9No1jyW5uO5yfErXi9qdjY2e5XoHNnU+aCm2NRpdNyzqemjhiHk59H7tTab2KwQ86gSU5AJvcxS
ZiozxTen4pyg+QMhJiKTS/NvfeNDihopM6nFh9pr+xZqaLLQROs8VecKTaUmY1OKdOTmKOD0OOKf
I5CiiruCVZwPGi2DoFGHA3S8Z2m+hEtzd8bjct/OPDeO1EcZXMtm3hZlJjRz4Bkzadic25lw1xw3
tI9L8/Hr8wZSs0djs1aiKza1ROf5IBObv1MRm371kaaPnCFU1uhla7OnI9TCZhcyoTIfwEwWmgpN
eunHUJlbO5PimcpMSizufRRMoM0PrU/FOQlNrM4ZmgkoJDUdNQWbwM1LHDe7wankjOhUYBKQGJlu
+cXMGDRavnKN3AGqbIEDmfn22/3mJiul+aW8XdmYebZxvZDBcjjFZCausdbP1mUCzSWL2QJy7Uwc
AqIN7UVpnh21GMvM8ftvhqNm3thsluhNP4jCR5p0r4rN82RbI0Xd+cpvEdp0WXdtbTYG0juM9Mdz
araRKTKzg5kiNBGaQE3gJv7FkIntzA/ee0eY+ZL2+PZCwbotqa91IjSxOp97B0MTpSZR8xrIHSVs
otpkbuaCswHOXHIaO/kn55LIRCJlzUKSmXhuEoNG5RY4uwN0HJj5dqU0D3OTddc8v+Kh0Aydg/Mj
03OZCR+s2MxMuFy+fLkxM2tn4hDQH//h7//2b/56CLSPS/Pxa74RGpvdJXptFj0PH2HSXcWmDAjJ
6iOfPrpmRleN7lub/Ryhdv6oMH+wl+llJpbmDWaq0CRoKjUBmIxMYuaHXwfbHMaAkJkvPEeRRTSB
oKG5UYTm/bRNAqB5G7jnSs0ZQM2ETZObwE0nONvgzCRnQCcDE0WmR6YOcpPMzINGe5LM5DtAuIP5
NZWZyMzOoxZWmrs1cMW1uHMyJazINKbbpDkdm7TKHIlJ0DRmcjtTh4D4eFqrNG/MTZ7sP7njd/Le
0I3N7hI9HPgt5oMofIRJ91Jsyp7N86Zp+ogNoa4a3bU2W47QI8WMUIZNpeYRjRiJ//M0yUwtzUtm
eqFJ0GRq8vsuIFNkJlhA771zXJmJO3hBfT0G05OpOGehuXQxr+CB8vw2lpqJmqlCZ7E5HeWmctMJ
zhY4o+Q0dNo7D4kZkSlrKW9yefYiaBQdoOORmQNK83hhMzviEaB5jkNmaQDR3kw2gCIyhZlom+NZ
C2hnyhDQH/3B7+KGdl0DNy7Nx2/AG7WxqdmjSoneEJv/piY2/8CLTY26e0PIQpu+Rs9Tm1VHqDla
GbEZqOk9805mZkKTocnU/C7y8ruCTGbm1z6AqBGs6HjF1NcT1NDcoUIzVeeLF93H0LxDqTkb+5qA
Tebm1czNKDgb4AySU9EZ3vlETEampr+g8DWZaUGjXRY0eiEEjd52zMwC7XtioN0uH9FyZcfM8+O2
u3PUn+JmJlfm2DqYJVeArDLHb4vlK+AlaCZm3s+jArfdwu1MThrpXfN/9clWaT52gMYve0M2NrPs
UUeJXg0febGpNrqsPkKxiemjabqA20KbZY2epTZ7OEI1bIrYlOGfo642F2aG2rwUmgRNKM+JmohN
AKYhE0vzD96DeKZjZkIJNTQfUaGZqvMHltDisvl3zWNoAjVFbDI2g94EbrbAWUhORef5gZeJRomY
1CrUtjLszSxkZkfQyJCZmNl0zWXWXNfAqQV0SX7Dw3cPFJm+MndxdpwAgu8Jh8zIzDm3STvTkkZ6
PK2YNXcrjcYyc/z8a1CzzLk3GptSov/9UKIPFpua2USxKUvdLX3Us0bvcIQGYlN3vj2hUjMLZ1o/
kzygQmgKNLGnSdREbBIwoZf5V9/m0vxr778H8cycmVici9BM1fmKZfBnHI8k3iVSE7Qmik1QmwU3
hwKnkNOxE3lJxCQg6RceDSAxzSnPvnbDpi0gM4ugkXUzfWn+peqsuW5o13ZmwczzfNvVd1svcpV5
MIB8ZQ7EfPDBBwGaxsw75+DuTG5nctJI75pns+ZjB2j8ut6ojc1qiR4jm8VhdBWbltmU1UdZ+uiC
ixo1etna7OsIVdPunpo6Z37MhObzWXGuQlOhST1NR01+fx2QCe1MiLQzM7HNR8W5CE2ozlc9uHwZ
mhb33XvP3UpNEpsem8bNPuB05GR0GjuZlwmYwCNFpiQfQcRBNjPIzHrQiJFpzLQ1cHIISNfAWTvz
+uwosQnN0G89n3uZ2m11h9PYAMI0u3yE4hNmLuRNna6d+WloZ9p+DrehfVyaj1+PN1r2qF6iu8jm
EGITl7pr+ggNofMvqNboYR69GEhvOEI9sOnXGengZCY0paNZQlOpCdiUh8RMyGRmvvsORNqJmS8q
M1VoQnVO0HwAU9gLjJosNgGbOTf7gbMgp6CT3oUITCAmACkQCSvz+dLNRJkJQaMD4AA9w0EjkZlv
v521MyFp5NfANQ65X+OYqULzvMygmpYhUyvzW3QCiJqZhMyVK1cCNIGZi2ldFCTapZ15FrUzNWk0
Ls3Hb+jXm5qDS/TSDxogNnXPJkbdzRA6V09suxr9hlJsdjhCfbEZ1gzLErgs1E4dzRo0sT5nagI2
5X07IBPamcJM0F9SnLPQhOqcoLkC/5wvctQEsYnYzLiJdXonOFvkVHZeyLxMwARiwhdbJgtmSWV+
F2UzSWZKnv1wvtHoeGSmTxrxjV7bz7GQPZmbaEX7dH9f8wJbquw6rgUyr5kRo5lUmTtkAjQdM8UC
snYmJo24NP8/8XhaNms+Ls3Hr/N1NjYHlegWdHd+UDEfVIhNGhDC1Ue41B3TR2gItWp0P48+pzqQ
ro5QMNLb2JTWpmpNvwfumbI6z6H5/gdfQ6nJ1ERu8ks/+RYhk5j5tmcmNjSxOEehCdW5QnP5AzTw
t4CpCWITsZlxcxA4XRwpJ6eyk3AJwERiIpAYmVyZ46T54geW69hklmd3MvOdd4CZb8G/Jq/OdEmj
0M6UdGbGzIuyncrqUJGl75CJrQOtzO/mypx72+mDcxVBU5hpFpC2MzFpNGRpfrL/lI7fKfZGyx71
9YNKsckDQrpns2oIxRrd5tGHcYQGYpPFpknNftAEIwilplAzYRO5yQ+J+Y0PRWYmmmgEJwkwLM7B
BQKhmapzheZKlkdJapLWBLGJarPgJgpOqdQr4Mwlp5HT4Ik/Tr+c/lcSmfLhBCJuDuaMYNJcZOZO
kZmaZ+cOLyAToJmlM5/K2pmYzjQLKL9JbNB0FhVb+hGZ/m4aptll1AGICQ+FJiVewTaP7UzYaQRJ
I9vP0Qi0j2Xm+HW94Uv0POhe+EFtsckDQrxn06LuNo6OE0LRR5d5dJ/arDlC/bGpNXpBTTGCspAm
QpPGXlBqKjUJm8BNfkBMVpnITJkoRGaCAkvFOQnNVJ0rNNekP+wsNRctxAqdsIlFesbN3uAsyRkf
ABOJ6fQ8LliDyhwWGsEIkHQzk8yEoJGXmVCZv+OZmbczbXDyAXdfU5h5VbgUp4HSadHSd8icMVPT
7HfGZiYic/Xq1aA0mZlom5MFxO1MGJzknUZuCEiPp41L8/Hr/zqpWR2qDCV66Qc1xKZmNmXPJkXd
M0OIQpu+RucFxeXtteAIRSO9FzYr1KSmZtHTVPecM0dKTcImgRMe/PhDRKbITIwtAjPROKfiHIXm
o7ugpYnQXL92DdbnOMFyP/Y1BZssNx03WXBKpV4FZ42czE59lwMwmZgy7o/NTDSAFi5euuzBQmZ+
PpOZ73hmVgcnN7k77nwqTpipQvOiGCetWfqKTNuaCc3MJXbgGd+qVY6Z8+5kC4jamTA4aTuN3BDQ
uDQfv+HfJzqx2XDRB/hBHWKTVx/5qLsbR6ca3fvol1n1OKtWo0dHSJZt9semoyZJTb9EE9xzjBw5
qcnUZGwCNxGcgMsPkZisMt+hdibAhJj5+WdScc5Cc89uaGkCNB/asB7rc6Imik3CZirSWW4qN5vg
9D1Ok5yBnEZPxOUV6ZeBmPaBdJM0M1NlDnszC5n5nOxn58BqzswinSkWkNrmzMxr8+uaztZnj4os
fUMmdltpAIjnzNn/YWSuWQPQNGbOn4cWECTafTtTkkYyBIR3zf0auLHMHL9erz81yxLdRzYbYrO2
+oiO/KohZBNCVKM7H112xnW1Nqv5oy5sFmITqSkFelmfi9QUar7D1EzYBG4iOvEv6ecfIDJZZmKf
j5gJDc2nnjwCQnP/XqjOBZpYnzM1UWwSNu8DbBI3Azhvk0q9As4gOT05EZ3+pV+6Golp8QRAJlXm
YADBQiPNZtp+9lxmMjPxsLk/0ovD5nDYHG3zBXTQ7GbygHB28goUmm6ZcvD0naVvyLQBIGxmGjLX
wBNmLsFWwNw70ALC3ZnWziyTRuNZ8/Eb8fUr0fv5QX3EpqaPyBCicXRXozsfXeNHMbXZMtJDbLOB
zSA2M2pygS5b4V5kqRmoiX1NxCZwE8Ap7wMkJiOT+3zITDDOU3FOQhOrc4bmls0JmuuFmiA2FZss
NzNuaqUewDm7Bk4hJ6KT4XkV0vJqBKYSc7YCCZGJBhAsNIoy80WTmfi5kZ4xs2oBsW2+MJxxt4vE
7nRHMPXV0ncTDjf63ezYzFwmp0/Sf+q1AE1mJtvmZAH5dqbsNKKkEe/nKNfAjUvz8ev3BmePKrPo
FT+oj9jkI7/OECpqdMq60zx6tbVZM9JHwaaV6EpNLtCfywp0oqYup0BovKfgxJd+TMR8xxakJWZ+
CZn53LPPgAt0+NDjqTpnaO7YnqC5SamJf+oJm9jbBG5GvamCMwOnmEM5ORWdyE571w==
IDDTF9PG+0nDSWUOOaOGzJQPDWMmTgFlFhAxc2VkJmTar7tWzsS5DfT62NO/nEWmlBeITPN/7vfI
XIsPhKYwkyYnb4BEO+zO5HYmDE7SumFLGo1L8/GbwBu9RB8oNqt7Nr0hRBNCFNqkGp2y7iF+5FKb
mSNU5I86sen3xpnYxMYmUPPJQE3xgjw1Zdj6HeEmofN9+KuABJDJzPwyMPOF56Gh+dSTIDRTdY7Q
3AXQ3OaoiVpJsIlyU7iZCU4PTutxlrU6kFPRyfC8Bn+Yfu269HXUz5/bHTKxMt+4GRca6RI47mbq
JCk9YaZN1R8125yjRsJMzLRfL2fiwr0jfeTpR0vfI9P8H0ImEnPdunVr6YtnzEQLSNqZbnAS1w3/
M0saubvm49J8/IZ/I5XovcVmhyHEE0K+RqesO8ePzpsWU5s1R6gDm0Vv0/bGmdhMJTpT82jR1rQK
/dXXXmexyesj31F+sPJ6R1b9iMwkZn7hOWhootBM1TlDU+pzpuY6VEsrqUivc3MAOF2tzuRUdCI7
6cHPZoLEBGLyfCrPcEtlvmHTFtibyUfNnWnOQVX9182YecyfcRdmLsCbR3rFnS530EHiLAglnr5Z
+rywJSBzsUPmOnprKX4Ae6LANqd25nRtZ4bBSUwatfZzjEvz8RvujVCiT1xsyjg6hza5Rsesu8SP
aNWmpjZbezxGwCbW6Els1qj5TKAmTaCj2CRsKjfFEMG5GCQmI9MzExqaKDQPP/G4h+YOoyaITcEm
yk3iZkVwRnCaOeRqdSMnohPZKQ9+noDJxKSjn4ZMrMw3b4P17LjQyGUzZTMeyWtmJrRtX9bNyocs
aqTMpHwmHSRmoXn1VXa1I89AZZY+bQbUaxZomRMyQWOuT8+YSbY5WUB5O3NQ0mgsM8dvpDdqiT5I
bLrT6CU2/32s0V3WPWttXnjxIEdoOGy6Gl1L9EOH1A1ywSMt0VFsEjaJm3J9UY8wvpV++c033nid
ZKYyExqaSWgeTUKToPmYpyZW6Elsruc6k+Vmwc0SnN4cipKTyQnoRHbaS7+Qfv3Gm/RrNy8gcz0b
QI/tJ5lpk+YyRPpeYKbEMzVqZMxcpsykhma4R3ylj0AxL68US3+Gb8LMaSBzPT2U6MLMe+aTBUTt
zM9pO1MHJzlpZPs5xqX5+E3odVMzL9EzP6hbbLrVR5VxdKvRKetO8+ixtWmO0FVtR6gXNrcFbAax
CdQ84kPuz0exadhM3ARwAjn5wc/SL75BKhNlpjCTivOjR0poAjWhrynYZLlJerMqOKvgDLW6kRPQ
iex0L/0KANO+bHcTMqGZCZ45VOa7H4P17LLQiNezO2S+955j5pe/6C7FVZiJDc2bb9Qj7tdM92Py
REvLQDlicre1hkwQmRvgrV/vmLngHpgCogUdsZ3ZThqNS/Pxm+DrX6IPJTZ/rlNsuhqdfXSaR5fW
JqU2zRG64qoOI70Lm9mVdK3RTWxW7SAnNgGbzE0GJ7MTf5B+BUQmIRNlpjDzmQo0lZpUoiM2iZtr
KtysgZN7nFmtbuQEdCI73Uu/koCJXzEUmZTgYWRSZU4GkNubyTmjdzgv8J6EqpiZL9aZCZl2NIGw
OIeOpp4jnu4TUByC4gwU/meVFBQYVDVkMjE3bNjgmKkWkLYzaQ/cr/2n/5Aljcal+fhN5utZopsf
NEhs5ns2u0KbmnWnnXHS2qTUpobdw4xQH2y64comNllsPt4Um4hNVpvETQAnkFMe/DT96quCTJSZ
kZkGTZSaQM1UoZPYBGwKN9cyNyuCswrOIDlJczI6kZ3upV+57bbb4YtFIjNDJnjmaAD59eyYM5I5
qPctiOqZKVfcgZkb10E+kwfAoThPQhM6mghNuRDH4VGkpWWgjJj4n/ROyGVWkbkRnjJzObn087id
eQW1M2kPHA5OatIILwH5/Rzj0nz8Jvx6lOiji01nCFVrdM66S/xIUpuZI3TJZZdPEjZDjW6dzegH
Zdg0bgI4mZ2Iy8RLJKYgE2QmM1OEJkMTpCZTE8UmYjNyU8Ep3CzByT1Oq9VFcho5AZ3+pV+ZAxKT
N54wjgCZ3MzEyjw7NplkJi93otfJTPTNV8G8Od2BRKFJ1blcI5b0kzzNQEViokFlGzMVmUhM+Doh
NIWZYAHNuY0WdEg7Mx+cHJfm4zdFbzQ/qI/YHFCja9Zd4keS2uSBdHGEgpE+GJv5Kg/DprU2uUY3
Gz2fRGdsOm4COIGc+uDnLyMxAZlJZkJpjsxEoWnQBKkJBTpSE8UmYLPJzcHgDJKTNCejE9jpXvqF
OxGYFG3lmDgjE9PsqTI/eOiIHptUA0gGoEhodjITZid5MgfSRnfQCffZs+0+nCRHiZYzMAMllv5N
N/N/SfgPeU8VmQ/RY2auhH+YWEDSzsQrvX5wUpJGOAT0U+V+jrHMHL8JvSH8oL5iMzeEOrPu1trk
1KY4Qp87uzDSB2BzUT9sQo2+p6tGR2x+gbGJ3EzgBHIyPBGXAEwkJiMTSvPETCzOQWgyNFlqotYs
sRm4GQRnDk7ucVqtnpET0AnstJd+Pg+BSTkD3N+7wpC5kzxzyhmhzBQDSEbteUq0wkzsZ+7cDnNA
cI/4ATpqhkIznHCfJcFReRSC0gyU/UcErN+30KLsOqnwUPqPR18hZKZZQNbOxLMWbnBynDQav6l+
LWpOSGyaIeRCm7Wsu2ttcmozd4SckT4ENivb3Tl/BK1N89GL9BGrTbSEkJuoNwGcQE578AsATCjM
AZnGTBKaCk2jpmDTcdPpTRWcDXCyOSSS05GT0Unw5Ac/nU/AXKA0WhmQCZW5GEAoM93RYhkVLZlJ
HtCeXTA7CZd6iWMoNOfZBfcbZ4fIvUVGgZezc0t/vp4yRzOPRCYQcxO9hx5yzFy4QNuZmM78zJ/L
4GSPpNG4NB+/yXnD+UFNsYl7Ni191D0hVGltcmpTHSGZEeIL6ZflQ0LV3Kbt2+yFzaK16a+tMTcJ
nEBOhifqSwQmEpOQmUpzrM1JaAo0sT4HahbYZG5qnc6CswucVqtHcjI6EZ704Cf33EPAXMh3dQBG
6wCZ2MyENLtV5iQzPTK/1sHMA3th3nwb3XCn4vw+PEYcLrjnqdEbODMqwIzbBBbxJQupyzEytmnz
Zv5IgTWkcC4ebg/Nn3cHpTNhdybsgetIGpVDQGOZOX6T8kb0g2pis20IDWxtcmrTHCEx0mW0Mh8S
qg5XLhyIzR0NbLreJlfpyE0FJ6JTH/4CExOQqcxEoYnm+aEnWGoqNRWbBTdZcPpKPZrq6Kqb5Izk
JHYiPYGV8BbAEj1adY8Ni1URmVKZBwOI19R/8DVdelcwE+aA9u3Z/QjdcF/DmUmIGzE0b5dTxHlo
FCOjN0kGKj9ksoS4LsgEkbmZ3qZNzEyygLCdicPml150/jkyOOmTRuPSfPxOyOtZog8Wm3mNnk8I
dbQ2+YqQOUI8I+TzRx6bRZHu9202T7D1wabeqURuEjgRnUJP+iH8IhKTkCnM5OqcoMnUjNjMuGmF
eh2cbA4FyenICegEdvqXfgVEt16IgCbhhgoycwPofV1+98EHVWYeTsx8DG+4b6KG5nLsaBI03QF3
iYwSKikySrxEYLrygPf88Yg5HbQHYm7ZIh8lykxtZ8LuzEsupMFJSRr9a5c0+hlLGtWGgE72n7bx
Oz3e8GLTMpv9DCFfo1dbmzKQbjNCYqRXsVnpbfrt7u3Lld3YPOzuByE3EziZnIhOffALAMxETEam
MVOhydREsYnYzLmJ/U0RnIPAKZLTkZPRCey0l36+GD43hJjAog0PbdqyDZHJzUyszF+UfUZSmX/N
MVOva9Ka9s/jEXe84Q6XNbk4X7YUqvMFcr/dTmpy3B5QSZFR4qXLQHmRiVJYRCYTk6D5EF/wdO1M
SxplK9oHDAGNZeb4Terr6wc1xaZeEBKxWanRu1qbOpBuM0JqpLvYZic25xXYLO6k17EZ93gckWOV
iZsKTiAnw5NpibxMwEzEFGQyMxmaKDUTNUVsJmyK3CRuOsEZKnUDp/U4rVZ3xbqgE+HJD362FO2w
5ZLdSf/emwmZ4v885QwgkJl6QO5rvJL+fbvi/rLbBQd72nftpOKchOZSPEV87z3z5X47h+0xbY+o
pMgo8dIyUHrxyUeMOOmQ/gttpc8QZqa0M+fS7kxJGv1JkTQq1g2PS/Pxm8I3uthsGkIS2gw+egub
v6aOkBnpfBDDrXbvxKa0yZoLNyuWkB8SyuRm4qaAE8hJ7HQPf42ImZCJMlOYmaApUpOo6bEJ3NwT
uOkq9QY41zE4IzkBnchOpOdSYGV66deWywmltSgyN2/dtoOR6SvzYADxGSSEJhXnGTNhT/t+OEf8
cGImCU3Y0MbQvNtfhqOw/e3ESoyMEi8tA6XENL8c/ttsxjUrW0V3J2aSbY7pTJc0Ou/sYqdRsW64
OgR0sv+Ujd/p9YYRm70NIanRs6x7ic3/ZI6QGemaP+qJzc7gpuwphgIwy226kfSDcnvtqAMnkBPQ
yfAUWj4rGhNVJjHTQ5Opadg0bpaCswOcoVZXcjI6gZ3+pV95ED8mRLylz4jtO3YiMqmZ6SpzMYCw
Mv96ZObbcecwBDTRBMLiHISmQHPRwvvuvVfuEFNc9A5+Fhmdhxmoe/gTzREzikwAJj5jJrczpTSH
pJFb0T4eAhq/k/pGEpu9DKHqPHptaVw2Wil3hHpiM0sg1S7+rte+WTlcube4WZm4SeAEciI6s/e0
IyYjk5kJ0ARqstgEbLLcLLg5AJyS4xTJaeQEdCI89cHP8f7YWiYR1uWGTGhmQmUeBs3fc8i0m8TG
TAm1Y0MTi3MQmjCfI9DUe5oUFp3LTzKjmIKiDJTrODtibnxIian/9ni8s1ma0xDQr5TrhsMQ0Lg0
H7+pfpMkNtkQKrPufVqbYbTSxTb7YHNQAskfSt8cmptObu4PF9IFnIROZKe9p+gdY2IqMxWaQk2P
TdGbVqiz4IwtTjWHJMep5DR0ruET4PJWr6bjY+vYhYZPhvTvtwvsn4RMbmZSZe5kph0oJqHJzHxT
7gGRcS7F+XY44L5eoLmUqblAZ5Q4ag+o1MyoZaDsY4wsOhWZW3GNHz5mprQzIWkUS/NPN9cN+0tA
49J8/E7Ey6k5SGzWDaFKja5Z90GtzTx/NBQ2y2NCPRJIhdz03BRwAjkRnceUn/8/e2/i7V1W1neu
Xukh6Xi7e5nYq2NHczuKgnZdzjyALoW3FEoBB2RQlBILFMi9IFDg1CgRBIQsxJGgYhABUbqYlcjs
3BqjplvbmHSvXtH8If18v99n77PP2ef3u/e+7ynqraqzs5JQ5/3d32/vM3zOM3yfZ/9u/E8Bk8Qk
MgXNiZrEZuRm8NMTg3Ppqc8tztTknJHzHb7RmA/+h7pPKgaBd8L7PpAg83d+7w/kmc91RnFP9/88
MfM/ipl/PmOmG5rvebfU5nDP38J94aZ+Im8KUvsoGn2z85LAjGHmX0rT5d74FLvhcQ==
1b+unTtXXPPzo675XgS0jwdi3IKxechHX8qPDqo2V/VHGTYPZ9LTVPqPp6n09U3Ypsc1NTcTbk7g
dHKKnSvjMz4SZDo0Rc0Jmxk3E099ZnGumpwTOd+ltrze0Pwd7/Dm5u9U/eF7nJjwyz/ym0j/fPLT
n/md3/v9P/wj98wnnZGZmQGZGTMp0JwCmtjB3QzNX/vVCM2ff2uyC7F09pTa+/+YNKMSQf3L9N0V
rOH3ODHv0xAzEc78ZXadu1LWPNsJaO/PsY/P4riysblUH13RR1+ENg9h8wnHsLmu27xSTuiAl77c
FSNs+CtwOjk/RSR+ZnV8Oo5PfWoGzRk2F9y8Ljgncv7qu52ds/FuldIo7oAk14c+/BsRmQxmaqvJ
pZn5n1eY+VdkZkgCyTmHoUnvHNDkPrqk5tROZD6CZtRFozGnPxEzGvs2ovQqCWf+y+iau6A9z5pf
rQjogX6q9vEQH1cxNo8nhA776KuhzTVsTvqjdWwmzd1fmmxoeDQndNBLT8zNBTeVUCc4Qc5POg8/
fWh86lMZMwM1Z9y8Hjgzcv7ae5yds/Ge90wbI5GYZjX/6wSZ8MyDmfkfMjMzZaYXAiFx7s55MDTv
e+8EzbdNmxAHlX0yXDRKHdRb+brSic+1XwTm+0JhqYczZ675K5eC9t0138ftNa5lbGYJoRUf/VBo
M8kILbD5+FS2eQibV8oJpcHNWafiZKv0aG7eF7f81Z6/bnDK4pzQOdHz8PhkOubYTA3O6KmvgNOD
nJPJ6eR8768Hds7GryuXct9EzI/+69/6OJCJ/I88cyaAVs3MnJn/7s/+LQOadM5laJp3/l4yTW3U
3zbfoyMdQTVK+1IiqOVWJL+uVxWIOcVx38twZsias91wXmt+5U16d9d8H5+1cYmxeWlC6IDWfU21
OcsIOTbn+qObwWYW3DzeBGnups+5GSxOkDOic6JnHBGUC2Ae4+bC4EzBmZucwea87393ds4Hw4Ka
vQT7H8VGSAGZ8sz/3f/l2/OqBOgSZiIJBOccWSAzND/yoQ++X9CEfpKbafpemj8fNfY+ILp/ayIa
hUuuXSVne95FYGp1tDPhmiNrLjPzja+ft4GbdrWYC9p313wfD/i4GWPzmI++HtrM96xc0x+l2JzJ
3Q9jMw9urnnpc3Nztnsl/HSwZwKnk5Po/Ji494lprGHyEDavD85Azhk6Az5DBiWZtYzMiMzfBzLp
mcPMTEqA/vYQMyHQ/PM//RMENM05l6EJ7/z99zk03+nUjOVJvzDX15OWv/i2hJehrbC/niZiRlv6
PnfNKWjPM0DJhpOP7ZvdNd/H7TeubGyuJoSWPnoIbWaqzcM1Qgexmdakr2IzDW6udPNYa1Uc+pFl
3JyDE+Sc0PmxAL9PXBWfR7m5As5Vcn4gWGZh8D8/4NNlCxI2pUdrZSCTwUzzzKOZOTFzQubfTo2N
/tqZqYCmskC/9VF65+93sJGa75i6180U9m+Twp6y0chL7yocg673RWB+wOWp7pqHDJDXTf5wzABJ
nBnawB0QtO+u+T4eyHHQ2DyUEDrmo+ehzQybBxPpa9hM+23OsHlAuZnl0lNzc9oZw6uf3xvjmwYi
99QNnCk5ic4FO2fwPETPnJs5ONdNTpKT6HR4xvHBDybxhI+6kTkh84//BJ65zExmgObiTDczZ8xk
EojO+e985lMwNM07n0Ez7twuhf1cYE+J/dtdNboA5oKYH0yZGTNAb/lZdBt+bdJtWJunpR3al7Xm
u2u+j9tgXMvYPOajp6HNSbU59fG4WWxeGtyMXnrec3Nhbh7gZgrOiZyr6Fy1O1fR+Ynrg5PkFDrF
zvn4cJK48lb0yJgbMv/wj+iZQ2f0l8nGaXN15t+GvkYpM6HQ/IPf+x0Ymh//LfPOP6LN252awuav
uMD+7W+fKex/2YWjvpnkr3ojjnBO3ydgRvy/P3ztu981NzN/5IfivuYuzgx1k4s2cLtrvo/bZVxm
bB5OCF0htLmaSN8Um1kufZkUWmz7+8tp3G1yI5fgXCfnEY99hZxr3HRwrpMzQWeAp484o1DKJCNT
yKRnTjPzL/7v6JpPLY0iMv9T2ETNmAmB5p8hoPl//AEMzU9/kt55Cs1fe0+yP0dQ188k9o5LbVox
ATOamB+MIzJzZmZCaEQzUzVAywxQFGfuG07u47Yb104IXSG0mWeEZvqjjbC5lktfmpshmT656Rk3
U2+S4JxMzlsk5yeuBU6R09k5H7/5m5MWX3sST8hEzlzRzDVmztoahRyQMROJczrnNDTNOyc0P/zB
wLdfT/bn8OIkjaixd1y+JxFCzYD5oQ9FSRVd85VopkrNXWgUMkBRnMnN03bXfB+347i6sXnIR780
IzTpj45hM2/lcRibcy99mRSaops/lZibK9yconDr4DxAzqsHOj9xFJwzcjo6Izzj+OhHJxG+miin
yGQCyF3zGTP/ZoZMuuasA3Jm/tt/Q+f8d38bhiZCmoCmTM374r7t7/nVUJsURhTZh1bC8eRNwJyC
CmDmwsx8K6OZP04z8/tSMzPs0RvEmXsbuH3cxuPmE0Jroc0sI3RFbB4zNx2b6156lhRKzM03J+am
u+m/FAWF78yicYmtdL+Dc0HOgM4JnvH3JCH1vkyfXiDzT/9sygCRmdpv8m9ij3buOxlcczDzL/5P
JM7/5I/lnMPQREgzQPMDLqd8b1KZlIyosvcmb5N2fQLmhyc1wAcI4feyml3azJ+b9gFyM9OFRmFT
i8PizN0138ftM65vbB7F5jwjlMk217F5s156nhRKo5srbvqCm++K3EzTGO9PCXBVcK6T8xPZ+Phh
cqbwTAMCH586JwuZEzPdzHRmphtO/k1AJszMJTP/zR/BOUdEk965oBmpOatMmo2osw/FkXMDMwZi
J2ZC+DmVAAVt5hTN9FLzr84yQHHztL0N3D5uw3ELPnoa2lzJCC30R4eweVPBzdWkUGpuxqxQkk2f
cfMdk1xm6pE7s50cBJeA84DJ+Yk1Zh4m5wyeKZNjz2RsCfd7SzNzyUxtbO7EJDJhZjozzTdH4hwB
TRqa8s4JTZiaH/rgrOXnyghCe6lHkwjmLHklZnpaaV5pLm1mambGUvN5Bmi1bnJn5j5um3F1H/2q
oc1rYfN6OaEjSaHc3Axuuoc3E27+q1khy696nC6N0n3gGhbnIXAeGR+fj4/NxvRdU5f5gMycmYhn
0jk3aJKa/0nEpGdOM/OvWQcEZiIJ9EfGzN8L3jmgCVPzIx9Ot9Gc6pLum0iZSO2VIY+8/MhHptS/
I/N97pknCSAvAXrZixMz8wnBzLxqBmhn5j5ui3E1Y/NoaPNYIv0ybF6SSj/mpR80N+dZoQPcfPu8
oGWRDk7BmeuRjoDzpsm5+IJPTv3ltV979MwTZk6GpqAJbPL/+/8cmcE1FzORBJJz/tufcWjC1CQ1
P5x2EVkZqdg+5+XEzFXPXL2GUQJEbWY0MxOhkbnmnz/LAO2u+T5u47FxaPOa2MwUSFfx0tfNzVS7
Gd30JLyZcPNtSaeJyM3UU79vHrW7n8AZ4Tk78slPen/ksAUctmqPZmZkphuaAZqOTQATjjmS5jIz
IzORBHJD06EpU1PUDE1EFkVJk/QyoeWEy6gxjWbmTJrpzTmgM0KlOUuAnvWM1Mx0oVGWAdpd833c
ziOj5vVCm4ew+T8dx2aQu88VSJd56YfNTU+mJ256zKYf4OYv5RXUk8F5ZU/9ADivR86Ul6Et8gyZ
ZmbOmEnnnIYmoGnUJDYFzIBMmpkJMxXQFDMjNEXNtG/d+vjwjJapnDSYmUkwU/uz/Tw9c08AoaHR
C79bJUCpmZkIjWZ79O6u+T5u73ENH/1IRmhNf3QFbKYKpIPBzTUvfc3cXLrpIbzpaaGEm7/wi2+b
BTivaHDeH+BMlUqRmAGZgZl/nDDTDU2HplPTx/9LYhKZbmZGZqaGJqBJ/9ypmZTCr4zUslyMBJnv
D8j8Fd84DYXm8szRN/P5z0WlObSZqZkZhEZr7Tl213wft/G4udBmkhFKEulXwGbaAWlSIK0ENw95
6evm5iwrFN30JC205OYvLlucHTI41zz1NXBej5yLWqLYPf4zcY9hj2Y6MxnPDIZmgKaoGcf/kyLT
zcwFMx2aNDV/K920/Tc+sj5WSpV+M2UmgplQs7/XNwFiMPNnf2ryzKEz+u7vuvvbn4lK86Nm5kKc
uTNzH7fvuAkf/VBGKNlH6BJsqt9mVCAtckKrXvphc3OeFZrc9ISbC3vzraH3+Eqrs8TgnHvqNwXO
dXIeQObCzJwxE4YmIpoOzUDNafxHEpPIhJnprvnETBqaAZpOzbD38GoxZ6TkYqwi8z3aNw115lCz
B8/8JRcvhM7o257+VFSar5qZxzJAOzP3cZuOS6l5HWx+7lFsfvEcm6up9MxLP25uLvYUmkrTY3gz
5+a0KVhw1IOEc0WLdF9eALMEZ1qsfgVyHkNmykyPZ7pzLu9c7jmpCWzG8R9AzL/+939FZNLMlGvu
zIShqZDmBM1pY46slPPImJA5qYwiMj2YGTzzF/+z57vO6Cmh0nxmZkJotGeA9vGgHLcY2jwg28yw
GYorp+7ueU5o7qXnSaH1ZPrcTZ/Cm2vclO79kKPuBudxT/0wOOcm50FyXp2ZguafBWgypilbE9iM
A8D890DmXwqZ0cyMzJSh+elPfZLQ/PjHIjbnhZyHRsLMBJlTAzghE3sAveF1r5k883vu/vZvxc5p
VzAz9wzQPh5U44o++qbYXM0JHfHSF+Zmkkyfl1gm4c1Vbv5kys23zjYJi9ycG5xXAudBk3OdnDNo
fjrxzWfOuRmawTuXe05Tkx46uRkGgQkjU465RzPhmoOZfyBmuneOoqVIzbSM83JmysqciYxmyIQy
E8FMz5l/z3Of8x3fJp2RNzS61MzcmbmPB8+4DjazjNAh/VGKzakmPXR3T3fFyIObMy99bm6m0c2l
m56ENy/h5hTgTDLqBw3O9x7sVXHU5Fwh5wKbqzkgGZoTNP8U0HRT07EpcHL8FYEpIzMi083MaGe6
ofmpT7qp+fGP5dicjyUz01DmJDKaIfONr/8xD2a+yD3zJAEUS4ASMzOUmu+u+T4ejOMmQ5vbYHMZ
3Ey99FlSaF27OXfTFd6MaaGEm9JvzhPqBx31eWpoFZwfXAHnFcg5w+al0GRMU9QM2AQ3Rc6/4v/6
SwATxEyQKTNzYmYKTTc1DzQOWUJzxch8n2/I9s4JmUiZv/bVr1IwUzlz88y/0T1zNTTazcx9PLTG
zfjol8k2hc2kJl3d3fNU+jy4OXnpaVJoPZke3XTPpiu8eXVu5o76mqc+C3EeBedkcq6Sc1k0+cmV
1HninjOmOaOmYVPgjOMvCEwRc4ZMuebrzJxvyLFCzsuMzAyZP/5a5n9e8TKp2RPP3Ptm5mbmAaHR
zsx9PGjGzWLz7900Nhc5ocxLn5JC69HNzE1PVUgxnZ5w83VzboYAZ8yoTwbnzFO/Ag==
OK9BzoSbsXRSlUAHTE2nJrEJboqcf+G0BC8NmCKmI/OPHZkLZubQ/Ng6M9eJGYxMhjLRMTMg801C
JvM/DGYmnjkSQNg5TZXmu5m5j4fYuB+w+Q+W2JwrkOY5obmXvlaXPpmbU1ZokU1P0kIHuDkPcF5m
cK6BM3XVFybnirO+klqP3IzGZpYJCtSM2KS1SXDOBnlpwBQxo5X5hwtkTsw8AM3LiTkZmdjM/F+9
bULm617zz5Ey92AmPPNvVs486Iwe9SW7mbmPh+bIqXmr2ExaebBNcZpKT4ObuZeeJ4VWtJtLNz0t
Flrl5mvm3AyOem5wXgWcR03OI+RMWmcGbMaq8yU1aWwSm+LmnwudGvxP8pLAlJHJWGaCzLmZ6X2W
DtmZyzhmSkxH5rvgl6P6JzjmVBl5/od15lCzwzMPCaAv+9I1M3OmZ98zQPt40I4j1LwJbC76bU4K
pCknFIKbSy99mRSK5mZemR6z6QpvpkWWgZshvum69yzA6Rn1aHBOnvrVwXmQnKuiJOdmis0VD92x
SWsT3CQ50/Gn5GUAZjAyl8hUOPOgmXkYmBkxg1+Ogsmf+cmfYCxTyGT+x4OZ0TP3BBDasx80M3fX
fB8P9nG5sbnQH61j8+QYNteCmwsvfZEUypLpSzd9Ht5M0ukpN133vuaozw3Ouad+CJzrJue8u3lO
zgjOydxM+mjOjU23NsVNkjPAk6wULo2XAZgzYtIxj1bmegooz/ssgDkRk5HM4Je/5Wd/OkWmUuYe
zEw98ykBpErzY2bmzsx9PGjHVbH5Xx3E5iR3X1UgLXJCq176LCm0NDdDVmiZTV/n5r0Lbr5qzs1g
cKYRzp9LDc4VcE46ziU4LydnAOfEzcPYDOYmwAlyip1h8MAfk5cBmCkx12KZCTHXY5gRmDNihkim
GZlv+wWEMoHMN7z+tYhlCpkx//MNMWeOCqDome9m5j4e2uP+xOYyJzQFN2deepoUmifTl5r3RY2l
0kITN2N8M+jevT597qhPBue6p56Cc5IjHTI5l976qg7ewRm4ueKkGzeDvUlyEp3pwDHg0nhJC9OA
ObMx5xnzHJg5L+fA5FaVsDHhljOS+Ys//9a3MPvzLwyZrw7IZMr8bg9mUs3OnDkqgDwBNGto5Gbm
ngHax0NpXD8jdC1sTjmhVS991dz0ZPrCTQ/Z9Fl48xg3k8TQIYPTPfWfmTz1CE5PDk0C+GByvifd
6va+WZxzVZX0m8kW5+LmZG5OifQITpCT6FwMHJZ9KV6umpgRmIlHntdHBl6GfYN8S/RATHPLf+kX
YWTCLzdkvu7HXv3Pf3hCpsTsDGZKzS7P/BH/9NQTQOib+d99zt/fzcx9PHTHhticKZBiKj0Lbi68
9CkplCTT5276Ipt+GTdDvdDMUU8Mziml7p76LMTp4JzrOOcm5xo519z1GTiX3JxS6RM4QU6gkyOA
kuP3hcuUl5lPvrAvF7ic8/KDvs8aTUw45SIm3HI3MhnKNGS+6of/tx9A+seQSZUR8z8ezISaPXrm
SgBNfTN3M3MfD9lxhJo3ic0sJ5R56Z5LnxVYJsn0NTd9Ht5MVO8LboZ6IQ9wuqM+NzhDSj3m1GOI
MwHniq9+kJwH3PVVcC799FhbCXISnQGfgZSCJXE58TKzMBfm5UTL2LU98lIuOYAZTEwS8+1GTCiM
zMiUX/6aH33VD/8QkXkuZCJljvwPg5loZ8SceZoAUnv2hZm5C4328VAbN4/NtCZ9XYEUg5tBuTlT
vKfm5pRMT7NCctPn4c11bkYdUqiznDvqc4Nz8tRjiHMJzrmvPpmcC3J6nHPdXZ+ZnATneoAT4AQ5
gU6O3w0jHPht0TLB5Sfn9uUaLj+ywGWwL1NgysSUjWnEfMvP/sxPvRlGJrM/r/yh73/FvS9xZEJl
hJQ5lZmQGUHNnnrmSQJoNzP38VAf22LzYHAz8dLn0s15dHPKCs1K09NiocPcjHWWk6PuGfW5wTl5
6jNwBlf9gMmZkXPKEOVG5wcWu2gkFmeWUZ9axwV+aviBAMuZDjPB5SFaJric8zIAUybmRExFMuGX
I/vz/a942UtedP4CxDINmVAZfd0T7oQyk8FMdM38okmaGXRG62bmzsx9PNTG9bB5qANSlhM67KVP
SaGluTllhVI3PQlvZtycdEixXsgDnO6o5wbncXCumZyXkPOQ0bkg51qMM2rfvVuxAzRw8lMBljNB
UYrLWZ5ngmWgZcQleTkHZkJMCIze/CYZmeaXI/vzsu91ZH47kfnkr3vC1zz+q78yBDNTz5wJoJVK
8x2Z+3jojmMZoathcy0ntO6lL5JCi2T63E1PRe9JWuggN2N9ugc4PaMeI5xLcL5uBs43ZeCMJmdO
znWj89eWRme+cdtKWn0qU086yk3/ORVFZrZl7ohPO5y/P8Fl5GUGzJ8XMemWv+H1r4WR+UqGMr/3
Rf8MUvaIzCc6MpNgZibN3M3MfTyMxtWxudo4biUnlHvpnktfJIUmczPLCi3Dm4nqfcHN2H0zJoYO
GJzBUw8hzhycKybnGjnfnpDzsL++3tZ4ic7FFhqLsRARHbMsU1iClgkuxct3v+udDsxIzJ8VMemW
y8hkKPMCNebPeTYy5kImUuZjR2Xmo5KceUgA7WbmPh5+YytsZsHNhZe+NDenZPqqmz6FN5O00IKb
sa1HCHDmBufLEoMzCXE6ON1Vf8MqOI+Tc2Z0Xhmdi23WZ/0+VjsF5/KhJSuXsBQtJ1ySl7/yjl9O
gflziGOCmG/88deZWy4j8+UIZb7w+c+75zuXyOybSspMQ6ar2RPPfDcz9/HwGzeLzUuCm4eSQiG6
OSsVWrrpU3hzSgtFbk7xzdgOKXXUM4Nz7qln4PSs+qXknDJE6+h89wKdKxWYqx0613bU/Y1JOJSi
8kMzVJKVKSwjLQ2XMC/FSzMwzSUXMEnMn/4pJ+brX/sac8tlZNIv/57nfdd3PvtZ3/r0b/mmgMyv
EDKhzGQw03PmQZq5J4D28TAdV8Hm5an0S7301Ny8xE2fhTfn3JzyQrEdUghwBkd9MjiPgTNNDuW+
+pKcU4boODqXVucy1DmTw3v9eixinxg5cVJG5RoqIysdlpGWjkvnpRmYEzDNKf/Jn3gTvXIEMuGW
08ikX46E+bOeCWQ+KSKzJTLnwczMM5+XAO3M3MfDYWyAzXlwc+Glz8zNuXZz6aan3Hxsxs15Pj3W
p4cApzvqbnB6Sj166gxxroEzCXKuk3PKEM3RmTvsl2qToiKe+HSCrgz/1/dPoJxIGVGZwlK0jLh0
+9J4CZc8APPNRsw3gpivATHplsPIhCrzHmR/nvm0p37TU570dU8IyKwjMhnMdDX77pnvYx/Xx+ax
4ObkpV/Z3Jy76SG8eZyboY1ccNQXBqdHOA+CkzFOZtVnvvohcs6MzgydVzA7AzwjPcXP90WITiMe
18cEypyUKSsNlqKlcDnxEgbmBMx/8cY3vH4iJt1yMzJfYEYmQ5lPe+o3PuVJd0FkJGS6ysiVmTM1
+wE5+87MfTyMxi1hMw9upl76UXMzddO98eYRbsZ8eqizTB31xOD0COcBcL5iDk4Pch4kJ+Ock9F5
FJ2H2RmknaQn8ekEPTD8E+IkQTmREqgMrIywJC2Fy8BLMzBTYP7461/7Y6/5URLzB7//FXLLX0Aj
8zuehezPNz7l6+96wp2PZ/rHkIkNgEL+x4OZVLO7Z76bmft42I9rYPNgTmjVSz9obmZZoRje9LTQ
IW6GdkhLR31ucEZwvjCEOJfgpBwp+uoHyZkanSvoXDc75z57oGfEpwD6a5GiyYj/IEomnCQoSUqg
EqwULGlbGi2FS/rjzssEmAhj/igyP7AxjZhwy58vI/PbGMp88tff9bV3QpcpZN4RU+ZTMPOoZ74z
cx8Pv3FT2DzipR8yN6N2c3LTc26WUzp9wc3QDmnFUXeD01PqkxZpBZxMDlHHmZicB8jpRucqOg+y
c/LZAc9IT+KT/HSErg//gDApThKUgZRApSxLwVK0FC7NH3deJsCEU/4jr0yImRiZT3sqsz9fe+fj
vmqBzFNHZhLMXCaAdjNzHw/rsYLN6+WE8lz6EXNzzU1fpoXm3Az6TefmwlF3g9MjnJMWaQ7O4Koz
qx5NTk8PrZJzHZ0h1rnOzjk8g+lJfJKfTtB3Thx9V8rHCZLCJDlJUIKUgZUBlqSlcGnm5cTLCZgw
MV+JXPkr7gUx6ZZHI9P8cmZ/hEyKjIhMT5mnysyDnvnOzH08bMe1sXnYS0+SQqvmZuKmJ6L3GN5M
uel+uus3Q3363FF3g9MjnJOnPgdniHFSjpSanImzviBnNDondIZYp9h5EJ5ueYKeEZ/kpwgaKboc
4R9FSWESnIykNFSClQZLty1BS+Ey5WUA5qsMmD/0g98/EZNueTQyzS9XwvwxQyddZkSmxOyuzNw9
833sY3VcB5tX9dLn5uaKmz6FN49w0/WbXmfpAU531N3g9AjnzFOfgzMkhyZfPUY5Y35oRs5odC7Q
GczOdXY6PEHPgM/ITxE0QHR9+CdISWKSoAyklGEpWE60BC6dlzIwCUz45D8Ip/zel77kxfDKjZh0
y6OR+USEMhNkPjJBpvI///1JCGbunvk+9rEybhGb1zY3V8KbR7jpdZaTo+4Z9SnCOfPU5+AMyaHJ
V3eTMzrrk815BJ1zdq7DM6FnxCf5SYA6Q48MfYh/QE4ClCAlUClWEpYTLYlLty9lYP7IDwuY3/fy
e18GdRHimCQm3fLJyAyhzEPITIKZu5m5j32sjqth86iXfsDcPMLNf3KMm1GH5HWWM0d9ZnDOPPUM
nCGrPvnqHuWMzvpEzmh0ztG5ZOcbEnbO4Al6BnxGfoqgAaJvnVAa4ehDn9Kf/JyDEqQ0VIqVhGWg
JXBp5mWwLxNgmk/+UjrlL5yISbd8MjJD9oe6TKZ/MmTOg5l7BdA+9pGN49g8GNxceunryfTMTc/T
QjNupvrNmBiKBufjosG59NQzcIasOn31yeSMznpuc+boZKwzYefrJnbOLU/QE/ic8VMEdYhqvCUZ
09Gf08f0Nz8tUDoqxUrCMtCSuDTzEvaleJkAkybm85H5CcSEWx6MTPnlTJjPkfl5M2SGYOZuZu5j
H4fGGjav6qUfNTeXbvp6WijlZqLfVJ1ldNRXDM7oqWfgDFn1yVefopwZOdfRSYd9yc4Iz4yewfgk
PwlQEtQhqvEzyfjpZPxUoCQ5CVA6KsVKwlK0pHX56h+FPw5euoH5cgHzRec0MZ93DzI/ICYCmeaW
y8ikX85Q5h1f/ihW/+TIPBLM3JG5j33Mx/WxeRVzc9VNX6SF5twMOqR5gHNhcF4BnCGrTl/dTU53
1hNyXiTkTNDpDvuMncFnn+A50TPB5wRQIdQh+uYJpT8Z4RjGTwRKkpMAJUhpqAysBCwDLYnLyb6M
wIRPDhPznud857MDMb/pG55sbnk0MuGXS2PEgsmDyNyDmfvYx5XGtbz04+bmITd9PQ==
LZRwc9JvzgOcdNQXBufcU5+DM2TV6atPJmd01hfkzNGZmp2BnRGeM3q67Ql8Bn6KoEKoIBrGm3yk
x/SpNzomCUojpVBprCQsRctXgZbC5ZyX5wTmdz/3HjjlyJXDKycxzS33SCby5eaXM/vzxf+U1T8z
ZM7zPzsz97GPq4ybwOalyfTETT8Y3pzlhZybswDnusF5DJzMqk8m5xTlXJBzBZ3RYafZGdgZkuwT
PCd6Ap+BnwQoCUqERoweGv4Z/sHrBEqQ0lAZWAlYipYBl+aPi5cJMM0np4n5rG995tNJzKeAmOaW
P+6rvlJGZvDLkTBXweSOzH3s45bHFYOb60mh4276vFjoEDddv/kl4ubMUV9GOBNPPYAzuOpBjkRf
3U1Od9YTcsY4J8mZoNPNzomdwWcXPCd6JvgEPyNASVAxNGB0ffgnfswxCU6+Gl9EVBorIyxJy4DL
GS/pkhsw7372tz+LTvlTEccUMemWM5KpfLn88tN/8gVC5j/ckbmPfdz6uASbVzQ3V9z0LLx5mJtf
JG56YoiO+mRwhpR68NRXwUk5UmpyLsn57JScEZ3R6nSzc2JnhOeMno7PwM8IUCGUDH11BOlyhH/k
R4FJcNJJaag0VsKyNFiKluaME5fwx8lLGZgOTPPJaWJCXRSJ6W65G5nul59+4Rf848//R179kyBT
KfNJZrQzcx/7uPK4aWwezgol4c2D3Ex072uO+hThnHnqEziDq87kEOVI9NVjlNOd9Rk5M3RGh93N
zmB3Cp5Lejo+Az8JUBKUCHWKavzzdEyHX8WP8U9eKVDSrIysBCxFS1mXhkvYl4GX0cJ8Jk1Mc8qR
K4/EhFuOSCaSP/TLlf1hW44dmfvYx4bjel76td30VW4eSAwtDc6Fp74GTmbVPcjpJqc76zNyHkCn
m50pOyM8l/QEPgM/AdBIUDE0cvTA8I/8kDBJUBophUqyUrAELc0ZJy5hXpKXbmA6MJ9mwIRT/vV3
PfEJXzMRE265G5nRL0e/zByZu2e+j33c4riml349N32Nm4cc9ahEihHO1FPPwMnkEOVI0eT0KKc7
68Fbf/qMnDN0utk5sVPwXNLT8Ql+pgB1hAqiAaTZCP+oj36fOPkKfA1RSVYKlqKlrEvDZbQvv+Pb
Z8B8ypO+Hk7519z5+BkxkS6Hkel+ubI/V0Xmzsx97OM646rYPGZuJtn0Y9z8vMu4OTM4o6e+Ak7P
qnuQ003O6KwvvPWZ0ZlYnSk7g8+ugOeMnsBnws+JoGKoY1Tj+6YxHXyFPsW/eBlBKVIaKslKwRK0
DLiEeQleRgPzWwRMRDHplD/+q78qErMq5JZ/6SO+2PPln38lZO5m5j72cdNjC27O3fTj3MwCnKsR
zqhFysHpWfXoq8coZ8wPTeTM0Lk0O8nOBJ4zejo+wc8UoM5QQdQ5ujr83/lhcBKgNFIKlWRlgCVo
KevScAl/XLxcApMm5ld95VfMiAm3HJFMGplTKDNK2Xdk7mMfW49bwObNcPNAgHNucB4Gp2fVZyZn
4qwvvHUj5wKdc7OT7BQ8g+UJek74BD8DQElQIpQMFUU1vnc+4nF9jn9yTlCClIZKsjLAErQMuIR5
ueDl1zswbzz+cWZifsVjxkjMO74cAiO65Z78mYzMdWTuwcx97GOTsYrN63Dz716Fm1O90NJRPw7O
OyZwVgGcC5MzyQ+l5FxHp5udZCftTsEzpafj061P8JMAJUGJUEE0cHR9+Cde6Jh8Ab6ApDRUkpUB
lqClrEvDJfxx8nIJTJmYUBdNxEQgU+nypV9+OTJ3Zu5jH7c0LsPmZVmh63Fz7qgnBucVLM6Fr74k
5+StZ+h0hz1lZ/DZZXnO6On4BD8DQIVQQdQxGlGajvgv+uB3i5PPw7cQlWRlgCVoGXBp5mXCyxSY
ZmI+FiYm1EWBmAxk/i/zSOYcmf/Njsx97OP+G9c2N6/NzVAvtHDU1yKc6+BM5Ehzk3ONnInRGdGZ
mp1kJ312wXNGT8cn+BkASoKKoYRo4OihoY/w499FTjopDZVkZYAlaEnr0nAJfxy8dAMzAWYwMUvF
MR9FfZHc8pmRGbI/ofpnjszdM9/HPjYdl2LzauHNdW5mAc7gqC8jnFcC5xXIuUCnW51udga7kz67
4DnR0/EJfgaAkqBEKBkqij5nQulshH/SJ+8WJ5+NbyEqycoAS9FS1qXhMtiXbmBGYMLErGliHiZm
EsqcOhntyNzHPu7fcXVz87rczB31mcE599SvAs6j5JwZnY7O1OwMdmcwPGV5gp6OT/AzADQSlAgV
RANHDw19hB9/FjnppDRUkpUBlqBlgsvASxmYCTCriZhf8ogFMRMjcxHKXEXmzsx97GPTsY7Nq7rp
69z8+0tuzg3OKcKZeuqHwJmZnCvkTIxORyetzinYSbtzDk/Qc8Jn4GcEKAlKhDpFvy2idD7CP+mT
zxQnn4GvISrJygmWoGWCy8BLGZg5ML90QczglruR6X75jsx97OOzO67vpl+Nm1OA85jBuQLOJDmU
mJyHyRmNTkcnrc7J7Ax2ZzA8Bc8En4GfAGgkKBEqiAaOHhz6DD//LeSkk9JQaayMsAQtzRl3XJo/
HngpA3MC5iox3S2fGZnyy3dk7mMfn+1xubl5a9w8ZHBeDs5ockZnPZIzeuvR6EzROZmdsjvps0d4
gp5zfIKfEaAkKBHqFH1qROlyhH/kR/ln3xhIaag0VtKyBCxFS7cuDZfyx8FLGpgOzMTEzIkZ3HIa
mZNfruzPjsx97OOzOq7hpl+Rm7mjvjA4LwHn3FefO+vzOKcbnZPVOWNnsDsjPJ2ejs/ATwA0EpQI
FUQDR6chLiZDn+JfPFmglFlpqCQrHZZuXDouzR93XsLATC3MYGLOiRnc8snInPnlOzL3sY/P/riG
uXkFbl5mcB4E56R/z0zOlJzuradGZ0DnZHaKncFnd3hO9AQ+3fqcAEqCEqGC6JMiSVdG+Hd+mn94
F0kpVBor6YjLtgQtIy7NHxcvYWAyhpkAUybmgpifG4g5GZm5X74jcx/7+KyO67jph7mZO+qJwTml
1C8B55rJOZGT3rpniILROVmdidkpuzPC0+mZ4DPwMwDUEUqGBozeNcE0juQf+EH+0dcKlDIrDZXG
SoelaOnWJeOXsi/dI4/ApE9OEzNmfpyYk1ue+uU7Mvexjwd43DI3LzE45576YXAGXz2YnAfIORmd
idUZzM5od87g6fRM8DkBFAR1hhKiEaQHh3+If3FDoBQpwUpalg5LGJcRl2ZeBl6agYkYZgBmMDGp
LloQM3XLj/nlOzL3sY/P6jiAzStx87ijvvDUpxBnDs4ggE9MzuCsB3IyQ5QYnQk6E7Mzg6fTM+Az
8FMEnRAaKBpJujLCv+vjzklYlUKlsZKOOGEJWia4ZABTvDQDcw5Md8o98zMR85CRuSNzH/t4wMdW
3DxucCYhztziTE3OOTmDzZkYnXOrc8FOwHOyPJ2eAZ/kZwQoCeoMdYpOKJ2P6R/1Yf7hVwRSOitp
WRKWoGXAJc1L56UZmIphTsCUU36EmDIyD/jlOzL3sY8HaFwBm5dxc83gXAPnQVf9ODnnRmeKzhk7
J3gmpmfAJ/lJgJKgQigZGjD6FQlM40j+RR99jHMSoIRZKVbSsjRYTrQMuEx5qRhmAGZ0ypkrXxIz
NTJ3ZO5jH7fbuDluXm5wXgmcM5NzlZyp0XmMnQk8Qc+Az8jPCFBHqBjqFA3jMdNID/tHe+ckQAmz
MrKSsDRaLnEZeWkGZg7Mw8ScG5lLv3xH5j728UCPq7jpl3IzMTjXQ5wr4JxMzoPknBmdqcMOdE7s
dHgGemb4JD8JUEcoGRox2qU0jWwMwz/aOCdJSqFSlqWx0mBJWqa4nPEyBeb/KGDSKZ8RM7jlx4zM
HZn72MdtMa7JzaWjnhucc/H7GjgTk/MIOWfoTB32wE63OwHPQM8Mn+QnAeoIFUMjRuuUphMbw/DP
8g8FykfPWClYkpZzXE689BgmgPl5AuaViLkjcx/7uI3Hlbh5RYNzzVPPwJmbnAk5Pc45GZ0ZOsFO
tzsDPDN6Ep/kJwHqCBVDI0aLlKY+Zv/y6EBJgTKgMrJSsCQtHZdLXh4C5ioxdyNzH/t40Ixb5eYx
T30OzjWTM7c5E6MzsToTdrrdGS3PGT2JT/JTABVBhdBI0ZSls5H8q//BlzsoiUpnpWAZaDnhco2X
EZiJiXmYmDsy97GPB8c4xM1LHfVLPHWBMyaHLiWnZ4hSdCYOe2BnCs9geU70JD5TgDpCA0QnkK6P
6VP6K37DlzoqnZUGy4SWtC6Jy8jLdWC6iZlkfi4h5o7Mfezj9h1X4+aawXnYUxc4FyZn5qxHci7c
9SU6Z+ycwTPSU/gkPwVQJ6gQmmD0khE+/SXOSZESqHRWGixFyxkuU16uAjOYmGvE3I3MfezjQTeu
zc3jnrqDc+mr5856JOfS6IzonLEzwjNanqTnhE8HaErQCNGUpGsjfsb/6osclBGVYCVgSVcctAy4
pD8+8dJjmAbMySdfJeZuZO5jHw/mcZCbNwvOy0zOiZyZ0RnRmbNzgudET+FT/BRAnaCBoRGjlw7/
tP5YXxVQKcvSbUvQMsHljJcCJi3Mz5kD8xAxd2TuYx8PznEr3FyC85CvvkbOyeico3POzgmeS3om
+AwAdYIGhs5JujaSj/lffmEgJVHplmWwLeWMR1yKl4mBKWDKJ59MzJ2Y+9jHQ25clZvXB+cBch5E
54Kdq/AUPYVP56cAGhEaIfqFC5gmY/bv4c/+cSQlURksS8AStMxxORmYcskzE/NyYu7I3Mc+HpTj
MDevBc5VXz0nZ2J0rqJzyU7BM6Gn49P56QANBJ0gmowvmEb2b+GvPj+SkqgkKwMsQcsJl9EfnxmY
AZipiZllfnYjcx/7eKiMq3PzauC8GjkzdGbsFDxn9BQ+nZ8BoIGgE0STMfH0f17+U/wr/5qISrIy
wBK0THDp/rjz0g3MFJgLE3OVmDsy97GPB/24KYMzAed1yHkInSk7Z/B0ejo+5/ycEJpQdBoTT/9R
9m/hr/xrPi+icoJloGXA5YKXKTDnJuZOzH3s46E/jnDzuuA8Ss41dK6wcwbPQM+Az8DPSNAUois0
Tdg4jfiX/3AipbOSsIy0THG5ystVYK4Tc0fmPvbxUBrHuHnMVb8OOVfROWenw3NmeUZ8Rn5GgKYM
zVC6GPOPxb//3ASVZKVgGWkZcTnjZTQwE2DuxNzHPh5uY1twLsm5MDoDOhfsXMAz2J4ZP1OELjl6
ZKR/Eb/of1iwMqHlhMs5Ly8D5k7Mfezj4TJuGpyXkHOJzkPsXMJzwmfkZwToAqIHcLry79Ofh69M
WClYipYTLld5OQfmTsx97ONhOo5yMwPnTZEzQ2dkZ4RnpOeEz4mfKUIzjh4esz+J33SSsjKFpWgp
XCa8vA4wd2TuYx8Pk3Er4DxAzgmdOTtX4DnRc8LnjKALiB7A6doH0q/4nBkrHZZOyw==
FJcrvMyBuRNzH/t4WI9rgvMwOS9D58TOCZ4JPRN8Lgi6hOjlY/7H8Uv/2zksnZYzXDovrw7MnZj7
2MfDcVwXnEfIOUPnKjsTeCb0nPFzQdA1jB4cy7+bvvPvrcJyicslL3dg7mMf+1gdx8F5TXLO0Zmw
M4VnSs8ZPhcAPcjRfGR/lH7p313AMtByicurAXMn5j72sY/LwHk5ORfoPMzOOT1n+MwIepijxxA5
B2XKygjLSMsJl2u8XAHmTsx97GMfYVwGzjVyXoLOBTsX9FzwMyPoYY4eIWROyoSV/3UylRVc7sDc
xz72cc1xKThXyblEZ8bODJ5Lemb8PMrRo4TMQLmAZULLA7jcgbmPfezjOuNycK6TM0Nnzs4Veq7w
8yhFD46Vr1j80H+5jstLebkTcx/72Mel46bJucLONXiu4vMIQq841r5x/rN/5yAu13m5A3Mf+9jH
VccVwHkYnSvsPEDPwwC9+bHyG3/nCC4P8HIH5j72sY9rjyuR8zA6V9l5BJ83SdHD37T84WyCh5b0
QJ/4fexjHw/icTVyHkHnYXpeDtDrj7UfWZnRwXU80Kd7H/vYx0NiXJGcl7DzKD5vkqJHvmp9Bkcm
/0Cf5X3sYx8PrXFlcl4Bnlfh582Nwz94bL4P9Lndxz728ZAd10HnleB5ywy97Jsvm+MDfUb3sY99
PAzG9dB5LXpuNi6f1AN9Fvexj308zMa10flZ4OcVJ/FAn7p97GMfD99xc+jcEKHX+8EH+nTtYx/7
2AfHrbHzaiy9te98oM/QPvaxj32sjG2guel4oE/JPvaxj31cPh5oUv4XOyz3sY99PDjHzsp97GMf
+7i5saNyH/vYxz5ufuyY3Mc+9rGPfexjH/vYxz72sY997GMf+9jHPvaxj33sYx/72Mc+9rGPfexj
H/vYxz72sY8HajziEV/zoufe+Zx7n3PyzCeePOJxd7V3239/83Nedu/zXnrylJOX8/+85KQ4LU8L
/p9n/sBJXVVnVd/Xp3dURXPWFvV4enFSl/XZUFU4WHVnZded1kV7VvdVaUea3v5tKE+rsTsby8GO
dONZM1bV6Y2TJ548w37oEXc/+nEvvffOF9xz7wte/KLnvPQHTh9jhx55R2HfUJRd8ajTRz/13pe+
4EXfc/rIxz/+cffc8/KLb37xvc/BZx91+r/ij5/55Cc97a47Tx9z+sinPv0Jd915d3f3o04fe/rI
x91VFnfbF9u/6YOPtf97Ujbt2TB27ekd43BWFF1t879/ptEfm0Y7nnV9a2ejLKoz+78lTmNzVpdD
Y8e6/qwY7Xw+6X6a2nBsat+0/nPV6aPvetG9/KPy9HEvuvcFjzt/wXNeZj/65Ofd+/wXPzf5At4q
zz3pTh/5qNNnPsPuoHxhFysn4Pyk7c/avqhxrLdbpCtP7VN9V/d2pGzOuq7qTrvubLD7yY5U9Vk9
dnYXNeVZWzX4+mE4q4dmsPNmP9kUDb6qtx9qi/G0thu3tNvVjlRnzdA2p/m0bpw83873izY/32X1
WT7hGz6l95xUY4lzj48N1dnYjqcVrl7d4GODfQWuR1UWZ93In+zrs3boRzubZWPXFs9aZZe26O23
7fI1VWlXoSqHs7GyGyC/ejdOsov8pBObQ9+PuKBtfTbWbXuKq9ZWlX17OVZnxVCdVnV3VrS2MFv2
cNaOvDuqoTkbsRBbtl3A0e6hurTZVCXmZf9r7IbhdOWM3W83Q/PZvBmedqvfN8YvCv/r5fYb33BS
nPUtHlu77L2dwpr/o6jsRBdno52YJrw0noMpnU3//QMnrZ3hvsS1LNuz0u5G3J39WWd/hes7nHXV
2BgPGrthC1xOPLL2IPd2rLPf7Xocq0u7QYsK3Mi+7/zku2/1unHxeP/Zcs/a8vR75i/C/EG5WHvs
zu2gYaYfAZ5xNNL1DW+2cixwz9ttPTalHbKZF2LfUJ9VRW/PXW2PVD9wXb3dps3Q2xNrN/PQ106x
zp6barR/60c8BvbYjEVd45G1f7UnFo+snaZh5CmpgMKqxzHDa1vb025Pb1PVWIU9qWPdt3bIkFsW
eEKbwWbZ8+tssUONR6i1n6jtMlW2lqKqG6y/MXj2/So6vnaTq2Dnv7Lzv7Koi5OV5dtKx/asAp7s
Njzra6NMZYio6xZXoavO2haos5XaevgpTAenvOrslhvxTjCwnNVdj9urwhf3xEplyGk6A6AtkROw
Q3a+7BOnK7PbcP011p9PztafrcImPHThwcHD1PBKN/axCkdwlnC5hjI+cfbU9HYX2PrtXw3GpWBp
Zw+vZaO0/W4LXFaljKeqs4fPrjEO1fYqwAsgn92G62+w/nxyWH+2DN3pFW9YvC26Fu+G3s7JWPBz
9vQ1Na6YGQl1AeuiLfA+463ejHpT2buhtQva8gTYO6oua70vSq4WbyG8vvgi6xpb98r0NjwBLU5A
Njdbf76Icz4pJd/Ypf1J1ZgFxTu2HvAA4F3fGoYqe4E2XcFD9lru7enH+mmO8d1o17jreD4b+xE+
ZFVZnQ1Na9/X4B5rQBMzzSqj3Gk+vQ3X33H92dzsBOSrwCNrAChangC7K7oRqzXCFZhdifdK1+Gc
4MS2OHf2zfYK4SNQt8KeQdye9q7g99V48GE9wrIY7I/M2LATaj+Hydjl5j2Wz2/DM9DjDOSTwxnI
lqGH1gw3HCvPaph9lT0fI+xeO1SYvVSUvIu7hg9FbctqOpp7lf3lAFZUhZ0oQBMnoPB3h9mMRYfb
vcYbgwgsOjOkK5ySbHYbrn/A+vO52frzVeiZNfBjtTAtGr896w6nxOxEo5du4m6o+Jd2w3RdyfXj
hDX8jcKgqfUDc/3AE2CXtrZnAZgbR94SlSMwn92G6x+5/mxutv58FXpk677kahu7K2venUVFExqX
rjVm4B7uWmAc1tRQDHhn4XmuC1zr0t7o/TjwdirtN/qSVoy9cLn+0s5nSecMxgBe/SvT2+4EkAD5
3Gz9+Sr0xNZ6B+LWhatp5ooxG09saS9te2Iq3sQtPYHSrl3TdHwF2M1LfNuP1HatWxKgGINzOppt
Z7fPKR5yO434XbM3OtgA+fQ2XD9s0JW5XWz0C6tfvXKCzrdbER7ptYAMnuN6bHCsA1GGU1xZcwrs
/rOz39sdf1qaXY13zB022bavYb3ZbVh1g5s9bVfjupXGq7HG15cIJpQGgtIcYbPNsVAzY8zttO+C
idWXsg7Hsd3y1d0B3PnUbJXLFdhs7Zmym8wmYvaqlgnHoITDAyfXfAo7AhgW+IyZJY29yO85MTu+
qmQEdFrJ+ckwyvKxY+buNqd24sw6GPTfPBH5pDZcNR7XfFq26mz6uEh26414gu1Y2cG5N4CO5gba
keJsMEPDjtj/wMM7ItBAa7Vv7d4sWpl+9k7Cc9+bNVY0fmzo7a1gBuLQFIMmYfbgcJpPa8N1w1DL
J2brXs7//MRu+LrkXY7bzy6EYWRozVPGgaYt+1PcGQWMexwwsthEO/PKmt6/uynpKPf2r+Pghxqz
hXoAvteBtrJ/yme04ZJhnOfTujjJZn+OME5NJwGHzFY6tbvUnBZd56axCz6YOdfAhsBJwevKlozw
TlhfW+J9DKdTWMLP1UYtc9LoUdt/13gt5xPacMVwx7JZXZxkcz/HI9D5KegKW/iA+9oP9LX91WCO
aVPqwDBymnDRhtoXM5griRgH7uvej/W4e+HulZUvsB3No81mtOGK4YDn87IlL6dvS7aVjXq+i9bu
anPG6mLseKAy0J0imgFHHQcawdZ8srahe24/0gwtHg+4WC2dGHpWRhRea/l6uNp22+RT2viFm0/s
4iSbvz2BDhIc6iu77XpEIAoRzV4odhYat5YQiSgK3NeNXdO2rUXkCre1majDUDurxsHuMzNjGfni
kb60Oyef0bY21nJWtt7l1G29lQwtHOrsrX3alwj/jTww4nnsCwexUaAu+H5ucE5ogNM5wfc0cB3q
Vj82mqd62iA2Vfprq8XtvJzQxjZ1NquLk2zuBpxRkR8csoU24EvLWLO9Vxm5Mz+0q7ueB9qiwYPc
hHggbI9m5BeZ8ykfCceK1p4Ls9TNCGk9WtPaxc6mtLEblc/r4iSb/jnC8PYCLXlobLBme8YaXnUg
FdkYOIM8US1ifzAgalgw9Lw7BIIHwKspFBDkMXsqGPWvG5keo90vhrN8Thv7zvnEbNHL+fPNUnVl
T9NTLxZ7i9FtRHxzMBPUMDsMcAXHPgQNEB5ggIjRRTpgZsL6g2tG5tgbAezIqJwUomeVASSf0sYR
k2xeFyfZ7M9xqCr5TsKcm+HU5me218gDgx3BAVzuO0ZcmhbGg3mavWxHO2FMp9mSDdM930iIBRb2
RrIjQzs2OsKU03JCG4fI8mnZiheTZxKhlX0EN7Ww694hhEMX0o7Q8LS7cFB20Bz+Xq4ssoqdIs19
w2+yI2bLMvpqdxBi6nDB66HWkXK0a5rPaePA6HJazK4uJn9+wlwqA+V2zCxjZVcreqt2ZMSbJM/K
3rOSveWy6063cuc3t82hZLih4zUfT5ez2mrRt5zRQh6nPK2Ux1mky15+8mUvPylP77x+igu5oSrk
hozavZIjZqco/cqDtAh4EMlJHuLzj0Ol3T48ZI/iqEPVYHbUjRMkW2QWIO7Op/ecB8eKiRo72MM3
5iHc1jjSwZ/iESU/caiwN+2Ntelt5dPjqxn3uwMR2KIfqGvAQ6a0WIczyBwFDtIB4EHGHXCoLQYs
k/ll5rsKj7rgUIHFaf5DCzMQOYdmVJLCDjI/zHwUTDEcMUfLU1QtML8yvRsbrtwTAh30BVXjK+8a
xkjtRa53IY91XDgMHDgxPIQ0t/Jr8CC48MEzbvb2qcO6kVfhKevN5Pd1j1W4N+qGiTg71FSNDo1I
t6/MbsuF0x/RVes6XzdjpHcg6FwhX6uFKwVXtY1OAQ7xtuehwu+BotRf2rVFOEgLr0lZnDJmtrTw
ZuC1bBGZKhtd8RKuB+8WXOh8dtutuw/xb7tEnT2qfMgRdClx6s1Mr2olD/DiqTpOv1TsA4dKZhRb
Q0kpFAwdQ8d2hJy4wZ8om7HxM1b7c9+H1BtcXVAIh/pSB8aBq87mtt2yzdNpmQmwC4R8o6ONrxbk
jMd+aH2eo6QejYfFcaitucgGxgf1JrbEgktEQglpqRtM39bKrrZljMAjOML3EA7yRzAX56ed7W5o
dWg+ve0WDoh0nKlBtRx1vTtPNFZNq4fZZ0qHF0H4Hv/MhPTI/FEDPPGQ/ZveB+YSVH0pNNdnRdU2
OkOdMZzfh/ggb2s7k02N1CWcDiXbbTLl4IcW89tu6SVlP7xGyjrSCyJPGoTXxs7nWbdNq4MMIGs9
lR9iHBOZeL4D7JCbYVi3eZZ9p2MV4p44UnQIeDDRZrfNKabRIwSMI3z08YfGC6VmkdXrB50wW14T
LoDdCABgpG6jqCuOjF3hl2TEW+QGV6qsAa4n4hoUP9VM/CBQDX4tT8dmp3kwVrXSYg==
mHfF7DaiYgwXGeLt/JVK75vdRvGVWdOwAPCHDFrfAQVUU5inhkOVZBxmfrocC7oAvi55BkczKfht
9iV6c9q5H4pi4B8XNa2GBlbDqO+bzW27RSO+DUMRK2wwpwtOtK/JdrMiGdM65yfpI9lBf2D4x23B
U1EpbAChg8hal8xYYtn2b43+0OwdM334bXV4G9FJAYPxp5Tl4MQy27Uyu+0WjjCZVtiWdMEx0das
Ehy0F2MpLcuAdwZlFaNjdIC5wGuLnExrF76SypGf6iVDsXUjTlVr8pXCpZAG2L1S6h6o/LmyP3a7
wk6sMLqc3Gar7mH71r7EZmC6BxMdGMqEMtHcMT7EPTJoHVfZ4jGr+la3YNXoFoT0wXOyFQhJASek
D/5YV1AGVXxieocuzxh/Ct9GA5DnleduZW7bLRuw4TNbdYphXkjPNNA2qSpRDFO1y913nKr5rSPM
GoT3kXmTgpEmXod7gbMvxyBXhBKilf7CzsdYMFdndocCkjxvwAaVIG0Q6jDCtjK9zVbetbpaXGTd
auU207KilwMBJp5baTZGGY1Q2RRUqDRh8qWhtqOOxczCYXSRSaPXHD2gHiJSnI6hKrRye/eUOr2A
v93z+D6+XXhy+aitzG+zpSOQBTuFGiEC64JTdZMXelxk6M/5SWWmcZCEglHr752y8je8Gb91RUOv
LBV1t6UjnyMDys4HDYpzKqXM6xt13lqKk/A+KP2MN/itleltt3JEe6iNKBHcHLlys2EVeUIuHfbM
OT/YNnT5CjgtcFkhz2I4FId0G7SF69mQow6mEuQczHbgbARTyT7Z9IWfNV1gsxaH2s83rYKV2W22
8AZ5AL45IQqCKAT6DHj+FIrYFaoZWqW1y6wkpKLS1NHioIDQDjFzAptm7CQ7sldeRfcFr2BFh3E2
XKFmH+x0VxV4JYz8tlLqHEMFOLoyt82WXUMcIeFLB7EJr3dTSoEExQzDnOf8oGvQmQ6FZmgI72G4
frgX+EKmeA8Jal80pEVlU+tMdKK6fa4r+d6yE0afCN9WFjSC7VwbOZrTlbltt2wjRkVWI1xWSpAJ
iwXyECpl+lLyGcgomMWHMGSkhWbvGKlKcYgvPbyJSDQKSjh7W7m9xvqCabDRo3OQI0H1yZu/8FcV
vm8oKlcoVSNPZDa/zZZuL5OBLCoRsUKYxZZuL4+WUUEz+xmROucHlfCESn+EYBtvp1rnotLjBxp7
bJIJ4oYPuFG7aCWmaaevK4PWB54eX172daoCMDyCLytz22zZqBygeAEqoNr1Z+Ugrc8dthipqM/5
ScbSebCkQNQA7SoTlDp0BiW+A8jEckC2q+XbDMDvq1Fng1lAfF+o3sBZY1EMX4BMBMJBpCw5n95W
Ky9O76QGqmTZR4kEN5zN7cRHK18NTtG3tLOjipWt4pQQM9n590SrglZGS4ZimJ4pMIPNfs3OXUmd
dOk6bWN4xZ9sZc8pfd0wGwNZUF+XntPu4JDgUFlKy2P3UGOeEb6Pdp8rHmpY/CVMmLr3g/Yuqe1z
kDgpZ95AAdxQ7VTUEoOjcqIBFuzrz+pSBTaI4dSdy5GajvkAMxaMpD3/WDJ3HGrhkeInzAz3Q3Al
NRM6okrwQZOCGRd2unUGihFSpvykbHW/shRENxRMn5aAKkt39agLN+eHa8SLktBFxLG3OUAgFnQG
ZiqUuAIl8ig63Xj8mo7nrAhCspbaOZ0z+6QKzRDfRTyb31dW/jk7U5J1Laa32cqLTlFAyZvgHkN9
NHh5FuXvLbM4kF3Ze5mTgJFU2LwKVIS0fqi1dwylWKwN4yF7q/N24QuFiTzcpE3JpdsnVTuCg6MZ
4Py+uq5dw1GNUHZl09tq5TAXlE7F3V8zw8t8Hk1h6OP7mq9j+2DdSnUAe9H+ZOw9ZIcjlT1Mo2df
eKAoeH0QYaN/heemUakJ3t2jTmGjpOkYEul84Hp7l+Xz2mzFpb/z8VtF0QbVFSPo0P53BdWro/uX
PGbPpc0SlB39CAsj8ZqqpaMfYcFgxRA0MVjAZ6Oham0Ykmeos+Xgu+qSwnI8VYgg5fPaasUDEq6S
ttVQ8yF+YC8HLwRsEKWqG+mu7GmvdKyDDNDuzbqrdYDXHNKlQQvG65j28OCeoj/mFbwp+1xRDl45
wguK2NEobZkxrTDLJJ/WVgvukSOsfUaE9cVJH1J/mHnZk2O9VzzyWDHY3d1DAd30fgQgQoBDBkjT
S1t1A+KeuiodDPZWwO0CteAwOOyYpUP1zKDbnPmj8TSf12YrruQC85urjqrR3q4ea2tYvdIxE9KH
aBmP1fZO6mH4juEIdEW9eTpVEf6upOfYDXp49f32bnV5j96vPDTiD73cFHmckpLKxay2Wi8Svb0e
H/tmuoxdL1NZ066YP0NeXbYCjtmLCuobNxRwBE5u16DUofULjAj8Dag7xkoKMq+Bk3xSr2L8pP0A
viu8BSuJ7bJpbbbeQjW3updQh0BVCgOPuldbhsKQsa5ZBYy7vKJIgxpKHjDfXXoFeoV8hCu+S/CK
pcSUjzByf1RPqlwPx/gXsEpKP8D643xWW60XsuMyPGF2UXA/Y5JenmPPrdmAmKRd4N7X0nV2O+Ml
2oQjLLZqQ7wbR8aObyXkuWqHL50KFsTyXctjfErx4pFrBmKhsj6b1GbLLT3jyvcDCvIuMMdGIny8
bXqGQHDi5avgnQTpDP4yvLco7rRL0rb+iaFlFpP1bIXbrmaecLkwwxo/VvhfDl1ZT3ZePqmtlhu4
IgOgo9bbJtmq0gbWRNdQAzcEFxc2x2ifw53e+Id6mFX2VcEbKIPN0bTBQob4tWiCaJJuPe0J2F5N
H1xl2Bz2K/msNluvvS+G4LJQBnuBCTGwIqNRghJEsxohFe6BuRsN3PLGIWtvKByo6saf1HokrZoY
KIHedWy9Dlw5Yile7bw0eJlXfqQ0c+Q0n9ZmC0Ypn/iJAEOHFzBmNKiopIKHDruoQRVYMAFqxH1Q
DigbBDcdLkITkYY7tepxGyIV5zbWAJ1A7YJJ954GKBTH0wY6gcG9ir7E2cvmtdWKaxem0nczJwdP
sP1+33eNZk4jn7Osg/bajGDqGaVF4c2KbBmCb83gR6gPvwFRIt/WcvpGZiFrWBOdu5ADLmQ9eHBP
elDzM/NpbbbgPtFqFh01wCgldBuvC+Hl2stkeMqL0fiNeatBScsK0RYKx1HvURhdFZgFXeQQRI9N
wQKGunM9MeWhKHxA1LNpfRLNOPCrFtPabMFm4HWD6zLN0qNop/UUIo4xQw/hYk2MIemCe61mClwH
uG5ezdbRAwkLXQT2FwhX0yY+YCl11/rVtPu+xpFqaML1tVON78qmtVkIpkGGiEBEaxCDBzwlM+dr
aroNNQMk3CHPQI+tYsFB26r/TCXZ942TOoiMWITQF9tVxFHVgYgKE9Blz2KDuijdL0NInwnw2vzs
WlF0vM2RLcSnqlLauUEpEJupudpDx9wHVCfgcs20CD+HGkg4A4YqeSzMIHFB95yYLeVtBRCZY9QZ
n3NFRoEvwVUti2ChIOLbb+jnId6Yn2mS140kFB6YB9M77lnVXCKdimjZ4FEwKIXq7WwbRPLMGQhC
zrKSkPJCByVFsoN2U+G8jkHKWaJXBx5xHOLbnOkppHhu8FQrysmEV8cMHg8OXa+D1KjjkAuqiti1
pnDBZ9HztNxYm91Wtye+Wq16lH+k9st8R8WEmF7hzXDOg5LzFJ0ESzjS9KGAnLlpHHI1GIJEXR2m
7yovJAk7iaxRFdkyR2Q3HPU5OKTqRgaJ6+Z0ZXab0RKTYu8IXAzkkrRuFWQh+cS8sdbNik4kqZDh
1KcaP8IHlMv2lGcVtHn8hbr0nJ5LAXiQNg0TfXgZ4pBrYApPbeST23LZHa0cXjPkNbTuplAGz6+f
X++i8HQUvU0cUgsKHDJQ+A2sYq2QyfL7tVNutxHLtHJzY72RDq0NXt7BE3u14e50ZXrbrXwIvUyK
Sum6Cz6Sncw5yIj9IZVOEbknPsM45H40lI1waadry5QVuHmDv2DvFE+EjqUeejuocBvPLbJBOORC
O5tJ1Z6uTG27VdurXIEuXB+krBxssvK8qY7mOQw0VRASxdsfh1q9Bhik4Mui5+vdDpXUYdWl+S0s
b8W5aaXDwkFvckSBfFeyPZfAiUMqqsintt2qkZVTYX8XtAr4Pa/AguhwoFiBU6XKpGRpI5fdeR4W
aSuW/uP7VDWFxF9bU8GP3msjVSs4HVS54PvQSKDSWWTVN7tAtcoJt/KJV6a33cqrYK6PXuV/wUl5
M40Bt6ivHEFCdadCNhqrrJWZ5JFqoB1Ru9gd2TqKmbXwuuYJoviwqvg5D0Yjq2fPACbiKZOhpUbp
BptfjeHElrBLMY0yVAuywJb0A3EbHRmQOMYRSd1xlSq8QW5wqVVfeIK5g/AAh7oitI8ri1aHFidk
s3NdsPnAoNPaDZRBYap8O9rBRi7Cubp+lUxYDLUEOvhjadrKoWI5MY6UKtRBebtk0zW6JjIfPPhd
CdE9HiqKKYZeNhQOjaNu0J4l6SuT227drbTaXGLf9jJpe1ermL1mSOjpEMFYZTNCtGxsG9ZFdCHy
3kPFVlZsWehZCogG5TUUSK+1OjuV+pWgUVrlOXnwpyz1p4qBoQibXdfy2W23cC+84hp7hFgvNNMe
Bn7ZGwuHUlNFQS9vdcTd0ZYEf2zXjwtnuwsVRnQlPai+1gvfK0IU60Q4fqxCuQGF0DyRZgyrwESK
GmQOWpRr5dPbsjCC6iUusvceNajD6EPjOr4FVCLQd4zKQfVYUb1vThpPBdqDQOSJ1iqiCnSLjUSe
Y+i+hfPD+/uc3tMYTiPbQSI3R77CR0AHgJWpbaqRV5jdFmh/1weZfMM4UccSFjWnw/Vm+IOdqxoK
ypuCopaOkqae6nT1a0OQv5e+cxjcYMbZobhEYvBuJAF7KOxZU1GEQJsdGsIvLGa3nY65Y50Fl9hV
kq1DQD4y9UTFZRm60o1F6+EE+5OG8upuZAYD5aB11VOE7bEDxP+H0QXcfd17uSGVAxJwj32oMGTJ
Ob6Ob0ie2h5Rhnx2W+q3m4aGUaf3uATcXkaKoja8Rs/5QXv1e9yqYv9UyLU9YAq5XoVmdHyAFUjq
Spp1ECS3MqLQ2qEspGXu3TPEQVST4tvsfh48cmOe4Wk+ue2UzI0BWGGqQrcvlMxtzAl3KLwqXXTd
qj8UisBKyPP6OqYhGvX9gN7ZAzPQgqqjL/TIhTqaoS1Aw7c/PsmiEp40u7oDey5KI14yEzRKFL6Y
33ZS5j60WUGVRa3uc6MyUQpqF3S38cHQf9H72aDSUpq31n6zgrazQzcqSr+aUW0kblCzLJkuExfs
eIoPqnSFoVfkdVi3OXX66Fpv5jeb3HbLLmTGKkzfS9yJmnG1nUSmUXIhliUOIb+MDkMV73hlZDuV
EUPF3LN8Bp2f2OX5BgXLRT+GVM8oCR0bQHjGpC9HSZa9SyoSDdS55rPbUsUcc3RMLg==
XFBuXRRaUB0i/yxVlGPb1N5tsC29BhOBKpZC4cKrqTFaHktfUTHV1+tcmPU6uIZZInWcM3tJ6dsY
C+GJbRFQzSe3nYa5PfNL0ajFLLS8fcy1FwhHUXPcqhfsHWa6KxXHpnPqtVQHGXIlybPa8HWqsgq1
YDw5DG6dU9bcVR7ZYwE5i7f0bEHe3LJh33Ju22l5kY3TbYk0swSIdew/XrPUUJ3lBqGd7faasqdg
2bV4Neo0IexEYwDWwpU1MpDSMNvNIWUQ0gZe1lg34ZlBfqNu1cZaTbJxiP0XVma3qbCzhiCPdhG1
11sKO9e+mh1ypRhC3ZY67G0V6B+D6VzEbLv0EfQazPWo63ZjbafdjKGfRCdNJH6zC/2ZqJUrqO1E
OlcyvIJFhO0pDjGix7YM9v+c6t6m71KU6nqPVureioYHqVtid3W1uEKOwPh5qjwirP2Ggg0+mcqy
QA/fsFQet1AjY9AOSqHYlI5alCjAEcWXUzWPJRUdyxw5hy4crKiLBAXlQaELKB7blbOxWfi99s4J
9tUNAgAjmwUi182wEsrJ1f5bn4QrP6JYElkB9KxgF+PRW47h3uNrBUcKaDBwwpB55wohWZCisw4V
qxQ4QhbEL9MRMzfsYT1dTq3azrUoUcjW0GqyO2mAWAvS4dGb8qMOvmI+FqpmyXrQShHpSWiaa+pc
xl7ZdKqLEYhCCA5tQW9Qmlz0RBBuylJaTjQnnFqBjNBy2pe5T22HmhE3bz617VYNH0fPLNyjgQ8V
GlCri555cgUjiPigglPwHnGLQ8vcs8EFevhwnojnUb47skcNxbtRjQ/Xumf/LXyuaPlmQli2oPJ3
CA2m8ZSx82Q2s+1Uy1Vs0lJIfgXVsreNQZeigaYRPqcYDtzj3gXKLUscETlEgweqk/kcopyeVwa5
z5qhATwVJXUaZTH64xO6jOCrVBGMSZi9hUPZvLaTK7f+1WyTQD0J9/+AfABTZ/34OWXNxVCqGxVV
mHjQej6sLKXHlUFitPEmVl1Yc2xmhKecrihfDTTY0Ieh8e+qaX4g9Yv15fPaUKYcui0NTdOH3pDY
+gLzdpmtfUpaA1RyQKoZmyzYAWbQ+QhUaolaVdTOI0TPBsTohFHxQY4NEXCoNyeMqYpeByhpX85n
s3VW3nsG6RI4PxdQUPe6gkZt9oOsPS2IQ4W9/EaIKxtvq2avRUTa2S8S/8mgFzpGslo5NACxb0Ej
pH70Q3bvjyG6hZ82JJ5mc9lMj9x7uyf89EitKqrxKVtjk4YON9wQCpyxzNIODZ3bATiAVo2IhFCP
h4tZ0Bkcao8b4MpxndjKhNJ5rMLeMfgaxVlwAAUy2XQ2W2fpteSjR2IvMD8JRnCHlgw3o4B97HU5
a8wdxeuMYODGHqAyj91fYSXw/dMPrlJAtmdkkAMV6Qhq856Efm8o3IBjmx8Irpfz2Ux9jDA5HyFk
9Cnn6721EMCjboCIwUg50qh7XY/aoVo8LtDLF1Jr9iHAIwn9MJXW8oWRwoIKjEJrFQODMT26JnYK
VtNIQUFGNp0NVdbdUEvrMjYUMWArAaZ2x1ZapnPortX3HiV4YAwiLvTJ2DGva6G5ljAN6amKibm+
CNLwIvZBDS9axgAQlqzCEVps2Ww2ExsPQbeGFzqSLRdql9uoo5+9M729o9xU2BB2cU7tACXzNDTs
9Yd+j8o9jb263HGbonbs3CTvekpvO7aolGWAYt5uCK5uwVDQaT6hzZbaSr8vi03CW7Rs69zc62Xj
YAsm+gkwEg2blJGP+m/+fehbR+5IOsqie8Zpi1p6RGnIVQ1TVKq6QKBq7PwI+1LkU9pssVVInaEe
uO0oIm9U2cRnRe41mjfSKsfrdLAnFk0BBj1OdA4Rd55aAY50rCED0449RSNMU4xOiQqPmYffnrIV
G+M56FUNayWf04aSebUFYj3VQA8APQ+aKrQsHDRHD7bBRezMbsNKVF7KfE/HI3TJdEU6iiYQTlUU
FQ5bxwQaJJbq94+qaShtUO4nvTYtIzwS2aw205APMsvcXx8H72nYhfttrL2lYauaDBh+nSZZVXJH
a1SAnKKYkZ0tcN1k+aOLrI7AImL5ByKNflYGVUO14Y2NGdAOzOe0YYGATPeSO4mMuJchOlW6D8lf
CKmhhy7k3wNW9ikqpHW9oTRglL91Q4DXxDzXWtUPHk+idsYA3KLovvRrySbsrfco4MVtBxZSZNPa
rvw267dvVC5jTqSU+pKV+5Wr+DsmMle27NtQb5htwqU9vZZ7da3v6JVtH3cLG+6tbq612IEr36hr
s9z1FfdrRAaDAWCoBlDMirXgPzslMfKtHbaa4ZcdaAJ63a95ufamq0f4SrF/J9L0iuWgyYjvsgNJ
kFxu6gvHonMllOxt1Oe3hSu2Cna9Z31+Q5FKH7ZFgbRJDQlq6kQLb+yEWwCyCO16wVg4QszQBihU
x2Z/iL3dw+m5dowVmK0rgrm5A1IFEm/ni9gu1z2G6iVs/1jq/AC4ygHCASrZ3hEViKHTg8uZComK
qHBy+Rp1N6WLu0Ac6I3U+p1SY/bIZAOgtpPar2kl/IDM1Hu/qScI+0e2oZMc239CeuBPE7TqBbvB
taEPUO3du9WDjjIS7XXUqq0aU9HowUFFARwwddSq6tBGc+VsbCYIZwVYKLHwUjl0dBq4ZQLgySaX
yPZ6Khz9Xtllr3CxNnQy1ahsE9yNXm2B2ri3V9f6e13yYyRe0Hl/oJS2KCTbYMpG+UVoGqTCyGe3
2cKbEM2Ku5WpvQgrzSlwKuRXbPVC6tR7RqV2nUrH2UVr8Bpi2rFsdTBVmHaMlo3aqYWHWN1xg40T
uF0WjtXcvqSMtgoOQcrK7gqeAYZFQduTkWWJN6Dx6rZMjeRffcGDwThAJ0kFyn3LH7QOMu+Thzr1
n8ChiiJERLy7UbFfaFAAfBTNqO67DGJ8FC7pJgk7xG4WkqiDeghA7LkDR9i5SPFo3KdMfLTDEExC
s3NL7j0bjdu6U0eDJhT4IouJ7uUMLNWdqshLCThRZt34ARYd4mmMHyGDb6zMbKtr2Hr3oDsYpB3Z
LRFSE+mSYarixYtOalLacPFGvL4OpZRcZoOblLU5vM5IJMnNQeEhe6YhscOmtdiLQE3C8TZHfBg5
W88Fj6HUZDmvYbMVb/eqV1vv8rL3/PqrNHvhZi9mCTCXL/D8LZ8bA/ecrBoNK6ZFZoLcWFvEZgUf
y/frxUn+GpY6OHtbZ2/0tff+in2QWxEr71ff1Xn+Jj4/WXlhZ+/09Td/ZiGs2BHZ2dhOUpW9ltX5
dfECl5Rs+aLPrYH8teySi9n7W7KV5Wt+xRjIZ7ep9CB/qW8mPVj76hXLYlspQPa603Z2y9fi2stz
9SW7+jLO39iLF7tMkIV1oYZOK1ZIbqrkFs2K5bNmH2V21HZ5wuz9fHGy8ibXln+LN35uFuSvaDYG
WbzK1VZl9r7PTYKVmW0WGcpe0WyFsniVn5/kL/zcKMhf0ay2X7zKWbi/eOHnRkE+r+3S/lnx5sVJ
XuOZlYHmtaLbRoayQteLk7WC2PWy2UV5rTzeZRnuSrFuXtQr73+l+HdRIrxSSrxZdGilKjevk+Ym
O/Ni6qzceqUo+zYLED3NDcZydbMYHS/cmMxDgBc3GwK8cfLEk2ecPOVWl/DoZz75SU+7687Tx5w+
8qlPf8Jdd95ddnc/6vSx3COnuNu+2f5xJp3Ld2K9n+bRH5tHHmq8WAlJPun+mttwbG7ftP571918
qDiw+dDLfd8h7N01u7vwFI/cgR1qtBZN+7Yyk+7X/ZQ2+vL18/USbdd0K1s11W1ocoVW4zX96brV
jjvarwvNyevQaBUZRpTfZX0q2Adj0c/i/CSgl8f6Dhui9d51nj0w0efKDEFuPsEjda0OKdmsNnPp
2rj1cauM+wVakXgpGBKIA/PhME+9GUipzojQOEt63WHLT23uJm0AkzgyEyF7Vq/Irlc9rPZI8/MJ
gd7ANM6oRCmajGH/tXxeGyYzvDMfMvg1ty/BzGVUd7VSGGrIIr8AFTNmV3F9Snhisygkj3FWVM2F
SVKkg6WozRFqVrjzDddLawU8h5mCI1KodoMsmXxWG7Z28TQluuGpDg3K63gFzBOptN7R92TsqWLH
zaoyE2gWkBOcmrageGosRt2aLL9mGWIxcMNXPB6qdeix04YeEL+BIfUozZzjtLo4rWrDCwx9smaE
IloK6mzmbDmlosFBYYohND/sC9WOoPW4blbMCQVKsG3a3ivnRmWscKIaah9Qs6nNp9h5nI9H38pp
q7tQId3jjmiG03xeG7YrakdWWfS9VA0X6NnkoZSevakwydE1NbFiFNZzUXhZKbtXYAseFZz3nhpm
gxuz+r1+tK/7QSfPi1d6CmPYv8f75bFy7TSf1IbtqNhGnbXObLZ6waZcaijXdwrPnOOY9o/ADLj9
GDarYYADcyzHkX5DuChDaA0DZ89DTjUjPOxs1Xc8m1S0jTx17hWh4BrZ/3xam3Uci4XKKACsVDM9
xFfOIH+VePLdRKtx3QNas8tRZqfejyUqqAs2B2z54EMbDnucG0lTEIKSlapjY7ZsUhvGtNVBBo4p
RVeUP3iLO5TDIxWPsjbV5pfYXG44zeUJVD/MVQznkpLwni/Y/bSD1KHQe6vo1DQSRYahYKEruFdS
PqkNl1uoWAidClq+glET5ztx9rpi1KQEBQh6adgjzRZjWh6u9dDzSBEUIGXPfGQbSqQQNtYGr+i9
5mcTPbjHUzZj492E1kSwK/NZbRbDQAEzWy+gtYTM+bbXpgW8dvaSqrReKlZ1yQ3C03IR7W47inK6
qp9PEtFOKi9Lthdpw3LJdfTigDuOOQykM/pu9zoDi1lt2u5TcZZe/cS93We8AD3rwHnTdX6hsD8s
7lSqXdBtw25oqXRogCDC3umu7EqaFuWovALbhjaKwqHswVh/ynu38CPFoG3SF3PabLW976xETU/L
t2+rvcJwQQwZriaTVJ0d2MuG2+uqQyYmNPRq5arVDyFegTNU8C6pKm2KJKWW6pJYCjLyNpHmHUfM
qqtP8zltqEvj992B2OfArXbRw1CbHiPgqr2f0aiW+zayVAQF4Wzg1/oRFLB0ZTBBQyMpJuQGNWxG
GLWg2W/HfKNs7IKF+AIUbdzbEbhuUWudzWpD2aFbEFWv8gh26vXWlBV22mJuk/Y/3w02AVTGQC/K
PSoxR9aydU28JihEY1EYHAmZxShmali4BVWjOntipy6bKveeHng/VdjcZWBsczGtLfu7oUen3qPo
t4AVd0HoiY1L2JSwjXWhoAcq9HhfkjCoXUGSLg9j3FjfS7mS4lDWM+p8EODX6dS2biN6faq3GXcO
GZrtbI0tlVR3wlQLjcORKJVyrAnF0UxtslKtjX0AuF+X3RfYiYIBUd4f48j7XDUAqMmjAvPGSdwP
ifmvRp00Yw/ozrursClnEboHYMvvfF6b3jEec5cx2nMbINzbepbrWm9vvpfcYoShhQ==
XQZgi6mfs2GQPYBb362Rb+a2YrKTXkntey2MVdEED4RvFDwfTDUPvqEyLMS2s/dHPq/b7K65LLx6
5yLEekVd4uqzuHhes4eafsDiIXvSSf4orj6umSj1+SfPOHnR5rHJqnrAYpMvibFJbjk/D04ioM+a
Bu4tiOyNC2e5wwl3OGu063fle9mpsR8qLhg3116fUNuX7Jo4D6VLE7sMkp/z2KB9xUe9Q3mEfXNw
iCb1yuQePDvR30pos2lCM5zQju3ihOkhxjewJ2pH26zpQn0rRM/QdiARLPt5cI0Et5RQF7dGzaVu
sAs5M2LDqHJRpg7dPB08X4We39y5Hr3G0OYxn9WWjdhdTFLIjfVG7LQwhs5de/ZfabwhGhs0okdL
2/msCwht0MpFW6hgs5OK+jD8HfcgRwaQu9Kd4+ubRtrwSpzgZiO9q8XZwTGf1oaN9r0lOMoqa+Zr
8HpTiwnkqbXZA16tCnyN3pOzdSGHNO3YaILeNQvakaWrFDxozlTljIon30ehlmU/dtpqrfUPU9VD
7VE+qS2rJGQhhMJVehpVxVgGq2RZssYSkMK3jaPlyL2lGm/ASaEPQybao89Do7S+fZdtpF272veN
kFyC2+wh/ND2odUHK4rkWy3mtZn5XXprG+SXua/OBQqaKgXrUeFZ0ILsmtBjEalW1ARhU9O28ear
qJ/tfLM8b9BK96prnJ5ISVb0rjr01W+9qS1VVRAVhY62VLTlk9pwH5SRAYCKrQBZ0TV4Y0j8WNPz
oWNEtxo0JWbC0fhMW/kW2vy5r7TlJZdWqOMqgr5+eUcZSvwqZXqgdmrRhwbBNaXve4WdskltWH85
SGYIbQGb5PWNniH+FrtDs0J0KAbf+pTXGxWhQ+kSLTYp7YfQbdm3RLXVdr5NIsSDzcjVIsLbcQtN
BAMRjO/jLvKlb9iUzWqz5Y4eeKUKomGdNLpFNd7CuVOzNDRQ0/6d6I2J2C2aYEpcWPpulngFlZRd
lOi21HitdMlmnhBVtuooNJRe04lNcCloQrdJtUouW91E2bQ2Eye36u3MHYl9R9Sh9+4E2HeWDV+5
m5a2peLukDYBtDttBp81eozwRUJJHppYlMzCDKMndLgfZsl4El65rMbBxplU86HjZ6kNlUflMPJZ
bVjsr307oMcs4cuz2r/yCzCoVvEcHQo67e5benUX+iR3vJ8r3/ViDP4OVke15g20MeB+Rty0Wpve
otGFmkRDM8Rtx9CMpvQNwbn3dz6tDbs4qHUhtKY0dC9O1A+EO9JWVdjql+WKjFxzm3JkW6Dcalyo
iloy7Yqn+CvW521+WbI4hD3KyW99XS9dcDVIioSf9ebzlSLZ+eS2k+H1Oo93oIkT5UfaXVC+OjWX
PW19xul93b2eZfi0YZWD9tdjlFry5WpUsPIG91B0xte1OoHo+9homDvXdwP3Ehy0szAnww4aK/Pb
rjlLw07zlA6zLbV2lJQHD4UxG22cU5VILnEONVTS1FSOmjq3XkbYT/JMHBrLziWbav0LuUddNq1/
mTppVyFFjR9tqEbDtsg9XgH53LYT5IUObmhC1oeNS5tAZXi/kkoiaunw5m7N7D/UeyceHGLbSsT6
GqabqiAyuMEWR/4jFCoP4fvUDRsabF56/G498G5BSAdP9sr8tms3hba53HcAmUSw5uIk6m/uUFM2
6i+hwFWbZU4C4ko0hxsbkj1sgsMWeHorhwVB4dt6p0Do/jrv74Pvk1OMkBeuNX+3Glx/zpzJyvy2
W/ro/bOwbTjz5hcUN2uXzIobGXEXPigwfVvxxne+gAxWTVwwVVoY6IbGjRJ5iBbNDfZN0yab3CK9
iF/HXi7Qx9HR588yToy5MC+7Mr3NVs5Wh5zTqETpxYn2yKRdiDRoyU0P0JVSO1vjIN0g7TinhXd+
ezL8qcvWh84u2lySb2bUmGiPTm361VPtyc2eTvmzDGawJSSrqZaT22zZSABKMAqnrlVxGPOSfFtj
00zKKLjtryYgkMGXUnwFrTvxGkYg1h9c7HVGKxIf09bEFbYok+6e38V+zDioexo/yf0AKvaDBe7y
qW22arSskJa2U2doWzRatdKd4sVB6wObKRyDyqfAwC4j0DS3uIEe3kZoZVv6xL1jHss0+HAgFN2p
yVhHMYIf5EnBb6oDdMUyf+N3PrXNFt0bPwZaH8jLjdz9iU2zmaLDpfCmF4gbD9rXA1VOeGrLuM8o
60zgR6GDuFJCmCqX3Q+eoUF7VqrO/csYC8JB1vGoU3ejiSDWsDK1zVbNXVOw2VbPMlpEu9RrvArx
YpujGchuL1I3YD4SwkRS9uAQK+65o7suDTYvYS4LH2uYrEQPX3bm09f59i+d72GHn/VTitYjeH3M
Z7bZehFuYqceNhBuVdI6xrI1BEVaqjhK2umaeqHuSgyUyMvHc0u2sW+YLl/JXgS2aPb84bd1el/p
21yfjsYypBatcOKu84ZHK7PbbuGjihTuQE9kNoS5OKnYu49mYVcpSnN+wh1UYH3z8tCVVliab2PE
QhDmozPO7YUxVa/eZ0yb6nYUYLUjDSAEJNR/sXJcMJTEYBTmQp97ZXqbFZJBKMKGRAySa8Oeiv39
Gj/5fFXaTEs0DCW9Ole70r0edEVa2fDwr6l3xBHu9mELL5uwr0/XaduMijmV0g/RX4MzW7b0zUDT
huIohiJqvk2wu678QfysOkjiIEv0IEmRdYuYDeKxmK5UljhUD+ysw6gBzyOUl4j/YKlSqTH6jx0w
Vk7JZme7hPmqmZd6x9vZLhGL0bno5c7YGqEC4AaW7NINTwierRQhbBbOC1DV8SkZVPdhi8TnmEdE
r/NO27Ek34dIF9eJ3+VWRJgMPaGV+W22dDjcbE2Hju6VdvWg6+erHMIbnn4elaA4/3x4VAjb6Qi7
7sBLchMSwT0Zh/iY37fQTxajfxurjfi7qg6tumBCoFcZHsSV2W3XJdrhwUl5zB0uEJMdujtrXXPI
P1VA2vvOHXDqOjZ3wyGEXuEZSHOLS1SWbDKJj6l3P0ov2UEfX+e7pvEgt3WT50VHBK9RfG5lett1
BS98RyT8GkMxKqakUcP5+2ZgMPC1yQl7+2M68GzolPIQq9dgILvF01dqi40q1carIrn1gbMK7o4K
byHARZAfvxvW2UlJsDK/7ZbeB9MVJkzLvXtg7LJ7GufP2mW1bmdLSn9a0QjcbEg1E+NmBQjds3W7
z75SnAPNNErP0mCDB98LCN9nxrQfZJKq4j7Cda9Duur5/LZrgd+oJzl/jU3z1AO/Z9AFEnB/9XFD
VFoH0B/DumXNmvaqo1WHJwDZ+lG3dq1LeYN/OvZ8C9tv9N4WHUo3tl3CQW4NThM0fIxdJldmt+Wm
B7Xi7n0vOb82PVDDM0zf06c0HdgekgAiz1hB0PnJoI1HW4jdu3hI5jz+dJRv2PeMtp/zN3QpexUS
w9pqlYLBoRJ74uST227dXQhd4de6Rptc9PEehmuj9v/okEh5ZlwRsMbqTB3C3Yzn3V18nDLf7QHg
70tfN0vOztnWhqdUv8wtE1BDUoVnghun5NPbrgq/TCdVsN2B7twhTF/pNrDVEym4i4FgMEfiG/4F
kuh4FhvuUcQnAqX0N/in/qaIPgf+2YO1vW+RQHqwWoKPBCylleltt3KwtvOTyv7QWPngsQebCzu8
Y6ZjiEoBXEjeoyOB9igm3hCHqyiH7/1Qq4gu/lSdp/FroyK6+I3GXx8epuZ5KQPe4olcTG+7PXxK
34oOP9IXZdjEp9d9WGlXS2021KnCtvcALjcqGgQDvNPKivsP1W6scSv7G/xDKc/4pkJi51y/0Mk2
gHU8djxpIxtV9B7kXZnbdstuo23SaiYX3J7JQ7V9qQ7LmGnv9SE0UDB9NNmo5fn0hXYuRyu6wMUi
bvIBv7nUzdJqBwHtAeV5aGQjYd5hMio3obmDOOnK/LZb+uD9Prk9Ebe4RKsNtXYVwFrtoob9B2u3
SbVMbB3IUgLqjXA7oL+I13sjl1yx9L9iO2pnBsNn2qZrrHRXNepFUQ2+EzYPUQibz27L7cnCDVyr
n6e2J5O4GPDttWOg9laTHziojAbF5NKL0K9F2pCbrXHfB0DaVQ/4U4ZD9JS0VdjuzK2FKnRfq2jP
iyIwXFZmt93Co78KLwiZcCy89aYp8tJ84V1Iz6JOEV47tWODHJNOcpqK27o27jm7nYnva6Iv6rIb
HCy6zp8KGuMV29IXY7D3sV9VPr/tlt6x47AcrcH34Qs7oTAUE+71IezhjHrTjv3jQr1RRXWJ2uh5
jo9FrzLYcTb8kRiU0XBZnja0xm3FdwI6LWtz5k7d5vPJbbn/YMfNOehtK2uDJkLqRIzZe9YGB1Ue
BaurY7cbbIxQyQmvUAzr/YeGGPgaBi18CJt7I+ahDWLZR0gvL+zjhwAoz3ftjwmVBivT20wBN8Sd
Z6GQp1yoRXdL7r7DMgnuCOBWO/WqVWkEQj3rIIsG21RDKwWfXDW6lAp0tFfRhb2jMVdLHYI+Fr4b
cTUc3E7+lvpd4DGS5pvvWXgAtJs1N5CzxX5bpV8yWqdILQ2+4SEczQ4FsXj/ytdG4AjPXna+NuzE
7fJ2bvnEOxCCYwaGUMbg0oCu13xZANFiBxo8RRKm1V4NDjNbJXy1v4Fv4O8IGe5A1TbUXkLhpU1c
sKMUyn9wURtd+9qbXWfz2rTNOqtgUOHe1KHLOvXoSNc3LLKGN+BlhdQ/4DVRVT7pCnsrw9pUySZK
wkfqQ/FXqsasuVMev6nwcDuaK3X2AjqlU8EKE2wIhHKxbFJbarekakW2ugjirU61tUhrK6UHg4b1
Wwjp1HYu4BP4lmmDtkyDSTsWvrbCN0Rog6a9oXiLOw40YYtedLzBfQzjQnVPjeLx+aw23BOh6Vlw
g82qKm0WMAYhLxqkadelwc0nzsAucIttGnh5m0o9zLBDLy0E7pRXM/iNLSFU54fsZl35BhCNqtMb
b5RFX2EMbYmwZ3A+q83EW1UQeSLK07PiGDs0S1aKIFXPeCTt/c5nQNcfm1yXYbvDlhIsL83Cjogj
nzgavKHDUesbhIStbLjXob0qT+k49D4HbsqUz2rDTUxYycXymLKhfh/7yvY638OZ9prFvrKqReMm
a3avmiWnHXYR+AKRowXIJt4Ii9w4GctwfdtW36nGmiqIRDYYklPk1LSxM9rSjWaN5LPaTLvlEgQW
CGGrrguIyVr1sqemufetc3y/d8iqUV2LF3yj/UYb5d9hV2jHQ4SnWjqneMMTOyw7oZMP21I9DFG+
ZydojDu9oxwZFzOb1HaSrcI8ycprhbxdMzcE0EVBYQXFl9zcwRuuu1FPpVrp02yx1Yx2iKtDoxNt
YMFWZF3jHTUGbbBHpZpu6tDlnRsTtCREV8lMWJnddgvHBh18HJHlUi8+bIFFtxT9VqgR1B5YvXYs
gYlXltwDq1QpQ8dYDLVrod1JrSjvDWrSBt+nmYZ1499Wj51vQ8xOGlCl+Wut6yTizA==
J7edTs07YqoBSVlJqNa66IDdTErtgxVTRLQAQS5q11iJDhOWOXk0CCz70ClkbCRV60M3OeSbxta/
zSvQqMhG0hiFy96nAfH5qj9dmd2WW8Z1quRgtK7RRnmV16lwSxfteYY62UHbQo/Kw6HskNvoaevx
Rr0MmZHncrRq1Ca2vqM49yjVd/m+DIhzQO2Cn/QN4pC6QhJ5ZWrbrXpQHpZ9L8yIrHx7wLAHOBKs
bPUNC7LWdiAwHlooMiE+9DYejaK4bDmpZxkxmpadPPA57RrGpiCtFJn2fX46Bt/MEoW82jYEHTfs
+05XpredSK13tQa1JeaCUJ8HcQZfnAinlo16UNtqfVZsaMldeUctEoaMZFlNEd55fPu2kvZh2zhV
Q1UKvNKcKys/xIw/rFVvjwmTp9owPLvy1Vu1/uK+uoLC4CnEC7aB866p8JMq7Vvaq20B58AEPM0C
6pBL7nqODSJhBfDlP1RnaoiCT4VfcB2Nf5uK3xEPpCK6wa3G6zHg/UIVYTa57cRupYtwUOBFuxpi
tzrcTUMT1bfYupxP8uDOrN6Xtbcjpi4R70a98MNyblBP581REUl06VyrFDiPUVCIH3VDd/AOnCuT
207uVkhKxjIvmq4XVOb1atY0eMMFaNRq306ce3vgenetB//Lwctm8IpweKBbsbTW/FxbeQWY1+zg
61q9VtA/ExYif1Y9ORCQgNhoZXrbrTxkl1AVRr8Jmjf4K2pTXUr8AplaGforwLpFbBC07NSCAMFM
CpGR8GnZH4ZbGOr10IfyKYqlpOTF1zEbXjJyCK0/XoUqIeb+pJDQ5dPbTu3XeXqVu9WQHtTnqfsw
qvRUzEgZX6cL1yrXhefYu+CM3lOIJaFV4UWAjG5D/Baq3amzQoWJvq9VV20Uz/HWxk56jUoRR2dp
Nr3tBH+t+lCxeIzexgVlel6Xb5djrFSpMND19hI+FqXghvYdo9m+VCI298oxd3qberS9xLmq2YSc
4sAuVMxJ8oe0lbeJpcW5MrXt1G+N5+1Q1dfJGGAIbQjVf9r3A+vvJdIukFq0NxxLGrvWZ8q0XsWd
xPR9VejCgM+pCRyK0pja1PfJQqBgDhVLvGka/W6rnSvz6W0nfqt8py/VxbFOgSXlykijFXStQL/N
TxZo5d4N/0Ky08K32ESQkPItzrTVXrJVEdVd2JWroitbadO0RgeZn6SK0LvkD3pHrExvOyGa71Og
or2KlZMQ28kJkX6Rel5EZCt6ZLhwdNhQVMZYEQ8xNwctmcv8qZ6jCJefU+YOjlD4MqX2S68ipsJP
HeVRvtdRhZZNbjsVWhGKQfC7FTcAQeEVt+RSNSSsDOjGam8gjYP021lGJikZLiWECSpT0o4LjkLI
0FrvUQyZIwPW/n3cDxEHeZr5u3xHYDLQt61Mb7uVj8qoMsYOTwMqtEJ7k2tzCPUphCDMc1Clp9hQ
UVXrOaWqsq2pJAtlgZXKi29QcVbGgwy7163XAkOhOTJJ0PmuDiwpLfWQsGeGEgB98DTxqzKHIEsc
YHmztKtUZWfn2w+wFKr2Q/SX8H2YuapUO00daw1r6JQlz0/Jdpq/3hsCYT29ix3Rb1GlN3jQXOyI
uCubU+GgK98qdWOjbpbnvwn9cKqyCbJMfkyKADx8Aytr9HUqkB2EIP5sO3hJpYRv+fS2E761IeUX
9g24oBqu9UW2fGGfUwwX9ipBJhTLbMMLlNcDNyYKJRrfvqSTYvcGJW5e74HyTxeaoLhEurfKTTT+
rFTYaBmE53Bletvp3mpv1QMBrkf4IUBT00nenYWuOYRvVagyppgPySs6j9rhBapzKLbKUJ5cD7w7
pY9TsWipkJp0b+x6xYO8vm0UlVSlZyTz2W2n/yoVnmIFK8uVpHsjuTl9ypGh12p8TwXcigy/MyNe
ChmDC8GRqur9Q40aqlJf3g5eJTs4qbomvJqqioUvVML5KitVkq7MbruFD+pXrEphFQ1AWE5blwXM
KlBjml5lx3xUccFZNc9LVLoShprlksVcSJ+qylEKiOrUC4Gr8HUKV3AjGwjG1LqG2oqq9iuezW47
8ZcZPKP/PIWlFxSEeWkM2wzWQazlohw0uoMRKVFX7c8f0hzIEHeeZB3PVAOFP9SWKBBm8+zg2/og
Tq98PwtpoQqvk2aeOZ/clsqvqg+T8vJt6LKYeeDs+9o3FWq8ewgPAlXQJ7nCGSwquVdgJwGBDsmi
5yZFUgJVjfallZRMwSgehHuP31XygZMh7vL5bbf0Pt5xXqB/QV3UdAsP7KfLLYiKcQhrGiSBUhtn
HgIJJIGqfeV+kSiBkpq5UksOSaC89gi/C3nNgGx3lZyelbltJwuppFDXbdjrCac7Eibfaac2KA7U
/4gHYdVQGxTfNJTnjX3sJTFKJiUdUKe9kqrJ3RibiDvXLUAoxe/VXKgZzqe3pSDGYcJya6lhJjpV
jHtgxyvtRU9i4Y7jviLsJU6uSaJR+c4vpF/bax+vQlXuApaqyqqpzqnyiDf0MU0fwMbVLue2Wc/o
ogxbpaFNpUr+sHUKt8KRQdVRjFmjxZgqhErvqIM9OhqVG5VeiQO1SqWKXbztSl5u/mkrKmOfMfrB
/JFavRe8YgcnbZD4tfIQ8sr8tls6mhzR2LCv9tJtbLXmXSPKXgE9THVQi0EebLgFLTSJpR9hp7aa
7lHplrtvWI+/DHgqKQ87508o103TZWgk8fG3FtJqfmgxue3WPQahPHqsqoK5xl5HaiWH7BTeM+c8
qLANOtRykWUlzYY6w0DRhK1bvHQPnVlGOq74y1Zl7GipwucbewNpk3X8LjdWwiEX1KEDLWzBldlt
tvDSw9VSXMlMx8HBvU9pzrG7deOKrobvbRxRa3scoa98g3/IlJWeh6rWGmOxLCyhvtb5Kfs6WDgI
dFHl5Y+Ss367NWZfvVUSpHY3xv0n7jWPbQ5DH6RaCrNz7gBdl8EBZsCjZttOD4rwBqL8zfv3RBMV
X+e9ecooDqqD63pHjMHUvNP0s/56yWe33SmF5r70PSfj8wI7oPPoQHxeEAIN+04WUvmNoWQPajpI
guvQypWHSjnvPB3+YDXKjehEDtMNy/dKOcVeWtVprsxvy6atNcMztW/VVfvy+bh6QzDqm3Gk02sR
tATtccj1rdwkkZLdmi/NMsTH1Lxrq/je/9/et+3ojlznPUG/Q9/MjYEtsIp14qXScWAnEzuRYyFB
EAzGo7HsoLcUj2wZztOH32Gxe//FUXSorUyQXFiwSrv5LxbJqlVrfYctSlXdoCAcRg95rn8g64DH
EKCoBSVGIkuw8uwsdWNAdeNSNZtZfcPHprYd3kUWlJnhSt8A0wkCqoiPzbNTVT0EckCndzVVMlSt
isr+oZbQLruVMxnYBIApF/IP0owiHpECpBqRxRZpQsekFIdxpE43U/YDk7619fyZLV+CnZiZLTAo
EtseSeV14Y320YSYJMIOaiIQqANw6bi88aj8Uze/G2i4WBP//OfMSmiies4McCiU7WBPC4dqcHAk
30NIDhn+U0zLzDKBouNjZBNFfFIMVgGQ0H/B64Qh5YwcwmdHl0WhNzBkLZl9u3rKPkNRm0nqn93C
vIkZWwngRyOWmxgneWs1L2Ec2sLDp/cmJNSew1OGtSYcaLSqA94jctg5ViXigjHQ2McR1SCMoGwK
aJ2+U9TXyZYBMKrt2Ysd1SeJ2IlMiQYllE46dJ708vRCpIevn13wFgqD9RpWRYuGrDiTDxXIX+6e
wbI1awvLIaoDVBKl0WW1+S5ECYgiAERWBerN4groAldb1XaRvF8ISnC9AOuLNVk2IZSsPHQ+G1r0
7JsVhdhLpsSpml9E9qnqOIe37M6Bm0oq6/XQoUVZL2WV9cyAQh34zGV8HGYvGZVub5ZZni4vpLwL
bkdZPzTgcYlSr+poYfeh2O5TB9SumzzsWYN1kZ+4lB9qPaxwQt1qpDhDR1mAEzeuny0KbQD5NRUs
82HQJukS+GdYn7MEL4ra+uAxy8qE1UBkly93c7LOo7oGzfKcFqZnH0nEMPo/D+3tb37KuA1KDaF8
xcqclPTc9mhXRQDoBjWI33kgs565c+PbREpsbq+p5pHNomEb7OUuvGUvGmg2KgyfizORMjrZW0P0
fHDsZOKoyUSOrwEr58vdy81iVMEEXFacIqxASwWLgYs5Sp3+Va6/uYkfnnH89mgcP+2vJNo8bMOv
T9NePW/n0/768jRvw8x5HjbraT+fYloGDp92uY9P02b4+vQ9W+bNxjpvwDcb9c12frvt36cHN0nE
w0anjfNhS3x9+p6t82aDnTfieb+eN/Wbrf82P5hziIdnsE7u7nFj/fh0swO/Pt3t1PN+frOxvjzd
bMGSA3vcqm829Cm8dXiRaXf8+HSzj74+3e638658t3nf7PE3mcC8O0oP5GEfVUf4cb+dN+Xbvftu
j58zgXlO1vXXpn3149PNDuy2w8NOPe/nNxtrtB0+2YLVwHncquf9fA5vJQ132qdvNsPXp9tN82Zr
nbZgESwfduqb7Xze9r95ukkPbpKIm5tY6qAzM1dnuuYNp/OR9nnHDJ35ozc805enOz7qDWt1Zrd+
83TDgp2psneE2hve7UzOnSm8L/N8/cCSpt/V2Gehd/o3Tzd1sJti2V2FaC4kQZczR8eIvgl3VlyT
mdCXIL0JjUU6GzKOuQZ2Wyq7KandFN5uZuyzmQ6V/2OmQ5/VYGd7/slv763z409fWGgIyM4PZOvK
jgtbySILHZWAYXSD5LnRVL/+NQVQvJ5Twww+shBFT5tbG139o2Jur4AIBaesv1ryZZYmfQ0dE/AJ
fXwiLyfSVLoSAsluOUFwOvDe/1RwGC2HIwAasFjZdssq7Brql7bGLuTSqtixfTd5JoJuyG2iZGsD
E2XNRuSyH9PNJtlgI185l13V+Mn7qcRBrfm1v346Lt+nf3r6h6Ur4svTn50Lw1+sXxjab1oYSNMm
ABmk2Y0FwM8UR/9NccwGcR9vjOS+/Fyxjc+8eD6YtP0/b5G3f26LvMcJ//+pyw83ddk/d+qyNls5
rgv9pv/vi6/+6fw/OAOe//nbewPiT0BsfktivvgKVUixOlm7omnPF18BUL4F579lYh+++Iq2DRQs
6OYGYRSC4ZZmSeEzdXddjP7tkp1St/8PMQ0/Ok+uP+fNpfd3Nn9cvLP51XvlMPAwh8lerATSqPLY
bOTH8sseBz4ZJVKc6PzbFPj1RMXOAWwXOESknHe6LEr06XAltImKgj+mzqMUgeFfc3iiUBZprMKA
aIzKExGn8tIp1iwHnLKrzFOsivyNb1yFKRBQUTPEaX4TDw8mzBROvVl6vvhqzQmSzyTzmdzc3keG
OE0G7/qohCJ+gPNB3wGEBgtUOkeNmApJDUpwD8VCyGjxpiE64QN4De1CDINbyEUqw0u+HcRWDyW2
KP9S332OcvFs7JqNOUjOxnRHDB3umFvog7TCd8DUOVGL8RhHur7UKjAWZ4P+7yXqlQ==
kGPkJWGofESBkqkZajny6SYAk7KWc5SLZ6NoNuYgNRvTLcUXkS06sgtNS61jKSfV81stgNV2UBJk
/MxuiD8JyuVk12wkRIkAkjg1KqPx3rHf5UC5keF4E+bi6aiajilGzsZ8Q6/+rqQZSIeYAg1oetsO
iygRl0t5uUYKK7S2AbbRbOTLKi8Jx89rlujVAL80gOZFlc01v2R66xzm4tlono0pRk7HfEf6zKvt
z3DmSA1FPzrSsweEfauhM4GmRq0UNMrYnvyxgOZmHmBX1ZPXhLREkfPk0OEd3CsTXIlvwzs4x7l4
PrrmYw5S8zHdUnzo0hoqSVYctGqhVi26kxtQVnjXJWYKKbJRmr5z+bKJoLvLXErTsXlHgqEmZQxB
1SNNHtUN1t9volw8G0OzMcfI2ZjvKL5zUeZov1X8ErMhAKm2c/3Tq94GSf87OnUteTZSlNq3TcRI
XhKLZR+mu0si9VwsxVQ5z1haSOcoF8/G4dmYYuRszHcUn7kYzKhcpW3nO7ypc41HisoV3nT5lCGr
Yx+CswHY8CYRh6ZCFS8JSKs0X7CxczZAF6AQJhIqGoDdhLl2OrxyzDFyNuY7iq/cAm54wXFIpn+e
nJBR86/0bciqilG6scDTjdNB7rtshXdR4XhNAL2VJh7F4u/Em1MYCQQR5BxzmItnQ1nxTYwfF/7O
91z+ZsJe196dFoK7EtM5ug83viAxe3T47oXdM9UuIOaVi6jMZ9i178oiQYppI7TO2q7nCb0zS1ih
RJJoY2nBEsI20EiCvJM9tkPqbPHz1EYwh8g7frwbxp1C0+ywKR0OYxsFbnCIr5Tn2oy5pUZfL4z6
PGtY6bBeJhzn6GEWE7ThYNJq30dpxWFa5uAWz4E+8Tk8zsF0K3p43apntD5HKeNcjGVZIoWPQgE6
wkoOlFWcQwPsIJUTaBZC7xmXg2wK7bwwOvq515zp6rD8Hwrr51/P4S2eBSWMc4Cchcd7QdTHMD2E
3XGAjgCnB5LjgDsfxAh3+1VgADqlCBlS36X7F0pyGYCqrpY7LAWo4Ux1Iw7UfP5Pc2SLJ0AHiDk8
TMB0J5yAc+vhkQaDQLNAwIgtCgyU82WAeRstpzBF2Aw5AZb/0a0l7f2tBC6JbPBz7UOjoOi/70gB
5sAW37+Ok1N0uP3pPl71wTRPSYPb3tjtWwkPtv38S6j3ULWUeCkHjEMmZQr4ro/DlR1D7jkqg/TN
pBjGcZxn9Cmyxfev4sIcHyfg8VY4AZs0GM73gDgj0JapbwL8Epp3qNwQugZWQizeFXqP1QqZZVR9
TDgi0vg28WR4rkl8D3RixZtwvlZzaJ9lc58DxAxM98Kv1ksRBns+X06YSEEjGgMHFJXhSsCMjcpb
m74AiLfRxY2SpPoASqihswwBU7gzwZYFCEY6VM3myD5HrvcYHe/+8TZ499nKqpBwgkZzT8aZHTjE
nN8wJB+5sMMRYXM+UKodpRIPVLoWdH3pFYEfPc6z9zNsaqUEVi2g8xjYZ8n7p+g+anX+9D64ZB2q
fWHwvO2CFUqmHkdRRbOZEoqBuhUtACVqpdR5PXwxyDYfMboBPlaAzyQCE4tDPV+EKbTPcgyc48MM
TLfCGWiGy8C1omAGqpWMoXSW0Ouq1q89KGGh1GU/7C5OqViRDs7f3UKxr0GDPLOvIhsNRHKgXjPH
9lnqAnOAnILHe/G+JWFmSM5x29rtqoNa8DiT45ZNYwUlO8ojKIOwSMYKrA+RZ4LtD56mpefqsQNT
KB1Z2JoDYj6F9lkqRVN8H7U1fnonrxqUhTOcG8DZBI4t48gOY4tzBAN4FT4cFpnn/cN/ho+22e6H
EwA4dg614w0UOiA8jqIRNvweA/ssZcM5PN7/w424USNnGaSIeTvfCkjS6EhMUbhznaqHSNofKA4d
R3T0d5tq9b34ajvcT0O7mM5+KDJIDZQWr+fznmP7LIXkx/AwAfONvGpUeG+MUmQHI4S7YuTAPjX3
yj0FD+1rT4JswNjG4GcAOTkWV1qTPvBjdCun4A/uN6prduGj2CFEQ/N8Wz7pNf4J/gMwzd+z7fiO
OYE2zyUdQIjN7noVPWg2W+1QdI5DXENo+wYS7o3tygv/eLJoefXwIachiI2iAsCh+h7GyhE1rTG0
0ZPwNsyVNQz56xBii+W6D61cUNJwg5JYeHeDMGx7ueYuBIaMTSVCgH3HzZUnmWfXft0JTSEJyCJt
4dXDkovDkYaY1WOEO2OzBPRNmC+LZ8ENl5alyRiz0GTWDHF877scFSIYiRYOYRzaBWFvYkpwEob7
n1SpveagdU+gna7i9+O9kbQchooMoM81AQCKmyhXT0KX0ASeZGvXHLCyTKw2SdAxCdadg007puOd
cAv8MP1ubHIShrywVLf0QztXbSK9pbulYZuWAg2NVjffBGnK4U1qm96ET6NcOwc9ugkw/swjFgUU
nShQcR4pbDCuYUvLoInHdsYhTDXxilRf5BNn+b1uWlle/EOp0KQY87dfK0WPRiiO8RTshD5q0oAh
8FOMa6eghZjM+dD23t+WRZGUyggfRs+XwD3FbQYq6UhAiAp9Q1BM+0SjlSexHjXaA9yZ3nU1UBbi
Lodh/hRi8gp8zr9cWKcw105CCZIRXU+OeA+a27/Q/KsS9XTEEiotRXwcgggO9u2A4pdSk/2QPtBJ
WPQa/PEepoWlS7vr1cNVio1lSC8FF9gEl4Au4fDQQ5xrpyER/MXnFr1gnt64CsHvBxjiiFfC6Rhm
CV53lj3Eim+meDF7l8WJoOYAyp5No9LrQ2lY5Bu0O2m2fNgpBCP2vcCfbqFegg5rHzF924VvNqMG
Q163i+rU9FZsmx/SId9e3bWdJSlBb0WLnY02lPrlv/fp1CydduitmzBj2wzdkb399hFypoJtSPkF
rAwIXp5/zMI/mWoF3hjUNxNEBz5dAuoJ22H24H6EFyqGexgJl00K8LiAvFHwJCkmPcW4dgLQISCh
bx9haa+Au3xfz3zWdon619Z03f1hybmTGn57NuFtFK/M0HHNfvFGDoUtAAlFf8LwHrvbbidr/rmM
oNG+RZ/xJsq1k7DJgRk+GMllBUr0iZO5b3KGUcBSuhJVbdgQ1xaP6H1J2PCQuBlhSIQacQ5oc6zb
yKFUjOEhu1EO6wvsR2Qv++5l+DHIpTPQW5h57zA0d2ONxsNmuIKLGfsG1CIPipnTHoXsOr6i4DzS
rxreaOqXg+wmbTvBWLwM5B5WPAK9cOHmDEpdsTv55DxzLm9iXDsFW8h1Z2s3fXTI1hOnfFkKQA4U
1JulXBNYergAO5/CwjK1bEeYSYNcKuCrUC3iK0um2t1SemfmmEcsNcT41IBmiTo6h7l0FloNiebg
NAcOJ6Shu6yPA4dzKGUFomojBqnETYCV2ohUgkb4EUpPsXXyhNaLJRZH3mIW9iDHZFsLk6op1jF0
5vBR3sS5dBpQxJNuIfQAJemhkEMxcZe546v/dajl7lrbkFh7H0vZGUS9vM0h113oloI/rlrnJZtc
tgCxgJRKwiq48gSmYW9JfgYFv3cT5tpZsI054WD0/hPspoT8HVy0jpiEXV7OUtJCao0UUoViymbx
9YBItHb8rb9LzQDQsdZ8epeaVdtISGKLDx5eKbufgIy05yiXTkJp73TPiBoU2gbVC5sF2NxT/1jd
YcCNhbhkZpPsNMBuFPInE1RBAs0+WmGDVxUdc3OhFmmKE3Jk6LHgiimbg5+xDt/EuHQK9iMEwLcm
9pemQKx3YqJY+n31PzYTgq1poMRG7PE4ptLvezdmmV4b1wQATpaCHNtid9gvsjzUJfhioR5txYxz
A4KVzU2Ma6cgB+keZcIUUF5kR3I65OExAFKAw8hYCLV2ZoYgBROZTI8MbKXY2bgaEiTEu+AsQBJg
y7ZM4QFAEDSghg9benD7wzWttgl+88GJneJcOg3nxjSy7FyGmOicBggbFBv7sOr26n+stjM4JLKL
AOWk22mHnyqV0FWjZdO+eEHIMAYSXKq+v2QKVNcRWgoUoNUDoNXZTYxLp4C2GFRwASDmwiJCJfMg
exDG73sgVbEv8tRAlxgCjEG5FHIIpBzS77GbyKYN9qHyxsYfZ4sWkJIwIk+4uEbUhuEWi42V7Vcc
Zgl7n8NcOQsba8NYgJIkaAA/wPF4Ldjs9vJY42xzPJqlptf9KABs5zNxuzuKc7QGZMv/TAEsS7jw
NzmbiYj8ZF6A/WwwXG19QXBBcXcLEDCpDhN1gwNTopaJEFtwiYb7DtJvWcgSrbLrJEKLRDvSYs2F
tRfyWFlj0aB1FGLctr3as7XCmIJ/nAAvEl0MFaq9XfCz0thJqTCHOLo8EEm0wBDtchOdD7qHZBer
eIrMJZFLAWVETUj4tnA26JN8M0Er32lSl/S6IdWqXtygVaRqOpgI5/HMd4tN+LBXbelnLPS53OMf
poQnkpJcQUhZoPmSZnALOGElnjJm8PzXolGi3o1aP68p40FUcHsSqO8hzKWzsDVVPwVnw9FeOLNh
CiLJF9UdMcDtzp2fwSAx2xrtYqXTQrfjDHtM4KGpr06TYOgkcxq4RbFlildYhuEY3s1zwvCR4TMI
MiWVpoDByfCdnMNcOQu0AGMzG9/H7j47+6ZMymnavHu7hyNwFUIE+er5Z2DEs0yJkXx+dId7VxzY
Nj+z49KtqpbS4uWai48YZcP6CIgDP81+7pFzfEvvPjmvwO9tW31D2iX5fx8haXyO+lTM0fMbPqPF
Wn14hLTgN6dn5Pml6O4BXWPZg19QMXZxjHdfWztvDdfbU7UpM6tkc3wr736g1S2A4y7pF+LMWhBi
IcVS9xJIO6lH0fYS8FBowdP1FcVkvAsAqMlXrmC7d24+fLb1wpB16qO56DDDiQ8a9bEjVHM3CJHP
4a28+Y4O7O64uOQTZRRtVdxD6l4Du3nAHN3G+QX0y2sPI1jAULRRslO6cHSIFlI9OXkxOXcYvUrA
kY7hxZLdTzC+hj4F9uGO5zm+pXefdXzn1XMz0hgmj2SEkWnV3EHqUR/k6H7ucj1Z/oMjwIzBbpLS
XxrxaRfWj9LNw6+kXC7QlvZuDh74Y5Oy0QlLBN4+RLfy3qk4GH7o2cfc1pW46waye5LAOigjKbQA
zEBTORnBCA7orUiwSQ9eAnzE5EjQiQ8+yEboR2urx0+fP4Prxe6aBbqcwlt671vYmuI9q1sPVBFL
r3qbq0t/LST++C1kwmqIsuUA7V3QL+U5lp989t6EDZygZH7y8hYivlb0VIzyr5ABJQ+QvT9Ht/Le
AWNP8S2eD0rvPII1pQwCV8XBwqvK99Xa+cpjgy4xQupgjX4Axbuadzp0Dncv4bYXImmcezlH+VVj
M9NBEqsdNCqm4JbeenKHm3sNqKcfFatMv7h/dZd28DB0nsI+BwAU/jp2Q4KAN9kacWRUd4vJ19yc
Q5/JkG8dCWDx6Oa/loxiZJlzcCtvPdYjJRnNbIJyhKYp8pZWjH8ccURHfgM7eHwPxQ==
/6wjnSv9OqOkt/wGUo7K1wGZ3soboJYlCuYuyPrgDl1jP0dVYI5u6b1fsqJ4fTdv8MVlI6WtAf8p
YQyDUSo0lRI+6xWw9x0D9C3SmnZ4pStXCQgY6aNemgrqzwsnfc5T2eU7xRHaks/hLb150Fa1AqNg
0rTBI64hylNGpUG5GGQE90g1dlS3QH9VvoOXEg+mXMsh3uTc9ZqizencDpYirlwASOtTHsT9z2Sm
bPaPE6cIsznFt/Lud0OYec48j2H64uEWL7Hd8x4sm83RPTD9Z0JOhKuwQ3yd0YVE0bEMj5B9wJt3
PqBj6uFu7z5sqYGfHnjA+3BhU5jh83Q8h7f05vs7FO/WjCAHddYZZnsrve8mdPExbAc8jYbaOTqc
Fvh/dDFg+TS3rPUOSNkRMNiymUSzNyPSCSAGAQcVYDpIEUB8DF7uIbylN1/t2UsEL3xyPmpUjVqM
Ei8BEOvOJRBtK7yJO4EIGsjNnVegfb1kAXbkwwvVO+IZn7cwniUl5md8fh37MzUdSzz1cfh6U3hL
C0yQnqPLE87x9VxwdKI7Dxk7eQJNzuwtujM8X2ZSXWqVRlQWleBFL4fAYiTA9G0t25PoGyq8Zb4S
prnQm0x99mIYApy3dvUakC+gH3ur9Ik//r21PqEWs1mwAxVJVuTxL42a2XCZQxZQzoVQBe+LT6Wq
uM4z79XbaRnoLucZq3vjsDY5tAlRFXfFD1ivfW0mpQombYMEvIIVUncFTW5C1abB1AykeU4Lr2E6
L9/46bx48h+8d15jeNC2aBtiP2DIELntUp7aDP7dOqfo5T7Kla8vjZJyWGIzK5ISUQqHsM3I1VcP
C5AFj3KAzzBSekgvEB2AISP9aKK+v92I8XtoxLaA6oMHXOVGuwlfhSE7EqJ4TjOvKcqlqy1Ck/r0
hnJJvuag2aq7qGsfcyCjNFT+8Hbw3xWPyI6P5rhqL+c3LCZ/Z0/umV7wDA6P7gfPTRZDxi5tbgvN
Qa6egjbkx17VEYo5oOcgm3Z8qtd7sG1u7/GMjKFk6XiUwDa/4iIaRm/weqObuupF62DMgo1rN+c1
fOzDjVOKsd+EuXYWRqgLbVmt0I/+fJsSSQDOr09aKFX08vjNY8h1ACBbR7XpmLIrtAC3I6bgfKgp
2s5WsNewioycbfryQelHsMoNRqbPNyGunYEzVVBRD88MLcBrUVR+aRmsiHcMpkWHrSYxVLWpsOjC
rYcm4RhKxtdRNrzKMKKHvLiGLVZGukVLclnj0oshUXnmENfOADqeEshobzgS/KpZgwCcDgNJGDJx
QYn0XU5Bc+8bjUDKaOz0fJcgNnZv80Kgw3gQa4TJITZJ14QwR9asUiOB2m5V/fiq8/xNmGtnIcfx
4bBaxkeHZhGbgVf4mgWUSKU91+3muKsHzJE8umzcRJtAJ3Q0r2AY3ndOF4GnOfNfukyPniksT1OO
ZtOoRJvpT7cfHTHRFOpXMCk4sKSZc+3Eml2ebbmB7ReaJ+r7gGXdqvdv7rGbG/xt0OePaYrFJZNM
FKfJWTr3G4U8hia5DcPaELIMMuE5wmPLqyehJ7Z5xi6AFT1RJUQ1Msn1GEkijkESIqD2EOFXJ374
neUV4Z5aCHgZXXkbhuQHiyEeB+cg185BFcafN9vh2fvRAQtfBGX587TvAxsSZsqXQuS1FnJvWnQn
OpCKKVPk1J0dQEXjLLOhaVk1VzlUgyCSmI2QwLqVkv5c9T5IFFBzcY5y7SSYHsi77Sg1f4yI6e9N
k5KRIuQctijoTUAaCBc4nyongdIyIt+0xDNet+fGxUBSvbfT9fqNyiJrYEzsmZaL1CQ0FPosFbTC
OczV5Bsi0Xi7/VKQAuOnh4wld5NX/+veWIkE6jWTESJv2AT6+ciSBfdKBMxqCcDvEfp6mC1+Abpi
8SoDmO/QFTeuzzi5pENknIcQl/Mt1Ig4b/X8yyDfYEFlHayROhVClXgPWNChHl0hKaFsBCLJy6WT
42CDpArD3ID+D6fumCtCgXhFiOscXD87GBvk7mxRWOywhvKvPES5FvfeyOfhzbYc9AdQEA4ZNqFA
n970KY+tujBy/lkhLJ8GJaI877kTvO8KCPokIybhjH7vJs4Sy6FLnm9HD7YsZRlwSe68nOqOeskc
5WrsfylMw5pyhAD/myoN+iW251f/4zO5cH0uU60ZUH+XjQHPhB9qt8k9CmUtOZ0EfL0qbWuW/+cl
sW7yHIthcKZpkdMlDwroZxvPc5Brke/lXMRVitv0egv5Xq9OfAMlMF1g/SqlN9AUE+CYfb/aNkU6
O8DHu+AEXLC0xAWy36RfCDGN4vwC/5pEJk7i+dQHNVrFMUjsph0iFTzEuRb63kPoCGyePRQoD/X0
VO7fXCzAPw61VutMgTUsbGPd4LPQiFs/MmF95ZA0i4Dvu4HcbPVYVxn/WKQpFqHRFyMP+U1XB/YT
c5Brp2BTKq1WRg+gL5QUJFiLXm4AvkisHdHbhx5Y5lehDnizwRTq+qRvQbuNuvNCvaN8dUSz7Ai4
JAVV3Gnq8NEiHVXiemjLEP88R7ka9X51PtmIEegdvtW6tf2tQ0K6rQ7kZbcSaU3mE6McR3oeXghJ
rkOQPfAvmU3Urpk5M+i4ool5nMNz49MVWd3hRFeUlecg12Le64/8cIrkrIX37hfiAYZdAXmvUp3+
cB4m1OCk5KQ00vaArGeB5CXJ2YL/F2xFThWLeLqkfM04SlEF2aoVzz4lZ+YY1+K90eHUa4v2fkBP
98szYSdRNlQlhzYJSm8WmLSh4SHc5Q7WMUC+kNAgbzPt6PAG5v18bYTtQoPloubCZUbfFnpCe5UA
v+T9MUT9kpsoPwPIF8aMyniJ2l8N8r2/PJW5hfoCrzC0Ntc1RI5I47d3qAehV3iegZnaXj8Lzhd2
lVZmaULF6rdb6KoRF7kZ54smuoCXG4mwlRaJrGRS1uT8D3lmCyKyJXl5EGBZLArFYaLQ6BohsTr0
U841+Fl9WpxBimE1/JLVowK/olhAAi+Z3OQwLHxqSV6wQYPBARo/QB4Gbm5rJuwykhbDmdhYrKM6
6UFPGJ/5zcwsbVLs1hn5QFPSbCESLEkjsXQGYYUwL9C/RkniAPEXPRTov1BP/bCcIN5NblMY2YCS
0fQBA8F7BZQk0L17MLIJcAW0ixfUyJnanB/382OIee2xJ4F2WZipbfDlTBZQzWFSCmWI7P43kPCC
ZUFsFS1goOB3YpOOLkwDUegot6HoCHFhobnRjOPihVc2Ba4XoqVvUjsHcL3nBV0TgFPhgZd7DnHt
DOAUpi8cR7jhjw8C+dLRPM+dm6un+McqwuHEi88A2PdOkRioajFeVDEJ8T6oEWWA98XxQHGgW0kP
/3ar3O9QpN6IEB8hf4/vkUq1U4RrUe75EkXaBKkTyt2STdAQG07H8G9Vo8LxvhvQXknVRdUUwijE
svObhciEnxa6zDuLHPh2krE0CZ6x/NBCvQeXEwMewZx5Hoam+NbC26svT0kRY3/oiQRAB26CSgqK
F/l3kooc0bj4KDs/bUpM4GmhBV0sP9fe7v+SGsO64CM0txomi9AuKb7ezlQHDXfc6xzfYlh7KKKN
UvqbgiysgXAHFwybhqA41oI9BNjuJUsC1zucy/mhZEks52wuBloZlECHnkz2h38JiGCwnwdGtne6
BkiPeIxr6T1nqz0ddOpU5RePT8/1XP2tGbu77YpBWHQfANkWiyae2y26EdSUxX91kQ+6suTph6QO
rwSpsn548PxGjqjmIYRzSX2eYlqKX+8WZsPPH8YwQ6uC4ERKmzS9kCPo/QdNkPvzaM41MAAhV1R4
iL/EQ958gIUXIKsgeJ6+ZxhBkY6BOzr3LVxKVSQMgKQ1hbX0npOVFQ5Xpj8qToF78A4nl+Ih63B0
PeYddwFBB9Zl8PoPsBUuXWlkI97T+jB+BD2zw8UbqDSg8M/3FpjNsTl9pNQWwPqPcS1Fq6OVwI8N
+ApDOLtFvrBkhR4oakzC+RSpVXaw2Xat6xv0wwHTp2YHPmBgzY3S12keTUFg/Hitago81qcOJdWm
Yj6TIhCAprAWI/Tb2IVQOooBJjBNYUv9qEKmMdDdfh4gkGJ9QkWJZ0iqZLYKvL7Ah2j3ZTc9+xYE
g+2donJs5axpoDybY4T54hTVUnD6CHQikga0qyz8KkkZrK77m/CrjtnIV85H9nwOyNMSq/W5tUIJ
Vp28o0vRkqj88xJH8zGhdcOzG6VslYWAwN5GHNY3lrye58CW3nYVM0TZYoCzIcfYnHD2yKtgfMdT
DBJVmHQ21wagf4ZrhEIlV6yAE1OWgtXrbRcaldcq9rvBz5Lng8Lc0TxCfZc5tKU3nqMpCRZ8bSYj
FLHu+FVFmQCSrjwtYLse5xcO8YyhT4+HWtTl30RADxcIAPOT+9lWtODzYknQIo7u5+H3mdKKrFtB
Qx/50RzbYhqGBLrI9xs+nUAnpOSQLR0RqwuNONi2M2/EPYlCzd5Z40iVUSyeUjOwBQVm1ZVxxGxu
TgJuK0eTzXa5IKwK78+MDJ/OFN1SLsJQSujKwzEuXdMWb+OxX7KmVTwgJJ9Nweaso/QO5tEziLlU
icGzjFMJtKk1hjzMtCNUXD1LQ2y9GlkBImEuOse2mICiI0Wiy9Kh9x1gZDVV0XoHBB84+k21Cixz
578jsl5vATAg7otUJxx8Tuepew+ejatnRD6dy3iFLEXyE6aBRLWmBx95HabtTOEtLQnNPiJc3dPV
VUpC4lLfIpsf0tg2vrFYXY43nSwQw1Xx0Svx3lFxsv0UOuX3skpV7/zG2PDB/XC2SVyKILjx2+Un
OTnucs1WaRx4DlC2cVf4r00NoNnOZmWkf/I9csG/+4VkP0rlVZzp3mn7AjihehUkfC6fMkC7VDgg
uvTYApk6fAaAhkXdjMbb6N9BDYtCaFEP4yhA1ULAYyd2eLP0Gl4OQFfk+8OOAQrwQGyoRElZT1Qc
v3GYRgeSVVyNHaedDdorgv7PN7MWc3AEpw7GvinmCku2+qw4pCUKvIJHGzopBqdtAocRr3aBFImb
SgbuYZUCbkx2FQSmUzOXQly1CeFZaoB0ADy2mmNo7VBHtoY+JKWBAQrxNwfOw0Z9xxp6XLv9BAT2
yIL9yDuuSiCRYABo2hDngWOiFPDy/iasezMzK9dYCrqWoPJc9E7orcm3HksvJW/RZzcgARrR1NHc
DPQHwikf0bvDMahLnqu+81Rs1VmDwOpoXcE/ZBBovW2C17DtpS4u8CaBlZmjXDoJJSp3l19kSPdQ
eYGAtS3OO+u2tybFJxFEWwgpUPdumDfPXJrCIG/s6cbq4CEfKw6RS6Tiqs1yMbrT0CldGRGGAHCm
Gol778hZnPmy4i6QDfB7bXVbab78Rw9H8gE9WbUSbJgGEa/zvMyhJvUWDGXDT9ERaIfq4cAMYdsA
ZUv6BynoHSDS6eUJr/Cl5ZU9EGBYSLu9h8IBTpV6vMdsF9UxIhE98+xEL/Irtd5baA==
f5Qgs6NbDEcFl872Jj2FJCAvRAaKB0iZxVd7/ROu4C+3Ea58rtUqXh9YsD6skgpokDDsSJSxoUMP
URgpTsS5VvY9SMG84aJXmOwwPn204+IABuoslQ/RGqPcNXxVZFeATAEVc/TJ3YM/3uhNj/GNpXe/
NpEIW4H02+QR95v0tJVPm35AcR/TgzmHmJONb5ypTGnJTfIypTkv9zez8nFMO7cyrsdNPlDkUzYw
ZQz3mcVNDjJnKjc7twB/0z4v/NyUEEw5w/flFlMWcpOrTDOzFiY3bfmhFv2QIARU8DGVmPONecu/
YDGf5AcBNXpMJG7SjTnKzwAJmZOGpZCQ+8vfZDCfA5wxbaRhMfq45d5tzN+zhd9u9nNG8JA6RLLz
kMe8evgm45nTorv86SbTusvHpsxtbR922v/Vhp6yBXVOp7xiTj7mFIC1zildYD3/MauYE4+bCJdW
vaYUwFJDD+kC6whTWjGnHnMKgGjndAHXm9OKOfWY41sLw5joyLz9ibc8UZtnBvTnqHpNVO6PkRQ8
kL7vqeEPJPI4qT/SzW9I6TN9PeoXN0T3Bzr8DXF+aeXrlns+KwS8KjX+VEhgkhq4kST4QRa//vpK
VtNvMM3S/7pd6exc+tQL9HuVPjEvf3b+H37oL1Z9gLdO2qt/ZS6LchqmEuqXn+G3/+P9dX53s7Tt
f2OWpuqoXNLkUfjwNuBrPDohTRCGhlzmynTpj+IKt+xHftNs/sPTO/u5P9x4bq8hGQdTgt2n9r3K
JUwuhbAy2EM8GT1WUDsnLRYu4JNuy+uTNXVC9LY3GEN2O1dQtxaqcWeiSMsbjux7qARN0S09JNbL
sL4Km8B7b0ErRAN1GDWARNYiOEm6pUCvC1zfYK8su0uhKdimilQSkHbpurYuXvarRz3DgE0OtqoO
tY0h4wcvyjm+xU0aa2QC77DbUAn3oDS87WrM+O59qgC36sy5eK9q/cICD211zJBYgQjWMCjclKTB
wGqyTxfvnRkMVm+kLhgRurgNZTdzdEvvvUazFnqUwWwEtv56JudJJse9H3a27eQt4HUWCQloD/RE
3wSMQL87tiNeXsoEkPK6Ddtu40MS86XD7Uefkl9ygGbSmfAxvHaFlxc/eGDOFRcI3YY4nvdA6TaR
U0cUR0ZIk/ZNzCIYFeh1RmygtiHnqd2czCM6dJi2QuQI2MJhq0efAn5GveoYuLfg8He8K2U8z/Et
vfsOwNpQKYJ4EN79EYWcTpU3BXsYsXRxlpFxb5uJzVRpgXGYJBK6W+YvmrbzxGD+ct/7iMk0xakT
ckSdK6tWkg/5PAe39NYP2S+QjU/5ZAojpZBy7E0loleNyrUGkdByEdZaLK0g1nQcPHfEgxpvckk4
QroAtrPSxMude1Tj/BJbeHAqfb6CNADwEnN4K2++XDR6kExzMPvHtY0NnYe5sNmzOR/fd5a6z+hB
45RGawLTf6NYZ+VSAQ4AMnnwWgehNSA15WYhxCm4xZV5qSrh2Euom8EjlpiElANgC6BLSl8iwWZz
PM+wDmNHPkWAGDpidtdGNeMGoMim3XBrEngFnTWIK22z79sc3OJb30Qxg/JG9RYPvqUdjrueo1E+
gaaBesy5CFDET7eKt2B0jmyBpkndvdkaNDsUvcNaG2qHnl+o9B/PlD/kuwY5L+S6c3RLqyeg2FNU
BPIpcbCoXcYofKbn1pfj3ok31stwLuZvt46qfW2EPLXcH4NFdZYo2URxnfp269wjoECDoz9iGVzl
oczfNRsP0S3GSyXtM/CB6raJoGDv9Ui6lQv4WjY/Pnhz410migj6MudrLxQUkx30Clq8ty0xiUmH
+iWvGi2qEYIEc+4bz3y/N49scDucY1t6590+cURNVe/uVf6IeEjnQnPh+UROoHtDKrQ6l7ItAhtd
Is2aifFWK8F8bXyDcpbBW2DkxGkjTejgKySeA0bOnHJ/nmNbjA7kNT+gUjtseg51UZnSo0iMx+zS
S6PfLYlEEDGgnGb1CEhOLUUiHIJsbkoOibej9Lv5QHKOngcALH7w+kNNA9hCuuJi4a/QBZiiWwwK
daaSu8gy1ua2lGyGp6D7vTybcK85AwGHChhfuvwiVjIkW7meE6iNphjimKMkHVS4YgogkKfS5oUv
4Rk0Zi4Nvm0ZFlSDldiH8JbWSVmPhMau9mmoiej+W0BzYalkudB6sZOx7oAFyjeXaxMYTmhVziUZ
n2Xu/O6zEKHK58EOQ9tCEyyLywN6vdIRpJvRKGszm9UYtn+tVDFsBtBADgRfCSI/G77mQNZL2YIe
hed7AycclnH5/hwHvwexQMD7JF6WaU94vLH/V0IH91KGb1YcoqzuFooYRxXS89P4PsMb5T6CEuNu
OzN8BVoB9l1Zgnc8565I9OBmglxQGu/nYkr972q3W+7/NbsNzNPTbn+XI4eaWAvpP3xNbMsPm90j
U63t3JXm+H6Qb9VvWxx+Qzy8lYh/Bxzp7Vf88KVPC4LPKw8f55f66YeP+PZDvwEX/92TarS/WDR/
f7Qa7ZLy5ffWK6NUec7bXfkXLQ/yZOjniq7XBaKmjxO9IsGHfI1hbigU7QSbh90EuTGDr5GokPpp
gyHw0Y+tg1ePsoeGUe72HKFWFYZ4XLgJ8puFX9wfpUa9sHRcSshQhbDiR62ax8ZqENysm3PN0oLB
DYg8MDhowOuMMIxhoUGOFBmL5N9e9JdSxRqHaNBuzjr5Hu4AwnFg8Ow6Oh3p5uiWVhMgbSTgz6aD
/WUNwQxptKv0QaWjYllDyrNCDak2R78BJAXZJNlGwdopG/+Hv9ySIS50AH3Vj5QiXkHWGkVbpW6m
AfVb5/CWJtrBCaRS6O6+GDZiibQAJxC2NUgFVEA8rNRbDbkRLwLGOaw7UOIBHdAcJZbyIzH8wcK7
nGB2nWOOJiPL6j8gLososjm41TwcZTZBy/bpKmfWfcgEN7mShKPN9pzMiOnIVyzLS6gWi0zyRnXx
2acMtRboWdr2ywVHcBaam6JQU3sI6JDbprPlQ3xLjxnJolLo7dNljBnRLrIdf5McU54LSuiror0N
bhrsqGuxVDNY4s32pJZz9vGyFa/EaPtmny4bHECqRbGJlQM8LPSwiVucg1t66+gC0Jiaop/mGw7L
w+InS/cHyvp5HgqNiATIF8qoHRomjVzYLHP4zZJZptXGYz+U7Ply6sUBv1ah/4RSpeAUXYW7KbjF
bOIheCkQH5bB7EVfG3+ROvREDNVz4oeNq/kmgOc8ksF3FDLuI7TcbWfNO2+2rAVstBy+c1TUG62O
UWRFQ6QX2/4BS0qs2RTd0ls/XOAmSqVYJQCKbsUy8S1kDyGGKLdl6OWiTg5ZXMFKk/2Gsa0lQmMS
dNDKpRSQKPQLcG0Nfa+RzFKGtTkBalCelRB7qnrBpvCWwtmrFOTpPH/5WY9uJQ/4iFMkmsEOG/rR
t/cMBMLIZTh6qPdwYyIIE1IwyR2ycbjhRs/i5HoctnQywmBwTAwn9IC5PSIWdpXm6BbLYciXCMjc
hEqH9TCyH8kQ2xbRQvVF/u3J7EOosDe+89lePkec8XCfRO5SB6TJ8+0crZeVOSRjJEcP9BeNHCEB
RcASAIhQ35jDW3rzhwVLgT9m8i0FFOjs0GE85zczd1Ju2TNALOyEAZVXDGAG31E+pKpz404v0XDS
bgeXRaC9hmnL5JQLQ56HgGX4cZtjZPUQ5iDXAi+75vUDJNYIJQt/V1UxiL7tPo2wW+I56Pr2ccKP
Ox5yNWVvQID3fKgQLOxq8Mehckd9nbgm5cs/wK28Dbq5DjnIMyiq0dzEuXQaUqEPBmHmFMEPr19V
NoBHp2iNIh5a0xjLDnQ9sbWHbiFBGwOlVAF1MXSkcPo9LCUOENCeSr0uKA3/HPAD/HQh5jDDggjb
yRzjWghmaDJCRrC/2U2XWNtRAwjALGrC3gTQwU9UA+vWwsIQRWxRPS1sCuYAlQhx3OOnCG0fb9eU
Bj8Q/Hwl8Ov74JuEMhhWgps4l07DDvFtuqWgC4z1SYBvI7U+SGTRSFygtCXkzmAAs4Xk41G4Q4Qd
GEUutefHjQkHXq0MCrxnu1S2cE0d71E0xDvAX8/DTAZ2sm7iXDsNh9XuziVcuAiJEm52Ms40erP3
KdC4dc9ZwdDRByBpySUhZGYyUDSkZS2HmD1xGvAvaYYMgnacfnhJqiYBCcniBX+cVXnExB77TZhL
Z4ESp4zsULtbkwANYGalaGYnW7ZAo/ZoMcyjmpw9NQnNry8Ly3qU/U1DSba/3PfBbAo3ZdknduJ/
aY33zB9nqYbCsOT6PQa5dArQuBWIGAfQGhRG9pWZC8DY2BAa2rorEC2COPOpigRZX2zxKHT7I4d7
pLNY/EMZ0GdYPgaXg9ej6juG9d7jh+lgkqkkjaVyDnHpDEDwRVjrJg16TgDknXno4wODRAgjxoEl
OxQWz1nvZ4pHy1LsbhDDTr6BSxGTtCB+Qij8t5AIbASgeJhThF+W1nymBMa5D8whLp2Afq45g1kO
+qiHvfIo1s+mKh7OJRuDCv2QcxHYd/jK0+UMTYYTTnvwMVDDDiF7Cvpw7wySzmQvXBdkvQvD5JTJ
J6AoIFRObkJcOgP0iYJVYTdZHLU9eR7kqMYz1jNZd75KlMh5jkMpTKgvDFGJAvU9UxZh1OSeI/5h
YbMZiuDU34xL2vyq2S0UP+4phqAPNqNPI1x67yirUSeLkuQ1KNvHRbJEqacax5N4ctBNbNI8YwFI
1Qp85VwXqfinR5qo18EJoO4Wr9i0A8YVzXWAjBNXPJ4KuFg2y4/dRLl2Eg7RYD5AcZ3CS6SgUaOT
SWnLqkGxwk5xnu5HxlKAivfc61HfQYGT5QRayCPkS9eC1X9yJUAQrIcTLhRYpL6avcSwYMaiG2Ji
zeAmzKWUR4CFKAzGhkJYmGXqeBY/Dm7CjDhBUJgrXzPGmuWBoadUdapAfYBYWozQz4iTkEp4nbUm
S6DMzlbyEE+WOIKnyhMkVuNiGB0LKzv3Jnimx+kVPy4lWQyTXApwknJs1KNQnUbQQvFiaB9WtGL9
g/MKbC/qW7hpIRzZM4Gzz830LJ39hBRa8SflEJz9hCqT5qXrsMW7BdqD1sL0CMBJDSdyYYJoV8AH
gpOsv6QhphFvF/+SnV/4LrQwoXp3TVT1eM/4dZq0ISie1G7iXDoNKBZQbhI+Ezl8i3hM9f2OtwyC
Z1IijvFM+JGJ6t00Qq0rnOKcvqKgGYkp/qHfa6Bzt+O6Ivlv/H2xnnOLNAUqg/hkb6JcOgm7lxuG
dvUlcERji0hv7x7vAmDGokZ3exPh+Nko04ghFKFxWhHWG48tJUvN4h/KawRUYjp96JL2ouQwTTN1
PuQRCdsz/uVNmEtnAacpOsbhF1lgCmIwEyjeyWWpiEOHTJ3oRoKwcO7iQZpDZFoiUXd21bOk+MXB
Lmb30rjlWuNwHBPFHNBvtEPw63HPTWiRmzjXTkOP5BmpUrWbGVJuqh/yTsjYZ8hIuw==
Kc2qbxtWBGcGKwFA2qygwUFDCd9FVtWG0wDTDfa4YFRzOaThmmdi72E2/DJd4veuIb0Nc5xLpwGG
43JFBY77cA0bKWdnKQnUhGs7pY01MxCg4JFhk2EpR1Bmk/hKgL849PLverwv/uOjc38/f6lfJg3A
SVIGDcNtVDH69/iH1Jm9iXLpJCBFVl+id1FPwrJFYoW4katVzfSE8rBcuLgWkvXSPDHMLZl3UWmP
Q3G8wB8fOsn2zn7Eq39Jj7iLOI8Mr6p9haEEd7A5yLVz0KI8h19sJax7+vWW4+AVhiXQRCX897o7
LIlkG2sI7zvWBxcpMIGXbw22kJ48ByRQ6ppDk6wIaPoCRlSOL4dWUXOYa/Up0vvQNguD6N0ecSPR
wsT67AYU3nQs41irBMPi3wDIgO+20L+NXw0EJl78x9513p2F8E9cuO42eeGKQ7YPPxxkZjdhrp0F
rNbNk0wNes3CcBXljIiuE4r4iMobFj0AKaDbIRd6Lo2oO2ZSNrqHalS38cfSuMdvHlHdxi8Vb0Yu
33OWUiyN18Q+hLl0FhDynrxN9S292Zp1vaVZbsOMGDrZYpJ3F7Np4za0fGCfTJnObLtTRGx41nnZ
jVXk3oe22Gv8TlP+gTz9aJzEg0Iv3QXvmxjXTkG9cqCqaDQFLYrWPUm7XRF3c52YDOFGIFaz61zW
UYqjO91xrarbOxsjnPiTXqMqz5NX/5QxAOj2IrFEUCJPMblCrfgmzrXTMKwATOM2mw9DtEYy0Fr6
anhTwv11d16sW4ZpK8kvRI/hNYFmjzUP0L/PFsbIlL33OsNSoSbhvFDWO1ek5ZKJdtI+UgS7nqNc
Oge4B7/gu9R9w+xR0HYs3z28WuVZqTPrED0MwgrC9fAsjpYsLSzpXoOF/kKj4I9Z4NG3VPObgaRz
khwaipknDK08SJJuolw7CdcJG6c04BA0CdWiRDpNXpPQohkODi+qDkQIDh2amkBQmabcxSf+K8/F
Nct1er7gUhjeWvPXw8NBpmnGdsQZBC5/c5xrp6FRu1yHwXE5n4bvEwtMb9/DMIELWRK/TQyJVZeJ
ApJApjunpIvHAQJz4w9nqAd0gTHLES8d9xcouBOlyyMr/B6nINdOwbk703aIlYLoeEHKS6rmuI+r
44Vh0QGR6TVqTMHUJauIkEEjtw7YuAp8Y8QkDHuNs4YTFt9U89KGCPdUlID5BHZ/TkR+3IS5FOU4
Lv9wMDgM96rQuKUXGQk+9i/xOYJY6JzOlQs88KHsaduFe0NNQRx3wjaac2Y4QjSmkbswPNCBsdt8
HtaB+QyKMfjYxD/gDo4zCfN3RYh1t8KrMPkhMjtWc27YchYH4wYiOXZ21QlQFMM3Os3dUjTaxRel
NZ7fTsDbWfQC8eaCaLSuyEnbqfDfwrcm0OFurQWk+6Kz7t7ZX/SXXJjo2FeLsbdA7cm4Cv57oLbh
QRe9Ebsl9af4lt49YCHkdEFHouxvXg/kRwAwUSxcgBOKybbEpGDDydnBn4+4YESKcbjJ7TBOGH8n
vvJOV1JfbXMzAlJn7dzQnnnUIVMKBmmgSU7BrcbiCeUMjMD2BsZrYqUDUBBtUiRP5CyiWLWfM4Nz
ik0oh0wokVYfm+9yu2xcavArCsF49kcpYbwOlSm860hhxO8r6lfM0S29d5AlSSKDtV8OW5MjYN4Q
OAxfuuGEjZGcD77CZIaPvWTpD8J1nTkIPUl3NwVgayPWK/rHe74sbIoUIIrl7Hh+OUIcDH7wc3RL
wXg5gL6oX3Uz90cJgDEKcd21WJ5BmiNh+WLA+iMMZyvhdKYiwpP28NfJtDvUxuplfxRmXnSbPbfg
Zx5numOhcd0c3dJ77+IukuqVipkh8AbvegLjR+EYDndw8TBpXXm+z2cGKc90FPiwrl+5J00DUOYh
FC/Fc69V1/XlzJBH/x3wY/QomYohluM4s545uqVYPENCSHyD0SFxiOdjlccG0e/9MhDrnesYgPhg
piOBKHKHLsJAIHuR5yxKcNUHauQQXLBImHKhArmtNEtBZT0nDImphC5A7MdDnoJbC8HbzpNvNgPu
EoKncYkeFGg8Bt/SnMbGDz5oEIWYHG6FyZbcN/cQJworHooItmLFmxF2pkQh6sUPzwnaqFSuKi0r
GbmJcu0kwHSIny66haGzCeNAHqWhlUREqCI+BHyQRFFKdA5Mosk01piISwyJol0VbyHwNnOdkL2N
ESADtPOOZqN5Kt0AcejtsjUBeecg12IQrY0rsaCUA4RYDQGh/lAK98CrzcbsE6secYnUekAaTVwE
REBTD0WfowQMsYc6JLp2R72uaN4lUfxo1EMEwIop6GHk/nwT5VoY4gYjIbIRd3F+BEPM5kbRwioc
JMEvp00nlXywgIGGS8tSRoyXHbBCoiJ4WzEDYOvyLaCt/fF2PXvKoHIDdBJ+2PabaAKicX8T4toZ
GOp4U4/mTGIDiIk75AKPPK7YYgBZ7C6jIyQpFYhcAE4ttVNU0abkrL581J6q1XbwL+W8SPGeGojc
85qenGGLYdDgZYgERZzzms83Ya4FIHYjaYj/OQ9HxmECOsMtGUXlVKR1f963Y6OsLZ3WD90ukqYA
2ZUtdlLu7DVAnDDlFD8vqwTNRDJlDxF3gZzZMrlIsPLiQvXN5VeKAtInXYvIcHNWUMbqrQMnt5TD
Y7pLMoSxEATB1INIdUwIO3zMM5hejPyjkDDCv4vfMe7puqIkJlAFJXa+4EXkMxrYrYgZnYJcC2VM
hk2BesgMX1DGPd60Ud5hss+8QevI8CFc+/BucXMiUbHjKqGI2xKYs4V8MiqoFziyCoDAUQJI8dNO
t4f1eG+CXAtm3AQQJAGRybPQjEn0Az42NvaFPkR8joWMR+w1apGkYbIWNhsvN9A+D2Q+/2XNZide
jDFcsmqTgpYu8lP+uBRzUFoBVOwmzLWzEP058BV5shOiEWcpieEnAZUEQEyhcIIcGzVRrLVNwh8o
5RKqjnZZpboTrWNjo+lB5yPoLTDeuCSxCIk1UzBHsMGKdE8vaYAk5zDX4jqb29j06PKKQxSmdMzB
Kg0qLgGbTY+zqm+I7956Vof1wkhwzptpq6z6C9oYShJEzIHNFNesUvEHzZOvP/xKi0i0h9fiKcy1
0M4q9TkSG3kGEr6zh/bF+YCOHPyXweKBSaekQOGlV62Y7E/DE11VwD34fKylwPT+vNsCgVDQFtxO
gTvRALSoNDPemxDXYhuLe6FgobZIN1gwHMFYDUcjzEYXrH9D4/bcNUnIbdURs1ma6cKoa+Y3DRT8
S8lEgjTJ9nFcU1kIIZHgzvGFKvr1KifhOcy10MZsh0SxN81+ocCCkAAQmt+jHXLGqRw4++zFvxIA
ebP1McqjhOMx4hpe4Hm78HpwMsw+gGfZTxYNswNMzKg9PIb2m5sw10IM7aoiimk29xeASh2OhFk1
0hvV6cxzIx4nD5agPLIaxiF2O4EQNGWE+EhDs/kv1Q3FQe3tggJZJPPlieWUywXIpo34winItfjC
LShH+O1scyNQAWljKDYvchmhAXdL1GOYlQdSHAUQxAMGVERkOXnFeBkVwLBa8xzgVhbyr2vSiRbD
nHj+OvcbBAX04k2Ya2fhUOeaPQicf4QvBEuVeCFI5YXSKWB+7uQlNy3B8Nv1TRNRW3fiA4PImkWj
F8CwakcQeRiNib2a7w587sFmSrMnDenRKT4lKteoUdLfTsb4baVfgKIOnANIOExiKDebpZCWt3uI
5zldE3cg3nXTLeCu416aMArz9KxFd3YLfOG++gVxhXKrKF/4IC+IKyrQlKPDsHGNWSqNxFHzeZTQ
s8LQBcrlPxQyA5/pMJ9LlxTxe2jp4o/XYUqwYI1zmGthjTUaqeFuIlhjqO8R/p0j4uNyY0K3Gbdc
Y2PmM8JrCwpOsUFTE45beL4tOEWgMV9wINCYhGrMTgz548LsQwAMX+xNmGtRjbvltgDKvvogABZK
ypZv7xbvAmCNObj0hG2iDcijrhytwFYA/i4FDX8ffnuFfxTtOal8GKhGat1xmM+9XtCfnNzvnaNc
i+hLKsCRkU3SXKAauf7zRghYF/qu2AsGryobFMQjJC0yw+QBtPy6/1EJKWfyEuow93tcK1wrsdXl
TKoVcY6+4yxO9E2UaydhSFNdXPigoICQwIybVP2gTxIsIXI9P2y8CNSP4GNLxi0R155IL0STOvi5
QqXkZxPd89slVXqhiRdggJKLIuol734TpijXwvnO5OpwCIQXaw5akLEoULq/Qe8MpYIgJlJYgfR2
f6toDKEj39zOPn4UbDz8qWyfAOTnXOmKPagN2c48QrRtVgVgb38OcjWWL/cI7RItAMaOXRreR98v
i7ViHR4OY5EDwsw4eKxhic6sTVAODcUJg7ZtwnDlIkfxAAiq4MZhlCjw62rUMCgulXOca6ehX2+j
xSo0DePdSz6s8E1Ttu0YcX9DQDYJz3MIa4eAbLtn4XpwBLIJ854laRNANvPf8PsARA1gDfK7ybqJ
cS1wJ4vdoJe0x4rAg1LcRgvvSyBApELGYeRQRHVdOxdBmEe/lFcOgd0CwdXkIpffH4OOci2WxpIA
8MZrKyYiyucwV8OXvABRYCCwS2/rWnYdBw6BbAFrtcMbSdckuiNwTRSAJtvpiitn7eF/uEnpQUtd
8B3zG+MuuxcANFPpsSjyzh9jXHn/uAWbTkL6NgiqsIiiEZhSuGYo7g55QHHUkhWs4DlURHlL5oAB
V5TFRscOmvwa8I+r1nb4NPr8zp/apVBithgmcQgMnV1Sv4lz7TRAZoxJzXn5S7AAtpVWWEldJUyF
PCRLyuFC83CgUJNHqLi48/iWfI44oouKv42FLRHy9+ofEtKAadIoAmd5J0ST0kMPQa6dgyOoFlB2
Dq7+Dgc4iUOiw4dd69XDKkhBKZs3nLIwNdJdAioNFlUmmULv6PBhG39bJeUAmSKvB/BJ4xmCv0/T
OQwZMgkdbOShN1EunYTkIr7Qc3FswPDweVlshR0HBSP0CrMCjMjIAyM847/4T9n40zeT97jbiwKO
zKvvmq3U98inUM4jas8fnHeMtXc7XX5l22j3EcsnvGNc5rKhRLYLOagJAe49Du4s3+wUBHaRh68W
wY3Wy3qXJOOSVsJK74Bdexy4P1yVpZ3voX7cm9Uc5dopBm8j2fv33VeFTKO5wvHuq0IRODyAN+E5
j6CXAjEJuPge8tEcSlF84OT4AyzqJ8XEjrdXmrtUeqsoVXGNb+JcWiaWWDbLTrsNDvdrMvhxW7iP
OHiMNG22WGuxa2DIWGfa0xrKvXMzTlEJDIG9dTXNLcpx3XAuHaBBX+CrCRQZD0hA3AtqjmSagPY7
770bk74bJ7/Z8u8bP0o1QvGussDOLFvKH5hckKlF2G2eqRo1U2A4VH1QIypDa66oNRJaIu0yqzqT
jS2gSuXCeEKGNahvJKCpAmZZVZp7MilGIQGp2s30rXyrVgu646/eC/dinrbACYVZwA==
SGo+CC22jyasLDGU0OSBzCSAZ8flPGqtrbr5nUGb6nIAOf+E2Q8tr8+ZAlqIojfsDaIgAOaXxLII
orLexRTbyteeOEk+XDaeghuN4Sr4GPpWeNkwpHyVQ/hA6XArXA2GLqWmfbu6+D7lUSFNOsDdwuCJ
WWIJUE4z9p8oNbkeNi9+HNrCHa33JizbnsOby7U0HLW0NwCSFZTFc7RKGgmjkHEYR1S6MILCMaCT
+qLRezA/C+C2tmcvlNScJcYq8jJaOlG67NDZ10uacEPXb2S3AYSNYRWKVeGiIas55UNtg5f7Z7J0
pdvC1I1aGdWiAOhl20IdQh1EcwAwrYL9ZukRdNyrTca7ZA0Uco2KB9akS+VoE77Mel/n86L12b5Z
xYu9e4oeq4VI9GZUW+cwl84CsG9JZcz+pleNMmbKKmOah4ea+Jk1+QjP3j2q/96Aszyx1KcZhlNS
phPwB1yk1Ks2XNijKTZh1nG6x+0edv/CmsrlQL2uM4Ouh5WCqK2PZGro8A0g6sbVt0VJEUDOFqXa
fBiuSxIO/iFW+Cx5mCJYBbj6sn5i9RN57cv9/Kycfp4mRRE+p4jpoE7kF48kD+UNLMrIPjkfEvdC
eY5VSOlhXi2idlU0gDWJZvw7b3vWcndupZtotM2NSlVvsjlbbCW+3Ie59CUErUsl8nNxJ6Yp6hLW
Ej4fJ7vEOBYzeeTrwY4CDs8uLaHSHnruOGEK1IaPjiRMZP/0Y/ogUZPBJFAS7DzG4sv+xnn0rtQr
WU4UpxprVFPtZeByjlWVi2hl3NzMyrn6HJ4uD/L9075tctfDFo+7mjKBOVmY9m0ySaYt3hnWQyow
ZQtTbEsJBdPO+dFb8Seb7Gvsz/NmfLNl323uN2nATbLwPWnFfQJyk6Y8bJ6xIT9sta8evtmUb7bu
u01+zgbmlOE2tbjNQOYs5eGZLD2mTRv2R2/YD7u7YGhzHjBnCzcb9ovzioftXdecE4GbdGEKcy2a
Z9pzheGYdmjhLW728nnHv08NbnKIm0xj3nPVcZ126Oi+P+7l84b/PZnBXQ4xZxrz/KztVE77tdp0
0+5+NWce8oA5W7jZsN+aM59s79H2ekwE5mxhDnNtY+I2B7jZZFXjudmObzbtaXsPavBDHnCTLMxp
BVODOQG5SVNubmZ9cemWgz3TjW84yTNx+Y7dPHOgb9jSSrVmXvUN+3rmaX/jh/HA6J5p3/f08Bse
+Uw2n0npL3dz94NM0f4Qg7S5oKbPaaq8zeW5uY73zZN1QD6t990UBe/rX3OhDKq8OfptdHi5t0Kc
jNm+fCIpU7g6ki2R28y1vu8pCt6UD2+KjDezhz/+v9LA7Y9iHrY9/+Tpd/AM+/H8wkI1QzarEA+o
7kOxOS8q2lEJFkenTM5ATVX7X/OpXms/9QThGQ6jhbS51dPVXSvmpQv0UXTa+6tFT7M06c7oaIIP
iQsy2F6RCtM3FhwHi4CCE4R3/6dPhiZpyRwBjYE91LZbVGTXUL8UZ3bhylbeA7b/Jm9bkF+9qZRs
xXCi7d3CXfiTum0s0Oc+q+znXKDV5SCjrBqrtuo3v+ebOIe++9qX/PGfP//4n/7xl88/+fpX//jt
d3//P799uzQvdH45P/vl33z71Y///PjqL//mV99+9+tvf/bVv/v2X77SP/rVu99L57/9BSI4PxWY
6/0O1nqffCTb8789/5//fg7983nEev73z//1v23PPzuH//NPnsBNJMCdH8YhHDa4nMG7gYg6OFRJ
9hrc+BJUEf7LU9py2LuHotARvEGh0M+H8tOncOviSYxyb18+0SBamXZKor8wEh0xmRecL+1P78L7
8ulvv+dpJugRn+/4b/Uwv/xXT1/8+M/rV3/6i599+fW/fPvdhw9PX3zxH77++bf/6buv//712++e
fv6rr3/97fPXv/gF/vbb/3H+L88//+7bX/3jL7/79vlXf/fLf8bI+Sfxz7/44k//8t88/S8dDtCb
</i:pgf><polygon
style="opacity:0.63999999"
id="polygon4250-0"
points="54.571,115.123 37.602,158.629 43.807,172.18 60.768,131.49 "
transform="translate(-32.67964,-32.061698)" /><path
d="m 1.78036,134.6843 25.358,-64.989998 c -0.049,0.114 -0.096,0.23 -0.143,0.346 L 1.63836,135.0303 c 0.046,-0.116 0.093,-0.232 0.142,-0.346"
id="path4328-7"
inkscape:connector-curvature="0"
style="fill:#8a8a8a" /><path
d="m 2.59536,132.6763 c 0.086,-0.287 0.184,-0.57 0.293,-0.849 l 1.716,-4.4 c -0.108,0.278 -0.206,0.562 -0.29,0.85 l -1.719,4.399 m -0.236,0.946 1.717,-4.4 c -0.105,0.526 -0.177,1.064 -0.212,1.618 l -1.716,4.401 c 0.033,-0.554 0.106,-1.095 0.211,-1.619 m -0.233,2.649 1.716,-4.401 c 0.012,0.571 0.059,1.155 0.144,1.753 l -1.717,4.4 c -0.086,-0.598 -0.133,-1.182 -0.143,-1.752 m 0.339,2.869 1.717,-4.399 c 0.131,0.615 0.299,1.245 0.504,1.889 l -1.717,4.398 c -0.206,-0.643 -0.373,-1.271 -0.502,-1.887 m 0.921,3.082 1.717,-4.399 c 0.252,0.66 0.543,1.333 0.872,2.021 l -1.716,4.4 c -0.331,-0.689 -0.621,-1.362 -0.873,-2.022 m 1.523,3.302 1.717,-4.401 c 0.376,0.705 0.793,1.421 1.249,2.152 l -1.718,4.399 c -0.456,-0.729 -0.87,-1.447 -1.248,-2.15 m 2.128,3.505 1.718,-4.398 c 0.503,0.746 1.048,1.506 1.632,2.28 l -1.717,4.4 c -0.584,-0.774 -1.129,-1.534 -1.633,-2.282 m 5.435,-4.564 c -6.586,-8.356 -8.571,-15.237 -6.535,-20.458 l 16.935,-43.399998 c -2.038,5.22 -0.052,12.101 6.533,20.455998 l -16.933,43.402 m 11.087,-65.518998 c 0.085,-0.288 0.183,-0.571 0.292,-0.849 l 1.716,-4.401 c -0.108,0.279 -0.205,0.562 -0.292,0.849 l -1.716,4.401 m -0.237,0.945 1.719,-4.4 c -0.107,0.525 -0.178,1.065 -0.213,1.619 l -1.719,4.399 c 0.035,-0.553 0.107,-1.093 0.213,-1.618 m -0.233,2.648 1.716,-4.401 c 0.011,0.571 0.059,1.156 0.142,1.752 l -1.715,4.401 c -0.086,-0.597 -0.134,-1.182 -0.143,-1.752 m 0.339,2.87 1.716,-4.401 c 0.13,0.615 0.297,1.245 0.504,1.889 l -1.717,4.4 c -0.205,-0.643 -0.373,-1.272 -0.503,-1.888 m 0.923,3.083 1.717,-4.4 c 0.253,0.66 0.543,1.333 0.873,2.021 l -1.717,4.4 c -0.331,-0.687 -0.621,-1.361 -0.873,-2.021 m 1.522,3.301 1.718,-4.4 c 0.377,0.703 0.793,1.421 1.249,2.151 l -1.717,4.401 c -0.456,-0.731 -0.872,-1.448 -1.25,-2.152 m 2.129,3.506 1.717,-4.4 c 0.504,0.747 1.049,1.507 1.633,2.28 l -1.717,4.401 c -0.585,-0.773 -1.129,-1.534 -1.633,-2.281 m -19.065,61.137998 25.264,-65.103998 c -7.119,-8.733 -9.312,-15.9 -7.207,-21.294 L 1.63936,135.0303 c -2.104,5.393 0.086,12.559 7.206,21.292"
id="path4354-3"
inkscape:connector-curvature="0" /><path
d="m 6.90936,121.5503 14.895,-38.170998 c -1.329,4.382 0.025,9.858 4.374,16.329 l -14.894,38.171998 c -4.35,-6.47 -5.703,-11.946 -4.375,-16.33 m 5.665,23.065 17.051,-43.599 c -6.586,-8.354998 -8.754,-15.336998 -6.717,-20.557998 L 5.97336,123.8583 c -2.037,5.221 -0.243,12.646 6.601,20.757"
id="path4356-3"
inkscape:connector-curvature="0" /><path
d="m 264.09636,237.7763 25.358,-64.99 c 0.049,-0.113 0.096,-0.229 0.143,-0.346 l -25.359,64.99 c -0.045,0.115 -0.093,0.231 -0.142,0.346"
id="path4368-4"
inkscape:connector-curvature="0"
style="fill:#8a8a8a" /><path
d="m 11.50936,154.8033 1.718,-4.4 c 0.694,0.801 1.421,1.605 2.183,2.414 l -1.717,4.4 c -0.76,-0.808 -1.489,-1.613 -2.184,-2.414 m 3.619,3.906 1.719,-4.398 c 0.798,0.812 1.63,1.633 2.493,2.453 l -1.718,4.4 c -0.862,-0.822 -1.695,-1.64 -2.494,-2.455 m 4.111,3.965 1.718,-4.4 c 0.9,0.826 1.83,1.654 2.791,2.484 l -1.719,4.4 c -0.959,-0.831 -1.889,-1.659 -2.79,-2.484 m 4.59,4.018 1.717,-4.4 c 0.995,0.834 2.019,1.67 3.069,2.508 l -1.716,4.402 c -1.052,-0.84 -2.075,-1.676 -3.07,-2.51 m 5.03,4.047 1.717,-4.398 c 1.084,0.84 2.198,1.682 3.334,2.523 l -1.717,4.4 c -1.138,-0.844 -2.248,-1.685 -3.334,-2.525 m 5.458,4.076 1.717,-4.4 c 1.169,0.846 2.364,1.689 3.583,2.533 l -1.718,4.4 c -1.218,-0.846 -2.411,-1.689 -3.582,-2.533 m 5.847,4.082 1.717,-4.4 c 1.248,0.844 2.521,1.688 3.815,2.531 l -1.717,4.4 c -1.295,-0.844 -2.567,-1.687 -3.815,-2.531 m 6.224,4.082 1.716,-4.4 c 1.322,0.844 2.668,1.686 4.033,2.523 l -1.715,4.4 c -1.368,-0.839 -2.711,-1.681 -4.034,-2.523 m 6.561,4.063 1.718,-4.4 c 1.39,0.838 2.802,1.674 4.233,2.508 l -1.719,4.4 c -1.429,-0.835 -2.841,-1.671 -4.232,-2.508 m 6.889,4.039 1.717,-4.4 c 1.454,0.83 2.927,1.658 4.419,2.482 l -1.718,4.4 c -1.491,-0.824 -2.964,-1.652 -4.418,-2.482 m 7.173,3.992 1.716,-4.4 c 1.517,0.822 3.049,1.641 4.597,2.455 l -1.716,4.4 c -1.55,-0.815 -3.083,-1.633 -4.597,-2.455 m 7.452,3.941 1.715,-4.398 c 1.566,0.807 3.146,1.611 4.742,2.41 l -1.717,4.4 c -1.596,-0.799 -3.178,-1.603 -4.74,-2.412 m 7.691,3.877 1.717,-4.4 c 1.613,0.793 3.239,1.58 4.878,2.363 l -1.716,4.398 c -1.639,-0.781 -3.266,-1.568 -4.879,-2.361 m 7.9,3.789 1.718,-4.398 c 1.654,0.775 3.321,1.543 4.998,2.307 l -1.716,4.398 c -1.677,-0.762 -3.344,-1.531 -5,-2.307 m 8.102,3.703 1.716,-4.4 c 1.691,0.754 3.395,1.504 5.107,2.242 l -1.717,4.4 c -1.712,-0.74 -3.414,-1.486 -5.106,-2.242 m 8.258,3.592 1.716,-4.398 c 1.723,0.73 3.455,1.453 5.195,2.17 l -1.716,4.398 c -1.741,-0.715 -3.473,-1.439 -5.195,-2.17 m 8.407,3.479 1.716,-4.4 c 1.75,0.705 3.508,1.402 5.271,2.09 l -1.719,4.4 c -1.761,-0.688 -3.517,-1.385 -5.268,-2.09 m 8.511,3.339 1.717,-4.398 c 1.771,0.676 3.548,1.344 5.328,2.002 l -1.719,4.398 c -1.779,-0.656 -3.557,-1.324 -5.326,-2.002 m 8.611,3.204 1.717,-4.4 c 1.787,0.646 3.576,1.281 5.37,1.904 l -1.718,4.4 c -1.793,-0.625 -3.583,-1.26 -5.369,-1.904 m 8.663,3.041 1.717,-4.402 c 1.798,0.611 3.597,1.213 5.397,1.803 l -1.717,4.4 c -1.799,-0.59 -3.599,-1.192 -5.397,-1.801 m 8.714,2.871 1.716,-4.4 c 1.802,0.576 3.604,1.141 5.407,1.691 l -1.717,4.4 c -1.802,-0.553 -3.605,-1.117 -5.406,-1.691 m 8.715,2.687 1.715,-4.4 c 1.807,0.537 3.609,1.062 5.414,1.574 l -1.717,4.398 c -1.805,-0.509 -3.607,-1.035 -5.412,-1.572 m 8.712,2.494 1.716,-4.398 c 1.795,0.492 3.59,0.973 5.38,1.439 l -1.716,4.4 c -1.791,-0.466 -3.586,-0.947 -5.38,-1.441 m 8.67,2.286 1.718,-4.4 c 1.287,0.324 2.57,0.641 3.851,0.949 0.497,0.119 0.996,0.238 1.49,0.355 l -1.717,4.4 c -0.494,-0.117 -0.991,-0.236 -1.49,-0.355 -1.281,-0.309 -2.566,-0.627 -3.852,-0.949 m 8.557,2.05 1.717,-4.4 c 1.738,0.396 3.455,0.773 5.148,1.131 l -1.715,4.4 c -1.695,-0.359 -3.411,-0.734 -5.15,-1.131 m 8.24,1.77 1.716,-4.4 c 1.666,0.336 3.307,0.654 4.923,0.951 l -1.718,4.4 c -1.618,-0.299 -3.256,-0.615 -4.921,-0.951 m 7.86,1.478 1.717,-4.398 c 1.587,0.277 3.15,0.535 4.689,0.775 l -1.717,4.4 c -1.537,-0.24 -3.101,-0.499 -4.689,-0.777 m 7.492,1.2 1.717,-4.4 c 1.509,0.219 2.99,0.42 4.446,0.602 l -1.715,4.4 c -1.457,-0.184 -2.94,-0.384 -4.448,-0.602 m 7.092,0.916 1.717,-4.398 c 1.426,0.16 2.825,0.303 4.199,0.43 l -1.717,4.398 c -1.374,-0.126 -2.773,-0.268 -4.199,-0.43 m 6.697,0.642 1.716,-4.4 c 1.343,0.105 2.657,0.191 3.942,0.26 l -1.716,4.402 c -1.287,-0.07 -2.602,-0.158 -3.942,-0.262 m 6.274,0.369 1.717,-4.398 c 1.254,0.047 2.481,0.08 3.679,0.094 l -1.716,4.4 c -1.199,-0.016 -2.427,-0.047 -3.68,-0.096 m 5.855,0.102 1.716,-4.398 c 1.165,-0.008 2.301,-0.029 3.409,-0.07 l -1.718,4.4 c -1.106,0.039 -2.244,0.062 -3.407,0.068 m 5.407,-0.162 1.717,-4.4 c 1.076,-0.061 2.122,-0.137 3.138,-0.232 l -1.719,4.4 c -1.016,0.093 -2.061,0.171 -3.136,0.232 m 4.965,-0.424 1.716,-4.4 c 0.979,-0.113 1.928,-0.244 2.846,-0.391 l -1.719,4.4 c -0.916,0.147 -1.865,0.278 -2.843,0.391 m 4.495,-0.678 1.717,-4.4 c 0.883,-0.168 1.737,-0.35 2.557,-0.551 l -1.716,4.398 c -0.821,0.202 -1.674,0.385 -2.558,0.553 m 4.027,-0.933 1.716,-4.4 c 0.783,-0.219 1.533,-0.453 2.252,-0.703 l -1.715,4.398 c -0.721,0.251 -1.472,0.486 -2.253,0.705 m 3.538,-1.184 1.718,-4.398 c 0.68,-0.271 1.327,-0.555 1.943,-0.857 l -1.716,4.4 c -0.616,0.3 -1.263,0.587 -1.945,0.855 m 3.035,-1.426 1.718,-4.398 c 0.576,-0.32 1.118,-0.656 1.63,-1.006 l -1.717,4.398 c -0.511,0.352 -1.053,0.686 -1.631,1.006 m 2.531,-1.668 1.716,-4.4 c 0.469,-0.369 0.904,-0.754 1.307,-1.154 l -1.718,4.4 c -0.401,0.4 -0.836,0.783 -1.305,1.154 m 2.003,-1.904 1.716,-4.4 c 0.36,-0.418 0.688,-0.852 0.977,-1.299 l -1.717,4.4 c -0.291,0.447 -0.617,0.881 -0.976,1.299 m 1.473,-2.141 1.715,-4.4 c 0.201,-0.375 0.377,-0.762 0.531,-1.156 l -1.715,4.4 c -0.155,0.395 -0.334,0.779 -0.531,1.156 m -248.932,-86.757 16.934,-43.402 c 27.454,29.933 100.225,65.958 166.294,81.88 48.936,11.793 80.965,9.371 86.22,-4.096 -5.645,14.467 -11.29,28.934 -16.935,43.4 -5.255,13.467 -37.285,15.889 -86.219,4.096 -66.07,-15.921 -138.84,-51.947 -166.294,-81.878 m 16.448,-47.553 1.717,-4.400998 c 0.695,0.8 1.424,1.605 2.183,2.414 l -1.718,4.400998 c -0.759,-0.809 -1.486,-1.614 -2.182,-2.414 m 3.618,3.908 1.718,-4.401 c 0.8,0.814 1.632,1.633 2.494,2.454 l -1.717,4.4 c -0.861,-0.821 -1.694,-1.639 -2.495,-2.453 m 4.112,3.963 1.717,-4.4 c 0.9,0.825 1.831,1.654 2.79,2.485 l -1.715,4.4 c -0.961,-0.831 -1.891,-1.659 -2.792,-2.485 m 4.59,4.017 1.716,-4.401 c 0.996,0.834 2.021,1.672 3.072,2.51 l -1.717,4.4 c -1.053,-0.838 -2.075,-1.674 -3.071,-2.509 m 5.03,4.049 1.717,-4.401 c 1.086,0.841 2.197,1.682 3.334,2.524 l -1.717,4.401 c -1.138,-0.844 -2.25,-1.684 -3.334,-2.524 m 5.458,4.076 1.718,-4.4 c 1.169,0.842 2.362,1.686 3.582,2.531 l -1.717,4.4 c -1.219,-0.844 -2.414,-1.688 -3.583,-2.531 m 5.847,4.081 1.717,-4.401 c 1.249,0.845 2.521,1.688 3.815,2.531 l -1.716,4.401 c -1.296,-0.843 -2.568,-1.688 -3.816,-2.531 m 6.223,4.082 1.717,-4.4 c 1.323,0.843 2.667,1.684 4.034,2.523 l -1.719,4.402 c -1.364,-0.841 -2.709,-1.683 -4.032,-2.525 m 6.56,4.062 1.719,-4.4 c 1.393,0.838 2.803,1.673 4.233,2.508 l -1.719,4.4 c -1.429,-0.834 -2.841,-1.67 -4.233,-2.508 m 6.89,4.039 1.717,-4.4 c 1.455,0.83 2.928,1.659 4.418,2.483 l -1.717,4.4 c -1.49,-0.825 -2.963,-1.652 -4.418,-2.483 m 7.174,3.992 1.717,-4.4 c 1.515,0.822 3.048,1.641 4.598,2.456 l -1.719,4.4 c -1.548,-0.814 -3.081,-1.633 -4.596,-2.456 m 7.449,3.943 1.719,-4.4 c 1.564,0.808 3.145,1.612 4.74,2.41 l -1.717,4.401 c -1.595,-0.799 -3.175,-1.602 -4.742,-2.411 m 9.413,-0.524 c 1.61,0.792 3.237,1.579 4.877,2.362 l -1.715,4.401 c -1.642,-0.783 -3.268,-1.57 -4.88,-2.363 m 0,0 m 7.899,3.791 1.717,-4.401 c 1.655,0.774 3.322,1.543 5.001,2.305 l -1.718,4.402 c -1.678,-0.763 -3.345,-1.531 -5,-2.306 m 8.102,3.701 1.717,-4.4 c 1.691,0.756 3.396,1.502 5.107,2.242 l -1.717,4.4 c -1.715,-0.74 -3.416,-1.486 -5.107,-2.242 m 8.258,3.592 1.717,-4.4 c 1.723,0.73 3.455,1.455 5.193,2.17 l -1.716,4.4 c -1.74,-0.715 -3.473,-1.438 -5.194,-2.17 m 8.406,3.478 1.717,-4.4 c 1.751,0.705 3.506,1.402 5.27,2.09 l -1.716,4.4 c -1.764,-0.687 -3.522,-1.385 -5.271,-2.09 m 8.513,3.342 1.717,-4.4 c 1.769,0.676 3.547,1.344 5.326,2.002 l -1.716,4.4 c -1.782,-0.658 -3.558,-1.326 -5.327,-2.002 m 8.609,3.199 1.718,-4.398 c 1.786,0.645 3.576,1.279 5.371,1.906 l -1.718,4.398 c -1.793,-0.623 -3.584,-1.259 -5.371,-1.906 m 8.665,3.041 1.717,-4.4 c 1.796,0.611 3.597,1.213 5.396,1.803 l -1.717,4.4 c -1.8,-0.59 -3.599,-1.19 -5.396,-1.803 m 8.713,2.875 1.716,-4.402 c 1.802,0.576 3.605,1.141 5.407,1.691 l -1.717,4.398 c -1.803,-0.55 -3.605,-1.113 -5.406,-1.687 m 8.713,2.686 1.719,-4.4 c 1.804,0.537 3.609,1.062 5.413,1.572 l -1.72,4.4 c -1.801,-0.51 -3.606,-1.035 -5.412,-1.572 m 8.712,2.494 1.718,-4.4 c 1.796,0.494 3.59,0.975 5.381,1.441 l -1.717,4.4 c -1.791,-0.467 -3.584,-0.947 -5.382,-1.441 m 8.672,2.287 1.717,-4.402 c 1.287,0.324 2.568,0.639 3.85,0.949 0.5,0.119 0.996,0.238 1.49,0.355 l -1.716,4.4 c -0.495,-0.117 -0.991,-0.234 -1.49,-0.355 -1.281,-0.308 -2.565,-0.625 -3.851,-0.947 m 8.557,2.049 1.717,-4.4 c 1.739,0.396 3.455,0.773 5.147,1.131 l -1.716,4.4 c -1.693,-0.358 -3.409,-0.735 -5.148,-1.131 m 8.238,1.769 1.718,-4.4 c 1.663,0.334 3.306,0.652 4.921,0.951 l -1.715,4.4 c -1.618,-0.296 -3.259,-0.615 -4.924,-0.951 m 7.862,1.479 1.718,-4.398 c 1.588,0.275 3.149,0.535 4.688,0.773 l -1.718,4.402 c -1.537,-0.24 -3.102,-0.5 -4.688,-0.777 m 7.492,1.199 1.717,-4.4 c 1.508,0.219 2.991,0.42 4.447,0.602 l -1.717,4.4 c -1.458,-0.184 -2.939,-0.383 -4.447,-0.602 m 7.092,0.918 1.718,-4.402 c 1.425,0.162 2.824,0.305 4.197,0.43 l -1.716,4.402 c -1.374,-0.127 -2.773,-0.27 -4.199,-0.43 m 6.696,0.641 1.717,-4.4 c 1.342,0.104 2.657,0.191 3.944,0.262 l -1.717,4.4 c -1.289,-0.071 -2.602,-0.157 -3.944,-0.262 m 6.274,0.371 1.718,-4.402 c 1.253,0.049 2.48,0.08 3.679,0.094 l -1.716,4.402 c -1.199,-0.014 -2.429,-0.047 -3.681,-0.094 m 5.855,0.099 1.717,-4.4 c 1.165,-0.006 2.302,-0.029 3.409,-0.07 l -1.717,4.402 c -1.107,0.041 -2.245,0.063 -3.409,0.068 m 5.407,-0.162 1.719,-4.4 c 1.074,-0.061 2.12,-0.139 3.137,-0.232 l -1.718,4.4 c -1.015,0.094 -2.062,0.172 -3.138,0.232 m 4.965,-0.422 1.718,-4.402 c 0.978,-0.113 1.927,-0.244 2.844,-0.391 l -1.716,4.4 c -0.919,0.147 -1.867,0.278 -2.846,0.393 m 4.496,-0.679 1.716,-4.402 c 0.885,-0.166 1.736,-0.35 2.558,-0.549 l -1.717,4.4 c -0.822,0.199 -1.674,0.383 -2.557,0.551 m 4.026,-0.934 1.716,-4.4 c 0.782,-0.219 1.533,-0.453 2.253,-0.703 l -1.718,4.4 c -0.718,0.25 -1.47,0.484 -2.251,0.703 m 3.54,-1.182 1.715,-4.4 c 0.681,-0.271 1.328,-0.557 1.943,-0.857 l -1.716,4.4 c -0.615,0.301 -1.263,0.588 -1.942,0.857 m 4.752,-5.828 c 0.575,-0.32 1.119,-0.654 1.627,-1.006 l -1.715,4.402 c -0.511,0.35 -1.053,0.686 -1.63,1.006 m 10e-4,0.001 m 2.53,-1.67 1.717,-4.4 c 0.469,-0.369 0.904,-0.754 1.305,-1.154 l -1.717,4.4 c -0.401,0.4 -0.838,0.785 -1.305,1.154 m 2.005,-1.905 1.715,-4.4 c 0.359,-0.418 0.686,-0.852 0.977,-1.299 l -1.718,4.4 c -0.292,0.448 -0.618,0.882 -0.974,1.299 m 3.252,-6.5 c 0.199,-0.377 0.312,-0.803 0.466,-1.195 l -1.718,4.398 m -108.435,61.03 c 48.938,11.795 80.965,9.371 86.221,-4.096 8.454,-21.664 16.904,-43.326 25.359,-64.988 -5.256,13.465 -37.285,15.889 -86.221,4.096 -68.534,-16.518 -144.579,-55.037 -169.477,-85.576998 L 8.58736,156.0043 c 24.896,30.541 100.898,69.006 169.43,85.522"
id="path4372-3"
inkscape:connector-curvature="0" /><path
d="m 59.32136,129.8003 c -10.831,-7.324 -19.876,-14.662 -26.472,-21.679 l -14.895,38.172 c 6.597,7.018 15.642,14.356 26.472,21.678 l 14.895,-38.171 m 52.662,29.074 c -0.091,-0.043 -0.185,-0.086 -0.275,-0.127 -14.366,-6.627 -27.861,-13.716 -39.833,-20.94 -0.075,-0.045 -0.151,-0.092 -0.229,-0.139 l -14.894,38.172 c 0.076,0.045 0.154,0.092 0.23,0.139 11.971,7.223 25.463,14.311 39.832,20.938 0.092,0.043 0.184,0.086 0.275,0.129 l 14.894,-38.172 m 62.198,23.72 c -15.637,-4.77 -31.295,-10.463 -46.312,-16.746 l -14.896,38.172 c 15.017,6.283 30.676,11.977 46.314,16.746 l 14.894,-38.172 m 59.756,13.115 c -10.497,-1.182 -22.397,-3.32 -35.512,-6.48 -2.322,-0.561 -4.652,-1.145 -6.989,-1.754 l -14.894,38.174 c 2.337,0.607 4.668,1.191 6.988,1.75 13.115,3.162 25.015,5.301 35.512,6.48 l 14.895,-38.17 m 38.809,-1.459 c -6.496,2.043 -15.358,2.889 -26.275,2.443 l -14.896,38.172 c 10.919,0.445 19.782,-0.4 26.278,-2.443 l 14.893,-38.172 m -8.621,35.387 c 2.756,-1.719 4.65,-3.836 5.625,-6.334 4.965,-12.725 9.931,-25.447 14.895,-38.172 -0.975,2.498 -2.87,4.615 -5.625,6.334 l -14.895,38.172"
id="path4374-2"
inkscape:connector-curvature="0"
style="opacity:0.37000002" /><path
d="m 17.95536,146.2933 14.895,-38.172 c 6.596,7.018 15.641,14.355 26.472,21.679 l -14.895,38.171 c -10.831,-7.322 -19.876,-14.66 -26.472,-21.678 m 38.797,29.547 14.894,-38.172 c 0.078,0.047 0.154,0.093 0.229,0.139 11.972,7.224 25.467,14.313 39.833,20.94 0.091,0.041 0.185,0.084 0.275,0.127 l -14.894,38.172 c -0.092,-0.043 -0.184,-0.086 -0.275,-0.129 -14.369,-6.627 -27.861,-13.715 -39.832,-20.938 -0.076,-0.047 -0.154,-0.094 -0.23,-0.139 m 56.222,28.18 14.896,-38.172 c 15.017,6.283 30.675,11.977 46.312,16.746 l -14.893,38.172 c -15.639,-4.769 -31.298,-10.463 -46.315,-16.746 m 63.569,21.629 14.894,-38.174 c 2.337,0.609 4.667,1.193 6.989,1.754 13.114,3.16 25.015,5.299 35.512,6.48 l -14.895,38.17 c -10.497,-1.18 -22.396,-3.318 -35.512,-6.48 -2.32,-0.559 -4.651,-1.143 -6.988,-1.75 m 55.031,9.217 14.896,-38.172 c 10.917,0.445 19.779,-0.4 26.275,-2.443 l -14.894,38.172 c -6.495,2.042 -15.358,2.888 -26.277,2.443 m 32.551,-5.229 14.895,-38.172 c 2.755,-1.719 4.65,-3.836 5.625,-6.334 -4.964,12.725 -9.93,25.447 -14.895,38.172 -0.975,2.498 -2.869,4.615 -5.625,6.334 m -248.099,-81.011 c 27.454,29.931 100.224,65.957 166.294,81.878 48.934,11.793 80.964,9.371 86.219,-4.096 5.645,-14.467 11.29,-28.934 16.935,-43.4 -5.255,13.467 -37.284,15.889 -86.22,4.096 -66.069,-15.922 -138.84,-51.948 -166.294,-81.88 l -16.934,43.402"
id="path4376-5"
inkscape:connector-curvature="0" /><path
style="fill:none;stroke:#000000;stroke-miterlimit:10"
inkscape:connector-curvature="0"
id="path4378-6"
d="m 30.38536,102.6953 c 0,0 31.185,37.193 127.234,72.098 96.05,34.904 121.711,12.943 124.485,12.879"
stroke-miterlimit="10" /><path
style="fill:none;stroke:#000000;stroke-miterlimit:10"
inkscape:connector-curvature="0"
id="path4380-7"
d="m 13.47836,146.2663 c 0,0 31.185,37.193 127.234,72.098 96.616,33.443 121.711,12.943 124.485,12.879"
stroke-miterlimit="10" /><line
style="fill:none;stroke:#000000;stroke-miterlimit:10"
id="line4382-9"
y2="155.27231"
x2="9.3323545"
y1="92.007301"
x1="33.882343"
stroke-miterlimit="10" /><line
style="fill:none;stroke:#000000;stroke-miterlimit:10"
id="line4384-7"
y2="149.9933"
x2="15.45235"
y1="105.3043"
x1="33.329365"
stroke-miterlimit="10" /></svg>
http://www.openshotvideo.com/
http://www.openshot.org/
{{openshot.svg}}
https://launchpad.net/openshot
http://osm.org
http://openstreetmap.fr/
<<list-links "[tag[PAO]]">>
Ce wiki utilise la version <<version>> de TiddlyWiki.
!!<i class="fa fa-sliders"></i> Liste des principales modifications apportées à ce wiki
!!!<i class="fa fa-text-height"></i> Fonts
* <i class="fa fa-flag"></i> ''Font Awesome'', release 4.3.0 : [[$:/fonts/FontAwesome]]
**Les sources : http://fortawesome.github.io/Font-Awesome/ <i class="fa fa-external-link-square" style="color:#60B643"></i>
**Adaptation TW : http://tobibeer.github.io/tw/fa/ <i class="fa fa-external-link-square" style="color:#60B643"></i>
!!!<i class="fa fa-css3"></i> CSS
* [[$:/styles/VELCS]]
!!!<i class="fa fa-cogs"></i> Plugin
* FR [[$:/languages/fr-FR]]
**http://tiddlywiki.com <i class="fa fa-external-link-square" style="color:#60B643"></i>
*keyboardSnippets [[$:/plugins/danielo/keyboardSnippets]]
**Auteur : http://braintest.tiddlyspot.com/ <i class="fa fa-external-link-square" style="color:#60B643"></i>
> Sur une idée de Thierry lors du TWCamp, afficher de façon automatique les tiddlers que j'ai ajouté sur ce TiddlyWiki pour le personnaliser (tiddler avec le tag `$:/n0d1/tw` :
{{{ [tag[$:/n0d1/tw]] }}}
http://www.scribus.net/
Libre Desktop Publishing
{{scribus_splash.png}}
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
http://www.maartenbaert.be/simplescreenrecorder/
https://github.com/woshilapin/sivi
A web application to create curriculum vitae
https://fr.wikipedia.org/wiki/Steam
http://tiddlymap.org/
https://github.com/felixhayashi/TW5-TiddlyMap
!!Screencast
Create Concept-Maps and Mind-Maps in the Browser Using Free Personal-Wiki Software : https://www.youtube.com/watch?v=dmeIxuN0L5w&feature=youtu.be
https://www.youtube.com/channel/UCizKRzennwyp6UTCWykcd6A
http://tiddlywiki.com
http://forum.tiddlywiki.com
http://kixam.github.io/TW5-visjsTimeline/
*[[Timeline avec filtre sur un prefix]]
*[[Timeline avec Tag]]
*[[Timeline avec groupTag]]
*[[Tous]]
---
[[$:/n0d1/ui/ViewTemplate/summary-date]] Merci à Tobias Beer pour cette astuce ([[source|http://tobibeer.github.io/tb5/#Conditional%20ViewTemplate%20Section]])
```
<$list filter="[all[current]has[debut]]">
@@color:grey; //Du <$transclude field="debut" /> //@@
</$list>
<$list filter="[all[current]has[fin]]">
@@color:grey; //au <$transclude field="fin" /> //@@
</$list>
```
---
*https://github.com/kixam/TW5-visjsTimeline/issues/15
*https://github.com/kixam/TW5-visjsTimeline/issues/16
```
<$visjstimeline filter="[prefix[Exemple]]" startDateField="debut" endDateField="fin" format="DD/MM/YYYY" navpad/>
```
<$visjstimeline filter="[prefix[Exemple]]" startDateField="debut" endDateField="fin" format="DD/MM/YYYY" navpad/>
```
<$visjstimeline filter="[tag[Timeline]]" startDateField="debut" endDateField="fin" format="DD/MM/YYYY" navpad groupTags=[[deux]][[un]] boxing=auto />
```
<$visjstimeline filter="[tag[Timeline]]" startDateField="debut" endDateField="fin" format="DD/MM/YYYY" navpad groupTags=[[deux]][[un]] boxing=auto />
```
<$visjstimeline filter="[tag[deux]]" startDateField="debut" endDateField="fin" format="DD/MM/YYYY" navpad/>
```
<$visjstimeline filter="[tag[deux]]" startDateField="debut" endDateField="fin" format="DD/MM/YYYY" navpad/>
http://tmux.sourceforge.net/
http://www.maefloresta.com/portal/
http://umap.openstreetmap.fr/fr/
```
{{{[tag[un]]}}}
```
{{{[tag[un]]}}}
@@.info
[[À propos]] - [[Atelier]] - [[Flyer|flyer-velcs-paris12.pdf]]
@@
@@
<$list filter="[tags[]!is[system]![emojione]![un]![deux]![Timeline]sort[title]]">
<$transclude tiddler="$:/core/ui/TagTemplate"/> <small class="tc-menu-list-count"><$count filter="[all[current]tagging[]]"/></small>
</$list>
@@
Version en ligne de ce document : http://paris.libre.cc/velcs2014-2015.html
{{affiche-install-party-velcs.pdf}}
<<list-links "[tag[Vidéo]]">>
http://www.shotcut.org/
https://github.com/hftom/MachinTruc
https://www.wezer.org
(basé sur ''Odoo'' http://www.odoo.org/)