forked from RomanRom2/GeneralSound
5234 lines
423 KiB
HTML
5234 lines
423 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title></title>
|
|
<style type="text/css">
|
|
html,
|
|
body {
|
|
margin: 0px;
|
|
height: 100%;
|
|
font-family: Verdana, sans-serif;
|
|
}
|
|
|
|
.divtopmost {
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: #eee;
|
|
color: #252c30;
|
|
}
|
|
|
|
.split {
|
|
-webkit-box-sizing: border-box;
|
|
-moz-box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
background-color: inherit;
|
|
}
|
|
|
|
.gutter {
|
|
background-color: #ddd;
|
|
background-repeat: no-repeat;
|
|
background-position: 50%;
|
|
transition: background-color 0.3s;
|
|
}
|
|
|
|
.split.split-horizontal {
|
|
height: 100%;
|
|
float: left;
|
|
}
|
|
|
|
.gutter.gutter-horizontal {
|
|
height: 100%;
|
|
float: left;
|
|
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==');
|
|
cursor: col-resize;
|
|
}
|
|
|
|
.gutter.gutter-vertical {
|
|
width: 100%;
|
|
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFAQMAAABo7865AAAABlBMVEVHcEzMzMzyAv2sAAAAAXRSTlMAQObYZgAAABBJREFUeF5jOAMEEAIEEFwAn3kMwcB6I2AAAAAASUVORK5CYII=');
|
|
cursor: row-resize;
|
|
}
|
|
|
|
#divtop {
|
|
height: 78px;
|
|
border-bottom: 2px solid black;
|
|
}
|
|
|
|
.boardinfo {
|
|
width: 100%;
|
|
height: 100%;
|
|
border: none;
|
|
padding: 5px;
|
|
}
|
|
|
|
.boardinfo td {
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
width: 50%;
|
|
text-align: center;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.boardinfo .title {
|
|
font-size: 20pt;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.boardinfo .variant {
|
|
font-size: 14pt;
|
|
color: #888;
|
|
display: none;
|
|
}
|
|
/* bom table */
|
|
|
|
.bom {
|
|
border-collapse: collapse;
|
|
font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
|
|
font-size: 10pt;
|
|
table-layout: fixed;
|
|
width: 100%;
|
|
margin-top: 1px;
|
|
}
|
|
|
|
.bom th,
|
|
.bom td {
|
|
border: 1px solid black;
|
|
padding: 5px;
|
|
word-wrap: break-word;
|
|
text-align: center;
|
|
position: relative;
|
|
}
|
|
|
|
.bom th {
|
|
background-color: #CCCCCC;
|
|
background-clip: padding-box;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.bom tr {
|
|
transition: background-color 0.2s;
|
|
}
|
|
|
|
.bom tr:nth-child(even) {
|
|
background-color: #f2f2f2;
|
|
}
|
|
|
|
.bom tr.active:nth-child(n) {
|
|
background-color: #00abff;
|
|
color: #eee;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.bom tr.active:nth-child(even) {
|
|
background-color: #00abff;
|
|
color: #eee;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.bom .active {
|
|
background-color: #00abff;
|
|
color: #eee;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.bom tr.checked {
|
|
color: #aaa;
|
|
}
|
|
|
|
.bom .numcol {
|
|
width: 25px;
|
|
}
|
|
|
|
.bom .bom-checkbox {
|
|
width: 50px;
|
|
position: relative;
|
|
user-select: none;
|
|
-moz-user-select: none;
|
|
}
|
|
|
|
.bom .bom-checkbox:before {
|
|
content: "";
|
|
position: absolute;
|
|
border-width: 15px;
|
|
border-style: solid;
|
|
border-color: #51829f transparent transparent transparent;
|
|
visibility: hidden;
|
|
top: -15px;
|
|
}
|
|
|
|
.bom .bom-checkbox:after {
|
|
content: "Double click to set/unset all";
|
|
position: absolute;
|
|
color: white;
|
|
top: -35px;
|
|
left: -26px;
|
|
background: #51829f;
|
|
padding: 5px 15px;
|
|
border-radius: 8px;
|
|
white-space: nowrap;
|
|
visibility: hidden;
|
|
}
|
|
|
|
.bom .value {
|
|
width: 15%;
|
|
}
|
|
|
|
.bom .quantity {
|
|
width: 65px;
|
|
}
|
|
|
|
.bom .placed {
|
|
font-size: 8pt;
|
|
color: #b87333;
|
|
display: inline;
|
|
}
|
|
/* prefs menu */
|
|
|
|
.prefs_menu {
|
|
position: relative;
|
|
display: inline-block;
|
|
margin: 10px 10px 10px 0px;
|
|
}
|
|
|
|
.prefs_menu:hover {
|
|
display: block;
|
|
background-color: #eee;
|
|
}
|
|
|
|
.prefs_menubtn {
|
|
background-color: white;
|
|
border: none;
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 20 20'%3E%3Cpath fill='none' d='M0 0h20v20H0V0z'/%3E%3Cpath d='M15.95 10.78c.03-.25.05-.51.05-.78s-.02-.53-.06-.78l1.69-1.32c.15-.12.19-.34.1-.51l-1.6-2.77c-.1-.18-.31-.24-.49-.18l-1.99.8c-.42-.32-.86-.58-1.35-.78L12 2.34c-.03-.2-.2-.34-.4-.34H8.4c-.2 0-.36.14-.39.34l-.3 2.12c-.49.2-.94.47-1.35.78l-1.99-.8c-.18-.07-.39 0-.49.18l-1.6 2.77c-.1.18-.06.39.1.51l1.69 1.32c-.04.25-.07.52-.07.78s.02.53.06.78L2.37 12.1c-.15.12-.19.34-.1.51l1.6 2.77c.1.18.31.24.49.18l1.99-.8c.42.32.86.58 1.35.78l.3 2.12c.04.2.2.34.4.34h3.2c.2 0 .37-.14.39-.34l.3-2.12c.49-.2.94-.47 1.35-.78l1.99.8c.18.07.39 0 .49-.18l1.6-2.77c.1-.18.06-.39-.1-.51l-1.67-1.32zM10 13c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z'/%3E%3C/svg%3E%0A");
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
.prefs_menu_content {
|
|
display: none;
|
|
position: absolute;
|
|
background-color: white;
|
|
right: 0;
|
|
min-width: 300px;
|
|
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
|
|
z-index: 100;
|
|
padding: 8px;
|
|
}
|
|
|
|
.prefs_menu:hover .prefs_menubtn {
|
|
background-color: #eee;
|
|
}
|
|
|
|
.prefs_menu:hover .prefs_menu_content {
|
|
display: block;
|
|
}
|
|
|
|
.prefs_menu_label {
|
|
display: inline-block;
|
|
padding: 8px;
|
|
border: 1px solid #ccc;
|
|
border-top: 0;
|
|
width: calc(100% - 18px);
|
|
}
|
|
|
|
.prefs_menu_label_top {
|
|
border-top: 1px solid #ccc;
|
|
}
|
|
|
|
.version {
|
|
float: right;
|
|
font-size: 10pt;
|
|
color: #888;
|
|
}
|
|
|
|
.slider {
|
|
width: 100%;
|
|
}
|
|
/* buttons menu */
|
|
|
|
.button_container {
|
|
font-size: 0;
|
|
margin: 10px 10px 10px 0px;
|
|
}
|
|
|
|
button {
|
|
background-color: #eee;
|
|
border: 1px solid #888;
|
|
color: black;
|
|
height: 44px;
|
|
width: 44px;
|
|
text-align: center;
|
|
text-decoration: none;
|
|
display: inline-block;
|
|
font-size: 14px;
|
|
font-weight: bolder;
|
|
}
|
|
|
|
button:focus {
|
|
outline: 0;
|
|
}
|
|
|
|
button.selected {
|
|
background-color: #007bff;
|
|
color: white;
|
|
}
|
|
|
|
.button_container button {
|
|
background-size: 32px 32px;
|
|
background-position: 5px 5px;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
.left_most_button {
|
|
border-right: 0;
|
|
border-top-left-radius: 6px;
|
|
border-bottom-left-radius: 6px;
|
|
}
|
|
|
|
.middle_button {
|
|
border-right: 0;
|
|
}
|
|
|
|
.right_most_button {
|
|
border-top-right-radius: 6px;
|
|
border-bottom-right-radius: 6px;
|
|
}
|
|
/* canvas */
|
|
|
|
canvas {
|
|
cursor: crosshair;
|
|
}
|
|
|
|
canvas:active {
|
|
cursor: grabbing;
|
|
}
|
|
/* nets */
|
|
|
|
.net_inverse {
|
|
text-decoration: overline;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<div id="divtopmost" class="divtopmost">
|
|
<div id="divtop">
|
|
<div style="float: right; height: 100%;">
|
|
<!-- prefs menu -->
|
|
<div class="prefs_menu" style="float: right; top: 8px;">
|
|
<button class="prefs_menubtn"></button>
|
|
<div class="prefs_menu_content">
|
|
<!-- display -->
|
|
<div class="prefs_menu_label prefs_menu_label_top">
|
|
<div style="text-align: center; margin-bottom: 4px;">Display</div>
|
|
<label class="prefs_menu_label prefs_menu_label_top">
|
|
<input id="cbDisplayAssy" type="checkbox" onchange="setDisplayAssy(this.checked)" checked>
|
|
<label for="cbDisplayAssy">Assembly</label>
|
|
</label>
|
|
<label class="prefs_menu_label">
|
|
<input id="cbDisplaySilk" type="checkbox" onchange="setDisplaySilk(this.checked)" checked>
|
|
<label for="cbDisplaySilk">Silkscreen</label>
|
|
</label>
|
|
<label class="prefs_menu_label">
|
|
<input id="cbDisplayNets" type="checkbox" onchange="setDisplayNets(this.checked)" checked>
|
|
<label for="cbDisplayNets">Nets</label>
|
|
</label>
|
|
<label class="prefs_menu_label">
|
|
<input id="cbDisplayCopperPours" type="checkbox" onchange="setDisplayCopperPours(this.checked)">
|
|
<label for="cbDisplayCopperPours">Copper Pours</label>
|
|
</label>
|
|
<label class="prefs_menu_label">
|
|
<input id="cbDisplayFiducials" type="checkbox" onchange="setDisplayFiducials(this.checked)" checked>
|
|
<label for="cbDisplayFiducials">Fiducials</label>
|
|
</label>
|
|
<label class="prefs_menu_label">
|
|
<input id="cbDisplayPads" type="checkbox" onchange="setDisplayPads(this.checked)" checked>
|
|
<label for="cbDisplayPads">Pads</label>
|
|
</label>
|
|
<label class="prefs_menu_label">
|
|
<input id="cbDisplayVias" type="checkbox" onchange="setDisplayVias(this.checked)" checked>
|
|
<label for="cbDisplayVias">Vias</label>
|
|
</label>
|
|
<label class="prefs_menu_label">
|
|
<input id="cbDisplaySuppliers" type="checkbox" onchange="setDisplaySuppliers(this.checked)" checked>
|
|
<label for="cbDisplaySuppliers">Suppliers</label>
|
|
</label>
|
|
</div>
|
|
<!-- board rotation -->
|
|
<div class="prefs_menu_label">
|
|
<label>
|
|
<span>Board rotation</span><span style="float: right;"><span id="boardRotationDegree">0</span>°</span>
|
|
<input id="boardRotation" class="slider" type="range" min="-36" max="36" value="0" oninput="setBoardRotation(this.value)" onchange="setBoardRotation(this.value)">
|
|
</label>
|
|
</div>
|
|
<div class="prefs_menu_label">
|
|
<label><span id="version" class="version"></span></label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- canvas layout menu -->
|
|
<div class="button_container" style="float: right; position: relative; top: 8px">
|
|
<button id="btnCanvasTop" class="left_most_button" onclick="changeCanvasLayout('T')" title="Top Only">T</button>
|
|
<button id="btnCanvasTopBottom" class="middle_button selected" onclick="changeCanvasLayout('TB')" title="Top and Bottom">TB</button>
|
|
<button id="btnCanvasBottom" class="right_most_button" onclick="changeCanvasLayout('B')" title="Bottom Only">B</button>
|
|
</div>
|
|
<!-- bom layout menu -->
|
|
<div class="button_container" style="float: right; position: relative; top: 8px">
|
|
<button id="btnBOMOnly" class="left_most_button" onclick="changeBOMLayout('bom-only')" title="BOM Only">BOM</button>
|
|
<button id="btnBOMLeftRight" class="middle_button" onclick="changeBOMLayout('left-right')" title="BOM - Left, Drawing - Right">LR</button>
|
|
<button id="btnBOMTopBottom" class="right_most_button" onclick="changeBOMLayout('top-bottom')" title="BOM - Top, Drawing - Bottom">TB</button>
|
|
</div>
|
|
<!-- bom group menu -->
|
|
<div class="button_container" style="float: right; position: relative; top: 8px">
|
|
<button id="btnGUngroup" class="left_most_button selected" onclick="changeBomGroup('U')" title="Ungroup">U</button>
|
|
<button id="btnGNetlist" class="middle_button" onclick="changeBomGroup('NL')" title="Netlist">NL</button>
|
|
<button id="btnGName" class="middle_button" onclick="changeBomGroup('N')" title="Component Name">N</button>
|
|
<button id="btnGNameValue" class="middle_button" onclick="changeBomGroup('NV')" title="Component Name and Value">NV</button>
|
|
<button id="btnGNamePattern" class="middle_button" onclick="changeBomGroup('NP')" title="Component Name and Pattern">NP</button>
|
|
<button id="btnGNameValuePattern" class="right_most_button" onclick="changeBomGroup('NVP')" title="Component Name, Value and Pattern">NVP</button>
|
|
</div>
|
|
</div>
|
|
<div id="boardinfo" style="height: 100%; overflow: auto;">
|
|
<table class="boardinfo">
|
|
<tbody>
|
|
<tr>
|
|
<td id="board_name" class="title"></td>
|
|
</tr>
|
|
<tr>
|
|
<td id="assembly_variant" class="variant"></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div id="divbottom" class="split" style="height: calc(100% - 80px);">
|
|
<div id="divbom" class="split split-horizontal" style="width: calc(50% - 3px);">
|
|
<!-- search -->
|
|
<div style="width: 100%;"></div>
|
|
<!-- table -->
|
|
<table class="bom">
|
|
<thead id="tblhead">
|
|
<tr>
|
|
<th class="numcol"></th>
|
|
<th class="bom-checkbox">Placed</th>
|
|
<th>Reference(s)</th>
|
|
<th>Name</th>
|
|
<th class="value">Value</th>
|
|
<th>Pattern</th>
|
|
<th class="quantity">Quantity</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="tblbody">
|
|
<tr id="bomrow1">
|
|
<td>1</td>
|
|
<td><input type="checkbox" /></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="gutter gutter-horizontal" style="width: 6px;"></div>
|
|
<div id="divcanvas" class="split split-horizontal" style="width: calc(50% - 3px);">
|
|
<div id="topcanvas" class="split" touch-action="none" style="overflow: hidden; height: calc(50% - 3px);">
|
|
<div style="position: relative; width: 100%; height: 100%;">
|
|
<canvas id="topBG" style="position: absolute; left: 0px; top: 0px; z-index: 0; width: 800px; height: 600px;" width="800" height="600"></canvas>
|
|
<canvas id="topSILK" style="position: absolute; left: 0px; top: 0px; z-index: 1; width: 800px; height: 600px;" width="800" height="600"></canvas>
|
|
<canvas id="topASSY" style="position: absolute; left: 0px; top: 0px; z-index: 2; width: 800px; height: 600px;" width="800" height="600"></canvas>
|
|
<canvas id="topHL" style="position: absolute; left: 0px; top: 0px; z-index: 3; width: 800px; height: 600px;" width="800" height="600"></canvas>
|
|
</div>
|
|
</div>
|
|
<div class="gutter gutter-vertical" style="height: 6px;"></div>
|
|
<div id="bottomcanvas" class="split" touch-action="none" style="overflow: hidden; height: calc(50% - 3px);">
|
|
<div style="position: relative; width: 100%; height: 100%;">
|
|
<canvas id="bottomBG" style="position: absolute; left: 0px; top: 0px; z-index: 0; width: 800px; height: 600px;" width="800" height="600"></canvas>
|
|
<canvas id="bottomSILK" style="position: absolute; left: 0px; top: 0px; z-index: 1; width: 800px; height: 600px;" width="800" height="600"></canvas>
|
|
<canvas id="bottomASSY" style="position: absolute; left: 0px; top: 0px; z-index: 2; width: 800px; height: 600px;" width="800" height="600"></canvas>
|
|
<canvas id="bottomHL" style="position: absolute; left: 0px; top: 0px; z-index: 3; width: 800px; height: 600px;" width="800" height="600"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/*--- 3D party ---*/
|
|
|
|
/* Split.js - v1.6.2 MIT License https://github.com/nathancahill/Split.js */
|
|
! function(e, t) {
|
|
"object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = e || self).Split = t()
|
|
}(this, (function() {
|
|
"use strict";
|
|
var e = "undefined" != typeof window ? window : null,
|
|
t = null === e,
|
|
n = t ? void 0 : e.document,
|
|
i = function() {
|
|
return !1
|
|
},
|
|
r = t ? "calc" : ["", "-webkit-", "-moz-", "-o-"].filter((function(e) {
|
|
var t = n.createElement("div");
|
|
return t.style.cssText = "width:" + e + "calc(9px)", !!t.style.length
|
|
})).shift() + "calc",
|
|
s = function(e) {
|
|
return "string" == typeof e || e instanceof String
|
|
},
|
|
o = function(e) {
|
|
if (s(e)) {
|
|
var t = n.querySelector(e);
|
|
if (!t) throw new Error("Selector " + e + " did not match a DOM element");
|
|
return t
|
|
}
|
|
return e
|
|
},
|
|
a = function(e, t, n) {
|
|
var i = e[t];
|
|
return void 0 !== i ? i : n
|
|
},
|
|
u = function(e, t, n, i) {
|
|
if (t) {
|
|
if ("end" === i) return 0;
|
|
if ("center" === i) return e / 2
|
|
} else if (n) {
|
|
if ("start" === i) return 0;
|
|
if ("center" === i) return e / 2
|
|
}
|
|
return e
|
|
},
|
|
l = function(e, t) {
|
|
var i = n.createElement("div");
|
|
return i.className = "gutter gutter-" + t, i
|
|
},
|
|
c = function(e, t, n) {
|
|
var i = {};
|
|
return s(t) ? i[e] = t : i[e] = r + "(" + t + "% - " + n + "px)", i
|
|
},
|
|
h = function(e, t) {
|
|
var n;
|
|
return (n = {})[e] = t + "px", n
|
|
};
|
|
return function(r, s) {
|
|
if (void 0 === s && (s = {}), t) return {};
|
|
var d, f, v, m, g, p, y = r;
|
|
Array.from && (y = Array.from(y));
|
|
var z = o(y[0]).parentNode,
|
|
b = getComputedStyle ? getComputedStyle(z) : null,
|
|
E = b ? b.flexDirection : null,
|
|
S = a(s, "sizes") || y.map((function() {
|
|
return 100 / y.length
|
|
})),
|
|
L = a(s, "minSize", 100),
|
|
_ = Array.isArray(L) ? L : y.map((function() {
|
|
return L
|
|
})),
|
|
w = a(s, "expandToMin", !1),
|
|
k = a(s, "gutterSize", 10),
|
|
x = a(s, "gutterAlign", "center"),
|
|
C = a(s, "snapOffset", 30),
|
|
M = a(s, "dragInterval", 1),
|
|
U = a(s, "direction", "horizontal"),
|
|
O = a(s, "cursor", "horizontal" === U ? "col-resize" : "row-resize"),
|
|
D = a(s, "gutter", l),
|
|
A = a(s, "elementStyle", c),
|
|
B = a(s, "gutterStyle", h);
|
|
|
|
function j(e, t, n, i) {
|
|
var r = A(d, t, n, i);
|
|
Object.keys(r).forEach((function(t) {
|
|
e.style[t] = r[t]
|
|
}))
|
|
}
|
|
|
|
function F() {
|
|
return p.map((function(e) {
|
|
return e.size
|
|
}))
|
|
}
|
|
|
|
function R(e) {
|
|
return "touches" in e ? e.touches[0][f] : e[f]
|
|
}
|
|
|
|
function T(e) {
|
|
var t = p[this.a],
|
|
n = p[this.b],
|
|
i = t.size + n.size;
|
|
t.size = e / this.size * i, n.size = i - e / this.size * i, j(t.element, t.size, this._b, t.i), j(n.element, n.size, this._c, n.i)
|
|
}
|
|
|
|
function N(e) {
|
|
var t, n = p[this.a],
|
|
r = p[this.b];
|
|
this.dragging && (t = R(e) - this.start + (this._b - this.dragOffset), M > 1 && (t = Math.round(t / M) * M), t <= n.minSize + C + this._b ? t = n.minSize + this._b : t >= this.size - (r.minSize + C + this._c) && (t = this.size - (r.minSize + this._c)), T.call(this, t), a(s, "onDrag", i)(F()))
|
|
}
|
|
|
|
function q() {
|
|
var e = p[this.a].element,
|
|
t = p[this.b].element,
|
|
n = e.getBoundingClientRect(),
|
|
i = t.getBoundingClientRect();
|
|
this.size = n[d] + i[d] + this._b + this._c, this.start = n[v], this.end = n[m]
|
|
}
|
|
|
|
function H(e) {
|
|
var t = function(e) {
|
|
if (!getComputedStyle) return null;
|
|
var t = getComputedStyle(e);
|
|
if (!t) return null;
|
|
var n = e[g];
|
|
return 0 === n ? null : n -= "horizontal" === U ? parseFloat(t.paddingLeft) + parseFloat(t.paddingRight) : parseFloat(t.paddingTop) + parseFloat(t.paddingBottom)
|
|
}(z);
|
|
if (null === t) return e;
|
|
if (_.reduce((function(e, t) {
|
|
return e + t
|
|
}), 0) > t) return e;
|
|
var n = 0,
|
|
i = [],
|
|
r = e.map((function(r, s) {
|
|
var o = t * r / 100,
|
|
a = u(k, 0 === s, s === e.length - 1, x),
|
|
l = _[s] + a;
|
|
return o < l ? (n += l - o, i.push(0), l) : (i.push(o - l), o)
|
|
}));
|
|
return 0 === n ? e : r.map((function(e, r) {
|
|
var s = e;
|
|
if (n > 0 && i[r] - n > 0) {
|
|
var o = Math.min(n, i[r] - n);
|
|
n -= o, s = e - o
|
|
}
|
|
return s / t * 100
|
|
}))
|
|
}
|
|
|
|
function I() {
|
|
var t = p[this.a].element,
|
|
r = p[this.b].element;
|
|
this.dragging && a(s, "onDragEnd", i)(F()), this.dragging = !1, e.removeEventListener("mouseup", this.stop), e.removeEventListener("touchend", this.stop), e.removeEventListener("touchcancel", this.stop), e.removeEventListener("mousemove", this.move), e.removeEventListener("touchmove", this.move), this.stop = null, this.move = null, t.removeEventListener("selectstart", i), t.removeEventListener("dragstart", i), r.removeEventListener("selectstart", i), r.removeEventListener("dragstart", i), t.style.userSelect = "", t.style.webkitUserSelect = "", t.style.MozUserSelect = "", t.style.pointerEvents = "", r.style.userSelect = "", r.style.webkitUserSelect = "", r.style.MozUserSelect = "", r.style.pointerEvents = "", this.gutter.style.cursor = "", this.parent.style.cursor = "", n.body.style.cursor = ""
|
|
}
|
|
|
|
function W(t) {
|
|
if (!("button" in t) || 0 === t.button) {
|
|
var r = p[this.a].element,
|
|
o = p[this.b].element;
|
|
this.dragging || a(s, "onDragStart", i)(F()), t.preventDefault(), this.dragging = !0, this.move = N.bind(this), this.stop = I.bind(this), e.addEventListener("mouseup", this.stop), e.addEventListener("touchend", this.stop), e.addEventListener("touchcancel", this.stop), e.addEventListener("mousemove", this.move), e.addEventListener("touchmove", this.move), r.addEventListener("selectstart", i), r.addEventListener("dragstart", i), o.addEventListener("selectstart", i), o.addEventListener("dragstart", i), r.style.userSelect = "none", r.style.webkitUserSelect = "none", r.style.MozUserSelect = "none", r.style.pointerEvents = "none", o.style.userSelect = "none", o.style.webkitUserSelect = "none", o.style.MozUserSelect = "none", o.style.pointerEvents = "none", this.gutter.style.cursor = O, this.parent.style.cursor = O, n.body.style.cursor = O, q.call(this), this.dragOffset = R(t) - this.end
|
|
}
|
|
}
|
|
"horizontal" === U ? (d = "width", f = "clientX", v = "left", m = "right", g = "clientWidth") : "vertical" === U && (d = "height", f = "clientY", v = "top", m = "bottom", g = "clientHeight"), S = H(S);
|
|
var X = [];
|
|
|
|
function Y(e) {
|
|
var t = e.i === X.length,
|
|
n = t ? X[e.i - 1] : X[e.i];
|
|
q.call(n);
|
|
var i = t ? n.size - e.minSize - n._c : e.minSize + n._b;
|
|
T.call(n, i)
|
|
}
|
|
return (p = y.map((function(e, t) {
|
|
var n, i = {
|
|
element: o(e),
|
|
size: S[t],
|
|
minSize: _[t],
|
|
i: t
|
|
};
|
|
if (t > 0 && ((n = {
|
|
a: t - 1,
|
|
b: t,
|
|
dragging: !1,
|
|
direction: U,
|
|
parent: z
|
|
})._b = u(k, t - 1 == 0, !1, x), n._c = u(k, !1, t === y.length - 1, x), "row-reverse" === E || "column-reverse" === E)) {
|
|
var r = n.a;
|
|
n.a = n.b, n.b = r
|
|
}
|
|
if (t > 0) {
|
|
var s = D(t, U, i.element);
|
|
! function(e, t, n) {
|
|
var i = B(d, t, n);
|
|
Object.keys(i).forEach((function(t) {
|
|
e.style[t] = i[t]
|
|
}))
|
|
}(s, k, t), n._a = W.bind(n), s.addEventListener("mousedown", n._a), s.addEventListener("touchstart", n._a), z.insertBefore(s, i.element), n.gutter = s
|
|
}
|
|
return j(i.element, i.size, u(k, 0 === t, t === y.length - 1, x), t), t > 0 && X.push(n), i
|
|
}))).forEach((function(e) {
|
|
var t = e.element.getBoundingClientRect()[d];
|
|
t < e.minSize && (w ? Y(e) : e.minSize = t)
|
|
})), {
|
|
setSizes: function(e) {
|
|
var t = H(e);
|
|
t.forEach((function(e, n) {
|
|
if (n > 0) {
|
|
var i = X[n - 1],
|
|
r = p[i.a],
|
|
s = p[i.b];
|
|
r.size = t[n - 1], s.size = e, j(r.element, r.size, i._b, r.i), j(s.element, s.size, i._c, s.i)
|
|
}
|
|
}))
|
|
},
|
|
getSizes: F,
|
|
collapse: function(e) {
|
|
Y(p[e])
|
|
},
|
|
destroy: function(e, t) {
|
|
X.forEach((function(n) {
|
|
if (!0 !== t ? n.parent.removeChild(n.gutter) : (n.gutter.removeEventListener("mousedown", n._a), n.gutter.removeEventListener("touchstart", n._a)), !0 !== e) {
|
|
var i = A(d, n.a.size, n._b);
|
|
Object.keys(i).forEach((function(e) {
|
|
p[n.a].element.style[e] = "", p[n.b].element.style[e] = ""
|
|
}))
|
|
}
|
|
}))
|
|
},
|
|
parent: z,
|
|
pairs: X
|
|
}
|
|
}
|
|
}));
|
|
|
|
// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>
|
|
// This work is free. You can redistribute it and/or modify it
|
|
// under the terms of the WTFPL, Version 2
|
|
// For more information see LICENSE.txt or http://www.wtfpl.net/
|
|
// For more information, the home page:
|
|
// http://pieroxy.net/blog/pages/lz-string/testing.html
|
|
// LZ-based compression algorithm, version 1.4.4
|
|
var LZString = function() {
|
|
function o(o, r) {
|
|
if (!t[o]) {
|
|
t[o] = {};
|
|
for (var n = 0; n < o.length; n++) t[o][o.charAt(n)] = n
|
|
}
|
|
return t[o][r]
|
|
}
|
|
var r = String.fromCharCode,
|
|
n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
|
|
e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",
|
|
t = {},
|
|
i = {
|
|
compressToBase64: function(o) {
|
|
if (null == o) return "";
|
|
var r = i._compress(o, 6, function(o) {
|
|
return n.charAt(o)
|
|
});
|
|
switch (r.length % 4) {
|
|
default:
|
|
case 0:
|
|
return r;
|
|
case 1:
|
|
return r + "===";
|
|
case 2:
|
|
return r + "==";
|
|
case 3:
|
|
return r + "="
|
|
}
|
|
},
|
|
decompressFromBase64: function(r) {
|
|
return null == r ? "" : "" == r ? null : i._decompress(r.length, 32, function(e) {
|
|
return o(n, r.charAt(e))
|
|
})
|
|
},
|
|
compressToUTF16: function(o) {
|
|
return null == o ? "" : i._compress(o, 15, function(o) {
|
|
return r(o + 32)
|
|
}) + " "
|
|
},
|
|
decompressFromUTF16: function(o) {
|
|
return null == o ? "" : "" == o ? null : i._decompress(o.length, 16384, function(r) {
|
|
return o.charCodeAt(r) - 32
|
|
})
|
|
},
|
|
compressToUint8Array: function(o) {
|
|
for (var r = i.compress(o), n = new Uint8Array(2 * r.length), e = 0, t = r.length; t > e; e++) {
|
|
var s = r.charCodeAt(e);
|
|
n[2 * e] = s >>> 8, n[2 * e + 1] = s % 256
|
|
}
|
|
return n
|
|
},
|
|
decompressFromUint8Array: function(o) {
|
|
if (null === o || void 0 === o) return i.decompress(o);
|
|
for (var n = new Array(o.length / 2), e = 0, t = n.length; t > e; e++) n[e] = 256 * o[2 * e] + o[2 * e + 1];
|
|
var s = [];
|
|
return n.forEach(function(o) {
|
|
s.push(r(o))
|
|
}), i.decompress(s.join(""))
|
|
},
|
|
compressToEncodedURIComponent: function(o) {
|
|
return null == o ? "" : i._compress(o, 6, function(o) {
|
|
return e.charAt(o)
|
|
})
|
|
},
|
|
decompressFromEncodedURIComponent: function(r) {
|
|
return null == r ? "" : "" == r ? null : (r = r.replace(/ /g, "+"), i._decompress(r.length, 32, function(n) {
|
|
return o(e, r.charAt(n))
|
|
}))
|
|
},
|
|
compress: function(o) {
|
|
return i._compress(o, 16, function(o) {
|
|
return r(o)
|
|
})
|
|
},
|
|
_compress: function(o, r, n) {
|
|
if (null == o) return "";
|
|
var e, t, i, s = {},
|
|
p = {},
|
|
u = "",
|
|
c = "",
|
|
a = "",
|
|
l = 2,
|
|
f = 3,
|
|
h = 2,
|
|
d = [],
|
|
m = 0,
|
|
v = 0;
|
|
for (i = 0; i < o.length; i += 1)
|
|
if (u = o.charAt(i), Object.prototype.hasOwnProperty.call(s, u) || (s[u] = f++, p[u] = !0), c = a + u, Object.prototype.hasOwnProperty.call(s, c)) a = c;
|
|
else {
|
|
if (Object.prototype.hasOwnProperty.call(p, a)) {
|
|
if (a.charCodeAt(0) < 256) {
|
|
for (e = 0; h > e; e++) m <<= 1, v == r - 1 ? (v = 0, d.push(n(m)), m = 0) : v++;
|
|
for (t = a.charCodeAt(0), e = 0; 8 > e; e++) m = m << 1 | 1 & t, v == r - 1 ? (v = 0, d.push(n(m)), m = 0) : v++, t >>= 1
|
|
} else {
|
|
for (t = 1, e = 0; h > e; e++) m = m << 1 | t, v == r - 1 ? (v = 0, d.push(n(m)), m = 0) : v++, t = 0;
|
|
for (t = a.charCodeAt(0), e = 0; 16 > e; e++) m = m << 1 | 1 & t, v == r - 1 ? (v = 0, d.push(n(m)), m = 0) : v++, t >>= 1
|
|
}
|
|
l--, 0 == l && (l = Math.pow(2, h), h++), delete p[a]
|
|
} else
|
|
for (t = s[a], e = 0; h > e; e++) m = m << 1 | 1 & t, v == r - 1 ? (v = 0, d.push(n(m)), m = 0) : v++, t >>= 1;
|
|
l--, 0 == l && (l = Math.pow(2, h), h++), s[c] = f++, a = String(u)
|
|
}
|
|
if ("" !== a) {
|
|
if (Object.prototype.hasOwnProperty.call(p, a)) {
|
|
if (a.charCodeAt(0) < 256) {
|
|
for (e = 0; h > e; e++) m <<= 1, v == r - 1 ? (v = 0, d.push(n(m)), m = 0) : v++;
|
|
for (t = a.charCodeAt(0), e = 0; 8 > e; e++) m = m << 1 | 1 & t, v == r - 1 ? (v = 0, d.push(n(m)), m = 0) : v++, t >>= 1
|
|
} else {
|
|
for (t = 1, e = 0; h > e; e++) m = m << 1 | t, v == r - 1 ? (v = 0, d.push(n(m)), m = 0) : v++, t = 0;
|
|
for (t = a.charCodeAt(0), e = 0; 16 > e; e++) m = m << 1 | 1 & t, v == r - 1 ? (v = 0, d.push(n(m)), m = 0) : v++, t >>= 1
|
|
}
|
|
l--, 0 == l && (l = Math.pow(2, h), h++), delete p[a]
|
|
} else
|
|
for (t = s[a], e = 0; h > e; e++) m = m << 1 | 1 & t, v == r - 1 ? (v = 0, d.push(n(m)), m = 0) : v++, t >>= 1;
|
|
l--, 0 == l && (l = Math.pow(2, h), h++)
|
|
}
|
|
for (t = 2, e = 0; h > e; e++) m = m << 1 | 1 & t, v == r - 1 ? (v = 0, d.push(n(m)), m = 0) : v++, t >>= 1;
|
|
for (;;) {
|
|
if (m <<= 1, v == r - 1) {
|
|
d.push(n(m));
|
|
break
|
|
}
|
|
v++
|
|
}
|
|
return d.join("")
|
|
},
|
|
decompress: function(o) {
|
|
return null == o ? "" : "" == o ? null : i._decompress(o.length, 32768, function(r) {
|
|
return o.charCodeAt(r)
|
|
})
|
|
},
|
|
_decompress: function(o, n, e) {
|
|
var t, i, s, p, u, c, a, l, f = [],
|
|
h = 4,
|
|
d = 4,
|
|
m = 3,
|
|
v = "",
|
|
w = [],
|
|
A = {
|
|
val: e(0),
|
|
position: n,
|
|
index: 1
|
|
};
|
|
for (i = 0; 3 > i; i += 1) f[i] = i;
|
|
for (p = 0, c = Math.pow(2, 2), a = 1; a != c;) u = A.val & A.position, A.position >>= 1, 0 == A.position && (A.position = n, A.val = e(A.index++)), p |= (u > 0 ? 1 : 0) * a, a <<= 1;
|
|
switch (t = p) {
|
|
case 0:
|
|
for (p = 0, c = Math.pow(2, 8), a = 1; a != c;) u = A.val & A.position, A.position >>= 1, 0 == A.position && (A.position = n, A.val = e(A.index++)), p |= (u > 0 ? 1 : 0) * a, a <<= 1;
|
|
l = r(p);
|
|
break;
|
|
case 1:
|
|
for (p = 0, c = Math.pow(2, 16), a = 1; a != c;) u = A.val & A.position, A.position >>= 1, 0 == A.position && (A.position = n, A.val = e(A.index++)), p |= (u > 0 ? 1 : 0) * a, a <<= 1;
|
|
l = r(p);
|
|
break;
|
|
case 2:
|
|
return ""
|
|
}
|
|
for (f[3] = l, s = l, w.push(l);;) {
|
|
if (A.index > o) return "";
|
|
for (p = 0, c = Math.pow(2, m), a = 1; a != c;) u = A.val & A.position, A.position >>= 1, 0 == A.position && (A.position = n, A.val = e(A.index++)), p |= (u > 0 ? 1 : 0) * a, a <<= 1;
|
|
switch (l = p) {
|
|
case 0:
|
|
for (p = 0, c = Math.pow(2, 8), a = 1; a != c;) u = A.val & A.position, A.position >>= 1, 0 == A.position && (A.position = n, A.val = e(A.index++)), p |= (u > 0 ? 1 : 0) * a, a <<= 1;
|
|
f[d++] = r(p), l = d - 1, h--;
|
|
break;
|
|
case 1:
|
|
for (p = 0, c = Math.pow(2, 16), a = 1; a != c;) u = A.val & A.position, A.position >>= 1, 0 == A.position && (A.position = n, A.val = e(A.index++)), p |= (u > 0 ? 1 : 0) * a, a <<= 1;
|
|
f[d++] = r(p), l = d - 1, h--;
|
|
break;
|
|
case 2:
|
|
return w.join("")
|
|
}
|
|
if (0 == h && (h = Math.pow(2, m), m++), f[l]) v = f[l];
|
|
else {
|
|
if (l !== d) return null;
|
|
v = s + s.charAt(0)
|
|
}
|
|
w.push(v), f[d++] = s + v.charAt(0), h--, s = v, 0 == h && (h = Math.pow(2, m), m++)
|
|
}
|
|
}
|
|
};
|
|
return i
|
|
}();
|
|
"function" == typeof define && define.amd ? define(function() {
|
|
return LZString
|
|
}) : "undefined" != typeof module && null != module && (module.exports = LZString);
|
|
|
|
// canvas polyfill
|
|
(function(_0x58f57c, _0x2fa52d) {
|
|
if (_0x58f57c == undefined) {
|
|
_0x58f57c = _0x2fa52d('canvas')['Context2d'];
|
|
}
|
|
if (_0x58f57c['prototype']['ellipse'] == undefined) {
|
|
_0x58f57c['prototype']['ellipse'] = function(_0x251577, _0x4bf590, _0x3e8b2e, _0x2e7f82, _0x73bb7e, _0x102d04, _0x223dfa, _0x5270a4) {
|
|
this['save']();
|
|
this['translate'](_0x251577, _0x4bf590);
|
|
this['rotate'](_0x73bb7e);
|
|
this['scale'](_0x3e8b2e, _0x2e7f82);
|
|
this['arc'](0x0, 0x0, 0x1, _0x102d04, _0x223dfa, _0x5270a4);
|
|
this['restore']();
|
|
};
|
|
}
|
|
if (typeof Path2D !== 'function' || typeof new Path2D()['addPath'] !== 'function') {
|
|
(function() {
|
|
parser = function() {
|
|
function _0x222e3c(_0x4a67da, _0x23272f) {
|
|
function _0x5dcaef() {
|
|
this['constructor'] = _0x4a67da;
|
|
}
|
|
_0x5dcaef['prototype'] = _0x23272f['prototype'];
|
|
_0x4a67da['prototype'] = new _0x5dcaef();
|
|
}
|
|
|
|
function _0x4cc4a9(_0x128787, _0x229f0e, _0x18f31a, _0x39d3f2, _0x400682, _0x436a2b) {
|
|
this['message'] = _0x128787;
|
|
this['expected'] = _0x229f0e;
|
|
this['found'] = _0x18f31a;
|
|
this['offset'] = _0x39d3f2;
|
|
this['line'] = _0x400682;
|
|
this['column'] = _0x436a2b;
|
|
this['name'] = 'SyntaxError';
|
|
}
|
|
_0x222e3c(_0x4cc4a9, Error);
|
|
|
|
function _0x4b296c(_0x3a6242) {
|
|
var _0xf95720 = arguments['length'] > 0x1 ? arguments[0x1] : {},
|
|
_0x4e763b = {},
|
|
_0x520ba4 = {
|
|
'svg_path': _0x19a2be
|
|
},
|
|
_0x3c91de = _0x19a2be,
|
|
_0x56093a = _0x4e763b,
|
|
_0x4c69bd = [],
|
|
_0x375d49 = null,
|
|
_0x46920b = function(_0x1e3596) {
|
|
return _0x65b89a;
|
|
},
|
|
_0x1f3890 = /^[Mm]/,
|
|
_0x5cb2e6 = {
|
|
'type': 'class',
|
|
'value': '[Mm]',
|
|
'description': '[Mm]'
|
|
},
|
|
_0x24a516 = function(_0x472687, _0x3a73b5) {
|
|
var _0x1798ed = _0x472687;
|
|
if (_0x52dd75) {
|
|
_0x1798ed = 'M';
|
|
_0x52dd75 = ![];
|
|
}
|
|
_0x65b89a['push']({
|
|
'type': 'moveTo',
|
|
'args': _0x17d776(_0x1798ed, _0x3a73b5[0x0])
|
|
});
|
|
for (var _0x2881fb = 0x1; _0x2881fb < _0x3a73b5['length']; _0x2881fb++) {
|
|
_0x65b89a['push']({
|
|
'type': 'lineTo',
|
|
'args': _0x17d776(_0x472687, _0x3a73b5[_0x2881fb])
|
|
});
|
|
}
|
|
},
|
|
_0x5e38d7 = function(_0x5cb700, _0x5cd47f) {
|
|
return _0x4ab5ce(_0x5cb700, _0x5cd47f);
|
|
},
|
|
_0x387727 = /^[Zz]/,
|
|
_0x2868a8 = {
|
|
'type': 'class',
|
|
'value': '[Zz]',
|
|
'description': '[Zz]'
|
|
},
|
|
_0x594869 = function() {
|
|
_0x65b89a['push']({
|
|
'type': 'closePath',
|
|
'args': []
|
|
});
|
|
},
|
|
_0x589f3b = /^[Ll]/,
|
|
_0x2d2081 = {
|
|
'type': 'class',
|
|
'value': '[Ll]',
|
|
'description': '[Ll]'
|
|
},
|
|
_0x50849d = function(_0x6f1c73, _0x4201ff) {
|
|
for (var _0x1ab8fa = 0x0; _0x1ab8fa < _0x4201ff['length']; _0x1ab8fa++) {
|
|
_0x65b89a['push']({
|
|
'type': 'lineTo',
|
|
'args': _0x17d776(_0x6f1c73, _0x4201ff[_0x1ab8fa])
|
|
});
|
|
}
|
|
},
|
|
_0x4c4628 = /^[Hh]/,
|
|
_0x36aa8b = {
|
|
'type': 'class',
|
|
'value': '[Hh]',
|
|
'description': '[Hh]'
|
|
},
|
|
_0x487dce = function(_0x2be630, _0x27cbf1) {
|
|
for (var _0x3497a6 = 0x0; _0x3497a6 < _0x27cbf1['length']; _0x3497a6++) {
|
|
_0x65b89a['push']({
|
|
'type': 'lineTo',
|
|
'args': _0x1134cf(_0x2be630, _0x27cbf1[_0x3497a6])
|
|
});
|
|
}
|
|
},
|
|
_0x2f8fdc = /^[Vv]/,
|
|
_0x391e28 = {
|
|
'type': 'class',
|
|
'value': '[Vv]',
|
|
'description': '[Vv]'
|
|
},
|
|
_0x2fb111 = function(_0x4a057b, _0x5752df) {
|
|
for (var _0x1d8aa8 = 0x0; _0x1d8aa8 < _0x5752df['length']; _0x1d8aa8++) {
|
|
_0x65b89a['push']({
|
|
'type': 'lineTo',
|
|
'args': _0x5b73e4(_0x4a057b, _0x5752df[_0x1d8aa8])
|
|
});
|
|
}
|
|
},
|
|
_0x4a4882 = /^[Cc]/,
|
|
_0x1371ac = {
|
|
'type': 'class',
|
|
'value': '[Cc]',
|
|
'description': '[Cc]'
|
|
},
|
|
_0x51b1f6 = function(_0x591e86, _0x47c797) {
|
|
for (var _0x414596 = 0x0; _0x414596 < _0x47c797['length']; _0x414596++) {
|
|
_0x65b89a['push']({
|
|
'type': 'bezierCurveTo',
|
|
'args': _0x54e14f(_0x591e86, _0x47c797[_0x414596])
|
|
});
|
|
}
|
|
},
|
|
_0xe1e1 = function(_0x503c00, _0x3cb31d, _0x4fcedc) {
|
|
return _0x503c00['concat'](_0x3cb31d, _0x4fcedc);
|
|
},
|
|
_0x3c0d2e = /^[Ss]/,
|
|
_0x394135 = {
|
|
'type': 'class',
|
|
'value': '[Ss]',
|
|
'description': '[Ss]'
|
|
},
|
|
_0x4aa6f7 = function(_0xbe6c5c, _0xfe5f70) {
|
|
for (var _0x1ad248 = 0x0; _0x1ad248 < _0xfe5f70['length']; _0x1ad248++) {
|
|
_0x65b89a['push']({
|
|
'type': 'bezierCurveTo',
|
|
'args': _0x2d262a()['concat'](_0x54e14f(_0xbe6c5c, _0xfe5f70[_0x1ad248]))
|
|
});
|
|
}
|
|
},
|
|
_0x30c615 = function(_0x7d0b66, _0x20da34) {
|
|
return _0x7d0b66['concat'](_0x20da34);
|
|
},
|
|
_0x3a67c6 = /^[Qq]/,
|
|
_0x85b933 = {
|
|
'type': 'class',
|
|
'value': '[Qq]',
|
|
'description': '[Qq]'
|
|
},
|
|
_0x3ceb0a = function(_0x50f7bd, _0x497820) {
|
|
for (var _0x50f9ef = 0x0; _0x50f9ef < _0x497820['length']; _0x50f9ef++) {
|
|
_0x65b89a['push']({
|
|
'type': 'quadraticCurveTo',
|
|
'args': _0x54e14f(_0x50f7bd, _0x497820[_0x50f9ef])
|
|
});
|
|
}
|
|
},
|
|
_0x543bea = /^[Tt]/,
|
|
_0x16de6e = {
|
|
'type': 'class',
|
|
'value': '[Tt]',
|
|
'description': '[Tt]'
|
|
},
|
|
_0x207488 = function(_0x301f77, _0x27fec5) {
|
|
for (var _0xacff90 = 0x0; _0xacff90 < _0x27fec5['length']; _0xacff90++) {
|
|
var _0x5a46f5 = _0x2d262a();
|
|
_0x65b89a['push']({
|
|
'type': 'quadraticCurveTo',
|
|
'args': _0x5a46f5['concat'](_0x54e14f(_0x301f77, _0x27fec5[_0xacff90]))
|
|
});
|
|
_0x594746 = _0x5a46f5['slice'](0x0);
|
|
}
|
|
},
|
|
_0xd18715 = /^[Aa]/,
|
|
_0x30a6b0 = {
|
|
'type': 'class',
|
|
'value': '[Aa]',
|
|
'description': '[Aa]'
|
|
},
|
|
_0xbeac27 = function(_0x2ee17b, _0x33cbf9) {
|
|
for (var _0x56c3b5 = 0x0; _0x56c3b5 < _0x33cbf9['length']; _0x56c3b5++) {
|
|
var _0x1c894f = [_0x5b0427['slice']()];
|
|
var _0x1b27e1 = [_0x17d776(_0x2ee17b, _0x33cbf9[_0x56c3b5]['slice'](-0x2))];
|
|
absArgs = _0x1c894f['concat'](_0x33cbf9[_0x56c3b5]['slice'](0x0, -0x2), _0x1b27e1);
|
|
_0x42a62a['apply'](this, absArgs);
|
|
}
|
|
},
|
|
_0x2cbb71 = function(_0x7dca7a, _0x218490, _0x59acec, _0x3327e6, _0x497542, _0x1953dc) {
|
|
return [parseFloat(_0x7dca7a), parseFloat(_0x218490), parseFloat(_0x4eee96(_0x59acec)['join']('')), parseInt(_0x3327e6), parseInt(_0x497542), _0x1953dc[0x0], _0x1953dc[0x1]];
|
|
},
|
|
_0x201fa4 = function(_0x2ea5f3, _0x3e9760) {
|
|
return [_0x2ea5f3, _0x3e9760];
|
|
},
|
|
_0x5a72e5 = function(_0x49c77a) {
|
|
return parseFloat(_0x4eee96(_0x49c77a)['join'](''));
|
|
},
|
|
_0x444dd7 = '0',
|
|
_0x44e46d = {
|
|
'type': 'literal',
|
|
'value': '0',
|
|
'description': '\x220\x22'
|
|
},
|
|
_0x8b2ec9 = '1',
|
|
_0x2bab45 = {
|
|
'type': 'literal',
|
|
'value': '1',
|
|
'description': '\x221\x22'
|
|
},
|
|
_0x5b6dde = ',',
|
|
_0x3d3d23 = {
|
|
'type': 'literal',
|
|
'value': ',',
|
|
'description': '\x22,\x22'
|
|
},
|
|
_0x57d0b1 = '.',
|
|
_0x3e764 = {
|
|
'type': 'literal',
|
|
'value': '.',
|
|
'description': '\x22.\x22'
|
|
},
|
|
_0x1e3f99 = /^[eE]/,
|
|
_0x1123fe = {
|
|
'type': 'class',
|
|
'value': '[eE]',
|
|
'description': '[eE]'
|
|
},
|
|
_0x59832c = '+',
|
|
_0x423117 = {
|
|
'type': 'literal',
|
|
'value': '+',
|
|
'description': '\x22+\x22'
|
|
},
|
|
_0xf5aaab = '-',
|
|
_0x198f27 = {
|
|
'type': 'literal',
|
|
'value': '-',
|
|
'description': '\x22-\x22'
|
|
},
|
|
_0x1d19eb = /^[0-9]/,
|
|
_0x2a6cc4 = {
|
|
'type': 'class',
|
|
'value': '[0-9]',
|
|
'description': '[0-9]'
|
|
},
|
|
_0x3a87d5 = function(_0x48bf53) {
|
|
return _0x48bf53['join']('');
|
|
},
|
|
_0x15ce60 = /^[ \t\n\r]/,
|
|
_0x41f84b = {
|
|
'type': 'class',
|
|
'value': '[\x20\x5ct\x5cn\x5cr]',
|
|
'description': '[\x20\x5ct\x5cn\x5cr]'
|
|
},
|
|
_0x3e408e = 0x0,
|
|
_0x55bc2f = 0x0,
|
|
_0x5f2f07 = 0x0,
|
|
_0x482c66 = {
|
|
'line': 0x1,
|
|
'column': 0x1,
|
|
'seenCR': ![]
|
|
},
|
|
_0x7dbbe5 = 0x0,
|
|
_0x1fda2f = [],
|
|
_0x15e012 = 0x0,
|
|
_0x2bfff2;
|
|
if ('startRule' in _0xf95720) {
|
|
if (!(_0xf95720['startRule'] in _0x520ba4)) {
|
|
throw new Error('Can\x27t\x20start\x20parsing\x20from\x20rule\x20\x22' + _0xf95720['startRule'] + '\x22.');
|
|
}
|
|
_0x3c91de = _0x520ba4[_0xf95720['startRule']];
|
|
}
|
|
|
|
function _0x55e6ee() {
|
|
return _0x3a6242['substring'](_0x55bc2f, _0x3e408e);
|
|
}
|
|
|
|
function _0x34aa85() {
|
|
return _0x55bc2f;
|
|
}
|
|
|
|
function _0x83f5f7() {
|
|
return _0x3d95d5(_0x55bc2f)['line'];
|
|
}
|
|
|
|
function _0x299bb3() {
|
|
return _0x3d95d5(_0x55bc2f)['column'];
|
|
}
|
|
|
|
function _0x5f591f(_0x3c65e8) {
|
|
throw _0x2f901a(null, [{
|
|
'type': 'other',
|
|
'description': _0x3c65e8
|
|
}], _0x55bc2f);
|
|
}
|
|
|
|
function _0x5038a9(_0x1ed506) {
|
|
throw _0x2f901a(_0x1ed506, null, _0x55bc2f);
|
|
}
|
|
|
|
function _0x3d95d5(_0x4f850f) {
|
|
function _0x122f48(_0x20a115, _0x56c31b, _0x20288c) {
|
|
var _0x448ad8, _0x62a2a1;
|
|
for (_0x448ad8 = _0x56c31b; _0x448ad8 < _0x20288c; _0x448ad8++) {
|
|
_0x62a2a1 = _0x3a6242['charAt'](_0x448ad8);
|
|
if (_0x62a2a1 === '\x0a') {
|
|
if (!_0x20a115['seenCR']) {
|
|
_0x20a115['line']++;
|
|
}
|
|
_0x20a115['column'] = 0x1;
|
|
_0x20a115['seenCR'] = ![];
|
|
} else if (_0x62a2a1 === '\x0d' || _0x62a2a1 === '\u2028' || _0x62a2a1 === '\u2029') {
|
|
_0x20a115['line']++;
|
|
_0x20a115['column'] = 0x1;
|
|
_0x20a115['seenCR'] = !![];
|
|
} else {
|
|
_0x20a115['column']++;
|
|
_0x20a115['seenCR'] = ![];
|
|
}
|
|
}
|
|
}
|
|
if (_0x5f2f07 !== _0x4f850f) {
|
|
if (_0x5f2f07 > _0x4f850f) {
|
|
_0x5f2f07 = 0x0;
|
|
_0x482c66 = {
|
|
'line': 0x1,
|
|
'column': 0x1,
|
|
'seenCR': ![]
|
|
};
|
|
}
|
|
_0x122f48(_0x482c66, _0x5f2f07, _0x4f850f);
|
|
_0x5f2f07 = _0x4f850f;
|
|
}
|
|
return _0x482c66;
|
|
}
|
|
|
|
function _0x569314(_0x1bd4d0) {
|
|
if (_0x3e408e < _0x7dbbe5) {
|
|
return;
|
|
}
|
|
if (_0x3e408e > _0x7dbbe5) {
|
|
_0x7dbbe5 = _0x3e408e;
|
|
_0x1fda2f = [];
|
|
}
|
|
_0x1fda2f['push'](_0x1bd4d0);
|
|
}
|
|
|
|
function _0x2f901a(_0x13e6a0, _0xf91d3e, _0x3c913f) {
|
|
function _0x2e97b2(_0x24c9dd) {
|
|
var _0xba4eba = 0x1;
|
|
_0x24c9dd['sort'](function(_0x15643f, _0x7b7e06) {
|
|
if (_0x15643f['description'] < _0x7b7e06['description']) {
|
|
return -0x1;
|
|
} else if (_0x15643f['description'] > _0x7b7e06['description']) {
|
|
return 0x1;
|
|
} else {
|
|
return 0x0;
|
|
}
|
|
});
|
|
while (_0xba4eba < _0x24c9dd['length']) {
|
|
if (_0x24c9dd[_0xba4eba - 0x1] === _0x24c9dd[_0xba4eba]) {
|
|
_0x24c9dd['splice'](_0xba4eba, 0x1);
|
|
} else {
|
|
_0xba4eba++;
|
|
}
|
|
}
|
|
}
|
|
|
|
function _0x208340(_0x31e3aa, _0x2d3db5) {
|
|
function _0x1f97e3(_0x12ebdf) {
|
|
function _0x1a1dba(_0x4783bd) {
|
|
return _0x4783bd['charCodeAt'](0x0)['toString'](0x10)['toUpperCase']();
|
|
}
|
|
return _0x12ebdf['replace'](/\\/g, '\x5c\x5c')['replace'](/"/g, '\x5c\x22')['replace'](/\x08/g, '\x5cb')['replace'](/\t/g, '\x5ct')['replace'](/\n/g, '\x5cn')['replace'](/\f/g, '\x5cf')['replace'](/\r/g, '\x5cr')['replace'](/[\x00-\x07\x0B\x0E\x0F]/g, function(_0x4d0809) {
|
|
return '\x5cx0' + _0x1a1dba(_0x4d0809);
|
|
})['replace'](/[\x10-\x1F\x80-\xFF]/g, function(_0xf5b428) {
|
|
return '\x5cx' + _0x1a1dba(_0xf5b428);
|
|
})['replace'](/[\u0180-\u0FFF]/g, function(_0x25ab64) {
|
|
return '\x5cu0' + _0x1a1dba(_0x25ab64);
|
|
})['replace'](/[\u1080-\uFFFF]/g, function(_0x23b97b) {
|
|
return '\x5cu' + _0x1a1dba(_0x23b97b);
|
|
});
|
|
}
|
|
var _0x280d62 = new Array(_0x31e3aa['length']),
|
|
_0x1be497, _0x350d25, _0xc094de;
|
|
for (_0xc094de = 0x0; _0xc094de < _0x31e3aa['length']; _0xc094de++) {
|
|
_0x280d62[_0xc094de] = _0x31e3aa[_0xc094de]['description'];
|
|
}
|
|
_0x1be497 = _0x31e3aa['length'] > 0x1 ? _0x280d62['slice'](0x0, -0x1)['join'](',\x20') + '\x20or\x20' + _0x280d62[_0x31e3aa['length'] - 0x1] : _0x280d62[0x0];
|
|
_0x350d25 = _0x2d3db5 ? '\x22' + _0x1f97e3(_0x2d3db5) + '\x22' : 'end\x20of\x20input';
|
|
return 'Expected\x20' + _0x1be497 + '\x20but\x20' + _0x350d25 + '\x20found.';
|
|
}
|
|
var _0x28c2cf = _0x3d95d5(_0x3c913f),
|
|
_0x3a7d1a = _0x3c913f < _0x3a6242['length'] ? _0x3a6242['charAt'](_0x3c913f) : null;
|
|
if (_0xf91d3e !== null) {
|
|
_0x2e97b2(_0xf91d3e);
|
|
}
|
|
return new _0x4cc4a9(_0x13e6a0 !== null ? _0x13e6a0 : _0x208340(_0xf91d3e, _0x3a7d1a), _0xf91d3e, _0x3a7d1a, _0x3c913f, _0x28c2cf['line'], _0x28c2cf['column']);
|
|
}
|
|
|
|
function _0x19a2be() {
|
|
var _0xce07fa, _0x4a404b, _0x27603b, _0x5a3f6a, _0x1e5b9e;
|
|
_0xce07fa = _0x3e408e;
|
|
_0x4a404b = [];
|
|
_0x27603b = _0x553f5b();
|
|
while (_0x27603b !== _0x4e763b) {
|
|
_0x4a404b['push'](_0x27603b);
|
|
_0x27603b = _0x553f5b();
|
|
}
|
|
if (_0x4a404b !== _0x4e763b) {
|
|
_0x27603b = _0x3b76e1();
|
|
if (_0x27603b === _0x4e763b) {
|
|
_0x27603b = _0x375d49;
|
|
}
|
|
if (_0x27603b !== _0x4e763b) {
|
|
_0x5a3f6a = [];
|
|
_0x1e5b9e = _0x553f5b();
|
|
while (_0x1e5b9e !== _0x4e763b) {
|
|
_0x5a3f6a['push'](_0x1e5b9e);
|
|
_0x1e5b9e = _0x553f5b();
|
|
}
|
|
if (_0x5a3f6a !== _0x4e763b) {
|
|
_0x55bc2f = _0xce07fa;
|
|
_0x4a404b = _0x46920b(_0x27603b);
|
|
_0xce07fa = _0x4a404b;
|
|
} else {
|
|
_0x3e408e = _0xce07fa;
|
|
_0xce07fa = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0xce07fa;
|
|
_0xce07fa = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0xce07fa;
|
|
_0xce07fa = _0x56093a;
|
|
}
|
|
return _0xce07fa;
|
|
}
|
|
|
|
function _0x3b76e1() {
|
|
var _0x35b597, _0x3e84a3, _0x1f9f3d, _0x105cd4, _0x55d3ab;
|
|
_0x35b597 = _0x3e408e;
|
|
_0x3e84a3 = _0x1da102();
|
|
if (_0x3e84a3 !== _0x4e763b) {
|
|
_0x1f9f3d = _0x3e408e;
|
|
_0x105cd4 = [];
|
|
_0x55d3ab = _0x553f5b();
|
|
while (_0x55d3ab !== _0x4e763b) {
|
|
_0x105cd4['push'](_0x55d3ab);
|
|
_0x55d3ab = _0x553f5b();
|
|
}
|
|
if (_0x105cd4 !== _0x4e763b) {
|
|
_0x55d3ab = _0x3b76e1();
|
|
if (_0x55d3ab !== _0x4e763b) {
|
|
_0x105cd4 = [_0x105cd4, _0x55d3ab];
|
|
_0x1f9f3d = _0x105cd4;
|
|
} else {
|
|
_0x3e408e = _0x1f9f3d;
|
|
_0x1f9f3d = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x1f9f3d;
|
|
_0x1f9f3d = _0x56093a;
|
|
}
|
|
if (_0x1f9f3d === _0x4e763b) {
|
|
_0x1f9f3d = _0x375d49;
|
|
}
|
|
if (_0x1f9f3d !== _0x4e763b) {
|
|
_0x3e84a3 = [_0x3e84a3, _0x1f9f3d];
|
|
_0x35b597 = _0x3e84a3;
|
|
} else {
|
|
_0x3e408e = _0x35b597;
|
|
_0x35b597 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x35b597;
|
|
_0x35b597 = _0x56093a;
|
|
}
|
|
return _0x35b597;
|
|
}
|
|
|
|
function _0x1da102() {
|
|
var _0x3876a5, _0x233bbe, _0x1c2791, _0x4e689d, _0x22482a;
|
|
_0x3876a5 = _0x3e408e;
|
|
_0x233bbe = _0x893e26();
|
|
if (_0x233bbe !== _0x4e763b) {
|
|
_0x1c2791 = _0x3e408e;
|
|
_0x4e689d = [];
|
|
_0x22482a = _0x553f5b();
|
|
while (_0x22482a !== _0x4e763b) {
|
|
_0x4e689d['push'](_0x22482a);
|
|
_0x22482a = _0x553f5b();
|
|
}
|
|
if (_0x4e689d !== _0x4e763b) {
|
|
_0x22482a = _0x12b906();
|
|
if (_0x22482a !== _0x4e763b) {
|
|
_0x4e689d = [_0x4e689d, _0x22482a];
|
|
_0x1c2791 = _0x4e689d;
|
|
} else {
|
|
_0x3e408e = _0x1c2791;
|
|
_0x1c2791 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x1c2791;
|
|
_0x1c2791 = _0x56093a;
|
|
}
|
|
if (_0x1c2791 === _0x4e763b) {
|
|
_0x1c2791 = _0x375d49;
|
|
}
|
|
if (_0x1c2791 !== _0x4e763b) {
|
|
_0x233bbe = [_0x233bbe, _0x1c2791];
|
|
_0x3876a5 = _0x233bbe;
|
|
} else {
|
|
_0x3e408e = _0x3876a5;
|
|
_0x3876a5 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x3876a5;
|
|
_0x3876a5 = _0x56093a;
|
|
}
|
|
return _0x3876a5;
|
|
}
|
|
|
|
function _0x12b906() {
|
|
var _0x470592, _0x4f49fa, _0x527996, _0xdffd8d, _0x564644;
|
|
_0x470592 = _0x3e408e;
|
|
_0x4f49fa = _0x2ef62e();
|
|
if (_0x4f49fa !== _0x4e763b) {
|
|
_0x527996 = _0x3e408e;
|
|
_0xdffd8d = [];
|
|
_0x564644 = _0x553f5b();
|
|
while (_0x564644 !== _0x4e763b) {
|
|
_0xdffd8d['push'](_0x564644);
|
|
_0x564644 = _0x553f5b();
|
|
}
|
|
if (_0xdffd8d !== _0x4e763b) {
|
|
_0x564644 = _0x12b906();
|
|
if (_0x564644 !== _0x4e763b) {
|
|
_0xdffd8d = [_0xdffd8d, _0x564644];
|
|
_0x527996 = _0xdffd8d;
|
|
} else {
|
|
_0x3e408e = _0x527996;
|
|
_0x527996 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x527996;
|
|
_0x527996 = _0x56093a;
|
|
}
|
|
if (_0x527996 === _0x4e763b) {
|
|
_0x527996 = _0x375d49;
|
|
}
|
|
if (_0x527996 !== _0x4e763b) {
|
|
_0x4f49fa = [_0x4f49fa, _0x527996];
|
|
_0x470592 = _0x4f49fa;
|
|
} else {
|
|
_0x3e408e = _0x470592;
|
|
_0x470592 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x470592;
|
|
_0x470592 = _0x56093a;
|
|
}
|
|
return _0x470592;
|
|
}
|
|
|
|
function _0x2ef62e() {
|
|
var _0x61ef5c;
|
|
_0x61ef5c = _0xf830c1();
|
|
if (_0x61ef5c === _0x4e763b) {
|
|
_0x61ef5c = _0x4e4f13();
|
|
if (_0x61ef5c === _0x4e763b) {
|
|
_0x61ef5c = _0x5e3341();
|
|
if (_0x61ef5c === _0x4e763b) {
|
|
_0x61ef5c = _0x5804f9();
|
|
if (_0x61ef5c === _0x4e763b) {
|
|
_0x61ef5c = _0x1fa3d9();
|
|
if (_0x61ef5c === _0x4e763b) {
|
|
_0x61ef5c = _0x3bb24f();
|
|
if (_0x61ef5c === _0x4e763b) {
|
|
_0x61ef5c = _0x1d0640();
|
|
if (_0x61ef5c === _0x4e763b) {
|
|
_0x61ef5c = _0x348547();
|
|
if (_0x61ef5c === _0x4e763b) {
|
|
_0x61ef5c = _0x553067();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return _0x61ef5c;
|
|
}
|
|
|
|
function _0x893e26() {
|
|
var _0x381238, _0x436b86, _0x2b7c21, _0x41077d;
|
|
_0x381238 = _0x3e408e;
|
|
if (_0x1f3890['test'](_0x3a6242['charAt'](_0x3e408e))) {
|
|
_0x436b86 = _0x3a6242['charAt'](_0x3e408e);
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x436b86 = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x5cb2e6);
|
|
}
|
|
}
|
|
if (_0x436b86 !== _0x4e763b) {
|
|
_0x2b7c21 = [];
|
|
_0x41077d = _0x553f5b();
|
|
while (_0x41077d !== _0x4e763b) {
|
|
_0x2b7c21['push'](_0x41077d);
|
|
_0x41077d = _0x553f5b();
|
|
}
|
|
if (_0x2b7c21 !== _0x4e763b) {
|
|
_0x41077d = _0x4fc8de();
|
|
if (_0x41077d !== _0x4e763b) {
|
|
_0x55bc2f = _0x381238;
|
|
_0x436b86 = _0x24a516(_0x436b86, _0x41077d);
|
|
_0x381238 = _0x436b86;
|
|
} else {
|
|
_0x3e408e = _0x381238;
|
|
_0x381238 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x381238;
|
|
_0x381238 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x381238;
|
|
_0x381238 = _0x56093a;
|
|
}
|
|
return _0x381238;
|
|
}
|
|
|
|
function _0x4fc8de() {
|
|
var _0x580c45, _0x3f7f44, _0x2ace55, _0x21a7f1, _0xe4cd2b;
|
|
_0x580c45 = _0x3e408e;
|
|
_0x3f7f44 = _0x38a50a();
|
|
if (_0x3f7f44 !== _0x4e763b) {
|
|
_0x2ace55 = _0x3e408e;
|
|
_0x21a7f1 = _0x5bbfe4();
|
|
if (_0x21a7f1 === _0x4e763b) {
|
|
_0x21a7f1 = _0x375d49;
|
|
}
|
|
if (_0x21a7f1 !== _0x4e763b) {
|
|
_0xe4cd2b = _0x26c904();
|
|
if (_0xe4cd2b !== _0x4e763b) {
|
|
_0x21a7f1 = [_0x21a7f1, _0xe4cd2b];
|
|
_0x2ace55 = _0x21a7f1;
|
|
} else {
|
|
_0x3e408e = _0x2ace55;
|
|
_0x2ace55 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x2ace55;
|
|
_0x2ace55 = _0x56093a;
|
|
}
|
|
if (_0x2ace55 === _0x4e763b) {
|
|
_0x2ace55 = _0x375d49;
|
|
}
|
|
if (_0x2ace55 !== _0x4e763b) {
|
|
_0x55bc2f = _0x580c45;
|
|
_0x3f7f44 = _0x5e38d7(_0x3f7f44, _0x2ace55);
|
|
_0x580c45 = _0x3f7f44;
|
|
} else {
|
|
_0x3e408e = _0x580c45;
|
|
_0x580c45 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x580c45;
|
|
_0x580c45 = _0x56093a;
|
|
}
|
|
return _0x580c45;
|
|
}
|
|
|
|
function _0xf830c1() {
|
|
var _0x4a09ef, _0x3814c5;
|
|
_0x4a09ef = _0x3e408e;
|
|
if (_0x387727['test'](_0x3a6242['charAt'](_0x3e408e))) {
|
|
_0x3814c5 = _0x3a6242['charAt'](_0x3e408e);
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x3814c5 = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x2868a8);
|
|
}
|
|
}
|
|
if (_0x3814c5 !== _0x4e763b) {
|
|
_0x55bc2f = _0x4a09ef;
|
|
_0x3814c5 = _0x594869();
|
|
}
|
|
_0x4a09ef = _0x3814c5;
|
|
return _0x4a09ef;
|
|
}
|
|
|
|
function _0x4e4f13() {
|
|
var _0x334609, _0xb49ef9, _0x341763, _0x5aa41b;
|
|
_0x334609 = _0x3e408e;
|
|
if (_0x589f3b['test'](_0x3a6242['charAt'](_0x3e408e))) {
|
|
_0xb49ef9 = _0x3a6242['charAt'](_0x3e408e);
|
|
_0x3e408e++;
|
|
} else {
|
|
_0xb49ef9 = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x2d2081);
|
|
}
|
|
}
|
|
if (_0xb49ef9 !== _0x4e763b) {
|
|
_0x341763 = [];
|
|
_0x5aa41b = _0x553f5b();
|
|
while (_0x5aa41b !== _0x4e763b) {
|
|
_0x341763['push'](_0x5aa41b);
|
|
_0x5aa41b = _0x553f5b();
|
|
}
|
|
if (_0x341763 !== _0x4e763b) {
|
|
_0x5aa41b = _0x26c904();
|
|
if (_0x5aa41b !== _0x4e763b) {
|
|
_0x55bc2f = _0x334609;
|
|
_0xb49ef9 = _0x50849d(_0xb49ef9, _0x5aa41b);
|
|
_0x334609 = _0xb49ef9;
|
|
} else {
|
|
_0x3e408e = _0x334609;
|
|
_0x334609 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x334609;
|
|
_0x334609 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x334609;
|
|
_0x334609 = _0x56093a;
|
|
}
|
|
return _0x334609;
|
|
}
|
|
|
|
function _0x26c904() {
|
|
var _0x4a15e6, _0x4a995b, _0x27d7c7, _0x2e38ab, _0x4563fc;
|
|
_0x4a15e6 = _0x3e408e;
|
|
_0x4a995b = _0x38a50a();
|
|
if (_0x4a995b !== _0x4e763b) {
|
|
_0x27d7c7 = _0x3e408e;
|
|
_0x2e38ab = _0x5bbfe4();
|
|
if (_0x2e38ab === _0x4e763b) {
|
|
_0x2e38ab = _0x375d49;
|
|
}
|
|
if (_0x2e38ab !== _0x4e763b) {
|
|
_0x4563fc = _0x26c904();
|
|
if (_0x4563fc !== _0x4e763b) {
|
|
_0x2e38ab = [_0x2e38ab, _0x4563fc];
|
|
_0x27d7c7 = _0x2e38ab;
|
|
} else {
|
|
_0x3e408e = _0x27d7c7;
|
|
_0x27d7c7 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x27d7c7;
|
|
_0x27d7c7 = _0x56093a;
|
|
}
|
|
if (_0x27d7c7 === _0x4e763b) {
|
|
_0x27d7c7 = _0x375d49;
|
|
}
|
|
if (_0x27d7c7 !== _0x4e763b) {
|
|
_0x55bc2f = _0x4a15e6;
|
|
_0x4a995b = _0x5e38d7(_0x4a995b, _0x27d7c7);
|
|
_0x4a15e6 = _0x4a995b;
|
|
} else {
|
|
_0x3e408e = _0x4a15e6;
|
|
_0x4a15e6 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x4a15e6;
|
|
_0x4a15e6 = _0x56093a;
|
|
}
|
|
return _0x4a15e6;
|
|
}
|
|
|
|
function _0x5e3341() {
|
|
var _0xf3e26, _0x5c6a34, _0x304759, _0x4e8cd7;
|
|
_0xf3e26 = _0x3e408e;
|
|
if (_0x4c4628['test'](_0x3a6242['charAt'](_0x3e408e))) {
|
|
_0x5c6a34 = _0x3a6242['charAt'](_0x3e408e);
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x5c6a34 = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x36aa8b);
|
|
}
|
|
}
|
|
if (_0x5c6a34 !== _0x4e763b) {
|
|
_0x304759 = [];
|
|
_0x4e8cd7 = _0x553f5b();
|
|
while (_0x4e8cd7 !== _0x4e763b) {
|
|
_0x304759['push'](_0x4e8cd7);
|
|
_0x4e8cd7 = _0x553f5b();
|
|
}
|
|
if (_0x304759 !== _0x4e763b) {
|
|
_0x4e8cd7 = _0x2920d4();
|
|
if (_0x4e8cd7 !== _0x4e763b) {
|
|
_0x55bc2f = _0xf3e26;
|
|
_0x5c6a34 = _0x487dce(_0x5c6a34, _0x4e8cd7);
|
|
_0xf3e26 = _0x5c6a34;
|
|
} else {
|
|
_0x3e408e = _0xf3e26;
|
|
_0xf3e26 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0xf3e26;
|
|
_0xf3e26 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0xf3e26;
|
|
_0xf3e26 = _0x56093a;
|
|
}
|
|
return _0xf3e26;
|
|
}
|
|
|
|
function _0x2920d4() {
|
|
var _0x837728, _0x486290, _0x427e42, _0x48f743, _0xa4edad;
|
|
_0x837728 = _0x3e408e;
|
|
_0x486290 = _0x462d74();
|
|
if (_0x486290 !== _0x4e763b) {
|
|
_0x427e42 = _0x3e408e;
|
|
_0x48f743 = _0x5bbfe4();
|
|
if (_0x48f743 === _0x4e763b) {
|
|
_0x48f743 = _0x375d49;
|
|
}
|
|
if (_0x48f743 !== _0x4e763b) {
|
|
_0xa4edad = _0x2920d4();
|
|
if (_0xa4edad !== _0x4e763b) {
|
|
_0x48f743 = [_0x48f743, _0xa4edad];
|
|
_0x427e42 = _0x48f743;
|
|
} else {
|
|
_0x3e408e = _0x427e42;
|
|
_0x427e42 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x427e42;
|
|
_0x427e42 = _0x56093a;
|
|
}
|
|
if (_0x427e42 === _0x4e763b) {
|
|
_0x427e42 = _0x375d49;
|
|
}
|
|
if (_0x427e42 !== _0x4e763b) {
|
|
_0x55bc2f = _0x837728;
|
|
_0x486290 = _0x5e38d7(_0x486290, _0x427e42);
|
|
_0x837728 = _0x486290;
|
|
} else {
|
|
_0x3e408e = _0x837728;
|
|
_0x837728 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x837728;
|
|
_0x837728 = _0x56093a;
|
|
}
|
|
return _0x837728;
|
|
}
|
|
|
|
function _0x5804f9() {
|
|
var _0x8965a, _0xf28695, _0x3aa646, _0x431142;
|
|
_0x8965a = _0x3e408e;
|
|
if (_0x2f8fdc['test'](_0x3a6242['charAt'](_0x3e408e))) {
|
|
_0xf28695 = _0x3a6242['charAt'](_0x3e408e);
|
|
_0x3e408e++;
|
|
} else {
|
|
_0xf28695 = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x391e28);
|
|
}
|
|
}
|
|
if (_0xf28695 !== _0x4e763b) {
|
|
_0x3aa646 = [];
|
|
_0x431142 = _0x553f5b();
|
|
while (_0x431142 !== _0x4e763b) {
|
|
_0x3aa646['push'](_0x431142);
|
|
_0x431142 = _0x553f5b();
|
|
}
|
|
if (_0x3aa646 !== _0x4e763b) {
|
|
_0x431142 = _0x2920d4();
|
|
if (_0x431142 !== _0x4e763b) {
|
|
_0x55bc2f = _0x8965a;
|
|
_0xf28695 = _0x2fb111(_0xf28695, _0x431142);
|
|
_0x8965a = _0xf28695;
|
|
} else {
|
|
_0x3e408e = _0x8965a;
|
|
_0x8965a = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x8965a;
|
|
_0x8965a = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x8965a;
|
|
_0x8965a = _0x56093a;
|
|
}
|
|
return _0x8965a;
|
|
}
|
|
|
|
function _0x1fa3d9() {
|
|
var _0x2bd81b, _0x4ead37, _0xb9e94a, _0x1f1d21;
|
|
_0x2bd81b = _0x3e408e;
|
|
if (_0x4a4882['test'](_0x3a6242['charAt'](_0x3e408e))) {
|
|
_0x4ead37 = _0x3a6242['charAt'](_0x3e408e);
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x4ead37 = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x1371ac);
|
|
}
|
|
}
|
|
if (_0x4ead37 !== _0x4e763b) {
|
|
_0xb9e94a = [];
|
|
_0x1f1d21 = _0x553f5b();
|
|
while (_0x1f1d21 !== _0x4e763b) {
|
|
_0xb9e94a['push'](_0x1f1d21);
|
|
_0x1f1d21 = _0x553f5b();
|
|
}
|
|
if (_0xb9e94a !== _0x4e763b) {
|
|
_0x1f1d21 = _0x49f3cf();
|
|
if (_0x1f1d21 !== _0x4e763b) {
|
|
_0x55bc2f = _0x2bd81b;
|
|
_0x4ead37 = _0x51b1f6(_0x4ead37, _0x1f1d21);
|
|
_0x2bd81b = _0x4ead37;
|
|
} else {
|
|
_0x3e408e = _0x2bd81b;
|
|
_0x2bd81b = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x2bd81b;
|
|
_0x2bd81b = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x2bd81b;
|
|
_0x2bd81b = _0x56093a;
|
|
}
|
|
return _0x2bd81b;
|
|
}
|
|
|
|
function _0x49f3cf() {
|
|
var _0xe5c33a, _0x477328, _0x119ce9, _0xdf5b04, _0x57237e;
|
|
_0xe5c33a = _0x3e408e;
|
|
_0x477328 = _0x1a31ff();
|
|
if (_0x477328 !== _0x4e763b) {
|
|
_0x119ce9 = _0x3e408e;
|
|
_0xdf5b04 = _0x5bbfe4();
|
|
if (_0xdf5b04 === _0x4e763b) {
|
|
_0xdf5b04 = _0x375d49;
|
|
}
|
|
if (_0xdf5b04 !== _0x4e763b) {
|
|
_0x57237e = _0x49f3cf();
|
|
if (_0x57237e !== _0x4e763b) {
|
|
_0xdf5b04 = [_0xdf5b04, _0x57237e];
|
|
_0x119ce9 = _0xdf5b04;
|
|
} else {
|
|
_0x3e408e = _0x119ce9;
|
|
_0x119ce9 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x119ce9;
|
|
_0x119ce9 = _0x56093a;
|
|
}
|
|
if (_0x119ce9 === _0x4e763b) {
|
|
_0x119ce9 = _0x375d49;
|
|
}
|
|
if (_0x119ce9 !== _0x4e763b) {
|
|
_0x55bc2f = _0xe5c33a;
|
|
_0x477328 = _0x5e38d7(_0x477328, _0x119ce9);
|
|
_0xe5c33a = _0x477328;
|
|
} else {
|
|
_0x3e408e = _0xe5c33a;
|
|
_0xe5c33a = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0xe5c33a;
|
|
_0xe5c33a = _0x56093a;
|
|
}
|
|
return _0xe5c33a;
|
|
}
|
|
|
|
function _0x1a31ff() {
|
|
var _0x2c770d, _0x25f1f8, _0x1b91ba, _0x12ee28, _0x425af4, _0x2feeef;
|
|
_0x2c770d = _0x3e408e;
|
|
_0x25f1f8 = _0x38a50a();
|
|
if (_0x25f1f8 !== _0x4e763b) {
|
|
_0x1b91ba = _0x5bbfe4();
|
|
if (_0x1b91ba === _0x4e763b) {
|
|
_0x1b91ba = _0x375d49;
|
|
}
|
|
if (_0x1b91ba !== _0x4e763b) {
|
|
_0x12ee28 = _0x38a50a();
|
|
if (_0x12ee28 !== _0x4e763b) {
|
|
_0x425af4 = _0x5bbfe4();
|
|
if (_0x425af4 === _0x4e763b) {
|
|
_0x425af4 = _0x375d49;
|
|
}
|
|
if (_0x425af4 !== _0x4e763b) {
|
|
_0x2feeef = _0x38a50a();
|
|
if (_0x2feeef !== _0x4e763b) {
|
|
_0x55bc2f = _0x2c770d;
|
|
_0x25f1f8 = _0xe1e1(_0x25f1f8, _0x12ee28, _0x2feeef);
|
|
_0x2c770d = _0x25f1f8;
|
|
} else {
|
|
_0x3e408e = _0x2c770d;
|
|
_0x2c770d = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x2c770d;
|
|
_0x2c770d = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x2c770d;
|
|
_0x2c770d = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x2c770d;
|
|
_0x2c770d = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x2c770d;
|
|
_0x2c770d = _0x56093a;
|
|
}
|
|
return _0x2c770d;
|
|
}
|
|
|
|
function _0x3bb24f() {
|
|
var _0x1efc96, _0x3533a4, _0x5baf6a, _0x3eaabf;
|
|
_0x1efc96 = _0x3e408e;
|
|
if (_0x3c0d2e['test'](_0x3a6242['charAt'](_0x3e408e))) {
|
|
_0x3533a4 = _0x3a6242['charAt'](_0x3e408e);
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x3533a4 = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x394135);
|
|
}
|
|
}
|
|
if (_0x3533a4 !== _0x4e763b) {
|
|
_0x5baf6a = [];
|
|
_0x3eaabf = _0x553f5b();
|
|
while (_0x3eaabf !== _0x4e763b) {
|
|
_0x5baf6a['push'](_0x3eaabf);
|
|
_0x3eaabf = _0x553f5b();
|
|
}
|
|
if (_0x5baf6a !== _0x4e763b) {
|
|
_0x3eaabf = _0x1effcd();
|
|
if (_0x3eaabf !== _0x4e763b) {
|
|
_0x55bc2f = _0x1efc96;
|
|
_0x3533a4 = _0x4aa6f7(_0x3533a4, _0x3eaabf);
|
|
_0x1efc96 = _0x3533a4;
|
|
} else {
|
|
_0x3e408e = _0x1efc96;
|
|
_0x1efc96 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x1efc96;
|
|
_0x1efc96 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x1efc96;
|
|
_0x1efc96 = _0x56093a;
|
|
}
|
|
return _0x1efc96;
|
|
}
|
|
|
|
function _0x1effcd() {
|
|
var _0xd15e3b, _0x2e6edc, _0x560d2e, _0x3d4eec, _0x5b4cfd;
|
|
_0xd15e3b = _0x3e408e;
|
|
_0x2e6edc = _0x52a948();
|
|
if (_0x2e6edc !== _0x4e763b) {
|
|
_0x560d2e = _0x3e408e;
|
|
_0x3d4eec = _0x5bbfe4();
|
|
if (_0x3d4eec === _0x4e763b) {
|
|
_0x3d4eec = _0x375d49;
|
|
}
|
|
if (_0x3d4eec !== _0x4e763b) {
|
|
_0x5b4cfd = _0x1effcd();
|
|
if (_0x5b4cfd !== _0x4e763b) {
|
|
_0x3d4eec = [_0x3d4eec, _0x5b4cfd];
|
|
_0x560d2e = _0x3d4eec;
|
|
} else {
|
|
_0x3e408e = _0x560d2e;
|
|
_0x560d2e = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x560d2e;
|
|
_0x560d2e = _0x56093a;
|
|
}
|
|
if (_0x560d2e === _0x4e763b) {
|
|
_0x560d2e = _0x375d49;
|
|
}
|
|
if (_0x560d2e !== _0x4e763b) {
|
|
_0x55bc2f = _0xd15e3b;
|
|
_0x2e6edc = _0x5e38d7(_0x2e6edc, _0x560d2e);
|
|
_0xd15e3b = _0x2e6edc;
|
|
} else {
|
|
_0x3e408e = _0xd15e3b;
|
|
_0xd15e3b = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0xd15e3b;
|
|
_0xd15e3b = _0x56093a;
|
|
}
|
|
return _0xd15e3b;
|
|
}
|
|
|
|
function _0x52a948() {
|
|
var _0x8789b3, _0x4f9331, _0x132a7a, _0x181899;
|
|
_0x8789b3 = _0x3e408e;
|
|
_0x4f9331 = _0x38a50a();
|
|
if (_0x4f9331 !== _0x4e763b) {
|
|
_0x132a7a = _0x5bbfe4();
|
|
if (_0x132a7a === _0x4e763b) {
|
|
_0x132a7a = _0x375d49;
|
|
}
|
|
if (_0x132a7a !== _0x4e763b) {
|
|
_0x181899 = _0x38a50a();
|
|
if (_0x181899 !== _0x4e763b) {
|
|
_0x55bc2f = _0x8789b3;
|
|
_0x4f9331 = _0x30c615(_0x4f9331, _0x181899);
|
|
_0x8789b3 = _0x4f9331;
|
|
} else {
|
|
_0x3e408e = _0x8789b3;
|
|
_0x8789b3 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x8789b3;
|
|
_0x8789b3 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x8789b3;
|
|
_0x8789b3 = _0x56093a;
|
|
}
|
|
return _0x8789b3;
|
|
}
|
|
|
|
function _0x1d0640() {
|
|
var _0x4bc9ab, _0x599d9a, _0x49718b, _0x23fc95;
|
|
_0x4bc9ab = _0x3e408e;
|
|
if (_0x3a67c6['test'](_0x3a6242['charAt'](_0x3e408e))) {
|
|
_0x599d9a = _0x3a6242['charAt'](_0x3e408e);
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x599d9a = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x85b933);
|
|
}
|
|
}
|
|
if (_0x599d9a !== _0x4e763b) {
|
|
_0x49718b = [];
|
|
_0x23fc95 = _0x553f5b();
|
|
while (_0x23fc95 !== _0x4e763b) {
|
|
_0x49718b['push'](_0x23fc95);
|
|
_0x23fc95 = _0x553f5b();
|
|
}
|
|
if (_0x49718b !== _0x4e763b) {
|
|
_0x23fc95 = _0x525db0();
|
|
if (_0x23fc95 !== _0x4e763b) {
|
|
_0x55bc2f = _0x4bc9ab;
|
|
_0x599d9a = _0x3ceb0a(_0x599d9a, _0x23fc95);
|
|
_0x4bc9ab = _0x599d9a;
|
|
} else {
|
|
_0x3e408e = _0x4bc9ab;
|
|
_0x4bc9ab = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x4bc9ab;
|
|
_0x4bc9ab = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x4bc9ab;
|
|
_0x4bc9ab = _0x56093a;
|
|
}
|
|
return _0x4bc9ab;
|
|
}
|
|
|
|
function _0x525db0() {
|
|
var _0x58bd8f, _0x27e03c, _0x102d08, _0x59fdd8, _0xa8edd;
|
|
_0x58bd8f = _0x3e408e;
|
|
_0x27e03c = _0x48e64d();
|
|
if (_0x27e03c !== _0x4e763b) {
|
|
_0x102d08 = _0x3e408e;
|
|
_0x59fdd8 = _0x5bbfe4();
|
|
if (_0x59fdd8 === _0x4e763b) {
|
|
_0x59fdd8 = _0x375d49;
|
|
}
|
|
if (_0x59fdd8 !== _0x4e763b) {
|
|
_0xa8edd = _0x525db0();
|
|
if (_0xa8edd !== _0x4e763b) {
|
|
_0x59fdd8 = [_0x59fdd8, _0xa8edd];
|
|
_0x102d08 = _0x59fdd8;
|
|
} else {
|
|
_0x3e408e = _0x102d08;
|
|
_0x102d08 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x102d08;
|
|
_0x102d08 = _0x56093a;
|
|
}
|
|
if (_0x102d08 === _0x4e763b) {
|
|
_0x102d08 = _0x375d49;
|
|
}
|
|
if (_0x102d08 !== _0x4e763b) {
|
|
_0x55bc2f = _0x58bd8f;
|
|
_0x27e03c = _0x5e38d7(_0x27e03c, _0x102d08);
|
|
_0x58bd8f = _0x27e03c;
|
|
} else {
|
|
_0x3e408e = _0x58bd8f;
|
|
_0x58bd8f = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x58bd8f;
|
|
_0x58bd8f = _0x56093a;
|
|
}
|
|
return _0x58bd8f;
|
|
}
|
|
|
|
function _0x48e64d() {
|
|
var _0x5986f2, _0x42674d, _0x3d238c, _0x4fc37e;
|
|
_0x5986f2 = _0x3e408e;
|
|
_0x42674d = _0x38a50a();
|
|
if (_0x42674d !== _0x4e763b) {
|
|
_0x3d238c = _0x5bbfe4();
|
|
if (_0x3d238c === _0x4e763b) {
|
|
_0x3d238c = _0x375d49;
|
|
}
|
|
if (_0x3d238c !== _0x4e763b) {
|
|
_0x4fc37e = _0x38a50a();
|
|
if (_0x4fc37e !== _0x4e763b) {
|
|
_0x55bc2f = _0x5986f2;
|
|
_0x42674d = _0x30c615(_0x42674d, _0x4fc37e);
|
|
_0x5986f2 = _0x42674d;
|
|
} else {
|
|
_0x3e408e = _0x5986f2;
|
|
_0x5986f2 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x5986f2;
|
|
_0x5986f2 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x5986f2;
|
|
_0x5986f2 = _0x56093a;
|
|
}
|
|
return _0x5986f2;
|
|
}
|
|
|
|
function _0x348547() {
|
|
var _0x5a90a2, _0x15ac19, _0x5d1d81, _0x2bfd38;
|
|
_0x5a90a2 = _0x3e408e;
|
|
if (_0x543bea['test'](_0x3a6242['charAt'](_0x3e408e))) {
|
|
_0x15ac19 = _0x3a6242['charAt'](_0x3e408e);
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x15ac19 = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x16de6e);
|
|
}
|
|
}
|
|
if (_0x15ac19 !== _0x4e763b) {
|
|
_0x5d1d81 = [];
|
|
_0x2bfd38 = _0x553f5b();
|
|
while (_0x2bfd38 !== _0x4e763b) {
|
|
_0x5d1d81['push'](_0x2bfd38);
|
|
_0x2bfd38 = _0x553f5b();
|
|
}
|
|
if (_0x5d1d81 !== _0x4e763b) {
|
|
_0x2bfd38 = _0x18fab1();
|
|
if (_0x2bfd38 !== _0x4e763b) {
|
|
_0x55bc2f = _0x5a90a2;
|
|
_0x15ac19 = _0x207488(_0x15ac19, _0x2bfd38);
|
|
_0x5a90a2 = _0x15ac19;
|
|
} else {
|
|
_0x3e408e = _0x5a90a2;
|
|
_0x5a90a2 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x5a90a2;
|
|
_0x5a90a2 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x5a90a2;
|
|
_0x5a90a2 = _0x56093a;
|
|
}
|
|
return _0x5a90a2;
|
|
}
|
|
|
|
function _0x18fab1() {
|
|
var _0x4ce267, _0x2c1571, _0x536ee2, _0x33dfbc, _0x36236f;
|
|
_0x4ce267 = _0x3e408e;
|
|
_0x2c1571 = _0x38a50a();
|
|
if (_0x2c1571 !== _0x4e763b) {
|
|
_0x536ee2 = _0x3e408e;
|
|
_0x33dfbc = _0x5bbfe4();
|
|
if (_0x33dfbc === _0x4e763b) {
|
|
_0x33dfbc = _0x375d49;
|
|
}
|
|
if (_0x33dfbc !== _0x4e763b) {
|
|
_0x36236f = _0x18fab1();
|
|
if (_0x36236f !== _0x4e763b) {
|
|
_0x33dfbc = [_0x33dfbc, _0x36236f];
|
|
_0x536ee2 = _0x33dfbc;
|
|
} else {
|
|
_0x3e408e = _0x536ee2;
|
|
_0x536ee2 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x536ee2;
|
|
_0x536ee2 = _0x56093a;
|
|
}
|
|
if (_0x536ee2 === _0x4e763b) {
|
|
_0x536ee2 = _0x375d49;
|
|
}
|
|
if (_0x536ee2 !== _0x4e763b) {
|
|
_0x55bc2f = _0x4ce267;
|
|
_0x2c1571 = _0x5e38d7(_0x2c1571, _0x536ee2);
|
|
_0x4ce267 = _0x2c1571;
|
|
} else {
|
|
_0x3e408e = _0x4ce267;
|
|
_0x4ce267 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x4ce267;
|
|
_0x4ce267 = _0x56093a;
|
|
}
|
|
return _0x4ce267;
|
|
}
|
|
|
|
function _0x553067() {
|
|
var _0x241dc9, _0x3a69e5, _0x52a19f, _0x5ed547;
|
|
_0x241dc9 = _0x3e408e;
|
|
if (_0xd18715['test'](_0x3a6242['charAt'](_0x3e408e))) {
|
|
_0x3a69e5 = _0x3a6242['charAt'](_0x3e408e);
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x3a69e5 = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x30a6b0);
|
|
}
|
|
}
|
|
if (_0x3a69e5 !== _0x4e763b) {
|
|
_0x52a19f = [];
|
|
_0x5ed547 = _0x553f5b();
|
|
while (_0x5ed547 !== _0x4e763b) {
|
|
_0x52a19f['push'](_0x5ed547);
|
|
_0x5ed547 = _0x553f5b();
|
|
}
|
|
if (_0x52a19f !== _0x4e763b) {
|
|
_0x5ed547 = _0x21d7c9();
|
|
if (_0x5ed547 !== _0x4e763b) {
|
|
_0x55bc2f = _0x241dc9;
|
|
_0x3a69e5 = _0xbeac27(_0x3a69e5, _0x5ed547);
|
|
_0x241dc9 = _0x3a69e5;
|
|
} else {
|
|
_0x3e408e = _0x241dc9;
|
|
_0x241dc9 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x241dc9;
|
|
_0x241dc9 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x241dc9;
|
|
_0x241dc9 = _0x56093a;
|
|
}
|
|
return _0x241dc9;
|
|
}
|
|
|
|
function _0x21d7c9() {
|
|
var _0x2f2dca, _0x2b58d6, _0x17db3e, _0x795ed1, _0x3cc0de;
|
|
_0x2f2dca = _0x3e408e;
|
|
_0x2b58d6 = _0x4eedd3();
|
|
if (_0x2b58d6 !== _0x4e763b) {
|
|
_0x17db3e = _0x3e408e;
|
|
_0x795ed1 = _0x5bbfe4();
|
|
if (_0x795ed1 === _0x4e763b) {
|
|
_0x795ed1 = _0x375d49;
|
|
}
|
|
if (_0x795ed1 !== _0x4e763b) {
|
|
_0x3cc0de = _0x21d7c9();
|
|
if (_0x3cc0de !== _0x4e763b) {
|
|
_0x795ed1 = [_0x795ed1, _0x3cc0de];
|
|
_0x17db3e = _0x795ed1;
|
|
} else {
|
|
_0x3e408e = _0x17db3e;
|
|
_0x17db3e = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x17db3e;
|
|
_0x17db3e = _0x56093a;
|
|
}
|
|
if (_0x17db3e === _0x4e763b) {
|
|
_0x17db3e = _0x375d49;
|
|
}
|
|
if (_0x17db3e !== _0x4e763b) {
|
|
_0x55bc2f = _0x2f2dca;
|
|
_0x2b58d6 = _0x5e38d7(_0x2b58d6, _0x17db3e);
|
|
_0x2f2dca = _0x2b58d6;
|
|
} else {
|
|
_0x3e408e = _0x2f2dca;
|
|
_0x2f2dca = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x2f2dca;
|
|
_0x2f2dca = _0x56093a;
|
|
}
|
|
return _0x2f2dca;
|
|
}
|
|
|
|
function _0x4eedd3() {
|
|
var _0x10205c, _0x280c0a, _0x436886, _0x3c8efd, _0x5d6240, _0x151e7d, _0x5e6210, _0x525f36, _0x167195, _0x451acb, _0x4e74a4, _0x460bfa;
|
|
_0x10205c = _0x3e408e;
|
|
_0x280c0a = _0x442fed();
|
|
if (_0x280c0a !== _0x4e763b) {
|
|
_0x436886 = _0x5bbfe4();
|
|
if (_0x436886 === _0x4e763b) {
|
|
_0x436886 = _0x375d49;
|
|
}
|
|
if (_0x436886 !== _0x4e763b) {
|
|
_0x3c8efd = _0x442fed();
|
|
if (_0x3c8efd !== _0x4e763b) {
|
|
_0x5d6240 = _0x5bbfe4();
|
|
if (_0x5d6240 === _0x4e763b) {
|
|
_0x5d6240 = _0x375d49;
|
|
}
|
|
if (_0x5d6240 !== _0x4e763b) {
|
|
_0x151e7d = _0x33fb0d();
|
|
if (_0x151e7d !== _0x4e763b) {
|
|
_0x5e6210 = _0x5bbfe4();
|
|
if (_0x5e6210 !== _0x4e763b) {
|
|
_0x525f36 = _0x15076b();
|
|
if (_0x525f36 !== _0x4e763b) {
|
|
_0x167195 = _0x5bbfe4();
|
|
if (_0x167195 === _0x4e763b) {
|
|
_0x167195 = _0x375d49;
|
|
}
|
|
if (_0x167195 !== _0x4e763b) {
|
|
_0x451acb = _0x15076b();
|
|
if (_0x451acb !== _0x4e763b) {
|
|
_0x4e74a4 = _0x5bbfe4();
|
|
if (_0x4e74a4 === _0x4e763b) {
|
|
_0x4e74a4 = _0x375d49;
|
|
}
|
|
if (_0x4e74a4 !== _0x4e763b) {
|
|
_0x460bfa = _0x38a50a();
|
|
if (_0x460bfa !== _0x4e763b) {
|
|
_0x55bc2f = _0x10205c;
|
|
_0x280c0a = _0x2cbb71(_0x280c0a, _0x3c8efd, _0x151e7d, _0x525f36, _0x451acb, _0x460bfa);
|
|
_0x10205c = _0x280c0a;
|
|
} else {
|
|
_0x3e408e = _0x10205c;
|
|
_0x10205c = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x10205c;
|
|
_0x10205c = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x10205c;
|
|
_0x10205c = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x10205c;
|
|
_0x10205c = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x10205c;
|
|
_0x10205c = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x10205c;
|
|
_0x10205c = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x10205c;
|
|
_0x10205c = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x10205c;
|
|
_0x10205c = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x10205c;
|
|
_0x10205c = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x10205c;
|
|
_0x10205c = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x10205c;
|
|
_0x10205c = _0x56093a;
|
|
}
|
|
return _0x10205c;
|
|
}
|
|
|
|
function _0x38a50a() {
|
|
var _0x28b05c, _0x15aa6a, _0x27e6b7, _0x36c52b;
|
|
_0x28b05c = _0x3e408e;
|
|
_0x15aa6a = _0x462d74();
|
|
if (_0x15aa6a !== _0x4e763b) {
|
|
_0x27e6b7 = _0x5bbfe4();
|
|
if (_0x27e6b7 === _0x4e763b) {
|
|
_0x27e6b7 = _0x375d49;
|
|
}
|
|
if (_0x27e6b7 !== _0x4e763b) {
|
|
_0x36c52b = _0x462d74();
|
|
if (_0x36c52b !== _0x4e763b) {
|
|
_0x55bc2f = _0x28b05c;
|
|
_0x15aa6a = _0x201fa4(_0x15aa6a, _0x36c52b);
|
|
_0x28b05c = _0x15aa6a;
|
|
} else {
|
|
_0x3e408e = _0x28b05c;
|
|
_0x28b05c = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x28b05c;
|
|
_0x28b05c = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x28b05c;
|
|
_0x28b05c = _0x56093a;
|
|
}
|
|
return _0x28b05c;
|
|
}
|
|
|
|
function _0x462d74() {
|
|
var _0x4e23cc, _0x3d1d23;
|
|
_0x4e23cc = _0x3e408e;
|
|
_0x3d1d23 = _0x33fb0d();
|
|
if (_0x3d1d23 !== _0x4e763b) {
|
|
_0x55bc2f = _0x4e23cc;
|
|
_0x3d1d23 = _0x5a72e5(_0x3d1d23);
|
|
}
|
|
_0x4e23cc = _0x3d1d23;
|
|
return _0x4e23cc;
|
|
}
|
|
|
|
function _0x442fed() {
|
|
var _0x5b5bca;
|
|
_0x5b5bca = _0x1aacaf();
|
|
if (_0x5b5bca === _0x4e763b) {
|
|
_0x5b5bca = _0x501b81();
|
|
}
|
|
return _0x5b5bca;
|
|
}
|
|
|
|
function _0x33fb0d() {
|
|
var _0x150415, _0xe8558, _0x34fdae;
|
|
_0x150415 = _0x3e408e;
|
|
_0xe8558 = _0x48a226();
|
|
if (_0xe8558 === _0x4e763b) {
|
|
_0xe8558 = _0x375d49;
|
|
}
|
|
if (_0xe8558 !== _0x4e763b) {
|
|
_0x34fdae = _0x1aacaf();
|
|
if (_0x34fdae !== _0x4e763b) {
|
|
_0xe8558 = [_0xe8558, _0x34fdae];
|
|
_0x150415 = _0xe8558;
|
|
} else {
|
|
_0x3e408e = _0x150415;
|
|
_0x150415 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x150415;
|
|
_0x150415 = _0x56093a;
|
|
}
|
|
if (_0x150415 === _0x4e763b) {
|
|
_0x150415 = _0x3e408e;
|
|
_0xe8558 = _0x48a226();
|
|
if (_0xe8558 === _0x4e763b) {
|
|
_0xe8558 = _0x375d49;
|
|
}
|
|
if (_0xe8558 !== _0x4e763b) {
|
|
_0x34fdae = _0x501b81();
|
|
if (_0x34fdae !== _0x4e763b) {
|
|
_0xe8558 = [_0xe8558, _0x34fdae];
|
|
_0x150415 = _0xe8558;
|
|
} else {
|
|
_0x3e408e = _0x150415;
|
|
_0x150415 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x150415;
|
|
_0x150415 = _0x56093a;
|
|
}
|
|
}
|
|
return _0x150415;
|
|
}
|
|
|
|
function _0x15076b() {
|
|
var _0x1961e0;
|
|
if (_0x3a6242['charCodeAt'](_0x3e408e) === 0x30) {
|
|
_0x1961e0 = _0x444dd7;
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x1961e0 = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x44e46d);
|
|
}
|
|
}
|
|
if (_0x1961e0 === _0x4e763b) {
|
|
if (_0x3a6242['charCodeAt'](_0x3e408e) === 0x31) {
|
|
_0x1961e0 = _0x8b2ec9;
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x1961e0 = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x2bab45);
|
|
}
|
|
}
|
|
}
|
|
return _0x1961e0;
|
|
}
|
|
|
|
function _0x5bbfe4() {
|
|
var _0x1b120d, _0x19a767, _0x218bca, _0x4c8546, _0x4e4c52;
|
|
_0x1b120d = _0x3e408e;
|
|
_0x19a767 = [];
|
|
_0x218bca = _0x553f5b();
|
|
if (_0x218bca !== _0x4e763b) {
|
|
while (_0x218bca !== _0x4e763b) {
|
|
_0x19a767['push'](_0x218bca);
|
|
_0x218bca = _0x553f5b();
|
|
}
|
|
} else {
|
|
_0x19a767 = _0x56093a;
|
|
}
|
|
if (_0x19a767 !== _0x4e763b) {
|
|
_0x218bca = _0x177a0e();
|
|
if (_0x218bca === _0x4e763b) {
|
|
_0x218bca = _0x375d49;
|
|
}
|
|
if (_0x218bca !== _0x4e763b) {
|
|
_0x4c8546 = [];
|
|
_0x4e4c52 = _0x553f5b();
|
|
while (_0x4e4c52 !== _0x4e763b) {
|
|
_0x4c8546['push'](_0x4e4c52);
|
|
_0x4e4c52 = _0x553f5b();
|
|
}
|
|
if (_0x4c8546 !== _0x4e763b) {
|
|
_0x19a767 = [_0x19a767, _0x218bca, _0x4c8546];
|
|
_0x1b120d = _0x19a767;
|
|
} else {
|
|
_0x3e408e = _0x1b120d;
|
|
_0x1b120d = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x1b120d;
|
|
_0x1b120d = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x1b120d;
|
|
_0x1b120d = _0x56093a;
|
|
}
|
|
if (_0x1b120d === _0x4e763b) {
|
|
_0x1b120d = _0x3e408e;
|
|
_0x19a767 = _0x177a0e();
|
|
if (_0x19a767 !== _0x4e763b) {
|
|
_0x218bca = [];
|
|
_0x4c8546 = _0x553f5b();
|
|
while (_0x4c8546 !== _0x4e763b) {
|
|
_0x218bca['push'](_0x4c8546);
|
|
_0x4c8546 = _0x553f5b();
|
|
}
|
|
if (_0x218bca !== _0x4e763b) {
|
|
_0x19a767 = [_0x19a767, _0x218bca];
|
|
_0x1b120d = _0x19a767;
|
|
} else {
|
|
_0x3e408e = _0x1b120d;
|
|
_0x1b120d = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x1b120d;
|
|
_0x1b120d = _0x56093a;
|
|
}
|
|
}
|
|
return _0x1b120d;
|
|
}
|
|
|
|
function _0x177a0e() {
|
|
var _0x48f3b1;
|
|
if (_0x3a6242['charCodeAt'](_0x3e408e) === 0x2c) {
|
|
_0x48f3b1 = _0x5b6dde;
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x48f3b1 = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x3d3d23);
|
|
}
|
|
}
|
|
return _0x48f3b1;
|
|
}
|
|
|
|
function _0x1aacaf() {
|
|
var _0x1d3f41, _0x56163c, _0x5baf4d;
|
|
_0x1d3f41 = _0x3e408e;
|
|
_0x56163c = _0x1f553a();
|
|
if (_0x56163c !== _0x4e763b) {
|
|
_0x5baf4d = _0x22dc18();
|
|
if (_0x5baf4d === _0x4e763b) {
|
|
_0x5baf4d = _0x375d49;
|
|
}
|
|
if (_0x5baf4d !== _0x4e763b) {
|
|
_0x56163c = [_0x56163c, _0x5baf4d];
|
|
_0x1d3f41 = _0x56163c;
|
|
} else {
|
|
_0x3e408e = _0x1d3f41;
|
|
_0x1d3f41 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x1d3f41;
|
|
_0x1d3f41 = _0x56093a;
|
|
}
|
|
if (_0x1d3f41 === _0x4e763b) {
|
|
_0x1d3f41 = _0x3e408e;
|
|
_0x56163c = _0x501b81();
|
|
if (_0x56163c !== _0x4e763b) {
|
|
_0x5baf4d = _0x22dc18();
|
|
if (_0x5baf4d !== _0x4e763b) {
|
|
_0x56163c = [_0x56163c, _0x5baf4d];
|
|
_0x1d3f41 = _0x56163c;
|
|
} else {
|
|
_0x3e408e = _0x1d3f41;
|
|
_0x1d3f41 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x1d3f41;
|
|
_0x1d3f41 = _0x56093a;
|
|
}
|
|
}
|
|
return _0x1d3f41;
|
|
}
|
|
|
|
function _0x1f553a() {
|
|
var _0x28b12e, _0x3867ef, _0x4227d4, _0x28fdd3;
|
|
_0x28b12e = _0x3e408e;
|
|
_0x3867ef = _0x501b81();
|
|
if (_0x3867ef === _0x4e763b) {
|
|
_0x3867ef = _0x375d49;
|
|
}
|
|
if (_0x3867ef !== _0x4e763b) {
|
|
if (_0x3a6242['charCodeAt'](_0x3e408e) === 0x2e) {
|
|
_0x4227d4 = _0x57d0b1;
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x4227d4 = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x3e764);
|
|
}
|
|
}
|
|
if (_0x4227d4 !== _0x4e763b) {
|
|
_0x28fdd3 = _0x501b81();
|
|
if (_0x28fdd3 !== _0x4e763b) {
|
|
_0x3867ef = [_0x3867ef, _0x4227d4, _0x28fdd3];
|
|
_0x28b12e = _0x3867ef;
|
|
} else {
|
|
_0x3e408e = _0x28b12e;
|
|
_0x28b12e = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x28b12e;
|
|
_0x28b12e = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x28b12e;
|
|
_0x28b12e = _0x56093a;
|
|
}
|
|
if (_0x28b12e === _0x4e763b) {
|
|
_0x28b12e = _0x3e408e;
|
|
_0x3867ef = _0x501b81();
|
|
if (_0x3867ef !== _0x4e763b) {
|
|
if (_0x3a6242['charCodeAt'](_0x3e408e) === 0x2e) {
|
|
_0x4227d4 = _0x57d0b1;
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x4227d4 = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x3e764);
|
|
}
|
|
}
|
|
if (_0x4227d4 !== _0x4e763b) {
|
|
_0x3867ef = [_0x3867ef, _0x4227d4];
|
|
_0x28b12e = _0x3867ef;
|
|
} else {
|
|
_0x3e408e = _0x28b12e;
|
|
_0x28b12e = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x28b12e;
|
|
_0x28b12e = _0x56093a;
|
|
}
|
|
}
|
|
return _0x28b12e;
|
|
}
|
|
|
|
function _0x22dc18() {
|
|
var _0x10eb16, _0x746fd4, _0x2bd004, _0x402e7e;
|
|
_0x10eb16 = _0x3e408e;
|
|
if (_0x1e3f99['test'](_0x3a6242['charAt'](_0x3e408e))) {
|
|
_0x746fd4 = _0x3a6242['charAt'](_0x3e408e);
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x746fd4 = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x1123fe);
|
|
}
|
|
}
|
|
if (_0x746fd4 !== _0x4e763b) {
|
|
_0x2bd004 = _0x48a226();
|
|
if (_0x2bd004 === _0x4e763b) {
|
|
_0x2bd004 = _0x375d49;
|
|
}
|
|
if (_0x2bd004 !== _0x4e763b) {
|
|
_0x402e7e = _0x501b81();
|
|
if (_0x402e7e !== _0x4e763b) {
|
|
_0x746fd4 = [_0x746fd4, _0x2bd004, _0x402e7e];
|
|
_0x10eb16 = _0x746fd4;
|
|
} else {
|
|
_0x3e408e = _0x10eb16;
|
|
_0x10eb16 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x10eb16;
|
|
_0x10eb16 = _0x56093a;
|
|
}
|
|
} else {
|
|
_0x3e408e = _0x10eb16;
|
|
_0x10eb16 = _0x56093a;
|
|
}
|
|
return _0x10eb16;
|
|
}
|
|
|
|
function _0x48a226() {
|
|
var _0x30442e;
|
|
if (_0x3a6242['charCodeAt'](_0x3e408e) === 0x2b) {
|
|
_0x30442e = _0x59832c;
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x30442e = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x423117);
|
|
}
|
|
}
|
|
if (_0x30442e === _0x4e763b) {
|
|
if (_0x3a6242['charCodeAt'](_0x3e408e) === 0x2d) {
|
|
_0x30442e = _0xf5aaab;
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x30442e = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x198f27);
|
|
}
|
|
}
|
|
}
|
|
return _0x30442e;
|
|
}
|
|
|
|
function _0x501b81() {
|
|
var _0x3405a5, _0x388e32, _0x5cddad;
|
|
_0x3405a5 = _0x3e408e;
|
|
_0x388e32 = [];
|
|
if (_0x1d19eb['test'](_0x3a6242['charAt'](_0x3e408e))) {
|
|
_0x5cddad = _0x3a6242['charAt'](_0x3e408e);
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x5cddad = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x2a6cc4);
|
|
}
|
|
}
|
|
if (_0x5cddad !== _0x4e763b) {
|
|
while (_0x5cddad !== _0x4e763b) {
|
|
_0x388e32['push'](_0x5cddad);
|
|
if (_0x1d19eb['test'](_0x3a6242['charAt'](_0x3e408e))) {
|
|
_0x5cddad = _0x3a6242['charAt'](_0x3e408e);
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x5cddad = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x2a6cc4);
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
_0x388e32 = _0x56093a;
|
|
}
|
|
if (_0x388e32 !== _0x4e763b) {
|
|
_0x55bc2f = _0x3405a5;
|
|
_0x388e32 = _0x3a87d5(_0x388e32);
|
|
}
|
|
_0x3405a5 = _0x388e32;
|
|
return _0x3405a5;
|
|
}
|
|
|
|
function _0x553f5b() {
|
|
var _0x52f7d4;
|
|
if (_0x15ce60['test'](_0x3a6242['charAt'](_0x3e408e))) {
|
|
_0x52f7d4 = _0x3a6242['charAt'](_0x3e408e);
|
|
_0x3e408e++;
|
|
} else {
|
|
_0x52f7d4 = _0x4e763b;
|
|
if (_0x15e012 === 0x0) {
|
|
_0x569314(_0x41f84b);
|
|
}
|
|
}
|
|
return _0x52f7d4;
|
|
}
|
|
var _0x5b0427 = [0x0, 0x0];
|
|
var _0x594746 = [0x0, 0x0];
|
|
var _0x65b89a = [];
|
|
var _0x52dd75 = !![];
|
|
var _0x5d45c1 = '';
|
|
|
|
function _0x4eee96(_0x1918a7) {
|
|
var _0x1c220a = [];
|
|
for (var _0x4a2cee = 0x0; _0x4a2cee < _0x1918a7['length']; _0x4a2cee++) {
|
|
if (_0x1918a7[_0x4a2cee] instanceof Array) {
|
|
_0x1c220a['push']['apply'](_0x1c220a, _0x4eee96(_0x1918a7[_0x4a2cee]));
|
|
} else {
|
|
_0x1c220a['push'](_0x1918a7[_0x4a2cee]);
|
|
}
|
|
}
|
|
return _0x1c220a;
|
|
}
|
|
|
|
function _0x17d776(_0x345c90, _0xb69db9) {
|
|
if ('mlazhvcsqt' ['indexOf'](_0x345c90) === -0x1) {
|
|
_0x5b0427 = _0xb69db9;
|
|
} else {
|
|
_0x5b0427[0x0] += _0xb69db9[0x0];
|
|
_0x5b0427[0x1] += _0xb69db9[0x1];
|
|
}
|
|
_0x5d45c1 = _0x345c90;
|
|
return _0x5b0427['slice'](0x0);
|
|
}
|
|
|
|
function _0x54e14f(_0xa6104a, _0x4c5d11) {
|
|
var _0x5f1573 = [];
|
|
var _0x4e994b = _0x5b0427['slice'](0x0);
|
|
for (var _0x34ce1a = 0x0; _0x34ce1a < _0x4c5d11['length']; _0x34ce1a += 0x2) {
|
|
_0x5b0427 = _0x4e994b['slice'](0x0);
|
|
var _0x4d36b1 = _0x17d776(_0xa6104a, _0x4c5d11['slice'](_0x34ce1a, _0x34ce1a + 0x2));
|
|
_0x5f1573 = _0x5f1573['concat'](_0x4d36b1);
|
|
if (_0x34ce1a == _0x4c5d11['length'] - 0x4) {
|
|
_0x594746 = _0x4d36b1['slice'](0x0);
|
|
}
|
|
}
|
|
return _0x5f1573;
|
|
}
|
|
|
|
function _0x2d262a() {
|
|
if ('CcSsQqTt' ['indexOf'](_0x5d45c1) == -0x1) {
|
|
_0x594746 = _0x5b0427['slice'](0x0);
|
|
}
|
|
var _0x5b7767 = [0x0, 0x0];
|
|
_0x5b7767[0x0] = 0x2 * _0x5b0427[0x0] - _0x594746[0x0];
|
|
_0x5b7767[0x1] = 0x2 * _0x5b0427[0x1] - _0x594746[0x1];
|
|
return _0x5b7767;
|
|
}
|
|
|
|
function _0x1134cf(_0x1c0b52, _0x9a24a2) {
|
|
var _0x3a4723 = [_0x9a24a2, 0x0];
|
|
if (_0x1c0b52 == 'H') {
|
|
_0x3a4723[0x1] = _0x5b0427[0x1];
|
|
}
|
|
return _0x17d776(_0x1c0b52, _0x3a4723);
|
|
}
|
|
|
|
function _0x5b73e4(_0x4d8f29, _0x1b987c) {
|
|
var _0x185519 = [0x0, _0x1b987c];
|
|
if (_0x4d8f29 == 'V') {
|
|
_0x185519[0x0] = _0x5b0427[0x0];
|
|
}
|
|
return _0x17d776(_0x4d8f29, _0x185519);
|
|
}
|
|
|
|
function _0x4ab5ce(_0x4c167f, _0x141977) {
|
|
var _0x5e13bc = [_0x4c167f];
|
|
if (_0x141977 && _0x141977['length'] > 0x1) {
|
|
var _0x1c60a4 = _0x141977[0x1];
|
|
for (var _0x4ffc46 = 0x0; _0x4ffc46 < _0x1c60a4['length']; _0x4ffc46++) {
|
|
_0x5e13bc['push'](_0x1c60a4[_0x4ffc46]);
|
|
}
|
|
}
|
|
return _0x5e13bc;
|
|
}
|
|
|
|
function _0x2c59c9(_0x453315) {
|
|
return Math['sqrt'](Math['pow'](_0x453315[0x0], 0x2) + Math['pow'](_0x453315[0x1], 0x2));
|
|
}
|
|
|
|
function _0x1aad7e(_0x4299a0, _0x477caf) {
|
|
return _0x4299a0[0x0] * _0x477caf[0x0] + _0x4299a0[0x1] * _0x477caf[0x1];
|
|
}
|
|
|
|
function _0x51383e(_0x301135, _0xec8df7) {
|
|
return _0x1aad7e(_0x301135, _0xec8df7) / (_0x2c59c9(_0x301135) * _0x2c59c9(_0xec8df7));
|
|
}
|
|
|
|
function _0x557f60(_0x6e3356, _0x38de63, _0x5d8dfd) {
|
|
return Math['min'](Math['max'](val, _0x38de63), _0x5d8dfd);
|
|
}
|
|
|
|
function _0x9d88b2(_0xd6f2ed, _0x432d82) {
|
|
var _0x303e2d = 0x1;
|
|
if (_0xd6f2ed[0x0] * _0x432d82[0x1] - _0xd6f2ed[0x1] * _0x432d82[0x0] < 0x0) {
|
|
_0x303e2d = -0x1;
|
|
}
|
|
return _0x303e2d * Math['acos'](_0x557f60(_0x51383e(_0xd6f2ed, _0x432d82)), -0x1, 0x1);
|
|
}
|
|
|
|
function _0x43f6bd(_0x48ff4c, _0x36fea1) {
|
|
var _0x7f4d28 = Math['cos'](_0x36fea1);
|
|
var _0x39169d = Math['sin'](_0x36fea1);
|
|
return [_0x7f4d28 * _0x48ff4c[0x0] + _0x39169d * _0x48ff4c[0x1], -0x1 * _0x39169d * _0x48ff4c[0x0] + _0x7f4d28 * _0x48ff4c[0x1]];
|
|
}
|
|
|
|
function _0x509b55(_0x34f713, _0x4e3e24) {
|
|
var _0x40eef2 = Math['cos'](_0x4e3e24);
|
|
var _0x1235bb = Math['sin'](_0x4e3e24);
|
|
return [_0x40eef2 * _0x34f713[0x0] - _0x1235bb * _0x34f713[0x1], _0x1235bb * _0x34f713[0x0] + _0x40eef2 * _0x34f713[0x1]];
|
|
}
|
|
|
|
function _0xbc7bed(_0x4b40bc, _0x4a4bb7) {
|
|
return [(_0x4b40bc[0x0] - _0x4a4bb7[0x0]) / 0x2, (_0x4b40bc[0x1] - _0x4a4bb7[0x1]) / 0x2];
|
|
}
|
|
|
|
function _0x54dfbe(_0x58fa17, _0xfc0dbd) {
|
|
return [(_0x58fa17[0x0] + _0xfc0dbd[0x0]) / 0x2, (_0x58fa17[0x1] + _0xfc0dbd[0x1]) / 0x2];
|
|
}
|
|
|
|
function _0x1d52fe(_0x5517ff, _0x40781b) {
|
|
return [_0x5517ff[0x0] * _0x40781b[0x0], _0x5517ff[0x1] * _0x40781b[0x1]];
|
|
}
|
|
|
|
function _0x5d5519(_0x1ff7e9, _0x5b95b2) {
|
|
return [_0x1ff7e9 * _0x5b95b2[0x0], _0x1ff7e9 * _0x5b95b2[0x1]];
|
|
}
|
|
|
|
function _0x23f816(_0x4fd0e5, _0x426b2a) {
|
|
return [_0x4fd0e5[0x0] + _0x426b2a[0x0], _0x4fd0e5[0x1] + _0x426b2a[0x1]];
|
|
}
|
|
|
|
function _0x42a62a(_0x53c84b, _0x197350, _0x2ebbee, _0x498c53, _0x122b93, _0x281ee8, _0x455437) {
|
|
if (_0x197350 == 0x0 || _0x2ebbee == 0x0) {
|
|
_0x65b89a['push']({
|
|
'type': 'lineTo',
|
|
'args': _0x455437
|
|
});
|
|
return;
|
|
}
|
|
var _0x498c53 = _0x498c53 * (Math['PI'] / 0xb4);
|
|
_0x197350 = Math['abs'](_0x197350);
|
|
_0x2ebbee = Math['abs'](_0x2ebbee);
|
|
var _0x52e608 = _0x43f6bd(_0xbc7bed(_0x53c84b, _0x455437), _0x498c53);
|
|
var _0x3648b4 = _0x1d52fe(_0x52e608, _0x52e608);
|
|
var _0x5bceb0 = Math['pow'](_0x197350, 0x2);
|
|
var _0x23b38 = Math['pow'](_0x2ebbee, 0x2);
|
|
var _0x51edaf = Math['sqrt'](_0x3648b4[0x0] / _0x5bceb0 + _0x3648b4[0x1] / _0x23b38);
|
|
if (_0x51edaf > 0x1) {
|
|
_0x197350 *= _0x51edaf;
|
|
_0x2ebbee *= _0x51edaf;
|
|
_0x5bceb0 = Math['pow'](_0x197350, 0x2);
|
|
_0x23b38 = Math['pow'](_0x2ebbee, 0x2);
|
|
}
|
|
var _0x1c2ee5 = Math['sqrt'](Math['abs'](_0x5bceb0 * _0x23b38 - _0x5bceb0 * _0x3648b4[0x1] - _0x23b38 * _0x3648b4[0x0]) / (_0x5bceb0 * _0x3648b4[0x1] + _0x23b38 * _0x3648b4[0x0]));
|
|
if (_0x122b93 == _0x281ee8) {
|
|
_0x1c2ee5 *= -0x1;
|
|
}
|
|
var _0x514190 = _0x5d5519(_0x1c2ee5, [_0x197350 * _0x52e608[0x1] / _0x2ebbee, -_0x2ebbee * _0x52e608[0x0] / _0x197350]);
|
|
var _0x35530e = _0x23f816(_0x509b55(_0x514190, _0x498c53), _0x54dfbe(_0x53c84b, _0x455437));
|
|
var _0x29cd1d = [(_0x52e608[0x0] - _0x514190[0x0]) / _0x197350, (_0x52e608[0x1] - _0x514190[0x1]) / _0x2ebbee];
|
|
var _0x248328 = [(-0x1 * _0x52e608[0x0] - _0x514190[0x0]) / _0x197350, (-0x1 * _0x52e608[0x1] - _0x514190[0x1]) / _0x2ebbee];
|
|
var _0x552567 = _0x9d88b2([0x1, 0x0], _0x29cd1d);
|
|
var _0x253710 = _0x9d88b2(_0x29cd1d, _0x248328);
|
|
var _0x48c1bb = _0x552567;
|
|
var _0x3da7fc = _0x552567 + _0x253710;
|
|
_0x65b89a['push']({
|
|
'type': 'save',
|
|
'args': []
|
|
}, {
|
|
'type': 'translate',
|
|
'args': [_0x35530e[0x0], _0x35530e[0x1]]
|
|
}, {
|
|
'type': 'rotate',
|
|
'args': [_0x498c53]
|
|
}, {
|
|
'type': 'scale',
|
|
'args': [_0x197350, _0x2ebbee]
|
|
}, {
|
|
'type': 'arc',
|
|
'args': [0x0, 0x0, 0x1, _0x48c1bb, _0x3da7fc, 0x1 - _0x281ee8]
|
|
}, {
|
|
'type': 'restore',
|
|
'args': []
|
|
});
|
|
}
|
|
_0x2bfff2 = _0x3c91de();
|
|
if (_0x2bfff2 !== _0x4e763b && _0x3e408e === _0x3a6242['length']) {
|
|
return _0x2bfff2;
|
|
} else {
|
|
if (_0x2bfff2 !== _0x4e763b && _0x3e408e < _0x3a6242['length']) {
|
|
_0x569314({
|
|
'type': 'end',
|
|
'description': 'end\x20of\x20input'
|
|
});
|
|
}
|
|
throw _0x2f901a(null, _0x1fda2f, _0x7dbbe5);
|
|
}
|
|
}
|
|
return {
|
|
'SyntaxError': _0x4cc4a9,
|
|
'parse': _0x4b296c
|
|
};
|
|
}();
|
|
|
|
function _0x2e7f39(_0x6b1952) {
|
|
this['ops_'] = [];
|
|
if (_0x6b1952 == undefined) {
|
|
return;
|
|
}
|
|
if (typeof _0x6b1952 == 'string') {
|
|
try {
|
|
this['ops_'] = parser['parse'](_0x6b1952);
|
|
} catch (_0x3cea62) {}
|
|
} else if (_0x6b1952['hasOwnProperty']('ops_')) {
|
|
this['ops_'] = _0x6b1952['ops_']['slice'](0x0);
|
|
} else {
|
|
throw 'Error:\x20' + typeof _0x6b1952 + 'is\x20not\x20a\x20valid\x20argument\x20to\x20Path';
|
|
}
|
|
};
|
|
var _0x12bf09 = ['closePath', 'moveTo', 'lineTo', 'quadraticCurveTo', 'bezierCurveTo', 'rect', 'arc', 'arcTo', 'ellipse', 'isPointInPath', 'isPointInStroke'];
|
|
|
|
function _0x3591e3(_0x4b537b) {
|
|
return function() {
|
|
this['ops_']['push']({
|
|
'type': _0x4b537b,
|
|
'args': Array['prototype']['slice']['call'](arguments, 0x0)
|
|
});
|
|
};
|
|
}
|
|
for (var _0x4136da = 0x0; _0x4136da < _0x12bf09['length']; _0x4136da++) {
|
|
var _0x513083 = _0x12bf09[_0x4136da];
|
|
_0x2e7f39['prototype'][_0x513083] = _0x3591e3(_0x513083);
|
|
}
|
|
_0x2e7f39['prototype']['addPath'] = function(_0x13e45b, _0xe33f76) {
|
|
var _0x4f6995 = ![];
|
|
if (_0xe33f76 && _0xe33f76['a'] != undefined && _0xe33f76['b'] != undefined && _0xe33f76['c'] != undefined && _0xe33f76['d'] != undefined && _0xe33f76['e'] != undefined && _0xe33f76['f'] != undefined) {
|
|
_0x4f6995 = !![];
|
|
this['ops_']['push']({
|
|
'type': 'save',
|
|
'args': []
|
|
});
|
|
this['ops_']['push']({
|
|
'type': 'transform',
|
|
'args': [_0xe33f76['a'], _0xe33f76['b'], _0xe33f76['c'], _0xe33f76['d'], _0xe33f76['e'], _0xe33f76['f']]
|
|
});
|
|
}
|
|
this['ops_'] = this['ops_']['concat'](_0x13e45b['ops_']);
|
|
if (_0x4f6995) {
|
|
this['ops_']['push']({
|
|
'type': 'restore',
|
|
'args': []
|
|
});
|
|
}
|
|
};
|
|
original_fill = _0x58f57c['prototype']['fill'];
|
|
original_stroke = _0x58f57c['prototype']['stroke'];
|
|
original_clip = _0x58f57c['prototype']['clip'];
|
|
original_is_point_in_path = _0x58f57c['prototype']['isPointInPath'];
|
|
original_is_point_in_stroke = _0x58f57c['prototype']['isPointInStroke'];
|
|
_0x58f57c['prototype']['fill'] = function(_0x158a44) {
|
|
if (_0x158a44 instanceof _0x2e7f39) {
|
|
this['beginPath']();
|
|
for (var _0x2583d1 = 0x0, _0x5aeabc = _0x158a44['ops_']['length']; _0x2583d1 < _0x5aeabc; _0x2583d1++) {
|
|
var _0x2535d2 = _0x158a44['ops_'][_0x2583d1];
|
|
_0x58f57c['prototype'][_0x2535d2['type']]['apply'](this, _0x2535d2['args']);
|
|
}
|
|
original_fill['apply'](this, Array['prototype']['slice']['call'](arguments, 0x1));
|
|
} else {
|
|
original_fill['apply'](this, arguments);
|
|
}
|
|
};
|
|
_0x58f57c['prototype']['stroke'] = function(_0x320e56) {
|
|
if (_0x320e56 instanceof _0x2e7f39) {
|
|
this['beginPath']();
|
|
for (var _0xfda099 = 0x0, _0x22e51f = _0x320e56['ops_']['length']; _0xfda099 < _0x22e51f; _0xfda099++) {
|
|
var _0x436be2 = _0x320e56['ops_'][_0xfda099];
|
|
_0x58f57c['prototype'][_0x436be2['type']]['apply'](this, _0x436be2['args']);
|
|
}
|
|
original_stroke['call'](this);
|
|
} else {
|
|
original_stroke['call'](this);
|
|
}
|
|
};
|
|
_0x58f57c['prototype']['clip'] = function(_0xc86e0c) {
|
|
if (_0xc86e0c instanceof _0x2e7f39) {
|
|
this['beginPath']();
|
|
for (var _0x433230 = 0x0, _0x48690b = _0xc86e0c['ops_']['length']; _0x433230 < _0x48690b; _0x433230++) {
|
|
var _0x5d0d8b = _0xc86e0c['ops_'][_0x433230];
|
|
_0x58f57c['prototype'][_0x5d0d8b['type']]['apply'](this, _0x5d0d8b['args']);
|
|
}
|
|
original_clip['apply'](this, Array['prototype']['slice']['call'](arguments, 0x1));
|
|
} else {
|
|
original_clip['apply'](this, arguments);
|
|
}
|
|
};
|
|
_0x58f57c['prototype']['isPointInPath'] = function(_0x5671bb) {
|
|
if (_0x5671bb instanceof _0x2e7f39) {
|
|
this['beginPath']();
|
|
for (var _0x5294d4 = 0x0, _0xd14329 = _0x5671bb['ops_']['length']; _0x5294d4 < _0xd14329; _0x5294d4++) {
|
|
var _0x2c16dd = _0x5671bb['ops_'][_0x5294d4];
|
|
_0x58f57c['prototype'][_0x2c16dd['type']]['apply'](this, _0x2c16dd['args']);
|
|
}
|
|
return original_is_point_in_path['apply'](this, Array['prototype']['slice']['call'](arguments, 0x1));
|
|
} else {
|
|
return original_is_point_in_path['apply'](this, arguments);
|
|
}
|
|
};
|
|
_0x58f57c['prototype']['isPointInStroke'] = function(_0x114ae3) {
|
|
if (_0x114ae3 instanceof _0x2e7f39) {
|
|
this['beginPath']();
|
|
for (var _0x170512 = 0x0, _0x5c0abe = _0x114ae3['ops_']['length']; _0x170512 < _0x5c0abe; _0x170512++) {
|
|
var _0x82d3b8 = _0x114ae3['ops_'][_0x170512];
|
|
_0x58f57c['prototype'][_0x82d3b8['type']]['apply'](this, _0x82d3b8['args']);
|
|
}
|
|
return original_is_point_in_stroke['apply'](this, Array['prototype']['slice']['call'](arguments, 0x1));
|
|
} else {
|
|
return original_is_point_in_stroke['apply'](this, arguments);
|
|
}
|
|
};
|
|
Path2D = _0x2e7f39;
|
|
}());
|
|
}
|
|
}(typeof CanvasRenderingContext2D === 'undefined' ? undefined : CanvasRenderingContext2D, typeof require === 'undefined' ? undefined : require));
|
|
|
|
// Array.find polyfill
|
|
!Array['prototype']['find'] && Object['defineProperty'](Array['prototype'], 'find', {
|
|
'value': function(_0x55bea1) {
|
|
if (this == null) throw new TypeError('\x22this\x22\x20is\x20null\x20or\x20not\x20defined');
|
|
var _0x2bea3f = Object(this),
|
|
_0x52404e = _0x2bea3f['length'] >>> 0x0;
|
|
if (typeof _0x55bea1 !== 'function') throw new TypeError('predicate\x20must\x20be\x20a\x20function');
|
|
var _0x5e3137 = arguments[0x1],
|
|
_0x559983 = 0x0;
|
|
while (_0x559983 < _0x52404e) {
|
|
var _0x51d569 = _0x2bea3f[_0x559983];
|
|
if (_0x55bea1['call'](_0x5e3137, _0x51d569, _0x559983, _0x2bea3f)) return _0x51d569;
|
|
_0x559983++;
|
|
}
|
|
return undefined;
|
|
},
|
|
'configurable': !![],
|
|
'writable': !![]
|
|
});
|
|
|
|
/*----- functions -----*/
|
|
// utils
|
|
function deg2rad(deg) {
|
|
return deg * Math.PI / 180.0;
|
|
}
|
|
|
|
function rotateVectorRad(v, rad) {
|
|
return [
|
|
v[0] * Math.cos(rad) - v[1] * Math.sin(rad),
|
|
v[0] * Math.sin(rad) + v[1] * Math.cos(rad)
|
|
];
|
|
}
|
|
|
|
function rotateVectorDeg(v, deg) {
|
|
var rad = deg2rad(deg);
|
|
return rotateVectorRad(v, rad);
|
|
}
|
|
|
|
function applyRotationRad(bbox, rad) {
|
|
var corners = [
|
|
[bbox.minx, bbox.miny],
|
|
[bbox.minx, bbox.maxy],
|
|
[bbox.maxx, bbox.miny],
|
|
[bbox.maxx, bbox.maxy]
|
|
];
|
|
corners = corners.map(function(v) {
|
|
return rotateVectorRad(v, rad);
|
|
});
|
|
return {
|
|
minx: corners.reduce(function(a, v) {
|
|
return Math.min(a, v[0]);
|
|
}, Infinity),
|
|
miny: corners.reduce(function(a, v) {
|
|
return Math.min(a, v[1]);
|
|
}, Infinity),
|
|
maxx: corners.reduce(function(a, v) {
|
|
return Math.max(a, v[0]);
|
|
}, -Infinity),
|
|
maxy: corners.reduce(function(a, v) {
|
|
return Math.max(a, v[1]);
|
|
}, -Infinity),
|
|
}
|
|
}
|
|
|
|
function applyRotationDeg(bbox, deg) {
|
|
var rad = deg2rad(deg);
|
|
return applyRotationRad(bbox, rad);
|
|
}
|
|
|
|
// canvas painter
|
|
const painter = {
|
|
ctx: null,
|
|
save: function() {
|
|
this.ctx.save();
|
|
},
|
|
restore: function() {
|
|
this.ctx.restore();
|
|
},
|
|
clear: function(w, h, color) {
|
|
this.save();
|
|
this.ctx.setTransform(1, 0, 0, 1, 0, 0);
|
|
if (color) {
|
|
this.ctx.fillStyle = color;
|
|
this.ctx.fillRect(0, 0, w, h);
|
|
} else {
|
|
this.ctx.clearRect(0, 0, w, h);
|
|
}
|
|
this.restore();
|
|
},
|
|
line: function(x1, y1, x2, y2, lw, color) {
|
|
this.save();
|
|
this.setLineCapAndJoin();
|
|
this.ctx.strokeStyle = color;
|
|
this.ctx.lineWidth = lw;
|
|
this.ctx.beginPath();
|
|
this.ctx.moveTo(x1, y1);
|
|
this.ctx.lineTo(x2, y2);
|
|
this.ctx.stroke();
|
|
this.restore();
|
|
},
|
|
strokeArc: function(cx, cy, radius, startAngle, stopAngle, ccw, lw, color) {
|
|
this.save();
|
|
this.setLineCapAndJoin();
|
|
this.ctx.strokeStyle = color;
|
|
this.ctx.lineWidth = lw;
|
|
this.ctx.beginPath();
|
|
this.ctx.arc(cx, cy, radius, startAngle, stopAngle, ccw);
|
|
this.ctx.stroke();
|
|
this.restore();
|
|
},
|
|
closedArc: function(cx, cy, radius, startAngle, stopAngle, ccw, lw, color) {
|
|
this.save();
|
|
this.setLineCapAndJoin();
|
|
this.ctx.strokeStyle = color;
|
|
this.ctx.lineWidth = lw;
|
|
this.ctx.beginPath();
|
|
this.ctx.arc(cx, cy, radius, startAngle, stopAngle, ccw);
|
|
this.ctx.closePath();
|
|
this.ctx.stroke();
|
|
this.restore();
|
|
},
|
|
fillArc: function(cx, cy, radius, startAngle, stopAngle, ccw, color) {
|
|
this.save();
|
|
this.setLineCapAndJoin();
|
|
this.ctx.fillStyle = color;
|
|
this.ctx.beginPath();
|
|
this.ctx.arc(cx, cy, radius, startAngle, stopAngle, ccw);
|
|
this.ctx.fill();
|
|
this.restore();
|
|
},
|
|
strokeEllipse: function(x, y, radiusX, radiusY, rotation, lw, color) {
|
|
this.save();
|
|
this.setLineCapAndJoin();
|
|
this.ctx.strokeStyle = color;
|
|
this.ctx.lineWidth = lw;
|
|
this.ctx.beginPath();
|
|
this.ctx.ellipse(x, y, radiusX, radiusY, rotation, 0, 2 * Math.PI, false);
|
|
this.ctx.stroke();
|
|
this.restore();
|
|
},
|
|
fillEllipse: function(x, y, radiusX, radiusY, rotation, color) {
|
|
this.save();
|
|
this.setLineCapAndJoin();
|
|
this.ctx.fillStyle = color;
|
|
this.ctx.beginPath();
|
|
this.ctx.ellipse(x, y, radiusX, radiusY, rotation, 0, 2 * Math.PI, false);
|
|
this.ctx.fill();
|
|
this.restore();
|
|
},
|
|
strokeObround: function(x, y, width, height, rotation, lw, color) {
|
|
if (width === height) {
|
|
this.strokeEllipse(x, y, width / 2, height / 2, rotation, lw, color);
|
|
} else {
|
|
this.save();
|
|
this.ctx.translate(x, y);
|
|
if (rotation !== null) {
|
|
this.ctx.rotate(rotation);
|
|
}
|
|
this.strokePath(this.getObroundPath(width, height), lw, color);
|
|
this.restore();
|
|
}
|
|
},
|
|
fillObround: function(x, y, width, height, rotation, color) {
|
|
if (width === height) {
|
|
this.fillEllipse(x, y, width / 2, height / 2, rotation, color);
|
|
} else {
|
|
this.save();
|
|
this.ctx.translate(x, y);
|
|
if (rotation !== null) {
|
|
this.ctx.rotate(rotation);
|
|
}
|
|
this.fillPath(this.getObroundPath(width, height), color);
|
|
this.restore();
|
|
}
|
|
},
|
|
strokeRect: function(x, y, width, height, crad, rotation, lw, color) {
|
|
if (crad < 0.001) {
|
|
this.save();
|
|
this.setLineCapAndJoin();
|
|
this.ctx.strokeStyle = color;
|
|
this.ctx.lineWidth = lw;
|
|
this.ctx.translate(x, y);
|
|
if (rotation !== null) {
|
|
this.ctx.rotate(rotation);
|
|
}
|
|
this.ctx.beginPath();
|
|
this.ctx.rect(-width / 2, -height / 2, width, height);
|
|
this.ctx.stroke();
|
|
this.restore();
|
|
} else if (crad > 49.99) {
|
|
this.strokeObround(x, y, width, height, rotation, lw, color);
|
|
} else {
|
|
this.save();
|
|
this.ctx.translate(x, y);
|
|
if (rotation !== null) {
|
|
this.ctx.rotate(rotation);
|
|
}
|
|
this.strokePath(this.getRoundedRectPath(width, height, crad), lw, color);
|
|
this.restore();
|
|
}
|
|
},
|
|
fillRect: function(x, y, width, height, crad, rotation, color) {
|
|
if (crad < 0.001) {
|
|
this.save();
|
|
this.setLineCapAndJoin();
|
|
this.ctx.fillStyle = color;
|
|
this.ctx.translate(x, y);
|
|
if (rotation !== null) {
|
|
this.ctx.rotate(rotation);
|
|
}
|
|
this.ctx.beginPath();
|
|
this.ctx.rect(-width / 2, -height / 2, width, height);
|
|
this.ctx.fill();
|
|
this.restore();
|
|
} else if (crad > 49.99) {
|
|
this.fillObround(x, y, width, height, rotation, color);
|
|
} else {
|
|
this.save();
|
|
this.ctx.translate(x, y);
|
|
if (rotation !== null) {
|
|
this.ctx.rotate(rotation);
|
|
}
|
|
this.fillPath(this.getRoundedRectPath(width, height, crad), color);
|
|
this.restore();
|
|
}
|
|
},
|
|
strokeDShape: function(x, y, width, height, lw, color) {
|
|
this.save();
|
|
this.ctx.translate(x, y);
|
|
this.strokePath(this.getDShapePath(width, height));
|
|
this.restore();
|
|
},
|
|
fillDShape: function(x, y, width, height, color) {
|
|
this.save();
|
|
this.ctx.translate(x, y);
|
|
this.fillPath(this.getDShapePath(width, height), color);
|
|
this.restore();
|
|
},
|
|
strokePath: function(path, lw, color) {
|
|
this.save();
|
|
this.setLineCapAndJoin();
|
|
this.ctx.strokeStyle = color;
|
|
this.ctx.lineWidth = lw;
|
|
this.ctx.stroke(path);
|
|
this.restore();
|
|
},
|
|
fillPath: function(path, color) {
|
|
this.save();
|
|
this.setLineCapAndJoin();
|
|
this.ctx.fillStyle = color;
|
|
this.ctx.fill(path);
|
|
this.restore();
|
|
},
|
|
setLineCapAndJoin: function() {
|
|
this.ctx.lineCap = "round";
|
|
this.ctx.lineJoin = "round";
|
|
},
|
|
padZero: function(str, len) {
|
|
len = len || 2;
|
|
var zeros = new Array(len).join('0');
|
|
return (zeros + str).slice(-len);
|
|
},
|
|
invertColor: function(hex, bw) {
|
|
if (hex.indexOf('#') === 0) {
|
|
hex = hex.slice(1);
|
|
}
|
|
// convert 3-digit hex to 6-digits.
|
|
if (hex.length === 3) {
|
|
hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
|
|
}
|
|
if (hex.length !== 6) {
|
|
throw new Error('Invalid HEX color.');
|
|
}
|
|
var r = parseInt(hex.slice(0, 2), 16);
|
|
var g = parseInt(hex.slice(2, 4), 16);
|
|
var b = parseInt(hex.slice(4, 6), 16);
|
|
if (bw) {
|
|
return (r * 0.299 + g * 0.587 + b * 0.114) > 186 ? '#000000' : '#FFFFFF';
|
|
}
|
|
// invert color components
|
|
r = (255 - r).toString(16);
|
|
g = (255 - g).toString(16);
|
|
b = (255 - b).toString(16);
|
|
// pad each with zeros and return
|
|
return "#" + this.padZero(r) + this.padZero(g) + this.padZero(b);
|
|
},
|
|
getObroundPath: function(width, height) {
|
|
var r, d;
|
|
var path = new Path2D();
|
|
if (width > height) {
|
|
r = height / 2;
|
|
d = width / 2;
|
|
path.arc(-d + r, 0, r, Math.PI / 2, 1.5 * Math.PI, false);
|
|
path.lineTo(d - r, -r);
|
|
path.arc(d - r, 0, r, 1.5 * Math.PI, Math.PI / 2, false);
|
|
} else {
|
|
r = width / 2;
|
|
d = height / 2;
|
|
path.arc(0, d - r, r, 0, Math.PI, false);
|
|
path.lineTo(-r, -d + r);
|
|
path.arc(0, -d + r, r, Math.PI, 0, false);
|
|
}
|
|
path.closePath();
|
|
return path;
|
|
},
|
|
getRoundedRectPath: function(width, height, crad) {
|
|
var hw = width / 2;
|
|
var hh = height / 2;
|
|
var r = Math.min(width, height) * crad / 100;
|
|
var path = new Path2D();
|
|
path.arc(-hw + r, -hh + r, r, Math.PI, 1.5 * Math.PI, false);
|
|
path.lineTo(hw - r, -hh);
|
|
path.arc(hw - r, -hh + r, r, 1.5 * Math.PI / 2, 0, false);
|
|
path.lineTo(hw, hh - r);
|
|
path.arc(hw - r, hh - r, r, 0, Math.PI / 2, false);
|
|
path.lineTo(-hw + r, hh);
|
|
path.arc(-hw + r, hh - r, r, Math.PI / 2, Math.PI, false);
|
|
path.closePath();
|
|
return path;
|
|
},
|
|
getDShapePath: function(width, height) {
|
|
var hw = width / 2;
|
|
var hh = height / 2;
|
|
var r = hw;
|
|
var y0 = hh - r;
|
|
var path = new Path2D();
|
|
if (y0 < 0) {
|
|
path.ellipse(0, 0, r, r + y0, 0, Math.PI, 0, false);
|
|
} else {
|
|
path.ellipse(0, 0, r, r, 0, Math.PI, 0, false);
|
|
}
|
|
path.lineTo(hw, hh);
|
|
path.lineTo(-hw, hh);
|
|
path.closePath();
|
|
return path;
|
|
}
|
|
}
|
|
|
|
// storage
|
|
function initStorage() {
|
|
try {
|
|
window.localStorage.getItem("blank");
|
|
storage = window.localStorage;
|
|
} catch (e) {
|
|
// localStorage not available
|
|
}
|
|
if (!storage) {
|
|
try {
|
|
window.sessionStorage.getItem("blank");
|
|
storage = window.sessionStorage;
|
|
} catch (e) {
|
|
// sessionStorage also not available
|
|
}
|
|
}
|
|
}
|
|
|
|
function readStorage(key) {
|
|
if (storage) {
|
|
return JSON.parse(storage.getItem(storagePrefix + key));
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
function writeStorage(key, value) {
|
|
if (storage) {
|
|
storage.setItem(storagePrefix + key, JSON.stringify(value));
|
|
}
|
|
}
|
|
|
|
// defaults
|
|
function initDefaults() {
|
|
var tmp;
|
|
// settings
|
|
// bom layout
|
|
tmp = readStorage("bom_layout");
|
|
if (tmp !== null) {
|
|
settings.bom_layout = tmp;
|
|
}
|
|
// bom gorup
|
|
tmp = readStorage("bom_group");
|
|
if (tmp !== null) {
|
|
settings.bom_group = tmp;
|
|
}
|
|
// canvas layout
|
|
tmp = readStorage("canvas_layout");
|
|
if (tmp !== null) {
|
|
settings.canvas_layout = tmp;
|
|
}
|
|
// draw assy
|
|
tmp = readStorage("draw_assy");
|
|
if (tmp !== null) {
|
|
settings.draw_assy = tmp;
|
|
}
|
|
// draw silk
|
|
tmp = readStorage("draw_silk");
|
|
if (tmp !== null) {
|
|
settings.draw_silk = tmp;
|
|
}
|
|
// draw nets
|
|
tmp = readStorage("draw_nets");
|
|
if (tmp !== null) {
|
|
settings.draw_nets = tmp;
|
|
}
|
|
// draw copper pours
|
|
tmp = readStorage("draw_copper_pours");
|
|
if (tmp !== null) {
|
|
settings.draw_copper_pours = tmp;
|
|
}
|
|
// draw fiducials
|
|
tmp = readStorage("draw_fiducials");
|
|
if (tmp !== null) {
|
|
settings.draw_fiducials = tmp;
|
|
} else {
|
|
settings.draw_fiducials = pcbdata.board.show_fiducials;
|
|
}
|
|
// draw pads
|
|
tmp = readStorage("draw_pads");
|
|
if (tmp !== null) {
|
|
settings.draw_pads = tmp;
|
|
}
|
|
// draw vias
|
|
tmp = readStorage("draw_vias");
|
|
if (tmp !== null) {
|
|
settings.draw_vias = tmp;
|
|
}
|
|
// show suppliers
|
|
tmp = readStorage("show_suppliers");
|
|
if (tmp !== null) {
|
|
settings.show_suppliers = tmp;
|
|
}
|
|
// board rotation angle
|
|
tmp = readStorage("board_rotation");
|
|
if (tmp !== null) {
|
|
settings.board_rotation = tmp;
|
|
}
|
|
// placed
|
|
tmp = readStorage("placed");
|
|
settings.placed = [];
|
|
if (tmp !== null) {
|
|
settings.placed = tmp;
|
|
}
|
|
|
|
// document
|
|
var text = pcbdata.metadata.title + pcbdata.metadata.board_name;
|
|
if (pcbdata.metadata.variant !== "") {
|
|
text += " :: " + pcbdata.metadata.variant;
|
|
}
|
|
document.title = text;
|
|
document.getElementById("board_name").innerHTML = pcbdata.metadata.board_name;
|
|
if (pcbdata.metadata.variant !== "") {
|
|
var elem = document.getElementById("assembly_variant");
|
|
elem.innerHTML = "Assembly variant: " + pcbdata.metadata.variant;
|
|
elem.style.display = "table-cell";
|
|
}
|
|
document.getElementById('version').innerHTML = "version " + pcbdata.metadata.version;
|
|
}
|
|
|
|
function writeAll() {
|
|
// settings
|
|
Object.keys(settings).forEach(function(name) {
|
|
writeStorage(name, settings[name]);
|
|
});
|
|
}
|
|
|
|
// render with events
|
|
function initRender() {
|
|
["topcanvas", "bottomcanvas"].forEach(function(name) {
|
|
var div = document.getElementById(name);
|
|
div.style.backgroundColor = pcbdata.board.bgcolor;
|
|
var canvas = canvases[name];
|
|
var trsf = canvas.trsf;
|
|
// context menu
|
|
[div, canvas.bg, canvas.silk, canvas.assy, canvas.hl].forEach(function(elem) {
|
|
elem.addEventListener("contextmenu", function(e) {
|
|
e.preventDefault();
|
|
}, false);
|
|
});
|
|
// mouse down, move, up
|
|
var isDown = false;
|
|
div.addEventListener("pointerdown", function(e) {
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
isDown = true;
|
|
canvas.pstate[e.pointerId] = {
|
|
lastX: e.offsetX,
|
|
lastY: e.offsetY,
|
|
down: e.button
|
|
};
|
|
});
|
|
div.addEventListener("pointermove", function(e) {
|
|
if (canvas.pstate.hasOwnProperty(e.pointerId)) {
|
|
if (canvas.pstate[e.pointerId].down == 2) {
|
|
return;
|
|
}
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
var dx = e.offsetX - canvas.pstate[e.pointerId].lastX;
|
|
var dy = e.offsetY - canvas.pstate[e.pointerId].lastY;
|
|
canvas.pstate[e.pointerId] = {
|
|
lastX: e.offsetX,
|
|
lastY: e.offsetY
|
|
};
|
|
// simple drag
|
|
trsf.panx += devicePixelRatio * dx / trsf.zoom;
|
|
trsf.pany += devicePixelRatio * dy / trsf.zoom;
|
|
redrawCanvas(canvas);
|
|
}
|
|
});
|
|
div.addEventListener("pointerup", function(e) {
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
delete canvas.pstate[e.pointerId];
|
|
// reset transformation by right click
|
|
if (e.button === 2) {
|
|
trsf.panx = 0;
|
|
trsf.pany = 0;
|
|
trsf.zoom = 1;
|
|
}
|
|
redrawCanvas(canvas);
|
|
isDown = false;
|
|
});
|
|
// mouse wheel (zoom)
|
|
div.addEventListener("wheel", function(e) {
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
if (isDown) {
|
|
return;
|
|
}
|
|
var wheeldelta = e.deltaY;
|
|
// Firefox
|
|
if (e.deltaMode == 1) { // The delta values are specified in lines.
|
|
|
|
wheeldelta *= 30;
|
|
} else if (e.deltaMode == 2) { // The delta values are specified in pages.
|
|
wheeldelta *= 300;
|
|
}
|
|
var m = Math.pow(1.1, -wheeldelta / 40);
|
|
// limit amount of zoom per tick.
|
|
if (m > 2) {
|
|
m = 2;
|
|
} else if (m < 0.5) {
|
|
m = 0.5;
|
|
}
|
|
trsf.zoom *= m;
|
|
var zoomd = (1 - m) / trsf.zoom;
|
|
trsf.panx += devicePixelRatio * e.offsetX * zoomd;
|
|
trsf.pany += devicePixelRatio * e.offsetY * zoomd;
|
|
redrawCanvas(canvas);
|
|
});
|
|
});
|
|
}
|
|
|
|
// layouts
|
|
function getGutterNode(node) {
|
|
for (var i = 0; i < node.childNodes.length; i++) {
|
|
if (node.childNodes[i].classList && node.childNodes[i].classList.contains("gutter")) {
|
|
return node.childNodes[i];
|
|
}
|
|
}
|
|
}
|
|
|
|
function removeGutterNode(node) {
|
|
node.removeChild(getGutterNode(node));
|
|
}
|
|
|
|
function removeGutters() {
|
|
removeGutterNode(document.getElementById("divbottom"));
|
|
removeGutterNode(document.getElementById("divcanvas"));
|
|
}
|
|
|
|
function destorySplitters() {
|
|
if (bomsplit) {
|
|
bomsplit.destroy();
|
|
bomsplit = null;
|
|
canvassplit.destroy();
|
|
canvassplit = null;
|
|
}
|
|
}
|
|
|
|
function changeBOMLayout(bomLayout) {
|
|
Object.keys(bomButtons).forEach(function(btnName) {
|
|
bomButtons[btnName].classList.remove("selected");
|
|
});
|
|
switch (bomLayout) {
|
|
case "bom-only":
|
|
bomButtons.btnBOMOnly.classList.add("selected");
|
|
|
|
document.getElementById("topcanvas").classList.remove("split-horizontal");
|
|
document.getElementById("bottomcanvas").classList.remove("split-horizontal");
|
|
document.getElementById("topcanvas").style.display = "none";
|
|
document.getElementById("bottomcanvas").style.display = "none";
|
|
|
|
document.getElementById("divbom").classList.remove("split-horizontal");
|
|
document.getElementById("divbom").style.width = "";
|
|
|
|
destorySplitters();
|
|
break;
|
|
case "top-bottom":
|
|
bomButtons.btnBOMTopBottom.classList.add("selected");
|
|
|
|
document.getElementById("divbom").classList.remove("split-horizontal");
|
|
document.getElementById("divbom").style.width = "";
|
|
document.getElementById("divbom").style.height = "";
|
|
|
|
document.getElementById("divcanvas").classList.remove("split-horizontal");
|
|
document.getElementById("divcanvas").style.width = "";
|
|
document.getElementById("divcanvas").style.height = "";
|
|
|
|
document.getElementById("topcanvas").style.display = "";
|
|
document.getElementById("topcanvas").classList.add("split-horizontal");
|
|
document.getElementById("topcanvas").style.width = "";
|
|
document.getElementById("topcanvas").style.height = "";
|
|
document.getElementById("bottomcanvas").style.display = "";
|
|
document.getElementById("bottomcanvas").classList.add("split-horizontal");
|
|
document.getElementById("bottomcanvas").style.width = "";
|
|
document.getElementById("bottomcanvas").style.height = "";
|
|
|
|
destorySplitters();
|
|
bomsplit = Split(["#divbom", "#divcanvas"], {
|
|
sizes: [50, 50],
|
|
gutterSize: 6,
|
|
direction: "vertical",
|
|
onDragEnd: resizeAll
|
|
});
|
|
canvassplit = Split(["#topcanvas", "#bottomcanvas"], {
|
|
sizes: [50, 50],
|
|
gutterSize: 6,
|
|
direction: "horizontal",
|
|
onDragEnd: resizeAll
|
|
});
|
|
break;
|
|
case "left-right":
|
|
bomButtons.btnBOMLeftRight.classList.add("selected");
|
|
|
|
document.getElementById("topcanvas").style.display = "";
|
|
document.getElementById("bottomcanvas").style.display = "";
|
|
document.getElementById("topcanvas").classList.remove("split-horizontal");
|
|
document.getElementById("bottomcanvas").classList.remove("split-horizontal");
|
|
|
|
document.getElementById("divbom").classList.add("split-horizontal");
|
|
document.getElementById("divcanvas").classList.add("split-horizontal");
|
|
|
|
destorySplitters();
|
|
bomsplit = Split(["#divbom", "#divcanvas"], {
|
|
sizes: [50, 50],
|
|
gutterSize: 6,
|
|
direction: "horizontal",
|
|
onDragEnd: resizeAll
|
|
});
|
|
canvassplit = Split(["#topcanvas", "#bottomcanvas"], {
|
|
sizes: [50, 50],
|
|
gutterSize: 6,
|
|
direction: "vertical",
|
|
onDragEnd: resizeAll
|
|
});
|
|
break;
|
|
default:
|
|
return;
|
|
}
|
|
settings.bom_layout = bomLayout;
|
|
changeCanvasLayout(settings.canvas_layout);
|
|
}
|
|
|
|
function changeCanvasLayout(canvasLayout) {
|
|
Object.keys(canvasButtons).forEach(function(btnName) {
|
|
canvasButtons[btnName].classList.remove("selected");
|
|
});
|
|
switch (canvasLayout) {
|
|
case "T":
|
|
canvasButtons.btnT.classList.add("selected");
|
|
if (settings.bom_layout !== "bom-only") {
|
|
canvassplit.collapse(1);
|
|
}
|
|
break;
|
|
case "B":
|
|
canvasButtons.btnB.classList.add("selected");
|
|
if (settings.bom_layout !== "bom-only") {
|
|
canvassplit.collapse(0);
|
|
}
|
|
break;
|
|
case "TB":
|
|
default:
|
|
canvasButtons.btnTB.classList.add("selected");
|
|
if (settings.bom_layout !== "bom-only") {
|
|
canvassplit.setSizes([50, 50]);
|
|
}
|
|
}
|
|
if (settings.canvas_layout !== canvasLayout) {
|
|
selectedComps = [];
|
|
}
|
|
settings.canvas_layout = canvasLayout;
|
|
resizeAll();
|
|
changeBomGroup(settings.bom_group);
|
|
}
|
|
|
|
// bom group
|
|
function changeBomGroup(group) {
|
|
Object.keys(groupButtons).forEach(function(btnName) {
|
|
groupButtons[btnName].classList.remove("selected");
|
|
});
|
|
switch (group) {
|
|
case "U":
|
|
default:
|
|
groupButtons.btnU.classList.add("selected");
|
|
groupFilter = filterGUngroup;
|
|
break;
|
|
case "NL":
|
|
groupButtons.btnNL.classList.add("selected");
|
|
groupFilter = null;
|
|
break;
|
|
case "N":
|
|
groupButtons.btnN.classList.add("selected");
|
|
groupFilter = filterGName;
|
|
break;
|
|
case "NV":
|
|
groupButtons.btnNV.classList.add("selected");
|
|
groupFilter = filterGNameValue;
|
|
break;
|
|
case "NP":
|
|
groupButtons.btnNP.classList.add("selected");
|
|
groupFilter = filterGNamePattern;
|
|
break;
|
|
case "NVP":
|
|
groupButtons.btnNVP.classList.add("selected");
|
|
groupFilter = filterGNameValuePattern;
|
|
break;
|
|
}
|
|
if (group !== settings.bom_group) {
|
|
settings.bom_group = group;
|
|
selectedComps = [];
|
|
selectedNet = null;
|
|
lastActive = null;
|
|
//bomSortFunction = null;
|
|
//currentSortColumn = null;
|
|
//currentSortOrder = null;
|
|
clearCanvas(canvases.topcanvas.hl, null);
|
|
clearCanvas(canvases.bottomcanvas.hl, null);
|
|
}
|
|
populateBomTable();
|
|
}
|
|
|
|
// bom table
|
|
function populateBomTable() {
|
|
total = {};
|
|
totalCount = {};
|
|
populateBomTableHeader();
|
|
populateBomTableBody();
|
|
var currencies = Object.keys(total);
|
|
if (settings.bom_group !== 'NL' && currencies.length > 0) {
|
|
var cols = ['6', '3'];
|
|
if (settings.bom_group == 'U') {
|
|
cols[0] = '5';
|
|
}
|
|
// first currency
|
|
var tr = document.createElement('tr');
|
|
// "Total"
|
|
var td = document.createElement('td');
|
|
td.setAttribute('colspan', cols[0]);
|
|
td.innerHTML = '<strong>Total</strong>';
|
|
tr.appendChild(td);
|
|
// total quantity
|
|
td = document.createElement('td');
|
|
td.innerHTML = '<strong>' + pcbdata.components.slice().length + '</strong>';
|
|
tr.appendChild(td);
|
|
if (settings.show_suppliers) {
|
|
// supplier, price, order link
|
|
td = document.createElement('td');
|
|
td.setAttribute('colspan', cols[1]);
|
|
tr.appendChild(td);
|
|
}
|
|
bomtblbody.appendChild(tr);
|
|
// other currencies
|
|
if (settings.show_suppliers) {
|
|
for (var i = 0; i < currencies.length; ++i) {
|
|
tr = document.createElement('tr');
|
|
td = document.createElement('td');
|
|
td.setAttribute('colspan', cols[0]);
|
|
tr.appendChild(td);
|
|
// total quantity
|
|
td = document.createElement('td');
|
|
td.innerHTML = totalCount[currencies[i]];
|
|
tr.appendChild(td);
|
|
// supplier, price, order link
|
|
td = document.createElement('td');
|
|
td.setAttribute('colspan', cols[1]);
|
|
td.innerHTML = '<strong>' + total[currencies[i]] + ' ' + currencies[i] + '</strong>';
|
|
tr.appendChild(td);
|
|
bomtblbody.appendChild(tr);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// bom table: header
|
|
function makeColumnHeader(name, cssName) {
|
|
var th = document.createElement("th");
|
|
th.innerHTML = name;
|
|
if (cssName !== null) {
|
|
th.classList.add(cssName);
|
|
}
|
|
return th;
|
|
}
|
|
|
|
function populateBomTableHeader() {
|
|
while (bomtblhead.firstChild) {
|
|
bomtblhead.removeChild(bomtblhead.firstChild);
|
|
}
|
|
var tr = document.createElement("tr");
|
|
// number
|
|
var th = document.createElement("th");
|
|
th.classList.add("numcol");
|
|
tr.appendChild(th);
|
|
if (settings.bom_group === "NL") {
|
|
th = makeColumnHeader("Net name", null);
|
|
tr.appendChild(th);
|
|
} else {
|
|
// checkbox
|
|
tr.appendChild(makeColumnHeader("Placed", "bom-checkbox"));
|
|
// preferences
|
|
tr.appendChild(makeColumnHeader("Reference(s)", null));
|
|
// component name
|
|
tr.appendChild(makeColumnHeader("Name", null));
|
|
// value
|
|
tr.appendChild(makeColumnHeader("Value", "value"));
|
|
// pattern
|
|
tr.appendChild(makeColumnHeader("Pattern", null));
|
|
// quantity
|
|
if (settings.bom_group !== "U") {
|
|
tr.appendChild(makeColumnHeader("Quantity", "quantity"));
|
|
}
|
|
// suppliers
|
|
if (settings.show_suppliers == true) {
|
|
// supplier
|
|
tr.appendChild(makeColumnHeader("Supplier", null));
|
|
// price
|
|
tr.appendChild(makeColumnHeader("Price", null));
|
|
// link
|
|
tr.appendChild(makeColumnHeader("Order Link", null));
|
|
}
|
|
}
|
|
bomtblhead.appendChild(tr);
|
|
}
|
|
|
|
// bom table: body
|
|
function tildFilter(netName) {
|
|
var prevInv = false;
|
|
var sb = [];
|
|
var tmp = netName.split("").map(function(token) {
|
|
if (token !== "~" || prevInv) {
|
|
if (token === "~" && prevInv) {
|
|
sb.pop();
|
|
}
|
|
sb.push(token);
|
|
prevInv = false;
|
|
return "-";
|
|
} else {
|
|
prevInv = true;
|
|
sb.push("!");
|
|
return "!";
|
|
}
|
|
});
|
|
var res = sb.join("");
|
|
var matches = res.match(/(!\w+)/g);
|
|
for (var i in matches) {
|
|
var n = +i;
|
|
var match = matches[n];
|
|
var ss = match.substring(1);
|
|
res = res.replace(match, "<span class='net_inverse'>" + ss + "</span>");
|
|
}
|
|
return res;
|
|
}
|
|
|
|
function calcCount(currency, quantity) {
|
|
if (totalCount.hasOwnProperty(currency)) {
|
|
totalCount[currency] = totalCount[currency] + quantity;
|
|
} else {
|
|
totalCount[currency] = quantity;
|
|
}
|
|
}
|
|
|
|
function calcTotal(currency, qantity, price) {
|
|
curr_total = qantity * price;
|
|
if (total.hasOwnProperty(currency)) {
|
|
total[currency] = total[currency] + curr_total;
|
|
} else {
|
|
total[currency] = curr_total;
|
|
}
|
|
calcCount(currency, qantity);
|
|
}
|
|
|
|
const filterGUngroup = function(comps) {
|
|
var res = [];
|
|
for (var i in comps) {
|
|
var c = comps[+i];
|
|
var supplier = '';
|
|
var currency = '';
|
|
var price = 0;
|
|
var link = '';
|
|
if (c.hasOwnProperty('supplier')) {
|
|
supplier = c.supplier;
|
|
currency = c.currency;
|
|
price = c.price['gu'];
|
|
link = c.link;
|
|
calcTotal(currency, 1, price);
|
|
}
|
|
res.push([c.refdes, c.name, c.value, c.pattern, 1, supplier, currency, price, link]);
|
|
}
|
|
return res;
|
|
}
|
|
|
|
const filterGName = function(comps) {
|
|
var res = [];
|
|
var skip = [];
|
|
for (var i in comps) {
|
|
if (skip.indexOf(+i) < 0) {
|
|
var comp = comps[+i];
|
|
var group = comps.filter(function(c, index) {
|
|
if (skip.indexOf(index) < 0 && c["name"] === comp["name"]) {
|
|
skip.push(index);
|
|
return true;
|
|
}
|
|
});
|
|
var refs = group.map(function(c) {
|
|
return c["refdes"];
|
|
}).join(", ");
|
|
var name = comp["name"];
|
|
var value = group.map(function(c) {
|
|
return c["value"];
|
|
}).join(", ");
|
|
var pattern = group.map(function(c) {
|
|
return c["pattern"];
|
|
}).join(", ");
|
|
var quantity = group.length;
|
|
var supplier = '';
|
|
var currency = '';
|
|
var price = 0;
|
|
var link = '';
|
|
if (comp.hasOwnProperty('supplier')) {
|
|
supplier = comp.supplier;
|
|
currency = comp.currency;
|
|
price = comp.price['gn'];
|
|
link = comp.link;
|
|
calcTotal(currency, quantity, price);
|
|
}
|
|
res.push([refs, name, value, pattern, quantity, supplier, currency, price, link]);
|
|
}
|
|
}
|
|
return res;
|
|
}
|
|
|
|
const filterGNameValue = function(comps) {
|
|
var res = [];
|
|
var skip = [];
|
|
for (var i in comps) {
|
|
if (skip.indexOf(+i) < 0) {
|
|
var comp = comps[+i];
|
|
var group = comps.filter(function(c, index) {
|
|
if (skip.indexOf(index) < 0 && c["name"] === comp["name"] && c["value"] === comp["value"]) {
|
|
skip.push(index);
|
|
return true;
|
|
}
|
|
});
|
|
var refs = group.map(function(c) {
|
|
return c["refdes"];
|
|
}).join(", ");
|
|
var name = comp["name"];
|
|
var value = comp["value"];
|
|
var pattern = group.map(function(c) {
|
|
return c["pattern"];
|
|
}).join(", ");
|
|
var quantity = group.length;
|
|
var supplier = '';
|
|
var currency = '';
|
|
var price = 0;
|
|
var link = '';
|
|
if (comp.hasOwnProperty('supplier')) {
|
|
supplier = comp.supplier;
|
|
currency = comp.currency;
|
|
price = comp.price['gnv'];
|
|
link = comp.link;
|
|
calcTotal(currency, quantity, price);
|
|
}
|
|
res.push([refs, name, value, pattern, quantity, supplier, currency, price, link]);
|
|
}
|
|
}
|
|
return res;
|
|
}
|
|
|
|
const filterGNamePattern = function(comps) {
|
|
var res = [];
|
|
var skip = [];
|
|
for (var i in comps) {
|
|
if (skip.indexOf(+i) < 0) {
|
|
var comp = comps[+i];
|
|
var group = comps.filter(function(c, index) {
|
|
if (skip.indexOf(index) < 0 && c["name"] === comp["name"] && c["pattern"] === comp["pattern"]) {
|
|
skip.push(index);
|
|
return true;
|
|
}
|
|
});
|
|
var refs = group.map(function(c) {
|
|
return c["refdes"];
|
|
}).join(", ");
|
|
var name = comp["name"];
|
|
var value = group.map(function(c) {
|
|
return c["value"];
|
|
}).join(", ");
|
|
var pattern = comp["pattern"];
|
|
var quantity = group.length;
|
|
var supplier = '';
|
|
var currency = '';
|
|
var price = 0;
|
|
var link = '';
|
|
if (comp.hasOwnProperty('supplier')) {
|
|
supplier = comp.supplier;
|
|
currency = comp.currency;
|
|
price = comp.price['gnp'];
|
|
link = comp.link;
|
|
calcTotal(currency, quantity, price);
|
|
}
|
|
res.push([refs, name, value, pattern, quantity, supplier, currency, price, link]);
|
|
}
|
|
}
|
|
return res;
|
|
}
|
|
|
|
const filterGNameValuePattern = function(comps) {
|
|
var res = [];
|
|
var skip = [];
|
|
for (var i in comps) {
|
|
if (skip.indexOf(+i) < 0) {
|
|
var comp = comps[+i];
|
|
var group = comps.filter(function(c, index) {
|
|
if (skip.indexOf(index) < 0 && c["name"] === comp["name"] && c["value"] === comp["value"] && c["pattern"] === comp["pattern"]) {
|
|
skip.push(index);
|
|
return true;
|
|
}
|
|
});
|
|
var refs = group.map(function(c) {
|
|
return c["refdes"];
|
|
}).join(", ");
|
|
var name = comp["name"];
|
|
var value = comp["value"];
|
|
var pattern = comp["pattern"];
|
|
var quantity = group.length;
|
|
var pattern = comp["pattern"];
|
|
var quantity = group.length;
|
|
var supplier = '';
|
|
var currency = '';
|
|
var price = 0;
|
|
var link = '';
|
|
if (comp.hasOwnProperty('supplier')) {
|
|
supplier = comp.supplier;
|
|
currency = comp.currency;
|
|
price = comp.price['gnp'];
|
|
link = comp.link;
|
|
calcTotal(currency, quantity, price);
|
|
}
|
|
res.push([refs, name, value, pattern, quantity, supplier, currency, price, link]);
|
|
}
|
|
}
|
|
return res;
|
|
}
|
|
|
|
function populateNetBody() {
|
|
var rownum = 0;
|
|
for (var i in pcbdata.nets) {
|
|
rownum++;
|
|
if (pcbdata.nets[rownum - 1].name === "None") {
|
|
return;
|
|
}
|
|
|
|
var tr = document.createElement("tr");
|
|
tr.id = "bomrow" + rownum;
|
|
|
|
var td = document.createElement("td");
|
|
td.textContent = rownum.toString();
|
|
tr.appendChild(td);
|
|
|
|
td = document.createElement("td");
|
|
td.innerHTML = tildFilter(pcbdata.nets[rownum - 1].name);
|
|
tr.appendChild(td);
|
|
|
|
bomtblbody.appendChild(tr);
|
|
|
|
// mouse events
|
|
tr.addEventListener("mouseenter", function(e) {
|
|
if (lastActive !== null) {
|
|
lastActive.classList.remove("active");
|
|
}
|
|
e.currentTarget.classList.add("active");
|
|
selectedNet = Number(e.currentTarget.childNodes[0].innerHTML) - 1;
|
|
drawHLNet();
|
|
});
|
|
tr.addEventListener("mouseleave", function(e) {
|
|
lastActive = e.currentTarget;
|
|
})
|
|
}
|
|
}
|
|
|
|
function stylizeRefDes(refdes) {
|
|
return '<p class="placed">' + refdes + '</p>';
|
|
}
|
|
|
|
function cleanRefDes(refdesWithStyle) {
|
|
var a = refdesWithStyle.replace('<p class="placed">', '');
|
|
var b = a.replace('</p>', '');
|
|
return b;
|
|
}
|
|
|
|
function replaceRefDes(elem_td, refs) {
|
|
var k = 0;
|
|
var data = '';
|
|
for (var i = 0; i < refs.length; ++i) {
|
|
var pre = ', ';
|
|
if (i == 0) {
|
|
pre = '';
|
|
}
|
|
if (settings.placed.indexOf(refs[i]) !== -1) {
|
|
k++;
|
|
data += pre + stylizeRefDes(refs[i]);
|
|
} else {
|
|
data += pre + refs[i];
|
|
}
|
|
}
|
|
elem_td.innerHTML = data;
|
|
return (k == refs.length);
|
|
}
|
|
|
|
function populateComponentsBody() {
|
|
var comps = pcbdata.components.slice();
|
|
switch (settings.canvas_layout) {
|
|
case "T":
|
|
comps = comps.filter(function(comp) {
|
|
return comp.lay === "T";
|
|
});
|
|
break;
|
|
case "B":
|
|
comps = comps.filter(function(comp) {
|
|
return comp.lay === "B";
|
|
});
|
|
break;
|
|
case "TB":
|
|
break;
|
|
default:
|
|
return;
|
|
}
|
|
// groupping
|
|
if (groupFilter === null) {
|
|
return;
|
|
}
|
|
var groupped = groupFilter(comps);
|
|
// create rows
|
|
for (var i in groupped) {
|
|
var group = groupped[+i];
|
|
var tr = document.createElement("tr");
|
|
// number
|
|
var td = document.createElement("td");
|
|
td.innerHTML = (+i + 1).toString();
|
|
tr.appendChild(td);
|
|
// placed
|
|
td = document.createElement("td");
|
|
var cb = document.createElement("input");
|
|
cb.type = "checkbox";
|
|
cb.setAttribute('id', (+i + 1).toString());
|
|
cb.onclick = function() {
|
|
var elem_refs = document.getElementById('refs_' + this.id);
|
|
var refs = elem_refs.innerHTML.split(', ');
|
|
for (var j = 0; j < refs.length; ++j) {
|
|
refs[j] = cleanRefDes(refs[j]);
|
|
}
|
|
if (this.checked) {
|
|
refs.forEach(function(ref) {
|
|
if (settings.placed.indexOf(ref) == -1) {
|
|
settings.placed.push(ref);
|
|
}
|
|
});
|
|
} else {
|
|
refs.forEach(function(ref) {
|
|
var j = settings.placed.indexOf(ref);
|
|
if (j != -1) {
|
|
settings.placed.splice(j, 1);
|
|
}
|
|
});
|
|
}
|
|
replaceRefDes(elem_refs, refs);
|
|
}
|
|
td.appendChild(cb);
|
|
tr.appendChild(td);
|
|
// refdes
|
|
td = document.createElement("td");
|
|
td.setAttribute('id', 'refs_' + (+i + 1).toString());
|
|
var refs = group[0].split(', ');
|
|
cb.checked = replaceRefDes(td, refs);
|
|
tr.appendChild(td);
|
|
// name
|
|
td = document.createElement("td");
|
|
td.innerHTML = group[1];
|
|
tr.appendChild(td);
|
|
// value
|
|
td = document.createElement("td");
|
|
td.innerHTML = group[2];
|
|
tr.appendChild(td);
|
|
// pattern
|
|
td = document.createElement("td");
|
|
td.innerHTML = group[3];
|
|
tr.appendChild(td);
|
|
// quantity
|
|
if (settings.bom_group !== "U") {
|
|
td = document.createElement("td");
|
|
td.innerHTML = group[4];
|
|
tr.appendChild(td);
|
|
}
|
|
// suppliers
|
|
if (settings.show_suppliers == true) {
|
|
// supplier
|
|
td = document.createElement("td");
|
|
td.innerHTML = group[5];
|
|
tr.appendChild(td);
|
|
// currency + price
|
|
td = document.createElement("td");
|
|
if (group[7] > 0) {
|
|
td.innerHTML = group[7] + ' ' + group[6];
|
|
}
|
|
tr.appendChild(td);
|
|
// link
|
|
td = document.createElement("td");
|
|
if (group[8] !== '') {
|
|
td.innerHTML = '<a href="' + group[8] + '" target="_blank">Visit Site</a>';
|
|
}
|
|
tr.appendChild(td);
|
|
}
|
|
|
|
bomtblbody.appendChild(tr);
|
|
// mouse events
|
|
tr.addEventListener("mouseenter", function(e) {
|
|
if (lastActive !== null) {
|
|
lastActive.classList.remove("active");
|
|
}
|
|
e.currentTarget.classList.add("active");
|
|
selectedComps = [];
|
|
var refs = e.currentTarget.childNodes[2].innerHTML.split(", ");
|
|
for (var j = 0; j < refs.length; ++j) {
|
|
refs[j] = cleanRefDes(refs[j]);
|
|
}
|
|
while (refs.length > 0) {
|
|
selectedComps.push(pcbdata.components.find(function(comp) {
|
|
return comp.refdes === refs[0];
|
|
}));
|
|
refs.shift();
|
|
}
|
|
drawComponentsBB(selectedComps);
|
|
});
|
|
tr.addEventListener("mouseleave", function(e) {
|
|
lastActive = e.currentTarget;
|
|
});
|
|
}
|
|
}
|
|
|
|
function populateBomTableBody() {
|
|
var rowname = null;
|
|
if (settings.bom_group === "NL" && lastActive !== null) {
|
|
rowname = lastActive.id;
|
|
}
|
|
while (bomtblbody.firstChild) {
|
|
bomtblbody.removeChild(bomtblbody.firstChild);
|
|
}
|
|
if (settings.bom_group === "NL") {
|
|
populateNetBody();
|
|
if (rowname !== null) {
|
|
lastActive = document.getElementById(rowname);
|
|
lastActive.classList.add("active");
|
|
}
|
|
} else {
|
|
populateComponentsBody();
|
|
}
|
|
}
|
|
|
|
// canvas
|
|
function recalcLayerScale(dict, width, height) {
|
|
if (!initDone) {
|
|
return;
|
|
}
|
|
var bbox = applyRotationDeg(pcbdata.board.bound_box, settings.board_rotation);
|
|
var scaleFactor = 0.98 * Math.min(width / (bbox.maxx - bbox.minx), height / (bbox.maxy - bbox.miny));
|
|
if (scaleFactor < 0.1) {
|
|
scaleFactor = 1;
|
|
}
|
|
dict.trsf.scale = scaleFactor;
|
|
var flip = (dict.layer == "B");
|
|
if (flip) {
|
|
dict.trsf.x = -((bbox.maxx + bbox.minx) * scaleFactor + width) * 0.5;
|
|
} else {
|
|
dict.trsf.x = -((bbox.maxx + bbox.minx) * scaleFactor - width) * 0.5;
|
|
}
|
|
dict.trsf.y = -((bbox.maxy + bbox.miny) * scaleFactor - height) * 0.5;
|
|
// setup canvas size
|
|
cnames.forEach(function(c) {
|
|
var canvas = dict[c];
|
|
canvas.width = width;
|
|
canvas.height = height;
|
|
canvas.style.width = (width / devicePixelRatio) + "px";
|
|
canvas.style.height = (height / devicePixelRatio) + "px";
|
|
});
|
|
}
|
|
|
|
function prepareCanvas(canvas, flip, trsf) {
|
|
var ctx = canvas.getContext("2d");
|
|
ctx.setTransform(1, 0, 0, 1, 0, 0);
|
|
ctx.scale(trsf.zoom, trsf.zoom);
|
|
ctx.translate(trsf.panx, trsf.pany);
|
|
if (flip) {
|
|
ctx.scale(-1, 1);
|
|
}
|
|
ctx.translate(trsf.x, trsf.y);
|
|
ctx.rotate(deg2rad(settings.board_rotation));
|
|
ctx.scale(trsf.scale, trsf.scale);
|
|
}
|
|
|
|
function prepareLayer(dict) {
|
|
var flip = (dict.layer == "B");
|
|
cnames.forEach(function(c) {
|
|
prepareCanvas(dict[c], flip, dict.trsf);
|
|
});
|
|
}
|
|
|
|
function clearCanvas(canvas, color) {
|
|
painter.ctx = canvas.getContext("2d");
|
|
painter.clear(canvas.width, canvas.height, color);
|
|
}
|
|
|
|
// shapes
|
|
function drawShape(ctx, shape, color) {
|
|
painter.ctx = ctx;
|
|
var rotation = null;
|
|
if (shape.hasOwnProperty("angle")) {
|
|
rotation = -shape.angle;
|
|
}
|
|
switch (shape.tp) {
|
|
case "line":
|
|
painter.line(shape.point[0], shape.point[1], shape.point[2], shape.point[3], shape.lw, color);
|
|
break;
|
|
case "arc":
|
|
painter.strokeArc(shape.point[0], shape.point[1], shape.point[2], shape.point[3], shape.point[4], shape.point[5], shape.lw, color);
|
|
break;
|
|
case "closedarc":
|
|
painter.closedArc(shape.point[0], shape.point[1], shape.point[2], shape.point[3], shape.point[4], shape.point[5], shape.lw, color);
|
|
break;
|
|
case 'fillarc':
|
|
painter.fillArc(shape.point[0], shape.point[1], shape.point[2], shape.point[3], shape.point[4], shape.point[5], color);
|
|
break;
|
|
case "rect":
|
|
painter.strokeRect(shape.point[0], shape.point[1], shape.point[2], shape.point[3], 0, rotation, shape.lw, color);
|
|
break;
|
|
case "fillrect":
|
|
painter.fillRect(shape.point[0], shape.point[1], shape.point[2], shape.point[3], 0, rotation, color);
|
|
break;
|
|
case "obround":
|
|
painter.strokeObround(shape.point[0], shape.point[1], shape.point[2], shape.point[3], rotation, shape.lw, color);
|
|
break;
|
|
case "fillobround":
|
|
painter.fillObround(shape.point[0], shape.point[1], shape.point[2], shape.point[3], rotation, color);
|
|
break;
|
|
case "text":
|
|
var s = 1.0; //3*25.4/96;
|
|
painter.save();
|
|
painter.ctx.translate(shape.x, shape.y);
|
|
painter.ctx.rotate(-shape.angle);
|
|
painter.ctx.scale(s, s);
|
|
shape.svg.forEach(function(data) {
|
|
var path = new Path2D(data);
|
|
if (shape.lw > 0) {
|
|
painter.strokePath(path, shape.lw, color);
|
|
} else {
|
|
painter.fillPath(path, color);
|
|
}
|
|
});
|
|
painter.restore();
|
|
break;
|
|
case "polyline":
|
|
case "polygon":
|
|
var pts = shape.point.slice();
|
|
var path = new Path2D();
|
|
path.moveTo(pts[0], pts[1]);
|
|
pts.shift();
|
|
pts.shift();
|
|
while (pts.length > 0) {
|
|
path.lineTo(pts[0], pts[1]);
|
|
pts.shift();
|
|
pts.shift();
|
|
}
|
|
if (shape.tp === "polyline") {
|
|
painter.strokePath(path, shape.lw, color);
|
|
} else {
|
|
path.closePath();
|
|
painter.fillPath(path, color);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
// canvas: draw components
|
|
function drawPads(canvas, pads, padColor, layer, tp) {
|
|
var ltp = pcbdata.board[layer].tp;
|
|
var ring = pcbdata.board[layer].ring;
|
|
painter.ctx = canvas.getContext("2d");
|
|
pads.forEach(function(pad) {
|
|
var offx = 0;
|
|
var offy = 0;
|
|
if (!pad.surface) {
|
|
offx = pad.offx;
|
|
offy = pad.offy;
|
|
}
|
|
var via = (tp === "svias" || tp === "dvias");
|
|
var block = !pad.surface && ((layer === 'T' && pad.blockTop) || (layer === 'B' && pad.blockBottom));
|
|
painter.save();
|
|
painter.ctx.translate(pad.x, pad.y);
|
|
painter.ctx.rotate(-pad.angle); // ccw to cw
|
|
painter.ctx.translate(offx, offy);
|
|
if (!block) {
|
|
if (ltp === "signal" || pad.surface || via) {
|
|
switch (pad.ctype) {
|
|
case "ellipse":
|
|
painter.fillEllipse(0, 0, pad.width / 2, pad.height / 2, 0, padColor);
|
|
break;
|
|
case "obround":
|
|
painter.fillObround(0, 0, pad.width, pad.height, 0, padColor);
|
|
break;
|
|
case "rect":
|
|
painter.fillRect(0, 0, pad.width, pad.height, pad.crad, 0, padColor);
|
|
break;
|
|
case "dshape":
|
|
painter.fillDShape(0, 0, pad.width, pad.height, padColor);
|
|
break;
|
|
case "polygon":
|
|
var path = new Path2D();
|
|
var pts = pad.point.slice();
|
|
path.moveTo(pts[0], pts[1]);
|
|
pts.shift();
|
|
pts.shift();
|
|
while (pts.length > 0) {
|
|
path.lineTo(pts[0], pts[1]);
|
|
pts.shift();
|
|
pts.shift();
|
|
}
|
|
path.closePath();
|
|
painter.fillPath(path, padColor);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
} else if (ltp === "pads" && !pad.surface) {
|
|
var minv = Math.min(pad.width, pad.height);
|
|
painter.fillObround(0, 0, minv, minv, 0, padColor);
|
|
} else if (ltp === "ring" && !pad.surface) {
|
|
var diam = Infinity;
|
|
switch (pad.htype) {
|
|
case "round":
|
|
diam = pad.ctw + ring * 2;
|
|
break;
|
|
case "obround":
|
|
diam = Math.min(pad.ctw, pad.cth) + ring * 2;
|
|
break;
|
|
case "rect":
|
|
diam = Math.hypot(pad.ctw, pad.cth) + ring * 2;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
if (isFinite(diam)) {
|
|
painter.fillObround(0, 0, diam, diam, 0, padColor);
|
|
}
|
|
}
|
|
}
|
|
if (!pad.surface) {
|
|
painter.ctx.translate(-offx, -offy);
|
|
if (!(via && block)) {
|
|
switch (pad.htype) {
|
|
case "round":
|
|
painter.fillEllipse(0, 0, pad.ctw / 2, pad.ctw / 2, 0, pcbdata.board.bgcolor);
|
|
break;
|
|
case "obround":
|
|
painter.fillObround(0, 0, pad.ctw, pad.cth, 0, pcbdata.board.bgcolor);
|
|
break;
|
|
case "rect":
|
|
painter.fillRect(0, 0, pad.ctw, pad.cth, -1, 0, pcbdata.board.bgcolor);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
painter.restore();
|
|
});
|
|
}
|
|
|
|
function drawComponents(tp, canvas, layer) {
|
|
var padColor = pcbdata.colors[layer].pads;
|
|
pcbdata[tp].forEach(function(comp) {
|
|
var pads = comp.pads.filter(function(pad) {
|
|
if (pad.surface) {
|
|
return comp.lay === layer && !pad.sided;
|
|
} else {
|
|
return true;
|
|
}
|
|
});
|
|
drawPads(canvas, pads, padColor, layer, tp);
|
|
if (comp.hasOwnProperty("holes") && comp.holes.length > 0) {
|
|
painter.ctx = canvas.getContext("2d");
|
|
var pts = comp.holes.slice();
|
|
while (pts.length > 0) {
|
|
painter.fillEllipse(pts[0], pts[1], pts[2], pts[2], 0, pcbdata.board.bgcolor);
|
|
pts = pts.slice(3);
|
|
}
|
|
}
|
|
if (comp.hasOwnProperty("shapes")) {
|
|
var shapes = comp.shapes.filter(function(shape) {
|
|
return shape.lay === layer;
|
|
});
|
|
var ctx = canvas.getContext("2d");
|
|
ctx.save();
|
|
ctx.translate(comp.x, comp.y);
|
|
ctx.rotate(-comp.angle);
|
|
shapes.forEach(function(shape) {
|
|
drawShape(ctx, shape, padColor);
|
|
});
|
|
ctx.restore();
|
|
}
|
|
});
|
|
}
|
|
|
|
function drawComponentsBB(comps) {
|
|
clearCanvas(canvases.topcanvas.hl, null);
|
|
clearCanvas(canvases.bottomcanvas.hl, null);
|
|
comps.forEach(function(comp) {
|
|
var cname = {
|
|
"T": "topcanvas",
|
|
"B": "bottomcanvas"
|
|
}[comp.lay];
|
|
var canvas = canvases[cname].hl;
|
|
var lw = 1.27 / canvases[cname].trsf.zoom;
|
|
var rbb = applyRotationRad(comp.bound_box, comp.angle);
|
|
var x = (comp.bound_box.minx + comp.bound_box.maxx) / 2;
|
|
var y = (comp.bound_box.miny + comp.bound_box.maxy) / 2;
|
|
var w = rbb.maxx - rbb.minx;
|
|
var h = rbb.maxy - rbb.miny;
|
|
painter.ctx = canvas.getContext("2d");
|
|
painter.save();
|
|
painter.ctx.translate(x, y);
|
|
painter.ctx.rotate(comp.rotate);
|
|
painter.strokeRect(0, 0, w, h, 0, 0, lw, hlColor);
|
|
painter.restore();
|
|
});
|
|
}
|
|
|
|
// canvas: mounting holes
|
|
function drawMTHoles(canvas) {
|
|
pcbdata.mtholes.forEach(function(hole) {
|
|
var pts = hole.point.slice();
|
|
painter.ctx = canvas.getContext("2d");
|
|
while (pts.length > 0) {
|
|
painter.fillEllipse(pts[0], pts[1], pts[2], pts[2], 0, pcbdata.board.bgcolor);
|
|
pts = pts.slice(3);
|
|
}
|
|
});
|
|
}
|
|
|
|
// canvas: draw board outline
|
|
function drawBoardOutline(canvas, scale) {
|
|
var color = pcbdata.board.color;
|
|
var ctx = canvas.getContext("2d");
|
|
// edges
|
|
pcbdata.board.outline.forEach(function(shape) {
|
|
var lw = null;
|
|
if (shape.hasOwnProperty("lw")) {
|
|
lw = shape.lw;
|
|
shape.lw = Math.max(1.27 / scale, lw);
|
|
}
|
|
drawShape(ctx, shape, color);
|
|
if (lw !== null) {
|
|
shape.lw = lw;
|
|
}
|
|
});
|
|
var shapes = [];
|
|
// holes
|
|
shapes = pcbdata.board.cutout.filter(function(shape) {
|
|
return !shape.hasOwnProperty("lw");
|
|
});
|
|
shapes.forEach(function(shape) {
|
|
drawShape(ctx, shape, pcbdata.board.bgcolor);
|
|
});
|
|
// edges
|
|
shapes = pcbdata.board.cutout.filter(function(shape) {
|
|
return shape.hasOwnProperty("lw");
|
|
});
|
|
shapes.forEach(function(shape) {
|
|
var lw = shape.lw;
|
|
shape.lw = Math.max(1.27 / scale, lw);
|
|
drawShape(ctx, shape, color);
|
|
shape.lw = lw;
|
|
});
|
|
}
|
|
|
|
// canvas: draw nets
|
|
function drawNetPlains(canvas, plains, color) {
|
|
var cxt = canvas.getContext("2d");
|
|
plains.forEach(function(plain) {
|
|
plain.lines.forEach(function(line, index) {
|
|
var lw = null;
|
|
if (index > 0 && index < plain.lines.length - 1 && line.hasOwnProperty("lw")) {
|
|
lw = line.lw;
|
|
line.lw -= (lw - 4 * Math.round(lw * 100 / 4 + 0.5) / 100) * 8;
|
|
}
|
|
drawShape(cxt, line, color);
|
|
if (lw) {
|
|
line.lw = lw;
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
function drawNetHLPlains(canvas, plains, color, zoom) {
|
|
painter.ctx = canvas.getContext("2d");
|
|
var lw = 1.27 / zoom
|
|
plains.forEach(function(plain) {
|
|
var pts = plain.contour.point.slice();
|
|
var path = new Path2D();
|
|
path.moveTo(pts[0], pts[1]);
|
|
pts.shift();
|
|
pts.shift();
|
|
while (pts.length > 0) {
|
|
path.lineTo(pts[0], pts[1]);
|
|
pts.shift();
|
|
pts.shift();
|
|
}
|
|
path.closePath();
|
|
painter.strokePath(path, lw, color);
|
|
});
|
|
}
|
|
|
|
function drawNetLines(canvas, lines, color) {
|
|
var ctx = canvas.getContext("2d");
|
|
lines.forEach(function(line) {
|
|
drawShape(ctx, line, color);
|
|
});
|
|
}
|
|
|
|
function drawNets(canvas, layer, color) {
|
|
if (!("nets" in pcbdata))
|
|
return;
|
|
pcbdata.nets.forEach(function(net) {
|
|
if (!("lines" in net))
|
|
return;
|
|
var lines = net.lines.filter(function(line) {
|
|
return line.lay === layer;
|
|
});
|
|
drawNetLines(canvas, lines, color);
|
|
});
|
|
}
|
|
|
|
function drawPlains(canvas, layer, color) {
|
|
if (!("nets" in pcbdata))
|
|
return;
|
|
pcbdata.nets.forEach(function(net) {
|
|
var plains = net.plains.filter(function(plain) {
|
|
return plain.lay === layer;
|
|
});
|
|
drawNetPlains(canvas, plains, color);
|
|
});
|
|
}
|
|
|
|
function drawHLNet() {
|
|
var net = pcbdata.nets[selectedNet];
|
|
["T", "B"].forEach(function(layer) {
|
|
var cname = {
|
|
"T": "topcanvas",
|
|
"B": "bottomcanvas"
|
|
}[layer];
|
|
var canvas = canvases[cname].hl;
|
|
clearCanvas(canvas, null);
|
|
// lines
|
|
if (settings.draw_nets && ("lines" in net)) {
|
|
var lines = net.lines.filter(function(line) {
|
|
return line.lay == layer;
|
|
});
|
|
drawNetLines(canvas, lines, hlColor);
|
|
}
|
|
// plains
|
|
if ("plains" in net) {
|
|
var plains = [];
|
|
plains = net.plains.filter(function(plain) {
|
|
return plain.lay === layer;
|
|
});
|
|
drawNetHLPlains(canvas, plains, hlPlainColor, canvases[cname].trsf.zoom);
|
|
}
|
|
// free shapes
|
|
if ("freeshapes" in pcbdata) {
|
|
var freeshapes = [];
|
|
freeshapes = pcbdata.freeshapes.filter(function(shape) {
|
|
return (shape.lay === layer && shape.net === selectedNet);
|
|
});
|
|
freeshapes.forEach(function(shape) {
|
|
var ctx = canvas.getContext("2d");
|
|
drawShape(ctx, shape, hlColor);
|
|
});
|
|
}
|
|
// pads
|
|
var comps = [];
|
|
if (settings.draw_pads) {
|
|
comps.push("components");
|
|
comps.push("freepads");
|
|
}
|
|
if (settings.draw_fiducials) {
|
|
comps.push("fiducials");
|
|
}
|
|
if (settings.draw_vias) {
|
|
comps.push("sviases");
|
|
comps.push("dviases");
|
|
}
|
|
comps.forEach(function(tp) {
|
|
if (pcbdata[tp] === undefined) {
|
|
return;
|
|
}
|
|
pcbdata[tp].forEach(function(comp) {
|
|
var pads = comp.pads.filter(function(pad) {
|
|
if (pad.net === selectedNet) {
|
|
if (pad.surface) {
|
|
return (comp.lay === layer && !pad.sided);
|
|
} else {
|
|
return true;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
});
|
|
if (pads.length > 0) {
|
|
drawPads(canvas, pads, hlColor, layer, tp);
|
|
}
|
|
});
|
|
});
|
|
});
|
|
}
|
|
|
|
// canvas: draw background layers
|
|
function drawBack(dict, clear) {
|
|
if (clear) {
|
|
clearCanvas(dict.bg, null);
|
|
clearCanvas(dict.silk, null);
|
|
clearCanvas(dict.assy, null);
|
|
}
|
|
var color = pcbdata.colors[dict.layer].pads;
|
|
if (settings.draw_nets) {
|
|
drawNets(dict.bg, dict.layer, color);
|
|
}
|
|
if (settings.draw_copper_pours) {
|
|
drawPlains(dict.bg, dict.layer, color);
|
|
}
|
|
// draw free shapes
|
|
var freeshapes = pcbdata.freeshapes.filter(function(shape) {
|
|
return shape.lay === dict.layer;
|
|
});
|
|
freeshapes.forEach(function(shape) {
|
|
var ctx = dict.bg.getContext("2d");
|
|
drawShape(ctx, shape, color);
|
|
});
|
|
// components, free pads, fiducials, viases
|
|
var comps = [];
|
|
if (settings.draw_pads) {
|
|
comps.push("components");
|
|
comps.push("freepads");
|
|
}
|
|
if (settings.draw_fiducials) {
|
|
comps.push("fiducials");
|
|
}
|
|
if (settings.draw_vias) {
|
|
comps.push("svias");
|
|
comps.push("dvias");
|
|
}
|
|
comps.forEach(function(tp) {
|
|
drawComponents(tp, dict.bg, dict.layer);
|
|
});
|
|
drawMTHoles(dict.bg);
|
|
drawBoardOutline(dict.bg, dict.trsf.zoom);
|
|
// silk
|
|
if (settings.draw_silk) {
|
|
var shapes = pcbdata.silk.filter(function(shape) {
|
|
return (shape.lay === dict.layer);
|
|
});
|
|
var ctx = dict.silk.getContext("2d");
|
|
shapes.forEach(function(shape) {
|
|
drawShape(ctx, shape, pcbdata.colors[dict.layer].silk);
|
|
});
|
|
}
|
|
// assy
|
|
if (settings.draw_assy) {
|
|
var ctx = dict.assy.getContext("2d");
|
|
var assyColor = pcbdata.colors[dict.layer].assy;
|
|
|
|
var shapes = pcbdata.assy.filter(function(shape) {
|
|
return (shape.lay === dict.layer);
|
|
});
|
|
shapes.forEach(function(shape) {
|
|
drawShape(ctx, shape, assyColor);
|
|
});
|
|
if (pcbdata.board.pads_on_assy) {
|
|
comps = [];
|
|
comps.push("components");
|
|
comps.push("freepads");
|
|
comps.push("fiducials");
|
|
comps.forEach(function(tp) {
|
|
pcbdata[tp].forEach(function(comp) {
|
|
var pads = comp.pads.filter(function(pad) {
|
|
if (pad.surface) {
|
|
return comp.lay === dict.layer && !pad.sided;
|
|
} else {
|
|
return true;
|
|
}
|
|
});
|
|
drawPads(dict.assy, pads, assyColor, dict.layer, tp);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
// canvas: draw highlight on layer
|
|
function drawHLOnLayer(dict) {
|
|
if (selectedComps.length > 0) {
|
|
drawComponentsBB(selectedComps);
|
|
}
|
|
if (selectedNet !== null && selectedNet < pcbdata.nets.length) {
|
|
drawHLNet();
|
|
}
|
|
}
|
|
|
|
function redrawCanvas(dict) {
|
|
prepareLayer(dict);
|
|
drawBack(dict, true);
|
|
drawHLOnLayer(dict);
|
|
}
|
|
|
|
function redrawIfInitDone() {
|
|
if (initDone) {
|
|
redrawCanvas(canvases.topcanvas);
|
|
redrawCanvas(canvases.bottomcanvas);
|
|
}
|
|
}
|
|
|
|
// resizers
|
|
function resizeCanvas(dict) {
|
|
var divcanvasid = {
|
|
"T": "topcanvas",
|
|
"B": "bottomcanvas"
|
|
}[dict.layer];
|
|
var divcanvas = document.getElementById(divcanvasid);
|
|
var width = divcanvas.clientWidth * devicePixelRatio;
|
|
var height = divcanvas.clientHeight * devicePixelRatio;
|
|
recalcLayerScale(dict, width, height);
|
|
redrawCanvas(dict);
|
|
}
|
|
|
|
function resizeAll() {
|
|
resizeCanvas(canvases.topcanvas);
|
|
resizeCanvas(canvases.bottomcanvas);
|
|
}
|
|
|
|
/*----- prefs functions -----*/
|
|
function setDisplayAssy(val) {
|
|
settings.draw_assy = val;
|
|
setTimeout(function() {
|
|
redrawIfInitDone();
|
|
}, 20);
|
|
}
|
|
|
|
function setDisplaySilk(val) {
|
|
settings.draw_silk = val;
|
|
setTimeout(function() {
|
|
redrawIfInitDone();
|
|
}, 20);
|
|
}
|
|
|
|
function setDisplayNets(val) {
|
|
settings.draw_nets = val;
|
|
setTimeout(function() {
|
|
redrawIfInitDone();
|
|
}, 20);
|
|
}
|
|
|
|
function setDisplayCopperPours(val) {
|
|
settings.draw_copper_pours = val;
|
|
setTimeout(function() {
|
|
redrawIfInitDone();
|
|
}, 20);
|
|
}
|
|
|
|
function setDisplayFiducials(val) {
|
|
settings.draw_fiducials = val;
|
|
setTimeout(function() {
|
|
redrawIfInitDone();
|
|
}, 20);
|
|
}
|
|
|
|
function setDisplayPads(val) {
|
|
settings.draw_pads = val;
|
|
setTimeout(function() {
|
|
redrawIfInitDone();
|
|
}, 20);
|
|
}
|
|
|
|
function setDisplayVias(val) {
|
|
settings.draw_vias = val;
|
|
setTimeout(function() {
|
|
redrawIfInitDone();
|
|
}, 20);
|
|
}
|
|
|
|
function setDisplaySuppliers(val) {
|
|
settings.show_suppliers = val;
|
|
setTimeout(function() {
|
|
// switch bom group
|
|
changeBomGroup(settings.bom_group);
|
|
}, 20);
|
|
}
|
|
|
|
function setBoardRotation(degree) {
|
|
settings.board_rotation = degree * 5;
|
|
document.getElementById("boardRotationDegree").textContent = settings.board_rotation.toString();
|
|
setTimeout(function() {
|
|
resizeAll();
|
|
}, 20);
|
|
}
|
|
|
|
function setupPrefs() {
|
|
// setup prefs checkboxes
|
|
document.getElementById("cbDisplayAssy").checked = settings.draw_assy;
|
|
document.getElementById("cbDisplaySilk").checked = settings.draw_silk;
|
|
document.getElementById("cbDisplayNets").checked = settings.draw_nets;
|
|
document.getElementById("cbDisplayCopperPours").checked = settings.draw_copper_pours;
|
|
document.getElementById("cbDisplayFiducials").checked = settings.draw_fiducials;
|
|
document.getElementById("cbDisplayPads").checked = settings.draw_pads;
|
|
document.getElementById("cbDisplayVias").checked = settings.draw_vias;
|
|
document.getElementById("cbDisplaySuppliers").checked = settings.show_suppliers;
|
|
// board rotation slider
|
|
document.getElementById("boardRotation").value = (settings.board_rotation / 5.0).toString();
|
|
document.getElementById("boardRotationDegree").textContent = settings.board_rotation.toString();
|
|
}
|
|
|
|
/*----- event handlers -----*/
|
|
|
|
// window events
|
|
function onWindowLoadHandler(e) {
|
|
try {
|
|
var bin = "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XUl9SQNJw0mjSYgAE0lkAFNJIACzSdNJ80klQItJ0slLAHwAWwCgAMcAjwBVidtJJwDRybXBJ0mPAAhIfID7SbdJRVgXSSgA3SxdwB8At0l57PdJ8clUyWbJn0nUED9JyACvyTIADslUAE7JfsngyW7J0MmEyQHJXsmIycjJCCn+yYHJ2MlQALjJaCncADfJN4lRycgAhx6NIAApCcldyUzJcAAsyWzJBcnZyVzJPMl8yVQpAEDZyUXJtcmNAKXJZ8myyZXJismcyTXJqsnsKZrJ2sm80I3JbcmCKR3JpsnmyVWAlsnWyUyAzIj2yYDJ0Ck4KW2AEMnuybApcMnIKT7JCilIKQjJQclYKSHJKinPyWZJBClEKVtJlMmYgMAp5CmUKdsA1ClKybnJ9CmWKYwpmsnFyawpksl8KULJnCnAKcrJLCkgAPXJsslNyfrJgimtyc3JIinGyWIp3ckSKb3JSsk+AAvcRYAzgCPJUSkhgOPJZUkNAL+M9CQzybVJ9UmNSXksmgDLySM8HUk9Sf1Jg0nPgCNJdIA7yZNJeACHycfJ0UCnyerJK0kXyWtJmwBfyf/BRwA7SQ/Jzd5PyV/JlolvyQ/J9PbdAJ/JyACXnoYp1eEkKVTJSclvSTyQDMl1AKApNsmMgXbJkClyKcDJ+MkqKa7JkMkaKRjJ6ikLKWjJqilaKZgp2CnrKYTJjwBnngMphAFxyaQp1MkHQrTJKckfSeYpmclWKTnJdCn5yfYpjcmOKYbJzinqyRwp8ABdyR4pvCmvKfwpgSmxyQEpfimxyaIpXckdyZIpfzBTKb7MsimOyQopSynKKRspmikoKb7JcKkYKcHJCin7KeqJhylp+EMpiclnKcnJ9MlpyVcpDCkcybQpecmEqYXJPCklyS8p5cmuKe8pXCmfKXXJLinCyQIpfykWKe3JwSnAqT3JdoAS8f3JUSlDybEpY8klSYkpeACQgFZ4qSlzyQvJmSktSSvJHoi5KRvJBSlFKcWA40mlKTNJc0lgIFUpy0mrSc2A18kNKb/Bd8nfAC+E+0k3yXghJ0nfAP0QvSn9Kd8Ak/jHKVTJrbBtWKzA/aiTYCAp30ngqT6AkKnyKbspLslKKSspaimoKe6pnslbKSipvqlhyX0pBykWqRGwVqmYgDapgGqmmIt0+KkZyaSpNCk2KfcpHMnMKeLJlKkNyXLJNKnuKeSpjQDeKT8pAKm6yb8p4ikhKSCpk4CyYM6pIqCuqfMpockwqV6p3sk+qaHJ8KnaKTspocloqePchilJ8uGpv0ksoLap0amrdtwABKl2KUSpianxqQ4pnilsKd8p1KkKyVmpTym5qY3JTKkFqfmpoSnFqRypVsl9yZEpg8ltgMPJo8lXaAkpk8lq9DPJwgBTyUvJrUk5KR1JgAD8IL1J28mKqXvJZSkqqS3gaqnnyZfJd8kbSfTRuqnRyXnyBqmHSUPRnSmEKfFkvSlU0e2pRlCdqYyB3alRqSqIfamOqfxYYCl1YLHJsylQqYGpNamBqfCpaykNqcipOimoqYdJG37tqRf+wGmRqTLAvakOqQOpWcnWKXcpI6mPKWOpaalvKVOp1ckzqQypviktySypQSmdyVwpJamcqWCpTICV1pWpMCkbKYhpqGneqYipiCloac2peimYaZEegGn+2LhpoGn4aeBphGlxqYOpgsnEqbYpxGnkaamps6kZqdRp3Cm0aROpjKmFqUIpumlAqSxpK6lcqeupepC8qdupwzi7qUkpkIA/9AepR6ncAJKpp6k0ABepV6m7yfvJ5SmqqVMA1SkaqVfJ60mYadSab6m/qfc+bSnIAJKhP6mNPP+pWGnfAHkSwGkjKXTJYylpyRMpTqkcaXaQXGnQqZ6pSGmrKfWpKimNqdspuikbKS+pYmlRaTooMWk4qaMpqcn9qXJpymmKaUmpZKlPKeOpVKnqaR8p2aleKXRp86l6aYupBmnAKaxpVsnsab9JDqlwaW6p1anpaXxpdakCaegpyClNqXlpeymiaUA47alWYCVpVTTnKXipFWkUKdcpDynVaWRpKakUqWppbik0aZ4pamn0af4pjGmAqWyphmlhKZypa6kDyaZpm6l8qTupAqmTyQ3xtml3aA5p7UnnqZepxSnXqW5pd6la4A+pNSlPqVqpIWmvqccApwDcHsFpoWlgAF8A0cmh/hFphWlQ6TMgkmlIsGBp9qkJaWEASWm/SZeIqWkIacNp2WmZaWNpfqmYyblpGGmA6bDphCmDoQjp2qDSacjpK2kWKVVpw6nyaUwpzWn1aempu2maaftprWm6af8prKnMaV1pRmm9aYyBRiD/SXMp3GmEybxpOOn8abWpBOkBqS2pM2lvWIYpXtrk6T2pMmmxqatpZGkbafTpo6mqaQypLOl0qTmp7OmLqZzpTGnLqedpq6kRKVdpE1BmaXEpHECWaUKp/zFPacepUqmjPE5p72kKqa5pt6lHyR5pS0mPqXUpL6n+acDpUOk3Qp+pIWnfqRDpp0n+6WRSMOmzaSDpo2ALadj4uKnxacUpX0lQaeCpKqCY6UNp8CkZaeLpGen+qehpgakFaZHp76mfQjHpr0lxaeVp6ckq6erptykkqRXpW2lOKTtpmal7aV8pDWmHacypwiknadzp4imgqWWpHGni0KnpiynY6UipmekjaZLpOenS6cTp+emk6UNCRelLafHpZek06TcpaunKaTXpzyl16RppOuktadppzekLqVzpRumSKZdpPKk3aeZpxzTW6aM4mSl26fZp2SmvaU7pLmlKqQfJ32kLSZ5p6qm1KZqpvml9KfK+AWmMwOcAYUCB6VNIS0hhabvGpuBmqRKecul5HlPpceml6YlpSekcadJQvek8af3pgmmD6WLp2enCaflpDSmVnsAZGIqgGWVplymVafPpdOmL6YzplGkVyfXprOmN6empm+ntadvp7KnG6VIpv0nZ4DAZIulwGeNpo2kS6ZNpROnuCXLpXqqYGSXp2Bnl6bTppGnV6QQZK+lNaVppTeltaQbpbek76eEpnMkmaebpB+mW6aAAx+kVSZVJ7oiQgNVJh6nPaRfpq8mZAFfpH2mu6cqp7un3qQ/pXunP6fUpfSlAGX7phCm5ph8AIek3yYHYYWl4agcAZqmzCQMpjUhYqc9JpWncGeMpqOmQGb9JryCC6fBpaenLKVnpCKksGYTpuelfyc4Zu0npvFwZFykMyURpuBn8GfgZdWmEGZOpwhls6RvpYhnHaUWpVBmd6UeA4KkcSPQZHqnp6UPpKGmIGcPpyBnTacGpqwkuGX20MRnLabPpa2lDqYkZNylL6UzpVGlpGaQZPimZGa3p2Rlnabvppun76TEph+n6kIoZkIALIOoAZ+lZKSepl+nOaboZN+nuaYYZnul/ad7pX8lv6RYZqpGFod/pzhkh6SDp0yaAGWgZuxmm3HUZM+kQGYeA0GkhUIUZcClBGSUZWWkD6UgZU2mwyY8AQBm7GbuYxxml6fEZ62l4GS0Zghla6cQZa+kHad0Z+mmnaTzp1Bl86aUmlxmKKcUZZRmlGXcZ5RkPGbgpqBnPiHLp8OkmKe4Zi2lgGTwZc+mfGc0ZDymtGSkZjWm0qc1pAJkc6VkZS6k5GVIZ3KkbqUMZ8hleKfdpVmngQBMZKhlqGXZpUxkO6doZsxku6fMZd+knyUYZyxkmGY8AaxnNKaTpvbLBaT/pack7GVDp1ob7GUiZIOmJFCQgCulI6TGpCemTKRxpGugQmaLpsJkwmfAZ9xlsGc8ZkpkowgqZlOlKmQ0ZqulfGbiZPxnaadrpRJl66QxpPRlkmX0Zpal5GaqZioADaVWpfelQmZqZtxnamXCZupkHGVDp08JuGSBpiOlGmRBpHxlNGVXpSRkUaUIZhJkiGWQZgJkdacCZHekUmTIZMkgW6fypE8n0mY9pTJm3hOoZ9uk5KTQAgAC8IM7pY0l6GbfpBhk/abyZ3mnPqWzJBRzv6cfmMkDWGfcAWwBH5BRA9hkuWL0pORYDKXdJwGlhwB/iAeJxaMxIKOmJ6WcZUykkQOqZjBn46VqZTBk+meEZ2wA63DdJD8ndmaiZlim5+gmcPfg02uQgJpkV6Qvp3xnJGdGZ06npGaIZJJl2mZ1pSZlsaV3pKACeQK6ZwulFGdcZ0JlemdOZrBmzmW4c5+ZdmZ5MPZkrmmuZA5lDwMrpWJnhmUppu5lRmb8Zq+nWmRkZx5lAme3poSn9GdIZZumpmXIZ6ZmCqSfptunZmbmZ5+nTGZSeFgDrycWZJSk3qfoZFSm9QL9pVZkA6QLw7+mkRv6AgekLzH/pOeY9KQiZ1MmvzHLpwr6GmXapxpmnGReZ0ykVqdeZaWkemd6ZU5n46U+Zo+nWYQxZH+pMWQRpv5mNGQppZpnJqRaZDWlWmbGZXRngWQmZkFndaTQZ0ylf6ZxZWOncWdOZvFmbKTOZAln0WSDpXngiWUrp1OniWQmpOJlSWXuZwFkdGfSpYFn66aSZp5lQWcmZsFnRKVupNJmjGZSAjJnyqMyZGhnoWSAArwBYWdfpuFllmfhZF0CEWU/pPmmmGa9kpFkqFIHpJsJ/6apevSk2KnLptogfwB+Zq5n9mYNoP5nKmWjp7Fn+GYNp7pl3mZ6ZeOk6WfxZImngKQ8hyVmJJoGZvZlvABlZG5liWaaZ5lm1aUBZlpl/GaBZR5l2WSeZiZmOWeeZTpm2yWpZUClumbAZmlmTmQ+ZfFlhGaPp2yGVWeRAHwDLmTVZX5mZWZuZYZkSWU1ZDOmWWa1ZIFlyWXmptpkQWZIZF2kDGVSZrlkIWZPJydzcAJMZL2kYWXIAAVlzGUFZCxkVmUsZRFkv6a9mpFmULl/pNhk1mYo4f+kAZB2Ztjhy6QmMWmBGWVTpkGkjmRxpMymDWTeZVxmwqTxZY1klWRNZZVkdwn9Z1fSA2caZy1lmWRGZgFma6RtZ1lm66bZZO1mKWXtZPWlsWX9J45kjWTpZ2lk5aVLp8Nm/WSDpbEHI2aGZOBnYmejZ5pnrWTJZbVlbWXOpClmUGQ6Z+1kwWYMZR1l3aRmZQqmzQJ5ZFRjeWXmZeAD+WXkpgVlfaeWZ9+kPWeFZ1ZnIAFlWpFkB6e9ZStmWPn/pv4G9KRFWcunR6cuZeGnMWRBprFl9WblZJNmFWdDZxVkU2SPpZVk62VHphuB02bJpvBkJGUzZFlktWazZm1mHmXGZnNmG6eSZvVnQaWlAZtlQ2VpZMNlW2RUZjxmXmacyc2mkEg7ZDVnbmZJZzVmY2e7Z2Nnr6R1ZeNlc2SCZ0FmUmddp1JnHWVZph0CJAGdZKFksmRdZflmYWVLZN1ky2SFZrHiVmQrZAOkyZqRZKVmNmQdJ2wAxWvFZV5g/We0iyVkrvjHZ2Vk+GabZ6lmBGUHZo1mW2UJp8JlBqaaeyVmEmD3ZW5l8GS7ZCdnbaVZZMZme2fJZnVm7Wb7ZhNkm2cApA9kFWUPZZNkh2aPZROkT2SDpMVn62VJphtmO2X+ZK1lz2WtZbtnM6WzZy9nbWUdpXVlKWUZpe+mHWbdpFml0mXgAlKoi2aMcQEDi2dAsFwCQgJewzlwlmVyZstk8mfLZ/2lPWeuCsWDWGUKZEXzuIJHJatmcfHA5xqlQ6fLgNsA0WUGp9RBoOciZscnLmbFpsRlDmSqZl5l5WUNZDBmk2chp+9kTaXDZKBlzmbHJeqlwMMBpF6qYYGO2IBgNajPZMF4kaejZzkIqaXXJEADCye0ZS9mdGY/ZLelr2dzZG9lgKQNZQulcWebZwdkj2bQ5lNn0ORMw4mlImcuZrDkhGpG4gFQyKajZPDkAWczZt9nCOQeZojkc2avZ+Nnr2SpZ2sCB2RLp5NkH2c+Z8OkmqQK8LDlJClo5SRTG+LHZs9kGOa7Zidl32R7Zpjk6aeY56dlnmVI5UymLwDY5wRl2OUo51tkqOY4576l9LC45xMhuORw5ujkM2f+ZNWk32b45xjkN6TZZqdlP2RI5GdmOmWAp+nAROTcZijk6mQ45jDnvqcpwiTkuOBtq7jmcOXo5leneOfPZtemL2SY5uTle2UE5PtmSOSpZT6qlOfeZ5Tm6WfDZcTmBacVpGjmuOfU5KTmeOc7ZLTmZOQvZWNkiOZ05K9lp2T05hTl+2eCpN/ADOUVZoRnKOZUZqjnfAPNpEzlJOVM5OjkzOYzZczka6Qs5SdlLOTjZeTniORY5vTlgmeHA5DkQ2ZCZ8jnD2bs5MTn7OaM5ptq1OWw52jkeOSZZjVnX2Vc5bTmLOR05dzldOas5EhmWOc85Lpng2XI5u9nUOUM5pVmxOVU5E+n22cc5dTnsOWc5wLlx2atZYLnL6e05OTlQuSs5+TmPOes5oTkcaR1g2zkW2V85Ydm0WQc5cOlHGdi5ALkNOak5TtkXORk5RLltGUQZ/jnLOWI5W+lrOSE5fTkB2dvZw1kfOXvZqLl0OT85GLkK0f85yTl4uVw53LmbadJZfjnJ2cSZ3TmwuU85RNlI4HS5CjkMuWPZzZm/ORPZbLlKuUC5KrnpOWq5LNkaubc5KdnQuRS5wTk9WdS5v0kmMAa5nznBGWi5crkLmcKZ2syKuac5lrlNOTuZhjlZOfy5mrk2mU65IrkuuX05DUAeudK5RrmH2aa5ciYBubi5QblpOVfZlzn8OeC5NzmQuQ655LkPOc65yllgmfrA8bkouYm5lTm+ucpJqbmAuY05Gblo2Vm5eJn7maS5+blCuRQZ0bnFuWxZ4EhlubjpFbmj6cy5pOmMWea5gbl1uVy51rkCGba52TkkGYK5Zjkwub0ZVLkqWd1gPbkIGbCZ3rnh2Qw5VblMfjW5HLnnOeO5kZlhuakZ9rlauXO59pkLuXzpZwCvOUi5tjk0ORU5/bmmuWmS27nTOfi5Xjk8udm5xLkQuS25x7lRuTq5Z7lsWQUZErmUOVK55bleubK567kDubKWj7nKucG58dnzOTm5drl5uV+5hbkdubzpf7kyOQEZO9nXuTK5ezlgeaa5VAqQeem5Y7mZua+5TbkkudO5ZLltueIZ87miuXzpLqkAebeZyLm9uSB52Hm0WSRZIOl4ecO5abmjuZfZDbnEeeq5U7n/GZG5SHk/udR5XblpyXR5kNmYeX25ZVmseVDpjkL4eVx5pln6Obx5k7nhuUe5gnnCucJ5MbnnubBpiLkaWUB5jHlD6Wu5LHnMMJPZzXzyeZy53HlKeTa5RjmqeQh56nntuZp5nbkm2cTZ4nnvOQx5K7nemUZ5ODkmecfZE5jmebu5RHnWeQe5BJl2ebjZ37lUeVp5RNniubp5g9mSeUx53znruTJ5g7nExP55z7mzOcp5NnmHuaF59zkaeRF5TnlgKVvZMXkYeZE5N7nDOfQ5SXnVuRx5tbkWeYp5zTkZecF5slkP2bO54XmnuSJ5JtlX4Mu5zBnxeYy53nkQ8MAZpQqpeVa5gXkTuZl5IXmfufZ5lHmteZF5JtkXuZ15IRndeca5z0k+eZKZ/rlVeTu5aXmquSN5DXn32QE55BmTeQ5Z+XnlqZe5ennueV15hnmgecZ5fXmymZ3Za3lPuUN5PHlBedc58HnjeWF5Qnl5eSh5Jtl+GXN5UTm3udJ5y3mk6a3Zt3lQefW5VnlbeU95/HntWY65b3lTeYd5TIAXGa55Gpn0uQt5ROkVefLpQPkEeZZ5dXmPeXB5EPns2YE5J7kHeR95xTkIubI5J3lxeed5zHm9eTQEutlYuYApmICaOSO5NXkguY25fHm2eS95OXkOee95oJlsWWqZCPkTmQm5yPmzmRV5RWKDedB5hLlvuXy5WXns+VD5uXkw+UT54KnHebF5JXlYeQl5l3nU+Yc5ObCi+SD5WPlg+Tj5bPlkea25zXnQ+YT53Pkm2ST56HmSuad583kU+ar5VPkA2UVpbRBa+YR5D3m6+e+5ubnS+QW5svkm+bkZYCl/gN95pXleeVsAwvk1Oej5CnnM+fV54Pn6+QJ5r3le+d1ZsPnPSYr5xXllOVJ55Xn/eaOqTvmY+SG5PjmR+VL5BvmIebH5L9mm+cU5twD++Sr5PXlB+Wn5d+aBmQz5nHlM+QS5oLkS+fiZjXm7efGZRbny+XD5HwB8+VQ5BnllGYH5S3lXee+plqmh+XX5L7nY+W75z3l5+RN59llx+e35KACd+UV5lvnk+b35F3l2+YqATDnmsBn5tXlZ+a054/m4+U15+Pkted75Tll82R/ZR+lf2Y0AIxq/2Y0AgAAYIIAABCBfwAA5Hogc4Hf5D/kV2W7pVdkwgGfJfJkRWVsAc85NKffJpOnG8OGmgek62RKZlhmWQlHMiVn+fHLpdagJkrNZdPldycbZYCn9oKX5KfmVGVFZbHmwiNPZ8Rl8OTuZfDlL6cVJQjlR+ZD5nvmc+XL5RflTKWDZpPlK+cn5gvmTWQTof1lYBafZwZnn2QF5Lvn7uTn5Y3mT+TH5ZAVH+Rs5HGlxuV35+nkeeY+ZK/m/+UvEjAUgiNgF2vnb+bB5u/nEBXj5e3nT+YX5PvngqaW5QgVW+T95ZXnoBV70kgUyENIFzvmg+RwFevm5+dH5HPn7eTP5FAX8yWh5+VmL+cr5aAXruSJqegVpycwFFOmsBRt5e7kY2ZwFzfkzuQf5xvmWBaoF/MnZyRoFS/mruWIFc/mPms4FgZkG2aJZHgXDecYF8gWmBSQFFHnKBQTZsblieQv5gHmaBQH54QXgKQuwUQUGBZn5MHm8uU35O3m+BUoFz9lpBc85hXnUBUn5gzkOBbRZb7QFBa4FiulA2WL5DfkkeR+53AXmBakFcLlsWb/pIQX2BXQFNtmEdM0FCAVBmW4FsQX3eUYFXgUmBVwFZgUy+bwFAQVFOUd5qAXDBfQ5d8ZjBScpMQXGWdMFOvkJBZL58wXJBUb5BflVBXq5Onm1BXYFtAU2+eX5l5kQ8qZ5fkCFBVv5xQWN+c253QWLBRYFKgUrBUyAOQCJ+VcF9QXrBZUZxroPBfAF2wVn2VMF7QUs+Sp5SQWKBa35yHlWBW65FwUW+VkFoQWeebkFTQUg6Q+5LQWKmfTZhgX7BbMFiQVHBbCF3tmOebP5jIGsaGsFNwWLeXkFOTQghdEF4IW7BZCFEflzBT4F5HknBUsFXwX8Bc9JSIW2BSiFQwVUhUTppNp0hU8F4flj+YcFrIWG+X4FpwV9BSbZtaCUhcv5lPm/+VOEwoXYhSGZF9nPBeL5nQXu+e8FpAWfBWcFznm0uYMF1wUKhbb5SoUSXpiFU9mqhe4FewWyBSUFbwULBbqFvQW6uQaFJflGhQCFAoWzmXFZFoVmeVaFEIUyBS8FWoUT+Q6FKQWVBTKFYCn+CPKFYQWKhXP5DAXehY8FvoWMhf6FmoWs+TCF+/kVBQU5bXn+2TYFFDn0eaiFogXRheApQgQqheMFOwVtBUmFHQUphUSFaYVwhaSF1Blv2dnZ/Nmf2YLZF/kpKe6IL/n0JCXZRG6dAO2F0tnv+R7pX/mPWZFZTFR1mbKwITQgBZHZYAXL9Mb42Dm/+dAFu0k+EL1GoIVAKb3ZINmrGX8FfIXGhVGFpoVz+UWFURlDlCKFlim4BV8Z+AVEmYI5+gAKBdWFJIVc+YEFv0mCBZkFuYX8hSaFtwXgKbGFXSn7hQmFZYV4hbaFrwWkecGF7IV6hWGFlAUcWfeFEnmPhVuFz4VehW+Fa5gHhaP5rvnihWUFbIVShRyF+oW++dmFbzmI+Ya5gIWOBboFe4XQRR+FKNnlhVCFo3kShfn5yEWARQIFwQUgRW55eYXjWQWFTgW4RRjp+EW4hUUFyYXQhVWFLflXheQFN4WMgfq5boU7OVhFtFlChQxFBDklhQyFn4UsRRWFbEUkRVP5oYXOhb75lEWXBRuF7oVPhdSFZcYDKdEZTEXqhaKFcEWlBQK5iEXphZS5mYWUBRkFikUPhZuFaIUFhRiFUEWMRaJFLAV+hV+FAYWVhdJFPAUARXJFmzk1BciFZkXKReBF1IXAhcJF9IV2RYmFDkWsRcRFCEWShQZFbfkIhf3ZVEUYRZ65HoWj6ZsF/kUwRel5YoW6RRG5LkVOhb+5znlrkJGFFkXbhUrZ9wW7SSYkyUWbeQcFaUVqeRlFskVZRdBpWzl8RUj58UUjBdKGAynFRZpFbAUzBaG53gVhRaRFrkXVRVMpvwW5RfmF+UVWReAFy4QlRZ4FHUUshV1FMkUZhdN54YU8hTmFoEXmRYNFEEX5BUVFo0WtRXEF7AUEhfBFekXhRTWF14XfBW655vm8hV5F/EUNRfQ5QkUtKetFtkWTBUFFEkVERdt5u0XdRZlFRkU0uX75dUWYRedFOgWu1M1F10VghYFF4kUahZJFoUVPRdNFhkWzRX1Fx0ULRdRFYEV5RRBFOEVXRduEY0XxBdtF5UXZeR8FL0UQxT8F70UxRfz5wHlfRY4FEgVrRUjFG0U2hY5FUkVTRZVFM0Xx+eSFroW4xd35IgW0RflFSVnExQHZpMVMhalF9oXHBUhFPUWvRf1Z64WnRfVFKkWChbuFiMVsxTdFrQUERcFFwMWPRelFPQVVRaK59YWyGTnZAtmIWQQAIqlthff5HYWaGU/5v4A9hW/5eFn9hV5ptdkv6X/5dZne4GKQJflq2aAFkOmWGdjoHoBQBcG0AynoIHg5y5nAKUgFUymUgALFi0XeRXDFqkWixZYZ5MnsxTgZR4XNGSeFM6lnhXv5HEXauQdFXIU8RWhFV7mwxctFqkWvhYHF6RjIxVtFE0WEhc5F8sXUxWSFVAWeRT7FZ0XCxZ6FRMUPyUHFEsU4hVpF9fkPRZ1FoMVUxeDFNMXReaZFRcVCxT5FgoUIxWnF0BgZxe1F2fmTRfXFucWNxWSF3qjexTDFS0VMxfDFP0VkyenFwcXSxbXF/cVyxRjFCsVYxbeFJkWFxWPFvsXJxYKFkQXTxd3Fs8X3RcyF2cWUxYPFkUXcRRLgA0UTxapFq0XlxTPFlcVqhW1F+IVZxTtFi8WOhcvFTcVrxSdFrcWfRSXFCUXNtAMpFcX/RbdFgMXaRWVFXMXEhTHFXEWHReSFHkWfxRvFxcXtxbOZfkU3xXvFd8XWhRzFOkVgJZeFECV8Ba650UUtxXAlbcV+xUTpiUXIJcnAPcWPxX3FR8UDxUvFecVRRWRuF8Ww2ZZFhUUPyUgM5CXfhYGFUcXlBftFkCVxxTDA80XoRXjFPfkIJb/FTUW7Sawl+8VAxfPFVCUvxSGFtCXcRf1FH0VxRT/FIwUUtDUZqSBsJeTFIMUyJf+FmMU0xdbQDCWh2VfFtIViJbUZEiUgJajFmCXRxQT5ywW8JRSFiiUC+QTFgkU7xSwlpiWoJfZFB8Wcxb+F3MURRfCF3EW/kKPFsUUOJcolF0XKhSYl6iVmJTXFh8XPxRVFJ8W+JVAlcoX2JfjFwSU6BeaFLiXhJW4ld0WSJVElaMUe+bIlQ8VRRRGFiSVCJUQlpcVXZGolBRkRJbBFoCVeJeAl1iWchbglezABJYIljMWMJczFqcWNggFFQCVSxR4lGCU1JVgldSUoRc6pCcVk+UnFl8Uixdww5SUuBRklwCWRJZ4lXQV/hTzFuiWv2QdZDYWn+SMZ5/kEADTM/zCAAEQggAA4ID5ZDukc4Hsld2hgObdZ3JmVKTXZ0DmmGSoBpFnRMoyUwWl1NnBgVFlFJM+A2tl1+MAZ/NACHmlZfZmYXItZJDk5WYMQBiX2OQlF0oxy6RqObxmYmdcpocW8OS9Ib7mEBeeFqYVWJYf5NiW4JZ+ATSUMxWd5ySXrucSeYbBgpat54wVEOfUZ6CXVJfMl3iXcJTgli7n8JYnF48WtJc+FIFZ4pU/sEKVxGYRF2SWWJVwlnEUUpXzpgslFJS0lhiXEJe8lspn4pScphKUz6cSlFiV9JUil/gX1JSpZ/Wn0xcIFmKXCJTbZPEgMpeRZhDkeGcQ5m0W9xTv50SXoxa/FciVQJbN5PKUKpSUlCUUJSCqlS4XYqeiZWBnMpXPFrKUSpeyl2CUopWK5wEX4JYElSSWKpRsFGtmCpYylaqVWpZ4ZD8XsJU5Fx8U0Jfkl3EWGpXKl2QVl+b5FXqVQ6UO5BKXqpUSlLKVzJdqFCyU+JbWFfiVUpSMlNKV8pYglZqXH2Sl5vqWx6dalAaWaJbLFMSUhpafFUCW9UkCl0Tl0pcql+aU0xEylJaUhRWWluqV5JZWlccVCwDWlv3kbBQKlsaUFpfGlfqUapWTFLaV1xdoliyVvxcPFXsXdpdoF2KUjRAxZA6XCpQmloqVJpb0lpKW1Jcil0qV86dAZRqXW+ViljQVpzAuljaWFpcXpw6VipU/FOSU6he2lcSW8Jc3F68VupcUlW8WIJaClDaX6uSel0+nvGaulJKUppWSlHKVOpUrFcFkqxU2FasX4APupbYWAACggP/Sdhc/5kGW9hYbFixkDhSbFphlYEubFJYaiILFZEAxtmc747wC9KbGhzsXEIK7F4wXuxd4Zq4VmGeil8qV7pR6llRmIuv/Ft8WAJZLFzEVQpbCleAWwpQQFkcUXhZKl0oVuRUyAVaAzpX351MmdnFW5mKEaJaOlC8XlpXqloaVQJVmIfGW5BWwytGUoJfRlVcXNpTLFY6XiZdel6aVVpV2lu6VaBfxlWRLyZWQllSUpRWulP6UbpVKlgyXSKQpF96XNJcalT6UCWcMw+mV++YZlpUXipeul/SWbpeZlzclQxQIlGKWUZSal0nns8A5lnSUMZdXFVSUuZSZlbmVmZeRF0cmZpTQFm8VjJZ6FuBCBZSJlKmViZW2lOiWTpXQlBcWwJQ+lvKXApWVZexD3DkllTmXjRZQlOqW5Jell+qVxxeGlrqXWZb5ltmX5ZUteQmXiJdMl3SVZJcmlQYW/pY6lW6VsWdVlVmU+ZTpluQXh0JMlQWVKZZqlFCXapZelqaXkpU6l2nnkZZGlDQU4OQFlYSUVJS1ljGXmJRelbKX6RdNl3WXZRS6lfWUUZQNlBYXPGMNlyWVSJWVlV6UVZZJlccUoBdplOQVHZUASTWWuJYpl98VjZYGlFMXUJRJlHaUNJTlFt2VRpSj5rmwnZcVlKMUbZfalW2V/pTtl0GkAoDJlR2WCZYDlq2UhZUZl36UdZaZlXGW9RaDZwyWxZfAlfmXleTrCcOXPZWglX6VhZcjlEWWo5YrFKyXKxY2FZ/nNhQQANmnuiHslDfHQZb+A9OVwZcFZRsWP6VclQfkPZSOFzo7oZWrZIPb2Gcig04WJWY1lhyk+YIuFgZnEZcOZUXkY5XUFWOX1ZeV5/+LqRe+F8OUzOdClAFnhxftp7GWIpQ6lAyVRZeSFH8XQxTllNmXxZQJZsj5K5XhFKuWvZaWlqmVpZROllWWopTAlhuW1ZYdl+UXl/ublNkX45e4lbWXGZcTlnGVkRdxlt4Uy5f8FcuUm5fllaHzu5SJFnuWZJetlpWWTZZ1luuUB5TxFlmXZZc7ld2XMxZhlSUVA5ZnFseWbZXtF4OUeZYQpMWWy5YQl8uXoBV+uEeUjZS9lI6UpZdIlamWXZV9lfTlPJb9lC2W/+ac2FeWnZXalrmV+5bzFK8V4Jftl82UCRUGpQIbt5VnlWqVyBedlU2X55XrlqgjQ5czFRhS/RSTFluXV5WdlceUo5f7laOVuuUHlSkUh5bSlqkVt5azFX+mj5eNl4+Wr5STl6+V8xYXlc2U0RbvlgoXl5QflleUE5bal7WWcJWDlXWUF5dCcs+UQRRnlYsWH5Uvl56U55aDleeVv5XrlMMCO5d5lB2Vp5RBF4eX35R3lz+UcZTrl7mV65Y8FzeWD5UH5Xf4L5eLFUeUzJaFlIOVd5QgVkWWJ5blAV+WjJTflQvlm5TAVR+VvZVoldeV25VdlDSV3pSnl/WWQFdSFeGUUFX/lhOW4FeFl3eVLJXWF5OWAZZTl6yXU5fgAWZmsCGeQU8m4cWhZUqliFahQLOV3WXLZiGUc5dyFQUjYXu/pwlA5IMg5TZlz+SCMeDmThSROa1w4ZSx5oERwBZu5ttxNpSuF0uXEFdmleWXleUBpJqkmGJv5VClq5fnJGuWqyVrl7EX4FaTlveVb5YLF38VUZYl5thXVOX15w/nKZSvlueXPRRll8iWWFXFlpBUCWQEVgWmrUA4VsyU+5S/lQBUJ5Rvl2wBRFTvlOaWxFWGpUWmTkIkVOBUAFXgVr+VpFRflXmXUpdEV2RXSeXEVTRIFFYjlROUpFeEV9uV9OZkVJeWh5TYVuRX+6ctgdRXOZZwVvuUeFeflveW8+RGl1+VVFR0VwxDIma8ZwRVW5aJlteW25WmlscW4JUMeKBWOJTg5NRWqOdMVy+Wd5VwVAxU95TTF8PkjFSQVYxXUZesVkJw9FSVlE2VhFWDFDeV86V95KxX7pWsVnRXCmSrC5xXA5UUVOxUlFYgVieXi8p/lLBXrFTtKrxXZ5ZcVgBVNFXQVsbnJ5U7lTBV/ZUL5/xWhZICVY+V2hSCV1xU3pd9lBuXgFQPlqxVB+esVhlmbFf/lwJXFFakVXxXpFcQWvxUo+esVHHrwlcfliJUElaCVNxVE2S85pJVC+fZlx9nCWbiVHBXvFf0VnxUEFcSVtUWHFVYVtaUsFcyVUOk4leMFNfnVeSEV2xWclYSV3JUX5U/YrRW+Fdjl1GVClaTpPyaUlVQVraXlZbQVdJUGhTjFNWVQlS3lz0nKlfdmapXW5allmpULFTwlDSXuufcVfhUseUaVCNlslU/lyRXwFVyVnhU0xSSVNpWKlYl59pVnFY6VPSVI5Y0VyJUaZddl8pVKJbaVODn2lSiZopWTObX5EpVwFdrlrpWDFe6V3hVfxWGVXpV2lTAwkxXnjCaVsxUT5fHlRJUX5XtljBUQFdCVdmWZlVHp3RV+ld7lAZUuldKVbpVkheRZnpWl5d6V5ZUF6VGwOZU15XmVa+V7FQ2VdMV6lSWVBpXUyUaVj+IdlaEVSJUNxdqVxTlFlZCVA5WoFYaVrZXxFYIpVZUx5fiVHxV1lUmVDZUplQQlCpXNlRmVUTDtqSZ5y5VJFTWVCZXrlT2VmWVblUbldWXtFUqVC5XBYS6pR5WFFauVUpW0lSiVxmnOWWmZqsXlSfgAyFmsCNf5sGWSFSM8MGU/9Kclldls5cYZP/kfWSIgKhXrGUfAH+IaFc3ZlpLi5WFpIhBPcAYVODmWsHg5Dvmwpe+lGJleGVLln3mXlanlpZXw2ZPpoakTFY+V3Dn4hS4VAjlEBaeVr5XBlUsVEJXolaMV1hX7OWRV8Tn2FZRVvRUclYGVE5VvlWCZWWUzlRiVDxXNmRxVv6mHldGVJzmxlTMVnZWn5dwVERVQJf+5fJWVFWxVYHniVQdSo5WSlXxVsSWMVSpZylX9lSJV4ZViVfbZeRUmUFpV8ZXuFYmV55V+JQwVwlWsVQKVh9kaVRISFlXOlfRVQZWLFSpZvWXFlUZV6ZXj2RpVMGiuVSeVVlVnlTwVtlXTlSxVRxVqVUy5AVUq3EFVDRW1lQxVnlWzZYyVAlnKTlmVnkDcVRcVJ+VXFfxVelUpVU2VN5WJeelVFZWQsPFVfRU6VRWlAlU9ZUXlweVtFTEV0nklVW2V1RDlVbxViVUeVZaVfTl9lf3lDlU9pdRlTVWBafkVWVVvFc+VlVWfZdVVznnz+YZVvVWzpSx5A1WaVcNVQJU5VeOVulXJVUTZcCCpVY1VxWnfAJJVJylilet5WxWWVTnFVVX5VUTZEVUVFVkV0VU4OfNVglmLVQiVP4U0lR1VnKUWFZtV5Xk3VUBpd1VUlQ9Va5VJVZ1VAGUuWWsl8SkbJZSqzlz/MP+VUGU6xV2F4NWyFeclBFmXJSsZ2wDgpesZrxbONE3ZFfmrfPYZs1LNGB2ZGlVFljYgUOVzWZ+ZdVmDmeYVn3lgFRdV9VXHFcVVCRVFRZOggZkipZ+lTtlOFY4VrGWnhXRVIVW/Vc9Vn3m1VdvllNVXVUH50Wm01RiIZhWHVW5VHNVPVTNlPPnlFVmlqlWOVUL5ibDNRXTVItV4lctVj1V5VWtVn3m6lT1VUVVy1f250elC1U8luFXFpbJVY5Vq1atVnVXbpURV+pVzlXOZrxkG1dnJRtX+pSbV2lXtVerVFtV/ud1VPlUzVfxl4Hn0xsrV7JWjVa7V5tVc1dBp3KUqVZdVutXw2WcV9tX01culjNX+lQlV7lVu1SHVqwWFVQ1VKjnU2S0pStWO1WelAdWq1T9VEtUQ5eCp3blp1VTVTLmZ1ZYZtGT+1U6VwVXHVeNVp1XtecxVFNU7lUVVTLnR1V0pp+zV1QnVFVVB1SdVGtVgKenor1U+uepFndU51YmlNdWJ1eLVydWS1dlFPNU+FWmVu5Xj2XFVURmj1YOlRaVO1aLVtdXBpfXV/dWexeTVMtUR1X1V6lXdFSvVMrhd1dWVk9V11eplu9VMgPDppdX81c9JCtWn1V2lY9UrpRPVPdVJ1cHVM9UD1edVB9V81ZHVb1X5Fc/VioCv1fHVF9Uf1VPVX9VF1ejloZVBJcZV3IU01R3VZ9WgNZClK5X51S+VhdVpBf9Vn5XAZd+VQewnNNDVgFUuAMBVMNUQORclUDkI1ZaSuiBQ5bBVKXBs4GjVz0n08P0gNDW2xcrB+ojoVUH5oER+4L/JcOlTFUvlHsVw+fvVmOX/1UfVLHl/gual1VlE1b8l9VlpeczVh4Ws1RHF7NVX1fXlE1XFOXPVqZVwNX5VQfniNdd5kmrfJbVZ0jUk1ZvVl9Xb1dfV7tWfedLVwjUt1enV1GU6Nf6Zk676NQtZMjXGNRA1yjValao1Uyl0GffVADW2NSdoyJmsueMF81nE1VlZLjVtVZ/VfdXmNdBpTdV/1dY1ZdU4OXY1mLlAgo41wTVLWXnV1JUF1dPV0DUoAMMV01U61aI18TV+NYc50dmE1elZhjUhNSrV6TUYNZk1BeXeVfZVeTWzVQU1HlhzaZr5JTU/JeuZRjUVNd9VVTVQNe/lQlWRVfyV+TXaNYU176npVa01BjXtNeU1aTVdNWNVZjUp1UyAtTX9NbLVgzXPSfqp2FVTJScpQTVlNak179VhNZA1ETVzNdFlsDXupVo1KzXMORr5eKjJNVs1cZVi1W41FpUHNZflQ9WJeas1BenFNYE1UjUTNds13dW7Nbc122UF5Vpl4dUiNQ01QfnPNYk1EYVjNU41HTVTNRwlvdU71ZE1lAXqNduVC9Wt1Tg5ILVyEZc1HzXXNVvVH2WzNd/VzqlCNcXlsTUP1dTJqLVk6eC1KTWYtSY12LUqNQ3VodVolc3VSLU2NU81ZzWSmTd5bzWlNRi1ztVHVaY11LU31fzFjzUseSS14KVktVc1nLU3Ndy17jV6Vdg18FlflUkplKrTye6IgADYIIAA+CAM5ZDVHODKtQ3xoFV9hQhlxsWKFerZ2NjRWdekCFVbAI8l2cm6FfNkryWNBX2lgAU18F8lwrUctcDZXbkItVeVLuV0pS+lsaV+eSg1NqVz6XI1zsFpyWxlSjXitXc1uLU/BXS1MTUMtXE1JrWHpb55Gczn1Wg1lTUzNTy1cLU0uZ7VdTUDNUC1l5nzpTG15LBxtceVlLXjpcG1WTX6yc61xFWDlXpcm7kn2WvVp6Xj1V81gdXhNbC19zW8lbk16bX8ZVwCDFmetVW1H6WoNXm1rjVBtb81IBV3hc21SzUZtUrZeaUetbG1XrUUtb21VLUStby1feVe1fU1rbUxpYO5HbVLpUOlNbXgNd81fbVT5YnlhSUAtYS1PjXYpcu1vRq5tU+V6DWJtbO1ybWMNUc1j6XItSa1Y7Wk6ex5nbV4VVO1W7UztYW17+XAQPy1QalttWx5jgqntfUV07UFtf21hBW/1VY1EbVEteW1f1n/tZO1orVYtcB1O7U8lTe1uWWHtVa1yUTQdbwMAHU8VXW1ezUNtSG1t4VgdQS1EHWodT+10bVQ6U+1a7Xr1bnVOzU4dT81iHWylXZVizWH1SO1IKEYdUxwWHXZVQm1MLU4tdKlUrVAZVTlIGWvEgQ1AFWsmUBVesUidVq18GX3WQoVlDVc5esZ7oFCIlbFmhWFhWrs9hkQBRw1WhUXEDAFkqDGFcBpkuWkOfrlyHXG5Yy1dpVsrFsF1qliRa1lLNVpySxl/rVs1QiluHU8de/lTeX7tcR1yzXUyeQV5HVMBewVNHXntdx1SbWNtZnA37VoFdL85nURqZZ1a2U9tW+1CHXAFd8V0zDBdXP50BVedVIFlBWmlXMV5pUgdcSV8XXeNe51UxBLuZgFKXU+dbW1fnX1tU51SBVGddeVJnVD5XflyXX6Bal1uZXyVbsVYVUGpSW11tWYlXP5++W1des1FnUAxVZ1UXW0ddu1sXXElX019LWaNYvVv/nz5QV1dXVFdZu1A3XvtZl1F+ULNaN1xzXjdXP5k3VQ6ViFM3XxtdM1/nWXtfc1S3XhtWN1d7UddaQixYVYFX11Z7VcdaV1AXX4dfrJU1Xa1S21g2U1dYAFloVbdf11JXWOdTd1RbVeYAl14Cnf5S91PoVvdZd1O3XXdXt1t3Wy6Tl1I7VfXpu5m3XndZF1wPXQtaD1H7UDtfi1dVUHte51buVxhRalXam9dfD1gHXRdTQVyPWJ5foFkPW6ZZ51APXxhUD1+PVzdTF1pRW95S55rnVHdVV1nOVmdVj1D+Ve5dt1iPWfdWD1vHV8FQDVwxlA1UIVigBX+SAAqnASFaJ1PFiotGr0knWs5Tq17OWUNVDIyFW0NSYUu3ixWUOEunW6Fe+E6JgzhR11X0gqFYcZf4Qi1QI12TWEdWj1bnVQ9YlldhWOLHUVvrVUVQG1DnV0dUN1F+VW1bOV7XXgKZb1gRXU+Z9V6pU25Rl19HW95am1THWAtfxlQ2VRaQkV3vVpdV2VZ+U2VVAlWtULtY91dEUe9YNV5lUR9Q11uVU9NdPlFXWutapFSfW1Fan1clXp9fs14PVZ9cwVgoW59YFV+fWm1Rk1GfXE9XH1abXDtSH15fVxVZX1LtVI9Qt1QxWWNUR1TPWRtYl10JD4OdX5MZXilXB1+bWE9e31+xWtda71olW99dOQcum+lVJVOLlD9aE1NPWj9f71+xWo9bzV6PUW9X31spkvFS31XLXzdav1w8WDtQ91DfWDZeX1AJV79WK1B/VO9fT16gWM9St1x3Xu9dv1GDlwlZf1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";
|
|
pcbdata = JSON.parse(LZString.decompressFromBase64(bin));
|
|
|
|
storagePrefix = "DipTrace_BOM_" + pcbdata.metadata.board_name + "__#";
|
|
initStorage();
|
|
initDefaults();
|
|
writeAll();
|
|
initRender();
|
|
|
|
setupPrefs();
|
|
removeGutters();
|
|
|
|
// hide Netlist button, if no nets
|
|
hideNetListBnt = !("nets" in pcbdata) || (pcbdata.nets.length == 1 && pcbdata.nets[0].name === 'None')
|
|
if (hideNetListBnt) {
|
|
if (settings.bom_group === "NL") {
|
|
settings.bom_group = "U";
|
|
}
|
|
document.getElementById("btnGNetlist").style.display = "none";
|
|
}
|
|
|
|
initDone = true;
|
|
|
|
// switch bom layout
|
|
changeBOMLayout(settings.bom_layout);
|
|
} catch (e) {
|
|
var ediv = document.createElement("div");
|
|
ediv.innerHTML = "<h2 style='text-align: center; color: red;'>PCB data is incorrect or corrupted.</h2>";
|
|
document.body.insertBefore(ediv, document.body.childNodes[0]);
|
|
}
|
|
}
|
|
|
|
function onWindowResizeHandler(e) {
|
|
resizeAll();
|
|
}
|
|
|
|
function onWindowBeforeUnload(e) {
|
|
writeAll();
|
|
}
|
|
|
|
/*----- entry point -----*/
|
|
// variables
|
|
var initDone = false;
|
|
var pcbdata = null;
|
|
var storagePrefix = null;
|
|
var storage = null;
|
|
var lastActive = null;
|
|
var selectedComps = [];
|
|
var selectedNet = null;
|
|
var hlColor = "#df4056";
|
|
var hlPlainColor = "#ed6f15";
|
|
var settings = {
|
|
bom_layout: "left-right",
|
|
bom_group: "U",
|
|
canvas_layout: "TB",
|
|
draw_silk: true,
|
|
draw_assy: false,
|
|
draw_nets: true,
|
|
draw_copper_pours: false,
|
|
draw_fiducials: true,
|
|
draw_pads: true,
|
|
draw_vias: true,
|
|
show_suppliers: true,
|
|
board_rotation: 0,
|
|
placed: null
|
|
}
|
|
var bomsplit;
|
|
var canvassplit;
|
|
var cnames = ["bg", "silk", "assy", "hl"];
|
|
var canvases = {
|
|
topcanvas: {
|
|
layer: "T",
|
|
bg: document.getElementById("topBG"),
|
|
silk: document.getElementById("topSILK"),
|
|
assy: document.getElementById("topASSY"),
|
|
hl: document.getElementById("topHL"),
|
|
trsf: {
|
|
x: 0,
|
|
y: 0,
|
|
scale: 1,
|
|
panx: 0,
|
|
pany: 0,
|
|
zoom: 1
|
|
},
|
|
pstate: {}
|
|
},
|
|
bottomcanvas: {
|
|
layer: "B",
|
|
bg: document.getElementById("bottomBG"),
|
|
silk: document.getElementById("bottomSILK"),
|
|
assy: document.getElementById("bottomASSY"),
|
|
hl: document.getElementById("bottomHL"),
|
|
trsf: {
|
|
x: 0,
|
|
y: 0,
|
|
scale: 1,
|
|
panx: 0,
|
|
pany: 0,
|
|
zoom: 1
|
|
},
|
|
pstate: {}
|
|
}
|
|
};
|
|
var canvasButtons = {
|
|
btnT: document.getElementById("btnCanvasTop"),
|
|
btnTB: document.getElementById("btnCanvasTopBottom"),
|
|
btnB: document.getElementById("btnCanvasBottom")
|
|
}
|
|
var bomButtons = {
|
|
btnBOMOnly: document.getElementById("btnBOMOnly"),
|
|
btnBOMLeftRight: document.getElementById("btnBOMLeftRight"),
|
|
btnBOMTopBottom: document.getElementById("btnBOMTopBottom")
|
|
};
|
|
var groupButtons = {
|
|
btnU: document.getElementById("btnGUngroup"),
|
|
btnNL: document.getElementById("btnGNetlist"),
|
|
btnN: document.getElementById("btnGName"),
|
|
btnNV: document.getElementById("btnGNameValue"),
|
|
btnNP: document.getElementById("btnGNamePattern"),
|
|
btnNVP: document.getElementById("btnGNameValuePattern")
|
|
};
|
|
var bomtblhead = document.getElementById("tblhead");
|
|
var bomtblbody = document.getElementById("tblbody");
|
|
var groupFilter = null;
|
|
var total = {};
|
|
var totalCount = {};
|
|
|
|
// window events
|
|
window.addEventListener("load", onWindowLoadHandler);
|
|
window.addEventListener("resize", onWindowResizeHandler);
|
|
window.addEventListener("beforeunload", onWindowBeforeUnload);
|
|
</script>
|
|
</body>
|
|
|
|
</htm
|