From 3ffb43336c19aaa2617049363379af0f9b0c4c0a Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Fri, 2 Sep 2016 12:49:20 +0200 Subject: [PATCH] Update to 0.3.13 --- gjs-plg-doc.html | 771 ++++++++ img/grapesjs-logo-plg.svg | 1 + js/demo-pdf_t.js | 233 +++ js/grapes.min.js | 14 +- js/html2canvas.js | 3375 ++++++++++++++++++++++++++++++++++ js/jspdf.min.js | 171 ++ stylesheets/grapes.min.css | 2 +- stylesheets/grapesjs-plg.css | 49 + stylesheets/stylesheet.css | 2 +- 9 files changed, 4609 insertions(+), 9 deletions(-) create mode 100644 gjs-plg-doc.html create mode 100644 img/grapesjs-logo-plg.svg create mode 100644 js/demo-pdf_t.js create mode 100644 js/html2canvas.js create mode 100644 js/jspdf.min.js create mode 100644 stylesheets/grapesjs-plg.css diff --git a/gjs-plg-doc.html b/gjs-plg-doc.html new file mode 100644 index 000000000..abab235fa --- /dev/null +++ b/gjs-plg-doc.html @@ -0,0 +1,771 @@ + + + + + GrapesJS Playground PDF Creator + + + + + + + + + + +
+
+ +
+
+
+ +
+
+
rapesJS
+
Playground
+
+
+
+
+ +
+
+ EDITOR +
+
+
+ PDF + +
+
+ +
+
+ + + + + diff --git a/img/grapesjs-logo-plg.svg b/img/grapesjs-logo-plg.svg new file mode 100644 index 000000000..2e7ccbfef --- /dev/null +++ b/img/grapesjs-logo-plg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/js/demo-pdf_t.js b/js/demo-pdf_t.js new file mode 100644 index 000000000..e222ae719 --- /dev/null +++ b/js/demo-pdf_t.js @@ -0,0 +1,233 @@ + + /** + * jsPDFEditor + * @return {[type]} [description] + */ + var jsPDFEditor = function() { + + var editor; + + var demos = { + 'images.js': 'Images', + 'font-faces.js': 'Font faces', + 'from-html.js': 'HTML Renderer (Early stages)', + 'two-page.js': 'Two page Hello World', + 'circles.js': 'Circles', + 'font-size.js': 'Font sizes', + //'kitchen-sink.js': 'Kitchen Sink', // @TODO + 'landscape.js': 'Landscape', + 'lines.js': 'Lines', + 'rectangles.js': 'Rectangles', + 'string-splitting.js': 'String Splitting', + 'text-colors.js': 'Text colors', + 'triangles.js': 'Triangles' + //'user-input.js': 'User input' + }; + + var aceEditor = function() { + editor = ace.edit("editor"); + editor.setTheme("ace/theme/twilight"); + //editor.setTheme("ace/theme/ambiance"); + editor.getSession().setMode("ace/mode/javascript"); + + var timeout = setTimeout(function(){ }, 0); + + editor.getSession().on('change', function() { + // Hacky workaround to disable auto refresh on user input + //if ($('#auto-refresh').is(':checked') && $('#template').val() != 'user-input.js') { + clearTimeout(timeout); + timeout = setTimeout(function() { + jsPDFEditor.update(); + + }, 200); + //} + + }); + }; + + var populateDropdown = function() { + var options = ''; + for (var demo in demos) { + options += ''; + } + $('#template').html(options).on('change', loadSelectedFile); + + }; + + var loadSelectedFile = function() { + if ($('#template').val() == 'user-input.js') { + $('.controls .checkbox').hide(); + $('.controls .alert').show(); + jsPDFEditor.update(true); + } else { + $('.controls .checkbox').show(); + $('.controls .alert').hide(); + } + + + $.get(base + 'parallax/js/jspdf-examples/' + $('#template').val(), function(response) { + editor.setValue(response); + editor.gotoLine(0); + + // If autorefresh isn't on, then force it when we change examples + if (! $('#auto-refresh').is(':checked')) { + jsPDFEditor.update(); + } + + }).error(function() { + + $('.template-picker').html('

More examples in examples/js/. We can\'t load them in automatically because of local filesystem security precautions.

'); + + // Fallback source code + var source = "// You'll need to make your image into a Data URL\n"; + source += "// Use http://dataurl.net/#dataurlmaker\n"; + source += "var imgData = 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QCqRXhpZgAATU0AKgAAAAgABgESAAMAAAABAAEAAAEaAAUAAAABAAAAVgEbAAUAAAABAAAAXgEoAAMAAAABAAIAAAExAAIAAAAeAAAAZodpAAQAAAABAAAAhAAAAAAAAABIAAAAAQAAAEgAAAABQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2gAAAKgAgAEAAAAAQAAA4CgAwAEAAAAAQAAA4AAAAAA/9sAQwADAgICAgIDAgICAwMDAwQHBAQEBAQIBgYFBwoJCgoKCQoJCwwQDQsMDwwJCg4TDg8QERISEgsNExUTERUQERIR/9sAQwEDAwMEBAQIBAQIEQsKCxERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER/8AAEQgDgAOAAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A/VOiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK+MP+CnH7X2p/s1/Cm08KeANTFp478b+ZBZXKEGTTbRMCa5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KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD4C/4LReHn1P9mDw9rsKFm0bxlbNIecLFJbXSHoP75j6kD8cV+Klf0Af8FPfC/wDwlH7E3xBEcYefShZapDkA7fKvIS56f88zJ0x+Wa/n/oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDU8M+K/FHgvWIfEHg/xHqeh6pbnMV7p13JbTx9+HQhh0Hevtf4Ef8Fef2ifhq9vpXxRt7H4kaJGQrNeYtNTjX/ZuY12v3P7yN2P94V8KUUAf0Mfs8f8FAf2a/2jvsuleGvGI0LxNc/KPD+vbbW7Z/7sTZMc2ecCNy2BkqK+kK/lXBKkMpIIOQR2r7R/Zd/4Kk/Hf4ENZ+GvHlzL8RPBsO2IWmpXBGoWcY4/cXZBYgDGEk3rhQqlM5oA/deivJv2e/2o/gz+054aPiD4VeKY7ueBFa/0m5Ah1CwJ7Swk5xngOpZDg4Y16zQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHnv7Q/hBvH/wABPiN4KjiEk2t+FtRsoBzxK9tIIzx3D7T+FfzM1/VRX8x3xx8EH4a/Gfx18P8AyhGnh3xFfabEAMAxxTuqED0KhSPYigDiKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOi+H/xD8b/CvxZYeOvh34mvtB13TH8y2vbOTa6+qkHh1I4ZGBVhkEEcV+73/BPv9smT9rz4Z6lc+JNMt9P8ZeEpobTXI7UEW9wsquYbiMHJQP5UgKZOGjOOCAP5/wCv13/4Ig+C9Q074efE/wCIMystnrur2OkwZ6FrOKWRyP8AwOUZ9j6GgD9MaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr8DP+Cp/hzQ/D/wC2n4zl0O+tZhq1vY6jdwQMCbW4a2jWRH9GYoJSP+mor9fP2z/2ntG/ZU+CWp+PZTbXHiG8/wCJf4c0+U5+1Xjg4ZlBBMcYzI/ThQuQWWv54PEviTXfGPiHUvFfifVJ9S1fWLqS+vrydt0k80jFndj6kkmgDNooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAsadp99q2oW2laZaS3V5ezJb28ESlnlkchVVQOSSSAB71/SL+yj8EoP2eP2fvBvwpCx/btKsBLqkiHIkvpiZbghu4Ejsqn+6qjtX5U/wDBIz9mh/ij8aZfjZ4j08SeG/h06yWnmLlbnVWGYQPXylJlJHIbyfWv2xoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACmTTRW8TzzypHFGpd3dgFUDkkk9BT6+JP8Agqz+0w/wU+Ap+HXhu+EXij4kiXTEKN89tpwUC6l46Fg6xDP/AD0cjlKAPzO/4KDftS3H7T/x4v7/AEe/eTwX4XL6T4ciVj5ckYb95dY6bpmG7PB2LGD92vmOiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArd8CeCPEvxJ8ZaL4B8H6c9/rWv3sdhY268b5HYAZPZR1JPAAJPArCr9dv+CQv7Ih8M6C/wC1H480tk1XW4ntPCcEyYaCzb5ZLvB6GXlEOB+7DEZEooA+5P2bfgT4b/Zv+Dfh74TeGysy6VBvv7zZta+vH+aacj/afOAc7VCrk7a9OoooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACv53/29/2gm/aN/aV8S+LbC9M/h3R3/sLw/hsobSBmHmLjqJZDJL64kA7V+xH/AAUU+OT/AAI/ZW8V6zp159n1zxIg8NaOwbDrNcqwd1PUMkKzOD2ZVr+e+gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoorrPhT8LvGPxo+IWifDLwFpjX2t67crb26chIx1eR2/hRFBZm7BTQB7j+wF+yNfftW/GKGz1m1mTwJ4YMd94lulJTzUJPl2iMOQ8pUjIIIRZGByFB/oD07T7DSNPttK0qygs7KyhS3treCMJHDGgCqiqOFUAAADgAV5j+zJ+zz4P/Zi+EWkfC3wkizNbD7RqmoGMLJqN44HmTP8AXAVRztRVXJxmvVqACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooqG7u7awtZr68nSG3t42llkc4VEUZJJ9ABmgD8cP+Cz/xlPij4z+G/gvp1wDZ+CNN+3Xyg/8AL7dhXCsO+2BISP8Ars1fnZXd/Hj4m3Xxl+M/jT4pXW8f8JLrVxfQoxJMUDORDHz/AHYwi/8AAa4SgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigB8EE91PHbW0LyzSuEjjRSzOxOAAByST2r90f+CbH7Eqfs1eAT8QfH+moPiP4stl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A+xNfgdX7d/8FldU+wfsk6faea6f2l4ysbXCjh8QXUuD7fus/UCvxEoAKKKKACiiigAooooAKKKKACiiigAooooAdFFJNIkMMbSSSMFRFGSxPAAHc1+2P7E/7OVv+zx8H7Sz1SzRPFviJU1HXpcDejlf3dtn0iViMcjeZCODX58/8E4/gZH8WfjpF4q1m087QfAax6tOGXKS3ZYi1jP/AAJWk9/JI71+xFeLmmI1VGPzPoMnw2jry9F+oUUUV4x7oUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU2SKOUbZY1cejDNOooAozaHo1xnztKtWJ7+UoP54zWdc+BvDtwDttHgY94pCP0OR+lb9FNSYnFPocLffDdwC2m6iG9EmXH/AI8P8K+Vf2rf2MtP+KenXHiHS9Mh0bxlCmYb5VAg1DA4jnK8EkDAf7y8ZyBivuSmyRpKhjlRXRhgqwyD+FbUsROnLmizCthqdWLjJH87OuaJq3hrWLzQNe0+ax1HT5mt7m3mXDxOpwQapV+nP/BSf9lKw1fwrJ8ffAem+Xqmhoq+ILaJeLiz6CfH96LgH/YJOQIwK/MavpcNXjWp86Pk8VhpYeo4S+QUUUVucwV0fw21tvDPxF8LeJFcIdK1qzvgxYLt8uZHzk8D7vU1zlFAH9VFFUdCvZtS0TT9RuAolurWKZ9owNzICce2TV6gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA+AP+C1f/JrHhb/ALKBZ/8ApBqNfitX7U/8Fq/+TWPC3/ZQLP8A9INRr8VqACiiigAooooAKKKKACiiigAooooAKKK3PAvhW88deNvD/grTywudf1O30yIgZIaaRYwce27NJuyuxpNuyP19/wCCd3woT4afs2aLqd1bCPU/GbnxBcsR8xikAFuM+nkqjD3kb1r6cqrpOl2OiaVZ6LpkCwWen28drbxL0SNFCqo+gAFWq+Rq1HUm5vqfcUaap01TXQKKKKzNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK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6yHZVs/GukTPtfZlBeRbhnsCMg+xNYnxo8NDwZ8YvHfg9YxGNC8S6jpoQfw+TcyR46n+761i+D9XXQPF2ia8zqi6bqNvdlmUsAI5FbJA5I46CgD+pGiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK/CP/grfoX9k/toa7qHlhf7a0XTb7IUDdtgEGSR1/wBRjJ54x0Ar93K/GL/gtdof2X9ovwb4gSMKuo+DY7diEADvFd3RJJ7nbKg57AUAfnpX9D3/AATyvhqP7F3wquFjKbNHeDBOf9XcSx5/Hbn8a/nhr9/v+CXeof2h+w18N91x5stt/advJ6pt1K72r+CFfwxQB9VUUUUAFZfirRh4j8Max4eYgDVLCeyJLEAeZGydQCR96tSigD+Vh0eN2jkUqynDKRgg+ldh8GNQOkfGHwLqq7M2XiXTrgbzhfkuY259uKb8YtCPhf4ueN/DTIUOk+I9QsSpzx5VzImOef4e/Nc1pV8dL1Sz1NYxIbS4ScITjdtYNjP4UAf1PUUUUAFFFFAEdxbw3dvLa3MYkhmQxyIejKRgj8q/ls8SaNL4c8Rap4euG3S6XezWTnjlo3KHp/u1/UvX82n7X3h//hF/2p/i1owQpHH4x1OaJTn5Y5bh5UHJJPyuvPegCv8Asoat/Yf7UHwk1QyeXHB430jzW27sRm8iV+P90mv6U6/l8+GWqNofxJ8J60jSK2n65ZXQMZw4KTo3HvxX9QdABRRRQAUUUUAfzxf8FEPDR8KftpfFTTSuBcaumpj3+1W8Vz6n/nt/9YdB86V9x/8ABYrw1/Yf7XaasqEDxF4WsNQLdiyPNbfni3H6etfDlAH9RngXVm17wR4e112dm1HSra7JdtzEvErcnueetbleW/sr6uuu/syfCbVgyFrnwTpDSbAQof7HEHAB5wGBH4V6lQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU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';\n"; + source += "\n"; + source += "var doc = new jsPDF();\n"; + source += "\n"; + source += "doc.setFontSize(40);\n"; + source += "doc.text(40, 20, \"Octocat loves jsPDF\");\n"; + source += "doc.addImage(imgData, 'JPEG', 10, 40, 180, 180);\n"; + editor.setValue(source); + editor.gotoLine(0); + }); + }; + + var initAutoRefresh = function() { + $('#auto-refresh').on('change', function() { + if ($('#auto-refresh').is(':checked')) { + $('.run-code').hide(); + jsPDFEditor.update(); + } else { + $('.run-code').show(); + } + }); + + $('.run-code').click(function() { + jsPDFEditor.update(); + return false; + }); + }; + + var initDownloadPDF = function() { + $('.download-pdf').click(function(){ + eval(editor.getValue()); + + var file = demos[$('#template').val()]; + if (file === undefined) { + file = 'demo'; + } + doc.save(file + '.pdf'); + }); + return false; + }; + + return { + /** + * Start the editor demo + * @return {void} + */ + init: function() { + + // Init the ACE editor + aceEditor(); + + populateDropdown(); + loadSelectedFile(); + // Do the first update on init + jsPDFEditor.update(); + + initAutoRefresh(); + + initDownloadPDF(); + }, + /** + * Update the iframe with current PDF. + * + * @param {boolean} skipEval If true, will skip evaluation of the code + * @return + */ + update: function(skipEval) { + setTimeout(function() { + if (! skipEval) { + eval(editor.getValue()); + } + if (typeof doc !== "undefined") { + var string = doc.output('datauristring'); + + $('.preview-pane').attr('src', string); + } + }, 100); + } + }; + + }(); + + $(document).ready(function() { + + $("#contactForm").submit(function(e) { + + e.preventDefault(); + var validationErrors = []; + var emailRegExp = "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$"; + var pattern = new RegExp(emailRegExp); + + if ($("#DownloadName").val() == "") { + validationErrors.push("your name"); + $("#DownloadName").css("background", "lightpink"); + } else { + $("#DownloadName").css("background", "#eeeeee"); + + } + if ($("#DownloadEmail").val() == "") { + validationErrors.push("a valid email"); + $("#DownloadEmail").css("background", "lightpink"); + } else { + $("#DownloadEmail").css("background", "#eeeeee"); + } + if ($("#DownloadCompany").val() == "") { + validationErrors.push("your company"); + $("#DownloadCompany").css("background", "lightpink"); + } else { + $("#DownloadCompany").css("background", "#eeeeee"); + + } + if (!pattern.test($("#DownloadEmail").val())) { + if (validationErrors.indexOf("a valid email") == -1) { + validationErrors.push("a valid email"); + } + $("#DownloadEmail").css("background", "lightpink"); + } else { + $("#DownloadEmail").css("background", "#eeeeee"); + } + + if (!validationErrors.length) { + var url = base + 'products/download'; + $.ajax({ + type: "POST", + url: url, + data: $("#contactForm").serialize(), + success: function(data) { + console.log(data); + $("#js-download-form").html(data); + } + }); + } else { + var lastMsg = validationErrors.pop(); + + if (validationErrors.length) { + $("#validation-errors").html("Please enter " + validationErrors.join(', ') + " and " + lastMsg + "."); + } else { + $("#validation-errors").html("Please enter " + lastMsg + "."); + } + } + + + + return false; + }); + + + jsPDFEditor.init(); + + }); \ No newline at end of file diff --git a/js/grapes.min.js b/js/grapes.min.js index 4602a28cb..3ff269503 100644 --- a/js/grapes.min.js +++ b/js/grapes.min.js @@ -1,4 +1,4 @@ -/*! grapesjs - v0.3.12 */ +/*! grapesjs - v0.3.13 */ !function(a,b){"function"==typeof define&&define.amd?define([],b):"object"==typeof exports&&"object"==typeof module?module.exports=mod():a.grapesjs=a.GrapesJS=b()}(this,function(){var a,b,c;!function(d){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.slice(0,n.length-1).concat(a),k=0;k0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,b){return function(){var c=v.call(arguments,0);return"string"!=typeof c[0]&&1===c.length&&c.push(null),n.apply(d,c.concat([a,b]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var b=r[a];delete r[a],t[a]=!0,m.apply(d,b)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,b,c,f){var h,k,l,m,n,s,u=[],v=typeof c;if(f=f||a,"undefined"===v||"function"===v){for(b=!b.length&&c.length?["require","exports","module"]:b,n=0;n
',attributes:{"class":"gjs-fonts gjs-f-b1"}},{id:"b2",label:"2 Blocks",content:'
',attributes:{"class":"gjs-fonts gjs-f-b2"}},{id:"b3",label:"3 Blocks",content:'
',attributes:{"class":"gjs-fonts gjs-f-b3"}},{id:"b4",label:"3/7 Block",content:'
',attributes:{"class":"gjs-fonts gjs-f-b37"}},{id:"hero",label:"Hero section",content:'
Build your templates without coding
Try it now
',attributes:{"class":"gjs-fonts gjs-f-hero"}},{id:"h1p",label:"Text section",content:'

Insert title here

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua

',attributes:{"class":"gjs-fonts gjs-f-h1p"}},{id:"3ba",label:"Badges",content:'
Adam Smith
CEO
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore ipsum dolor sit
ftln
John Black
Software Engineer
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore ipsum dolor sit
ftln
Jessica White
Web Designer
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore ipsum dolor sit
ftln
',attributes:{"class":"gjs-fonts gjs-f-3ba"}},{id:"text",label:"Text",attributes:{"class":"gjs-fonts gjs-f-text"},content:{type:"text",content:"Insert your text here",style:{padding:"10px"},activeOnRender:1}},{id:"image",label:"Image",attributes:{"class":"gjs-fonts gjs-f-image"},content:{type:"image",activeOnRender:1}},{id:"quo",label:"Quote",content:'
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore ipsum dolor sit
',attributes:{"class":"gjs-fonts gjs-f-quo"}}]}}}),function(){function a(a){function b(b,c,d,e,f,g){for(;f>=0&&g>f;f+=a){var h=e?e[f]:f;d=c(d,b[h],h,b)}return d}return function(c,d,e,f){d=u(d,f,4);var g=!B(c)&&t.keys(c),h=(g||c).length,i=a>0?0:h-1;return arguments.length<3&&(e=c[g?g[i]:i],i+=a),b(c,d,e,g,i,h)}}function b(a){return function(b,c,d){c=v(c,d);for(var e=A(b),f=a>0?0:e-1;f>=0&&e>f;f+=a)if(c(b[f],f,b))return f;return-1}}function d(a,b,c){return function(d,e,f){var g=0,h=A(d);if("number"==typeof f)a>0?g=f>=0?f:Math.max(f+h,g):h=f>=0?Math.min(f+1,h):f+h+1;else if(c&&f&&h)return f=c(d,e),d[f]===e?f:-1;if(e!==e)return f=b(l.call(d,g,h),t.isNaN),f>=0?f+g:-1;for(f=a>0?g:h-1;f>=0&&h>f;f+=a)if(d[f]===e)return f;return-1}}function e(a,b){var c=G.length,d=a.constructor,e=t.isFunction(d)&&d.prototype||i,f="constructor";for(t.has(a,f)&&!t.contains(b,f)&&b.push(f);c--;)f=G[c],f in a&&a[f]!==e[f]&&!t.contains(b,f)&&b.push(f)}var f=this,g=f._,h=Array.prototype,i=Object.prototype,j=Function.prototype,k=h.push,l=h.slice,m=i.toString,n=i.hasOwnProperty,o=Array.isArray,p=Object.keys,q=j.bind,r=Object.create,s=function(){},t=function(a){return a instanceof t?a:this instanceof t?void(this._wrapped=a):new t(a)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=t),exports._=t):f._=t,t.VERSION="1.8.3";var u=function(a,b,c){if(void 0===b)return a;switch(null==c?3:c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)};case 4:return function(c,d,e,f){return a.call(b,c,d,e,f)}}return function(){return a.apply(b,arguments)}},v=function(a,b,c){return null==a?t.identity:t.isFunction(a)?u(a,b,c):t.isObject(a)?t.matcher(a):t.property(a)};t.iteratee=function(a,b){return v(a,b,1/0)};var w=function(a,b){return function(c){var d=arguments.length;if(2>d||null==c)return c;for(var e=1;d>e;e++)for(var f=arguments[e],g=a(f),h=g.length,i=0;h>i;i++){var j=g[i];b&&void 0!==c[j]||(c[j]=f[j])}return c}},x=function(a){if(!t.isObject(a))return{};if(r)return r(a);s.prototype=a;var b=new s;return s.prototype=null,b},y=function(a){return function(b){return null==b?void 0:b[a]}},z=Math.pow(2,53)-1,A=y("length"),B=function(a){var b=A(a);return"number"==typeof b&&b>=0&&z>=b};t.each=t.forEach=function(a,b,c){b=u(b,c);var d,e;if(B(a))for(d=0,e=a.length;e>d;d++)b(a[d],d,a);else{var f=t.keys(a);for(d=0,e=f.length;e>d;d++)b(a[f[d]],f[d],a)}return a},t.map=t.collect=function(a,b,c){b=v(b,c);for(var d=!B(a)&&t.keys(a),e=(d||a).length,f=Array(e),g=0;e>g;g++){var h=d?d[g]:g;f[g]=b(a[h],h,a)}return f},t.reduce=t.foldl=t.inject=a(1),t.reduceRight=t.foldr=a(-1),t.find=t.detect=function(a,b,c){var d;return d=B(a)?t.findIndex(a,b,c):t.findKey(a,b,c),void 0!==d&&-1!==d?a[d]:void 0},t.filter=t.select=function(a,b,c){var d=[];return b=v(b,c),t.each(a,function(a,c,e){b(a,c,e)&&d.push(a)}),d},t.reject=function(a,b,c){return t.filter(a,t.negate(v(b)),c)},t.every=t.all=function(a,b,c){b=v(b,c);for(var d=!B(a)&&t.keys(a),e=(d||a).length,f=0;e>f;f++){var g=d?d[f]:f;if(!b(a[g],g,a))return!1}return!0},t.some=t.any=function(a,b,c){b=v(b,c);for(var d=!B(a)&&t.keys(a),e=(d||a).length,f=0;e>f;f++){var g=d?d[f]:f;if(b(a[g],g,a))return!0}return!1},t.contains=t.includes=t.include=function(a,b,c,d){return B(a)||(a=t.values(a)),("number"!=typeof c||d)&&(c=0),t.indexOf(a,b,c)>=0},t.invoke=function(a,b){var c=l.call(arguments,2),d=t.isFunction(b);return t.map(a,function(a){var e=d?b:a[b];return null==e?e:e.apply(a,c)})},t.pluck=function(a,b){return t.map(a,t.property(b))},t.where=function(a,b){return t.filter(a,t.matcher(b))},t.findWhere=function(a,b){return t.find(a,t.matcher(b))},t.max=function(a,b,c){var d,e,f=-1/0,g=-1/0;if(null==b&&null!=a){a=B(a)?a:t.values(a);for(var h=0,i=a.length;i>h;h++)d=a[h],d>f&&(f=d)}else b=v(b,c),t.each(a,function(a,c,d){e=b(a,c,d),(e>g||e===-1/0&&f===-1/0)&&(f=a,g=e)});return f},t.min=function(a,b,c){var d,e,f=1/0,g=1/0;if(null==b&&null!=a){a=B(a)?a:t.values(a);for(var h=0,i=a.length;i>h;h++)d=a[h],f>d&&(f=d)}else b=v(b,c),t.each(a,function(a,c,d){e=b(a,c,d),(g>e||1/0===e&&1/0===f)&&(f=a,g=e)});return f},t.shuffle=function(a){for(var b,c=B(a)?a:t.values(a),d=c.length,e=Array(d),f=0;d>f;f++)b=t.random(0,f),b!==f&&(e[f]=e[b]),e[b]=c[f];return e},t.sample=function(a,b,c){return null==b||c?(B(a)||(a=t.values(a)),a[t.random(a.length-1)]):t.shuffle(a).slice(0,Math.max(0,b))},t.sortBy=function(a,b,c){return b=v(b,c),t.pluck(t.map(a,function(a,c,d){return{value:a,index:c,criteria:b(a,c,d)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;if(c!==d){if(c>d||void 0===c)return 1;if(d>c||void 0===d)return-1}return a.index-b.index}),"value")};var C=function(a){return function(b,c,d){var e={};return c=v(c,d),t.each(b,function(d,f){var g=c(d,f,b);a(e,d,g)}),e}};t.groupBy=C(function(a,b,c){t.has(a,c)?a[c].push(b):a[c]=[b]}),t.indexBy=C(function(a,b,c){a[c]=b}),t.countBy=C(function(a,b,c){t.has(a,c)?a[c]++:a[c]=1}),t.toArray=function(a){return a?t.isArray(a)?l.call(a):B(a)?t.map(a,t.identity):t.values(a):[]},t.size=function(a){return null==a?0:B(a)?a.length:t.keys(a).length},t.partition=function(a,b,c){b=v(b,c);var d=[],e=[];return t.each(a,function(a,c,f){(b(a,c,f)?d:e).push(a)}),[d,e]},t.first=t.head=t.take=function(a,b,c){return null==a?void 0:null==b||c?a[0]:t.initial(a,a.length-b)},t.initial=function(a,b,c){return l.call(a,0,Math.max(0,a.length-(null==b||c?1:b)))},t.last=function(a,b,c){return null==a?void 0:null==b||c?a[a.length-1]:t.rest(a,Math.max(0,a.length-b))},t.rest=t.tail=t.drop=function(a,b,c){return l.call(a,null==b||c?1:b)},t.compact=function(a){return t.filter(a,t.identity)};var D=function(a,b,c,d){for(var e=[],f=0,g=d||0,h=A(a);h>g;g++){var i=a[g];if(B(i)&&(t.isArray(i)||t.isArguments(i))){b||(i=D(i,b,c));var j=0,k=i.length;for(e.length+=k;k>j;)e[f++]=i[j++]}else c||(e[f++]=i)}return e};t.flatten=function(a,b){return D(a,b,!1)},t.without=function(a){return t.difference(a,l.call(arguments,1))},t.uniq=t.unique=function(a,b,c,d){t.isBoolean(b)||(d=c,c=b,b=!1),null!=c&&(c=v(c,d));for(var e=[],f=[],g=0,h=A(a);h>g;g++){var i=a[g],j=c?c(i,g,a):i;b?(g&&f===j||e.push(i),f=j):c?t.contains(f,j)||(f.push(j),e.push(i)):t.contains(e,i)||e.push(i)}return e},t.union=function(){return t.uniq(D(arguments,!0,!0))},t.intersection=function(a){for(var b=[],c=arguments.length,d=0,e=A(a);e>d;d++){var f=a[d];if(!t.contains(b,f)){for(var g=1;c>g&&t.contains(arguments[g],f);g++);g===c&&b.push(f)}}return b},t.difference=function(a){var b=D(arguments,!0,!0,1);return t.filter(a,function(a){return!t.contains(b,a)})},t.zip=function(){return t.unzip(arguments)},t.unzip=function(a){for(var b=a&&t.max(a,A).length||0,c=Array(b),d=0;b>d;d++)c[d]=t.pluck(a,d);return c},t.object=function(a,b){for(var c={},d=0,e=A(a);e>d;d++)b?c[a[d]]=b[d]:c[a[d][0]]=a[d][1];return c},t.findIndex=b(1),t.findLastIndex=b(-1),t.sortedIndex=function(a,b,c,d){c=v(c,d,1);for(var e=c(b),f=0,g=A(a);g>f;){var h=Math.floor((f+g)/2);c(a[h])f;f++,a+=c)e[f]=a;return e};var E=function(a,b,c,d,e){if(!(d instanceof b))return a.apply(c,e);var f=x(a.prototype),g=a.apply(f,e);return t.isObject(g)?g:f};t.bind=function(a,b){if(q&&a.bind===q)return q.apply(a,l.call(arguments,1));if(!t.isFunction(a))throw new TypeError("Bind must be called on a function");var c=l.call(arguments,2),d=function(){return E(a,d,b,this,c.concat(l.call(arguments)))};return d},t.partial=function(a){var b=l.call(arguments,1),c=function(){for(var d=0,e=b.length,f=Array(e),g=0;e>g;g++)f[g]=b[g]===t?arguments[d++]:b[g];for(;d=d)throw new Error("bindAll must be passed function names");for(b=1;d>b;b++)c=arguments[b],a[c]=t.bind(a[c],a);return a},t.memoize=function(a,b){var c=function(d){var e=c.cache,f=""+(b?b.apply(this,arguments):d);return t.has(e,f)||(e[f]=a.apply(this,arguments)),e[f]};return c.cache={},c},t.delay=function(a,b){var c=l.call(arguments,2);return setTimeout(function(){return a.apply(null,c)},b)},t.defer=t.partial(t.delay,t,1),t.throttle=function(a,b,c){var d,e,f,g=null,h=0;c||(c={});var i=function(){h=c.leading===!1?0:t.now(),g=null,f=a.apply(d,e),g||(d=e=null)};return function(){var j=t.now();h||c.leading!==!1||(h=j);var k=b-(j-h);return d=this,e=arguments,0>=k||k>b?(g&&(clearTimeout(g),g=null),h=j,f=a.apply(d,e),g||(d=e=null)):g||c.trailing===!1||(g=setTimeout(i,k)),f}},t.debounce=function(a,b,c){var d,e,f,g,h,i=function(){var j=t.now()-g;b>j&&j>=0?d=setTimeout(i,b-j):(d=null,c||(h=a.apply(f,e),d||(f=e=null)))};return function(){f=this,e=arguments,g=t.now();var j=c&&!d;return d||(d=setTimeout(i,b)),j&&(h=a.apply(f,e),f=e=null),h}},t.wrap=function(a,b){return t.partial(b,a)},t.negate=function(a){return function(){return!a.apply(this,arguments)}},t.compose=function(){var a=arguments,b=a.length-1;return function(){for(var c=b,d=a[b].apply(this,arguments);c--;)d=a[c].call(this,d);return d}},t.after=function(a,b){return function(){return--a<1?b.apply(this,arguments):void 0}},t.before=function(a,b){var c;return function(){return--a>0&&(c=b.apply(this,arguments)),1>=a&&(b=null),c}},t.once=t.partial(t.before,2);var F=!{toString:null}.propertyIsEnumerable("toString"),G=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];t.keys=function(a){if(!t.isObject(a))return[];if(p)return p(a);var b=[];for(var c in a)t.has(a,c)&&b.push(c);return F&&e(a,b),b},t.allKeys=function(a){if(!t.isObject(a))return[];var b=[];for(var c in a)b.push(c);return F&&e(a,b),b},t.values=function(a){for(var b=t.keys(a),c=b.length,d=Array(c),e=0;c>e;e++)d[e]=a[b[e]];return d},t.mapObject=function(a,b,c){b=v(b,c);for(var d,e=t.keys(a),f=e.length,g={},h=0;f>h;h++)d=e[h],g[d]=b(a[d],d,a);return g},t.pairs=function(a){for(var b=t.keys(a),c=b.length,d=Array(c),e=0;c>e;e++)d[e]=[b[e],a[b[e]]];return d},t.invert=function(a){for(var b={},c=t.keys(a),d=0,e=c.length;e>d;d++)b[a[c[d]]]=c[d];return b},t.functions=t.methods=function(a){var b=[];for(var c in a)t.isFunction(a[c])&&b.push(c);return b.sort()},t.extend=w(t.allKeys),t.extendOwn=t.assign=w(t.keys),t.findKey=function(a,b,c){b=v(b,c);for(var d,e=t.keys(a),f=0,g=e.length;g>f;f++)if(d=e[f],b(a[d],d,a))return d},t.pick=function(a,b,c){var d,e,f={},g=a;if(null==g)return f;t.isFunction(b)?(e=t.allKeys(g),d=u(b,c)):(e=D(arguments,!1,!1,1),d=function(a,b,c){return b in c},g=Object(g));for(var h=0,i=e.length;i>h;h++){var j=e[h],k=g[j];d(k,j,g)&&(f[j]=k)}return f},t.omit=function(a,b,c){if(t.isFunction(b))b=t.negate(b);else{var d=t.map(D(arguments,!1,!1,1),String);b=function(a,b){return!t.contains(d,b)}}return t.pick(a,b,c)},t.defaults=w(t.allKeys,!0),t.create=function(a,b){var c=x(a);return b&&t.extendOwn(c,b),c},t.clone=function(a){return t.isObject(a)?t.isArray(a)?a.slice():t.extend({},a):a},t.tap=function(a,b){return b(a),a},t.isMatch=function(a,b){var c=t.keys(b),d=c.length;if(null==a)return!d;for(var e=Object(a),f=0;d>f;f++){var g=c[f];if(b[g]!==e[g]||!(g in e))return!1}return!0};var H=function(a,b,c,d){if(a===b)return 0!==a||1/a===1/b;if(null==a||null==b)return a===b;a instanceof t&&(a=a._wrapped),b instanceof t&&(b=b._wrapped);var e=m.call(a);if(e!==m.call(b))return!1;switch(e){case"[object RegExp]":case"[object String]":return""+a==""+b;case"[object Number]":return+a!==+a?+b!==+b:0===+a?1/+a===1/b:+a===+b;case"[object Date]":case"[object Boolean]":return+a===+b}var f="[object Array]"===e;if(!f){if("object"!=typeof a||"object"!=typeof b)return!1;var g=a.constructor,h=b.constructor;if(g!==h&&!(t.isFunction(g)&&g instanceof g&&t.isFunction(h)&&h instanceof h)&&"constructor"in a&&"constructor"in b)return!1}c=c||[],d=d||[];for(var i=c.length;i--;)if(c[i]===a)return d[i]===b;if(c.push(a),d.push(b),f){if(i=a.length,i!==b.length)return!1;for(;i--;)if(!H(a[i],b[i],c,d))return!1}else{var j,k=t.keys(a);if(i=k.length,t.keys(b).length!==i)return!1;for(;i--;)if(j=k[i],!t.has(b,j)||!H(a[j],b[j],c,d))return!1}return c.pop(),d.pop(),!0};t.isEqual=function(a,b){return H(a,b)},t.isEmpty=function(a){return null==a?!0:B(a)&&(t.isArray(a)||t.isString(a)||t.isArguments(a))?0===a.length:0===t.keys(a).length},t.isElement=function(a){return!(!a||1!==a.nodeType)},t.isArray=o||function(a){return"[object Array]"===m.call(a)},t.isObject=function(a){var b=typeof a;return"function"===b||"object"===b&&!!a},t.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(a){t["is"+a]=function(b){return m.call(b)==="[object "+a+"]"}}),t.isArguments(arguments)||(t.isArguments=function(a){return t.has(a,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(t.isFunction=function(a){return"function"==typeof a||!1}),t.isFinite=function(a){return isFinite(a)&&!isNaN(parseFloat(a))},t.isNaN=function(a){return t.isNumber(a)&&a!==+a},t.isBoolean=function(a){return a===!0||a===!1||"[object Boolean]"===m.call(a)},t.isNull=function(a){return null===a},t.isUndefined=function(a){return void 0===a},t.has=function(a,b){return null!=a&&n.call(a,b)},t.noConflict=function(){return f._=g,this},t.identity=function(a){return a},t.constant=function(a){return function(){return a}},t.noop=function(){},t.property=y,t.propertyOf=function(a){return null==a?function(){}:function(b){return a[b]}},t.matcher=t.matches=function(a){return a=t.extendOwn({},a),function(b){return t.isMatch(b,a)}},t.times=function(a,b,c){var d=Array(Math.max(0,a));b=u(b,c,1);for(var e=0;a>e;e++)d[e]=b(e);return d},t.random=function(a,b){return null==b&&(b=a,a=0),a+Math.floor(Math.random()*(b-a+1))},t.now=Date.now||function(){return(new Date).getTime()};var I={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},J=t.invert(I),K=function(a){var b=function(b){return a[b]},c="(?:"+t.keys(a).join("|")+")",d=RegExp(c),e=RegExp(c,"g");return function(a){return a=null==a?"":""+a,d.test(a)?a.replace(e,b):a}};t.escape=K(I),t.unescape=K(J),t.result=function(a,b,c){var d=null==a?void 0:a[b];return void 0===d&&(d=c),t.isFunction(d)?d.call(a):d};var L=0;t.uniqueId=function(a){var b=++L+"";return a?a+b:b},t.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var M=/(.)^/,N={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},O=/\\|'|\r|\n|\u2028|\u2029/g,P=function(a){return"\\"+N[a]};t.template=function(a,b,c){!b&&c&&(b=c),b=t.defaults({},b,t.templateSettings);var d=RegExp([(b.escape||M).source,(b.interpolate||M).source,(b.evaluate||M).source].join("|")+"|$","g"),e=0,f="__p+='";a.replace(d,function(b,c,d,g,h){return f+=a.slice(e,h).replace(O,P),e=h+b.length,c?f+="'+\n((__t=("+c+"))==null?'':_.escape(__t))+\n'":d?f+="'+\n((__t=("+d+"))==null?'':__t)+\n'":g&&(f+="';\n"+g+"\n__p+='"),b}),f+="';\n",b.variable||(f="with(obj||{}){\n"+f+"}\n"),f="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+f+"return __p;\n";try{var g=new Function(b.variable||"obj","_",f)}catch(h){throw h.source=f,h}var i=function(a){return g.call(this,a,t)},j=b.variable||"obj";return i.source="function("+j+"){\n"+f+"}",i},t.chain=function(a){var b=t(a);return b._chain=!0,b};var Q=function(a,b){return a._chain?t(b).chain():b};t.mixin=function(a){t.each(t.functions(a),function(b){var c=t[b]=a[b];t.prototype[b]=function(){var a=[this._wrapped];return k.apply(a,arguments),Q(this,c.apply(t,a))}})},t.mixin(t),t.each(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=h[a];t.prototype[a]=function(){var c=this._wrapped;return b.apply(c,arguments),"shift"!==a&&"splice"!==a||0!==c.length||delete c[0],Q(this,c)}}),t.each(["concat","join","slice"],function(a){var b=h[a];t.prototype[a]=function(){return Q(this,b.apply(this._wrapped,arguments))}}),t.prototype.value=function(){return this._wrapped},t.prototype.valueOf=t.prototype.toJSON=t.prototype.value,t.prototype.toString=function(){return""+this._wrapped},"function"==typeof c&&c.amd&&c("underscore",[],function(){return t})}.call(this),c("jquery",[],function(){return jQuery}),function(a){var d="object"==typeof self&&self.self==self&&self||"object"==typeof global&&global.global==global&&global;if("function"==typeof c&&c.amd)c("backbone",["underscore","jquery","exports"],function(b,c,e){d.Backbone=a(d,e,b,c)});else if("undefined"!=typeof exports){var e,f=b("underscore");try{e=b("jquery")}catch(g){}a(d,exports,f,e)}else d.Backbone=a(d,{},d._,d.jQuery||d.Zepto||d.ender||d.$)}(function(a,b,c,d){var e=a.Backbone,f=Array.prototype.slice;b.VERSION="1.2.3",b.$=d,b.noConflict=function(){return a.Backbone=e,this},b.emulateHTTP=!1,b.emulateJSON=!1;var g=function(a,b,d){switch(a){case 1:return function(){return c[b](this[d])};case 2:return function(a){return c[b](this[d],a)};case 3:return function(a,e){return c[b](this[d],i(a,this),e)};case 4:return function(a,e,f){return c[b](this[d],i(a,this),e,f)};default:return function(){var a=f.call(arguments);return a.unshift(this[d]),c[b].apply(c,a)}}},h=function(a,b,d){c.each(b,function(b,e){c[e]&&(a.prototype[e]=g(b,e,d))})},i=function(a,b){return c.isFunction(a)?a:c.isObject(a)&&!b._isModel(a)?j(a):c.isString(a)?function(b){return b.get(a)}:a},j=function(a){var b=c.matches(a);return function(a){return b(a.attributes)}},k=b.Events={},l=/\s+/,m=function(a,b,d,e,f){var g,h=0;if(d&&"object"==typeof d){void 0!==e&&"context"in f&&void 0===f.context&&(f.context=e);for(g=c.keys(d);hd;d++)c[d]=arguments[d+1];return m(r,this._events,a,void 0,c),this};var r=function(a,b,c,d){if(a){var e=a[b],f=a.all;e&&f&&(f=f.slice()),e&&s(e,d),f&&s(f,[b].concat(d))}return a},s=function(a,b){var c,d=-1,e=a.length,f=b[0],g=b[1],h=b[2];switch(b.length){case 0:for(;++df;f++)a[f+c]=b[f];for(f=0;fe&&(e+=this.length+1);for(var f,g=[],h=[],i=[],j={},k=b.add,l=b.merge,m=b.remove,n=!1,o=this.comparator&&null==e&&b.sort!==!1,p=c.isString(this.comparator)?this.comparator:null,q=0;qa&&(a+=this.length),this.models[a]},where:function(a,b){return this[b?"find":"filter"](a)},findWhere:function(a){return this.where(a,!0)},sort:function(a){var b=this.comparator;if(!b)throw new Error("Cannot sort a set without a comparator");a||(a={});var d=b.length;return c.isFunction(b)&&(b=c.bind(b,this)),1===d||c.isString(b)?this.models=this.sortBy(b):this.models.sort(b),a.silent||this.trigger("sort",this,a),this},pluck:function(a){return c.invoke(this.models,"get",a)},fetch:function(a){a=c.extend({parse:!0},a);var b=a.success,d=this;return a.success=function(c){var e=a.reset?"reset":"set";d[e](c,a),b&&b.call(a.context,d,c,a),d.trigger("sync",d,c,a)},P(this,a),this.sync("read",this,a)},create:function(a,b){b=b?c.clone(b):{};var d=b.wait;if(a=this._prepareModel(a,b),!a)return!1;d||this.add(a,b);var e=this,f=b.success;return b.success=function(a,b,c){d&&e.add(a,c),f&&f.call(c.context,a,b,c)},a.save(null,b),a},parse:function(a,b){return a},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(a){return a[this.model.prototype.idAttribute||"id"]},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(a,b){if(this._isModel(a))return a.collection||(a.collection=this),a;b=b?c.clone(b):{},b.collection=this;var d=new this.model(a,b);return d.validationError?(this.trigger("invalid",this,d.validationError,b),!1):d},_removeModels:function(a,b){for(var c=[],d=0;d7),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(L,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var b=this.root.slice(0,-1)||"/";return this.location.replace(b+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var d=document.body,e=d.insertBefore(this.iframe,d.firstChild).contentWindow;e.document.open(),e.document.close(),e.location.hash="#"+this.fragment}var f=window.addEventListener||function(a,b){return attachEvent("on"+a,b)};return this._usePushState?f("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?f("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.options.silent?void 0:this.loadUrl()},stop:function(){var a=window.removeEventListener||function(a,b){return detachEvent("on"+a,b)};this._usePushState?a("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&a("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),J.started=!1},route:function(a,b){this.handlers.unshift({route:a,callback:b})},checkUrl:function(a){var b=this.getFragment();return b===this.fragment&&this.iframe&&(b=this.getHash(this.iframe.contentWindow)),b===this.fragment?!1:(this.iframe&&this.navigate(b),void this.loadUrl())},loadUrl:function(a){return this.matchRoot()?(a=this.fragment=this.getFragment(a),c.some(this.handlers,function(b){return b.route.test(a)?(b.callback(a),!0):void 0})):!1},navigate:function(a,b){if(!J.started)return!1;b&&b!==!0||(b={trigger:!!b}),a=this.getFragment(a||"");var c=this.root;(""===a||"?"===a.charAt(0))&&(c=c.slice(0,-1)||"/");var d=c+a;if(a=this.decodeFragment(a.replace(M,"")),this.fragment!==a){if(this.fragment=a,this._usePushState)this.history[b.replace?"replaceState":"pushState"]({},document.title,d);else{if(!this._wantsHashChange)return this.location.assign(d);if(this._updateHash(this.location,a,b.replace),this.iframe&&a!==this.getHash(this.iframe.contentWindow)){var e=this.iframe.contentWindow;b.replace||(e.document.open(),e.document.close()),this._updateHash(e.location,a,b.replace)}}return b.trigger?this.loadUrl(a):void 0}},_updateHash:function(a,b,c){if(c){var d=a.href.replace(/(javascript:|#).*$/,"");a.replace(d+"#"+b)}else a.hash="#"+b}}),b.history=new J;var N=function(a,b){var d,e=this;d=a&&c.has(a,"constructor")?a.constructor:function(){return e.apply(this,arguments)},c.extend(d,e,b);var f=function(){this.constructor=d};return f.prototype=e.prototype,d.prototype=new f,a&&c.extend(d.prototype,a),d.__super__=e.prototype,d};t.extend=v.extend=E.extend=A.extend=J.extend=N;var O=function(){throw new Error('A "url" property or function must be specified')},P=function(a,b){var c=b.error;b.error=function(d){c&&c.call(b.context,a,d,b),a.trigger("error",a,d,b)}};return b}),function(a){"function"==typeof c&&c.amd?c("backboneUndo",["underscore","backbone"],a):"undefined"!=typeof exports?module.exports=a(b("underscore"),b("backbone")):a(_,Backbone)}(function(a,b){function c(a,b,c){return c.length<=4?a.call(b,c[0],c[1],c[2],c[3]):a.apply(b,c)}function d(a,b){return n.call(a,b)}function e(b,c){return null==b?!1:(a.isArray(c)||(c=d(arguments,1)),a.all(c,function(a){return a in b}))}function f(){this.registeredObjects=[],this.cidIndexes=[]}function g(b,c,d,e){for(var f,g=0,h=c.length;h>g;g++)if(f=c[g]){if("on"===b){if(!e.objectRegistry.register(f))continue}else if(!e.objectRegistry.unregister(f))continue;a.isFunction(f[b])&&f[b]("all",d,e)}}function h(b,c){var d=c.type,e=c.undoTypes,f=!e[d]||e[d][b];a.isFunction(f)&&f(c.object,c.before,c.after,c.options)}function i(b,c,d,e,f){if(!(d.isCurrentlyUndoRedoing||"undo"===b&&-1===d.pointer||"redo"===b&&d.pointer===d.length-1)){d.isCurrentlyUndoRedoing=!0;var g,h,i="undo"===b;for(f?h=i&&d.pointer===d.length-1||!i&&-1===d.pointer?a.clone(d.models):n.apply(d.models,i?[0,d.pointer]:[d.pointer,d.length-1]):(g=d.at(i?d.pointer:d.pointer+1),h=e?d.where({magicFusionIndex:g.get("magicFusionIndex")}):[g]),d.pointer+=(i?-1:1)*h.length;g=i?h.pop():h.shift();)g[b]();d.isCurrentlyUndoRedoing=!1,c.trigger(b,c)}}function j(a,b){var d=a.condition,e=typeof d;return"function"===e?!!c(d,a,b):"boolean"===e?d:!0}function k(a,b,d,f){if(a.track&&!a.isCurrentlyUndoRedoing&&b in f&&j(f[b],d)){var g,h=c(f[b].on,f[b],d);if(e(h,"object","before","after")){if(h.type=b,h.magicFusionIndex=o(),h.undoTypes=f,a.pointera.maximumStackLength&&(a.shift(),a.pointer--)}}}function l(){}function m(b,c,d,f){if("object"==typeof c)return a.each(c,function(a,c){2===b?m(b,a,d,f):m(b,c,a,d)});switch(b){case 0:e(d,"undo","redo","on")&&a.all(a.pick(d,"undo","redo","on"),a.isFunction)&&(f[c]=d);break;case 1:f[c]&&a.isObject(d)&&(f[c]=a.extend({},f[c],d));break;case 2:delete f[c]}return this}var n=Array.prototype.slice,o=function(){function b(){d++,c=!0,a.defer(function(){c=!1})}var c=!1,d=-1;return function(){return c||b(),d}}();f.prototype={isRegistered:function(b){return b&&b.cid?this.registeredObjects[b.cid]:a.contains(this.registeredObjects,b)},register:function(a){return this.isRegistered(a)?!1:(a&&a.cid?(this.registeredObjects[a.cid]=a,this.cidIndexes.push(a.cid)):this.registeredObjects.push(a),!0)},unregister:function(b){if(this.isRegistered(b)){if(b&&b.cid)delete this.registeredObjects[b.cid],this.cidIndexes.splice(a.indexOf(this.cidIndexes,b.cid),1);else{var c=a.indexOf(this.registeredObjects,b);this.registeredObjects.splice(c,1)}return!0}return!1},get:function(){return a.map(this.cidIndexes,function(a){return this.registeredObjects[a]},this).concat(this.registeredObjects)}};var p={add:{undo:function(a,b,c,d){a.remove(c,d)},redo:function(a,b,c,d){d.index&&(d.at=d.index),a.add(c,d)},on:function(b,c,d){return{object:c,before:void 0,after:b,options:a.clone(d)}}},remove:{undo:function(a,b,c,d){"index"in d&&(d.at=d.index),a.add(b,d)},redo:function(a,b,c,d){a.remove(b,d)},on:function(b,c,d){return{object:c,before:b,after:void 0,options:a.clone(d)}}},change:{undo:function(b,c,d,e){a.isEmpty(c)?a.each(a.keys(d),b.unset,b):(b.set(c),e&&e.unsetData&&e.unsetData.before&&e.unsetData.before.length&&a.each(e.unsetData.before,b.unset,b))},redo:function(b,c,d,e){a.isEmpty(d)?a.each(a.keys(c),b.unset,b):(b.set(d),e&&e.unsetData&&e.unsetData.after&&e.unsetData.after.length&&a.each(e.unsetData.after,b.unset,b))},on:function(b,c){var d=b.changedAttributes(),e=a.keys(d),f=a.pick(b.previousAttributes(),e),g=a.keys(f),h=(c||(c={})).unsetData={after:[],before:[]};return e.length!=g.length&&(e.length>g.length?a.each(e,function(a){a in f||h.before.push(a)},this):a.each(g,function(a){a in d||h.after.push(a)})),{object:b,before:f,after:d,options:a.clone(c)}}},reset:{undo:function(a,b,c){a.reset(b)},redo:function(a,b,c){a.reset(c)},on:function(b,c){return{object:b,before:c.previousModels,after:a.clone(b.models)}}}};l.prototype=p;var q=b.Model.extend({defaults:{type:null,object:null,before:null,after:null,magicFusionIndex:null},undo:function(a){h("undo",this.attributes)},redo:function(a){h("redo",this.attributes)}}),r=b.Collection.extend({model:q,pointer:-1,track:!1,isCurrentlyUndoRedoing:!1,maximumStackLength:1/0,setMaxLength:function(a){this.maximumStackLength=a}}),s=b.Model.extend({defaults:{maximumStackLength:1/0,track:!1},initialize:function(b){this.stack=new r,this.objectRegistry=new f,this.undoTypes=new l,this.stack.setMaxLength(this.get("maximumStackLength")),this.on("change:maximumStackLength",function(a,b){this.stack.setMaxLength(b)},this),b&&b.track&&this.startTracking(),b&&b.register&&(a.isArray(b.register)||a.isArguments(b.register)?c(this.register,this,b.register):this.register(b.register))},startTracking:function(){this.set("track",!0),this.stack.track=!0},stopTracking:function(){this.set("track",!1),this.stack.track=!1},isTracking:function(){return this.get("track")},_addToStack:function(a){k(this.stack,a,d(arguments,1),this.undoTypes)},register:function(){g("on",arguments,this._addToStack,this)},unregister:function(){g("off",arguments,this._addToStack,this)},unregisterAll:function(){c(this.unregister,this,this.objectRegistry.get())},undo:function(a){i("undo",this,this.stack,a)},undoAll:function(){i("undo",this,this.stack,!1,!0)},redo:function(a){i("redo",this,this.stack,a)},redoAll:function(){i("redo",this,this.stack,!1,!0)},isAvailable:function(a){var b=this.stack,c=b.length;switch(a){case"undo":return c>0&&b.pointer>-1;case"redo":return c>0&&b.pointer0;for(f in v)(!v[f]&&b(e.mods,+f)>-1||v[f]&&-1==b(e.mods,+f))&&(i=!1);(0!=e.mods.length||v[16]||v[18]||v[17]||v[91])&&!i||e.method(a,e)===!1&&(a.preventDefault?a.preventDefault():a.returnValue=!1,a.stopPropagation&&a.stopPropagation(),a.cancelBubble&&(a.cancelBubble=!0))}}function f(a){var c,d=a.keyCode,e=b(A,d);if(e>=0&&A.splice(e,1),(93==d||224==d)&&(d=91),d in v){v[d]=!1;for(c in x)x[c]==d&&(h[c]=!1)}}function g(){for(t in v)v[t]=!1;for(t in x)h[t]=!1}function h(a,b,c){var d,e;d=p(a),void 0===c&&(c=b,b="all");for(var f=0;f1&&(e=q(a),a=[a[a.length-1]]),a=a[0],a=z(a),a in u||(u[a]=[]),u[a].push({shortcut:d[f],scope:b,method:c,key:d[f],mods:e})}function i(a,b){var d,e,f,g,h,i=[];for(d=p(a),g=0;g1&&(i=q(e)),a=e[e.length-1],a=z(a),void 0===b&&(b=n()),!u[a])return;for(f=0;ft;t++)y["f"+t]=111+t;var B={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey"};for(t in x)h[t]=!1;r(document,"keydown",function(a){e(a)}),r(document,"keyup",f),r(window,"focus",g);var C=a.key;a.key=h,a.key.setScope=m,a.key.getScope=n,a.key.deleteScope=o,a.key.filter=l,a.key.isPressed=j,a.key.getPressedKeyCodes=k,a.key.noConflict=s,a.key.unbind=i,"undefined"!=typeof module&&(module.exports=h)}(this),c("keymaster",function(a){return function(){var b;return b||a.keymaster}}(this)),c("Utils/Sorter",["backbone"],function(a){return a.View.extend({initialize:function(a){_.bindAll(this,"startSort","onMove","endMove","rollback","udpateOffset");var b=a||{};this.elT=0,this.elL=0,this.borderOffset=b.borderOffset||10;var c=b.container;this.el="string"==typeof c?document.querySelector(b.container):c,this.$el=$(this.el),this.containerSel=b.containerSel||"div",this.itemSel=b.itemSel||"div",this.nested=b.nested||0,this.pfx=b.pfx||"",this.freezeClass=b.freezeClass||this.pfx+"freezed",this.onStart=b.onStart||"",this.onEndMove=b.onEndMove||"",this.direction=b.direction||"v",this.onMoveClb=b.onMove||"",this.relative=b.relative||0,this.plh=b.placer||"",this.wmargin=b.wmargin||0,this.offTop=b.offsetTop||0,this.offLeft=b.offsetLeft||0,this.document=b.document||document,this.dropContent="",this.helper="",this.em=b.em||"",this.em&&this.em.on&&(this.em.on("change:canvasOffset",this.udpateOffset),this.udpateOffset())},udpateOffset:function(){var a=this.em.get("canvasOffset");this.offTop=a.top,this.offLeft=a.left},setDropContent:function(a){this.dropContent=a},matches:function(a,b){for(var c=(a.parentNode||document.body).querySelectorAll(b),d=0;c[d]&&c[d]!==a;)++d;return!!c[d]},closest:function(a,b){if(a){for(var c=a.parentNode;c&&1===c.nodeType;){if(this.matches(c,b))return c;c=c.parentNode}return null}},offset:function(a){var b=a.getBoundingClientRect();return{top:b.top+document.body.scrollTop,left:b.left+document.body.scrollLeft}},createPlaceholder:function(){var a=this.pfx,b=document.createElement("div"),c=document.createElement("div");return b.className=a+"placeholder",b.style.display="none",b.style["pointer-events"]="none",c.className=a+"placeholder-int",b.appendChild(c),b},startSort:function(a){this.moved=0,this.eV=a,a&&!this.matches(a,this.itemSel+","+this.containerSel)&&(this.eV=this.closest(a,this.itemSel)),this.plh||(this.plh=this.createPlaceholder(),this.el.appendChild(this.plh)),this.eV&&(this.eV.className+=" "+this.freezeClass,$(this.document).on("mouseup",this.endMove)),this.helper&&(this.helperEl=this.helper,this.helperEl.className+=" "+this.ppfx+"bdrag",document.body.appendChild(this.helperEl)),this.$el.on("mousemove",this.onMove),$(document).on("keypress",this.rollback),"function"==typeof this.onStart&&this.onStart()},onMove:function(a){this.moved=1;var b=this.plh,c=b.style.display;c&&"none"!==c||(b.style.display="block");var d=this.offset(this.el);this.elT=this.wmargin?Math.abs(d.top):d.top,this.elL=this.wmargin?Math.abs(d.left):d.left,this.rY=a.pageY-this.elT+this.el.scrollTop,this.rX=a.pageX-this.elL+this.el.scrollLeft;var e=this.dimsFromTarget(a.target,this.rX,this.rY);this.lastDims=e;var f=this.findPosition(e,this.rX,this.rY);if(this.lastPos&&this.lastPos.index==f.index&&this.lastPos.method==f.method||(this.movePlaceholder(this.plh,e,f,this.prevTargetDim),this.$plh||(this.$plh=$(this.plh)),this.offTop&&this.$plh.css("top","+="+this.offTop+"px"),this.offLeft&&this.$plh.css("left","+="+this.offLeft+"px"),this.lastPos=f),this.helperEl){var g=this.helperEl.style;g.left=this.rX+"px",g.top=this.rY+"px"}"function"==typeof this.onMoveClb&&this.onMoveClb(a)},isInFlow:function(a,b){if(!a)return!1;b=b||document.body;var c,d=a;return c=d.offsetHeight,this.styleInFlow(d,b)?!0:!1},styleInFlow:function(a,b){var c=a.style,d=$(a);if(!(c.overflow&&"visible"!==c.overflow||"none"!==d.css("float")||b&&"flex"==$(b).css("display"))){switch(c.position){case"static":case"relative":case"":break;default:return}switch(d.css("display")){case"block":case"list-item":case"table":case"flex":return!0}}},dimsFromTarget:function(a,b,c){var d=[];return this.matches(a,this.itemSel+","+this.containerSel)||(a=this.closest(a,this.itemSel)),a?(this.prevTarget&&this.prevTarget!=a&&(this.prevTarget=null),this.prevTarget||(this.targetP=this.closest(a,this.containerSel),this.prevTarget=a,this.prevTargetDim=this.getDim(a),this.cacheDimsP=this.getChildrenDim(this.targetP),this.cacheDims=this.getChildrenDim(a)),this.prevTarget==a&&(d=this.cacheDims),this.target=this.prevTarget,(this.nearBorders(this.prevTargetDim,b,c)||!this.nested&&!this.cacheDims.length)&&(d=this.cacheDimsP,this.target=this.targetP),this.lastPos=null,d):d},getDim:function(a){var b=this.offset(a),c=this.relative?a.offsetTop:b.top-(this.wmargin?-1:1)*this.elT,d=this.relative?a.offsetLeft:b.left-(this.wmargin?-1:1)*this.elL;return[c,d,a.offsetHeight,a.offsetWidth]},getChildrenDim:function(a){var b=[];if(!a)return b;for(var c=a.children,d=0,e=c.length;e>d;d++){var f=c[d];if(this.matches(f,this.itemSel)){var g=this.getDim(f),h=this.direction;h="v"==h?!0:"h"==h?!1:this.isInFlow(f,a),g.push(h),g.push(f),b.push(g)}}return b},nearBorders:function(a,b,c){var d=0,e=this.borderOffset,f=b||0,g=c||0,h=a[0],i=a[1],j=a[2],k=a[3];return(h+e>g||g>h+j-e||i+e>f||f>i+k-e)&&(d=1),!!d},findPosition:function(a,b,c){for(var d={index:0,method:"before"},e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=a.length;n>m;m++)if(l=a[m],g=l[1]+l[3],k=l[0]+l[2],i=l[1]+l[3]/2,j=l[0]+l[2]/2,!(f&&l[1]>f||h&&j>=h||e&&e>g))if(d.index=m,l[4]){if(j>c){d.method="before";break}d.method="after"}else k>c&&(h=k),i>b?(f=i,d.method="before"):(e=i,d.method="after");return d},movePlaceholder:function(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j="px",k=5,l="#62c462",m=3,n=c.method,o=b[c.index];if(a.style.borderColor="transparent "+l,a.style.borderWidth=m+j+" "+(m+2)+j,a.style.margin="-"+m+"px 0 0",o)o[4]?(h=o[3]+j,i="auto",f="before"==n?o[0]-e:o[0]+o[2]-e,g=o[1]):(h="auto",i=o[2]-2*e+j,f=o[0]+e,g="before"==n?o[1]-e:o[1]+o[3]-e,a.style.borderColor=l+" transparent",a.style.borderWidth=m+2+j+" "+m+j,a.style.margin="0 0 0 -"+m+"px");else{if(!this.nested)return void(a.style.display="none");d&&(f=d[0]+k,g=d[1]+k,h=parseInt(d[3])-2*k+j,i="auto")}a.style.top=f+j,a.style.left=g+j,h&&(a.style.width=h),i&&(a.style.height=i)},endMove:function(a){var b;this.$el.off("mousemove",this.onMove),$(this.document).off("mouseup",this.endMove),$(this.document).off("keypress",this.rollback),this.plh.style.display="none";var c=new RegExp("(?:^|\\s)"+this.freezeClass+"(?!\\S)","gi");this.eV&&(this.eV.className=this.eV.className.replace(c,"")),this.moved&&(b=this.move(this.target,this.eV,this.lastPos)),this.plh&&(this.plh.style.display="none"),this.helperEl="",this.helper&&this.helper.parentNode.removeChild(this.helper),"function"==typeof this.onEndMove&&this.onEndMove(b)},move:function(a,b,c){var d=c.index,e=$(b).data("model"),f=$(a),g=f.data("collection"),h=f.data("model"),i=h?h.get("droppable"):1;if(g&&i){d="after"===c.method?d+1:d;var j,k,l={at:d,noIncrement:1};this.dropContent?(j=this.dropContent,l.silent=!1):(k=g.add({},l),e&&(j=e.collection.remove(e)));var m=g.add(j,l);return this.dropContent?this.dropContent=null:g.remove(k),this.prevTarget=null,m}console.warn("Invalid target position")},rollback:function(a){$(document).off("keypress",this.rollback);var b=a.which||a.keyCode;27==b&&(this.moved=!1,this.endMove())}})}),c("Utils/main",["require","./Sorter"],function(a){var b=function(){var b=a("./Sorter");return{name:"Utils",init:function(){return this},Sorter:b}};return b}),c("Utils",["Utils/main"],function(a){return a}),c("StorageManager/config/config",[],function(){return{id:"gjs-",autosave:1,autoload:1,type:"local",stepsBeforeSave:1,storeComponents:!1,storeStyles:!1,storeHtml:!0,storeCss:!0,checkLocal:!0,params:{},urlStore:"",urlLoad:"",beforeSend:function(a,b){}, onComplete:function(a,b){}}}),c("StorageManager/model/LocalStorage",["backbone"],function(a){return a.Model.extend({defaults:{checkLocal:!0},store:function(a){this.checkStorageEnvironment();for(var b in a)localStorage.setItem(b,a[b])},load:function(a){this.checkStorageEnvironment();for(var b={},c=0,d=a.length;d>c;c++){var e=localStorage.getItem(a[c]);e&&(b[a[c]]=e)}return b},remove:function(a){this.checkStorageEnvironment();for(var b=0,c=a.length;c>b;b++)localStorage.removeItem(a[b])},checkStorageEnvironment:function(){this.get("checkLocal")&&!localStorage&&console.warn("Your browser doesn't support localStorage")}})}),c("StorageManager/model/RemoteStorage",["backbone"],function(a){return a.Model.extend({defaults:{urlStore:"",urlLoad:"",params:{},beforeSend:function(){},onComplete:function(){}},store:function(a){var b={},c=this.get("params");for(var d in a)b[d]=a[d];for(var e in c)b[e]=c[e];$.ajax({url:this.get("urlStore"),beforeSend:this.get("beforeSend"),complete:this.get("onComplete"),method:"POST",dataType:"json",data:b})},load:function(a){var b={},c={},d=this.get("params");for(var e in d)c[e]=d[e];return c.keys=a,$.ajax({url:this.get("urlLoad"),beforeSend:this.get("beforeSend"),complete:this.get("onComplete"),data:c,async:!1,method:"GET"}).done(function(a){b=a}),b}})}),c("StorageManager/main",["require","./config/config","./model/LocalStorage","./model/RemoteStorage"],function(a){var b=function(){var b={},c=a("./config/config"),d=a("./model/LocalStorage"),e=a("./model/RemoteStorage"),f={},g={};return{name:"StorageManager",init:function(a){b=a||{};for(var f in c)f in b||(b[f]=c[f]);return g.remote=new e(b),g.local=new d(b),b.currentStorage=b.type,this},onLoad:function(){this.loadDefaultProviders().setCurrent(b.type)},isAutosave:function(){return!!b.autosave},setAutosave:function(a){return b.autosave=!!a,this},getStepsBeforeSave:function(){return b.stepsBeforeSave},setStepsBeforeSave:function(a){return b.stepsBeforeSave=a,this},add:function(a,b){return f[a]=b,this},get:function(a){return f[a]||null},getStorages:function(){return f},getCurrent:function(){return b.currentStorage},setCurrent:function(a){return b.currentStorage=a,this},store:function(a){var c=this.get(this.getCurrent()),d={};for(var e in a)d[b.id+e]=a[e];return c?c.store(d):null},load:function(a){var c=this.get(this.getCurrent()),d=[],e={};"string"==typeof a&&(a=[a]);for(var f=0,g=a.length;g>f;f++)d.push(b.id+a[f]);var h=c?c.load(d):{};for(var i in h){var j=new RegExp("^"+b.id),k=i.replace(j,"");e[k]=h[i]}return e},loadDefaultProviders:function(){for(var a in g)this.add(a,g[a]);return this},getConfig:function(){return b}}};return b}),c("StorageManager",["StorageManager/main"],function(a){return a}),c("DeviceManager/config/config",[],function(){return{devices:[],deviceLabel:"Device"}}),c("DeviceManager/model/Device",["backbone"],function(a){return a.Model.extend({idAttribute:"name",defaults:{name:"",width:""}})}),c("DeviceManager/model/Devices",["backbone","./Device"],function(a,b){return a.Collection.extend({model:b})}),c("text",["module"],function(a){"use strict";var c,d,e,f,g,h=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],i=/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,j=/]*>\s*([\s\S]+)\s*<\/body>/im,k="undefined"!=typeof location&&location.href,l=k&&location.protocol&&location.protocol.replace(/\:/,""),m=k&&location.hostname,n=k&&(location.port||void 0),o={},p=a.config&&a.config()||{};return c={version:"2.0.14",strip:function(a){if(a){a=a.replace(i,"");var b=a.match(j);b&&(a=b[1])}else a="";return a},jsEscape:function(a){return a.replace(/(['\\])/g,"\\$1").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r").replace(/[\u2028]/g,"\\u2028").replace(/[\u2029]/g,"\\u2029")},createXhr:p.createXhr||function(){var a,b,c;if("undefined"!=typeof XMLHttpRequest)return new XMLHttpRequest;if("undefined"!=typeof ActiveXObject)for(b=0;3>b;b+=1){c=h[b];try{a=new ActiveXObject(c)}catch(d){}if(a){h=[c];break}}return a},parseName:function(a){var b,c,d,e=!1,f=a.lastIndexOf("."),g=0===a.indexOf("./")||0===a.indexOf("../");return-1!==f&&(!g||f>1)?(b=a.substring(0,f),c=a.substring(f+1)):b=a,d=c||b,f=d.indexOf("!"),-1!==f&&(e="strip"===d.substring(f+1),d=d.substring(0,f),c?c=d:b=d),{moduleName:b,ext:c,strip:e}},xdRegExp:/^((\w+)\:)?\/\/([^\/\\]+)/,useXhr:function(a,b,d,e){var f,g,h,i=c.xdRegExp.exec(a);return i?(f=i[2],g=i[3],g=g.split(":"),h=g[1],g=g[0],!(f&&f!==b||g&&g.toLowerCase()!==d.toLowerCase()||(h||g)&&h!==e)):!0},finishLoad:function(a,b,d,e){d=b?c.strip(d):d,p.isBuild&&(o[a]=d),e(d)},load:function(a,b,d,e){if(e&&e.isBuild&&!e.inlineText)return void d();p.isBuild=e&&e.isBuild;var f=c.parseName(a),g=f.moduleName+(f.ext?"."+f.ext:""),h=b.toUrl(g),i=p.useXhr||c.useXhr;return 0===h.indexOf("empty:")?void d():void(!k||i(h,l,m,n)?c.get(h,function(b){c.finishLoad(a,f.strip,b,d)},function(a){d.error&&d.error(a)}):b([g],function(a){c.finishLoad(f.moduleName+"."+f.ext,f.strip,a,d)}))},write:function(a,b,d,e){if(o.hasOwnProperty(b)){var f=c.jsEscape(o[b]);d.asModule(a+"!"+b,"define(function () { return '"+f+"';});\n")}},writeFile:function(a,b,d,e,f){var g=c.parseName(b),h=g.ext?"."+g.ext:"",i=g.moduleName+h,j=d.toUrl(g.moduleName+h)+".js";c.load(i,d,function(b){var d=function(a){return e(j,a)};d.asModule=function(a,b){return e.asModule(a,j,b)},c.write(a,i,d,f)},f)}},"node"===p.env||!p.env&&"undefined"!=typeof process&&process.versions&&process.versions.node&&!process.versions["node-webkit"]&&!process.versions["atom-shell"]?(d=b.nodeRequire("fs"),c.get=function(a,b,c){try{var e=d.readFileSync(a,"utf8");"\ufeff"===e[0]&&(e=e.substring(1)),b(e)}catch(f){c&&c(f)}}):"xhr"===p.env||!p.env&&c.createXhr()?c.get=function(a,b,d,e){var f,g=c.createXhr();if(g.open("GET",a,!0),e)for(f in e)e.hasOwnProperty(f)&&g.setRequestHeader(f.toLowerCase(),e[f]);p.onXhr&&p.onXhr(g,a),g.onreadystatechange=function(c){var e,f;4===g.readyState&&(e=g.status||0,e>399&&600>e?(f=new Error(a+" HTTP status: "+e),f.xhr=g,d&&d(f)):b(g.responseText),p.onXhrComplete&&p.onXhrComplete(g,a))},g.send(null)}:"rhino"===p.env||!p.env&&"undefined"!=typeof Packages&&"undefined"!=typeof java?c.get=function(a,b){var c,d,e="utf-8",f=new java.io.File(a),g=java.lang.System.getProperty("line.separator"),h=new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(f),e)),i="";try{for(c=new java.lang.StringBuffer,d=h.readLine(),d&&d.length()&&65279===d.charAt(0)&&(d=d.substring(1)),null!==d&&c.append(d);null!==(d=h.readLine());)c.append(g),c.append(d);i=String(c.toString())}finally{h.close()}b(i)}:("xpconnect"===p.env||!p.env&&"undefined"!=typeof Components&&Components.classes&&Components.interfaces)&&(e=Components.classes,f=Components.interfaces,Components.utils["import"]("resource://gre/modules/FileUtils.jsm"),g="@mozilla.org/windows-registry-key;1"in e,c.get=function(a,b){var c,d,h,i={};g&&(a=a.replace(/\//g,"\\")),h=new FileUtils.File(a);try{c=e["@mozilla.org/network/file-input-stream;1"].createInstance(f.nsIFileInputStream),c.init(h,1,0,!1),d=e["@mozilla.org/intl/converter-input-stream;1"].createInstance(f.nsIConverterInputStream),d.init(c,"utf-8",c.available(),f.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER),d.readString(c.available(),i),d.close(),c.close(),b(i.value)}catch(j){throw new Error((h&&h.path||"")+": "+j)}}),c}),c("text!DeviceManager/template/devices.html",[],function(){return'
<%= deviceLabel %>
\n
\n \n \n \n
\n
\n
\n
\n'}),c("DeviceManager/view/DevicesView",["backbone","text!./../template/devices.html"],function(a,b){return a.View.extend({template:_.template(b),events:{change:"updateDevice"},initialize:function(a){this.config=a.config||{},this.em=this.config.em,this.ppfx=this.config.pStylePrefix||"",this.events["click ."+this.ppfx+"add-trasp"]=this.startAdd,this.listenTo(this.em,"change:device",this.updateSelect),this.delegateEvents()},startAdd:function(){},updateDevice:function(){var a=this.em;if(a){var b=this.devicesEl,c=b?b.val():"";a.set("device",c)}},updateSelect:function(){var a=this.em,b=this.devicesEl;if(a&&a.getDeviceModel&&b){var c=a.getDeviceModel(),d=c?c.get("name"):"";b.val(d)}},getOptions:function(){var a="";return this.collection.each(function(b){var c=b.get("name");a+='"}),a},render:function(){var a=this.ppfx;return this.$el.html(this.template({ppfx:a,deviceLabel:this.config.deviceLabel})),this.devicesEl=this.$el.find("."+a+"devices"),this.devicesEl.append(this.getOptions()),this.el.className=a+"devices-c",this}})}),c("DeviceManager/main",["require","./config/config","./model/Devices","./view/DevicesView"],function(a){return function(){var b,c,d={},e=a("./config/config"),f=a("./model/Devices"),g=a("./view/DevicesView");return{name:"DeviceManager",init:function(a){d=a||{};for(var h in e)h in d||(d[h]=e[h]);return b=new f(d.devices),c=new g({collection:b,config:d}),this},add:function(a,c,d){var e=d||{};return e.name=a,e.width=c,b.add(e)},get:function(a){return b.get(a)},getAll:function(){return b},render:function(){return c.render().el}}}}),c("DeviceManager",["DeviceManager/main"],function(a){return a}),c("Parser/config/config",[],function(){return{textTags:["br","b","i","u"]}}),c("Parser/model/ParserCss",["require"],function(a){return function(a){return{parseSelector:function(a){for(var b=[],c=a.split(","),d=0,e=c.length;e>d;d++){var f=c[d].trim();if(/^(\.{1}[\w\-]+)+(:{1,2}[\w\-()]+)?$/gi.test(f)){var g=f.split(".").filter(Boolean);b.push(g)}}return b},parseNode:function(a){for(var b=[],c=a.cssRules,d=0,e=c.length;e>d;d++){var f=c[d],g=f.selectorText;if(f.cssRules){for(var h=this.parseNode(f),i=f.media.mediaText.match(/-width:(.*)\)/i)[1],j=0,k=h.length;k>j;j++){var l=h[j];l.maxWidth=i?i.trim():""}b=b.concat(h)}if(g){g=this.parseSelector(g);for(var m=f.style,n={},o=0,p=m.length;p>o;o++)n[m[o]]=m[m[o]];for(var q=0,r=g.length;r>q;q++){var s=g[q],t={},u=s[s.length-1].split(/:(.+)/);u[1]&&(s[s.length-1]=u[0],t.state=u[1],u.splice(u.length-1,1)),t.selectors=s,t.style=n,b.push(t)}}}return b},parse:function(a){var b=document.createElement("style");b.innerHTML=a,document.head.appendChild(b);var c=b.sheet;document.head.removeChild(b);var d=this.parseNode(c);return 1==d.length&&(d=d[0]),d}}}}),c("Parser/model/ParserHtml",["require"],function(a){return function(a){var b="span",c=a;return{parseStyle:function(a){for(var b={},c=a.split(";"),d=0,e=c.length;e>d;d++){var f=c[d].trim();if(f){var g=f.split(":");b[g[0].trim()]=g[1].trim()}}return b},parseClass:function(a){for(var b=[],c=a.split(" "),d=0,e=c.length;e>d;d++){var f=c[d].trim();f&&b.push(f)}return b},parseNode:function(a){for(var d=[],e=a.childNodes,f=0,g=e.length;g>f;f++){var h=e[f],i={},j=h.attributes||[],k=j.length,l=d.length-1,m=d[l];i.tagName=h.tagName?h.tagName.toLowerCase():"",k&&(i.attributes={});for(var n=0;k>n;n++){var o=j[n].nodeName,p=j[n].nodeValue;"style"==o?i.style=this.parseStyle(p):"class"==o?i.classes=this.parseClass(p):"src"==o&&"img"==i.tagName?(i.type="image",i.src=p):i.attributes[o]=p}var q=h.childNodes.length;if(q){var r=h.childNodes[0];if(1===q&&3===r.nodeType)i.type="text",i.content=r.nodeValue;else{var s=this.parseNode(h);1==s.length&&"text"==s[0].type&&q>1&&s[0].tagName==b?(i.type="text",i.content=s[0].content):i.components=s}}var t=m&&"text"==m.type&&m.tagName==b;if(!i.tagName&&3===h.nodeType){if(t){m.content+=h.nodeValue;continue}h.nodeValue.trim()&&(i.type="text",i.tagName=b,i.content=h.nodeValue)}if(c.textTags.indexOf(i.tagName)>=0){if(t){m.content+=h.outerHTML;continue}i={type:"text",tagName:b,content:h.outerHTML}}i.tagName&&d.push(i)}return d},parse:function(a,b){var c={html:"",css:""},d=document.createElement("div");d.innerHTML=a;for(var e=d.querySelectorAll("script"),f=e.length;f--;)e[f].parentNode.removeChild(e[f]);if(b){for(var g="",h=d.querySelectorAll("style"),i=h.length;i--;)g=h[i].innerHTML+g,h[i].parentNode.removeChild(h[i]);g&&(c.css=b.parse(g))}var j=this.parseNode(d);return 1==j.length&&(j=j[0]),c.html=j,c}}}}),c("Parser/main",["require","./config/config","./model/ParserCss","./model/ParserHtml"],function(a){var b=function(){var b,c,d={},e=a("./config/config"),f=a("./model/ParserCss"),g=a("./model/ParserHtml");return{name:"Parser",init:function(a){d=a||{};for(var h in e)h in d||(d[h]=e[h]);return b=new g(d),c=new f(d),this},parseHtml:function(a){return b.parse(a,c)},parseCss:function(a){return c.parse(a)}}};return b}),c("Parser",["Parser/main"],function(a){return a}),c("SelectorManager/config/config",[],function(){return{stylePrefix:"clm-",selectors:[],label:"Classes",statesLabel:"- State -",states:[{name:"hover",label:"Hover"},{name:"active",label:"Click"},{name:"nth-of-type(2n)",label:"Even/Odd"}]}}),c("SelectorManager/model/Selector",["backbone"],function(a){return a.Model.extend({idAttribute:"name",defaults:{name:"",label:"",type:"class",active:!0},initialize:function(){this.set("name",this.escapeName(this.get("name")));var a=this.get("label").trim();a||this.set("label",this.get("name"))},escapeName:function(a){return a.toLowerCase().replace(/([^a-z0-9\w]+)/gi,"-")}})}),c("SelectorManager/model/Selectors",["backbone","./Selector"],function(a,b){return a.Collection.extend({model:b})}),c("text!SelectorManager/template/classTags.html",[],function(){return'
\n
<%= label %>
\n
\n \n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
Selected
\n
\n
\n
\n'}),c("text!SelectorManager/template/classTag.html",[],function(){return'\n \n />\n \n⨯'}),c("SelectorManager/view/ClassTagView",["backbone","text!./../template/classTag.html"],function(a,b){return a.View.extend({template:_.template(b),events:{},initialize:function(a){this.config=a.config||{},this.coll=a.coll||null,this.pfx=this.config.stylePrefix||"",this.ppfx=this.config.pStylePrefix||"",this.inputProp="readonly",this.target=this.config.em,this.className=this.pfx+"tag",this.closeId=this.pfx+"close",this.chkId=this.pfx+"checkbox",this.labelId=this.pfx+"tag-label",this.events["click #"+this.closeId]="removeTag",this.events["click #"+this.chkId]="changeStatus",this.events["dblclick #"+this.labelId]="startEditTag",this.events["keypress #"+this.labelId+" input"]="updateInputLabel",this.events["blur #"+this.labelId+" input"]="endEditTag",this.listenTo(this.model,"change:active",this.updateStatus),this.delegateEvents()},startEditTag:function(){this.$labelInput.prop(this.inputProp,!1)},endEditTag:function(){var a=this.$labelInput.val(),b=this.model.escapeName(a);if(this.target){var c=this.target.get("SelectorManager");c&&(c.get(b)?this.$labelInput.val(this.model.get("label")):this.model.set({name:b,label:a}))}this.$labelInput.prop(this.inputProp,!0)},changeStatus:function(){this.model.set("active",!this.model.get("active")),this.target.trigger("targetClassUpdated")},removeTag:function(a){var b=this.target.get("selectedComponent");b&&b.get("classes").remove(this.model),this.coll&&(this.coll.remove(this.model),this.target.trigger("targetClassRemoved")),this.remove()},updateStatus:function(){this.$chk||(this.$chk=this.$el.find("#"+this.pfx+"checkbox")),this.model.get("active")?(this.$chk.removeClass("fa-circle-o").addClass("fa-dot-circle-o"),this.$el.removeClass("opac50")):(this.$chk.removeClass("fa-dot-circle-o").addClass("fa-circle-o"),this.$el.addClass("opac50"))},updateInputLabel:function(){this.$labelInput||(this.$labelInput=this.$el.find("input"));var a=this.$labelInput.val().length-2;a=1>a?1:a,this.$labelInput.attr("size",a)},render:function(){return this.$el.html(this.template({label:this.model.get("label"),pfx:this.pfx,ppfx:this.ppfx,inputProp:this.inputProp})),this.updateStatus(),this.$el.attr("class",this.className),this.updateInputLabel(),this}})}),c("SelectorManager/view/ClassTagsView",["backbone","text!./../template/classTags.html","./ClassTagView"],function(a,b,c){return a.View.extend({template:_.template(b),events:{},initialize:function(a){this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.ppfx=this.config.pStylePrefix||"",this.className=this.pfx+"tags",this.addBtnId=this.pfx+"add-tag",this.newInputId=this.pfx+"new",this.stateInputId=this.pfx+"states",this.stateInputC=this.pfx+"input-c",this.states=this.config.states||[],this.events["click #"+this.addBtnId]="startNewTag",this.events["blur #"+this.newInputId]="endNewTag",this.events["keyup #"+this.newInputId]="onInputKeyUp",this.events["change #"+this.stateInputId]="stateChanged",this.target=this.config.em,this.listenTo(this.target,"change:selectedComponent",this.componentChanged),this.listenTo(this.target,"targetClassUpdated",this.updateSelector),this.listenTo(this.collection,"add",this.addNew),this.listenTo(this.collection,"reset",this.renderClasses),this.listenTo(this.collection,"remove",this.tagRemoved),this.delegateEvents()},tagRemoved:function(a){this.updateStateVis()},getStateOptions:function(){for(var a="",b=0;b'+this.states[b].label+"";return a},addNew:function(a){this.addToClasses(a)},startNewTag:function(a){this.$addBtn.hide(),this.$input.show().focus()},endNewTag:function(a){this.$addBtn.show(),this.$input.hide().val("")},onInputKeyUp:function(a){13===a.keyCode?this.addNewTag(this.$input.val()):27===a.keyCode&&this.endNewTag()},componentChanged:function(a){this.compTarget=this.target.get("selectedComponent"),this.compTarget&&this.getStates().val(this.compTarget.get("state"));var b=this.compTarget?this.compTarget.get("classes").models:[];this.collection.reset(b),this.updateStateVis()},updateStateVis:function(){this.collection.length?this.getStatesC().css("display","block"):this.getStatesC().css("display","none"),this.updateSelector()},updateSelector:function(){if(this.compTarget=this.target.get("selectedComponent"),this.compTarget&&this.compTarget.get){var a="",b=this.compTarget.get("classes");b.each(function(b){b.get("active")&&(a+="."+b.get("name"))});var c=this.compTarget.get("state");a=c?a+":"+c:a;var d=this.el.querySelector("#"+this.pfx+"sel");d&&(d.innerHTML=a)}},stateChanged:function(a){this.compTarget&&(this.compTarget.set("state",this.$states.val()),this.target&&this.target.trigger("targetStateUpdated"),this.updateSelector())},addNewTag:function(a){if(a){if(this.target){var b=this.target.get("SelectorManager"),c=b.add(a);if(this.compTarget){var d=this.compTarget.get("classes"),e=d.length;d.add(c);var f=d.length;this.collection.add(c),f>e&&this.target.trigger("targetClassAdded"),this.updateStateVis()}}this.endNewTag()}},addToClasses:function(a,b){var d=b||null,e=new c({model:a,config:this.config,coll:this.collection}),f=e.render().el;return d?d.appendChild(f):this.getClasses().append(f),f},renderClasses:function(){var a=document.createDocumentFragment();return this.collection.each(function(b){this.addToClasses(b,a)},this),this.getClasses()&&this.getClasses().empty().append(a),this},getClasses:function(){return this.$classes||(this.$classes=this.$el.find("#"+this.pfx+"tags-c")),this.$classes},getStates:function(){return this.$states||(this.$states=this.$el.find("#"+this.stateInputId)),this.$states},getStatesC:function(){return this.$statesC||(this.$statesC=this.$el.find("#"+this.stateInputC)),this.$statesC},render:function(){return this.$el.html(this.template({label:this.config.label,statesLabel:this.config.statesLabel,pfx:this.pfx,ppfx:this.ppfx})),this.$input=this.$el.find("input#"+this.newInputId),this.$addBtn=this.$el.find("#"+this.addBtnId),this.$classes=this.$el.find("#"+this.pfx+"tags-c"),this.$states=this.$el.find("#"+this.stateInputId),this.$statesC=this.$el.find("#"+this.stateInputC),this.$states.append(this.getStateOptions()),this.renderClasses(),this.$el.attr("class",this.className),this}})}),c("SelectorManager/main",["require","./config/config","./model/Selectors","./view/ClassTagsView"],function(a){return function(b){var c=b||{},d=a("./config/config");Selectors=a("./model/Selectors"),ClassTagsView=a("./view/ClassTagsView");var e,f;return{name:"SelectorManager",init:function(a){c=a||{};for(var b in d)b in c||(c[b]=d[b]);var g=c.pStylePrefix;return g&&(c.stylePrefix=g+c.stylePrefix),e=new Selectors(c.selectors),f=new ClassTagsView({collection:e,config:c}),this},add:function(a,b){var c=b||{};return c.name=a,e.add(c)},get:function(a){return e.where({name:a})[0]},getAll:function(){return e},render:function(a){if(a){var b=new ClassTagsView({collection:new Selectors(a),config:c});return b.render().el}return f.render().el}}}}),c("SelectorManager",["SelectorManager/main"],function(a){return a}),c("ModalDialog/config/config",[],function(){return{stylePrefix:"mdl-",title:"",content:"",backdrop:!0}}),c("ModalDialog/model/Modal",["backbone"],function(a){return a.Model.extend({defaults:{title:"",content:"",open:!1}})}),c("text!ModalDialog/template/modal.html",[],function(){return'
\n
\n
<%= title %>
\n
⨯
\n
\n
\n
<%= content %>
\n
\n
\n
\n
'}),c("ModalDialog/view/ModalView",["backbone","text!./../template/modal.html"],function(a,b){return a.View.extend({template:_.template(b),events:{},initialize:function(a){this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.listenTo(this.model,"change:open",this.updateOpen),this.listenTo(this.model,"change:title",this.updateTitle),this.listenTo(this.model,"change:content",this.updateContent),this.events["click ."+this.pfx+"btn-close"]="hide",this.config.backdrop&&(this.events["click ."+this.pfx+"backlayer"]="hide"),this.delegateEvents()},getContent:function(){return this.$content||(this.$content=this.$el.find("."+this.pfx+"content #"+this.pfx+"c")),this.$content},getTitle:function(){return this.$title||(this.$title=this.$el.find("."+this.pfx+"title")),this.$title.get(0)},updateContent:function(){var a=this.getContent();a&&a.html(this.model.get("content"))},updateTitle:function(){var a=this.getTitle();a&&(a.innerHTML=this.model.get("title"))},updateOpen:function(){this.model.get("open")?this.$el.show():this.$el.hide()},hide:function(){this.model.set("open",0)},show:function(){this.model.set("open",1)},render:function(){var a=this.model.toJSON();return a.pfx=this.pfx,this.$el.html(this.template(a)),this.$el.attr("class",this.pfx+"container"),this.updateOpen(),this}})}),c("ModalDialog/main",["require","./config/config","./model/Modal","./view/ModalView"],function(a){return function(){var b,c,d={},e=a("./config/config"),f=a("./model/Modal"),g=a("./view/ModalView");return{name:"Modal",init:function(a){d=a||{};for(var h in e)h in d||(d[h]=e[h]);var i=d.pStylePrefix;return i&&(d.stylePrefix=i+d.stylePrefix),b=new f(d),c=new g({model:b,config:d}),d.em&&d.em.on("loaded",function(){this.render().appendTo(d.em.config.el||"body")},this),this},open:function(){return c.show(),this},close:function(){return c.hide(),this},isOpen:function(){return!!b.get("open")},setTitle:function(a){return b.set("title",a),this},getTitle:function(){return b.get("title")},setContent:function(a){return b.set("content",a),this},getContent:function(){return b.get("content")},getContentEl:function(){return c.getContent().get(0)},getModel:function(){return b},render:function(){return c.render().$el}}}}),c("ModalDialog",["ModalDialog/main"],function(a){return a}),c("CodeManager/config/config",[],function(){return{stylePrefix:"cm-"}}),c("CodeManager/model/HtmlGenerator",["backbone"],function(a){return a.Model.extend({build:function(a){var b=a.get("components")||a,c="";return b.each(function(a){var b=a.get("tagName"),d="",e="",f="",g=a.get("components"),h=a.get("attributes"),i=a.get("void"),j=a.get("classes");_.each(h,function(a,b){"onmousedown"!=b&&(d+=a&&"style"!=b?" "+b+'="'+a+'"':"")}),"image"==a.get("type")&&(b="img",i=1,d+=' src="'+a.get("src")+'"'),_.isEmpty(a.get("style"))||(e=' id="'+a.cid+'" '),j.each(function(a){f+=" "+a.get("name")}),f=""!==f?' class="'+f.trim()+'"':"",c+="<"+b+f+e+d+(i?"/":"")+">"+a.get("content"),g.length&&(c+=this.build(g)),i||(c+="")},this),c}})}),c("CodeManager/model/CssGenerator",["backbone"],function(a){return a.Model.extend({initialize:function(){this.compCls=[]},buildFromComp:function(a){var b=a.get("components")||a,c="";return b.each(function(a){var b=a.get("style"),d=a.get("classes"),e=a.get("components");if(d.each(function(a){this.compCls.push(a.get("name"))},this),b&&0!==Object.keys(b).length){c+="#"+a.cid+"{";for(var f in b)b.hasOwnProperty(f)&&(c+=f+":"+b[f]+";");c+="}"}e.length&&(c+=this.buildFromComp(e))},this),c},build:function(a,b){this.compCls=[];var c=this.buildFromComp(a);this.compCls;if(b){var d=b.getAll(),e={};d.each(function(a){var b=a.get("maxWidth");if(b){var d=e[b];return void(d?d.push(a):e[b]=[a])}c+=this.buildFromRule(a)},this);for(var f in e){for(var g=e[f],h="",i=0,j=g.length;j>i;i++)h+=this.buildFromRule(g[i]);h&&(c+="@media (max-width: "+f+"){"+h+"}")}}return c},buildFromRule:function(a){var b="",c=a.get("selectors"),d=a.get("style"),e=a.get("state"),f="",g=0,h=this.compCls;if(c.each(function(a){f+="."+a.get("name"),h.indexOf(a.get("name"))>-1&&(g=1)}),f&&g){f+=e?":"+e:"";var i="";if(d&&0!==Object.keys(d).length)for(var j in d)d.hasOwnProperty(j)&&(i+=j+":"+d[j]+";");i&&(b+=f+"{"+i+"}")}return b}})}),c("CodeManager/model/JsonGenerator",["backbone"],function(a){return a.Model.extend({build:function(b){var c=b.toJSON();return this.beforeEach(c),_.each(c,function(b,d){var e=c[d];if(e instanceof a.Model)c[d]=this.build(e);else if(e instanceof a.Collection){var f=e;c[d]=[],f.length&&f.each(function(a,b){c[d][b]=this.build(a)},this)}},this),c},beforeEach:function(a){delete a.status}})}),function(a){if("object"==typeof exports&&"object"==typeof module)module.exports=a();else{if("function"==typeof c&&c.amd)return c("codemirror/lib/codemirror",[],a);(this||window).CodeMirror=a()}}(function(){"use strict";function a(c,d){if(!(this instanceof a))return new a(c,d);this.options=d=d?Ke(d):{},Ke($f,d,!1),n(d);var e=d.value;"string"==typeof e&&(e=new wg(e,d.mode,null,d.lineSeparator)),this.doc=e;var f=new a.inputStyles[d.inputStyle](this),g=this.display=new b(c,e,f);g.wrapper.CodeMirror=this,j(this),h(this),d.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),d.autofocus&&!Cf&&g.input.focus(),r(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new De,keySeq:null,specialChars:null};var i=this;sf&&11>tf&&setTimeout(function(){i.display.input.reset(!0)},20),Qb(this),We(),ub(this),this.curOp.forceUpdate=!0,Xd(this,e),d.autofocus&&!Cf||i.hasFocus()?setTimeout(Le(qc,this),20):rc(this);for(var k in _f)_f.hasOwnProperty(k)&&_f[k](this,d[k],ag);w(this),d.finishInit&&d.finishInit(this);for(var l=0;ltf&&(d.gutters.style.zIndex=-1,d.scroller.style.paddingRight=0),uf||pf&&Cf||(d.scroller.draggable=!0),a&&(a.appendChild?a.appendChild(d.wrapper):a(d.wrapper)),d.viewFrom=d.viewTo=b.first,d.reportedViewFrom=d.reportedViewTo=b.first,d.view=[],d.renderedView=null,d.externalMeasured=null,d.viewOffset=0,d.lastWrapHeight=d.lastWrapWidth=0,d.updateLineNumbers=null,d.nativeBarWidth=d.barHeight=d.barWidth=0,d.scrollbarsClipped=!1,d.lineNumWidth=d.lineNumInnerWidth=d.lineNumChars=null,d.alignWidgets=!1,d.cachedCharWidth=d.cachedTextHeight=d.cachedPaddingH=null,d.maxLine=null,d.maxLineLength=0,d.maxLineChanged=!1,d.wheelDX=d.wheelDY=d.wheelStartX=d.wheelStartY=null,d.shift=!1,d.selForContextMenu=null,d.activeTouch=null,c.init(d)}function c(b){b.doc.mode=a.getMode(b.options,b.doc.modeOption),d(b)}function d(a){a.doc.iter(function(a){a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null)}),a.doc.frontier=a.doc.first,Na(a,100),a.state.modeGen++,a.curOp&&Jb(a)}function e(a){a.options.lineWrapping?(Yg(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth="",a.display.sizerWidth=null):(Xg(a.display.wrapper,"CodeMirror-wrap"),m(a)),g(a),Jb(a),hb(a),setTimeout(function(){s(a)},100)}function f(a){var b=sb(a.display),c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/tb(a.display)-3);return function(e){if(vd(a.doc,e))return 0;var f=0;if(e.widgets)for(var g=0;g=9&&b(),Hf){Bg(a);var m=function(){Eg(window,"mouseup",m),setTimeout(c,20)};Cg(window,"mouseup",m)}else setTimeout(c,50)}},readOnlyChanged:function(a){a||this.reset()},setUneditable:Ie,needsContentAttribute:!1},ca.prototype),ea.prototype=Ke({init:function(a){function b(a){if(d.somethingSelected())Mf=d.getSelections(),"cut"==a.type&&d.replaceSelection("",null,"cut");else{if(!d.options.lineWiseCopyCut)return;var b=aa(d);Mf=b.text,"cut"==a.type&&d.operation(function(){d.setSelections(b.ranges,0,Jg),d.replaceSelection("",null,"cut")})}if(a.clipboardData&&!Bf)a.preventDefault(),a.clipboardData.clearData(),a.clipboardData.setData("text/plain",Mf.join("\n"));else{var c=da(),e=c.firstChild;d.display.lineSpace.insertBefore(c,d.display.lineSpace.firstChild),e.value=Mf.join("\n");var f=document.activeElement;Pg(e),setTimeout(function(){d.display.lineSpace.removeChild(c),f.focus()},50)}}var c=this,d=c.cm,e=c.div=a.lineDiv;ba(e),Cg(e,"paste",function(a){ze(d,a)||$(a,d)}),Cg(e,"compositionstart",function(a){var b=a.data;if(c.composing={sel:d.doc.sel,data:b,startData:b},b){var e=d.doc.sel.primary(),f=d.getLine(e.head.line),g=f.indexOf(b,Math.max(0,e.head.ch-b.length));g>-1&&g<=e.head.ch&&(c.composing.sel=na(Kf(e.head.line,g),Kf(e.head.line,g+b.length)))}}),Cg(e,"compositionupdate",function(a){c.composing.data=a.data}),Cg(e,"compositionend",function(a){var b=c.composing;b&&(a.data==b.startData||/\u200b/.test(a.data)||(b.data=a.data),setTimeout(function(){b.handled||c.applyComposition(b),c.composing==b&&(c.composing=null)},50))}),Cg(e,"touchstart",function(){c.forceCompositionEnd()}),Cg(e,"input",function(){c.composing||(d.isReadOnly()||!c.pollContent())&&Db(c.cm,function(){Jb(d)})}),Cg(e,"copy",b),Cg(e,"cut",b)},prepareSelection:function(){var a=Ja(this.cm,!1);return a.focus=this.cm.state.focused,a},showSelection:function(a){a&&this.cm.display.view.length&&(a.focus&&this.showPrimarySelection(),this.showMultipleSelections(a))},showPrimarySelection:function(){var a=window.getSelection(),b=this.cm.doc.sel.primary(),c=ha(this.cm,a.anchorNode,a.anchorOffset),d=ha(this.cm,a.focusNode,a.focusOffset);if(!c||c.bad||!d||d.bad||0!=Lf(X(c,d),b.from())||0!=Lf(W(c,d),b.to())){var e=fa(this.cm,b.from()),f=fa(this.cm,b.to());if(e||f){var g=this.cm.display.view,h=a.rangeCount&&a.getRangeAt(0);if(e){if(!f){var i=g[g.length-1].measure,j=i.maps?i.maps[i.maps.length-1]:i.map;f={node:j[j.length-1],offset:j[j.length-2]-j[j.length-3]}}}else e={node:g[0].measure.map[2],offset:0};try{var k=Qg(e.node,e.offset,f.offset,f.node)}catch(l){}k&&(!pf&&this.cm.state.focused?(a.collapse(e.node,e.offset),k.collapsed||a.addRange(k)):(a.removeAllRanges(),a.addRange(k)),h&&null==a.anchorNode?a.addRange(h):pf&&this.startGracePeriod()),this.rememberSelection()}}},startGracePeriod:function(){var a=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){a.gracePeriod=!1,a.selectionChanged()&&a.cm.operation(function(){a.cm.curOp.selectionChanged=!0})},20)},showMultipleSelections:function(a){Re(this.cm.display.cursorDiv,a.cursors),Re(this.cm.display.selectionDiv,a.selection)},rememberSelection:function(){var a=window.getSelection();this.lastAnchorNode=a.anchorNode,this.lastAnchorOffset=a.anchorOffset,this.lastFocusNode=a.focusNode,this.lastFocusOffset=a.focusOffset},selectionInEditor:function(){var a=window.getSelection();if(!a.rangeCount)return!1;var b=a.getRangeAt(0).commonAncestorContainer;return Ug(this.div,b)},focus:function(){"nocursor"!=this.cm.options.readOnly&&this.div.focus()},blur:function(){this.div.blur()},getField:function(){return this.div},supportsTouch:function(){return!0},receivedFocus:function(){function a(){b.cm.state.focused&&(b.pollSelection(),b.polling.set(b.cm.options.pollInterval,a))}var b=this;this.selectionInEditor()?this.pollSelection():Db(this.cm,function(){b.cm.curOp.selectionChanged=!0}),this.polling.set(this.cm.options.pollInterval,a)},selectionChanged:function(){var a=window.getSelection();return a.anchorNode!=this.lastAnchorNode||a.anchorOffset!=this.lastAnchorOffset||a.focusNode!=this.lastFocusNode||a.focusOffset!=this.lastFocusOffset},pollSelection:function(){if(!this.composing&&!this.gracePeriod&&this.selectionChanged()){var a=window.getSelection(),b=this.cm;this.rememberSelection();var c=ha(b,a.anchorNode,a.anchorOffset),d=ha(b,a.focusNode,a.focusOffset);c&&d&&Db(b,function(){Aa(b.doc,na(c,d),Jg),(c.bad||d.bad)&&(b.curOp.selectionChanged=!0)})}},pollContent:function(){var a=this.cm,b=a.display,c=a.doc.sel.primary(),d=c.from(),e=c.to();if(d.lineb.viewTo-1)return!1;var f;if(d.line==b.viewFrom||0==(f=Mb(a,d.line)))var g=ae(b.view[0].line),h=b.view[0].node;else var g=ae(b.view[f].line),h=b.view[f-1].node.nextSibling;var i=Mb(a,e.line);if(i==b.view.length-1)var j=b.viewTo-1,k=b.lineDiv.lastChild;else var j=ae(b.view[i+1].line)-1,k=b.view[i+1].node.previousSibling;for(var l=a.doc.splitLines(ja(a,h,k,g,j)),m=Zd(a.doc,Kf(g,0),Kf(j,Yd(a.doc,j).text.length));l.length>1&&m.length>1;)if(Fe(l)==Fe(m))l.pop(),m.pop(),j--;else{if(l[0]!=m[0])break;l.shift(),m.shift(),g++}for(var n=0,o=0,p=l[0],q=m[0],r=Math.min(p.length,q.length);r>n&&p.charCodeAt(n)==q.charCodeAt(n);)++n;for(var s=Fe(l),t=Fe(m),u=Math.min(s.length-(1==l.length?n:0),t.length-(1==m.length?n:0));u>o&&s.charCodeAt(s.length-o-1)==t.charCodeAt(t.length-o-1);)++o;l[l.length-1]=s.slice(0,s.length-o),l[0]=l[0].slice(n);var v=Kf(g,n),w=Kf(j,m.length?Fe(m).length-o:0);return l.length>1||l[0]||Lf(v,w)?(Fc(a.doc,l,v,w,"+input"),!0):void 0},ensurePolled:function(){this.forceCompositionEnd()},reset:function(){this.forceCompositionEnd()},forceCompositionEnd:function(){this.composing&&!this.composing.handled&&(this.applyComposition(this.composing),this.composing.handled=!0,this.div.blur(),this.div.focus())},applyComposition:function(a){this.cm.isReadOnly()?Eb(this.cm,Jb)(this.cm):a.data&&a.data!=a.startData&&Eb(this.cm,Z)(this.cm,a.data,0,a.sel)},setUneditable:function(a){a.contentEditable="false"},onKeyPress:function(a){a.preventDefault(),this.cm.isReadOnly()||Eb(this.cm,Z)(this.cm,String.fromCharCode(null==a.charCode?a.keyCode:a.charCode),0)},readOnlyChanged:function(a){this.div.contentEditable=String("nocursor"!=a)},onContextMenu:Ie,resetPosition:Ie,needsContentAttribute:!0},ea.prototype),a.inputStyles={textarea:ca,contenteditable:ea},ka.prototype={primary:function(){return this.ranges[this.primIndex]},equals:function(a){if(a==this)return!0;if(a.primIndex!=this.primIndex||a.ranges.length!=this.ranges.length)return!1;for(var b=0;b=0&&Lf(a,d.to())<=0)return c}return-1}},la.prototype={from:function(){return X(this.anchor,this.head)},to:function(){return W(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};var Nf,Of,Pf,Qf={left:0,right:0,top:0,bottom:0},Rf=null,Sf=0,Tf=0,Uf=0,Vf=null;sf?Vf=-.53:pf?Vf=15:wf?Vf=-.7:yf&&(Vf=-1/3);var Wf=function(a){var b=a.wheelDeltaX,c=a.wheelDeltaY;return null==b&&a.detail&&a.axis==a.HORIZONTAL_AXIS&&(b=a.detail),null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta),{x:b,y:c}};a.wheelEventPixels=function(a){var b=Wf(a);return b.x*=Vf,b.y*=Vf,b};var Xf=new De,Yf=null,Zf=a.changeEnd=function(a){return a.text?Kf(a.from.line+a.text.length-1,Fe(a.text).length+(1==a.text.length?a.from.ch:0)):a.to};a.prototype={constructor:a,focus:function(){window.focus(),this.display.input.focus()},setOption:function(a,b){var c=this.options,d=c[a];(c[a]!=b||"mode"==a)&&(c[a]=b,_f.hasOwnProperty(a)&&Eb(this,_f[a])(this,b,d))},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](Uc(a))},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;cc&&(Nc(this,e.head.line,a,!0),c=e.head.line,d==this.doc.sel.primIndex&&Lc(this));else{var f=e.from(),g=e.to(),h=Math.max(c,f.line);c=Math.min(this.lastLine(),g.line-(g.ch?0:1))+1;for(var i=h;c>i;++i)Nc(this,i,a);var j=this.doc.sel.ranges;0==f.ch&&b.length==j.length&&j[d].from().ch>0&&wa(this.doc,d,new la(f,j[d].to()),Jg)}}}),getTokenAt:function(a,b){return Fd(this,a,b)},getLineTokens:function(a,b){return Fd(this,Kf(a),b,!0)},getTokenTypeAt:function(a){a=pa(this.doc,a);var b,c=Id(this,Yd(this.doc,a.line)),d=0,e=(c.length-1)/2,f=a.ch;if(0==f)b=c[2];else for(;;){var g=d+e>>1;if((g?c[2*g-1]:0)>=f)e=g;else{if(!(c[2*g+1]h?b:0==h?null:b.slice(0,h-1)},getModeAt:function(b){var c=this.doc.mode;return c.innerMode?a.innerMode(c,this.getTokenAt(b).state).mode:c},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var c=[];if(!fg.hasOwnProperty(b))return c;var d=fg[b],e=this.getModeAt(a);if("string"==typeof e[b])d[e[b]]&&c.push(d[e[b]]);else if(e[b])for(var f=0;fe&&(a=e,d=!0),c=Yd(this.doc,a)}else c=a;return kb(this,c,{top:0,left:0},b||"page").top+(d?this.doc.height-ce(c):0)},defaultTextHeight:function(){return sb(this.display)},defaultCharWidth:function(){return tb(this.display)},setGutterMarker:Fb(function(a,b,c){return Oc(this.doc,a,"gutter",function(a){var d=a.gutterMarkers||(a.gutterMarkers={});return d[b]=c,!c&&Ne(d)&&(a.gutterMarkers=null),!0})}),clearGutter:Fb(function(a){var b=this,c=b.doc,d=c.first;c.iter(function(c){c.gutterMarkers&&c.gutterMarkers[a]&&(c.gutterMarkers[a]=null,Kb(b,d,"gutter"),Ne(c.gutterMarkers)&&(c.gutterMarkers=null)),++d})}),lineInfo:function(a){if("number"==typeof a){if(!ra(this.doc,a))return null;var b=a;if(a=Yd(this.doc,a),!a)return null}else{var b=ae(a);if(null==b)return null}return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=nb(this,pa(this.doc,a));var g=a.bottom,h=a.left;if(b.style.position="absolute",b.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(b),f.sizer.appendChild(b),"over"==d)g=a.top;else if("above"==d||"near"==d){var i=Math.max(f.wrapper.clientHeight,this.doc.height),j=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>i)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=i&&(g=a.bottom),h+b.offsetWidth>j&&(h=j-b.offsetWidth)}b.style.top=g+"px",b.style.left=b.style.right="","right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left=h+"px"),c&&Ic(this,h,g,h+b.offsetWidth,g+b.offsetHeight)},triggerOnKeyDown:Fb(lc),triggerOnKeyPress:Fb(oc),triggerOnKeyUp:nc,execCommand:function(a){return ig.hasOwnProperty(a)?ig[a].call(null,this):void 0},triggerElectric:Fb(function(a){_(this,a)}),findPosH:function(a,b,c,d){var e=1;0>b&&(e=-1,b=-b);for(var f=0,g=pa(this.doc,a);b>f&&(g=Qc(this.doc,g,e,c,d),!g.hitSide);++f);return g},moveH:Fb(function(a,b){var c=this;c.extendSelectionsBy(function(d){return c.display.shift||c.doc.extend||d.empty()?Qc(c.doc,d.head,a,b,c.options.rtlMoveVisually):0>a?d.from():d.to()},Lg)}),deleteH:Fb(function(a,b){var c=this.doc.sel,d=this.doc;c.somethingSelected()?d.replaceSelection("",null,"+delete"):Pc(this,function(c){var e=Qc(d,c.head,a,b,!1);return 0>a?{from:e,to:c.head}:{from:c.head,to:e}})}),findPosV:function(a,b,c,d){var e=1,f=d;0>b&&(e=-1,b=-b);for(var g=0,h=pa(this.doc,a);b>g;++g){var i=nb(this,h,"div");if(null==f?f=i.left:i.left=f,h=Rc(this,i,e,c),h.hitSide)break}return h},moveV:Fb(function(a,b){var c=this,d=this.doc,e=[],f=!c.display.shift&&!d.extend&&d.sel.somethingSelected();if(d.extendSelectionsBy(function(g){if(f)return 0>a?g.from():g.to();var h=nb(c,g.head,"div");null!=g.goalColumn&&(h.left=g.goalColumn),e.push(h.left);var i=Rc(c,h,a,b);return"page"==b&&g==d.sel.primary()&&Kc(c,null,mb(c,i,"div").top-h.top),i},Lg),e.length)for(var g=0;g0&&h(c.charAt(d-1));)--d;for(;e.5)&&g(this),Fg(this,"refresh",this)}),swapDoc:Fb(function(a){var b=this.doc;return b.cm=null,Xd(this,a),hb(this),this.display.input.reset(),this.scrollTo(a.scrollLeft,a.scrollTop),this.curOp.forceScroll=!0,xe(this,"swapDoc",this,b),b}),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ce(a);var $f=a.defaults={},_f=a.optionHandlers={},ag=a.Init={toString:function(){return"CodeMirror.Init"}};Sc("value","",function(a,b){a.setValue(b)},!0),Sc("mode",null,function(a,b){a.doc.modeOption=b,c(a)},!0),Sc("indentUnit",2,c,!0),Sc("indentWithTabs",!1),Sc("smartIndent",!0),Sc("tabSize",4,function(a){d(a),hb(a),Jb(a)},!0),Sc("lineSeparator",null,function(a,b){if(a.doc.lineSep=b,b){var c=[],d=a.doc.first;a.doc.iter(function(a){for(var e=0;;){var f=a.text.indexOf(b,e);if(-1==f)break;e=f+b.length,c.push(Kf(d,f))}d++});for(var e=c.length-1;e>=0;e--)Fc(a.doc,b,c[e],Kf(c[e].line,c[e].ch+b.length))}}),Sc("specialChars",/[\t\u0000-\u0019\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g,function(b,c,d){b.state.specialChars=new RegExp(c.source+(c.test(" ")?"":"| "),"g"),d!=a.Init&&b.refresh()}),Sc("specialCharPlaceholder",Md,function(a){a.refresh()},!0),Sc("electricChars",!0),Sc("inputStyle",Cf?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),Sc("rtlMoveVisually",!Ef),Sc("wholeLineUpdateBefore",!0),Sc("theme","default",function(a){h(a),i(a)},!0),Sc("keyMap","default",function(b,c,d){var e=Uc(c),f=d!=a.Init&&Uc(d);f&&f.detach&&f.detach(b,e),e.attach&&e.attach(b,f||null)}),Sc("extraKeys",null),Sc("lineWrapping",!1,e,!0),Sc("gutters",[],function(a){n(a.options),i(a)},!0),Sc("fixedGutter",!0,function(a,b){a.display.gutters.style.left=b?y(a.display)+"px":"0",a.refresh()},!0),Sc("coverGutterNextToScrollbar",!1,function(a){s(a)},!0),Sc("scrollbarStyle","native",function(a){r(a),s(a),a.display.scrollbars.setScrollTop(a.doc.scrollTop),a.display.scrollbars.setScrollLeft(a.doc.scrollLeft)},!0),Sc("lineNumbers",!1,function(a){n(a.options),i(a)},!0),Sc("firstLineNumber",1,i,!0),Sc("lineNumberFormatter",function(a){return a},i,!0),Sc("showCursorWhenSelecting",!1,Ia,!0),Sc("resetSelectionOnContextMenu",!0),Sc("lineWiseCopyCut",!0),Sc("readOnly",!1,function(a,b){"nocursor"==b?(rc(a),a.display.input.blur(),a.display.disabled=!0):a.display.disabled=!1,a.display.input.readOnlyChanged(b)}),Sc("disableInput",!1,function(a,b){b||a.display.input.reset()},!0),Sc("dragDrop",!0,Rb),Sc("allowDropFileTypes",null),Sc("cursorBlinkRate",530),Sc("cursorScrollMargin",0),Sc("cursorHeight",1,Ia,!0),Sc("singleCursorHeightPerLine",!0,Ia,!0),Sc("workTime",100),Sc("workDelay",100),Sc("flattenSpans",!0,d,!0),Sc("addModeClass",!1,d,!0),Sc("pollInterval",100),Sc("undoDepth",200,function(a,b){a.doc.history.undoDepth=b}),Sc("historyEventDelay",1250),Sc("viewportMargin",10,function(a){a.refresh()},!0),Sc("maxHighlightLength",1e4,d,!0),Sc("moveInputWithCursor",!0,function(a,b){b||a.display.input.resetPosition()}),Sc("tabindex",null,function(a,b){a.display.input.getField().tabIndex=b||""}),Sc("autofocus",null);var bg=a.modes={},cg=a.mimeModes={};a.defineMode=function(b,c){a.defaults.mode||"null"==b||(a.defaults.mode=b),arguments.length>2&&(c.dependencies=Array.prototype.slice.call(arguments,2)),bg[b]=c},a.defineMIME=function(a,b){cg[a]=b},a.resolveMode=function(b){if("string"==typeof b&&cg.hasOwnProperty(b))b=cg[b];else if(b&&"string"==typeof b.name&&cg.hasOwnProperty(b.name)){var c=cg[b.name];"string"==typeof c&&(c={name:c}),b=Je(c,b),b.name=c.name}else if("string"==typeof b&&/^[\w\-]+\/[\w\-]+\+xml$/.test(b))return a.resolveMode("application/xml");return"string"==typeof b?{name:b}:b||{name:"null"}},a.getMode=function(b,c){var c=a.resolveMode(c),d=bg[c.name];if(!d)return a.getMode(b,"text/plain");var e=d(b,c);if(dg.hasOwnProperty(c.name)){var f=dg[c.name];for(var g in f)f.hasOwnProperty(g)&&(e.hasOwnProperty(g)&&(e["_"+g]=e[g]),e[g]=f[g])}if(e.name=c.name,c.helperType&&(e.helperType=c.helperType),c.modeProps)for(var g in c.modeProps)e[g]=c.modeProps[g];return e},a.defineMode("null",function(){return{token:function(a){a.skipToEnd()}}}),a.defineMIME("text/plain","null");var dg=a.modeExtensions={};a.extendMode=function(a,b){var c=dg.hasOwnProperty(a)?dg[a]:dg[a]={};Ke(b,c)},a.defineExtension=function(b,c){a.prototype[b]=c},a.defineDocExtension=function(a,b){wg.prototype[a]=b},a.defineOption=Sc;var eg=[];a.defineInitHook=function(a){eg.push(a)};var fg=a.helpers={};a.registerHelper=function(b,c,d){fg.hasOwnProperty(b)||(fg[b]=a[b]={_global:[]}),fg[b][c]=d},a.registerGlobalHelper=function(b,c,d,e){a.registerHelper(b,c,e),fg[b]._global.push({pred:d,val:e})};var gg=a.copyState=function(a,b){if(b===!0)return b;if(a.copyState)return a.copyState(b);var c={};for(var d in b){var e=b[d];e instanceof Array&&(e=e.concat([])),c[d]=e}return c},hg=a.startState=function(a,b,c){return a.startState?a.startState(b,c):!0};a.innerMode=function(a,b){for(;a.innerMode;){var c=a.innerMode(b);if(!c||c.mode==a)break;b=c.state,a=c.mode}return c||{mode:a,state:b}};var ig=a.commands={selectAll:function(a){a.setSelection(Kf(a.firstLine(),0),Kf(a.lastLine()),Jg)},singleSelection:function(a){a.setSelection(a.getCursor("anchor"),a.getCursor("head"),Jg)},killLine:function(a){Pc(a,function(b){if(b.empty()){var c=Yd(a.doc,b.head.line).text.length;return b.head.ch==c&&b.head.line0)e=new Kf(e.line,e.ch+1),a.replaceRange(f.charAt(e.ch-1)+f.charAt(e.ch-2),Kf(e.line,e.ch-2),e,"+transpose");else if(e.line>a.doc.first){var g=Yd(a.doc,e.line-1).text;g&&a.replaceRange(f.charAt(0)+a.doc.lineSeparator()+g.charAt(g.length-1),Kf(e.line-1,g.length-1),Kf(e.line,1),"+transpose")}c.push(new la(e,e))}a.setSelections(c)})},newlineAndIndent:function(a){Db(a,function(){for(var b=a.listSelections().length,c=0;b>c;c++){var d=a.listSelections()[c];a.replaceRange(a.doc.lineSeparator(),d.anchor,d.head,"+input"),a.indentLine(d.from().line+1,null,!0)}Lc(a)})},toggleOverwrite:function(a){a.toggleOverwrite()}},jg=a.keyMap={};jg.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},jg.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},jg.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars"},jg.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},jg["default"]=Df?jg.macDefault:jg.pcDefault,a.normalizeKeyMap=function(a){var b={};for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];if(/^(name|fallthrough|(de|at)tach)$/.test(c))continue;if("..."==d){delete a[c];continue}for(var e=He(c.split(" "),Tc),f=0;f=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){return this.posb},eatSpace:function(){for(var a=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>a},skipToEnd:function(){this.pos=this.string.length},skipTo:function(a){var b=this.string.indexOf(a,this.pos);return b>-1?(this.pos=b,!0):void 0},backUp:function(a){this.pos-=a},column:function(){return this.lastColumnPos0?null:(d&&b!==!1&&(this.pos+=d[0].length),d)}var e=function(a){return c?a.toLowerCase():a; },f=this.string.substr(this.pos,a.length);return e(f)==e(a)?(b!==!1&&(this.pos+=a.length),!0):void 0},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}}};var og=0,pg=a.TextMarker=function(a,b){this.lines=[],this.type=b,this.doc=a,this.id=++og};Ce(pg),pg.prototype.clear=function(){if(!this.explicitlyCleared){var a=this.doc.cm,b=a&&!a.curOp;if(b&&ub(a),Be(this,"clear")){var c=this.find();c&&xe(this,"clear",c.from,c.to)}for(var d=null,e=null,f=0;fa.display.maxLineLength&&(a.display.maxLine=i,a.display.maxLineLength=j,a.display.maxLineChanged=!0)}null!=d&&a&&this.collapsed&&Jb(a,d,e+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,a&&Da(a.doc)),a&&xe(a,"markerCleared",a,this),b&&wb(a),this.parent&&this.parent.clear()}},pg.prototype.find=function(a,b){null==a&&"bookmark"==this.type&&(a=1);for(var c,d,e=0;ec;++c){var e=this.lines[c];this.height-=e.height,Bd(e),xe(e,"delete")}this.lines.splice(a,b)},collapse:function(a){a.push.apply(a,this.lines)},insertInner:function(a,b,c){this.height+=c,this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));for(var d=0;da;++a)if(c(this.lines[a]))return!0}},Vd.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){this.size-=b;for(var c=0;ca){var f=Math.min(b,e-a),g=d.height;if(d.removeInner(a,f),this.height-=g-d.height,e==f&&(this.children.splice(c--,1),d.parent=null),0==(b-=f))break;a=0}else a-=e}if(this.size-b<25&&(this.children.length>1||!(this.children[0]instanceof Ud))){var h=[];this.collapse(h),this.children=[new Ud(h)],this.children[0].parent=this}},collapse:function(a){for(var b=0;b=a){if(e.insertInner(a,b,c),e.lines&&e.lines.length>50){for(;e.lines.length>50;){var g=e.lines.splice(e.lines.length-25,25),h=new Ud(g);e.height-=h.height,this.children.splice(d+1,0,h),h.parent=this}this.maybeSpill()}break}a-=f}},maybeSpill:function(){if(!(this.children.length<=10)){var a=this;do{var b=a.children.splice(a.children.length-5,5),c=new Vd(b);if(a.parent){a.size-=c.size,a.height-=c.height;var d=Ge(a.parent.children,a);a.parent.children.splice(d+1,0,c)}else{var e=new Vd(a.children);e.parent=a,a.children=[e,c],a=e}c.parent=a.parent}while(a.children.length>10);a.parent.maybeSpill()}},iterN:function(a,b,c){for(var d=0;da){var g=Math.min(b,f-a);if(e.iterN(a,g,c))return!0;if(0==(b-=g))break;a=0}else a-=f}}};var vg=0,wg=a.Doc=function(a,b,c,d){if(!(this instanceof wg))return new wg(a,b,c,d);null==c&&(c=0),Vd.call(this,[new Ud([new sg("",null)])]),this.first=c,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.frontier=c;var e=Kf(c,0);this.sel=na(e),this.history=new ee(null),this.id=++vg,this.modeOption=b,this.lineSep=d,this.extend=!1,"string"==typeof a&&(a=this.splitLines(a)),Td(this,{from:e,to:e,text:a}),Aa(this,na(e),Jg)};wg.prototype=Je(Vd.prototype,{constructor:wg,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,b){for(var c=0,d=0;d=0;f--)zc(this,d[f]);h?za(this,h):this.cm&&Lc(this.cm)}),undo:Gb(function(){Bc(this,"undo")}),redo:Gb(function(){Bc(this,"redo")}),undoSelection:Gb(function(){Bc(this,"undo",!0)}),redoSelection:Gb(function(){Bc(this,"redo",!0)}),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=pa(this,a),b=pa(this,b);var d=[],e=a.line;return this.iter(a.line,b.line+1,function(f){var g=f.markedSpans;if(g)for(var h=0;hi.to||null==i.from&&e!=a.line||e==b.line&&i.from>b.ch||c&&!c(i.marker)||d.push(i.marker.parent||i.marker)}++e}),d},getAllMarks:function(){var a=[];return this.iter(function(b){var c=b.markedSpans;if(c)for(var d=0;da?(b=a,!0):(a-=e,void++c)}),pa(this,Kf(c,b))},indexFromPos:function(a){a=pa(this,a);var b=a.ch;return a.lineb&&(b=a.from),null!=a.to&&a.toh||h>=b)return g+(b-f);g+=h-f,g+=c-g%c,f=h+1}},Ng=a.findColumn=function(a,b,c){for(var d=0,e=0;;){var f=a.indexOf(" ",d);-1==f&&(f=a.length);var g=f-d;if(f==a.length||e+g>=b)return d+Math.min(g,b-e);if(e+=f-d,e+=c-e%c,d=f+1,e>=b)return d}},Og=[""],Pg=function(a){a.select()};Bf?Pg=function(a){a.selectionStart=0,a.selectionEnd=a.value.length}:sf&&(Pg=function(a){try{a.select()}catch(b){}});var Qg,Rg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Sg=a.isWordChar=function(a){return/\w/.test(a)||a>"€"&&(a.toUpperCase()!=a.toLowerCase()||Rg.test(a))},Tg=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;Qg=document.createRange?function(a,b,c,d){var e=document.createRange();return e.setEnd(d||a,c),e.setStart(a,b),e}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(e){return d}return d.collapse(!0),d.moveEnd("character",c),d.moveStart("character",b),d};var Ug=a.contains=function(a,b){if(3==b.nodeType&&(b=b.parentNode),a.contains)return a.contains(b);do if(11==b.nodeType&&(b=b.host),b==a)return!0;while(b=b.parentNode)};sf&&11>tf&&(Se=function(){try{return document.activeElement}catch(a){return document.body}});var Vg,Wg,Xg=a.rmClass=function(a,b){var c=a.className,d=Te(b).exec(c);if(d){var e=c.slice(d.index+d[0].length);a.className=c.slice(0,d.index)+(e?d[1]+e:"")}},Yg=a.addClass=function(a,b){var c=a.className;Te(b).test(c)||(a.className+=(c?" ":"")+b)},Zg=!1,$g=function(){if(sf&&9>tf)return!1;var a=Pe("div");return"draggable"in a||"dragDrop"in a}(),_g=a.splitLines=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;d>=b;){var e=a.indexOf("\n",b);-1==e&&(e=a.length);var f=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),g=f.indexOf("\r");-1!=g?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},ah=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(b){return!1}}:function(a){try{var b=a.ownerDocument.selection.createRange()}catch(c){}return b&&b.parentElement()==a?0!=b.compareEndPoints("StartToEnd",b):!1},bh=function(){var a=Pe("div");return"oncopy"in a?!0:(a.setAttribute("oncopy","return;"),"function"==typeof a.oncopy)}(),ch=null,dh=a.keyNames={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"};!function(){for(var a=0;10>a;a++)dh[a+48]=dh[a+96]=String(a);for(var a=65;90>=a;a++)dh[a]=String.fromCharCode(a);for(var a=1;12>=a;a++)dh[a+111]=dh[a+63235]="F"+a}();var eh,fh=function(){function a(a){return 247>=a?c.charAt(a):a>=1424&&1524>=a?"R":a>=1536&&1773>=a?d.charAt(a-1536):a>=1774&&2220>=a?"r":a>=8192&&8203>=a?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a,this.from=b,this.to=c}var c="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",d="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm",e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,f=/[stwN]/,g=/[LRr]/,h=/[Lb1n]/,i=/[1n]/,j="L";return function(c){if(!e.test(c))return!1;for(var d,k=c.length,l=[],m=0;k>m;++m)l.push(d=a(c.charCodeAt(m)));for(var m=0,n=j;k>m;++m){var d=l[m];"m"==d?l[m]=n:n=d}for(var m=0,o=j;k>m;++m){var d=l[m];"1"==d&&"r"==o?l[m]="n":g.test(d)&&(o=d,"r"==d&&(l[m]="R"))}for(var m=1,n=l[0];k-1>m;++m){var d=l[m];"+"==d&&"1"==n&&"1"==l[m+1]?l[m]="1":","!=d||n!=l[m+1]||"1"!=n&&"n"!=n||(l[m]=n),n=d}for(var m=0;k>m;++m){var d=l[m];if(","==d)l[m]="N";else if("%"==d){for(var p=m+1;k>p&&"%"==l[p];++p);for(var q=m&&"!"==l[m-1]||k>p&&"1"==l[p]?"1":"N",r=m;p>r;++r)l[r]=q;m=p-1}}for(var m=0,o=j;k>m;++m){var d=l[m];"L"==o&&"1"==d?l[m]="L":g.test(d)&&(o=d)}for(var m=0;k>m;++m)if(f.test(l[m])){for(var p=m+1;k>p&&f.test(l[p]);++p);for(var s="L"==(m?l[m-1]:j),t="L"==(k>p?l[p]:j),q=s||t?"L":"R",r=m;p>r;++r)l[r]=q;m=p-1}for(var u,v=[],m=0;k>m;)if(h.test(l[m])){var w=m;for(++m;k>m&&h.test(l[m]);++m);v.push(new b(0,w,m))}else{var x=m,y=v.length;for(++m;k>m&&"L"!=l[m];++m);for(var r=x;m>r;)if(i.test(l[r])){r>x&&v.splice(y,0,new b(1,x,r));var z=r;for(++r;m>r&&i.test(l[r]);++r);v.splice(y,0,new b(2,z,r)),x=r}else++r;m>x&&v.splice(y,0,new b(1,x,m))}return 1==v[0].level&&(u=c.match(/^\s+/))&&(v[0].from=u[0].length,v.unshift(new b(0,0,u[0].length))),1==Fe(v).level&&(u=c.match(/\s+$/))&&(Fe(v).to-=u[0].length,v.push(new b(0,k-u[0].length,k))),2==v[0].level&&v.unshift(new b(1,v[0].to,v[0].to)),v[0].level!=Fe(v).level&&v.push(new b(v[0].level,k,k)),v}}();return a.version="5.10.0",a}),function(a){"object"==typeof exports&&"object"==typeof module?a(b("../../lib/codemirror")):"function"==typeof c&&c.amd?c("codemirror/mode/xml/xml",["../../lib/codemirror"],a):a(CodeMirror)}(function(a){"use strict";a.defineMode("xml",function(b,c){function d(a,b){function c(c){return b.tokenize=c,c(a,b)}var d=a.next();if("<"==d)return a.eat("!")?a.eat("[")?a.match("CDATA[")?c(g("atom","]]>")):null:a.match("--")?c(g("comment","-->")):a.match("DOCTYPE",!0,!0)?(a.eatWhile(/[\w\._\-]/),c(h(1))):null:a.eat("?")?(a.eatWhile(/[\w\._\-]/),b.tokenize=g("meta","?>"),"meta"):(x=a.eat("/")?"closeTag":"openTag",b.tokenize=e,"tag bracket");if("&"==d){var f;return f=a.eat("#")?a.eat("x")?a.eatWhile(/[a-fA-F\d]/)&&a.eat(";"):a.eatWhile(/[\d]/)&&a.eat(";"):a.eatWhile(/[\w\.\-:]/)&&a.eat(";"),f?"atom":"error"}return a.eatWhile(/[^&<]/),null}function e(a,b){var c=a.next();if(">"==c||"/"==c&&a.eat(">"))return b.tokenize=d,x=">"==c?"endTag":"selfcloseTag","tag bracket";if("="==c)return x="equals",null;if("<"==c){b.tokenize=d,b.state=l,b.tagName=b.tagStart=null;var e=b.tokenize(a,b);return e?e+" tag error":"tag error"}return/[\'\"]/.test(c)?(b.tokenize=f(c),b.stringStartCol=a.column(),b.tokenize(a,b)):(a.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function f(a){var b=function(b,c){for(;!b.eol();)if(b.next()==a){c.tokenize=e;break}return"string"};return b.isInAttribute=!0,b}function g(a,b){return function(c,e){for(;!c.eol();){if(c.match(b)){e.tokenize=d;break}c.next()}return a}}function h(a){return function(b,c){for(var e;null!=(e=b.next());){if("<"==e)return c.tokenize=h(a+1),c.tokenize(b,c);if(">"==e){if(1==a){c.tokenize=d;break}return c.tokenize=h(a-1),c.tokenize(b,c)}}return"meta"}}function i(a,b,c){this.prev=a.context,this.tagName=b,this.indent=a.indented,this.startOfLine=c,(z.doNotIndent.hasOwnProperty(b)||a.context&&a.context.noIndent)&&(this.noIndent=!0)}function j(a){a.context&&(a.context=a.context.prev)}function k(a,b){for(var c;;){if(!a.context)return;if(c=a.context.tagName,!z.contextGrabbers.hasOwnProperty(c)||!z.contextGrabbers[c].hasOwnProperty(b))return;j(a)}}function l(a,b,c){return"openTag"==a?(c.tagStart=b.column(),m):"closeTag"==a?n:l}function m(a,b,c){return"word"==a?(c.tagName=b.current(),y="tag",q):(y="error",m)}function n(a,b,c){if("word"==a){var d=b.current();return c.context&&c.context.tagName!=d&&z.implicitlyClosed.hasOwnProperty(c.context.tagName)&&j(c),c.context&&c.context.tagName==d?(y="tag",o):(y="tag error",p)}return y="error",p}function o(a,b,c){return"endTag"!=a?(y="error",o):(j(c),l)}function p(a,b,c){return y="error",o(a,b,c)}function q(a,b,c){if("word"==a)return y="attribute",r;if("endTag"==a||"selfcloseTag"==a){var d=c.tagName,e=c.tagStart;return c.tagName=c.tagStart=null,"selfcloseTag"==a||z.autoSelfClosers.hasOwnProperty(d)?k(c,d):(k(c,d),c.context=new i(c,d,e==c.indented)),l}return y="error",q}function r(a,b,c){return"equals"==a?s:(z.allowMissing||(y="error"),q(a,b,c))}function s(a,b,c){return"string"==a?t:"word"==a&&z.allowUnquoted?(y="string",q):(y="error",q(a,b,c))}function t(a,b,c){return"string"==a?t:q(a,b,c)}var u=b.indentUnit,v=c.multilineTagIndentFactor||1,w=c.multilineTagIndentPastTag;null==w&&(w=!0);var x,y,z=c.htmlMode?{autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0}:{autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,caseFold:!1},A=c.alignCDATA;return d.isInText=!0,{startState:function(){return{tokenize:d,state:l,indented:0,tagName:null,tagStart:null,context:null}},token:function(a,b){if(!b.tagName&&a.sol()&&(b.indented=a.indentation()),a.eatSpace())return null;x=null;var c=b.tokenize(a,b);return(c||x)&&"comment"!=c&&(y=null,b.state=b.state(x||c,a,b),y&&(c="error"==y?c+" error":y)),c},indent:function(b,c,f){var g=b.context;if(b.tokenize.isInAttribute)return b.tagStart==b.indented?b.stringStartCol+1:b.indented+u;if(g&&g.noIndent)return a.Pass;if(b.tokenize!=e&&b.tokenize!=d)return f?f.match(/^(\s*)/)[0].length:0;if(b.tagName)return w?b.tagStart+b.tagName.length+2:b.tagStart+u*v;if(A&&/$/,blockCommentStart:"",configuration:c.htmlMode?"html":"xml",helperType:c.htmlMode?"html":"xml"}}),a.defineMIME("text/xml","xml"),a.defineMIME("application/xml","xml"),a.mimeModes.hasOwnProperty("text/html")||a.defineMIME("text/html",{name:"xml",htmlMode:!0})}),function(a){"object"==typeof exports&&"object"==typeof module?a(b("../../lib/codemirror")):"function"==typeof c&&c.amd?c("codemirror/mode/javascript/javascript",["../../lib/codemirror"],a):a(CodeMirror)}(function(a){"use strict";a.defineMode("javascript",function(b,c){function d(a){for(var b,c=!1,d=!1;null!=(b=a.next());){if(!c){if("/"==b&&!d)return;"["==b?d=!0:d&&"]"==b&&(d=!1)}c=!c&&"\\"==b}}function e(a,b,c){return ta=a,ua=c,b}function f(a,b){var c=a.next();if('"'==c||"'"==c)return b.tokenize=g(c),b.tokenize(a,b);if("."==c&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return e("number","number");if("."==c&&a.match(".."))return e("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(c))return e(c);if("="==c&&a.eat(">"))return e("=>","operator");if("0"==c&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),e("number","number");if("0"==c&&a.eat(/o/i))return a.eatWhile(/[0-7]/i),e("number","number");if("0"==c&&a.eat(/b/i))return a.eatWhile(/[01]/i),e("number","number");if(/\d/.test(c))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),e("number","number");if("/"==c)return a.eat("*")?(b.tokenize=h,h(a,b)):a.eat("/")?(a.skipToEnd(),e("comment","comment")):/^(?:operator|sof|keyword c|case|new|[\[{}\(,;:])$/.test(b.lastType)||"quasi"==b.lastType&&/\{\s*$/.test(a.string.slice(0,a.pos-1))?(d(a),a.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/),e("regexp","string-2")):(a.eatWhile(Ca),e("operator","operator",a.current()));if("`"==c)return b.tokenize=i,i(a,b);if("#"==c)return a.skipToEnd(),e("error","error");if(Ca.test(c))return a.eatWhile(Ca),e("operator","operator",a.current());if(Aa.test(c)){a.eatWhile(Aa);var f=a.current(),j=Ba.propertyIsEnumerable(f)&&Ba[f];return j&&"."!=b.lastType?e(j.type,j.style,f):e("variable","variable",f)}}function g(a){return function(b,c){var d,g=!1;if(xa&&"@"==b.peek()&&b.match(Da))return c.tokenize=f,e("jsonld-keyword","meta");for(;null!=(d=b.next())&&(d!=a||g);)g=!g&&"\\"==d;return g||(c.tokenize=f),e("string","string")}}function h(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=f;break}d="*"==c}return e("comment","comment")}function i(a,b){for(var c,d=!1;null!=(c=a.next());){if(!d&&("`"==c||"$"==c&&a.eat("{"))){b.tokenize=f;break}d=!d&&"\\"==c}return e("quasi","string-2",a.current())}function j(a,b){b.fatArrowAt&&(b.fatArrowAt=null);var c=a.string.indexOf("=>",a.start);if(!(0>c)){for(var d=0,e=!1,f=c-1;f>=0;--f){var g=a.string.charAt(f),h=Ea.indexOf(g);if(h>=0&&3>h){if(!d){++f;break}if(0==--d)break}else if(h>=3&&6>h)++d;else if(Aa.test(g))e=!0;else{if(/["'\/]/.test(g))return;if(e&&!d){++f;break}}}e&&!d&&(b.fatArrowAt=f)}}function k(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.prev=e,this.info=f,null!=d&&(this.align=d)}function l(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0;for(var d=a.context;d;d=d.prev)for(var c=d.vars;c;c=c.next)if(c.name==b)return!0}function m(a,b,c,d,e){var f=a.cc;for(Ga.state=a,Ga.stream=e,Ga.marked=null,Ga.cc=f,Ga.style=b,a.lexical.hasOwnProperty("align")||(a.lexical.align=!0);;){var g=f.length?f.pop():ya?w:v;if(g(c,d)){for(;f.length&&f[f.length-1].lex;)f.pop()();return Ga.marked?Ga.marked:"variable"==c&&l(a,d)?"variable-2":b}}}function n(){for(var a=arguments.length-1;a>=0;a--)Ga.cc.push(arguments[a])}function o(){return n.apply(null,arguments),!0}function p(a){function b(b){for(var c=b;c;c=c.next)if(c.name==a)return!0;return!1}var d=Ga.state;if(Ga.marked="def",d.context){if(b(d.localVars))return;d.localVars={name:a,next:d.localVars}}else{if(b(d.globalVars))return;c.globalVars&&(d.globalVars={name:a,next:d.globalVars})}}function q(){Ga.state.context={prev:Ga.state.context,vars:Ga.state.localVars},Ga.state.localVars=Ha}function r(){Ga.state.localVars=Ga.state.context.vars,Ga.state.context=Ga.state.context.prev}function s(a,b){var c=function(){var c=Ga.state,d=c.indented;if("stat"==c.lexical.type)d=c.lexical.indented;else for(var e=c.lexical;e&&")"==e.type&&e.align;e=e.prev)d=e.indented;c.lexical=new k(d,Ga.stream.column(),a,null,c.lexical,b)};return c.lex=!0,c}function t(){var a=Ga.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function u(a){function b(c){return c==a?o():";"==a?n():o(b)}return b}function v(a,b){return"var"==a?o(s("vardef",b.length),V,u(";"),t):"keyword a"==a?o(s("form"),w,v,t):"keyword b"==a?o(s("form"),v,t):"{"==a?o(s("}"),R,t):";"==a?o():"if"==a?("else"==Ga.state.lexical.info&&Ga.state.cc[Ga.state.cc.length-1]==t&&Ga.state.cc.pop()(),o(s("form"),w,v,t,$)):"function"==a?o(ea):"for"==a?o(s("form"),_,v,t):"variable"==a?o(s("stat"),K):"switch"==a?o(s("form"),w,s("}","switch"),u("{"),R,t,t):"case"==a?o(w,u(":")):"default"==a?o(u(":")):"catch"==a?o(s("form"),q,u("("),fa,u(")"),v,t,r):"class"==a?o(s("form"),ga,t):"export"==a?o(s("stat"),ka,t):"import"==a?o(s("stat"),la,t):"module"==a?o(s("form"),W,s("}"),u("{"),R,t,t):n(s("stat"),w,u(";"),t); }function w(a){return y(a,!1)}function x(a){return y(a,!0)}function y(a,b){if(Ga.state.fatArrowAt==Ga.stream.start){var c=b?G:F;if("("==a)return o(q,s(")"),P(W,")"),t,u("=>"),c,r);if("variable"==a)return n(q,W,u("=>"),c,r)}var d=b?C:B;return Fa.hasOwnProperty(a)?o(d):"function"==a?o(ea,d):"keyword c"==a?o(b?A:z):"("==a?o(s(")"),z,ra,u(")"),t,d):"operator"==a||"spread"==a?o(b?x:w):"["==a?o(s("]"),pa,t,d):"{"==a?Q(M,"}",null,d):"quasi"==a?n(D,d):"new"==a?o(H(b)):o()}function z(a){return a.match(/[;\}\)\],]/)?n():n(w)}function A(a){return a.match(/[;\}\)\],]/)?n():n(x)}function B(a,b){return","==a?o(w):C(a,b,!1)}function C(a,b,c){var d=0==c?B:C,e=0==c?w:x;return"=>"==a?o(q,c?G:F,r):"operator"==a?/\+\+|--/.test(b)?o(d):"?"==b?o(w,u(":"),e):o(e):"quasi"==a?n(D,d):";"!=a?"("==a?Q(x,")","call",d):"."==a?o(L,d):"["==a?o(s("]"),z,u("]"),t,d):void 0:void 0}function D(a,b){return"quasi"!=a?n():"${"!=b.slice(b.length-2)?o(D):o(w,E)}function E(a){return"}"==a?(Ga.marked="string-2",Ga.state.tokenize=i,o(D)):void 0}function F(a){return j(Ga.stream,Ga.state),n("{"==a?v:w)}function G(a){return j(Ga.stream,Ga.state),n("{"==a?v:x)}function H(a){return function(b){return"."==b?o(a?J:I):n(a?x:w)}}function I(a,b){return"target"==b?(Ga.marked="keyword",o(B)):void 0}function J(a,b){return"target"==b?(Ga.marked="keyword",o(C)):void 0}function K(a){return":"==a?o(t,v):n(B,u(";"),t)}function L(a){return"variable"==a?(Ga.marked="property",o()):void 0}function M(a,b){return"variable"==a||"keyword"==Ga.style?(Ga.marked="property",o("get"==b||"set"==b?N:O)):"number"==a||"string"==a?(Ga.marked=xa?"property":Ga.style+" property",o(O)):"jsonld-keyword"==a?o(O):"modifier"==a?o(M):"["==a?o(w,u("]"),O):"spread"==a?o(w):void 0}function N(a){return"variable"!=a?n(O):(Ga.marked="property",o(ea))}function O(a){return":"==a?o(x):"("==a?n(ea):void 0}function P(a,b){function c(d){if(","==d){var e=Ga.state.lexical;return"call"==e.info&&(e.pos=(e.pos||0)+1),o(a,c)}return d==b?o():o(u(b))}return function(d){return d==b?o():n(a,c)}}function Q(a,b,c){for(var d=3;d!?|~^]/,Da=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,Ea="([{}])",Fa={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,"this":!0,"jsonld-keyword":!0},Ga={state:null,column:null,marked:null,cc:null},Ha={name:"this",next:{name:"arguments"}};return t.lex=!0,{startState:function(a){var b={tokenize:f,lastType:"sof",cc:[],lexical:new k((a||0)-va,0,"block",!1),localVars:c.localVars,context:c.localVars&&{vars:c.localVars},indented:0};return c.globalVars&&"object"==typeof c.globalVars&&(b.globalVars=c.globalVars),b},token:function(a,b){if(a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation(),j(a,b)),b.tokenize!=h&&a.eatSpace())return null;var c=b.tokenize(a,b);return"comment"==ta?c:(b.lastType="operator"!=ta||"++"!=ua&&"--"!=ua?ta:"incdec",m(b,c,ta,ua,a))},indent:function(b,d){if(b.tokenize==h)return a.Pass;if(b.tokenize!=f)return 0;var e=d&&d.charAt(0),g=b.lexical;if(!/^\s*else\b/.test(d))for(var i=b.cc.length-1;i>=0;--i){var j=b.cc[i];if(j==t)g=g.prev;else if(j!=$)break}"stat"==g.type&&"}"==e&&(g=g.prev),wa&&")"==g.type&&"stat"==g.prev.type&&(g=g.prev);var k=g.type,l=e==k;return"vardef"==k?g.indented+("operator"==b.lastType||","==b.lastType?g.info+1:0):"form"==k&&"{"==e?g.indented:"form"==k?g.indented+va:"stat"==k?g.indented+(sa(b,d)?wa||va:0):"switch"!=g.info||l||0==c.doubleIndentSwitch?g.align?g.column+(l?0:1):g.indented+(l?0:va):g.indented+(/^(?:case|default)\b/.test(d)?va:2*va)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:ya?null:"/*",blockCommentEnd:ya?null:"*/",lineComment:ya?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:ya?"json":"javascript",jsonldMode:xa,jsonMode:ya}}),a.registerHelper("wordChars","javascript",/[\w$]/),a.defineMIME("text/javascript","javascript"),a.defineMIME("text/ecmascript","javascript"),a.defineMIME("application/javascript","javascript"),a.defineMIME("application/x-javascript","javascript"),a.defineMIME("application/ecmascript","javascript"),a.defineMIME("application/json",{name:"javascript",json:!0}),a.defineMIME("application/x-json",{name:"javascript",json:!0}),a.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),a.defineMIME("text/typescript",{name:"javascript",typescript:!0}),a.defineMIME("application/typescript",{name:"javascript",typescript:!0})}),function(a){"object"==typeof exports&&"object"==typeof module?a(b("../../lib/codemirror")):"function"==typeof c&&c.amd?c("codemirror/mode/css/css",["../../lib/codemirror"],a):a(CodeMirror)}(function(a){"use strict";function b(a){for(var b={},c=0;c*\/]/.test(c)?d(null,"select-op"):"."==c&&a.match(/^-?[_a-z][_a-z0-9-]*/i)?d("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(c)?d(null,c):"u"==c&&a.match(/rl(-prefix)?\(/)||"d"==c&&a.match("omain(")||"r"==c&&a.match("egexp(")?(a.backUp(1),b.tokenize=g,d("property","word")):/[\w\\\-]/.test(c)?(a.eatWhile(/[\w\\\-]/),d("property","word")):d(null,null):/[\d.]/.test(a.peek())?(a.eatWhile(/[\w.%]/),d("number","unit")):a.match(/^-[\w\\\-]+/)?(a.eatWhile(/[\w\\\-]/),a.match(/^\s*:/,!1)?d("variable-2","variable-definition"):d("variable-2","variable")):a.match(/^\w+-/)?d("meta","meta"):void 0}function f(a){return function(b,c){for(var e,f=!1;null!=(e=b.next());){if(e==a&&!f){")"==a&&b.backUp(1);break}f=!f&&"\\"==e}return(e==a||!f&&")"!=a)&&(c.tokenize=null),d("string","string")}}function g(a,b){return a.next(),a.match(/\s*[\"\')]/,!1)?b.tokenize=null:b.tokenize=f(")"),d(null,"(")}function h(a,b,c){this.type=a,this.indent=b,this.prev=c}function i(a,b,c,d){return a.context=new h(c,b.indentation()+(d===!1?0:q),a.context),c}function j(a){return a.context.prev&&(a.context=a.context.prev),a.context.type}function k(a,b,c){return E[c.context.type](a,b,c)}function l(a,b,c,d){for(var e=d||1;e>0;e--)c.context=c.context.prev;return k(a,b,c)}function m(a){var b=a.current().toLowerCase();p=B.hasOwnProperty(b)?"atom":A.hasOwnProperty(b)?"keyword":"variable"}var n=c.inline;c.propertyKeywords||(c=a.resolveMode("text/css"));var o,p,q=b.indentUnit,r=c.tokenHooks,s=c.documentTypes||{},t=c.mediaTypes||{},u=c.mediaFeatures||{},v=c.mediaValueKeywords||{},w=c.propertyKeywords||{},x=c.nonStandardPropertyKeywords||{},y=c.fontProperties||{},z=c.counterDescriptors||{},A=c.colorKeywords||{},B=c.valueKeywords||{},C=c.allowNested,D=c.supportsAtComponent===!0,E={};return E.top=function(a,b,c){if("{"==a)return i(c,b,"block");if("}"==a&&c.context.prev)return j(c);if(D&&/@component/.test(a))return i(c,b,"atComponentBlock");if(/^@(-moz-)?document$/.test(a))return i(c,b,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/.test(a))return i(c,b,"atBlock");if(/^@(font-face|counter-style)/.test(a))return c.stateArg=a,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/.test(a))return"keyframes";if(a&&"@"==a.charAt(0))return i(c,b,"at");if("hash"==a)p="builtin";else if("word"==a)p="tag";else{if("variable-definition"==a)return"maybeprop";if("interpolation"==a)return i(c,b,"interpolation");if(":"==a)return"pseudo";if(C&&"("==a)return i(c,b,"parens")}return c.context.type},E.block=function(a,b,c){if("word"==a){var d=b.current().toLowerCase();return w.hasOwnProperty(d)?(p="property","maybeprop"):x.hasOwnProperty(d)?(p="string-2","maybeprop"):C?(p=b.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(p+=" error","maybeprop")}return"meta"==a?"block":C||"hash"!=a&&"qualifier"!=a?E.top(a,b,c):(p="error","block")},E.maybeprop=function(a,b,c){return":"==a?i(c,b,"prop"):k(a,b,c)},E.prop=function(a,b,c){if(";"==a)return j(c);if("{"==a&&C)return i(c,b,"propBlock");if("}"==a||"{"==a)return l(a,b,c);if("("==a)return i(c,b,"parens");if("hash"!=a||/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(b.current())){if("word"==a)m(b);else if("interpolation"==a)return i(c,b,"interpolation")}else p+=" error";return"prop"},E.propBlock=function(a,b,c){return"}"==a?j(c):"word"==a?(p="property","maybeprop"):c.context.type},E.parens=function(a,b,c){return"{"==a||"}"==a?l(a,b,c):")"==a?j(c):"("==a?i(c,b,"parens"):"interpolation"==a?i(c,b,"interpolation"):("word"==a&&m(b),"parens")},E.pseudo=function(a,b,c){return"word"==a?(p="variable-3",c.context.type):k(a,b,c)},E.documentTypes=function(a,b,c){return"word"==a&&s.hasOwnProperty(b.current())?(p="tag",c.context.type):E.atBlock(a,b,c)},E.atBlock=function(a,b,c){if("("==a)return i(c,b,"atBlock_parens");if("}"==a||";"==a)return l(a,b,c);if("{"==a)return j(c)&&i(c,b,C?"block":"top");if("interpolation"==a)return i(c,b,"interpolation");if("word"==a){var d=b.current().toLowerCase();p="only"==d||"not"==d||"and"==d||"or"==d?"keyword":t.hasOwnProperty(d)?"attribute":u.hasOwnProperty(d)?"property":v.hasOwnProperty(d)?"keyword":w.hasOwnProperty(d)?"property":x.hasOwnProperty(d)?"string-2":B.hasOwnProperty(d)?"atom":A.hasOwnProperty(d)?"keyword":"error"}return c.context.type},E.atComponentBlock=function(a,b,c){return"}"==a?l(a,b,c):"{"==a?j(c)&&i(c,b,C?"block":"top",!1):("word"==a&&(p="error"),c.context.type)},E.atBlock_parens=function(a,b,c){return")"==a?j(c):"{"==a||"}"==a?l(a,b,c,2):E.atBlock(a,b,c)},E.restricted_atBlock_before=function(a,b,c){return"{"==a?i(c,b,"restricted_atBlock"):"word"==a&&"@counter-style"==c.stateArg?(p="variable","restricted_atBlock_before"):k(a,b,c)},E.restricted_atBlock=function(a,b,c){return"}"==a?(c.stateArg=null,j(c)):"word"==a?(p="@font-face"==c.stateArg&&!y.hasOwnProperty(b.current().toLowerCase())||"@counter-style"==c.stateArg&&!z.hasOwnProperty(b.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},E.keyframes=function(a,b,c){return"word"==a?(p="variable","keyframes"):"{"==a?i(c,b,"top"):k(a,b,c)},E.at=function(a,b,c){return";"==a?j(c):"{"==a||"}"==a?l(a,b,c):("word"==a?p="tag":"hash"==a&&(p="builtin"),"at")},E.interpolation=function(a,b,c){return"}"==a?j(c):"{"==a||";"==a?l(a,b,c):("word"==a?p="variable":"variable"!=a&&"("!=a&&")"!=a&&(p="error"),"interpolation")},{startState:function(a){return{tokenize:null,state:n?"block":"top",stateArg:null,context:new h(n?"block":"top",a||0,null)}},token:function(a,b){if(!b.tokenize&&a.eatSpace())return null;var c=(b.tokenize||e)(a,b);return c&&"object"==typeof c&&(o=c[1],c=c[0]),p=c,b.state=E[b.state](o,a,b),p},indent:function(a,b){var c=a.context,d=b&&b.charAt(0),e=c.indent;return"prop"!=c.type||"}"!=d&&")"!=d||(c=c.prev),c.prev&&("}"!=d||"block"!=c.type&&"top"!=c.type&&"interpolation"!=c.type&&"restricted_atBlock"!=c.type?(")"==d&&("parens"==c.type||"atBlock_parens"==c.type)||"{"==d&&("at"==c.type||"atBlock"==c.type))&&(e=Math.max(0,c.indent-q),c=c.prev):(c=c.prev,e=c.indent)),e},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace"}});var d=["domain","regexp","url","url-prefix"],e=b(d),f=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],g=b(f),h=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover"],i=b(h),j=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive"],k=b(j),l=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],m=b(l),n=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],o=b(n),p=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],q=b(p),r=["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"],s=b(r),t=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],u=b(t),v=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","column-reverse","compact","condensed","contain","content","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","scale","scale3d","scaleX","scaleY","scaleZ","scroll","scrollbar","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","spell-out","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],w=b(v),x=d.concat(f).concat(h).concat(j).concat(l).concat(n).concat(t).concat(v);a.registerHelper("hintWords","css",x),a.defineMIME("text/css",{documentTypes:e,mediaTypes:g,mediaFeatures:i,mediaValueKeywords:k,propertyKeywords:m,nonStandardPropertyKeywords:o,fontProperties:q,counterDescriptors:s,colorKeywords:u,valueKeywords:w,tokenHooks:{"/":function(a,b){return a.eat("*")?(b.tokenize=c,c(a,b)):!1}},name:"css"}),a.defineMIME("text/x-scss",{mediaTypes:g,mediaFeatures:i,mediaValueKeywords:k,propertyKeywords:m,nonStandardPropertyKeywords:o,colorKeywords:u,valueKeywords:w,fontProperties:q,allowNested:!0,tokenHooks:{"/":function(a,b){return a.eat("/")?(a.skipToEnd(),["comment","comment"]):a.eat("*")?(b.tokenize=c,c(a,b)):["operator","operator"]},":":function(a){return a.match(/\s*\{/)?[null,"{"]:!1},$:function(a){return a.match(/^[\w-]+/),a.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(a){return a.eat("{")?[null,"interpolation"]:!1}},name:"css",helperType:"scss"}),a.defineMIME("text/x-less",{mediaTypes:g,mediaFeatures:i,mediaValueKeywords:k,propertyKeywords:m,nonStandardPropertyKeywords:o,colorKeywords:u,valueKeywords:w,fontProperties:q,allowNested:!0,tokenHooks:{"/":function(a,b){return a.eat("/")?(a.skipToEnd(),["comment","comment"]):a.eat("*")?(b.tokenize=c,c(a,b)):["operator","operator"]},"@":function(a){return a.eat("{")?[null,"interpolation"]:a.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/,!1)?!1:(a.eatWhile(/[\w\\\-]/),a.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),a.defineMIME("text/x-gss",{documentTypes:e,mediaTypes:g,mediaFeatures:i,propertyKeywords:m,nonStandardPropertyKeywords:o,fontProperties:q,counterDescriptors:s,colorKeywords:u,valueKeywords:w,supportsAtComponent:!0, -tokenHooks:{"/":function(a,b){return a.eat("*")?(b.tokenize=c,c(a,b)):!1}},name:"css",helperType:"gss"})}),function(a){"object"==typeof exports&&"object"==typeof module?a(b("../../lib/codemirror"),b("../xml/xml"),b("../javascript/javascript"),b("../css/css")):"function"==typeof c&&c.amd?c("codemirror/mode/htmlmixed/htmlmixed",["../../lib/codemirror","../xml/xml","../javascript/javascript","../css/css"],a):a(CodeMirror)}(function(a){"use strict";function b(a,b,c){var d=a.current(),e=d.search(b);return e>-1?a.backUp(d.length-e):d.match(/<\/?$/)&&(a.backUp(d.length),a.match(b,!1)||a.match(d)),c}function c(a){var b=i[a];return b?b:i[a]=new RegExp("\\s+"+a+"\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*")}function d(a,b){for(var d,e=a.pos;e>=0&&"<"!==a.string.charAt(e);)e--;return 0>e?e:(d=a.string.slice(e,a.pos).match(c(b)))?d[2]:""}function e(a,b){return new RegExp((b?"^":"")+"","i")}function f(a,b){for(var c in a)for(var d=b[c]||(b[c]=[]),e=a[c],f=e.length-1;f>=0;f--)d.unshift(e[f])}function g(a,b){for(var c=0;c"===d.current()&&(h=g(m,d))){var o=a.getMode(c,h),p=e(l,!0),q=e(l,!1);f.token=function(a,c){return a.match(p,!1)?(c.token=i,c.localState=c.localMode=null,null):b(a,q,c.localMode.token(a,c.localState))},f.localMode=o,f.localState=a.startState(o,j.indent(f.htmlState,""))}return n}var j=a.getMode(c,{name:"xml",htmlMode:!0,multilineTagIndentFactor:d.multilineTagIndentFactor,multilineTagIndentPastTag:d.multilineTagIndentPastTag}),k={},l=d&&d.tags,m=d&&d.scriptTypes;if(f(h,k),l&&f(l,k),m)for(var n=m.length-1;n>=0;n--)k.script.unshift(["type",m[n].matches,m[n].mode]);return{startState:function(){var a=j.startState();return{token:i,localMode:null,localState:null,htmlState:a}},copyState:function(b){var c;return b.localState&&(c=a.copyState(b.localMode,b.localState)),{token:b.token,localMode:b.localMode,localState:c,htmlState:a.copyState(j,b.htmlState)}},token:function(a,b){return b.token(a,b)},indent:function(b,c){return!b.localMode||/^\s*<\//.test(c)?j.indent(b.htmlState,c):b.localMode.indent?b.localMode.indent(b.localState,c):a.Pass},innerMode:function(a){return{state:a.localState||a.htmlState,mode:a.localMode||j}}}},"xml","javascript","css"),a.defineMIME("text/html","htmlmixed")}),function(a){"object"==typeof exports&&"object"==typeof module?a(b("codemirror/lib/codemirror")):"function"==typeof c&&c.amd?c("formatting",["codemirror/lib/codemirror"],a):a(CodeMirror)}(function(a){a.extendMode("css",{commentStart:"/*",commentEnd:"*/",newlineAfterToken:function(a,b){return/^[;{}]$/.test(b)}}),a.extendMode("javascript",{commentStart:"/*",commentEnd:"*/",newlineAfterToken:function(a,b,c,d){return this.jsonMode?/^[\[,{]$/.test(b)||/^}/.test(c):";"==b&&d.lexical&&")"==d.lexical.type?!1:/^[;{}]$/.test(b)&&!/^;/.test(c)}});var b=/^(a|abbr|acronym|area|base|bdo|big|br|button|caption|cite|code|col|colgroup|dd|del|dfn|em|frame|hr|iframe|img|input|ins|kbd|label|legend|link|map|object|optgroup|option|param|q|samp|script|select|small|span|strong|sub|sup|textarea|tt|var)$/;a.extendMode("xml",{commentStart:"",newlineAfterToken:function(a,c,d,e){var f=!1;return"html"==this.configuration&&(f=e.context?b.test(e.context.tagName):!1),!f&&("tag"==a&&/>$/.test(c)&&e.context||/^-1&&h>-1&&h>g&&(a=a.substr(0,g)+a.substring(g+f.commentStart.length,h)+a.substr(h+f.commentEnd.length)),e.replaceRange(a,c,d)}})}),a.defineExtension("autoIndentRange",function(a,b){var c=this;this.operation(function(){for(var d=a.line;d<=b.line;d++)c.indentLine(d,"smart")})}),a.defineExtension("autoFormatRange",function(b,c){function d(){j+="\n",l=!0,++k}for(var e=this,f=e.getMode(),g=e.getRange(b,c).split("\n"),h=a.copyState(f,e.getTokenAt(b).state),i=e.getOption("tabSize"),j="",k=0,l=0===b.ch,m=0;m=a;++a)e.indentLine(a,"smart");e.setSelection(b,e.getCursor(!1))})})}),c("CodeManager/model/CodeMirrorEditor",["backbone","codemirror/lib/codemirror","codemirror/mode/htmlmixed/htmlmixed","codemirror/mode/css/css","formatting"],function(a,b,c,d,e){return a.Model.extend({defaults:{input:"",label:"",codeName:"",theme:"",readOnly:!0,lineNumbers:!0},init:function(a){return this.editor=b.fromTextArea(a,{dragDrop:!1,lineNumbers:this.get("lineNumbers"),readOnly:this.get("readOnly"),mode:this.get("codeName"),theme:this.get("theme")}),this},setContent:function(a){this.editor&&(this.editor.setValue(a),this.editor.autoFormatRange&&(b.commands.selectAll(this.editor),this.editor.autoFormatRange(this.editor.getCursor(!0),this.editor.getCursor(!1)),b.commands.goDocStart(this.editor)))}})}),c("text!CodeManager/template/editor.html",[],function(){return'
\n
<%= label %>
\n
\n
\n'}),c("CodeManager/view/EditorView",["backbone","text!./../template/editor.html"],function(a,b){return a.View.extend({template:_.template(b),initialize:function(a){this.config=a.config||{},this.pfx=this.config.stylePrefix},render:function(){var a=this.model.toJSON();return a.pfx=this.pfx,this.$el.html(this.template(a)),this.$el.attr("class",this.pfx+"editor-c"),this.$el.find("#"+this.pfx+"code").html(this.model.get("input")),this}})}),c("CodeManager/main",["require","./config/config","./model/HtmlGenerator","./model/CssGenerator","./model/JsonGenerator","./model/CodeMirrorEditor","./view/EditorView"],function(a){var b=function(){var b={},c=a("./config/config"),d=a("./model/HtmlGenerator"),e=a("./model/CssGenerator"),f=a("./model/JsonGenerator"),g=a("./model/CodeMirrorEditor"),h=a("./view/EditorView"),i={},j={},k={},l={};return{getConfig:function(){return b},config:b,EditorView:h,name:"CodeManager",init:function(a){b=a||{};for(var h in c)h in b||(b[h]=c[h]);var i=b.pStylePrefix;return i&&(b.stylePrefix=i+b.stylePrefix),j.html=new d,j.css=new e,j.json=new f,l.CodeMirror=new g,this},onLoad:function(){this.loadDefaultGenerators().loadDefaultViewers()},addGenerator:function(a,b){return i[a]=b,this},getGenerator:function(a){return i[a]||null},getGenerators:function(){return i},addViewer:function(a,b){return k[a]=b,this},getViewer:function(a){return k[a]||null},getViewers:function(){return k},updateViewer:function(a,b){a.setContent(b)},getCode:function(a,b,c){var d=this.getGenerator(b);return d?d.build(a,c):""},loadDefaultGenerators:function(){for(var a in j)this.addGenerator(a,j[a]);return this},loadDefaultViewers:function(){for(var a in l)this.addViewer(a,l[a]);return this}}};return b}),c("CodeManager",["CodeManager/main"],function(a){return a}),c("Panels/config/config",[],function(){var a="create-comp",b="move-comp",c="sw-visibility",d="export-template",e="open-sm",f="open-layers",g="open-blocks",h="fullscreen",i="preview";return{stylePrefix:"pn-",defaults:[{id:"commands",buttons:[{id:a,command:a,className:"fa fa-pencil-square-o",attributes:{title:"Create element"},stopDefaultCommand:1},{id:b,command:b,className:"fa fa-arrows",attributes:{title:"Move elements"},stopDefaultCommand:1}]},{id:"options",buttons:[{active:!0,id:c,className:"fa fa-square-o",command:c,context:c,attributes:{title:"View components"}},{id:i,className:"fa fa-eye",command:i,context:i,stopDefaultCommand:1,attributes:{title:"Preview"}},{id:h,className:"fa fa-arrows-alt",command:h,context:h,attributes:{title:"Fullscreen"}},{id:d,className:"fa fa-code",command:d,attributes:{title:"View code"}}]},{id:"views",buttons:[{id:e,className:"fa fa-paint-brush",command:e,active:!0,attributes:{title:"Open Style Manager"}},{id:f,className:"fa fa-bars",command:f,attributes:{title:"Open Layer Manager"}},{id:g,className:"fa fa-th-large",command:g,attributes:{title:"Open Blocks"}}]}],em:null,delayBtnsShow:300}}),c("Panels/model/Button",["backbone","require"],function(a,b){return a.Model.extend({defaults:{id:"",className:"",command:"",context:"",buttons:[],attributes:{},options:{},active:!1,dragDrop:!1,runDefaultCommand:!0,stopDefaultCommand:!1},initialize:function(a){if(this.get("buttons").length){var c=b("./Buttons");this.set("buttons",new c(this.get("buttons")))}}})}),c("Panels/model/Buttons",["backbone","./Button"],function(a,b){return a.Collection.extend({model:b,deactivateAllExceptOne:function(a,b){this.forEach(function(c,d){c!==a&&(c.set("active",!1),b&&c.get("buttons").length&&c.get("buttons").deactivateAllExceptOne(a,b))})},deactivateAll:function(a){var b=a||"";this.forEach(function(a,c){a.get("context")==b&&(a.set("active",!1),a.get("buttons").length&&a.get("buttons").deactivateAll(b))})}})}),c("Panels/model/Panel",["backbone","./Buttons"],function(a,b){return a.Model.extend({defaults:{id:"",content:"",visible:!0,buttons:[]},initialize:function(a){this.btn=this.get("buttons")||[],this.buttons=new b(this.btn),this.set("buttons",this.buttons)}})}),c("Panels/model/Panels",["backbone","./Panel"],function(a,b){return a.Collection.extend({model:b})}),c("Panels/view/ButtonView",["backbone","require"],function(a,b){return a.View.extend({tagName:"span",initialize:function(a){_.bindAll(this,"startTimer","stopTimer","showButtons","hideButtons","closeOnKeyPress","onDrop","initSorter","stopDrag");var b=this.model.get("className");this.config=a.config||{},this.em=this.config.em||{},this.pfx=this.config.stylePrefix||"",this.ppfx=this.config.pStylePrefix||"",this.id=this.pfx+this.model.get("id"),this.activeCls=this.pfx+"active",this.btnsVisCls=this.pfx+"visible",this.parentM=a.parentM||null,this.className=this.pfx+"btn"+(b?" "+b:""),this.listenTo(this.model,"change:active updateActive",this.updateActive),this.listenTo(this.model,"checkActive",this.checkActive),this.listenTo(this.model,"change:bntsVis",this.updateBtnsVis),this.listenTo(this.model,"change:attributes",this.updateAttributes),this.listenTo(this.model,"change:className",this.updateClassName),this.model.get("buttons").length&&(this.$el.on("mousedown",this.startTimer),this.$el.append($("
",{"class":this.pfx+"arrow-rd"}))),this.em&&this.em.get&&(this.commands=this.em.get("Commands")),this.events={},this.model.get("dragDrop")?(this.events.mousedown="initDrag",this.em.on("loaded",this.initSorter)):this.events.click="clicked",this.delegateEvents()},initSorter:function(){if(this.em.Canvas){var a=this.em.Canvas;this.canvasEl=a.getBody(),this.sorter=new this.em.Utils.Sorter({container:this.canvasEl,placer:a.getPlacerEl(),containerSel:"*",itemSel:"*",pfx:this.ppfx,onMove:this.onDrag,onEndMove:this.onDrop,document:a.getFrameEl().contentDocument,direction:"a",wmargin:1,nested:1});var b=a.getOffset();this.sorter.offTop=b.top,this.sorter.offLeft=b.left}},initDrag:function(){this.model.collection.deactivateAll(this.model.get("context")),this.sorter.startSort(this.el),this.sorter.setDropContent(this.model.get("options").content),this.canvasEl.style.cursor="grabbing",$(document).on("mouseup",this.stopDrag)},stopDrag:function(){$(document).off("mouseup",this.stopDrag),this.sorter.endMove()},onDrag:function(a){},onDrop:function(a){this.canvasEl.style.cursor="default"},updateClassName:function(){var a=this.model.get("className");this.$el.attr("class",this.pfx+"btn"+(a?" "+a:""))},updateAttributes:function(){this.$el.attr(this.model.get("attributes"))},updateBtnsVis:function(){this.$buttons&&(this.model.get("bntsVis")?this.$buttons.addClass(this.btnsVisCls):this.$buttons.removeClass(this.btnsVisCls))},startTimer:function(){this.timeout=setTimeout(this.showButtons,this.config.delayBtnsShow),$(document).on("mouseup",this.stopTimer)},stopTimer:function(){$(document).off("mouseup",this.stopTimer),this.timeout&&clearTimeout(this.timeout)},showButtons:function(){clearTimeout(this.timeout),this.model.set("bntsVis",!0),$(document).on("mousedown",this.hideButtons),$(document).on("keypress",this.closeOnKeyPress)},hideButtons:function(a){a&&$(a.target).trigger("click"),this.model.set("bntsVis",!1),$(document).off("mousedown",this.hideButtons),$(document).off("keypress",this.closeOnKeyPress)},closeOnKeyPress:function(a){var b=a.which||a.keyCode;27==b&&this.hideButtons()},updateActive:function(){var a=null,b=this.em&&this.em.get?this.em.get("Editor"):null,c=this.model.get("command");this.commands&&(a=this.commands.get(c)),this.model.get("active")?(this.model.collection.deactivateAll(this.model.get("context")),this.model.set("active",!0,{silent:!0}).trigger("checkActive"),this.parentM&&this.parentM.set("active",!0,{silent:!0}).trigger("checkActive"),a&&(a.run(b,this.model,this.model.get("options")),b.trigger("run:"+c))):(this.$el.removeClass(this.activeCls),this.model.collection.deactivateAll(this.model.get("context")),this.parentM&&this.parentM.set("active",!1,{silent:!0}).trigger("checkActive"),a&&(a.stop(b,this.model,this.model.get("options")),b.trigger("stop:"+c)))},checkActive:function(){this.model.get("active")?this.$el.addClass(this.activeCls):this.$el.removeClass(this.activeCls)},clicked:function(a){if(!this.model.get("bntsVis")){this.parentM&&this.swapParent();var b=this.model.get("active");this.model.set("active",!b);this.em.get("Commands").get("select-comp");b?this.model.get("runDefaultCommand")&&this.em.runDefault():this.model.get("stopDefaultCommand")&&this.em.stopDefault()}},swapParent:function(){this.parentM.collection.deactivateAll(this.model.get("context")),this.parentM.set("attributes",this.model.get("attributes")),this.parentM.set("options",this.model.get("options")),this.parentM.set("command",this.model.get("command")),this.parentM.set("className",this.model.get("className")),this.parentM.set("active",!0,{silent:!0}).trigger("checkActive")},render:function(){if(this.updateAttributes(),this.$el.attr("class",this.className),this.model.get("buttons").length){var a=b("./ButtonsView"),c=new a({collection:this.model.get("buttons"),config:this.config,parentM:this.model});this.$buttons=c.render().$el,this.$buttons.append($("
",{"class":this.pfx+"arrow-l"})),this.$el.append(this.$buttons)}return this}})}),c("Panels/view/ButtonsView",["backbone","./ButtonView"],function(a,b){return a.View.extend({initialize:function(a){this.opt=a||{},this.config=this.opt.config||{},this.pfx=this.config.stylePrefix||"",this.parentM=this.opt.parentM||null,this.listenTo(this.collection,"add",this.addTo),this.listenTo(this.collection,"reset",this.render),this.className=this.pfx+"buttons"},addTo:function(a){this.addToCollection(a)},addToCollection:function(a,c){var d=c||null,e=b,f=new e({model:a,config:this.config,parentM:this.parentM}),g=f.render().el;return d?d.appendChild(g):this.$el.append(g),g},render:function(){var a=document.createDocumentFragment();return this.$el.empty(),this.collection.each(function(b){this.addToCollection(b,a)},this),this.$el.append(a),this.$el.attr("class",_.result(this,"className")),this}})}),c("Panels/view/PanelView",["backbone","./ButtonsView"],function(a,b){return a.View.extend({initialize:function(a){this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.buttons=this.model.get("buttons"),this.className=this.pfx+"panel",this.id=this.pfx+this.model.get("id"),this.listenTo(this.model,"change:appendContent",this.appendContent),this.listenTo(this.model,"change:content",this.updateContent)},appendContent:function(){this.$el.append(this.model.get("appendContent"))},updateContent:function(){this.$el.html(this.model.get("content"))},render:function(){if(this.$el.attr("class",_.result(this,"className")),this.id&&this.$el.attr("id",this.id),this.buttons.length){var a=new b({collection:this.buttons,config:this.config});this.$el.append(a.render().el)}return this.$el.append(this.model.get("content")),this}})}),c("Panels/view/PanelsView",["backbone","./PanelView"],function(a,b){return a.View.extend({initialize:function(a){this.opt=a||{},this.config=this.opt.config||{},this.pfx=this.config.stylePrefix||"",this.listenTo(this.collection,"add",this.addTo),this.listenTo(this.collection,"reset",this.render),this.className=this.pfx+"panels"},addTo:function(a){this.addToCollection(a)},addToCollection:function(a,c){var d=c||null,e=b,f=new e({model:a,config:this.config}),g=f.render().el;return d?d.appendChild(g):this.$el.append(g),g},render:function(){var a=document.createDocumentFragment();return this.$el.empty(),this.collection.each(function(b){this.addToCollection(b,a)},this),this.$el.append(a),this.$el.attr("class",_.result(this,"className")),this}})}),c("Panels/main",["require","./config/config","./model/Panel","./model/Panels","./view/PanelView","./view/PanelsView"],function(a){return function(){var b,c,d={},e=a("./config/config"),f=a("./model/Panel"),g=a("./model/Panels"),h=(a("./view/PanelView"),a("./view/PanelsView"));return{name:"Panels",init:function(a){d=a||{};for(var f in e)f in d||(d[f]=e[f]);var i=d.pStylePrefix;return i&&(d.stylePrefix=i+d.stylePrefix),b=new g(d.defaults),c=new h({collection:b,config:d}),this},getPanels:function(){return b},getPanelsEl:function(){return c.el},addPanel:function(a){return b.add(a)},getPanel:function(a){var c=b.where({id:a});return c.length?c[0]:null},addButton:function(a,b){var c=this.getPanel(a);return c?c.get("buttons").add(b):null},getButton:function(a,b){var c=this.getPanel(a);if(c){var d=c.get("buttons").where({id:b});return d.length?d[0]:null}return null},render:function(){return c.render().el},active:function(){this.getPanels().each(function(a){a.get("buttons").each(function(a){a.get("active")&&a.trigger("updateActive")})})},Panel:f}}}),c("Panels",["Panels/main"],function(a){return a}),c("RichTextEditor/config/config",[],function(){return{stylePrefix:"rte-",toolbarId:"toolbar",containerId:"wrapper",commands:[{command:"bold",title:"Bold","class":"fa fa-bold"},{command:"italic",title:"Italic","class":"fa fa-italic"},{command:"underline",title:"Underline","class":"fa fa-underline"},{command:"strikethrough",title:"Strikethrough","class":"fa fa-strikethrough",group:"format"}]}}),c("RichTextEditor/view/TextEditorView",["jquery"],function(a){var b=function(b){var c=a.Deferred(),d=new FileReader;return d.onload=function(a){c.resolve(a.target.result)},d.onerror=c.reject,d.onprogress=c.notify,d.readAsDataURL(b),c.promise()};return a.fn.cleanHtml=function(){var b=a(this).html();return b&&b.replace(/(
|\s|

<\/div>| )*$/,"")},a.fn.wysiwyg=function(c){var d,e,f,g=this,h=function(){var b=e.activeToolbarClass;b&&a(e.toolbarSelector).find(f).each(function(){var c=a(this),d=c.data(e.commandRole),f=g.get(0).ownerDocument;f.queryCommandState(d)?c.addClass(b):c.removeClass(b)})},i=function(a,b){var c=a.split(" "),d=c.shift(),e=c.join(" ")+(b||"");g.get(0).ownerDocument.execCommand("styleWithCSS",!1,!0),g.get(0).ownerDocument.execCommand(d,0,e),h()},j=function(){var a=window.getSelection();return a.getRangeAt&&a.rangeCount?a.getRangeAt(0):void 0},k=function(){d=j()},l=function(){var a=window.getSelection();if(d){try{a.removeAllRanges()}catch(b){document.body.createTextRange().select(),document.selection.empty()}a.addRange(d)}},m=function(c){g.focus(),a.each(c,function(c,d){/^image\//.test(d.type)?a.when(b(d)).done(function(a){i("insertimage",a)}).fail(function(a){e.fileUploadError("file-reader",a)}):e.fileUploadError("unsupported-file-type",d.type)})},n=function(a,b){l(),document.queryCommandSupported("hiliteColor")&&document.execCommand("hiliteColor",0,b||"transparent"),k(),a.data(e.selectionMarker,b)},o=function(b,c){b.find(f).unbind().click(function(){l(),g.get(0).ownerDocument.execCommand(a(this).data(c.commandRole)),k()}),b.find("[data-toggle=dropdown]").click(l);var d="[data-"+c.commandRole+"]";b.find("select"+d).on("webkitspeechchange change",function(){var b=this.value;l(),b&&(g.focus(),i(a(this).data(c.commandRole),b)),console.log("change isolated2 ",b),k()}),b.find("input[type=text]"+d,", select"+d).on("webkitspeechchange change",function(){console.log("on changed ",b);var b=this.value;this.value="",l(),b&&(g.focus(),i(a(this).data(c.commandRole),b)),k()}).on("focus",function(){console.log("on focus ");var b=a(this);b.data(c.selectionMarker)||(console.log("i have no ",c.selectionMarker),n(b,c.selectionColor),b.focus())}).on("blur",function(){var b=a(this);b.data(c.selectionMarker)&&n(b,!1)}),b.find("input[type=file][data-"+c.commandRole+"]").change(function(){l(),"file"===this.type&&this.files&&this.files.length>0&&m(this.files),k(),this.value=""})},p=function(){g.on("dragenter dragover",!1).on("drop",function(a){var b=a.originalEvent.dataTransfer;a.stopPropagation(),a.preventDefault(),b&&b.files&&b.files.length>0&&m(b.files)})};if("string"==typeof c&&"destroy"==c)return g.attr("contenteditable",!1).unbind("mouseup keyup mouseout dragenter dragover"),a(window).unbind("touchend"),this;e=a.extend({},a.fn.wysiwyg.defaults,c);var q="[data-"+e.commandRole+"]";return f="a"+q+",button"+q+",input[type=button]"+q+", select"+q,e.dragAndDropImages&&p(),o(a(e.toolbarSelector),e),g.attr("contenteditable",!0).on("mouseup keyup mouseout",function(){k(),h()}),a(window).bind("touchend",function(a){var b=g.is(a.target)||g.has(a.target).length>0,c=j(),d=c&&c.startContainer===c.endContainer&&c.startOffset===c.endOffset;(!d||b)&&(k(),h())}),this},a.fn.wysiwyg.defaults={toolbarSelector:"[data-role=editor-toolbar]",commandRole:"edit",activeToolbarClass:"btn-info",selectionMarker:"edit-focus-marker",selectionColor:"darkgrey",dragAndDropImages:!0,fileUploadError:function(a,b){console.log("File upload error",a,b)}},a}),c("RichTextEditor/model/CommandButton",["backbone"],function(a){return a.Model.extend({idAttribute:"command",defaults:{command:"",type:"",title:"","class":"",options:[]},initialize:function(){var a=this.get("options");a.length&&this.set("type","select")}})}),c("RichTextEditor/model/CommandButtons",["backbone","./CommandButton"],function(a,b){return a.Collection.extend({model:b})}),c("RichTextEditor/view/CommandButtonView",["backbone"],function(a){return a.View.extend({tagName:"a",initialize:function(a,b){this.config=b||{},this.className=this.config.stylePrefix+"btn "+this.model.get("class")},render:function(){return this.$el.addClass(this.className),this}})}),c("RichTextEditor/view/CommandButtonSelectView",["backbone"],function(a){return a.View.extend({initialize:function(a,b){this.config=b||{},this.className=this.config.stylePrefix+"btn "+this.model.get("class")},getInput:function(){var a=this.model;if(!this.input){for(var b=a.get("command"),c='",this.input=$(c)}return this.input},render:function(){return this.$el.addClass(this.className),this.$el.html(this.getInput()),this}})}),c("RichTextEditor/view/CommandButtonsView",["backbone","./CommandButtonView","./CommandButtonSelectView"],function(a,b,c){return a.View.extend({attributes:{"data-role":"editor-toolbar"},initialize:function(a){this.config=a.config||{};var b=this.config.stylePrefix||"";this.id=b+this.config.toolbarId,this.listenTo(this.collection,"add",this.addTo),this.$el.data("helper",1)},addTo:function(a){this.add(a)},add:function(a,d){var e=d||null,f=b;switch(a.get("type")){case"select":f=c}var g=new f({model:a,attributes:{title:a.get("title"),"data-edit":a.get("command")}},this.config),h=g.render().el;e?e.appendChild(h):this.$el.append(h)},render:function(){var a=document.createDocumentFragment();return this.$el.empty(),this.collection.each(function(b){this.add(b,a)},this),this.$el.append(a),this.$el.attr("id",this.id),this}})}),c("RichTextEditor/main",["require","./config/config","./view/TextEditorView","./model/CommandButtons","./view/CommandButtonsView"],function(a){return function(){var b,c,d,e={},f=a("./config/config"),g=(a("./view/TextEditorView"),a("./model/CommandButtons")),h=a("./view/CommandButtonsView");return{name:"rte",init:function(a){e=a||{};for(var i in f)i in e||(e[i]=f[i]);var j=e.pStylePrefix;return j&&(e.stylePrefix=j+e.stylePrefix),b=e.stylePrefix,d=new g(e.commands),c=new h({collection:d,config:e}),this},add:function(a,b){var c=b||{};return c.command=a,d.add(c)},get:function(a){return d.where({command:a})[0]},getAll:function(){return d},udpatePosition:function(){if(this.lastEl&&e.em){var a="px",b=e.em.get("canvasOffset"),d=e.em.get("Canvas").getCanvasView(),f=d.getElementPos(this.lastEl),g=c.el.style,h=c.$el.outerHeight();g.top=f.top-h+a,g.left=f.left+b.left+a}},attach:function(a){a.$el.wysiwyg({}).focus(),this.lastEl=a.el,e.em&&(this.udpatePosition(),e.em.off("change:canvasOffset",this.udpatePosition,this),e.em.on("change:canvasOffset",this.udpatePosition,this)),this.show(),c.$el.on("mousedown",this.disableProp)},detach:function(a){a.$el.wysiwyg("destroy"),this.hide(),c.$el.off("mousedown",this.disableProp)},show:function(){c.el.style.display="block"},hide:function(){c.el.style.display="none"},disableProp:function(a){a.stopPropagation()},getToolbarEl:function(){return c.el},render:function(){return c.render().el}}}}),c("RichTextEditor",["RichTextEditor/main"],function(a){return a}),c("StyleManager/config/config",[],function(){return{stylePrefix:"sm-",sectors:[{name:"General",open:!1,buildProps:["float","display","position","top","right","left","bottom"]},{name:"Dimension",open:!1,buildProps:["width","height","max-width","min-height","margin","padding"]},{name:"Typography",open:!1,buildProps:["font-family","font-size","font-weight","letter-spacing","color","line-height","text-align","text-shadow"],properties:[{property:"text-align",list:[{value:"left",className:"fa fa-align-left"},{value:"center",className:"fa fa-align-center"},{value:"right",className:"fa fa-align-right"},{value:"justify",className:"fa fa-align-justify"}]}]},{name:"Decorations",open:!1,buildProps:["border-radius-c","background-color","border-radius","border","box-shadow","background"]},{name:"Extra",open:!1,buildProps:["transition","perspective","transform"]}],textNoElement:"Select an element before using Style Manager"}}),c("StyleManager/model/Layer",["backbone"],function(a){return a.Model.extend({defaults:{index:"",active:!0,value:"",values:{},preview:!1},initialize:function(){var a=this.get("value");if(!a){var b="",c=this.get("values");for(var d in c)b+=" "+c[d];this.set("value",b.trim())}}})}),c("StyleManager/model/Layers",["backbone","./Layer"],function(a,b){return a.Collection.extend({model:b,initialize:function(){this.idx=1,this.on("add",this.onAdd),this.on("reset",this.onReset)},onAdd:function(a,b,c){c.noIncrement||a.set("index",this.idx++)},onReset:function(){this.idx=1}})}),c("StyleManager/model/Property",["backbone","./Layers"],function(a,b){return a.Model.extend({defaults:{name:"",property:"",type:"",units:[],unit:"",defaults:"",info:"",value:"",icon:"",preview:!1,detached:!1,functionName:"",properties:[],layers:[],list:[]},initialize:function(a){var c=this.get("type"),d=this.get("name"),e=this.get("property");switch(d||this.set("name",e.charAt(0).toUpperCase()+e.slice(1).replace(/-/g," ")),c){case"stack":this.set("layers",new b)}},getValue:function(){var a="",b=this.get("type");switch(b){case"integer":a=this.get("value")+this.get("unit");break;default:a=this.get("value")}return a}})}),c("StyleManager/model/Properties",["backbone","./Property"],function(a,b){return a.Collection.extend({model:b})}),c("StyleManager/model/PropertyFactory",["backbone"],function(a){return function(){return{build:function(a){var b=[];"string"==typeof a&&(a=[a]);for(var c=0,d=a.length;d>c;c++){var e={},f=a[c];switch(e.property=f,f){case"border-radius-c":e.property="border-radius"}switch(f){case"float":case"position":case"text-align":e.type="radio";break;case"display":case"font-family":case"font-weight":case"border-style":case"box-shadow-type":case"background-repeat":case"background-position":case"background-attachment":case"background-size":case"transition-property":case"transition-timing-function":case"cursor":case"overflow":e.type="select";break;case"top":case"right":case"bottom":case"left":case"margin-top":case"margin-right":case"margin-bottom":case"margin-left":case"padding-top":case"padding-right":case"padding-bottom":case"padding-left":case"min-height":case"min-width":case"max-height":case"max-width":case"width":case"height":case"font-size":case"letter-spacing":case"line-height":case"text-shadow-h":case"text-shadow-v":case"text-shadow-blur":case"border-radius-c":case"border-top-left-radius":case"border-top-right-radius":case"border-bottom-left-radius":case"border-bottom-right-radius":case"border-width":case"box-shadow-h":case"box-shadow-v":case"box-shadow-blur":case"box-shadow-spread":case"transition-duration":case"perspective":case"transform-rotate-x":case"transform-rotate-y":case"transform-rotate-z":case"transform-scale-x":case"transform-scale-y":case"transform-scale-z":e.type="integer";break;case"margin":case"padding":case"border-radius":case"border":case"transform":e.type="composite";break;case"color":case"text-shadow-color":case"background-color":case"border-color":case"box-shadow-color":e.type="color";break;case"text-shadow":case"box-shadow":case"background":case"transition":e.type="stack";break;case"background-image":e.type="file"}switch(f){case"float":case"background-color":case"background-image":e.defaults="none";break;case"display":e.defaults="block";break;case"position":e.defaults="static";break;case"top":case"right":case"bottom":case"left":case"margin-top":case"margin-right":case"margin-bottom":case"margin-left":case"padding-top":case"padding-right":case"padding-bottom":case"padding-left":case"text-shadow-h":case"text-shadow-v":case"text-shadow-blur":case"border-radius-c":case"border-top-left-radius":case"border-top-right-radius":case"border-bottom-left-radius":case"border-bottom-right-radius":case"box-shadow-h":case"box-shadow-v":case"box-shadow-spread":case"perspective":case"transform-rotate-x":case"transform-rotate-y":case"transform-rotate-z":e.defaults=0;break;case"transform-scale-x":case"transform-scale-y":case"transform-scale-z":e.defaults=1;break;case"box-shadow-blur":e.defaults=5;break;case"min-height":case"min-width":case"max-height":case"max-width":case"width":case"height":case"background-size":case"cursor":e.defaults="auto";break;case"font-family":e.defaults="Arial, Helvetica, sans-serif";break;case"font-size":case"border-width":e.defaults="medium";break;case"font-weight":e.defaults="400";break;case"letter-spacing":case"line-height":e.defaults="normal";break;case"color":case"text-shadow-color":case"border-color":case"box-shadow-color":e.defaults="black";break;case"text-align":e.defaults="left";break;case"border-style":e.defaults="solid";break;case"box-shadow-type":e.defaults="";break;case"background-repeat":e.defaults="repeat";break;case"background-position":e.defaults="left top";break;case"background-attachment":e.defaults="scroll";break;case"transition-property":e.defaults="width";break;case"transition-duration":e.defaults="2"; -break;case"transition-timing-function":e.defaults="ease";break;case"overflow":e.defaults="visible"}switch(f){case"top":case"right":case"bottom":case"left":case"margin-top":case"margin-right":case"margin-bottom":case"margin-left":case"padding-top":case"padding-right":case"padding-bottom":case"padding-left":case"min-height":case"min-width":case"max-height":case"max-width":case"width":case"height":case"text-shadow-h":case"text-shadow-v":case"text-shadow-blur":case"border-radius-c":case"border-top-left-radius":case"border-top-right-radius":case"border-bottom-left-radius":case"border-bottom-right-radius":case"box-shadow-h":case"box-shadow-v":e.units=["px","%"];break;case"font-size":case"letter-spacing":case"line-height":e.units=["px","em","rem","%"];break;case"border-width":e.units=["px","em"];break;case"box-shadow-blur":case"box-shadow-spread":case"perspective":e.units=["px"];break;case"transition-duration":e.units=["s"];break;case"transform-rotate-x":case"transform-rotate-y":case"transform-rotate-z":e.units=["deg"]}switch(f){case"min-height":case"min-width":case"max-height":case"max-width":case"width":case"height":case"font-size":case"text-shadow-blur":case"border-radius-c":case"border-top-left-radius":case"border-top-right-radius":case"border-bottom-left-radius":case"border-bottom-right-radius":case"border-width":case"box-shadow-blur":case"transition-duration":case"perspective":e.min=0}switch(f){case"text-shadow":case"box-shadow":case"background":e.preview=!0}switch(f){case"background":e.detached=!0}switch(f){case"transform-rotate-x":e.functionName="rotateX";break;case"transform-rotate-y":e.functionName="rotateY";break;case"transform-rotate-z":e.functionName="rotateZ";break;case"transform-scale-x":e.functionName="scaleX";break;case"transform-scale-y":e.functionName="scaleY";break;case"transform-scale-z":e.functionName="scaleZ"}switch(f){case"float":e.list=[{value:"none"},{value:"left"},{value:"right"}];break;case"display":e.list=[{value:"block"},{value:"inline"},{value:"inline-block"},{value:"none"}];break;case"position":e.list=[{value:"static"},{value:"relative"},{value:"absolute"},{value:"fixed"}];break;case"font-family":var g=", sans-serif",h=["Arial, Helvetica"+g,"Arial Black, Gadget"+g,"Brush Script MT"+g,"Comic Sans MS, cursive"+g,"Courier New, Courier, monospace","Georgia, serif","Helvetica, serif","Impact, Charcoal"+g,"Lucida Sans Unicode, Lucida Grande"+g,"Tahoma, Geneva"+g,"Times New Roman, Times, serif","Trebuchet MS, Helvetica"+g,"Verdana, Geneva"+g];e.list=[];for(var i=0,j=h.length;j>i;i++){var k={};k.value=h[i],k.name=h[i].split(",")[0],k.style="font-family: "+h[i]+"; font-size:15px",e.list.push(k)}break;case"font-weight":e.list=[{value:"100",name:"Thin"},{value:"200",name:"Extra-Light"},{value:"300",name:"Light"},{value:"400",name:"Normal"},{value:"500",name:"Medium"},{value:"600",name:"Semi-Bold"},{value:"700",name:"Bold"},{value:"800",name:"Extra-Bold"},{value:"900",name:"Ultra-Bold"}];break;case"text-align":e.list=[{value:"left"},{value:"center"},{value:"right"},{value:"justify"}];break;case"border-style":e.list=[{value:"none"},{value:"solid"},{value:"dotted"},{value:"dashed"},{value:"double"},{value:"groove"},{value:"ridge"},{value:"inset"},{value:"outset"}];break;case"box-shadow-type":e.list=[{value:"",name:"Outside"},{value:"inset",name:"Inside"}];break;case"background-repeat":e.list=[{value:"repeat"},{value:"repeat-x"},{value:"repeat-y"},{value:"no-repeat"}];break;case"background-position":e.list=[{value:"left top"},{value:"left center"},{value:"left bottom"},{value:"right top"},{value:"right center"},{value:"right bottom"},{value:"center top"},{value:"center center"},{value:"center bottom"}];break;case"background-attachment":e.list=[{value:"scroll"},{value:"fixed"},{value:"local"}];break;case"background-size":e.list=[{value:"auto"},{value:"cover"},{value:"contain"}];break;case"transition-property":e.list=[{value:"all"},{value:"width"},{value:"height"},{value:"background-color"},{value:"transform"},{value:"box-shadow"},{value:"opacity"}];break;case"transition-timing-function":e.list=[{value:"linear"},{value:"ease"},{value:"ease-in"},{value:"ease-out"},{value:"ease-in-out"}];break;case"cursor":e.list=[{value:"auto"},{value:"pointer"},{value:"copy"},{value:"crosshair"},{value:"grab"},{value:"grabbing"},{value:"help"},{value:"move"},{value:"text"}];break;case"overflow":e.list=[{value:"visible"},{value:"hidden"},{value:"scroll"},{value:"auto"}]}switch(f){case"margin":e.properties=this.build(["margin-top","margin-right","margin-bottom","margin-left"]);break;case"padding":e.properties=this.build(["padding-top","padding-right","padding-bottom","padding-left"]);break;case"text-shadow":e.properties=this.build(["text-shadow-h","text-shadow-v","text-shadow-blur","text-shadow-color"]);break;case"border":e.properties=this.build(["border-width","border-style","border-color"]);break;case"border-radius":e.properties=this.build(["border-top-left-radius","border-top-right-radius","border-bottom-left-radius","border-bottom-right-radius"]);break;case"box-shadow":e.properties=this.build(["box-shadow-h","box-shadow-v","box-shadow-blur","box-shadow-spread","box-shadow-color","box-shadow-type"]);break;case"background":e.properties=this.build(["background-image","background-repeat","background-position","background-attachment","background-size"]);break;case"transition":e.properties=this.build(["transition-property","transition-duration","transition-timing-function"]);break;case"transform":e.properties=this.build(["transform-rotate-x","transform-rotate-y","transform-rotate-z","transform-scale-x","transform-scale-y","transform-scale-z"])}b.push(e)}return b}}}}),c("StyleManager/model/Sector",["backbone","./Properties","./PropertyFactory"],function(a,b,c){return a.Model.extend({defaults:{id:"",name:"",open:!0,buildProps:"",extendBuilded:1,properties:[]},initialize:function(a){var c=a||{},d=[],e=this.buildProperties(c.buildProps);d=e?this.extendProperties(e):this.get("properties"),this.set("properties",new b(d))},extendProperties:function(a){for(var b=a.length,c=this.get("properties"),d=this.get("extendBuilded"),e=0,f=c.length;f>e;e++){for(var g=c[e],h=0,i=0;b>i;i++){var j=a[i];g.property!=j.property||(a[i]=d?_.extend(j,g):g,h=1)}h||a.push(g)}return a},buildProperties:function(a){var b,d=a||[];return d.length?(this.propFactory||(this.propFactory=new c),b=this.propFactory.build(d)):void 0}})}),c("StyleManager/model/Sectors",["backbone","./Sector"],function(a,b){return a.Collection.extend({model:b})}),c("text!StyleManager/templates/propertyLabel.html",[],function(){return'
\n
\n <%= label %>\n
\n
'}),c("text!StyleManager/templates/propertyInput.html",[],function(){return'
\n input-holder\'>\n
\n
'}),c("StyleManager/view/PropertyView",["backbone","text!./../templates/propertyLabel.html","text!./../templates/propertyInput.html"],function(a,b,c){return a.View.extend({template:_.template(c),templateLabel:_.template(b),events:{change:"valueUpdated"},initialize:function(a){this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.ppfx=this.config.pStylePrefix||"",this.target=a.target||{},this.propTarget=a.propTarget||{},this.onChange=a.onChange||{},this.onInputRender=a.onInputRender||{},this.customValue=a.customValue||{},this.defaultValue=this.model.get("defaults"),this.property=this.model.get("property"),this.input=this.$input=null,this.className=this.pfx+"property",this.inputHolderId="#"+this.pfx+"input-holder",this.model.get("value")||this.model.set("value",this.model.get("defaults")),this.listenTo(this.propTarget,"update",this.targetUpdated),this.listenTo(this.model,"change:value",this.valueChanged),this.listenTo(this.model,"targetUpdated",this.targetUpdated)},getTarget:function(){return this.selectedComponent?this.selectedComponent:this.propTarget?this.propTarget.model:null},valueUpdated:function(){this.$input&&this.model.set("value",this.getInputValue())},targetUpdated:function(){this.selectedComponent=this.propTarget.model,this.helperComponent=this.propTarget.helper,this.getTarget()&&(this.sameValue()||this.renderInputRequest())},sameValue:function(){return this.getComponentValue()==this.model.get("value")+this.model.get("unit")},getComponentValue:function(){var a=this.getTarget();if(a){var b=a.get("style")[this.property];if(b?this.componentValue=b:this.componentValue=this.defaultValue+(this.unit||""),this.model.get("functionName")){var c=this.fetchFromFunction(this.componentValue);c&&(this.componentValue=c)}if(this.customValue&&"function"==typeof this.customValue){var d=this.model.collection.indexOf(this.model),e=this.customValue(this,d);e&&(this.componentValue=e)}return this.componentValue}},fetchFromFunction:function(a){return a.substring(a.indexOf("(")+1,a.lastIndexOf(")"))},getValueForTarget:function(){return this.model.getValue()},getInputValue:function(){return this.$input?this.$input.val():""},valueChanged:function(a,b,c){var d=this.getValueForTarget();if(this.$input&&this.setValue(d),this.getTarget()&&this.isTargetStylable()){value=this.getValueForTarget();var e=this.model.get("functionName");e&&(value=e+"("+value+")");var f=this.getTarget(),g=this.onChange;g&&"function"==typeof g?g(f,this,c):this.updateTargetStyle(value,null,c)}},updateTargetStyle:function(a,b,c){var d=b||this.property,e=a||"",f=c?c.avoidStore:0,g=this.getTarget(),h=_.clone(g.get("style"));e?h[d]=e:delete h[d],g.set("style",h,{avoidStore:f}),this.helperComponent&&this.helperComponent.set("style",h,{avoidStore:f})},isTargetStylable:function(){var a=this.getTarget().get("stylable");return a instanceof Array&&(a=_.indexOf(a,this.property)>=0),a},setValue:function(a,b){var c=0===b?0:1,d=this.model.get("defaults"),e=this.model.get("value")||d;(a||c)&&(e=a),this.$input&&this.$input.val(e),this.model.set({value:e},{silent:!0})},renderLabel:function(){this.$el.html(this.templateLabel({pfx:this.pfx,ppfx:this.ppfx,icon:this.model.get("icon"),info:this.model.get("info"),label:this.model.get("name")}))},renderField:function(){this.renderTemplate(),this.renderInput(),delete this.componentValue},renderTemplate:function(){this.$el.append(this.template({pfx:this.pfx,ppfx:this.ppfx,icon:this.model.get("icon"),info:this.model.get("info"),label:this.model.get("name")}))},renderInput:function(){this.$input||(this.$input=$("",{placeholder:this.model.get("defaults"),type:"text"}),this.$el.find(this.inputHolderId).html(this.$input)),this.setValue(this.componentValue,0)},renderInputRequest:function(){this.renderInput()},cleanValue:function(){this.setValue("")},render:function(){return this.renderLabel(),this.renderField(),this.$el.attr("class",this.className),this}})}),c("text!StyleManager/templates/propertyInteger.html",[],function(){return'
\n input-holder\'>\n units-holder\'>\n
\n
\n
\n
\n
'}),c("StyleManager/view/PropertyIntegerView",["backbone","./PropertyView","text!./../templates/propertyInteger.html"],function(a,b,c){return b.extend({template:_.template(c),initialize:function(a){b.prototype.initialize.apply(this,arguments),_.bindAll(this,"moveIncrement","upIncrement"),this.min=this.model.get("min")||0===this.model.get("min")?this.model.get("min"):null,this.max=this.model.get("max")||0===this.model.get("max")?this.model.get("max"):null,this.units=this.model.get("units"),this.unit=this.model.get("unit")?this.model.get("unit"):this.units.length?this.units[0]:"",this.events["click ."+this.pfx+"u-arrow"]="upArrowClick",this.events["click ."+this.pfx+"d-arrow"]="downArrowClick",this.events["mousedown ."+this.pfx+"int-arrows"]="downIncrement",this.listenTo(this.model,"change:unit",this.valueChanged),this.delegateEvents()},valueUpdated:function(){this.$input&&this.$unit&&this.model.set({value:this.validateValue(this.$input.val()),unit:this.$unit.val()})},validateValue:function(a){var b=a;return null!==this.max&&(b=b>this.max?this.max:b),null!==this.min&&(b=bthis.max?this.max:b),this.model.set("value",b)},downArrowClick:function(a){var b=this.model.get("value");b=isNaN(b)?0:parseInt(b,10)-1,null!==this.min&&(b=b",{placeholder:"auto",type:"text"}),this.$el.find("#"+a+"input-holder").html(this.$input)),this.$unit||this.units&&this.units.length&&(this.unitS='",this.$unit=$(this.unitS),this.$el.find("#"+a+"units-holder").html(this.$unit)),this.setValue(this.componentValue)},setValue:function(a){var b=this.unit,c=this.model.get("value")||this.defaultValue;if(a){a+="",c=parseFloat(a.replace(",",".")),c=isNaN(c)?this.defaultValue:c;var d=a.replace(c,"");_.indexOf(this.units,d)>-1&&(b=d)}this.$input&&this.$input.val(c),this.$unit&&this.$unit.val(b),this.model.set({value:c,unit:b},{silent:!0})}})}),c("text!StyleManager/templates/propertyRadio.html",[],function(){return'
\n input-holder\'>\n
\n
'}),c("StyleManager/view/PropertyRadioView",["backbone","./PropertyView","text!./../templates/propertyRadio.html"],function(a,b,c){return b.extend({template:_.template(c),initialize:function(a){b.prototype.initialize.apply(this,arguments),this.list=this.model.get("list")||[],this.className=this.className+" "+this.pfx+"list"},renderInput:function(){var a=this.pfx;this.$input||this.list&&this.list.length&&(this.input="",_.each(this.list,function(b){var c=b.className?b.className+" "+a+"icon":"",d=this.property+"-"+b.value,e=b.name?b.name:b.value;titleAttr=b.title?'title="'+b.title+'"':"",this.input+='
"},this),this.$inputEl=$(this.input),this.$el.find("#"+a+"input-holder").html(this.$inputEl),this.$input=this.$inputEl.find('input[name="'+this.property+'"]')),this.setValue(this.componentValue)},getInputValue:function(){return this.$input?this.$el.find("input:checked").val():""},setValue:function(a){var b=this.model.get("value")||this.defaultValue;a&&(b=a),this.$input&&this.$input.filter('[value="'+b+'"]').prop("checked",!0),this.model.set({value:b},{silent:!0})}})}),c("text!StyleManager/templates/propertySelect.html",[],function(){return'
\n input-holder\'>\n
\n
\n
'}),c("StyleManager/view/PropertySelectView",["backbone","./PropertyView","text!./../templates/propertySelect.html"],function(a,b,c){return b.extend({template:_.template(c),initialize:function(a){b.prototype.initialize.apply(this,arguments),this.list=this.model.get("list")||[]},renderInput:function(){var a=this.pfx;this.$input||(this.input="",this.$input=$(this.input),this.$el.find("#"+a+"input-holder").html(this.$input)),this.setValue(this.componentValue,0)}})}),function(a){"use strict";"function"==typeof c&&c.amd?c("Spectrum",["jquery"],a):"object"==typeof exports&&"object"==typeof module?module.exports=a(b("jquery")):a(jQuery)}(function(a,b){"use strict";function c(b,c,d,e){for(var f=[],g=0;g')}else{var m="sp-clear-display";f.push(a("
").append(a('').attr("title",e.noColorSelectedText)).html())}}return"
"+f.join("")+"
"}function d(){for(var a=0;aMath.abs(b-e);ta=f?"x":"y"}}else ta=null;var g=!ta||"x"===ta,h=!ta||"y"===ta;g&&(ka=parseFloat(a/ba)),h&&(la=parseFloat((ca-b)/ca)),Xa=!1,U.showAlpha||(ma=1),K()},y,z),Ta?(H(Ta),L(),Va=U.preferredFormat||tinycolor(Ta).format,u(Ta)):L(),V&&C();var d=p?"mousedown.spectrum":"click.spectrum touchstart.spectrum";Ha.delegate(".sp-thumb-el",d,b),Ia.delegate(".sp-thumb-el:nth-child(1)",d,{ignore:!0},b)}function t(){if(X&&window.localStorage){try{var b=window.localStorage[X].split(",#");b.length>1&&(delete window.localStorage[X],a.each(b,function(a,b){u(b)}))}catch(c){}try{qa=window.localStorage[X].split(";")}catch(c){}}}function u(b){if(W){var c=tinycolor(b).toRgbString();if(!pa[c]&&-1===a.inArray(c,qa))for(qa.push(c);qa.length>ra;)qa.shift();if(X&&window.localStorage)try{window.localStorage[X]=qa.join(";")}catch(d){}}}function v(){var a=[];if(U.showPalette)for(var b=0;b=ca||0>=ba||0>=ea)&&O(),aa=!0,xa.addClass(sa),ta=null,va.trigger("dragstart.spectrum",[I()])}function z(){aa=!1,xa.removeClass(sa),va.trigger("dragstop.spectrum",[I()])}function A(){var a=Ga.val();if(null!==a&&""!==a||!Ya){var b=tinycolor(a);b.isValid()?(H(b),N(!0)):Ga.addClass("sp-validation-error")}else H(null),N(!0)}function B(){_?F():C()}function C(){var b=a.Event("beforeShow.spectrum");return _?void O():(va.trigger(b,[I()]),void(Z.beforeShow(I())===!1||b.isDefaultPrevented()||(d(),_=!0,a(ua).bind("keydown.spectrum",D),a(ua).bind("click.spectrum",E),a(window).bind("resize.spectrum",$),Qa.addClass("sp-active"),xa.removeClass("sp-hidden"),O(),L(),Ua=I(),x(),Z.show(Ua),va.trigger("show.spectrum",[Ua]))))}function D(a){27===a.keyCode&&F()}function E(a){2!=a.button&&(aa||(Wa?N(!0):G(),F()))}function F(){_&&!V&&(_=!1,a(ua).unbind("keydown.spectrum",D),a(ua).unbind("click.spectrum",E),a(window).unbind("resize.spectrum",$),Qa.removeClass("sp-active"),xa.addClass("sp-hidden"),Z.hide(I()),va.trigger("hide.spectrum",[I()]))}function G(){H(Ua,!0)}function H(a,b){if(tinycolor.equals(a,I()))return void L();var c,d;!a&&Ya?Xa=!0:(Xa=!1,c=tinycolor(a),d=c.toHsv(),ja=d.h%360/360,ka=d.s,la=d.v,ma=d.a),L(),c&&c.isValid()&&!b&&(Va=U.preferredFormat||c.getFormat())}function I(a){return a=a||{},Ya&&Xa?null:tinycolor.fromRatio({h:ja,s:ka,v:la,a:Math.round(100*ma)/100},{format:a.format||Va})}function J(){return!Ga.hasClass("sp-validation-error")}function K(){L(),Z.move(I()),va.trigger("move.spectrum",[I()])}function L(){Ga.removeClass("sp-validation-error"),M();var a=tinycolor.fromRatio({h:ja,s:1,v:1});za.css("background-color",a.toHexString());var b=Va;1>ma&&(0!==ma||"name"!==b)&&("hex"===b||"hex3"===b||"hex6"===b||"name"===b)&&(b="rgb");var c=I({format:b}),d="";if(Sa.removeClass("sp-clear-display"),Sa.css("background-color","transparent"),!c&&Ya)Sa.addClass("sp-clear-display");else{var e=c.toHexString(),f=c.toRgbString();if(q||1===c.alpha?Sa.css("background-color",f):(Sa.css("background-color","transparent"),Sa.css("filter",c.toFilter())),U.showAlpha){var g=c.toRgb();g.a=0;var h=tinycolor(g).toRgbString(),i="linear-gradient(left, "+h+", "+e+")";p?Da.css("filter",tinycolor(h).toFilter({gradientType:1},e)):(Da.css("background","-webkit-"+i),Da.css("background","-moz-"+i),Da.css("background","-ms-"+i),Da.css("background","linear-gradient(to right, "+h+", "+e+")"))}d=c.toString(b)}U.showInput&&Ga.val(d),U.showPalette&&w(),x()}function M(){var a=ka,b=la;if(Ya&&Xa)Fa.hide(),Ca.hide(),Aa.hide();else{Fa.show(),Ca.show(),Aa.show();var c=a*ba,d=ca-b*ca;c=Math.max(-da,Math.min(ba-da,c-da)),d=Math.max(-da,Math.min(ca-da,d-da)),Aa.css({top:d+"px",left:c+"px"});var e=ma*ga;Fa.css({left:e-ha/2+"px"});var f=ja*ea;Ca.css({top:f-ia+"px"})}}function N(a){var b=I(),c="",d=!tinycolor.equals(b,Ua);b&&(c=b.toString(Va),u(b)),Na&&va.val(c),a&&d&&(Z.change(b),va.trigger("change",[b]))}function O(){_&&(ba=za.width(),ca=za.height(),da=Aa.height(),fa=Ba.width(),ea=Ba.height(),ia=Ca.height(),ga=Ea.width(),ha=Fa.width(),V||(xa.css("position","absolute"),U.offset?xa.offset(U.offset):xa.offset(g(xa,Ra))),M(),U.showPalette&&w(),va.trigger("reflow.spectrum"))}function P(){va.show(),Ra.unbind("click.spectrum touchstart.spectrum"),xa.remove(),Qa.remove(),o[Za.id]=null}function Q(c,d){return c===b?a.extend({},U):d===b?U[c]:(U[c]=d,"preferredFormat"===c&&(Va=U.preferredFormat),void j())}function R(){wa=!1,va.attr("disabled",!1),Ra.removeClass("sp-disabled")}function S(){F(),wa=!0,va.attr("disabled",!0),Ra.addClass("sp-disabled")}function T(a){U.offset=a,O()}var U=e(h,f),V=U.flat,W=U.showSelectionPalette,X=U.localStorageKey,Y=U.theme,Z=U.callbacks,$=l(O,10),_=!1,aa=!1,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=1,na=[],oa=[],pa={},qa=U.selectionPalette.slice(0),ra=U.maxSelectionSize,sa="sp-dragging",ta=null,ua=f.ownerDocument,va=(ua.body,a(f)),wa=!1,xa=a(s,ua).addClass(Y),ya=xa.find(".sp-picker-container"),za=xa.find(".sp-color"),Aa=xa.find(".sp-dragger"),Ba=xa.find(".sp-hue"),Ca=xa.find(".sp-slider"),Da=xa.find(".sp-alpha-inner"),Ea=xa.find(".sp-alpha"),Fa=xa.find(".sp-alpha-handle"),Ga=xa.find(".sp-input"),Ha=xa.find(".sp-palette"),Ia=xa.find(".sp-initial"),Ja=xa.find(".sp-cancel"),Ka=xa.find(".sp-clear"),La=xa.find(".sp-choose"),Ma=xa.find(".sp-palette-toggle"),Na=va.is("input"),Oa=Na&&"color"===va.attr("type")&&m(),Pa=Na&&!V,Qa=Pa?a(r).addClass(Y).addClass(U.className).addClass(U.replacerClassName):a([]),Ra=Pa?Qa:va,Sa=Qa.find(".sp-preview-inner"),Ta=U.color||Na&&va.val(),Ua=!1,Va=U.preferredFormat,Wa=!U.showButtons||U.clickoutFiresChange,Xa=!Ta,Ya=U.allowEmpty&&!Oa;n();var Za={show:C,hide:F,toggle:B,reflow:O,option:Q,enable:R,disable:S,offset:T,set:function(a){H(a),N()},get:I,destroy:P,container:xa};return Za.id=o.push(Za)-1,Za}function g(b,c){var d=0,e=b.outerWidth(),f=b.outerHeight(),g=c.outerHeight(),h=b[0].ownerDocument,i=h.documentElement,j=i.clientWidth+a(h).scrollLeft(),k=i.clientHeight+a(h).scrollTop(),l=c.offset();return l.top+=g,l.left-=Math.min(l.left,l.left+e>j&&j>e?Math.abs(l.left+e-j):0),l.top-=Math.min(l.top,l.top+f>k&&k>f?Math.abs(f+g-d):d),l}function h(){}function i(a){a.stopPropagation()}function j(a,b){var c=Array.prototype.slice,d=c.call(arguments,2);return function(){return a.apply(b,d.concat(c.call(arguments)))}}function k(b,c,d,e){function f(a){a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),a.returnValue=!1}function g(a){if(k){if(p&&j.documentMode<9&&!a.button)return i();var d=a.originalEvent&&a.originalEvent.touches&&a.originalEvent.touches[0],e=d&&d.pageX||a.pageX,g=d&&d.pageY||a.pageY,h=Math.max(0,Math.min(e-l.left,n)),q=Math.max(0,Math.min(g-l.top,m));o&&f(a),c.apply(b,[h,q,a])}}function h(c){var e=c.which?3==c.which:2==c.button;e||k||d.apply(b,arguments)!==!1&&(k=!0,m=a(b).height(),n=a(b).width(),l=a(b).offset(),a(j).bind(q),a(j.body).addClass("sp-dragging"),g(c),f(c))}function i(){k&&(a(j).unbind(q),a(j.body).removeClass("sp-dragging"),setTimeout(function(){e.apply(b,arguments)},0)),k=!1}c=c||function(){},d=d||function(){},e=e||function(){};var j=document,k=!1,l={},m=0,n=0,o="ontouchstart"in window,q={};q.selectstart=f,q.dragstart=f,q["touchmove mousemove"]=g,q["touchend mouseup"]=i,a(b).bind("touchstart mousedown",h)}function l(a,b,c){var d;return function(){var e=this,f=arguments,g=function(){d=null,a.apply(e,f)};c&&clearTimeout(d),(c||!d)&&(d=setTimeout(g,b))}}function m(){return a.fn.spectrum.inputTypeColorSupport()}var n={beforeShow:h,move:h,change:h,show:h,hide:h,color:!1,flat:!1,showInput:!1,allowEmpty:!1,showButtons:!0,clickoutFiresChange:!0,showInitial:!1,showPalette:!1,showPaletteOnly:!1,hideAfterPaletteSelect:!1,togglePaletteOnly:!1,showSelectionPalette:!0,localStorageKey:!1,appendTo:"body",maxSelectionSize:7,cancelText:"cancel",chooseText:"choose",togglePaletteMoreText:"more",togglePaletteLessText:"less",clearText:"Clear Color Selection",noColorSelectedText:"No Color Selected",preferredFormat:!1,className:"",containerClassName:"",replacerClassName:"",showAlpha:!1,theme:"sp-light",palette:[["#ffffff","#000000","#ff0000","#ff8000","#ffff00","#008000","#0000ff","#4b0082","#9400d3"]],selectionPalette:[],disabled:!1,offset:null},o=[],p=!!/msie/i.exec(window.navigator.userAgent),q=function(){function a(a,b){return!!~(""+a).indexOf(b)}var b=document.createElement("div"),c=b.style;return c.cssText="background-color:rgba(0,0,0,.5)",a(c.backgroundColor,"rgba")||a(c.backgroundColor,"hsla")}(),r=["
","
","
▼
","
"].join(""),s=function(){var a="";if(p)for(var b=1;6>=b;b++)a+="
";return["
","
","
","
","","
","
","
","
","
","
","
","
","
","
","
","
","
","
","
","
","
",a,"
","
","
","
","
","","
","
","
","","","
","
","
"].join("")}(),t="spectrum.id";a.fn.spectrum=function(b,c){if("string"==typeof b){var d=this,e=Array.prototype.slice.call(arguments,1);return this.each(function(){var c=o[a(this).data(t)];if(c){var f=c[b];if(!f)throw new Error("Spectrum: no such method: '"+b+"'");"get"==b?d=c.get():"container"==b?d=c.container:"option"==b?d=c.option.apply(c,e):"destroy"==b?(c.destroy(),a(this).removeData(t)):f.apply(c,e)}}),d}return this.spectrum("destroy").each(function(){var c=a.extend({},b,a(this).data()),d=f(this,c);a(this).data(t,d.id)})},a.fn.spectrum.load=!0,a.fn.spectrum.loadOpts={},a.fn.spectrum.draggable=k,a.fn.spectrum.defaults=n,a.fn.spectrum.inputTypeColorSupport=function u(){if("undefined"==typeof u._cachedResult){var b=a("")[0];u._cachedResult="color"===b.type&&""!==b.value}return u._cachedResult},a.spectrum={},a.spectrum.localization={},a.spectrum.palettes={},a.fn.spectrum.processNativeColorInputs=function(){var b=a("input[type=color]");b.length&&!m()&&b.spectrum({preferredFormat:"hex6"})},function(){function a(a){var c={r:0,g:0,b:0},e=1,g=!1,h=!1;return"string"==typeof a&&(a=G(a)),"object"==typeof a&&(a.hasOwnProperty("r")&&a.hasOwnProperty("g")&&a.hasOwnProperty("b")?(c=b(a.r,a.g,a.b),g=!0,h="%"===String(a.r).substr(-1)?"prgb":"rgb"):a.hasOwnProperty("h")&&a.hasOwnProperty("s")&&a.hasOwnProperty("v")?(a.s=D(a.s),a.v=D(a.v),c=f(a.h,a.s,a.v),g=!0,h="hsv"):a.hasOwnProperty("h")&&a.hasOwnProperty("s")&&a.hasOwnProperty("l")&&(a.s=D(a.s),a.l=D(a.l),c=d(a.h,a.s,a.l),g=!0,h="hsl"),a.hasOwnProperty("a")&&(e=a.a)),e=w(e),{ok:g,format:a.format||h,r:M(255,N(c.r,0)),g:M(255,N(c.g,0)),b:M(255,N(c.b,0)),a:e}}function b(a,b,c){return{r:255*x(a,255),g:255*x(b,255),b:255*x(c,255)}}function c(a,b,c){a=x(a,255), -b=x(b,255),c=x(c,255);var d,e,f=N(a,b,c),g=M(a,b,c),h=(f+g)/2;if(f==g)d=e=0;else{var i=f-g;switch(e=h>.5?i/(2-f-g):i/(f+g),f){case a:d=(b-c)/i+(c>b?6:0);break;case b:d=(c-a)/i+2;break;case c:d=(a-b)/i+4}d/=6}return{h:d,s:e,l:h}}function d(a,b,c){function d(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a}var e,f,g;if(a=x(a,360),b=x(b,100),c=x(c,100),0===b)e=f=g=c;else{var h=.5>c?c*(1+b):c+b-c*b,i=2*c-h;e=d(i,h,a+1/3),f=d(i,h,a),g=d(i,h,a-1/3)}return{r:255*e,g:255*f,b:255*g}}function e(a,b,c){a=x(a,255),b=x(b,255),c=x(c,255);var d,e,f=N(a,b,c),g=M(a,b,c),h=f,i=f-g;if(e=0===f?0:i/f,f==g)d=0;else{switch(f){case a:d=(b-c)/i+(c>b?6:0);break;case b:d=(c-a)/i+2;break;case c:d=(a-b)/i+4}d/=6}return{h:d,s:e,v:h}}function f(a,b,c){a=6*x(a,360),b=x(b,100),c=x(c,100);var d=K.floor(a),e=a-d,f=c*(1-b),g=c*(1-e*b),h=c*(1-(1-e)*b),i=d%6,j=[c,g,f,f,h,c][i],k=[h,c,c,g,f,f][i],l=[f,f,h,c,c,g][i];return{r:255*j,g:255*k,b:255*l}}function g(a,b,c,d){var e=[C(L(a).toString(16)),C(L(b).toString(16)),C(L(c).toString(16))];return d&&e[0].charAt(0)==e[0].charAt(1)&&e[1].charAt(0)==e[1].charAt(1)&&e[2].charAt(0)==e[2].charAt(1)?e[0].charAt(0)+e[1].charAt(0)+e[2].charAt(0):e.join("")}function h(a,b,c,d){var e=[C(E(d)),C(L(a).toString(16)),C(L(b).toString(16)),C(L(c).toString(16))];return e.join("")}function i(a,b){b=0===b?0:b||10;var c=P(a).toHsl();return c.s-=b/100,c.s=y(c.s),P(c)}function j(a,b){b=0===b?0:b||10;var c=P(a).toHsl();return c.s+=b/100,c.s=y(c.s),P(c)}function k(a){return P(a).desaturate(100)}function l(a,b){b=0===b?0:b||10;var c=P(a).toHsl();return c.l+=b/100,c.l=y(c.l),P(c)}function m(a,b){b=0===b?0:b||10;var c=P(a).toRgb();return c.r=N(0,M(255,c.r-L(255*-(b/100)))),c.g=N(0,M(255,c.g-L(255*-(b/100)))),c.b=N(0,M(255,c.b-L(255*-(b/100)))),P(c)}function n(a,b){b=0===b?0:b||10;var c=P(a).toHsl();return c.l-=b/100,c.l=y(c.l),P(c)}function o(a,b){var c=P(a).toHsl(),d=(L(c.h)+b)%360;return c.h=0>d?360+d:d,P(c)}function p(a){var b=P(a).toHsl();return b.h=(b.h+180)%360,P(b)}function q(a){var b=P(a).toHsl(),c=b.h;return[P(a),P({h:(c+120)%360,s:b.s,l:b.l}),P({h:(c+240)%360,s:b.s,l:b.l})]}function r(a){var b=P(a).toHsl(),c=b.h;return[P(a),P({h:(c+90)%360,s:b.s,l:b.l}),P({h:(c+180)%360,s:b.s,l:b.l}),P({h:(c+270)%360,s:b.s,l:b.l})]}function s(a){var b=P(a).toHsl(),c=b.h;return[P(a),P({h:(c+72)%360,s:b.s,l:b.l}),P({h:(c+216)%360,s:b.s,l:b.l})]}function t(a,b,c){b=b||6,c=c||30;var d=P(a).toHsl(),e=360/c,f=[P(a)];for(d.h=(d.h-(e*b>>1)+720)%360;--b;)d.h=(d.h+e)%360,f.push(P(d));return f}function u(a,b){b=b||6;for(var c=P(a).toHsv(),d=c.h,e=c.s,f=c.v,g=[],h=1/b;b--;)g.push(P({h:d,s:e,v:f})),f=(f+h)%1;return g}function v(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[a[c]]=c);return b}function w(a){return a=parseFloat(a),(isNaN(a)||0>a||a>1)&&(a=1),a}function x(a,b){A(a)&&(a="100%");var c=B(a);return a=M(b,N(0,parseFloat(a))),c&&(a=parseInt(a*b,10)/100),K.abs(a-b)<1e-6?1:a%b/parseFloat(b)}function y(a){return M(1,N(0,a))}function z(a){return parseInt(a,16)}function A(a){return"string"==typeof a&&-1!=a.indexOf(".")&&1===parseFloat(a)}function B(a){return"string"==typeof a&&-1!=a.indexOf("%")}function C(a){return 1==a.length?"0"+a:""+a}function D(a){return 1>=a&&(a=100*a+"%"),a}function E(a){return Math.round(255*parseFloat(a)).toString(16)}function F(a){return z(a)/255}function G(a){a=a.replace(H,"").replace(I,"").toLowerCase();var b=!1;if(Q[a])a=Q[a],b=!0;else if("transparent"==a)return{r:0,g:0,b:0,a:0,format:"name"};var c;return(c=S.rgb.exec(a))?{r:c[1],g:c[2],b:c[3]}:(c=S.rgba.exec(a))?{r:c[1],g:c[2],b:c[3],a:c[4]}:(c=S.hsl.exec(a))?{h:c[1],s:c[2],l:c[3]}:(c=S.hsla.exec(a))?{h:c[1],s:c[2],l:c[3],a:c[4]}:(c=S.hsv.exec(a))?{h:c[1],s:c[2],v:c[3]}:(c=S.hsva.exec(a))?{h:c[1],s:c[2],v:c[3],a:c[4]}:(c=S.hex8.exec(a))?{a:F(c[1]),r:z(c[2]),g:z(c[3]),b:z(c[4]),format:b?"name":"hex8"}:(c=S.hex6.exec(a))?{r:z(c[1]),g:z(c[2]),b:z(c[3]),format:b?"name":"hex"}:(c=S.hex3.exec(a))?{r:z(c[1]+""+c[1]),g:z(c[2]+""+c[2]),b:z(c[3]+""+c[3]),format:b?"name":"hex"}:!1}var H=/^[\s,#]+/,I=/\s+$/,J=0,K=Math,L=K.round,M=K.min,N=K.max,O=K.random,P=function(b,c){if(b=b?b:"",c=c||{},b instanceof P)return b;if(!(this instanceof P))return new P(b,c);var d=a(b);this._originalInput=b,this._r=d.r,this._g=d.g,this._b=d.b,this._a=d.a,this._roundA=L(100*this._a)/100,this._format=c.format||d.format,this._gradientType=c.gradientType,this._r<1&&(this._r=L(this._r)),this._g<1&&(this._g=L(this._g)),this._b<1&&(this._b=L(this._b)),this._ok=d.ok,this._tc_id=J++};P.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var a=this.toRgb();return(299*a.r+587*a.g+114*a.b)/1e3},setAlpha:function(a){return this._a=w(a),this._roundA=L(100*this._a)/100,this},toHsv:function(){var a=e(this._r,this._g,this._b);return{h:360*a.h,s:a.s,v:a.v,a:this._a}},toHsvString:function(){var a=e(this._r,this._g,this._b),b=L(360*a.h),c=L(100*a.s),d=L(100*a.v);return 1==this._a?"hsv("+b+", "+c+"%, "+d+"%)":"hsva("+b+", "+c+"%, "+d+"%, "+this._roundA+")"},toHsl:function(){var a=c(this._r,this._g,this._b);return{h:360*a.h,s:a.s,l:a.l,a:this._a}},toHslString:function(){var a=c(this._r,this._g,this._b),b=L(360*a.h),d=L(100*a.s),e=L(100*a.l);return 1==this._a?"hsl("+b+", "+d+"%, "+e+"%)":"hsla("+b+", "+d+"%, "+e+"%, "+this._roundA+")"},toHex:function(a){return g(this._r,this._g,this._b,a)},toHexString:function(a){return"#"+this.toHex(a)},toHex8:function(){return h(this._r,this._g,this._b,this._a)},toHex8String:function(){return"#"+this.toHex8()},toRgb:function(){return{r:L(this._r),g:L(this._g),b:L(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+L(this._r)+", "+L(this._g)+", "+L(this._b)+")":"rgba("+L(this._r)+", "+L(this._g)+", "+L(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:L(100*x(this._r,255))+"%",g:L(100*x(this._g,255))+"%",b:L(100*x(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+L(100*x(this._r,255))+"%, "+L(100*x(this._g,255))+"%, "+L(100*x(this._b,255))+"%)":"rgba("+L(100*x(this._r,255))+"%, "+L(100*x(this._g,255))+"%, "+L(100*x(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":this._a<1?!1:R[g(this._r,this._g,this._b,!0)]||!1},toFilter:function(a){var b="#"+h(this._r,this._g,this._b,this._a),c=b,d=this._gradientType?"GradientType = 1, ":"";if(a){var e=P(a);c=e.toHex8String()}return"progid:DXImageTransform.Microsoft.gradient("+d+"startColorstr="+b+",endColorstr="+c+")"},toString:function(a){var b=!!a;a=a||this._format;var c=!1,d=this._a<1&&this._a>=0,e=!b&&d&&("hex"===a||"hex6"===a||"hex3"===a||"name"===a);return e?"name"===a&&0===this._a?this.toName():this.toRgbString():("rgb"===a&&(c=this.toRgbString()),"prgb"===a&&(c=this.toPercentageRgbString()),("hex"===a||"hex6"===a)&&(c=this.toHexString()),"hex3"===a&&(c=this.toHexString(!0)),"hex8"===a&&(c=this.toHex8String()),"name"===a&&(c=this.toName()),"hsl"===a&&(c=this.toHslString()),"hsv"===a&&(c=this.toHsvString()),c||this.toHexString())},_applyModification:function(a,b){var c=a.apply(null,[this].concat([].slice.call(b)));return this._r=c._r,this._g=c._g,this._b=c._b,this.setAlpha(c._a),this},lighten:function(){return this._applyModification(l,arguments)},brighten:function(){return this._applyModification(m,arguments)},darken:function(){return this._applyModification(n,arguments)},desaturate:function(){return this._applyModification(i,arguments)},saturate:function(){return this._applyModification(j,arguments)},greyscale:function(){return this._applyModification(k,arguments)},spin:function(){return this._applyModification(o,arguments)},_applyCombination:function(a,b){return a.apply(null,[this].concat([].slice.call(b)))},analogous:function(){return this._applyCombination(t,arguments)},complement:function(){return this._applyCombination(p,arguments)},monochromatic:function(){return this._applyCombination(u,arguments)},splitcomplement:function(){return this._applyCombination(s,arguments)},triad:function(){return this._applyCombination(q,arguments)},tetrad:function(){return this._applyCombination(r,arguments)}},P.fromRatio=function(a,b){if("object"==typeof a){var c={};for(var d in a)a.hasOwnProperty(d)&&("a"===d?c[d]=a[d]:c[d]=D(a[d]));a=c}return P(a,b)},P.equals=function(a,b){return a&&b?P(a).toRgbString()==P(b).toRgbString():!1},P.random=function(){return P.fromRatio({r:O(),g:O(),b:O()})},P.mix=function(a,b,c){c=0===c?0:c||50;var d,e=P(a).toRgb(),f=P(b).toRgb(),g=c/100,h=2*g-1,i=f.a-e.a;d=h*i==-1?h:(h+i)/(1+h*i),d=(d+1)/2;var j=1-d,k={r:f.r*d+e.r*j,g:f.g*d+e.g*j,b:f.b*d+e.b*j,a:f.a*g+e.a*(1-g)};return P(k)},P.readability=function(a,b){var c=P(a),d=P(b),e=c.toRgb(),f=d.toRgb(),g=c.getBrightness(),h=d.getBrightness(),i=Math.max(e.r,f.r)-Math.min(e.r,f.r)+Math.max(e.g,f.g)-Math.min(e.g,f.g)+Math.max(e.b,f.b)-Math.min(e.b,f.b);return{brightness:Math.abs(g-h),color:i}},P.isReadable=function(a,b){var c=P.readability(a,b);return c.brightness>125&&c.color>500},P.mostReadable=function(a,b){for(var c=null,d=0,e=!1,f=0;f125&&g.color>500,i=3*(g.brightness/125)+g.color/500;(h&&!e||h&&e&&i>d||!h&&!e&&i>d)&&(e=h,d=i,c=P(b[f]))}return c};var Q=P.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},R=P.hexNames=v(Q),S=function(){var a="[-\\+]?\\d+%?",b="[-\\+]?\\d*\\.\\d+%?",c="(?:"+b+")|(?:"+a+")",d="[\\s|\\(]+("+c+")[,|\\s]+("+c+")[,|\\s]+("+c+")\\s*\\)?",e="[\\s|\\(]+("+c+")[,|\\s]+("+c+")[,|\\s]+("+c+")[,|\\s]+("+c+")\\s*\\)?";return{rgb:new RegExp("rgb"+d),rgba:new RegExp("rgba"+e),hsl:new RegExp("hsl"+d),hsla:new RegExp("hsla"+e),hsv:new RegExp("hsv"+d),hsva:new RegExp("hsva"+e),hex3:/^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex8:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();window.tinycolor=P}(),a(function(){a.fn.spectrum.load&&a.fn.spectrum.processNativeColorInputs()})}),c("text!StyleManager/templates/propertyColor.html",[],function(){return'
\n input-holder\'>\n
\n
\n
\n
\n
'}),c("StyleManager/view/PropertyColorView",["backbone","./PropertyView","Spectrum","text!./../templates/propertyColor.html"],function(a,b,c,d){return b.extend({template:_.template(d),renderInput:function(){if(this.$input||(this.$input=$("",{placeholder:this.defaultValue,type:"text"}),this.$el.find("#"+this.pfx+"input-holder").html(this.$input)),!this.$colorPicker){this.$colorPicker=$("
",{"class":this.pfx+"color-picker"}),cpStyle=this.$colorPicker.get(0).style;var a=this,b=this.target.config?this.target.config.el:"";this.$colorPicker.spectrum({appendTo:b||"body",showPalette:!0,maxSelectionSize:8,palette:[],showAlpha:!0,chooseText:"Ok",cancelText:"⨯",move:function(a){var b=1==a.getAlpha()?a.toHexString():a.toRgbString();cpStyle.backgroundColor=b},change:function(b){var c=1==b.getAlpha()?b.toHexString():b.toRgbString();c=c.replace(/ /g,""),cpStyle.backgroundColor=c,a.model.set("value",c)}}),this.$el.find("."+this.pfx+"colorp-c").append(this.$colorPicker)}this.setValue(this.componentValue,0)},setValue:function(a,c){b.prototype.setValue.apply(this,arguments);var d=this.model.get("value")||this.defaultValue;d=a||d,this.$colorPicker&&(d="none"===d?"#fff":d,this.$colorPicker.spectrum("set",d),this.$colorPicker.get(0).style.backgroundColor=d)}})}),c("text!StyleManager/templates/propertyFile.html",[],function(){return'
\n
input-holder\'>\n
\n \n
\n
\n
\n
\n
\n
⨯
\n
\n
\n
'}),c("StyleManager/view/PropertyFileView",["backbone","./PropertyView","text!./../templates/propertyFile.html"],function(a,b,c){return b.extend({template:_.template(c),initialize:function(a){b.prototype.initialize.apply(this,arguments),this.assets=this.target.get("assets"),this.modal=this.target.get("Modal"),this.am=this.target.get("AssetManager"),this.className=this.className+" "+this.pfx+"file",this.events["click #"+this.pfx+"close"]="removeFile",this.events["click #"+this.pfx+"images"]="openAssetManager",this.delegateEvents()},renderInput:function(){this.$input||(this.$input=$("",{placeholder:this.defaultValue,type:"text"})),this.$preview||(this.$preview=this.$el.find("#"+this.pfx+"preview-file")),this.$previewBox||(this.$previewBox=this.$el.find("#"+this.pfx+"preview-box")),this.componentValue&&this.componentValue!=this.defaultValue?this.setPreviewView(1):this.setPreviewView(0),this.setValue(this.componentValue,0)},setPreviewView:function(a){this.$previewBox&&(a?this.$previewBox.addClass(this.pfx+"show"):this.$previewBox.removeClass(this.pfx+"show"))},spreadUrl:function(a){this.setValue('url("'+a+'")'),this.setPreviewView(1)},setPreview:function(a){this.$preview&&this.$preview.css("background-image",a)},setValue:function(a,c){b.prototype.setValue.apply(this,arguments),this.setPreview(a)},renderTemplate:function(){this.$el.append(this.template({upload:"Upload",assets:"Images",pfx:this.pfx}))},cleanValue:function(){this.setPreviewView(0),this.model.set({value:""},{silent:!0})},removeFile:function(){this.model.set("value",this.defaultValue),b.prototype.cleanValue.apply(this,arguments),this.setPreviewView(0)},openAssetManager:function(a){var b=this;this.modal&&this.am&&(this.modal.setTitle("Select image"),this.modal.setContent(this.am.render()),this.am.setTarget(null),this.modal.open(),this.am.onSelect(function(c){b.modal.close(),b.spreadUrl(c.get("src")),b.valueChanged(a)}))}})}),c("text!StyleManager/templates/propertyComposite.html",[],function(){return'
\n input-holder\'>\n
\n
'}),c("StyleManager/view/PropertyCompositeView",["backbone","./PropertyView","text!./../templates/propertyComposite.html","require"],function(a,b,c,d){return b.extend({template:_.template(c),initialize:function(a){b.prototype.initialize.apply(this,arguments),_.bindAll(this,"build"),this.config=a.config||{},this.className=this.className+" "+this.pfx+"composite"},valueUpdated:function(){this.model.get("detached")||b.prototype.valueUpdated.apply(this,arguments)},renderInput:function(){var a=this.model.get("properties");this.model.get("detached");if(a&&a.length){if(this.$input||(this.$input=$("",{value:0,type:"hidden"})),!this.props){var b=d("./../model/Properties");this.props=new b(a),this.model.set("properties",this.props)}if(!this.$props){this.props.each(function(a,b){a&&"composite"==a.get("type")&&(this.props.remove(a),console.warn("Nested composite types not yet allowed."))},this);var c=d("./PropertiesView"),e=new c(this.getPropsConfig());this.$props=e.render().$el,this.$el.find("#"+this.pfx+"input-holder").html(this.$props)}}},getPropsConfig:function(a){var b=this;return result={config:this.config,collection:this.props,target:this.target,propTarget:this.propTarget,onChange:function(a,c,d){var e=b.build();b.model.set("value",e,d)},customValue:function(a,c){return b.valueOnIndex(c,a)}},this.model.get("detached")&&delete result.onChange,result},getDefaultValue:function(){var a="";return this.props.each(function(b,c){a+=b.get("defaults")+b.get("unit")+" "}),a.replace(/ +$/,"")},valueOnIndex:function(a,b){var c=null,d=this.getComponentValue().split(" ");if(d.length&&d[a]&&(c=d[a],b&&b.model&&b.model.get("functionName"))){var e=this.fetchFromFunction(c);e&&(c=e)}return c},build:function(a,b,c){var d="";return this.model.get("properties").each(function(a){var b=a.getValue();func=a.get("functionName"),func&&(b=func+"("+b+")"),d+=b+" "}),d.replace(/ +$/,"")}})}),c("text!StyleManager/templates/propertyStack.html",[],function(){return"
field <%= pfx %>stack\">\n \n \n
\n
"}),c("text!StyleManager/templates/layer.html",[],function(){return'
\n \n
\n
<%= label %>
\n
\n
\n
\n
⨯
\n
\n
'}),c("StyleManager/view/LayerView",["backbone","text!./../templates/layer.html"],function(a,b){return a.View.extend({events:{click:"updateIndex"},template:_.template(b),initialize:function(a){this.stackModel=a.stackModel||{},this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.className=this.pfx+"layer",this.sorter=a.sorter||null,this.listenTo(this.model,"destroy remove",this.remove),this.listenTo(this.model,"change:value",this.valueChanged),this.listenTo(this.model,"change:props",this.showProps),this.events["click #"+this.pfx+"close-layer"]="remove",this.events["mousedown > #"+this.pfx+"move"]="initSorter",this.model.get("preview")||this.$el.addClass(this.pfx+"no-preview"),this.$el.data("model",this.model),this.delegateEvents()},initSorter:function(a){this.sorter&&this.sorter.startSort(this.el)},getProps:function(){return this.stackModel.get?this.stackModel.get("properties"):null},valueChanged:function(){var a=this.model.get("preview");if(a){this.$preview||(this.$preview=this.$el.find("#"+this.pfx+"preview"));"function"==typeof a?a(this.getProps(),this.$preview):this.onPreview(this.getProps(),this.$preview)}},onPreview:function(a,b){var c=this.model.get("value").split(" "),d=3,e="";if(a.each(function(a,b){var f=c[b]||"";if(f&&"integer"==a.get("type")){var g=parseInt(f,10),h=f.replace(g,"");g=isNaN(g)?0:g,g>d&&(g=d),-d>g&&(g=-d),f=g+h}e+=f+" "}),this.stackModel.get){var f=this.stackModel.get("property");f&&(this.$preview.get(0).style[f]=e)}},showProps:function(){this.$props=this.model.get("props"),this.$el.find("#"+this.pfx+"inputs").html(this.$props.show()),this.model.set({props:null},{silent:!0})},remove:function(b){this.$props&&this.$props.detach(),b&&b.stopPropagation&&b.stopPropagation(),a.View.prototype.remove.apply(this,arguments),this.model.collection.contains(this.model)&&this.model.collection.remove(this.model),this.stackModel&&this.stackModel.set&&(this.stackModel.set({stackIndex:null},{silent:!0}),this.stackModel.trigger("updateValue"))},updateIndex:function(a){var b=this.getIndex();this.stackModel.set("stackIndex",b),this.model.collection&&this.model.collection.trigger("deselectAll"),this.$el.addClass(this.pfx+"active")},getIndex:function(){var a=0;return this.model.collection&&(a=this.model.collection.indexOf(this.model)),a},render:function(){return this.$el.html(this.template({label:"Layer "+this.model.get("index"),pfx:this.pfx})),this.$el.attr("class",this.className),this.valueChanged(),this}})}),c("StyleManager/view/LayersView",["backbone","./LayerView"],function(a,b){return a.View.extend({initialize:function(a){this.config=a.config||{},this.stackModel=a.stackModel,this.preview=a.preview,this.pfx=this.config.stylePrefix||"",this.className=this.pfx+"layers",this.listenTo(this.collection,"add",this.addTo),this.listenTo(this.collection,"deselectAll",this.deselectAll),this.listenTo(this.collection,"reset",this.render);var b=this.config.em||"",c=b?b.get("Utils"):"";this.sorter=c?new c.Sorter({container:this.el,containerSel:"."+this.pfx+"layers",itemSel:"."+this.pfx+"layer",pfx:this.config.pStylePrefix}):"",this.$el.data("collection",this.collection)},addTo:function(a){var b=this.collection.indexOf(a);this.addToCollection(a,null,b)},addToCollection:function(a,c,d){var e=c||null,f=b;"undefined"!=typeof this.preview&&a.set("preview",this.preview);var g=new f({model:a,stackModel:this.stackModel,config:this.config,sorter:this.sorter}),h=g.render().el;if(e)e.appendChild(h);else if("undefined"!=typeof d){var i="before";this.$el.children().length==d&&(d--,i="after"),0>d?this.$el.append(h):this.$el.children().eq(d)[i](h)}else this.$el.append(h);return h},deselectAll:function(){this.$el.find("."+this.pfx+"layer").removeClass(this.pfx+"active")},render:function(){var a=document.createDocumentFragment();return this.$el.empty(),this.collection.each(function(b){this.addToCollection(b,a)},this),this.$el.append(a),this.$el.attr("class",this.className),this.sorter&&(this.sorter.plh=null),this}})}),c("StyleManager/view/PropertyStackView",["backbone","./PropertyCompositeView","text!./../templates/propertyStack.html","./../model/Layers","./LayersView"],function(a,b,c,d,e){return b.extend({template:_.template(c),initialize:function(a){b.prototype.initialize.apply(this,arguments),this.model.set("stackIndex",null),this.className=this.pfx+"property "+this.pfx+"stack",this.events["click #"+this.pfx+"add"]="addLayer",this.listenTo(this.model,"change:stackIndex",this.indexChanged),this.listenTo(this.model,"updateValue",this.valueUpdated),this.delegateEvents()},targetUpdated:function(){this.model.get("detached")?this.refreshLayers():b.prototype.targetUpdated.apply(this,arguments)},getLayers:function(){return this.model.get("layers")},indexChanged:function(a){var b=this.getLayers().at(this.model.get("stackIndex"));b.set("props",this.$props),this.model.get("properties").each(function(a){a.trigger("targetUpdated")})},getStackValues:function(){return this.getLayers().pluck("value")},getPropsConfig:function(a){var c=this,d=b.prototype.getPropsConfig.apply(this,arguments);return d.onChange=function(a,b,d){var e=b.model,f=c.build();if(c.model.get("detached")){var g="";e.collection.indexOf(e);c.getLayers().each(function(a){var b=a.get("values")[e.get("property")];b&&(g+=(g?",":"")+b)}),b.updateTargetStyle(g,null,d)}else c.model.set("value",f,d)},d},valueOnIndex:function(a,b){var c=null;if(this.model.get("detached")){var d=b.componentValue.split(",");c=d[this.model.get("stackIndex")],c=c?c.trim():c}else{var e=this.getStackValues(),f=e[this.model.get("stackIndex")];if(!f)return;var g=f.split(" ");g.length&&g[a]&&(c=g[a])}return c},build:function(){var a=this.model.get("stackIndex");if(null!==a){var c=b.prototype.build.apply(this,arguments),d=this.getLayers().at(a);if(d){var e={};return this.model.get("properties").each(function(a){var b=a.getValue(),c=a.get("functionName");c&&(b=c+"("+b+")"),e[a.get("property")]=b}),d.set("values",e),d.set("value",c),this.createValue()}}},addLayer:function(a){if(this.getTarget()){var b=this.getLayers(),c=b.add({name:"test"}),d=b.indexOf(c);return c.set("value",this.getDefaultValue()),this.valueUpdated(),this.model.set("stackIndex",d),c}},valueUpdated:function(){this.model.get("detached")?this.model.get("properties").each(function(a){a.trigger("change:value")}):this.model.set("value",this.createValue())},createValue:function(){return this.getStackValues().join(", ")},renderLayers:function(){return this.$field||(this.$field=this.$el.find("> ."+this.pfx+"field")),this.$layers||(this.$layers=new e({collection:this.getLayers(),stackModel:this.model,preview:this.model.get("preview"),config:this.config})),this.$field.append(this.$layers.render().el),this.$props.hide(),this},renderInput:function(){b.prototype.renderInput.apply(this,arguments),this.refreshLayers()},getLayersFromTarget:function(){var a=[],b=this.getTarget();if(!b)return a;var c=b.get("style");return this.model.get("properties").each(function(b){var d=c[b.get("property")];if(d)for(var e=d.split(","),f=0,g=e.length;g>f;f++){var h=e[f].trim();if(a[f])a[f][b.get("property")]=h;else{var i={};i[b.get("property")]=h,a[f]=i}}}),a},refreshLayers:function(){var a=[],b=[],c="value";if(this.model.get("detached"))c="values",b=this.getLayersFromTarget();else{var d=this.getComponentValue();d&&(d.replace(/\(([\w\s,.]*)\)/g,function(a){var b=a.replace(/,\s*/g,",");d=d.replace(a,b)}),b=d.split(", "))}_.each(b,function(b){var d={};d[c]=b,a.push(d)},this),this.$props.detach();var e=this.getLayers();e.reset(),e.add(a),this.model.get("detached")||this.valueUpdated(),this.model.set({stackIndex:null},{silent:!0})},render:function(){return this.renderLabel(),this.renderField(),this.renderLayers(),this.$el.attr("class",this.className),this}})}),c("StyleManager/view/PropertiesView",["backbone","./PropertyView","./PropertyIntegerView","./PropertyRadioView","./PropertySelectView","./PropertyColorView","./PropertyFileView","./PropertyCompositeView","./PropertyStackView"],function(a,b,c,d,e,f,g,h,i){return a.View.extend({initialize:function(a){this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.target=a.target||{},this.propTarget=a.propTarget||{},this.onChange=a.onChange||{},this.onInputRender=a.onInputRender||{},this.customValue=a.customValue||{}},render:function(){var a=document.createDocumentFragment();return this.collection.each(function(j){var k=b;switch(j.get("type")){case"integer":k=c;break;case"radio":k=d;break;case"select":k=e;break;case"color":k=f;break;case"file":k=g;break;case"composite":k=h;break;case"stack":k=i}var l=new k({model:j,name:j.get("name"),id:this.pfx+j.get("property"),target:this.target,propTarget:this.propTarget,onChange:this.onChange,onInputRender:this.onInputRender,config:this.config});"composite"!=j.get("type")&&(l.customValue=this.customValue),a.appendChild(l.render().el)},this),this.$el.append(a),this.$el.append($("
",{"class":"clear"})),this.$el.attr("class",this.pfx+"properties"),this}})}),c("text!StyleManager/templates/sector.html",[],function(){return'
\n \n <%= label %>\n
'}),c("StyleManager/view/SectorView",["backbone","./PropertiesView","text!./../templates/sector.html"],function(a,b,c){return a.View.extend({template:_.template(c),events:{},initialize:function(a){this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.target=a.target||{},this.propTarget=a.propTarget||{},this.open=this.model.get("open"),this.caretR="fa-caret-right",this.caretD="fa-caret-down",this.listenTo(this.model,"change:open",this.updateOpen),this.events["click ."+this.pfx+"title"]="toggle",this.delegateEvents()},updateOpen:function(){this.model.get("open")?this.show():this.hide()},show:function(){this.$el.addClass(this.pfx+"open"),this.$el.find("."+this.pfx+"properties").show(),this.$caret.removeClass(this.caretR).addClass(this.caretD)},hide:function(){this.$el.removeClass(this.pfx+"open"),this.$el.find("."+this.pfx+"properties").hide(),this.$caret.removeClass(this.caretD).addClass(this.caretR)},toggle:function(){var a=this.model.get("open")?0:1;this.model.set("open",a)},render:function(){return this.$el.html(this.template({pfx:this.pfx,label:this.model.get("name")})),this.$caret=this.$el.find("#"+this.pfx+"caret"),this.renderProperties(),this.$el.attr("class",this.pfx+"sector no-select"),this.updateOpen(),this},renderProperties:function(){var a=this.model.get("properties");if(a){var c=new b({collection:a,target:this.target,propTarget:this.propTarget,config:this.config});this.$el.append(c.render().el)}}})}),c("StyleManager/view/SectorsView",["backbone","./SectorView"],function(a,b){return a.View.extend({initialize:function(b){this.config=b.config||{},this.pfx=this.config.stylePrefix||"",this.target=b.target||{},this.propTarget={},_.extend(this.propTarget,a.Events),this.listenTo(this.collection,"add",this.addTo),this.listenTo(this.collection,"reset",this.render),this.listenTo(this.target,"change:selectedComponent targetClassAdded targetClassRemoved targetClassUpdated targetStateUpdated change:device",this.targetUpdated)},addTo:function(a){this.addToCollection(a)},targetUpdated:function(){var a=this.target.get("selectedComponent");if(a){var b=a.get("classes"),c=a.get("state"),d=this.propTarget,e=this.target.getDeviceModel(),f=e?e.get("width"):"";if(d.helper=null,b.length){var g=this.target.get("CssComposer"),h=_.filter(b.models,function(a){return a.get("active")}),i=g.get(h,c,f);if(i?1==b.length&&a.set("style",{}):(i=g.add(h,c,f),i.set("style",a.get("style")),a.set("style",{})),c){var j=this.target.get("SelectorManager"),k=j.add("hc-state"),l=g.get([k]);l?(g.getAll().remove(l),g.getAll().add(l)):l=g.add([k]),l.set("style",i.get("style")),d.helper=l}return d.model=i,void d.trigger("update")}d.model=a,d.trigger("update")}},addToCollection:function(a,c){var d=c||null,e=b,f=new e({model:a,id:this.pfx+a.get("name").replace(" ","_").toLowerCase(),name:a.get("name"),properties:a.get("properties"),target:this.target,propTarget:this.propTarget,config:this.config}),g=f.render().el;return d?d.appendChild(g):this.$el.append(g),g},render:function(){var a=document.createDocumentFragment();return this.$el.empty(),this.collection.each(function(b){this.addToCollection(b,a)},this),this.$el.attr("id",this.pfx+"sectors"),this.$el.append(a),this}})}),c("StyleManager/main",["require","./config/config","./model/Sectors","./view/SectorsView"],function(a){ -return function(){var b,c,d={},e=a("./config/config"),f=a("./model/Sectors"),g=a("./view/SectorsView");return{name:"StyleManager",init:function(a){d=a||{};for(var h in e)h in d||(d[h]=e[h]);var i=d.pStylePrefix;return i&&(d.stylePrefix=i+d.stylePrefix),b=new f(d.sectors),c=new g({collection:b,target:d.em,config:d}),this},addSector:function(a,c){var d=this.getSector(a);return d||(c.id=a,d=b.add(c)),d},getSector:function(a){var c=b.where({id:a});return c.length?c[0]:null},getSectors:function(){return b},addProperty:function(a,b){var c=null,d=this.getSector(a);return d&&(c=d.get("properties").add(b)),c},getProperty:function(a,b){var c=null,d=this.getSector(a);return d&&(c=d.get("properties").where({property:b}),c=1==c.length?c[0]:c),c},getProperties:function(a){var b=null,c=this.getSector(a);return c&&(b=c.get("properties")),b},render:function(){return c.render().el}}}}),c("StyleManager",["StyleManager/main"],function(a){return a}),c("AssetManager/model/Asset",["backbone"],function(a){return a.Model.extend({idAttribute:"src",defaults:{type:"",src:""},getFilename:function(){return this.get("src").split("/").pop()},getExtension:function(){return this.getFilename().split(".").pop()}})}),c("AssetManager/model/AssetImage",["backbone","./Asset"],function(a,b){return b.extend({defaults:_.extend({},b.prototype.defaults,{type:"image",unitDim:"px",height:0,width:0})})}),c("AssetManager/model/Assets",["backbone","./Asset","./AssetImage"],function(a,b,c){return a.Collection.extend({model:c,initialize:function(a,b){this.model=function(a,b){var d;switch(a.type){default:d=new c(a,b)}return d}},addImg:function(a,b){return this.add({type:"image",src:a},b),this},add:function(b,c){var d=[];b=b instanceof Array?b:[b];for(var e=0,f=b.length;f>e;e++){var g=b[e];if("string"==typeof g&&(g={src:g,type:"image"}),g&&g.src){var h=this.where({src:g.src});h.length||d.push(g)}}return 1==d.length&&(d=d[0]),a.Collection.prototype.add.apply(this,[d,c])}})}),c("AssetManager/view/AssetView",["backbone"],function(a){return a.View.extend({initialize:function(a){this.options=a,this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.ppfx=this.config.pStylePrefix||"",this.className=this.pfx+"asset",this.listenTo(this.model,"destroy remove",this.remove)}})}),c("text!AssetManager/template/assetImage.html",[],function(){return'
\n
\n
\n
\n
\n
<%= name %>
\n
<%= dim %>
\n
\n
⨯
\n
'}),c("AssetManager/view/AssetImageView",["./AssetView","text!./../template/assetImage.html"],function(a,b){return a.extend({events:{click:"selected",dblclick:"chosen"},template:_.template(b),initialize:function(b){a.prototype.initialize.apply(this,arguments),this.className+=" "+this.pfx+"asset-image",this.events["click #"+this.pfx+"close"]="removeItem",this.delegateEvents()},selected:function(){this.model.collection.trigger("deselectAll"),this.$el.addClass(this.pfx+"highlight"),this.updateTarget(this.model.get("src"))},chosen:function(){this.updateTarget(this.model.get("src"));var a=this.model.collection.onSelect;a&&"function"==typeof a&&a(this.model)},updateTarget:function(a){var b=this.model.collection.target;if(b&&b.set){var c=_.clone(b.get("attributes"));b.set("attributes",c),b.set("src",a)}},removeItem:function(a){a.stopPropagation(),this.model.collection.remove(this.model)},render:function(){var a=this.model.get("name"),b=this.model.get("width")&&this.model.get("height")?this.model.get("width")+" x "+this.model.get("height"):"";return a=a?a:this.model.get("src").split("/").pop(),a=a&&a.length>30?a.substring(0,30)+"...":a,b=b?b+(this.model.get("unitDim")?this.model.get("unitDim"):" px"):"",this.$el.html(this.template({name:a,src:this.model.get("src"),dim:b,pfx:this.pfx,ppfx:this.ppfx})),this.$el.attr("class",this.className),this}})}),c("text!AssetManager/template/fileUploader.html",[],function(){return'
\n
<%= title %>
\n multiple/>\n
\n
'}),c("AssetManager/view/FileUploader",["backbone","text!./../template/fileUploader.html"],function(a,b){return a.View.extend({template:_.template(b),events:{},initialize:function(a){this.options=a||{},this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.target=this.collection||{},this.uploadId=this.pfx+"uploadFile",this.disabled=!this.config.upload,this.events["change #"+this.uploadId]="uploadFile",this.delegateEvents()},uploadFile:function(a){for(var b=a.dataTransfer?a.dataTransfer.files:a.target.files,c=new FormData,d=0;d\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
'}),c("AssetManager/view/AssetsView",["backbone","./AssetView","./AssetImageView","./FileUploader","text!./../template/assets.html"],function(a,b,c,d,e){return a.View.extend({template:_.template(e),initialize:function(a){this.options=a,this.config=a.config,this.pfx=this.config.stylePrefix||"",this.ppfx=this.config.pStylePrefix||"",this.listenTo(this.collection,"add",this.addToAsset),this.listenTo(this.collection,"deselectAll",this.deselectAll),this.className=this.pfx+"assets",this.events={},this.events.submit="addFromStr",this.delegateEvents()},addFromStr:function(a){a.preventDefault();var b=this.getInputUrl(),c=b.value.trim();return c?(this.collection.addImg(c,{at:0}),this.getAssetsEl().scrollTop=0,b.value="",this):void 0},getAssetsEl:function(){return this.assets=this.el.querySelector("."+this.pfx+"assets"),this.assets},getInputUrl:function(){return this.inputUrl&&this.inputUrl.value||(this.inputUrl=this.el.querySelector("."+this.pfx+"add-asset input")),this.inputUrl},addToAsset:function(a){this.addAsset(a)},addAsset:function(a,d){var e=d||null,f=b;a.get("type").indexOf("image")>-1&&(f=c);var g=new f({model:a,config:this.config}),h=g.render().el;if(e)e.appendChild(h);else{var i=this.getAssetsEl();i&&i.insertBefore(h,i.firstChild)}return h},deselectAll:function(){this.$el.find("."+this.pfx+"highlight").removeClass(this.pfx+"highlight")},render:function(){var a=document.createDocumentFragment();return this.$el.empty(),this.collection.each(function(b){this.addAsset(b,a)},this),this.$el.html(this.template({pfx:this.pfx,ppfx:this.ppfx})),this.$el.find("."+this.pfx+"assets").append(a),this}})}),c("AssetManager/config/config",[],function(){return{assets:[],stylePrefix:"am-",upload:"http://localhost/assets/upload",uploadText:"Drop files here or click to upload"}}),c("AssetManager/main",["require","./model/Assets","./view/AssetsView","./view/FileUploader","./config/config"],function(a){return function(){var b,c,d,e={},f=a("./model/Assets"),g=a("./view/AssetsView"),h=a("./view/FileUploader");return{name:"AssetManager",storageKey:"assets",init:function(i){e=i||{};var j=a("./config/config");for(var k in j)k in e||(e[k]=j[k]);var l=e.pStylePrefix;l&&(e.stylePrefix=l+e.stylePrefix),b=new f(e.assets);var m={collection:b,config:e};return c=new g(m),d=new h(m),this},add:function(a){return b.add(a)},get:function(a){return b.where({src:a})[0]},getAll:function(){return b},remove:function(a){var b=this.get(a);return this.getAll().remove(b),this},store:function(a){var b={},c=JSON.stringify(this.getAll().toJSON());return b[this.storageKey]=c,!a&&e.stm&&e.stm.store(b),b},load:function(a){var b=a||"",c=this.storageKey;!b&&e.stm&&(b=e.stm.load(c));var d=[];try{d=JSON.parse(b[c])}catch(f){}return this.getAll().add(d),d},render:function(a){return(!this.rendered||a)&&(this.rendered=c.render().$el.add(d.render().$el)),this.rendered},setTarget:function(a){c.collection.target=a},onSelect:function(a){c.collection.onSelect=a}}}}),c("AssetManager",["AssetManager/main"],function(a){return a}),c("CssComposer/config/config",[],function(){return{stylePrefix:"css-",staticRules:"",rules:[]}}),c("CssComposer/model/Selectors",["backbone","require"],function(a,b){return a.Collection.extend({initialize:function(a,c){this.model=function(a,c){var d;return this.ClassTag||(this.ClassTag=b("SelectorManager/model/Selector")),d=new this.ClassTag(a,c)}}})}),c("CssComposer/model/CssRule",["backbone","./Selectors"],function(a,b){return a.Model.extend({defaults:{selectors:{},style:{},maxWidth:"",state:"",stylable:!0},initialize:function(a,c){if(this.config=a||{},this.sm=c?c.sm||{}:{},this.slct=this.config.selectors||[],this.sm.get){for(var d=[],e=0;e=0&&(c.css=d.em.getCss()),e.indexOf("style")>=0&&(c.styles=JSON.stringify(b)),a||d.stm.store(c),c}},add:function(a,c,d){var e=c||"",g=d||"",h=this.get(a,e,g);return h?h:(h=new f({state:e,maxWidth:g}),h.get("selectors").add(a),b.add(h),h)},get:function(a,c,d){var e=null;return b.each(function(b){e||b.compare(a,c,d)&&(e=b)}),e},getAll:function(){return b},render:function(){return c.render().el}}}}),c("CssComposer",["CssComposer/main"],function(a){return a}),c("DomComponents/config/config",[],function(){return{stylePrefix:"comp-",wrapperId:"wrapper",wrapper:{removable:!1,copyable:!1,stylable:["background","background-color","background-image","background-repeat","background-attachment","background-position"],draggable:!1,badgable:!1,components:[]},components:[],rte:{},imageCompClass:"fa fa-picture-o",oAssetsOnCreate:!0,voidElements:["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"]}}),c("DomComponents/model/Components",["backbone","require"],function(a,b){return a.Collection.extend({initialize:function(a,c){this.on("add",this.onAdd),this.config=c&&c.config?c.config:null,c&&c.sm&&(this.editor=c.sm),this.model=function(a,d){var e;switch(!d.sm&&c&&c.sm&&(d.sm=c.sm),c&&c.config&&(d.config=c.config),a.type){case"text":this.mComponentText||(this.mComponentText=b("./ComponentText")),e=new this.mComponentText(a,d);break;case"image":this.mComponentImage||(this.mComponentImage=b("./ComponentImage")),e=new this.mComponentImage(a,d);break;default:this.mComponent||(this.mComponent=b("./Component")),e=new this.mComponent(a,d)}return e}},add:function(b,c){if("string"==typeof b){var d=this.editor.get("Parser").parseHtml(b);b=d.html;var e=this.editor.get("CssComposer");d.css&&e&&e.getAll().add(d.css)}return a.Collection.prototype.add.apply(this,[b,c])},onAdd:function(a,b,c){var d=a.get("style");if(!_.isEmpty(d)&&this.editor){var e=this.editor.get("CssComposer"),f=this.editor.get("SelectorManager").add(a.cid);a.set({style:{}}),a.get("classes").add(f);var g=e.add(f);g.set("style",d)}}})}),c("DomComponents/model/Component",["backbone","./Components","SelectorManager/model/Selectors"],function(a,b,c){return a.Model.extend({defaults:{tagName:"div",type:"",editable:!1,removable:!0,draggable:!0,droppable:!0,badgable:!0,stylable:!0,copyable:!0,"void":!1,state:"",status:"",previousModel:"",content:"",style:{},attributes:{}},initialize:function(a,d){d&&d.config&&d.config.voidElements.indexOf(this.get("tagName"))>=0&&this.set("void",!0),this.sm=d?d.sm||{}:{},this.config=a||{},this.defaultC=this.config.components||[],this.defaultCl=this.normalizeClasses(this.config.classes||[]),this.components=new b(this.defaultC,d),this.set("components",this.components),this.set("classes",new c(this.defaultCl))},normalizeClasses:function(a){var b=[];if(this.sm.get){var c=this.sm.get("SelectorManager");if(c)return a.forEach(function(a){var d="";d="string"==typeof a?a:a.name;var e=c.add(d);b.push(e)}),b}},clone:function(){var a=_.clone(this.attributes),b=this.get("components"),c=this.get("classes");return a.components=[],a.classes=[],b.length&&b.each(function(b,c){a.components[c]=b.clone()}),c.length&&c.each(function(b,c){a.classes[c]=b.get("name")}),a.status="",new this.constructor(a,{sm:this.sm})},getName:function(){if(!this.name){var a=this.cid.replace(/\D/g,""),b=this.get("type"),c=this.get("tagName");c="div"==c?"box":c,c=b?b:c,this.name=c.charAt(0).toUpperCase()+c.slice(1)+" "+a}return this.name}})}),c("DomComponents/model/ComponentText",["./Component"],function(a){return a.extend({defaults:_.extend({},a.prototype.defaults,{content:"",droppable:!1})})}),c("DomComponents/model/ComponentImage",["./Component"],function(a){return a.extend({defaults:_.extend({},a.prototype.defaults,{src:"",droppable:!1})})}),c("DomComponents/view/ComponentsView",["backbone","require"],function(a,b){return a.View.extend({initialize:function(a){this.config=a.config,this.listenTo(this.collection,"add",this.addTo),this.listenTo(this.collection,"reset",this.render)},addTo:function(a){var b=this.collection.indexOf(a);this.addToCollection(a,null,b)},addToCollection:function(a,c,d){this.compView||(this.compView=b("./ComponentView"));var e=c||null,f=this.compView;switch(a.get("type")){case"text":this.compViewText||(this.compViewText=b("./ComponentTextView")),f=this.compViewText;break;case"image":this.compViewImage||(this.compViewImage=b("./ComponentImageView")),f=this.compViewImage}var g=new f({model:a,config:this.config}),h=g.render().el;if(e)e.appendChild(h);else{var i=this.$parent;if("undefined"!=typeof d){var j="before";i.children().length==d&&(d--,j="after"),0>d?i.append(h):i.children().eq(d)[j](h)}else i.append(h)}return h},render:function(a){var b=document.createDocumentFragment();return this.$parent=a||this.$el,this.$el.empty(),this.collection.each(function(a){this.addToCollection(a,b)},this),this.$el.append(b),this}})}),c("DomComponents/view/ComponentView",["backbone","./ComponentsView"],function(a,b){return a.View.extend({className:function(){return this.getClasses()},tagName:function(){return this.model.get("tagName")},initialize:function(a){this.config=a.config||{},this.pfx=this.config.stylePrefix||"",this.ppfx=this.config.pStylePrefix||"",this.components=this.model.get("components"),this.attr=this.model.get("attributes"),this.classe=this.attr["class"]||[],this.listenTo(this.model,"destroy remove",this.remove),this.listenTo(this.model,"change:style",this.updateStyle),this.listenTo(this.model,"change:attributes",this.updateAttributes),this.listenTo(this.model,"change:status",this.updateStatus),this.listenTo(this.model,"change:state",this.updateState),this.listenTo(this.model.get("classes"),"add remove change",this.updateClasses),this.$el.data("model",this.model),this.$el.data("collection",this.components),this.model.get("classes").length&&this.importClasses()},importClasses:function(){var a=this.config.em.get("SelectorManager");a&&this.model.get("classes").each(function(b){a.add(b.get("name"))})},updateState:function(a){var b="hc-state",c=this.model.get("state");c?this.$el.addClass(b):this.$el.removeClass(b)},updateStatus:function(a){var b=this.model.get("status"),c=this.pfx;switch(b){case"selected":this.$el.addClass(c+"selected");break;case"moving":break;default:this.$el.removeClass(c+"selected")}},getClasses:function(){var a=this.model.get("attributes"),b=a["class"]||[];return b.length?b.join(" "):null},updateAttributes:function(){var a={},b=this.model.get("attributes");for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);this.model.get("src")&&(a.src=this.model.get("src"));var d=this.getStyleString();d&&(a.style=d),this.$el.attr(a)},updateStyle:function(){this.$el.attr("style",this.getStyleString())},getStyleString:function(){var a="";this.style=this.model.get("style");for(var b in this.style)this.style.hasOwnProperty(b)&&(a+=b+":"+this.style[b]+";");return a},updateClasses:function(){var a="";this.model.get("classes").each(function(b){a+=b.get("name")+" "}),a=a.trim(),a?this.$el.attr("class",a):this.$el.removeAttr("class"),this.updateStatus()},eventCall:function(a){a.viewResponse=this},render:function(){this.updateAttributes(),this.updateClasses(),this.$el.html(this.model.get("content"));var a=new b({collection:this.components,config:this.config});return this.$el.append(a.render(this.$el).el.childNodes),this}})}),c("DomComponents/view/ComponentImageView",["backbone","./ComponentView"],function(a,b){return b.extend({tagName:"img",events:{dblclick:"openModal"},initialize:function(a){b.prototype.initialize.apply(this,arguments),this.listenTo(this.model,"change:src",this.updateSrc),this.listenTo(this.model,"dblclick active",this.openModal),this.classEmpty=this.ppfx+"plh-image",this.config.modal&&(this.modal=this.config.modal),this.config.am&&(this.am=this.config.am)},updateSrc:function(){var a=this.model.get("src");this.$el.attr("src",a),a?this.$el.removeClass(this.classEmpty):this.$el.addClass(this.classEmpty)},openModal:function(a){var b=this;this.modal&&this.am&&(this.modal.setTitle("Select image"),this.modal.setContent(this.am.render(1)),this.am.setTarget(this.model),this.modal.open(),this.am.onSelect(function(){b.modal.close(),b.am.setTarget(null)}))},render:function(){return this.updateAttributes(),this.updateClasses(),this.model.get("src")||this.$el.attr("class",this.classEmpty),this.$el.attr("onmousedown","return false"),this}})}),c("DomComponents/view/ComponentTextView",["backbone","./ComponentView"],function(a,b){return b.extend({events:{dblclick:"enableEditing"},initialize:function(a){b.prototype.initialize.apply(this,arguments),_.bindAll(this,"disableEditing"),this.listenTo(this.model,"focus active",this.enableEditing),this.rte=this.config.rte||""},enableEditing:function(a){this.rte&&this.rte.attach(this),this.toggleEvents(1)},disableEditing:function(a){this.rte&&this.rte.detach(this),this.toggleEvents(),this.updateContents()},disablePropagation:function(a){a.stopPropagation()},updateContents:function(){this.model.set("content",this.el.innerHTML)},toggleEvents:function(a){var b=a?"on":"off",c=[this.el.ownerDocument,document,this.rte];$(c)[b]("mousedown",this.disableEditing),this.$el[b]("mousedown",this.disablePropagation)},render:function(){return this.updateAttributes(),this.updateClasses(),this.el.innerHTML=this.model.get("content"),this}})}),c("DomComponents/main",["require","./config/config","./model/Component","./model/ComponentText","./model/ComponentImage","./view/ComponentView","./view/ComponentImageView","./view/ComponentTextView"],function(a){return function(){var b,c,d={},e=a("./config/config"),f=a("./model/Component"),g=(a("./model/ComponentText"),a("./model/ComponentImage"),a("./view/ComponentView"));a("./view/ComponentImageView"),a("./view/ComponentTextView");return{name:"DomComponents",storageKey:function(){var a=[],b=d.stm&&d.stm.getConfig()||{};return b.storeHtml&&a.push("html"),b.storeComponents&&a.push("components"),a},init:function(a){d=a||{},d.em&&(d.components=d.em.config.components||d.components);for(var h in e)h in d||(d[h]=e[h]);var i=d.pStylePrefix;return i&&(d.stylePrefix=i+d.stylePrefix),d.em&&(d.rte=d.em.get("rte")||"",d.modal=d.em.get("Modal")||"",d.am=d.em.get("AssetManager")||""),b=new f(d.wrapper,{sm:d.em,config:d}),b.set({attributes:{id:"wrapper"}}),b.get("components").add(d.components),c=new g({model:b,config:d}),this},onLoad:function(){d.stm&&d.stm.getConfig().autoload&&this.load(),d.stm&&d.stm.isAutosave()&&(d.em.initUndoManager(),d.em.initChildrenComp(this.getWrapper()))},load:function(a){var b=a||"";!b&&d.stm&&(b=d.em.getCacheLoad());var c="";if(b.components)try{c=JSON.parse(b.components)}catch(e){}else b.html&&(c=b.html);return c&&this.getComponents().reset(c),c},store:function(a){if(d.stm){var b={},c=this.storageKey();return c.indexOf("html")>=0&&(b.html=d.em.getHtml()),c.indexOf("components")>=0&&(b.components=JSON.stringify(d.em.getComponents())),a||d.stm.store(b),b}},getComponent:function(){return b},getWrapper:function(){return this.getComponent()},getComponents:function(){return this.getWrapper().get("components")},addComponent:function(a){return this.getComponents().add(a)},render:function(){return c.render().el},clear:function(){for(var a=this.getComponents(),b=0,c=a.length;c>b;b++)a.pop();return this},setComponents:function(a){this.clear().addComponent(a)}}}}),c("DomComponents",["DomComponents/main"],function(a){return a}),c("Canvas/config/config",[],function(){return{stylePrefix:"cv-",rulers:!1}}),c("Canvas/model/Frame",["backbone"],function(a){return a.Model.extend({defaults:{wrapper:"",width:"",height:"",attributes:{}}})}),c("Canvas/model/Canvas",["backbone","./Frame"],function(a,b){return a.Model.extend({defaults:{frame:"",wrapper:"",rulers:!1},initialize:function(a){var c=this.conf||{};this.set("frame",new b(c.frame))}})}),c("Canvas/view/FrameView",["backbone"],function(a){return a.View.extend({tagName:"iframe",attributes:{src:"about:blank"},initialize:function(a){_.bindAll(this,"udpateOffset"),this.config=a.config||{},this.ppfx=this.config.pStylePrefix||"",this.em=this.config.em,this.motionsEv="transitionend oTransitionEnd transitionend webkitTransitionEnd",this.listenTo(this.em,"change:device",this.updateWidth)},updateWidth:function(a){var b=this.em.getDeviceModel();this.el.style.width=b?b.get("width"):"",this.udpateOffset(),this.$el.on(this.motionsEv,this.udpateOffset)},udpateOffset:function(){var a=this.em.get("Canvas").getOffset();this.em.set("canvasOffset",a),this.$el.off(this.motionsEv,this.udpateOffset)},getBody:function(){this.$el.contents().find("body")},getWrapper:function(){return this.$el.contents().find("body > div")},render:function(){return this.$el.attr({"class":this.ppfx+"frame"}),this}})}),c("Canvas/view/CanvasView",["backbone","./FrameView"],function(a,b){return a.View.extend({initialize:function(a){_.bindAll(this,"renderBody","onFrameScroll"),this.config=a.config||{},this.em=this.config.em||{},this.ppfx=this.config.pStylePrefix||"",this.className=this.config.stylePrefix+"canvas",this.frame=new b({model:this.model.get("frame"),config:this.config})},onFrameScroll:function(){var a="px",b=this.frame.el.contentDocument.body;this.toolsEl.style.top="-"+b.scrollTop+a,this.toolsEl.style.left="-"+b.scrollLeft+a},renderBody:function(){var a=this.model.get("frame").get("wrapper");if(a){var b=this.frame.$el.contents().find("body"),c=this.config.em.get("CssComposer"),d=this.config.em.get("Config");b.append(a.render()).append(c.render());var e=d.protectedCss,f="."+this.ppfx+"dashed *{outline: 1px dashed rgba(170,170,170,0.7); outline-offset: -2px}."+this.ppfx+"comp-selected{outline: 3px solid #3b97e3 !important}."+this.ppfx+"no-select{user-select: none; -webkit-user-select:none; -moz-user-select: none}."+this.ppfx+"freezed{opacity: 0.5; pointer-events: none}."+this.ppfx+"plh-image{background:#f5f5f5; border:none; height:50px; width:50px; display:block; outline:3px solid #ffca6f; cursor:pointer}";e&&b.append(""),this.config.em.trigger("loaded"),this.frame.el.contentWindow.onscroll=this.onFrameScroll,this.frame.udpateOffset();var g=document,h=this.frame.el.contentDocument;h.addEventListener("keydown",function(a){g.dispatchEvent(new KeyboardEvent(a.type,a))}),h.addEventListener("keyup",function(a){g.dispatchEvent(new KeyboardEvent(a.type,a))})}},offset:function(a){var b=a.getBoundingClientRect(),c=a.ownerDocument.body;return{top:b.top+c.scrollTop,left:b.left+c.scrollLeft}},getElementPos:function(a){this.frmOff||(this.frmOff=this.offset(this.frame.el)),this.cvsOff||(this.cvsOff=this.offset(this.el));var b=this.offset(a),c=b.top+this.frmOff.top-this.cvsOff.top,d=b.left+this.frmOff.left-this.cvsOff.left;return{top:c,left:d,height:a.offsetHeight,width:a.offsetWidth}},render:function(){if(this.wrapper=this.model.get("wrapper"),this.wrapper&&"function"==typeof this.wrapper.render){this.model.get("frame").set("wrapper",this.wrapper),this.$el.append(this.frame.render().el);var a=this.frame;a.el.onload=this.renderBody}this.toolsEl=$("
",{id:this.ppfx+"tools"}).get(0),this.hlEl=$("
",{"class":this.ppfx+"highlighter"}).get(0),this.badgeEl=$("
",{"class":this.ppfx+"badge"}).get(0),this.placerEl=$("
",{"class":this.ppfx+"placeholder"}).get(0),this.placerIntEl=$("
",{"class":this.ppfx+"placeholder-int"}).get(0),this.ghostEl=$("
",{"class":this.ppfx+"ghost"}).get(0),this.placerEl.appendChild(this.placerIntEl),this.toolsEl.appendChild(this.hlEl),this.toolsEl.appendChild(this.badgeEl),this.toolsEl.appendChild(this.placerEl),this.toolsEl.appendChild(this.ghostEl),this.$el.append(this.toolsEl);var b=this.em.get("rte");return b&&this.toolsEl.appendChild(b.render()),this.$el.attr({"class":this.className}),this}})}),c("Canvas/main",["require","./config/config","./model/Canvas","./view/CanvasView"],function(a){return function(){var b,c={},d=a("./config/config"),e=a("./model/Canvas"),f=a("./view/CanvasView");return{getCanvasView:function(){return f},name:"Canvas",init:function(a){c=a||{};for(var g in d)g in c||(c[g]=d[g]);var h=c.pStylePrefix;h&&(c.stylePrefix=h+c.stylePrefix),b=new e(a),f=new f({model:b,config:c});var i=c.em.get("DomComponents");return i&&this.setWrapper(i),this},setWrapper:function(a){b.set("wrapper",a)},getElement:function(){return f.el},getFrameEl:function(){return f.frame.el},getBody:function(){return f.frame.el.contentDocument.body},getWrapperEl:function(){return this.getBody().querySelector("#wrapper")},getToolsEl:function(){return f.toolsEl},getHighlighter:function(){return f.hlEl},getBadgeEl:function(){return f.badgeEl},getPlacerEl:function(){return f.placerEl},getGhostEl:function(){return f.ghostEl},render:function(){return f.render().el},getOffset:function(){var a=this.offset(this.getFrameEl()),b=this.offset(this.getElement());return{top:a.top-b.top,left:a.left-b.left}},offset:function(a){var b=a.getBoundingClientRect();return{top:b.top+document.body.scrollTop,left:b.left+document.body.scrollLeft}},getFrameWrapperEl:function(){return f.frame.getWrapper()}}}}),c("Canvas",["Canvas/main"],function(a){return a}),c("Commands/config/config",[],function(){return{ESCAPE_KEY:27,stylePrefix:"com-",defaults:[],em:null,firstCentered:!0,newFixedH:!1,minComponentH:50,minComponentW:50}}),c("Commands/view/CommandAbstract",["backbone"],function(a){return a.View.extend({initialize:function(a){this.config=a||{},this.editorModel=this.em=this.config.em||{},this.pfx=this.config.stylePrefix,this.ppfx=this.config.pStylePrefix,this.hoverClass=this.pfx+"hover",this.badgeClass=this.pfx+"badge",this.plhClass=this.pfx+"placeholder",this.freezClass=this.ppfx+"freezed",this.canvas=this.em.get&&this.em.get("Canvas"),this.em.get&&this.setElement(this.getCanvas()),this.canvas&&(this.$canvas=this.$el,this.$wrapper=$(this.getCanvasWrapper()),this.frameEl=this.canvas.getFrameEl(),this.canvasTool=this.getCanvasTools(),this.bodyEl=this.getCanvasBody()),this.init(this.config)},onFrameScroll:function(a){},getCanvas:function(){return this.canvas.getElement()},getCanvasBody:function(){return this.canvas.getBody()},getCanvasWrapper:function(){ -return this.canvas.getWrapperEl()},getCanvasTools:function(){return this.canvas.getToolsEl()},offset:function(a){var b=a.getBoundingClientRect();return{top:b.top+a.ownerDocument.body.scrollTop,left:b.left+a.ownerDocument.body.scrollLeft}},init:function(a){},run:function(a,b){},stop:function(a,b){}})}),c("Commands/view/SelectComponent",[],function(){return{init:function(a){_.bindAll(this,"onHover","onOut","onClick","onKeyPress","clearOff")},enable:function(){_.bindAll(this,"copyComp","pasteComp","onFrameScroll"),this.frameOff=this.canvasOff=this.adjScroll=null;var a=this.config.em.get("Config");this.startSelectComponent(),this.toggleClipboard(a.copyPaste)},toggleClipboard:function(a){var b=a||0;b?(key("⌘+c, ctrl+c",this.copyComp),key("⌘+v, ctrl+v",this.pasteComp)):(key.unbind("⌘+c, ctrl+c"),key.unbind("⌘+v, ctrl+v"))},clearOff:function(){this.frameOff=null,this.canvasOff=null},copyComp:function(){var a=this.editorModel.get("selectedComponent");a&&a.get("copyable")&&this.editorModel.set("clipboard",a)},pasteComp:function(){var a=this.editorModel.get("clipboard"),b=this.editorModel.get("selectedComponent");if(a&&b&&b.collection){var c=b.collection.indexOf(b),d=a.clone();b.collection.add(d,{at:c+1})}},startSelectComponent:function(){this.listenTo(this.em,"change:canvasOffset",this.clearOff),this.selEl=$(this.getCanvasBody()).find("*"),this.selEl.on("mouseover",this.onHover).on("mouseout",this.onOut).on("click",this.onClick);var a=this.getContentWindow();a.on("scroll",this.onFrameScroll),a.on("keydown",this.onKeyPress)},stopSelectComponent:function(){this.stopListening(this.em,"change:canvasOffset",this.clearOff),this.selEl&&this.selEl.trigger("mouseout").off("mouseover",this.onHover).off("mouseout",this.onOut).off("click",this.onClick),this.selEl=null;var a=this.getContentWindow();a.off("scroll",this.onFrameScroll),a.off("keydown",this.onKeyPress)},onKeyPress:function(a){var b=a.which||a.keyCode,c=this.editorModel.get("selectedComponent"),d="BODY"!==this.frameEl.contentDocument.activeElement.tagName;if((8==b||46==b)&&(d||a.preventDefault(),c&&!d)){if(!c.get("removable"))return;c.set("status",""),c.destroy(),this.hideBadge(),this.clean(),this.editorModel.set("selectedComponent",null)}},onHover:function(a){a.stopPropagation();var b=a.target;this.adjScroll||(this.adjScroll=1,this.onFrameScroll(a)),this.updateBadge(b),this.updateHighlighter(b)},onOut:function(a){a.stopPropagation(),this.hideBadge(),this.hl&&this.hl.css({left:-1e4,top:-1e4})},onClick:function(a){var b=$(a.target).data("model");if(b){var c=b.get("stylable");(c instanceof Array||c)&&this.onSelect(a,a.target)}},updateHighlighter:function(a){this.hl||(this.hl=$(this.canvas.getHighlighter()));var b=this.getElementPos($(a));this.hl.css({left:b.left,top:b.topP,height:b.height,width:b.width})},onSelect:function(a,b){a.stopPropagation();var c=this.editorModel.get("selectedComponent");this.cleanPrevious(c);var d=$(b),e=d.data("model");if(e){this.editorModel.set("selectedComponent",e),e.set("status","selected");this.getElementPos(d)}},clean:function(){this.selEl&&this.selEl.removeClass(this.hoverClass)},updateBadge:function(a){var b=$(a);this.cacheEl=b;var c=b.data("model");if(c&&c.get("badgable")){var d=this.getBadge();d.innerHTML=c.getName();var e=d.style,f="px";e.display="block";var g=this.getElementPos(b,d);e.left=g.leftP+f,e.top=g.top+f}},getBadge:function(){return this.canvas.getBadgeEl()},onFrameScroll:function(a){this.cacheEl&&this.updateBadge(this.cacheEl)},getElementPos:function(a,b){this.frameOff||(this.frameOff=this.offset(this.canvas.getFrameEl())),this.canvasOff||(this.canvasOff=this.offset(this.canvas.getElement()));var c=a.offset(),d=this.getCanvasBody(),e=b?b:null,f=e?e.offsetHeight:0,g=e?e.offsetWidth:0,h=c.top+this.frameOff.top-this.canvasOff.top,i=c.left+this.frameOff.left-this.canvasOff.left,j=this.frameOff.top+d.scrollTop,k=this.frameOff.left+d.scrollLeft,l=h;h=j>h-f?j:h-f;var m=k>i+g?k-g:i;return{topP:l,leftP:m,top:h,left:i,height:a.outerHeight(),width:a.outerWidth()}},hideBadge:function(){this.getBadge().style.display="none"},cleanPrevious:function(a){a&&a.set({status:"",state:""})},getContentWindow:function(){return this.contWindow||(this.contWindow=$(this.frameEl.contentWindow)),this.contWindow},run:function(a,b){this.enable()},stop:function(){this.stopSelectComponent(),this.cleanPrevious(this.em.get("selectedComponent")),this.clean(),this.em.set("selectedComponent",null),this.toggleClipboard(),this.hideBadge()}}}),c("Commands/view/SelectPosition",[],function(){return{startSelectPosition:function(a,b){this.isPointed=!1;var c=this.editorModel.get("Utils");c&&!this.sorter&&(this.sorter=new c.Sorter({container:this.getCanvasBody(),placer:this.canvas.getPlacerEl(),containerSel:"*",itemSel:"*",pfx:this.ppfx,direction:"a",document:b,wmargin:1,nested:1,em:this.editorModel})),this.sorter.startSort(a)},getOffsetDim:function(){var a=this.offset(this.canvas.getFrameEl()),b=this.offset(this.canvas.getElement()),c=a.top-b.top,d=a.left-b.left;return{top:c,left:d}},stopSelectPosition:function(){this.posTargetCollection=null,this.posIndex="after"==this.posMethod&&0!==this.cDim.length?this.posIndex+1:this.posIndex,this.sorter&&(this.sorter.moved=0,this.sorter.endMove()),this.cDim&&(this.posIsLastEl=0!==this.cDim.length&&"after"==this.posMethod&&this.posIndex==this.cDim.length,this.posTargetEl=0===this.cDim.length?$(this.outsideElem):!this.posIsLastEl&&this.cDim[this.posIndex]?$(this.cDim[this.posIndex][5]).parent():$(this.outsideElem),this.posTargetModel=this.posTargetEl.data("model"),this.posTargetCollection=this.posTargetEl.data("model-comp"))},enable:function(){this.startSelectPosition()},nearFloat:function(a,b,c){var d=a||0,e=b||"before",f=c.length,g=0!==f&&"after"==e&&d==f;return 0!==f&&(!g&&!c[d][4]||c[d-1]&&!c[d-1][4]||g&&!c[d-1][4])?1:0},run:function(){this.enable()},stop:function(){this.stopSelectPosition(),this.$wrapper.css("cursor",""),this.$wrapper.unbind()}}}),c("Commands/view/CreateComponent",["backbone","./SelectPosition"],function(a,b){return _.extend({},b,{init:function(a){_.bindAll(this,"startDraw","draw","endDraw","rollback"),this.config=a||{},this.hType=this.config.newFixedH?"height":"min-height",this.allowDraw=1},enable:function(){b.enable.apply(this,arguments),this.$wr.css("cursor","crosshair"),this.allowDraw&&this.$wr.on("mousedown",this.startDraw),this.ghost=this.canvas.getGhostEl()},startDraw:function(a){a.preventDefault(),this.stopSelectPosition(),this.ghost.style.display="block",this.frameOff=this.getOffsetDim(),this.startPos={top:a.pageY+this.frameOff.top,left:a.pageX+this.frameOff.left},this.isDragged=!1,this.tempComponent={style:{}},this.beforeDraw(this.tempComponent),this.updateSize(this.startPos.top,this.startPos.left,0,0),this.toggleEvents(1)},toggleEvents:function(a){var b=a?"on":"off";this.$wr[b]("mousemove",this.draw),this.$wr[b]("mouseup",this.endDraw),this.$canvas[b]("mousemove",this.draw),$(document)[b]("mouseup",this.endDraw),$(document)[b]("keypress",this.rollback)},draw:function(a){this.isDragged=!0,this.updateComponentSize(a)},endDraw:function(a){this.toggleEvents();var b={};if(this.isDragged){this.updateComponentSize(a),this.setRequirements(this.tempComponent);var c=this.sorter.lastPos;b=this.create(this.sorter.target,this.tempComponent,c.index,c.method),this.sorter.prevTarget=null}this.ghost.style.display="none",this.startSelectPosition(),this.afterDraw(b)},create:function(a,b,c,d,e){c="after"===d?c+1:c;var f=e||{},g=$(a),h=g.data("model"),i=g.data("collection"),j=h?h.get("droppable"):1;return f.at=c,i&&j?i.add(b,f):void console.warn("Invalid target position")},setRequirements:function(a){var b=this.config,c=a.style;c.width.replace(/\D/g,"")c&&(f=c,h=d.left-c),e>b&&(e=b,g=d.top-b),this.updateSize(e,f,h,g)},updateSize:function(a,b,c,d){var e="px",f=this.ghost.style,g=this.tempComponent.style;f.top=g.top=a+e,f.left=g.left=b+e,f.width=g.width=c+e,f[this.hType]=g[this.hType]=d+e},rollback:function(a,b){var c=a.which||a.keyCode;(c==this.config.ESCAPE_KEY||b)&&(this.isDragged=!1,this.endDraw())},beforeDraw:function(a){a.editable=!1},afterDraw:function(a){},run:function(a,b,c){this.editor=a,this.sender=b,this.$wr=this.$wrapper,this.enable()},stop:function(){this.stopSelectPosition(),this.$wrapper.css("cursor",""),this.$wrapper.unbind()}})}),c("Commands/view/DeleteComponent",["backbone","./SelectComponent"],function(a,b){return _.extend({},b,{init:function(a){_.bindAll(this,"startDelete","stopDelete","onDelete"),this.hoverClass=this.pfx+"hover-delete",this.badgeClass=this.pfx+"badge-red"},enable:function(){this.$el.find("*").mouseover(this.startDelete).mouseout(this.stopDelete).click(this.onDelete)},startDelete:function(a){a.stopPropagation();var b=$(a.target);b.data("model").get("removable")&&(b.addClass(this.hoverClass),this.attachBadge(b.get(0)))},stopDelete:function(a){a.stopPropagation();var b=$(a.target);b.removeClass(this.hoverClass),this.badge&&this.badge.css({left:-1e3,top:-1e3})},onDelete:function(a){a.stopPropagation();var b=$(a.target);b.data("model").get("removable")&&(b.data("model").destroy(),this.removeBadge(),this.clean())},updateBadgeLabel:function(a){this.badge.html("Remove "+a.getName())}})}),c("Commands/view/InsertCustom",["backbone","./CreateComponent"],function(a,b){return _.extend({},b,{init:function(){b.init.apply(this,arguments),_.bindAll(this,"insertComponent"),this.allowDraw=0},run:function(a,b,c){this.em=a,this.sender=b,this.opt=c||{},this.$wr=this.$wrapper,this.enable()},enable:function(){b.enable.apply(this,arguments),this.$wr.on("click",this.insertComponent)},insertComponent:function(){this.$wr.off("click",this.insertComponent),this.stopSelectPosition();var a=this.buildContent();this.beforeInsert(a);var b=this.sorter.lastPos.index,c=this.create(this.sorter.target,a,b,null,{silent:!1});this.opt.terminateAfterInsert&&this.sender?this.sender.set("active",!1):this.enable(),c&&(this.em&&this.em.editor.initChildrenComp(c),this.afterInsert(c,this))},beforeInsert:function(a){},afterInsert:function(a){},buildContent:function(){return this.opt.content||{}}})}),c("Commands/view/ImageComponent",["backbone","./InsertCustom"],function(a,b){return _.extend({},b,{beforeInsert:function(a){a.type="image",a.style={},a.attributes={},a.attributes.onmousedown="return false",this.config.firstCentered&&this.getCanvasWrapper()==this.sorter.target&&(a.style.margin="0 auto")},afterInsert:function(a){a.trigger("dblclick"),this.sender&&this.sender.set("active",!1)}})}),c("Commands/view/MoveComponent",["backbone","./SelectComponent","./SelectPosition"],function(a,b,c){return _.extend({},c,b,{init:function(a){b.init.apply(this,arguments),_.bindAll(this,"initSorter","rollback","onEndMove"),this.opt=a,this.hoverClass=this.ppfx+"highlighter-warning",this.badgeClass=this.ppfx+"badge-warning",this.noSelClass=this.ppfx+"no-select"},enable:function(){b.enable.apply(this,arguments),this.getBadgeEl().addClass(this.badgeClass),this.getHighlighterEl().addClass(this.hoverClass);var a=this.$wrapper;a.css("cursor","move"),a.on("mousedown",this.initSorter),a.addClass(this.noSelClass)},toggleClipboard:function(){},initSorter:function(a){var b=$(a.target).data("model");b.get("draggable")&&(this.cacheEl=null,this.startSelectPosition(a.target,this.frameEl.contentDocument),this.sorter.onEndMove=this.onEndMove.bind(this),this.stopSelectComponent(),this.$wrapper.off("mousedown",this.initSorter),this.getContentWindow().on("keydown",this.rollback))},onEndMove:function(){this.enable(),this.getContentWindow().off("keydown",this.rollback)},onSelect:function(a,b){},rollback:function(a,b){var c=a.which||a.keyCode;(c==this.opt.ESCAPE_KEY||b)&&(this.sorter.moved=!1,this.sorter.endMove())},getBadgeEl:function(){return this.$badge||(this.$badge=$(this.getBadge())),this.$badge},getHighlighterEl:function(){return this.$hl||(this.$hl=$(this.canvas.getHighlighter())),this.$hl},stop:function(){b.stop.apply(this,arguments),this.getBadgeEl().removeClass(this.badgeClass),this.getHighlighterEl().removeClass(this.hoverClass);var a=this.$wrapper;a.css("cursor","").unbind().removeClass(this.noSelClass)}})}),c("Commands/view/TextComponent",["backbone","./CreateComponent"],function(a,b){return _.extend({},b,{beforeDraw:function(a){a.type="text",a.style||(a.style={}),a.style.padding="10px"},afterDraw:function(a){a&&a.set&&(a.trigger("focus"),this.sender&&this.sender.set("active",!1))}})}),c("Commands/view/ExportTemplate",[],function(){return{run:function(a,b){this.sender=b,this.components=a.DomComponents.getComponents(),this.modal=a.Modal||null,this.cm=a.CodeManager||null,this.cssc=a.CssComposer||null,this.protCss=a.Config.protectedCss,this.pfx=a.Config.stylePrefix||"",this.enable()},buildEditor:function(a,b,c){this.codeMirror||(this.codeMirror=this.cm.getViewer("CodeMirror"));var d=$("