uawdijnntqw1x1x1
IP : 216.73.216.110
Hostname : 6.87.74.97.host.secureserver.net
Kernel : Linux 6.87.74.97.host.secureserver.net 4.18.0-553.83.1.el8_10.x86_64 #1 SMP Mon Nov 10 04:22:44 EST 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
emeraadmin
/
.caldav
/
..
/
public_html
/
.
/
node_modules
/
ionicons
/
..
/
..
/
4d695
/
jquery-knob.zip
/
/
PK�Z�\ꀺ��package.jsonnu�[���{ "_args": [ [ "jquery-knob@1.2.11", "C:\\Users\\Ovi-PC\\Downloads\\themekit-master\\themekit" ] ], "_from": "jquery-knob@1.2.11", "_id": "jquery-knob@1.2.11", "_inBundle": false, "_integrity": "sha1-83w528HHpqbBLNsu1Pa/+2g/ENY=", "_location": "/jquery-knob", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, "raw": "jquery-knob@1.2.11", "name": "jquery-knob", "escapedName": "jquery-knob", "rawSpec": "1.2.11", "saveSpec": null, "fetchSpec": "1.2.11" }, "_requiredBy": [ "/" ], "_resolved": "https://registry.npmjs.org/jquery-knob/-/jquery-knob-1.2.11.tgz", "_spec": "1.2.11", "_where": "C:\\Users\\Ovi-PC\\Downloads\\themekit-master\\themekit", "author": { "name": "Anthony Terrien" }, "bugs": { "url": "https://github.com/aterrien/jQuery-Knob/issues" }, "description": "Nice, downward compatible, touchable, jQuery dial", "homepage": "https://github.com/aterrien/jQuery-Knob#readme", "keywords": [ "jquery", "knob", "dial" ], "license": "MIT", "main": "dist/jquery.knob.min.js", "name": "jquery-knob", "repository": { "type": "git", "url": "git+https://github.com/aterrien/jQuery-Knob.git" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "version": "1.2.11" } PK�Z�\��l�AmAmexcanvas.jsnu�[���// Copyright 2006 Google Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Known Issues: // // * Patterns are not implemented. // * Radial gradient are not implemented. The VML version of these look very // different from the canvas one. // * Clipping paths are not implemented. // * Coordsize. The width and height attribute have higher priority than the // width and height style values which isn't correct. // * Painting mode isn't implemented. // * Canvas width/height should is using content-box by default. IE in // Quirks mode will draw the canvas using border-box. Either change your // doctype to HTML5 // (http://www.whatwg.org/specs/web-apps/current-work/#the-doctype) // or use Box Sizing Behavior from WebFX // (http://webfx.eae.net/dhtml/boxsizing/boxsizing.html) // * Non uniform scaling does not correctly scale strokes. // * Optimize. There is always room for speed improvements. // Only add this code if we do not already have a canvas implementation if (!document.createElement('canvas').getContext) { (function() { // alias some functions to make (compiled) code shorter var m = Math; var mr = m.round; var ms = m.sin; var mc = m.cos; var abs = m.abs; var sqrt = m.sqrt; // this is used for sub pixel precision var Z = 10; var Z2 = Z / 2; /** * This funtion is assigned to the <canvas> elements as element.getContext(). * @this {HTMLElement} * @return {CanvasRenderingContext2D_} */ function getContext() { return this.context_ || (this.context_ = new CanvasRenderingContext2D_(this)); } var slice = Array.prototype.slice; /** * Binds a function to an object. The returned function will always use the * passed in {@code obj} as {@code this}. * * Example: * * g = bind(f, obj, a, b) * g(c, d) // will do f.call(obj, a, b, c, d) * * @param {Function} f The function to bind the object to * @param {Object} obj The object that should act as this when the function * is called * @param {*} var_args Rest arguments that will be used as the initial * arguments when the function is called * @return {Function} A new function that has bound this */ function bind(f, obj, var_args) { var a = slice.call(arguments, 2); return function() { return f.apply(obj, a.concat(slice.call(arguments))); }; } var G_vmlCanvasManager_ = { init: function(opt_doc) { if (/MSIE/.test(navigator.userAgent) && !window.opera) { var doc = opt_doc || document; // Create a dummy element so that IE will allow canvas elements to be // recognized. doc.createElement('canvas'); doc.attachEvent('onreadystatechange', bind(this.init_, this, doc)); } }, init_: function(doc) { // create xmlns if (!doc.namespaces['g_vml_']) { doc.namespaces.add('g_vml_', 'urn:schemas-microsoft-com:vml', '#default#VML'); } if (!doc.namespaces['g_o_']) { doc.namespaces.add('g_o_', 'urn:schemas-microsoft-com:office:office', '#default#VML'); } // Setup default CSS. Only add one style sheet per document if (!doc.styleSheets['ex_canvas_']) { var ss = doc.createStyleSheet(); ss.owningElement.id = 'ex_canvas_'; ss.cssText = 'canvas{display:inline-block;overflow:hidden;' + // default size is 300x150 in Gecko and Opera 'text-align:left;width:300px;height:150px}' + 'g_vml_\\:*{behavior:url(#default#VML)}' + 'g_o_\\:*{behavior:url(#default#VML)}'; } // find all canvas elements var els = doc.getElementsByTagName('canvas'); for (var i = 0; i < els.length; i++) { this.initElement(els[i]); } }, /** * Public initializes a canvas element so that it can be used as canvas * element from now on. This is called automatically before the page is * loaded but if you are creating elements using createElement you need to * make sure this is called on the element. * @param {HTMLElement} el The canvas element to initialize. * @return {HTMLElement} the element that was created. */ initElement: function(el) { if (!el.getContext) { el.getContext = getContext; // Remove fallback content. There is no way to hide text nodes so we // just remove all childNodes. We could hide all elements and remove // text nodes but who really cares about the fallback content. el.innerHTML = ''; // do not use inline function because that will leak memory el.attachEvent('onpropertychange', onPropertyChange); el.attachEvent('onresize', onResize); var attrs = el.attributes; if (attrs.width && attrs.width.specified) { // TODO: use runtimeStyle and coordsize // el.getContext().setWidth_(attrs.width.nodeValue); el.style.width = attrs.width.nodeValue + 'px'; } else { el.width = el.clientWidth; } if (attrs.height && attrs.height.specified) { // TODO: use runtimeStyle and coordsize // el.getContext().setHeight_(attrs.height.nodeValue); el.style.height = attrs.height.nodeValue + 'px'; } else { el.height = el.clientHeight; } //el.getContext().setCoordsize_() } return el; } }; function onPropertyChange(e) { var el = e.srcElement; switch (e.propertyName) { case 'width': el.style.width = el.attributes.width.nodeValue + 'px'; el.getContext().clearRect(); break; case 'height': el.style.height = el.attributes.height.nodeValue + 'px'; el.getContext().clearRect(); break; } } function onResize(e) { var el = e.srcElement; if (el.firstChild) { el.firstChild.style.width = el.clientWidth + 'px'; el.firstChild.style.height = el.clientHeight + 'px'; } } G_vmlCanvasManager_.init(); // precompute "00" to "FF" var dec2hex = []; for (var i = 0; i < 16; i++) { for (var j = 0; j < 16; j++) { dec2hex[i * 16 + j] = i.toString(16) + j.toString(16); } } function createMatrixIdentity() { return [ [1, 0, 0], [0, 1, 0], [0, 0, 1] ]; } function matrixMultiply(m1, m2) { var result = createMatrixIdentity(); for (var x = 0; x < 3; x++) { for (var y = 0; y < 3; y++) { var sum = 0; for (var z = 0; z < 3; z++) { sum += m1[x][z] * m2[z][y]; } result[x][y] = sum; } } return result; } function copyState(o1, o2) { o2.fillStyle = o1.fillStyle; o2.lineCap = o1.lineCap; o2.lineJoin = o1.lineJoin; o2.lineWidth = o1.lineWidth; o2.miterLimit = o1.miterLimit; o2.shadowBlur = o1.shadowBlur; o2.shadowColor = o1.shadowColor; o2.shadowOffsetX = o1.shadowOffsetX; o2.shadowOffsetY = o1.shadowOffsetY; o2.strokeStyle = o1.strokeStyle; o2.globalAlpha = o1.globalAlpha; o2.arcScaleX_ = o1.arcScaleX_; o2.arcScaleY_ = o1.arcScaleY_; o2.lineScale_ = o1.lineScale_; } function processStyle(styleString) { var str, alpha = 1; styleString = String(styleString); if (styleString.substring(0, 3) == 'rgb') { var start = styleString.indexOf('(', 3); var end = styleString.indexOf(')', start + 1); var guts = styleString.substring(start + 1, end).split(','); str = '#'; for (var i = 0; i < 3; i++) { str += dec2hex[Number(guts[i])]; } if (guts.length == 4 && styleString.substr(3, 1) == 'a') { alpha = guts[3]; } } else { str = styleString; } return {color: str, alpha: alpha}; } function processLineCap(lineCap) { switch (lineCap) { case 'butt': return 'flat'; case 'round': return 'round'; case 'square': default: return 'square'; } } /** * This class implements CanvasRenderingContext2D interface as described by * the WHATWG. * @param {HTMLElement} surfaceElement The element that the 2D context should * be associated with */ function CanvasRenderingContext2D_(surfaceElement) { this.m_ = createMatrixIdentity(); this.mStack_ = []; this.aStack_ = []; this.currentPath_ = []; // Canvas context properties this.strokeStyle = '#000'; this.fillStyle = '#000'; this.lineWidth = 1; this.lineJoin = 'miter'; this.lineCap = 'butt'; this.miterLimit = Z * 1; this.globalAlpha = 1; this.canvas = surfaceElement; var el = surfaceElement.ownerDocument.createElement('div'); el.style.width = surfaceElement.clientWidth + 'px'; el.style.height = surfaceElement.clientHeight + 'px'; el.style.overflow = 'hidden'; el.style.position = 'absolute'; surfaceElement.appendChild(el); this.element_ = el; this.arcScaleX_ = 1; this.arcScaleY_ = 1; this.lineScale_ = 1; } var contextPrototype = CanvasRenderingContext2D_.prototype; contextPrototype.clearRect = function() { this.element_.innerHTML = ''; }; contextPrototype.beginPath = function() { // TODO: Branch current matrix so that save/restore has no effect // as per safari docs. this.currentPath_ = []; }; contextPrototype.moveTo = function(aX, aY) { var p = this.getCoords_(aX, aY); this.currentPath_.push({type: 'moveTo', x: p.x, y: p.y}); this.currentX_ = p.x; this.currentY_ = p.y; }; contextPrototype.lineTo = function(aX, aY) { var p = this.getCoords_(aX, aY); this.currentPath_.push({type: 'lineTo', x: p.x, y: p.y}); this.currentX_ = p.x; this.currentY_ = p.y; }; contextPrototype.bezierCurveTo = function(aCP1x, aCP1y, aCP2x, aCP2y, aX, aY) { var p = this.getCoords_(aX, aY); var cp1 = this.getCoords_(aCP1x, aCP1y); var cp2 = this.getCoords_(aCP2x, aCP2y); bezierCurveTo(this, cp1, cp2, p); }; // Helper function that takes the already fixed cordinates. function bezierCurveTo(self, cp1, cp2, p) { self.currentPath_.push({ type: 'bezierCurveTo', cp1x: cp1.x, cp1y: cp1.y, cp2x: cp2.x, cp2y: cp2.y, x: p.x, y: p.y }); self.currentX_ = p.x; self.currentY_ = p.y; } contextPrototype.quadraticCurveTo = function(aCPx, aCPy, aX, aY) { // the following is lifted almost directly from // http://developer.mozilla.org/en/docs/Canvas_tutorial:Drawing_shapes var cp = this.getCoords_(aCPx, aCPy); var p = this.getCoords_(aX, aY); var cp1 = { x: this.currentX_ + 2.0 / 3.0 * (cp.x - this.currentX_), y: this.currentY_ + 2.0 / 3.0 * (cp.y - this.currentY_) }; var cp2 = { x: cp1.x + (p.x - this.currentX_) / 3.0, y: cp1.y + (p.y - this.currentY_) / 3.0 }; bezierCurveTo(this, cp1, cp2, p); }; contextPrototype.arc = function(aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise) { aRadius *= Z; var arcType = aClockwise ? 'at' : 'wa'; var xStart = aX + mc(aStartAngle) * aRadius - Z2; var yStart = aY + ms(aStartAngle) * aRadius - Z2; var xEnd = aX + mc(aEndAngle) * aRadius - Z2; var yEnd = aY + ms(aEndAngle) * aRadius - Z2; // IE won't render arches drawn counter clockwise if xStart == xEnd. if (xStart == xEnd && !aClockwise) { xStart += 0.125; // Offset xStart by 1/80 of a pixel. Use something // that can be represented in binary } var p = this.getCoords_(aX, aY); var pStart = this.getCoords_(xStart, yStart); var pEnd = this.getCoords_(xEnd, yEnd); this.currentPath_.push({type: arcType, x: p.x, y: p.y, radius: aRadius, xStart: pStart.x, yStart: pStart.y, xEnd: pEnd.x, yEnd: pEnd.y}); }; contextPrototype.rect = function(aX, aY, aWidth, aHeight) { this.moveTo(aX, aY); this.lineTo(aX + aWidth, aY); this.lineTo(aX + aWidth, aY + aHeight); this.lineTo(aX, aY + aHeight); this.closePath(); }; contextPrototype.strokeRect = function(aX, aY, aWidth, aHeight) { var oldPath = this.currentPath_; this.beginPath(); this.moveTo(aX, aY); this.lineTo(aX + aWidth, aY); this.lineTo(aX + aWidth, aY + aHeight); this.lineTo(aX, aY + aHeight); this.closePath(); this.stroke(); this.currentPath_ = oldPath; }; contextPrototype.fillRect = function(aX, aY, aWidth, aHeight) { var oldPath = this.currentPath_; this.beginPath(); this.moveTo(aX, aY); this.lineTo(aX + aWidth, aY); this.lineTo(aX + aWidth, aY + aHeight); this.lineTo(aX, aY + aHeight); this.closePath(); this.fill(); this.currentPath_ = oldPath; }; contextPrototype.createLinearGradient = function(aX0, aY0, aX1, aY1) { var gradient = new CanvasGradient_('gradient'); gradient.x0_ = aX0; gradient.y0_ = aY0; gradient.x1_ = aX1; gradient.y1_ = aY1; return gradient; }; contextPrototype.createRadialGradient = function(aX0, aY0, aR0, aX1, aY1, aR1) { var gradient = new CanvasGradient_('gradientradial'); gradient.x0_ = aX0; gradient.y0_ = aY0; gradient.r0_ = aR0; gradient.x1_ = aX1; gradient.y1_ = aY1; gradient.r1_ = aR1; return gradient; }; contextPrototype.drawImage = function(image, var_args) { var dx, dy, dw, dh, sx, sy, sw, sh; // to find the original width we overide the width and height var oldRuntimeWidth = image.runtimeStyle.width; var oldRuntimeHeight = image.runtimeStyle.height; image.runtimeStyle.width = 'auto'; image.runtimeStyle.height = 'auto'; // get the original size var w = image.width; var h = image.height; // and remove overides image.runtimeStyle.width = oldRuntimeWidth; image.runtimeStyle.height = oldRuntimeHeight; if (arguments.length == 3) { dx = arguments[1]; dy = arguments[2]; sx = sy = 0; sw = dw = w; sh = dh = h; } else if (arguments.length == 5) { dx = arguments[1]; dy = arguments[2]; dw = arguments[3]; dh = arguments[4]; sx = sy = 0; sw = w; sh = h; } else if (arguments.length == 9) { sx = arguments[1]; sy = arguments[2]; sw = arguments[3]; sh = arguments[4]; dx = arguments[5]; dy = arguments[6]; dw = arguments[7]; dh = arguments[8]; } else { throw Error('Invalid number of arguments'); } var d = this.getCoords_(dx, dy); var w2 = sw / 2; var h2 = sh / 2; var vmlStr = []; var W = 10; var H = 10; // For some reason that I've now forgotten, using divs didn't work vmlStr.push(' <g_vml_:group', ' coordsize="', Z * W, ',', Z * H, '"', ' coordorigin="0,0"' , ' style="width:', W, 'px;height:', H, 'px;position:absolute;'); // If filters are necessary (rotation exists), create them // filters are bog-slow, so only create them if abbsolutely necessary // The following check doesn't account for skews (which don't exist // in the canvas spec (yet) anyway. if (this.m_[0][0] != 1 || this.m_[0][1]) { var filter = []; // Note the 12/21 reversal filter.push('M11=', this.m_[0][0], ',', 'M12=', this.m_[1][0], ',', 'M21=', this.m_[0][1], ',', 'M22=', this.m_[1][1], ',', 'Dx=', mr(d.x / Z), ',', 'Dy=', mr(d.y / Z), ''); // Bounding box calculation (need to minimize displayed area so that // filters don't waste time on unused pixels. var max = d; var c2 = this.getCoords_(dx + dw, dy); var c3 = this.getCoords_(dx, dy + dh); var c4 = this.getCoords_(dx + dw, dy + dh); max.x = m.max(max.x, c2.x, c3.x, c4.x); max.y = m.max(max.y, c2.y, c3.y, c4.y); vmlStr.push('padding:0 ', mr(max.x / Z), 'px ', mr(max.y / Z), 'px 0;filter:progid:DXImageTransform.Microsoft.Matrix(', filter.join(''), ", sizingmethod='clip');") } else { vmlStr.push('top:', mr(d.y / Z), 'px;left:', mr(d.x / Z), 'px;'); } vmlStr.push(' ">' , '<g_vml_:image src="', image.src, '"', ' style="width:', Z * dw, 'px;', ' height:', Z * dh, 'px;"', ' cropleft="', sx / w, '"', ' croptop="', sy / h, '"', ' cropright="', (w - sx - sw) / w, '"', ' cropbottom="', (h - sy - sh) / h, '"', ' />', '</g_vml_:group>'); this.element_.insertAdjacentHTML('BeforeEnd', vmlStr.join('')); }; contextPrototype.stroke = function(aFill) { var lineStr = []; var lineOpen = false; var a = processStyle(aFill ? this.fillStyle : this.strokeStyle); var color = a.color; var opacity = a.alpha * this.globalAlpha; var W = 10; var H = 10; lineStr.push('<g_vml_:shape', ' filled="', !!aFill, '"', ' style="position:absolute;width:', W, 'px;height:', H, 'px;"', ' coordorigin="0 0" coordsize="', Z * W, ' ', Z * H, '"', ' stroked="', !aFill, '"', ' path="'); var newSeq = false; var min = {x: null, y: null}; var max = {x: null, y: null}; for (var i = 0; i < this.currentPath_.length; i++) { var p = this.currentPath_[i]; var c; switch (p.type) { case 'moveTo': c = p; lineStr.push(' m ', mr(p.x), ',', mr(p.y)); break; case 'lineTo': lineStr.push(' l ', mr(p.x), ',', mr(p.y)); break; case 'close': lineStr.push(' x '); p = null; break; case 'bezierCurveTo': lineStr.push(' c ', mr(p.cp1x), ',', mr(p.cp1y), ',', mr(p.cp2x), ',', mr(p.cp2y), ',', mr(p.x), ',', mr(p.y)); break; case 'at': case 'wa': lineStr.push(' ', p.type, ' ', mr(p.x - this.arcScaleX_ * p.radius), ',', mr(p.y - this.arcScaleY_ * p.radius), ' ', mr(p.x + this.arcScaleX_ * p.radius), ',', mr(p.y + this.arcScaleY_ * p.radius), ' ', mr(p.xStart), ',', mr(p.yStart), ' ', mr(p.xEnd), ',', mr(p.yEnd)); break; } // TODO: Following is broken for curves due to // move to proper paths. // Figure out dimensions so we can do gradient fills // properly if (p) { if (min.x == null || p.x < min.x) { min.x = p.x; } if (max.x == null || p.x > max.x) { max.x = p.x; } if (min.y == null || p.y < min.y) { min.y = p.y; } if (max.y == null || p.y > max.y) { max.y = p.y; } } } lineStr.push(' ">'); if (!aFill) { var lineWidth = this.lineScale_ * this.lineWidth; // VML cannot correctly render a line if the width is less than 1px. // In that case, we dilute the color to make the line look thinner. if (lineWidth < 1) { opacity *= lineWidth; } lineStr.push( '<g_vml_:stroke', ' opacity="', opacity, '"', ' joinstyle="', this.lineJoin, '"', ' miterlimit="', this.miterLimit, '"', ' endcap="', processLineCap(this.lineCap), '"', ' weight="', lineWidth, 'px"', ' color="', color, '" />' ); } else if (typeof this.fillStyle == 'object') { var fillStyle = this.fillStyle; var angle = 0; var focus = {x: 0, y: 0}; // additional offset var shift = 0; // scale factor for offset var expansion = 1; if (fillStyle.type_ == 'gradient') { var x0 = fillStyle.x0_ / this.arcScaleX_; var y0 = fillStyle.y0_ / this.arcScaleY_; var x1 = fillStyle.x1_ / this.arcScaleX_; var y1 = fillStyle.y1_ / this.arcScaleY_; var p0 = this.getCoords_(x0, y0); var p1 = this.getCoords_(x1, y1); var dx = p1.x - p0.x; var dy = p1.y - p0.y; angle = Math.atan2(dx, dy) * 180 / Math.PI; // The angle should be a non-negative number. if (angle < 0) { angle += 360; } // Very small angles produce an unexpected result because they are // converted to a scientific notation string. if (angle < 1e-6) { angle = 0; } } else { var p0 = this.getCoords_(fillStyle.x0_, fillStyle.y0_); var width = max.x - min.x; var height = max.y - min.y; focus = { x: (p0.x - min.x) / width, y: (p0.y - min.y) / height }; width /= this.arcScaleX_ * Z; height /= this.arcScaleY_ * Z; var dimension = m.max(width, height); shift = 2 * fillStyle.r0_ / dimension; expansion = 2 * fillStyle.r1_ / dimension - shift; } // We need to sort the color stops in ascending order by offset, // otherwise IE won't interpret it correctly. var stops = fillStyle.colors_; stops.sort(function(cs1, cs2) { return cs1.offset - cs2.offset; }); var length = stops.length; var color1 = stops[0].color; var color2 = stops[length - 1].color; var opacity1 = stops[0].alpha * this.globalAlpha; var opacity2 = stops[length - 1].alpha * this.globalAlpha; var colors = []; for (var i = 0; i < length; i++) { var stop = stops[i]; colors.push(stop.offset * expansion + shift + ' ' + stop.color); } // When colors attribute is used, the meanings of opacity and o:opacity2 // are reversed. lineStr.push('<g_vml_:fill type="', fillStyle.type_, '"', ' method="none" focus="100%"', ' color="', color1, '"', ' color2="', color2, '"', ' colors="', colors.join(','), '"', ' opacity="', opacity2, '"', ' g_o_:opacity2="', opacity1, '"', ' angle="', angle, '"', ' focusposition="', focus.x, ',', focus.y, '" />'); } else { lineStr.push('<g_vml_:fill color="', color, '" opacity="', opacity, '" />'); } lineStr.push('</g_vml_:shape>'); this.element_.insertAdjacentHTML('beforeEnd', lineStr.join('')); }; contextPrototype.fill = function() { this.stroke(true); } contextPrototype.closePath = function() { this.currentPath_.push({type: 'close'}); }; /** * @private */ contextPrototype.getCoords_ = function(aX, aY) { var m = this.m_; return { x: Z * (aX * m[0][0] + aY * m[1][0] + m[2][0]) - Z2, y: Z * (aX * m[0][1] + aY * m[1][1] + m[2][1]) - Z2 } }; contextPrototype.save = function() { var o = {}; copyState(this, o); this.aStack_.push(o); this.mStack_.push(this.m_); this.m_ = matrixMultiply(createMatrixIdentity(), this.m_); }; contextPrototype.restore = function() { copyState(this.aStack_.pop(), this); this.m_ = this.mStack_.pop(); }; function matrixIsFinite(m) { for (var j = 0; j < 3; j++) { for (var k = 0; k < 2; k++) { if (!isFinite(m[j][k]) || isNaN(m[j][k])) { return false; } } } return true; } function setM(ctx, m, updateLineScale) { if (!matrixIsFinite(m)) { return; } ctx.m_ = m; if (updateLineScale) { // Get the line scale. // Determinant of this.m_ means how much the area is enlarged by the // transformation. So its square root can be used as a scale factor // for width. var det = m[0][0] * m[1][1] - m[0][1] * m[1][0]; ctx.lineScale_ = sqrt(abs(det)); } } contextPrototype.translate = function(aX, aY) { var m1 = [ [1, 0, 0], [0, 1, 0], [aX, aY, 1] ]; setM(this, matrixMultiply(m1, this.m_), false); }; contextPrototype.rotate = function(aRot) { var c = mc(aRot); var s = ms(aRot); var m1 = [ [c, s, 0], [-s, c, 0], [0, 0, 1] ]; setM(this, matrixMultiply(m1, this.m_), false); }; contextPrototype.scale = function(aX, aY) { this.arcScaleX_ *= aX; this.arcScaleY_ *= aY; var m1 = [ [aX, 0, 0], [0, aY, 0], [0, 0, 1] ]; setM(this, matrixMultiply(m1, this.m_), true); }; contextPrototype.transform = function(m11, m12, m21, m22, dx, dy) { var m1 = [ [m11, m12, 0], [m21, m22, 0], [dx, dy, 1] ]; setM(this, matrixMultiply(m1, this.m_), true); }; contextPrototype.setTransform = function(m11, m12, m21, m22, dx, dy) { var m = [ [m11, m12, 0], [m21, m22, 0], [dx, dy, 1] ]; setM(this, m, true); }; /******** STUBS ********/ contextPrototype.clip = function() { // TODO: Implement }; contextPrototype.arcTo = function() { // TODO: Implement }; contextPrototype.createPattern = function() { return new CanvasPattern_; }; // Gradient / Pattern Stubs function CanvasGradient_(aType) { this.type_ = aType; this.x0_ = 0; this.y0_ = 0; this.r0_ = 0; this.x1_ = 0; this.y1_ = 0; this.r1_ = 0; this.colors_ = []; } CanvasGradient_.prototype.addColorStop = function(aOffset, aColor) { aColor = processStyle(aColor); this.colors_.push({offset: aOffset, color: aColor.color, alpha: aColor.alpha}); }; function CanvasPattern_() {} // set up externs G_vmlCanvasManager = G_vmlCanvasManager_; CanvasRenderingContext2D = CanvasRenderingContext2D_; CanvasGradient = CanvasGradient_; CanvasPattern = CanvasPattern_; })(); } // if PK�Z�\�/'hNNLICENSEnu�[���The MIT License (MIT) Copyright (c) 2013 Anthony Terrien Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. PK�Z�\�j��44 index.htmlnu�[���<!DOCTYPE html> <html> <head> <title>jQuery Knob demo</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> <!--[if IE]><script type="text/javascript" src="excanvas.js"></script><![endif]--> <script src="dist/jquery.knob.min.js"></script> <script> $(function($) { $(".knob").knob({ change : function (value) { //console.log("change : " + value); }, release : function (value) { //console.log(this.$.attr('value')); console.log("release : " + value); }, cancel : function () { console.log("cancel : ", this); }, /*format : function (value) { return value + '%'; },*/ draw : function () { // "tron" case if(this.$.data('skin') == 'tron') { this.cursorExt = 0.3; var a = this.arc(this.cv) // Arc , pa // Previous arc , r = 1; this.g.lineWidth = this.lineWidth; if (this.o.displayPrevious) { pa = this.arc(this.v); this.g.beginPath(); this.g.strokeStyle = this.pColor; this.g.arc(this.xy, this.xy, this.radius - this.lineWidth, pa.s, pa.e, pa.d); this.g.stroke(); } this.g.beginPath(); this.g.strokeStyle = r ? this.o.fgColor : this.fgColor ; this.g.arc(this.xy, this.xy, this.radius - this.lineWidth, a.s, a.e, a.d); this.g.stroke(); this.g.lineWidth = 2; this.g.beginPath(); this.g.strokeStyle = this.o.fgColor; this.g.arc( this.xy, this.xy, this.radius - this.lineWidth + 1 + this.lineWidth * 2 / 3, 0, 2 * Math.PI, false); this.g.stroke(); return false; } } }); // Example of infinite knob, iPod click wheel var v, up=0,down=0,i=0 ,$idir = $("div.idir") ,$ival = $("div.ival") ,incr = function() { i++; $idir.show().html("+").fadeOut(); $ival.html(i); } ,decr = function() { i--; $idir.show().html("-").fadeOut(); $ival.html(i); }; $("input.infinite").knob( { min : 0 , max : 20 , stopper : false , change : function () { if(v > this.cv){ if(up){ decr(); up=0; }else{up=1;down=0;} } else { if(v < this.cv){ if(down){ incr(); down=0; }else{down=1;up=0;} } } v = this.cv; } }); }); </script> <style> body{ padding: 0; margin: 0px 50px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 300; text-rendering: optimizelegibility; } p{font-size: 30px; line-height: 30px} div.demo{text-align: center; width: 280px; float: left} div.demo > p{font-size: 20px} </style> </head> <body> <div style="width:100%;font-size:40px;letter-spacing:-8px;line-height:40px;"> <h1>jQuery Knob</h1> </div> <div> <p>Nice, downward compatible, touchable, jQuery dial. <a href="http://flattr.com/thing/674900/jQuery-Knob" target="_blank"><img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></p> <p style="font-size: 20px">* implemented interactions : mouse click and wheel mouse, keyboard (on focus) and fingers (touch events)</p> </div> <div class="demo"> <p>× Disable display input</p> <pre> data-width="100" data-displayInput=false </pre> <input class="knob" data-width="100" data-displayInput=false value="35"> </div> <div class="demo"> <p>× 'cursor' mode</p> <pre> data-width="150" data-cursor=true data-thickness=.3 data-fgColor="#222222" </pre> <input class="knob" data-width="150" data-cursor=true data-fgColor="#222222" data-thickness=.3 value="29"> </div> <div class="demo" > <p>× Display previous value</p> <pre> data-displayPrevious=true data-min="-100" </pre> <input class="knob" data-width="200" data-min="-100" data-displayPrevious=true value="44"> </div> <div style="clear:both"></div> <div class="demo"> <p>× Angle offset</p> <pre> data-angleOffset=90 data-linecap=round </pre> <input class="knob" data-angleOffset=90 data-linecap=round value="35"> </div> <div class="demo"> <p>× Angle offset and arc</p> <pre> data-fgColor="#66CC66" data-angleOffset=-125 data-angleArc=250 data-rotation=anticlockwise </pre> <input class="knob" data-angleOffset=-125 data-angleArc=250 data-fgColor="#66EE66" data-rotation="anticlockwise" value="35"> </div> <div class="demo" > <p>× 4-digit, step 0.1</p> <pre> data-step=".1" data-min="-10000" data-max="10000" value="0" data-displayPrevious=true </pre> <input class="knob" data-min="-10000" data-displayPrevious=true data-max="10000" data-step=".1" value="0"> </div> <div style="clear:both"></div> <div style="text-align: center"> <p style="font-size: 20px">× Overloaded 'draw' method</p> </div> <div style="background-color: #222; height: 340px"> <div class="demo" style="background-color:#222; color:#FFF;"> <pre> data-width="75" data-fgColor="#ffec03" data-skin="tron" data-thickness=".2" data-displayPrevious=true </pre> <input class="knob" data-width="75" data-displayPrevious=true data-fgColor="#ffec03" data-skin="tron" data-cursor=true value="75" data-thickness=".2"> </div> <div class="demo" style="background-color:#222; color:#FFF;"> <pre> data-width="150" data-fgColor="#ffec03" data-skin="tron" data-thickness=".2" data-displayPrevious=true </pre> <input class="knob" data-width="150" data-displayPrevious=true data-fgColor="#ffec03" data-skin="tron" data-thickness=".2" value="75"> </div> <div class="demo" style="background-color:#222; color:#FFF;"> <pre> data-width="150" data-fgColor="#C0ffff" data-skin="tron" data-thickness=".1" data-angleOffset="180" </pre> <input class="knob" data-width="150" data-angleOffset="180" data-fgColor="#C0ffff" data-skin="tron" data-thickness=".1" value="35"> </div> </div> <div style="clear:both"></div> <div class="demo" style="width:100%"> <p>× Responsive</p> <pre> data-width="80%" </pre> <div style="width: 30%; border: 3px dashed; margin-bottom: 20px"> <i> Current div width is 30% of window width.<br> Knob width is 80% of current div.<br> Knob width is 80% of 30% of window width.<br> Test resizing window. </i> <br> <br> <input class="knob" data-width="80%" value="35"> </div> </div> <div style="clear:both"></div> <script> function clock() { var $s = $(".second"), $m = $(".minute"), $h = $(".hour"); d = new Date(), s = d.getSeconds(), m = d.getMinutes(), h = d.getHours(); $s.val(s).trigger("change"); $m.val(m).trigger("change"); $h.val(h).trigger("change"); setTimeout("clock()", 1000); } clock(); </script> <div class="demo" style="color:#EEE;background:#222;height:420px;width:100%"> <p>× Superpose (clock)</p> <div style="position:relative;width:350px;margin:auto"> <div style="position:absolute;left:10px;top:10px"> <input class="knob hour" data-min="0" data-max="24" data-bgColor="#333" data-fgColor="#ffec03" data-displayInput=false data-width="300" data-height="300" data-thickness=".3"> </div> <div style="position:absolute;left:60px;top:60px"> <input class="knob minute" data-min="0" data-max="60" data-bgColor="#333" data-displayInput=false data-width="200" data-height="200" data-thickness=".45"> </div> <div style="position:absolute;left:110px;top:110px"> <input class="knob second" data-min="0" data-max="60" data-bgColor="#333" data-fgColor="rgb(127, 255, 0)" data-displayInput=false data-width="100" data-height="100" data-thickness=".3"> </div> </div> </div> <div style="clear:both"></div> <div class="demo"> <p>× Readonly</p> <pre> readonly (or data-readOnly=true) data-thickness=".4" data-fgColor="chartreuse" </pre> <input class="knob" data-fgColor="chartreuse" data-thickness=".4" readonly value="22"> </div> <div class="demo"> <p>× Dynamic</p> <pre> data-width="200" </pre> <input type="button" onclick="$('.knob-dyn').knob();" value="knobify!"> <input type="text" class="knob-dyn" data-width="200" data-cursor=true value="56"> <pre> data-width="50" data-cursor=true </pre> <input type="button" onclick="$('.knob-dyn2').knob();" value="knobify!"> <input type="text" class="knob-dyn2" data-width="50" data-thickness=".4" value="56"> </div> <div class="demo" style="height:440px;width:300px"> <p>× Infinite || iPod click wheel</p> <div style="float:left;width:180px;height:320px;padding:20px;background-color:#EEEEEE;text-align:center;"> <pre> data-width="150" data-cursor=true data-thickness=".5" data-fgColor="#AAAAAA" data-bgColor="#FFFFFF" data-displayInput="false" + some code </pre> <input class="infinite" value="0" data-width="150" data-thickness=".5" data-fgColor="#AAAAAA" data-bgColor="#FFFFFF" data-displayInput="false" data-cursor=true> </div> <div style="float:left;margin-top:200px;"> <div class="ival" style="width:80px;text-align:center;font-size:50px;color:#AAA">0</div> <div class="idir" style="width:80px;text-align:center;font-size:50px;"></div> </div> </div> <div style="clear:both"></div> <div style="margin-top:30px;text-align:center"> <img src="https://raw.github.com/aterrien/jQuery-Knob/master/secretplan.jpg"> <p style="font-size:20px;">jQuery Knob is © 2012 Anthony Terrien - MIT License</p> </div> </body> </html> PK�Z�\a�����knob.jquery.jsonnu�[���{ "name": "knob", "title": "jQuery Knob", "description": "Nice, downward compatible, touchable, jQuery dial.", "keywords": [ "dial", "button", "knob", "ui", "input" ], "version": "1.2.11", "author": { "name": "Anthony Terrien", "url": "https://github.com/aterrien" }, "maintainers": [ { "name": "Anthony Terrien", "email": "kontrol@anthonyterrien.com", "url": "http://anthonyterrien.com/knob" } ], "licenses": [ { "type": "MIT", "url": "http://opensource.org/licenses/mit-license.php" } ], "bugs": "https://github.com/aterrien/jQuery-Knob/issues", "homepage": "https://github.com/aterrien/jQuery-Knob", "docs": "https://github.com/aterrien/jQuery-Knob", "download": "https://github.com/aterrien/jQuery-Knob/tags", "dependencies": { "jquery": ">=1.7.0" } } PK�Z�\���4*4*dist/jquery.knob.min.jsnu�[���(function(e){if(typeof define==="function"&&define.amd){define(["jquery"],e)}else{e(jQuery)}})(function(e){"use strict";var t={},n=Math.max,r=Math.min;t.c={};t.c.d=e(document);t.c.t=function(e){return e.originalEvent.touches.length-1};t.o=function(){var n=this;this.o=null;this.$=null;this.i=null;this.g=null;this.v=null;this.cv=null;this.x=0;this.y=0;this.w=0;this.h=0;this.$c=null;this.c=null;this.t=0;this.isInit=false;this.fgColor=null;this.pColor=null;this.dH=null;this.cH=null;this.eH=null;this.rH=null;this.scale=1;this.relative=false;this.relativeWidth=false;this.relativeHeight=false;this.$div=null;this.run=function(){var t=function(e,t){var r;for(r in t){n.o[r]=t[r]}n._carve().init();n._configure()._draw()};if(this.$.data("kontroled"))return;this.$.data("kontroled",true);this.extend();this.o=e.extend({min:this.$.data("min")!==undefined?this.$.data("min"):0,max:this.$.data("max")!==undefined?this.$.data("max"):100,stopper:true,readOnly:this.$.data("readonly")||this.$.attr("readonly")==="readonly",cursor:this.$.data("cursor")===true&&30||this.$.data("cursor")||0,thickness:this.$.data("thickness")&&Math.max(Math.min(this.$.data("thickness"),1),.01)||.35,lineCap:this.$.data("linecap")||"butt",width:this.$.data("width")||200,height:this.$.data("height")||200,displayInput:this.$.data("displayinput")==null||this.$.data("displayinput"),displayPrevious:this.$.data("displayprevious"),fgColor:this.$.data("fgcolor")||"#87CEEB",inputColor:this.$.data("inputcolor"),font:this.$.data("font")||"Arial",fontWeight:this.$.data("font-weight")||"bold",inline:false,step:this.$.data("step")||1,rotation:this.$.data("rotation"),draw:null,change:null,cancel:null,release:null,format:function(e){return e},parse:function(e){return parseFloat(e)}},this.o);this.o.flip=this.o.rotation==="anticlockwise"||this.o.rotation==="acw";if(!this.o.inputColor){this.o.inputColor=this.o.fgColor}if(this.$.is("fieldset")){this.v={};this.i=this.$.find("input");this.i.each(function(t){var r=e(this);n.i[t]=r;n.v[t]=n.o.parse(r.val());r.bind("change blur",function(){var e={};e[t]=r.val();n.val(n._validate(e))})});this.$.find("legend").remove()}else{this.i=this.$;this.v=this.o.parse(this.$.val());this.v===""&&(this.v=this.o.min);this.$.bind("change blur",function(){n.val(n._validate(n.o.parse(n.$.val())))})}!this.o.displayInput&&this.$.hide();this.$c=e(document.createElement("canvas")).attr({width:this.o.width,height:this.o.height});this.$div=e('<div style="'+(this.o.inline?"display:inline;":"")+"width:"+this.o.width+"px;height:"+this.o.height+"px;"+'"></div>');this.$.wrap(this.$div).before(this.$c);this.$div=this.$.parent();if(typeof G_vmlCanvasManager!=="undefined"){G_vmlCanvasManager.initElement(this.$c[0])}this.c=this.$c[0].getContext?this.$c[0].getContext("2d"):null;if(!this.c){throw{name:"CanvasNotSupportedException",message:"Canvas not supported. Please use excanvas on IE8.0.",toString:function(){return this.name+": "+this.message}}}this.scale=(window.devicePixelRatio||1)/(this.c.webkitBackingStorePixelRatio||this.c.mozBackingStorePixelRatio||this.c.msBackingStorePixelRatio||this.c.oBackingStorePixelRatio||this.c.backingStorePixelRatio||1);this.relativeWidth=this.o.width%1!==0&&this.o.width.indexOf("%");this.relativeHeight=this.o.height%1!==0&&this.o.height.indexOf("%");this.relative=this.relativeWidth||this.relativeHeight;this._carve();if(this.v instanceof Object){this.cv={};this.copy(this.v,this.cv)}else{this.cv=this.v}this.$.bind("configure",t).parent().bind("configure",t);this._listen()._configure()._xy().init();this.isInit=true;this.$.val(this.o.format(this.v));this._draw();return this};this._carve=function(){if(this.relative){var e=this.relativeWidth?this.$div.parent().width()*parseInt(this.o.width)/100:this.$div.parent().width(),t=this.relativeHeight?this.$div.parent().height()*parseInt(this.o.height)/100:this.$div.parent().height();this.w=this.h=Math.min(e,t)}else{this.w=this.o.width;this.h=this.o.height}this.$div.css({width:this.w+"px",height:this.h+"px"});this.$c.attr({width:this.w,height:this.h});if(this.scale!==1){this.$c[0].width=this.$c[0].width*this.scale;this.$c[0].height=this.$c[0].height*this.scale;this.$c.width(this.w);this.$c.height(this.h)}return this};this._draw=function(){var e=true;n.g=n.c;n.clear();n.dH&&(e=n.dH());e!==false&&n.draw()};this._touch=function(e){var r=function(e){var t=n.xy2val(e.originalEvent.touches[n.t].pageX,e.originalEvent.touches[n.t].pageY);if(t==n.cv)return;if(n.cH&&n.cH(t)===false)return;n.change(n._validate(t));n._draw()};this.t=t.c.t(e);r(e);t.c.d.bind("touchmove.k",r).bind("touchend.k",function(){t.c.d.unbind("touchmove.k touchend.k");n.val(n.cv)});return this};this._mouse=function(e){var r=function(e){var t=n.xy2val(e.pageX,e.pageY);if(t==n.cv)return;if(n.cH&&n.cH(t)===false)return;n.change(n._validate(t));n._draw()};r(e);t.c.d.bind("mousemove.k",r).bind("keyup.k",function(e){if(e.keyCode===27){t.c.d.unbind("mouseup.k mousemove.k keyup.k");if(n.eH&&n.eH()===false)return;n.cancel()}}).bind("mouseup.k",function(e){t.c.d.unbind("mousemove.k mouseup.k keyup.k");n.val(n.cv)});return this};this._xy=function(){var e=this.$c.offset();this.x=e.left;this.y=e.top;return this};this._listen=function(){if(!this.o.readOnly){this.$c.bind("mousedown",function(e){e.preventDefault();n._xy()._mouse(e)}).bind("touchstart",function(e){e.preventDefault();n._xy()._touch(e)});this.listen()}else{this.$.attr("readonly","readonly")}if(this.relative){e(window).resize(function(){n._carve().init();n._draw()})}return this};this._configure=function(){if(this.o.draw)this.dH=this.o.draw;if(this.o.change)this.cH=this.o.change;if(this.o.cancel)this.eH=this.o.cancel;if(this.o.release)this.rH=this.o.release;if(this.o.displayPrevious){this.pColor=this.h2rgba(this.o.fgColor,"0.4");this.fgColor=this.h2rgba(this.o.fgColor,"0.6")}else{this.fgColor=this.o.fgColor}return this};this._clear=function(){this.$c[0].width=this.$c[0].width};this._validate=function(e){var t=~~((e<0?-.5:.5)+e/this.o.step)*this.o.step;return Math.round(t*100)/100};this.listen=function(){};this.extend=function(){};this.init=function(){};this.change=function(e){};this.val=function(e){};this.xy2val=function(e,t){};this.draw=function(){};this.clear=function(){this._clear()};this.h2rgba=function(e,t){var n;e=e.substring(1,7);n=[parseInt(e.substring(0,2),16),parseInt(e.substring(2,4),16),parseInt(e.substring(4,6),16)];return"rgba("+n[0]+","+n[1]+","+n[2]+","+t+")"};this.copy=function(e,t){for(var n in e){t[n]=e[n]}}};t.Dial=function(){t.o.call(this);this.startAngle=null;this.xy=null;this.radius=null;this.lineWidth=null;this.cursorExt=null;this.w2=null;this.PI2=2*Math.PI;this.extend=function(){this.o=e.extend({bgColor:this.$.data("bgcolor")||"#EEEEEE",angleOffset:this.$.data("angleoffset")||0,angleArc:this.$.data("anglearc")||360,inline:true},this.o)};this.val=function(e,t){if(null!=e){e=this.o.parse(e);if(t!==false&&e!=this.v&&this.rH&&this.rH(e)===false){return}this.cv=this.o.stopper?n(r(e,this.o.max),this.o.min):e;this.v=this.cv;this.$.val(this.o.format(this.v));this._draw()}else{return this.v}};this.xy2val=function(e,t){var i,s;i=Math.atan2(e-(this.x+this.w2),-(t-this.y-this.w2))-this.angleOffset;if(this.o.flip){i=this.angleArc-i-this.PI2}if(this.angleArc!=this.PI2&&i<0&&i>-.5){i=0}else if(i<0){i+=this.PI2}s=i*(this.o.max-this.o.min)/this.angleArc+this.o.min;this.o.stopper&&(s=n(r(s,this.o.max),this.o.min));return s};this.listen=function(){var t=this,i,s,o=function(e){e.preventDefault();var o=e.originalEvent,u=o.detail||o.wheelDeltaX,a=o.detail||o.wheelDeltaY,f=t._validate(t.o.parse(t.$.val()))+(u>0||a>0?t.o.step:u<0||a<0?-t.o.step:0);f=n(r(f,t.o.max),t.o.min);t.val(f,false);if(t.rH){clearTimeout(i);i=setTimeout(function(){t.rH(f);i=null},100);if(!s){s=setTimeout(function(){if(i)t.rH(f);s=null},200)}}},u,a,f=1,l={37:-t.o.step,38:t.o.step,39:t.o.step,40:-t.o.step};this.$.bind("keydown",function(i){var s=i.keyCode;if(s>=96&&s<=105){s=i.keyCode=s-48}u=parseInt(String.fromCharCode(s));if(isNaN(u)){s!==13&&s!==8&&s!==9&&s!==189&&(s!==190||t.$.val().match(/\./))&&i.preventDefault();if(e.inArray(s,[37,38,39,40])>-1){i.preventDefault();var o=t.o.parse(t.$.val())+l[s]*f;t.o.stopper&&(o=n(r(o,t.o.max),t.o.min));t.change(t._validate(o));t._draw();a=window.setTimeout(function(){f*=2},30)}}}).bind("keyup",function(e){if(isNaN(u)){if(a){window.clearTimeout(a);a=null;f=1;t.val(t.$.val())}}else{t.$.val()>t.o.max&&t.$.val(t.o.max)||t.$.val()<t.o.min&&t.$.val(t.o.min)}});this.$c.bind("mousewheel DOMMouseScroll",o);this.$.bind("mousewheel DOMMouseScroll",o)};this.init=function(){if(this.v<this.o.min||this.v>this.o.max){this.v=this.o.min}this.$.val(this.v);this.w2=this.w/2;this.cursorExt=this.o.cursor/100;this.xy=this.w2*this.scale;this.lineWidth=this.xy*this.o.thickness;this.lineCap=this.o.lineCap;this.radius=this.xy-this.lineWidth/2;this.o.angleOffset&&(this.o.angleOffset=isNaN(this.o.angleOffset)?0:this.o.angleOffset);this.o.angleArc&&(this.o.angleArc=isNaN(this.o.angleArc)?this.PI2:this.o.angleArc);this.angleOffset=this.o.angleOffset*Math.PI/180;this.angleArc=this.o.angleArc*Math.PI/180;this.startAngle=1.5*Math.PI+this.angleOffset;this.endAngle=1.5*Math.PI+this.angleOffset+this.angleArc;var e=n(String(Math.abs(this.o.max)).length,String(Math.abs(this.o.min)).length,2)+2;this.o.displayInput&&this.i.css({width:(this.w/2+4>>0)+"px",height:(this.w/3>>0)+"px",position:"absolute","vertical-align":"middle","margin-top":(this.w/3>>0)+"px","margin-left":"-"+(this.w*3/4+2>>0)+"px",border:0,background:"none",font:this.o.fontWeight+" "+(this.w/e>>0)+"px "+this.o.font,"text-align":"center",color:this.o.inputColor||this.o.fgColor,padding:"0px","-webkit-appearance":"none"})||this.i.css({width:"0px",visibility:"hidden"})};this.change=function(e){this.cv=e;this.$.val(this.o.format(e))};this.angle=function(e){return(e-this.o.min)*this.angleArc/(this.o.max-this.o.min)};this.arc=function(e){var t,n;e=this.angle(e);if(this.o.flip){t=this.endAngle+1e-5;n=t-e-1e-5}else{t=this.startAngle-1e-5;n=t+e+1e-5}this.o.cursor&&(t=n-this.cursorExt)&&(n=n+this.cursorExt);return{s:t,e:n,d:this.o.flip&&!this.o.cursor}};this.draw=function(){var e=this.g,t=this.arc(this.cv),n,r=1;e.lineWidth=this.lineWidth;e.lineCap=this.lineCap;if(this.o.bgColor!=="none"){e.beginPath();e.strokeStyle=this.o.bgColor;e.arc(this.xy,this.xy,this.radius,this.endAngle-1e-5,this.startAngle+1e-5,true);e.stroke()}if(this.o.displayPrevious){n=this.arc(this.v);e.beginPath();e.strokeStyle=this.pColor;e.arc(this.xy,this.xy,this.radius,n.s,n.e,n.d);e.stroke();r=this.cv==this.v}e.beginPath();e.strokeStyle=r?this.o.fgColor:this.fgColor;e.arc(this.xy,this.xy,this.radius,t.s,t.e,t.d);e.stroke()};this.cancel=function(){this.val(this.v)}};e.fn.dial=e.fn.knob=function(n){return this.each(function(){var r=new t.Dial;r.o=n;r.$=e(this);r.run()}).parent()}})PK�Z�\�汓i�ijs/jquery.knob.jsnu�[���/*!jQuery Knob*/ /** * Downward compatible, touchable dial * * Version: 1.2.11 * Requires: jQuery v1.7+ * * Copyright (c) 2012 Anthony Terrien * Under MIT License (http://www.opensource.org/licenses/mit-license.php) * * Thanks to vor, eskimoblood, spiffistan, FabrizioC */ (function (factory) { if (typeof exports === 'object') { // CommonJS module.exports = factory(require('jquery')); } else if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. define(['jquery'], factory); } else { // Browser globals factory(jQuery); } }(function ($) { /** * Kontrol library */ "use strict"; /** * Definition of globals and core */ var k = {}, // kontrol max = Math.max, min = Math.min; k.c = {}; k.c.d = $(document); k.c.t = function (e) { return e.originalEvent.touches.length - 1; }; /** * Kontrol Object * * Definition of an abstract UI control * * Each concrete component must call this one. * <code> * k.o.call(this); * </code> */ k.o = function () { var s = this; this.o = null; // array of options this.$ = null; // jQuery wrapped element this.i = null; // mixed HTMLInputElement or array of HTMLInputElement this.g = null; // deprecated 2D graphics context for 'pre-rendering' this.v = null; // value ; mixed array or integer this.cv = null; // change value ; not commited value this.x = 0; // canvas x position this.y = 0; // canvas y position this.w = 0; // canvas width this.h = 0; // canvas height this.$c = null; // jQuery canvas element this.c = null; // rendered canvas context this.t = 0; // touches index this.isInit = false; this.fgColor = null; // main color this.pColor = null; // previous color this.dH = null; // draw hook this.cH = null; // change hook this.eH = null; // cancel hook this.rH = null; // release hook this.scale = 1; // scale factor this.relative = false; this.relativeWidth = false; this.relativeHeight = false; this.$div = null; // component div this.run = function () { var cf = function (e, conf) { var k; for (k in conf) { s.o[k] = conf[k]; } s._carve().init(); s._configure() ._draw(); }; if (this.$.data('kontroled')) return; this.$.data('kontroled', true); this.extend(); this.o = $.extend({ // Config min: this.$.data('min') !== undefined ? this.$.data('min') : 0, max: this.$.data('max') !== undefined ? this.$.data('max') : 100, stopper: true, readOnly: this.$.data('readonly') || (this.$.attr('readonly') === 'readonly'), // UI cursor: this.$.data('cursor') === true && 30 || this.$.data('cursor') || 0, thickness: this.$.data('thickness') && Math.max(Math.min(this.$.data('thickness'), 1), 0.01) || 0.35, lineCap: this.$.data('linecap') || 'butt', width: this.$.data('width') || 200, height: this.$.data('height') || 200, displayInput: this.$.data('displayinput') == null || this.$.data('displayinput'), displayPrevious: this.$.data('displayprevious'), fgColor: this.$.data('fgcolor') || '#87CEEB', inputColor: this.$.data('inputcolor'), font: this.$.data('font') || 'Arial', fontWeight: this.$.data('font-weight') || 'bold', inline: false, step: this.$.data('step') || 1, rotation: this.$.data('rotation'), // Hooks draw: null, // function () {} change: null, // function (value) {} cancel: null, // function () {} release: null, // function (value) {} // Output formatting, allows to add unit: %, ms ... format: function(v) { return v; }, parse: function (v) { return parseFloat(v); } }, this.o ); // finalize options this.o.flip = this.o.rotation === 'anticlockwise' || this.o.rotation === 'acw'; if (!this.o.inputColor) { this.o.inputColor = this.o.fgColor; } // routing value if (this.$.is('fieldset')) { // fieldset = array of integer this.v = {}; this.i = this.$.find('input'); this.i.each(function(k) { var $this = $(this); s.i[k] = $this; s.v[k] = s.o.parse($this.val()); $this.bind( 'change blur', function () { var val = {}; val[k] = $this.val(); s.val(s._validate(val)); } ); }); this.$.find('legend').remove(); } else { // input = integer this.i = this.$; this.v = this.o.parse(this.$.val()); this.v === '' && (this.v = this.o.min); this.$.bind( 'change blur', function () { s.val(s._validate(s.o.parse(s.$.val()))); } ); } !this.o.displayInput && this.$.hide(); // adds needed DOM elements (canvas, div) this.$c = $(document.createElement('canvas')).attr({ width: this.o.width, height: this.o.height }); // wraps all elements in a div // add to DOM before Canvas init is triggered this.$div = $('<div style="' + (this.o.inline ? 'display:inline;' : '') + 'width:' + this.o.width + 'px;height:' + this.o.height + 'px;' + '"></div>'); this.$.wrap(this.$div).before(this.$c); this.$div = this.$.parent(); if (typeof G_vmlCanvasManager !== 'undefined') { G_vmlCanvasManager.initElement(this.$c[0]); } this.c = this.$c[0].getContext ? this.$c[0].getContext('2d') : null; if (!this.c) { throw { name: "CanvasNotSupportedException", message: "Canvas not supported. Please use excanvas on IE8.0.", toString: function(){return this.name + ": " + this.message} } } // hdpi support this.scale = (window.devicePixelRatio || 1) / ( this.c.webkitBackingStorePixelRatio || this.c.mozBackingStorePixelRatio || this.c.msBackingStorePixelRatio || this.c.oBackingStorePixelRatio || this.c.backingStorePixelRatio || 1 ); // detects relative width / height this.relativeWidth = this.o.width % 1 !== 0 && this.o.width.indexOf('%'); this.relativeHeight = this.o.height % 1 !== 0 && this.o.height.indexOf('%'); this.relative = this.relativeWidth || this.relativeHeight; // computes size and carves the component this._carve(); // prepares props for transaction if (this.v instanceof Object) { this.cv = {}; this.copy(this.v, this.cv); } else { this.cv = this.v; } // binds configure event this.$ .bind("configure", cf) .parent() .bind("configure", cf); // finalize init this._listen() ._configure() ._xy() .init(); this.isInit = true; this.$.val(this.o.format(this.v)); this._draw(); return this; }; this._carve = function() { if (this.relative) { var w = this.relativeWidth ? this.$div.parent().width() * parseInt(this.o.width) / 100 : this.$div.parent().width(), h = this.relativeHeight ? this.$div.parent().height() * parseInt(this.o.height) / 100 : this.$div.parent().height(); // apply relative this.w = this.h = Math.min(w, h); } else { this.w = this.o.width; this.h = this.o.height; } // finalize div this.$div.css({ 'width': this.w + 'px', 'height': this.h + 'px' }); // finalize canvas with computed width this.$c.attr({ width: this.w, height: this.h }); // scaling if (this.scale !== 1) { this.$c[0].width = this.$c[0].width * this.scale; this.$c[0].height = this.$c[0].height * this.scale; this.$c.width(this.w); this.$c.height(this.h); } return this; } this._draw = function () { // canvas pre-rendering var d = true; s.g = s.c; s.clear(); s.dH && (d = s.dH()); d !== false && s.draw(); }; this._touch = function (e) { var touchMove = function (e) { var v = s.xy2val( e.originalEvent.touches[s.t].pageX, e.originalEvent.touches[s.t].pageY ); if (v == s.cv) return; if (s.cH && s.cH(v) === false) return; s.change(s._validate(v)); s._draw(); }; // get touches index this.t = k.c.t(e); // First touch touchMove(e); // Touch events listeners k.c.d .bind("touchmove.k", touchMove) .bind( "touchend.k", function () { k.c.d.unbind('touchmove.k touchend.k'); s.val(s.cv); } ); return this; }; this._mouse = function (e) { var mouseMove = function (e) { var v = s.xy2val(e.pageX, e.pageY); if (v == s.cv) return; if (s.cH && (s.cH(v) === false)) return; s.change(s._validate(v)); s._draw(); }; // First click mouseMove(e); // Mouse events listeners k.c.d .bind("mousemove.k", mouseMove) .bind( // Escape key cancel current change "keyup.k", function (e) { if (e.keyCode === 27) { k.c.d.unbind("mouseup.k mousemove.k keyup.k"); if (s.eH && s.eH() === false) return; s.cancel(); } } ) .bind( "mouseup.k", function (e) { k.c.d.unbind('mousemove.k mouseup.k keyup.k'); s.val(s.cv); } ); return this; }; this._xy = function () { var o = this.$c.offset(); this.x = o.left; this.y = o.top; return this; }; this._listen = function () { if (!this.o.readOnly) { this.$c .bind( "mousedown", function (e) { e.preventDefault(); s._xy()._mouse(e); } ) .bind( "touchstart", function (e) { e.preventDefault(); s._xy()._touch(e); } ); this.listen(); } else { this.$.attr('readonly', 'readonly'); } if (this.relative) { $(window).resize(function() { s._carve().init(); s._draw(); }); } return this; }; this._configure = function () { // Hooks if (this.o.draw) this.dH = this.o.draw; if (this.o.change) this.cH = this.o.change; if (this.o.cancel) this.eH = this.o.cancel; if (this.o.release) this.rH = this.o.release; if (this.o.displayPrevious) { this.pColor = this.h2rgba(this.o.fgColor, "0.4"); this.fgColor = this.h2rgba(this.o.fgColor, "0.6"); } else { this.fgColor = this.o.fgColor; } return this; }; this._clear = function () { this.$c[0].width = this.$c[0].width; }; this._validate = function (v) { var val = (~~ (((v < 0) ? -0.5 : 0.5) + (v/this.o.step))) * this.o.step; return Math.round(val * 100) / 100; }; // Abstract methods this.listen = function () {}; // on start, one time this.extend = function () {}; // each time configure triggered this.init = function () {}; // each time configure triggered this.change = function (v) {}; // on change this.val = function (v) {}; // on release this.xy2val = function (x, y) {}; // this.draw = function () {}; // on change / on release this.clear = function () { this._clear(); }; // Utils this.h2rgba = function (h, a) { var rgb; h = h.substring(1,7) rgb = [ parseInt(h.substring(0,2), 16), parseInt(h.substring(2,4), 16), parseInt(h.substring(4,6), 16) ]; return "rgba(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + "," + a + ")"; }; this.copy = function (f, t) { for (var i in f) { t[i] = f[i]; } }; }; /** * k.Dial */ k.Dial = function () { k.o.call(this); this.startAngle = null; this.xy = null; this.radius = null; this.lineWidth = null; this.cursorExt = null; this.w2 = null; this.PI2 = 2*Math.PI; this.extend = function () { this.o = $.extend({ bgColor: this.$.data('bgcolor') || '#EEEEEE', angleOffset: this.$.data('angleoffset') || 0, angleArc: this.$.data('anglearc') || 360, inline: true }, this.o); }; this.val = function (v, triggerRelease) { if (null != v) { // reverse format v = this.o.parse(v); if (triggerRelease !== false && v != this.v && this.rH && this.rH(v) === false) { return; } this.cv = this.o.stopper ? max(min(v, this.o.max), this.o.min) : v; this.v = this.cv; this.$.val(this.o.format(this.v)); this._draw(); } else { return this.v; } }; this.xy2val = function (x, y) { var a, ret; a = Math.atan2( x - (this.x + this.w2), - (y - this.y - this.w2) ) - this.angleOffset; if (this.o.flip) { a = this.angleArc - a - this.PI2; } if (this.angleArc != this.PI2 && (a < 0) && (a > -0.5)) { // if isset angleArc option, set to min if .5 under min a = 0; } else if (a < 0) { a += this.PI2; } ret = (a * (this.o.max - this.o.min) / this.angleArc) + this.o.min; this.o.stopper && (ret = max(min(ret, this.o.max), this.o.min)); return ret; }; this.listen = function () { // bind MouseWheel var s = this, mwTimerStop, mwTimerRelease, mw = function (e) { e.preventDefault(); var ori = e.originalEvent, deltaX = ori.detail || ori.wheelDeltaX, deltaY = ori.detail || ori.wheelDeltaY, v = s._validate(s.o.parse(s.$.val())) + ( deltaX > 0 || deltaY > 0 ? s.o.step : deltaX < 0 || deltaY < 0 ? -s.o.step : 0 ); v = max(min(v, s.o.max), s.o.min); s.val(v, false); if (s.rH) { // Handle mousewheel stop clearTimeout(mwTimerStop); mwTimerStop = setTimeout(function () { s.rH(v); mwTimerStop = null; }, 100); // Handle mousewheel releases if (!mwTimerRelease) { mwTimerRelease = setTimeout(function () { if (mwTimerStop) s.rH(v); mwTimerRelease = null; }, 200); } } }, kval, to, m = 1, kv = { 37: -s.o.step, 38: s.o.step, 39: s.o.step, 40: -s.o.step }; this.$ .bind( "keydown", function (e) { var kc = e.keyCode; // numpad support if (kc >= 96 && kc <= 105) { kc = e.keyCode = kc - 48; } kval = parseInt(String.fromCharCode(kc)); if (isNaN(kval)) { (kc !== 13) // enter && kc !== 8 // bs && kc !== 9 // tab && kc !== 189 // - && (kc !== 190 || s.$.val().match(/\./)) // . allowed once && e.preventDefault(); // arrows if ($.inArray(kc,[37,38,39,40]) > -1) { e.preventDefault(); var v = s.o.parse(s.$.val()) + kv[kc] * m; s.o.stopper && (v = max(min(v, s.o.max), s.o.min)); s.change(s._validate(v)); s._draw(); // long time keydown speed-up to = window.setTimeout(function () { m *= 2; }, 30); } } } ) .bind( "keyup", function (e) { if (isNaN(kval)) { if (to) { window.clearTimeout(to); to = null; m = 1; s.val(s.$.val()); } } else { // kval postcond (s.$.val() > s.o.max && s.$.val(s.o.max)) || (s.$.val() < s.o.min && s.$.val(s.o.min)); } } ); this.$c.bind("mousewheel DOMMouseScroll", mw); this.$.bind("mousewheel DOMMouseScroll", mw) }; this.init = function () { if (this.v < this.o.min || this.v > this.o.max) { this.v = this.o.min; } this.$.val(this.v); this.w2 = this.w / 2; this.cursorExt = this.o.cursor / 100; this.xy = this.w2 * this.scale; this.lineWidth = this.xy * this.o.thickness; this.lineCap = this.o.lineCap; this.radius = this.xy - this.lineWidth / 2; this.o.angleOffset && (this.o.angleOffset = isNaN(this.o.angleOffset) ? 0 : this.o.angleOffset); this.o.angleArc && (this.o.angleArc = isNaN(this.o.angleArc) ? this.PI2 : this.o.angleArc); // deg to rad this.angleOffset = this.o.angleOffset * Math.PI / 180; this.angleArc = this.o.angleArc * Math.PI / 180; // compute start and end angles this.startAngle = 1.5 * Math.PI + this.angleOffset; this.endAngle = 1.5 * Math.PI + this.angleOffset + this.angleArc; var s = max( String(Math.abs(this.o.max)).length, String(Math.abs(this.o.min)).length, 2 ) + 2; this.o.displayInput && this.i.css({ 'width' : ((this.w / 2 + 4) >> 0) + 'px', 'height' : ((this.w / 3) >> 0) + 'px', 'position' : 'absolute', 'vertical-align' : 'middle', 'margin-top' : ((this.w / 3) >> 0) + 'px', 'margin-left' : '-' + ((this.w * 3 / 4 + 2) >> 0) + 'px', 'border' : 0, 'background' : 'none', 'font' : this.o.fontWeight + ' ' + ((this.w / s) >> 0) + 'px ' + this.o.font, 'text-align' : 'center', 'color' : this.o.inputColor || this.o.fgColor, 'padding' : '0px', '-webkit-appearance': 'none' }) || this.i.css({ 'width': '0px', 'visibility': 'hidden' }); }; this.change = function (v) { this.cv = v; this.$.val(this.o.format(v)); }; this.angle = function (v) { return (v - this.o.min) * this.angleArc / (this.o.max - this.o.min); }; this.arc = function (v) { var sa, ea; v = this.angle(v); if (this.o.flip) { sa = this.endAngle + 0.00001; ea = sa - v - 0.00001; } else { sa = this.startAngle - 0.00001; ea = sa + v + 0.00001; } this.o.cursor && (sa = ea - this.cursorExt) && (ea = ea + this.cursorExt); return { s: sa, e: ea, d: this.o.flip && !this.o.cursor }; }; this.draw = function () { var c = this.g, // context a = this.arc(this.cv), // Arc pa, // Previous arc r = 1; c.lineWidth = this.lineWidth; c.lineCap = this.lineCap; if (this.o.bgColor !== "none") { c.beginPath(); c.strokeStyle = this.o.bgColor; c.arc(this.xy, this.xy, this.radius, this.endAngle - 0.00001, this.startAngle + 0.00001, true); c.stroke(); } if (this.o.displayPrevious) { pa = this.arc(this.v); c.beginPath(); c.strokeStyle = this.pColor; c.arc(this.xy, this.xy, this.radius, pa.s, pa.e, pa.d); c.stroke(); r = this.cv == this.v; } c.beginPath(); c.strokeStyle = r ? this.o.fgColor : this.fgColor ; c.arc(this.xy, this.xy, this.radius, a.s, a.e, a.d); c.stroke(); }; this.cancel = function () { this.val(this.v); }; }; $.fn.dial = $.fn.knob = function (o) { return this.each( function () { var d = new k.Dial(); d.o = o; d.$ = $(this); d.run(); } ).parent(); }; })); PK�Z�\���ςςsecretplan.jpgnu�[������JFIFHH��C !"$"$��C���"�� ���}!1AQa"q2���#B��R��$3br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������ ���w!1AQaq"2�B���� #3R�br� $4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�����������������������������������������������������������������������?��wj7`t摩���ݓȤ'��HG<R�ҋ�݁҂s۞���Ҕ�Qvn��i���F 担��=@��<�n٣���6���Bƃ�I�:�p�1���I�Zq�E��jqn)�Q�.�ڌ�Ҋ\1@\2; B�)z�G�;���7{{S�� B09�P���sI�jsp��R�0����{R`����N)I�R:sH(�\L��>�0Eqۈ=餞��`�P�(�.:݈�Xv��B�o-�\d*|ծ�È�ʮ�^��ՙ��qTbp1��@cSI�k�Üz� ��ccoG|l��B6��Z�g`��ky��9�"�8�\��T����#F�q� ��� ɾ��?j��A��*y�-e�zu��/���� �L�@�sb�0�#�hZ@A�8�*�1��s �6�{T�H8�5&�&*��8"��mA��qֱ��&���"���Ҝ^�u�>Hn4�ݳS�@T��p"���Á�g��4��)T/4\v�N�3L�0@���Qp-Y�d����+%�+��_���z�� ɹ�Q��}Ew)Mv��n7���܇b�x>��H�i��O5<�E;�U��d�E4�9�#u�< ��]���0R����� ojo�c��]�=�'��Bi�) w�1�ڃM$t�`!<�9>��>��A#���1ӜSL�R��sJ?ZW��Z�ST`�Nu���8��Oƛ��v(��zQM�t���w;��"�#�"��o$g��[����+�DBN�HWM��[S�NG�'C�k���'�c���E�2F+xՋ9�M��<g4��F^�y�w�h�̭a�sҝ�9�PsM qM�9���:��ZJ~��=)1���N;ґ�ьҨ�Q@���!�n�`�h�Ӻ7JP;�8���>���)�v�GLS����4�qH���jL߯J@E�i9�9�b��y�''֓5(�K����\�� ��T`G�R�s���x�c PC�Wc��c�ڹ<WO�9qҢ��7��$t�����|�qڥ��8&�ҡ�G�\�OW�F��lqZav�: [8�&q�9�� ;V�c&��S�٬ۓִ��9�Q"����b9�/st�� 9���62:B�ڬʪ��B��q��s�f���2+N@g�*���~STo�$�т@oֳ�/T皶OR���V�o���M�� ���NMۻБ�~�%1���q��k��$3��,@��S�Xc�(p:V\u�v��ph%�`PT���H�N ��%�5r�ڷ�GX�p�FEo�ͽ2�2�NMs����&��v;��=xN�Dw&oC S�Úa8�O��0�gۚ莈�w'�-!��zU^��3�:��'�_zQ�4�p�I���f�w�$��!47Ojm&�Ǔ�4�a<R@% ��m┃�v����iB�^@�Q����R��}3KC� �(�ޔ���(�;��%k"�OR3��u�sTg�vb�%&�z� {��=+P��#mzը �Y�c�ڵR�� �k�d�oOjû�t�:W�^X��=��NV\��:��(&p.8�JL�ҷu ;k�Ƹ��خ�u���R��"�8�4��9�U�4{V��� ����ǯ4����(ٓ�N�����Fri�⤤#�@7�jP��җ8��i�����q@���=�q�‰�0E&0sO��}(۞(+ޤ�}i��J"�i�M�v�l�J�'=��y�P �h�S���R��u��A�<�����dl�U�5�>= Ke��H� @��5n�/-�* '� �k4{H>��(�z�ex�������9���v��u�\v&o�+ݏ��L˓Z�<�gH�v3I��Qp*+��9�R/�ܒ:�͔�S��̹��ܿ&��|�E�W'�]��//8� �M�Bq�[�}��Z"nb��Y�'�<��rjذBzb��Tgڴ2�fM̬sTe���ֵ�$c�ʺ��Ȧ�%q�]:���K��X�"�R@���[�>��/=�Ub<��Nx�l���6ђA�����i@�(4��i�V���Q�7J����ҩ���c�s����G�[<��5l)4��6�L ��j.�,�5�J����R���5vD��})iqE ��G>���E�Bߍ�1�M�p:�ZZA�����x�Ӏ���K�08�v�: 02E0�(�ɧc�oP4�f�����#�0�z)z�L�Y��57P{dT,���qI�ds�W�s�,$������\�j�+����lf\�qۥe�ٌ9��P�j��p2*y�5s��l���W3�X���z-ݸ �W9�[��Nm�)��t|b��Zڥ�k$�W�J|�]H�!c �8���9�R���)@ 6��]��1 ��9��H���J��>��iqE�0�v�p\����m.ڗi+ҕR�"U�Jڧ �J#�!��ࢧ)NX��6 �Ɨ��x5m"8�)� 8"������ {U�H�qM0(y$��$P��\��� �SG������+�FW@��\��Lo��[v�#o^xⳜ{�j�њ�q�iĎ�V �65>������4��ɹ�Q���p���6�I�aqf���fޞ�{�>��~�5&d�HFj�`�d����|�`�!6]�q�T����Q���-ީ����Rs��ҧs���I�<�9H�1��m���W��R����W�d�@P��Fi:��.8�Z��¦F��&�L�hFqZ���5�j��f�-���ҕ��j"��q��i���URsI��u0�&��jnk{R��z�)��ZN�����"��*�4�ssL<���J��&��<sE9h$Q�RP'�8���h'4��(=�Zq�� P)$��iq�h���pԘ���M� �S���@��<�Z@( ��֔=� �={Ӂ� �QO�h�3���)`���p��Lf���<�+���ܞV�T9;7ɤg���7p�;z�z��?��0�R�3�Q��y�(�!�PT��-EFO�nJ3�ud��Rz���5x�f�W9 �J�m-�\���+��ˡ��V����(�)Ҝ�ڵ9,4��=���$T�qO����Z� 2~��OAO��L6�{�8�ˠ �UL����)�*[�2����N�0E=PRR�1�8'*Ҩ�� =(z�Ub=�=a�5d)�pBO����,�R�L�s�L���b�X�8Fq�NX���I�T�m���J�_/�b����}-FzT�n8�S�B}*A ��Zi���D@t�>�I\,���?�K�8������qK,\&*�A;i��|ح���j6M�CZ!�YJ��Q�`�=+.�;�;zV]��JŝH�������s��b�M�b�f�ț;��~TlIj2i�]�Z`S�6sU~8�Ҭ�=j�/��k���T2N�@���<��$�j�L�3F[��*���=j�yjn��I�m��0�:�r��P�V2l���O ��U@I�q1�7�'viX�Tu�v��Z�b:�S�Af��UmRQm�RZ�V'�g�l,&�N���c��Gbұ�B��xY���qM#�w^(<:������N=)q��4C8ь�w�x���j1M�G�S�.8�p8�0(ڋ���� �A�-qA����'&�g=)c9�u�nE���'��q�4n��E8�QE�}6�_��di�F��x>�Ë`dt���aL ��)��NN{R��aČc���Q3|�Z��5ZY���Q�Xz��� ��7�f��+���i;��i:���H˒Mh_��Uf�:�G�^W����ӂ҅$�T9���"{S�qOU=1OH��)e8Ԣ5��(��#�v Lr8�PzT��\+g�֤ة�n)�zt�2%��je��)�G�=��\��L���i��W�4U�iv(�����lӰǕ���Z�$�B �$�暍�l�3���:ΎPj�JǽR���y�5*t����M�Gҫ�w-!�v������|Ո�qZ(��Y�s֒a�t<�(�|��9�Q��N.:g5z&!FO<Vu�Wm�L�gQhkI��{�O�I�3�q�n*���Ȭ����y�)��&;c� E�cZ�H�c5�r��k6�3�2 -�ޝ`��*��t"�r��i��ȫD���SX�4*{ ϸ�RkZW�J�&� �i��n=*���ǡ�D�PkqP�X�W��T.(��Dq�"���@����#�BJƕ����qJ�k�pj�CʹbYq{W%���)��ާq� �W!�M�LETcs�Ь?3F(�8����r��𠌟�I�(N*���DT�R��/��� ��x��0��/=:Qp#��җ�}�h�4��R�Js�h�h�)G\sJ����ϥ4u�JP01Cs�^:�W��JP8��j�=)aq��◸�{�@���Ϥ�|�i���U^�P�u�5ᨶ{�.<���P����R]d�qU&��CM�R\��\pA5B��MQ�����Ó�J��1�T�w�x�þ�,4ۋ��5Y��&�)Ҷ�Z�+8,٧�\d��ŞqR���]KDs�r�A��S��Ǡ�L|x�1��Ȥ�XE`����Fϊa�=鈱�m���` S�ށ!�vt>ni|���� 75;�����`5Sy��J��C���~<R��~�]7�(B ��<S��'*�� ަ��{�Q��N��`��K�SVVջ�i`3�2�`�֟�^�ܜ�Tl���$xU�>�Al��+N��9�m��J5f�1�8������T��y �BbykFBq�x�v�C#�׳��G�Z!Xʷ�l�A���+"�E�ڜ(?Z�yo�I�A��/";��{pQ ��֮M�s�� յ���8^+)�i��L�n$6���ےMo� d�aNH5�(�3��$;�jS��4����Z(<{A8�b ����Ud��3���Mo��R0 �W�c)�LMgcT�<��'�z���>�h�W$��o�j�GQ�8�C�]���L=��3 �s�3f;qE���2*X��兏n*լ8��Cb�>�U�X"g�I)�j�����)-���.���VI5f�Vy�V�"�9*J�r�:��t�Q� S��7��&;b��;Pi�1��⒐hԝ4�9��i1�JI�4ܷ�B��4�Z n���7ZQA��zE`�t��<Sww�{�R��I� Ѩ4c�^���4Qގ��QF(��}�Z�[ܞ�Z�<������U���m�x@��j�מ��D�Òh ��Ine*͒�rǧ&�9��$�S�y�OڭF�M��Qb���S,$�}{U���S,XkA#����a"8�Nx�9�N�3�Nj��ʇ&�ο7���%q4ʏ(뚈ʵ]��|�+EK~x��Q:�R��դ&�Z��1Hn0* �V>pzӱ7y$;Ei��<�f�J�A�Z�l,@PzVri�B�N��f�{%�zA���ZN+-M��6��n*[}<nmj���>�hZ�*9���$�6�@�Y6����oi�p*�Z��"�3�R[|pi"�����*[�Dpt�REXmW�(����o�Z�(�5j���V+�Fv��Mj�i&�_p��$s��Eh�,�g$V�� (�+��|�21[v��<��h�N#�lOj����)�����J�2r~��4\�`��W�+��mǑ�}�\�!��ֺ�:A�{T��qL���q�pZ�$%zW�ߨt$�W�YnV8�5#��%fp�pF{�w��S_E���A��V���D�>����Je��dnI�E�8�$u皮�2qJ�s��)I�����I�XNC%n���Wa�Wv��"�5$ ��W-�ή�)�Қ�qA�54QO�}*X�'"��_ݚ�֎���2q\��q�Rz��2���Ԓ����`}s]1��{�"�4��9���(��J:RE(���G�R aҦq�)�<s@��M���)?.OZ2:��0�K��H)��v{R�b��g&�ր PqI�Z3@��F~Z/�.1ԊA�۽ �sH�h�=(�Gf�sӌԪ� �N�;�H��3DF� ��|t��ua"=q�+�#H��H�f�GFjt��\+$$��<��W#��x��/J���U�0qӚ�dc�_X�Rj��q�SL,d��5C��+n�H<��Mg�n:V�ܙ��Úw����h�*A����J 1�ڬF��~�U[����Z����� �X¡r�4�Q]F���Ssxll�@�@�M-�m����֧��kTf�p%�U�`)���sW�Q���ST��čq�)gl(�(��˔3�N�c"i���)�� c5^�p��sDG���%�0�un"2H�*�o�Lը\mɪ�-r�(r:�k���������Jʓ5�fn&������l���w�٩�5�@{b������j��>P�=�Td�U<��qx����s��;���Es�=��� ���`f�F+_E�B���X{]N�N���>���$WS�Q����dLn�T ���ҶR� Y�n�g�-r�q�9�A��3����3�Y��m#�'r��e�>;՛�vF$YӖx��*�8�P4�'��<� ��z�,E�&��Lu�m:u�QI?l�����u�L��U̇ބbzӱ.E�I��V��.A&�` �Hǵh�)��!&���r6�^�)�W�epJ.}�YI�0Q+�םv��ڻ7�.�L*c�Mf�F��ȖP����$�<�bw�8�5FH}+У�M���J�Aޯ��"�����~�n�J�^�OS�-�l�U������J�3ݺ�`Ⲗ"x�iNI�)���Β: ��9�+^H>^j��s�hA�T� #p*�G�"�u�@�A�)H�۵ I�` ^�N��8����;;u�)~�� �J�(�4�s֘Ĥ�iON(<�(�b���3ށ��K�OΔ�b��&�f~��,�F8�X�@�M�x����d�h"L��Q)�65�oέ@�f������j�Q�2(�����X�h�,-N�R�;Z[v,�ڪ�/$ֆ8��!�) {w�5ak\E�۵t��W?� ���72���L<��N��<��FLA�Q�\v�@�;�K ��Q��tc$z��.�&W_����\>�J�[ y^Mg5sh�}�]ܚ��o<�=es��Mhю bѴK1 ?�p�?Z�7G�j`�=7c�f�M��6Y�&����r;�)d�1��q���U�eC�j.1���]Ax�sT��NO�\bD�ٺ���[�rS��q��<����sVՑ*]f��<�S���9��b0�8��U��{�sX�"�va@��/S�S����{j+��=i����#V�xت�Y���3r�+C�P���?��<W5F�4�5L�#ہN���>p+9e4����2i��EX�4��ȹ5��A�ןX�L��<�G��2F���5oNo���j�e�qYw��1����t�j��L��/�n�Dˑ�W�����+�6$b���B�Ud��vă"��H��������{Uay+b+g~}+חO�E�R}qMd�0ڳs����E��Zcū�S���F �,`�ץq��r*7_܀X�r�Q�!8$q� #k���i�2&>d���@�8��R��,���'&R�F�C�m؟�g���c��ݷPG�M�e��G�]��.fKHy�8�A�P�#�(�:SA̦���=})& ��#5^�B��1�HH;�J�NT�Jc+g'��m�&KI�H�jEA�=��>"D�0����0��ml�v�j81/����]��HX�:\樅e�@���+3 ��2���T�,v�i�Fj��9�ŵ�f�e��Ȟէ8�j���h$���L��V��`+���㊰��F˃�@Dh9�I���c�7�)�(b9��JN������84�M֔�8�����C����4���)�QN�=<�έG�W�dը�M`٪'�f�µ+�j�Jq�Z���PzՈ�u�QB� ���Ѐp�)Xf�����4H�#��ęX�ך�uWX|���;��I�;��ĺ�[s�! �mtW��~U���y|��j�1���1K�=�A�;R���`�:����:R���sT�GԎ�".��#'�XKw+���Qe��[�2:W;��í_�!:2����2/SR��Xp����pC4�`Vm+��-�zq�Dn��֭[i�7*�Z9?xb�d>V̤�Z�M'pk\iAS�1��t?f�;�b���b�5��b9B[`�և4��L�N���譔$c��>�9�Fݧ��K�F�J����~���D�s�ɮl���9�Z���D���|��Be��U�p3M����z�m�� �4�v�n)9������萃�d����#��[�>_�Zk�J����C��KC-t�U�Oz����D@�qVv�c֔�?:���]�Mh��*��T 20x�R�݈����K���H���H��=ɡ~`�}�d� ���q�Ҟ�-�u�l�y��(u�RQ���W%;@��FrG�����'��c�4�I=�ϥ��~>�!������c�)Ns�A��X.Y�r����$������|�9#��ܨQ�Ҫ�=�|�9��$N3ץL�p�U�r�@ ��x��F 矼*L��4��@���R�p}i�0=N(9�P$n�f�d,#��\dj���Ns��I;0j�.P��J��We���]���q�Ve)G�j��U�FsT�u�2+��Z������Z�ښÜ����=�2�wL��SH�=� SXp*lw������4v��F�Lch�4�h��9�4��� &ӊp�����=r( ҁM��G�? )������jT�n��\��"_Nj�A�T1/˜�>�, ��x�(;�@1ӽY�e�P��%���r���.;S&Bc��m�@#�x }J�a��g]����4�aޟ�������tW�����;V��fs���S�x�&8�NS���G9"#b���3�EC���:���l�։;ܯe�+TzWtⷴ����[��>_ҹ%3�S9��ܯ�SǤ�{W`�nx**�����ך!&�iŖ���:WC��,A�y�+kTBC�G mWBV"^E1kghZl���>w�=MS�C���HmԪ�@��T$���T����Py����W!�����t�O���<w5[���M�`��1�G?ZH,�gh!}kv;ey�H>�>���#u+�n6§��RoB��İ�6��sR3y����~��0�� �F �� �@ۊ�����B���4�Ӄ�FFj63���*x�Q���"���*v�;�LDC�5�+J�q�k���cD s�=�HB��G�[88�v(w�MID���GҚ���SU���t���=�(�@�F;�қo��#� �<�ϧ4�?�1����D �a���pH^�54����/'�LR`��H�`u���f��n�>����ږ����4`��*�q��2 [ �s��SW�����9��O�H��p���d4�WЖ4 �f*x����d�>���brjL�JR3�Sq���(l�q���I���G����\{S�䎃���ҫ�0EY��j����H��Sl��qY3d�>�����b~N[�"����E��9��Jr�03֪ʄf�ɪ�&+K����e9<E�V�dg&���F?*�ԅ3�L#���g��N9�Ji<b���L'�S�F�1����4�t�9<RpsIf>\�J=i�qғ��L� P3K�sJ�JH�p1AR�i=i�8�)�y�E1���W!]=� �����P��V�ON�X�@ �q��� �G^�� *�w<TQ�`Z�t��BL��֙ u��ʀzRJF9�H��Fk:���h���1ֳo9S֒1/��BzκKϼEs~!�=kjfS���N�~��3C0�t�\�їv8�]��`�Ƹ�����DP@�ViMjtZe������*j����P$[���s�� �"���UY���O�\�JNy��\�6{��"����e���m��Wec'�]`!�=8�O^Ԋ洹�])'樝�5� �;d�Ͻ]�L��ͱܲ҅�҃�ب&l�Z�4�v8jW,��\�Ҡ�`��U�l���K> ��Ag*����;p����n�&�����x'��y�ZB��^1Y��h��#��>bz��e���cH�d�4�ێW=8� 0s���7���)�|��h�|�E ���#���4���"����"��c�����p2NN3�L��~�N*&ny�i��b��gך���RG\�(��"� _jx Zv�G�0q2ɞ��pP����ǚiq�r3ң�Sdg&�p3�QM���� b1�8�tr��*�㚋'fA�wc$Ҡ ��'�=��s��P>^�-L�� �=j�bYbb����۷`���r�ު��ҩ����Me��HGҐ���8�4/ˌ��8�\qM�ՒF�Rv��9��q�B��>���a�a��@�iJ�6�q������4ex�b���Ճ.6~��0ҥ�'5������cY� �C(�N$QK ֒F)�i^1U���)�P����T��S��������3Ls�h��dM�sHq�)�ң�;`�4��.21Hp3N�cڑNJW�J�(������!�9��x�Zs@8�A#�A�)3��SH@�^hV`����Z(��z� �J������U���k���� g֮Fp��T��}j�z�q�T�ך�<ՈOj�O��1߽:3�$���z�I�.E&6��e��hH@����4�����5����ֺ;��?Z�|@x9涆�s���!�'��֓=k�l`mxx��д@R9��p>`+д<eUhkOs�Ҕ��:�}+}��؎���&TV����� .t6b�rh��ª��Lq�RH��}�MT�BK��n��֡�1'ֺy��)湽^e��&�%�j�Ү۶�d�ͼ�T�\��rx���F�����2�Qڹ���q��0.��rk.F��5(���\�o\�sÒ�\��Zq��;�����4��i�Ȯy�o�U�N������E���V�<���(s���K�`����<SQ�]�jhW}x"��Ƞs�A�Ml��Z�(�M4�X�<b�A��i=�*$�YP��N %�M=*J�a���W 9�}jR,y1; ��q�.s�z�9#��Q��8��1fx��N�s���]�;�Kc��R0���;���0��z��+v�y�ǜ�g���O�Rt��!y��e��#�[8�RB��[�+��'�#�<(,sM�͌z�4$+�}GjFw;S߇OJB�b �2���ZhL�w�S��֚���1�I�(�(B{ԏ���:� 1�W�����1�2k��H<W���>�:����$�E]-��ꌙ����6;ի�< �q���tr4�䕹��$%�6� �S�e��y9���R�JzS�4�����M=)i�4��)�!>�o$��2y�J.+=����) :�=���Fi���z���h##ސ��d���z�=j��UhE[�nrEs�r7d�q��O���W��֬d{��q9ROQ@\m� CpSw\���*����Ұ�k.��5�!��ʽ�hE�-�\��ٛ��g'y�_Wl����֦U�Q�q��I�O8� �ں����T��z���1^m��i�Rk�fB!�&��y�4���t�q偎�����W�S�+#V�b9�0kX�F���y,v�X�W={��rg�!��En3\�LY�$��v�v�ݟSf�f��I!�&�;=�Ic�C>i���}��Kp���S��#��d�kj/��sZs��;6܂��r�{W1{�?^k��\��z�=�GzL��xt�U��R2�k��ǥi���� i�F�<�nHǵC��?Z�r@\������Fzc�0r 9�<R��c��L�O����T��֚y��"q�>��^ I�v��O�j�h�8��r:T��'z�jF�l���W&�A>��H�rAD����4����)��y�(�^9�2fH�psE������5,q�q��b�r8��R���u�U2F�*O5,A�v�!���8��laq���0�/�B�L��2H�ڢ1.N�}idq�Kt�/#,~oJh���x�����݅H�03Q;B��LV21�ґ�\��P�, �M�LJrU��,JO1� ���ښ�Y�"#�X%y��?w�ZbA��sP��^<�4�Yp�}+��P-�z���7fֹ�_�[�6E��;0���uo��W�Nݑ���L��3V�Ӛ�J�M��ޖ@ )���)#=+��VN���<s��_�.�g���75�q�r~^+.�����Қ3q!��iTLp0G4���'bL���Q���H�i?���K��A��9�/�!�M'��H�Fiƚ�n��q��{�pq��-� Cg�<QH:zQE��X2*����T�c5f.��s�bl�=��G�zn�q�J� �۞(e9�S��^�YI�*dc�����^`<�)$�d��ǜg� �c�ֲ�NT�+Z�|�Ҳ/�`��f$��x�SY?��+���خ[Y?�@u�kM�eP�#��P�#8�93��0�GG��f���R�G6;W�|4�fH��}+��s��W��Yfr������6�]6�(�k�Es���M"j�_U��n���-�V/�,���&�k���i1VY������1�Č(*���7�J���g�ѝ�z�әh���m�ں:L��87+�־��t�0F� ��<V��Mn &{�Eb3�{�Z9�N��z�Ӆ�+Vt�iz���`��Ut]7�8P@�s���sB?�8r�o5�6d��� �hb�q������A�V�����J�,O����O`e�Ҳ��rpI=j�Gq������3�a>��tQHp��hS���Ӱ�Gt��f��T�Bϑȫ+r1��y52�Հ@*Pą�ҥ[y_��S�sڀIl���b["1�4�X�и��������+�D����MI�3��e#�����B��h��${Ւ����9���j� {�j>�jL�!s�8�)U\����ǷzU���9�JB��I�1L8��!Jt�4q�҃�OP(�����H��6�lw���L �W 0;v�rH�tI�4�]�Gj ��P���֑�9ӊ�(�z���c�汼Y ��L�=k���qT����l����g%�:��g;�$��!��ޮD��WLuFћ�\��$�Ⲣ�ҥg9�❆����W'U=CL%"�t�8'<V���'J�s�KFm�Ҳ2�W�j�z��r:���!(���&�zҫzՓ������B��'2ҟ23�b�qN'�*���h�s��42Q�z\b��4��HH��3�#c��N�5����K�i�&���<f�^}h���?���{�t�u�����j�|b��Z��@�)��2}�sڠS�G~J���@�!$.�x�C/�V s�ԏ�`�6q�Ӹ�G?�>�+"���I���YW��ىq�Z�}d���]E��r��|=�XneSb�Q��:̨���0��������J9�=��ň��2G�JPG�p��e�a�j��D���������]�V��Y�c��k���i��5q��]6���Ƭ���g3tX��+y�|F���48aa�ɼ�U��[�����\��O������3������&y�)��4Ҭ^c�#<{�̺��>��zƊ+ܢ[L�+nf�T�#G��@�{���ߓ���j�O����u�Y��Oe+]���:V��un\ �pz�Z�K������e �1�)�eEt;��F����j����u��\|7�(�N�����ݬ��U;��_B{ȉ�'�Vl�h����mIe:m��X�ncw+��3D�h� &k,d�'�)ȭ��:��HNv��"$i���M5*Gn̤JH��1�v5��zJ҄����� �%���rj���1�t�9=x?�UIA#�j^�I.v��$|��jM���c�> 2�^y��X�̪d��[YKۇ����zEh��ؼw���t/g��֕[�z���Z�_ �@�O_^ $���hv1�ځ��@Nz�����l8PZRv�ǧzA�aYH ��Q����o�#�'Ғ<�[�{�L,K�i�_ZG�I8����<�P",�����������N�$Ld�~��I��y�b���cB@%H=(n�V��I�N��p8ہ��Z����I�3��x~��s��U�)]h�9ӵC$BH �*��^q�h3�l�D鵏5=��4����n>bjm�ڶ�2��5�Xs�)�y�2�a)NqZ�C6�oM��[p\�P��C�����&�3�uI�X�����U�{��S�N�N�1G(�����A<'��y�T>}����k�t+h�P�8�rb9��:�E=�!�<�$G��5? K%�Wѷ�*����QX:��� (?*�"Q4����M����=*��H�5�� �v�;����c�uS��ٜ�pܻ�^zBs��G� �ڻ�W8ڳ�H&�f�;�RNsڊB��E�#��ާB�U�S&I�s{b ��Z�㯭R�*�9�i����J�9�P�ЃۥLF@�0[�c��UY[<�f�>�Zo���AC&'oQYw�t�Z1Yw͐})�{� �s:�� �WGqӭsZ���;V���{�^����ڲ۽f��]�-ĺ����t$eݼ( ����#��}j���G,�\@�ڨ��,)!��\�<�O��m�wP��ٮׂBX��MIl�V�����0�ZvO�n Vq�oSf��!��>�����X`ֵ���PHbi#���E 1�����pd��\��V��p���[Z��)�`:�+u9i6� t�sTvF�ܓ`2�L�By����ޕ>H� �3@m�I�ګ�ݜ�9ȩ�$!���S�%�J��$�W�T2�)Qя_Z�俕�������ZWc<�!�l`u�E+m_��y3-�v��sW���Ҹ�0j�v�y�zVƟ���Yk硬v�ڡ����f��Qޝ�����o��2k��r�7�v5�o~�Mٓ5�]�9��1Q�>���R�S�pr3�[f+���_�F�㎴�7��Ѧ���$� ���^;����Qc�NFB���C����=)Cr=i23�qA�Vc�:Sl��K��'Ҡ%��}��p��&M,�Y�{�➿>�����<��gu�=�;�b;g��Q���a��R Ǘ�S��!@�Ye�����y��֤rD�Hq�>Qs'9n��)�8㡤Fpz����������%\1#�9E$�ߟ^���F�`3�Z^>U=�4�x��)��=��>���#�qGs� e�i���qN2G���"��v9P@i�!B���FN xc��稤o�o�i��5�eo�FG�8/ų\��y5�bT�]n�ff�HKMsWv�)8浊��{�$.s��Z1�9��;_�W�_�f�[>��p:�9!�5gfF}j ��T��$��"�c=�3O8�j��`zPƙoL�1�)�9�^��>F?*��O�ֽ/��FX%<���ua�hN��l��sҲ�[H�+�V����� �b��wK"�V�yUiٝ�1�� ��.+�<Ol�X��"�C_l!&���ddc'��t:�C�n�$��O ��ެ�7 ��� z��<j��b���K���5� @8�E8(��'$Մ�Y�V#<k��E��q�Uc��DF�HL���N>�:sU����5c;s�Zb�pMW�8'ۭL���{�����u��A;u����֤�k2�����2g�kQ9�#�t��9�gRg�oOs�8ɮ�᭖c�7�`�ԓ^���c��f�z�A�ٹ� ���dlU�=k 9: �5��"��oJ��vIx�*K���%di�܊�;��@|X�r�v*�O�]����|���9�iʉn'�ܚΒI�b+V����z���j��4��Cr�r�b_�u0�V��T�`X�e~j��/�<�V�A)�Ҳ���%�(H�. ªI<f�kf�R+��b7�jo���5�c�3����� ��D�k�7�7�*��>XP:�p��\ԋp����=���U�=����6��+�dj�4k���&urH��G�k��L�{~�u�)����^��&Y�=��Re�&R.1�1]���]9��'��]�eG5�����{U����u�ھkR)�0f�0c��t�~`U$#�Ӥ���;��r���,@/�9��U�M�?5*�C�q�������1���^6�泯oLl-����z��5�v� ��=j��^�c�M�=jK(fv3N�,ƴ��8�C���s�c���0�}�h��ڣ�2 �03����p��#]��ZE�r{�W,��M�vZmƚ���R���ՠ�^��xv�&��qu��I�W��Y��f�$d�S�+2�խ��m����64�Ub}�! �R��n`P�k������'L�=�\~���=�:��p$��S��7�:t���:┖�<�< alu�)�W��=qB���}�q�I�������p=i���S�®h�9��8Sޚ_�=M�����V��;����V�d�Ծ^2q�̽p�Mi ���������j]C��PI@j�#)��9<t�����y���H�:��5vД�[8U�jY$8�P��ґ�)Hd����4[���YA���Jտ{��lؘ�})��i�zN��f,��4���G�=����S����$D�V�3:���F滬�F���3��Z����O�J���R�̡��zy�F%�:4-��VB�n$��;���N9�Ԭ�q�u�)*qS��ҨB�(�:f�@zl}sS��?�W��Ҭ�G���s�a8wn2�S�rN*�c<R%���:�57S��ګ�H�56qȦFϷ�U&�EZf88�?�S��j DR��]��jИ�k:�$�B��7C\���tk���k���. �oMjc'����ys�潫�i�XƟ�漣��|���yhv��$p+���a��F�V��B�Smܑ��s��H�s�:��S�����¯B��Ԕ՝��VFL�AnE�q�TI�/$�'�oYo���}eƆX����N M�]I�����\9�[�3]'�ȷsi2T����=����4��" o'֟�_~Ԯ���‸l����sء�r����z��5h�06����I"��1�ޚ�%�ۊAr����n��5z 2�&��7���2�ۺ�����d$U�'z��j�˰Q�j�v+�jJP��Z�e��MkW�� ����(&͔l�A�~�����r�)l�A1G=�I��tsW��泠 ��_�U�q����Z%|�y����ˤ!��5$s�E"��M0�� �4��&�t��`�O�>��;W�|�Rgq��U+��~�L��3z�NF}��:�)QӜsOF����8��I��=jhc<i� �5({E�LT=p}{�����}*k�>C��^!�1�S�N<�SL|�R�~���b�e��PI �?(9�;���֛��Ҧ�d��5������V�g[���z���F��A�\���ٺ�ٷ�����ҩ!8��OV$�sPpу�{zӢ|�i��y�:i8��*]�8�Q�䐽qHc���i�+L�r~�� � Jp3�����T��� zqQ;�����qޚ ��h����'#�P��6��d����/A��=+���6�AZ9\�5�=ȩ�6�q���bNK�4�g�*bТq�V.]�RMo���+�!Y؞�뫊�qM�Ԣ� �S��5Ҕ~:�vl�t%B��sNr=k,?N;־��N��Bz/�)hIk���c�d�O#�g�����&���.�v��r08�-N�n�Z�#6G���(��jB1�i@㎝��\�@1ךPzR��� N(���HM@3Vc����EXQ�\�E�Q�'�U�Oj��=�� z������W��Sg�1 c�x�r�,}�U�� U)>�ӥ+AqYׇ�<�Z3��³/OHR2nت9�a���RKh���v�����ܚ�U�P��PLCd`���Uo���$��J��дՅy�r�Wl�;�'�KS�8�P�~��*�=qQ���!j��� ),�VZ��➒�@ �m�%�-Ď�NNTy�'jY'�OlqT��U�jS��Q3�{���rKz��1$.qZ�1��ȍ�\�wf�� �yÒA�X�MWiW8�a�Ϩ�N�Gӥ ��&L�=i�Ps��9���*���P������{��%��5_r�=jq�=�BҌ�zS�H���Z�s�"/����2*2ِi �l��0*eٳ�Y�n9��OҙP���` �/�*FF� j<�#2�d ���;SP�Lٰ��)g��LU����;l�#��*Y�:Hdܦ�'��ȳ���<�ȥ$`��ċ`�84�2���B8��r2ZJ�x�$��_�0��k���!_º Q����ҷ/B�5���ַ��@�:�n ǃ�UE 7=5+HHv��,��z�$�����v8�ԞA�R`�$v��% ��!�� �1��?9ڋ�1 qI!��($(��DX�� $<7�8���fM��=e���J�_��r{UwTu�7�\s�Md:t���9����Fk'��sm��n��8�)�S'Ps�u4�2 �M��$֑�|��*Gq�p~f�;z�Ю��༜��"p�$rzP '�9nOAQ�_���P����R���i1���܅9�r��U� rs�)<��IЖ�ʋ�r�wq^W��R���!�{Ƭ^r+˼o��k�Q��5�7��"M�4������n6Np3]ݵ���v�5�P�b�0⺭#P&דM+���ͫ� ��#� 9�P(�=j%�Mjľ kر<V$<Hy�k^��#�Q&������rkM���k>��C�i1����Ď��#p��WO�'�x�ju�+Ӛ�șr=i3N#)���(4��7�(��m-�qE4�.���5:6[���J��ֹ����j�mҨ)�j�LKsH����ˁ�UX�j`s�)�9qڪM�ɫ�-Us�b��. eߞ9V��R+2�eO�R��xvGs֥�-ӣ^ڏ�� ����H�ս� ��،;� m��v�c.�֣Il��>�o%���� �T�,zb���;�;�B;�.�S�wc��u��`c�����b3�ޢ��6e���+6��)?7��>�p�?Zܰ��Sz��۞*���&�99'i?�+���_7X�W��>���1*���^\frݩpqܥ$�[��V��K�11��*��5�s�ϩ|�*��/��|})�=��F��n�Fy���Trj�F6��5��j��#�U'�P5�rc�c�7��9���O ]�}�(�Z}6�n�4�.S_ާF��K������Q��x�*Nj�i��!�&��v�X�;ު)|�A�42�5��Oz��c�Q��H�e#�}�5M��~F=+NL|��U� B�����-�pi2w,) Aa&��� S�,*�}�}���qO`�7P`�Sy�,>v3��-��Ro~6��i!��IFSר��� ��+?��Ft_�'"��8�Nz�M�J���!�*��*�cڞ6���H E�A��X'|��qUؕ�i<�}�(˞qN>��3�S�#ӯҔɁ������z�` <���p'�Jfzs��.N�Wqf��10�ҁ�zޣ��Fy4[rB�?Zkq3��F���Eo����X�#��P�FT�k�9�$<�NzJC�2�=MD�)@3�i��I��T� ��t�R��sڡQ�ю�U��H��1����ҥ8�/L���c���r9�T,A�^}�+��|�g���s��8�4�����{:�}��癋����K��&�b�j��=bs@���Y���]��orO���W�f(���֦�o�کh#j�}�V�d`����ps[0>�1S"�NN�s[:p���\�mX6�@$d�=KF�8��4�)��֡�s��i���C���J�v����G��5��1읨B��i�����U�͉K�G�!�ր{T����qEU��u?�=}*5#��֞����mr�x⧏�j���N*�|�v�@�Y����8�W��ju9u���Uz��Np�S<I4ƈg�>��/�� Ѹ?{#�d� �ԚhL��]�Td�O ��ih�� u�;�zz�1��s]�܋ib��c�)�����co ��z��ă<��V��s�J���A��.]��sD�ٴ$�H[r����l�(�Q����� �v��1֩S]M�\� ��nO�Q�@��Csp ��sXwL]�O$�JSQ�sR��d���Pn�r�S���\d�mN�~^N6�ϭs�3 �v}�)�I�+r��7��R4���g����Rn��,[�y�CL3�MPs�Q�z,+��PsM�q�=*��a�I�4XM��u*}sU�~�ה����ʤ�&�в��y�P�G�7CLy9$�� c�c�4�l��!Vێ���c�X���(r��i�e��,B��b7p3W^\�r1T���c�hbfŚ��`�Jх~Q��;%�@�b\Me&$��� ���8�I�aT8&�b$k��Z�bF��L��*�_x������:�nm�C��] y�Oҹ�_�m~X�q/#��Aay<v�#�q�q����g�O�:��1�)����(�AҬ��sU��֘��8�C!��8����zSO'�XO\��X �E X�5��q��@5���Ϋ��U��8Q��zT�h<��ڳ���\ �iX(�i� xmH��R1�7ڵr�q�*;Kq�P����O\�g�9���Nq� E���H�?7riNA�4Xw&C�g��r�U�j�l7j��{�Y��:S\��u�'~N)�������2W p{�,��4�[/�ƣ��x�L~[>��|M�����l��lb��F$��%NC������y��Q�8|��j�Z㒴ϳ~�J���+�����}���O�o^j�#p+R��ULU�pA�5TdV�3����B��>��G^Ռ�/��n3O�m�zV| �3������4'`Sus ����G�ӵekhی�#�=i��N~�L�p<�#�Z(\s֊k�j(�#�F}*T�J�2s��~��͉��9�1f��Nju, �m9<zԨ�#�qU��'�5"�Ni�Ď��U���# A��'�cދ���O�#Ҳ�Sq<q�j��u��6�c�� X|�x5q:��KD%q��j]�%Cd*��з��@��������ֺ"� �BI&��)b)��8�X� g�Oov�ۼk���$��㹵q:o%q��/��fMt�>��5���Q*�:��6f�w��Y�=*�����֢�P����V.WV,^LJ�;V<�K>��<�U��'�����/~qI��,kK���=sG(9��g�?Za��k�k�����4X�s��P?�L7�ϭs�q)�(2�O�T�K�mKy��]���fcޗl�h�s\�k�O���Vn$�Z1)��`�6�W Ju#�YZ]��w�{f��^���.L� ��A��1WK�!�5~��p©�K����Kq�8��h`�9�Y��a�1��S(�U�8*KM OcS���pMDF0GQR�6�>ئ(�8 {%��c����,�,�r��R��7 �Ɍ2��d?)�D3i\��rjd��I<Ul�EJ�'�Z,��L ����G�id ���ȉ�9�_�{��c���S��� �~����p�L$�����6��6��������q�Z������������L �ҩ"_��.�9�E#Lb�+����� ��Lv��`d����q#�.�}�\e�b������Y�2?�520���S�r~��.v�,����ګHrH� ��Q9���5��R�7c=x��t�~����Rk;� � V�hcڪ+T'����&� ��&�iU�����-�����en�EB鸊�l6����&�V�ڳ�?&S��m�Z�u)���9ZY3���*��<�H��a&M\/�U j���d���y�ڇ*EIny�Tw��jss�3qQU���Nj�n}j��=��Aь�v�z(���t8�u(l��s�Pg��W�3ǭs�RxXy`�T��b���jTn�� -+sR�v�#a�����sH�I��9���jBp�G�c��ژ�(��U�[%�*��\����zw�;��;9�j�!�/wʹ+$�F;�S9�R��1�kM�Njr1x��$��O�M�BJA��g��U��\t5Jghɩj�E9#.�L~yT����c��� ��� (�Y�Ʈ�L�U��V�H��X�Ky��7 (�� �8�Lͣ��Mu�Bt��toy~n����T`���丘K`sȫ?d�'*��pz�֪�3Jp���d�$HFZYc���(�r⢑w1n��ɱ��)]v��D��R\)��H@;�S$`JcM�2FGSM!6����u�-�i��iù"�-@�R��T�G�R�IG����hDq:�T���`+ITOlqP٠���ipEJ�䎽)��T�,j8��Ϯ(a�qߊ�&��ӲsS`C���T��zy$�`��X\�3�����/.A�8>��S���>U�9=)�K1-��Smty��CZ(�GZMB�;�Ċ����&kU*F���w�N���Y�4�wG��V|�$Ѳ�.jt��%zw�`�4�L��|¢�wLp)�\*.�ir����~���NV#���Tr_evE�sI ��,��>ƪ�r��\9�Q�� m[�K��%F��0���ᜃ�M �)��y~g$t�M�7v[nr��9ǵ��`sN��z%�/?ZC� })X.s�L�.sߊ�2�&��@�b������'�_q��U�@��sLA#�j��M$���L$�Sa��S�Y��f��85}<�5_P���T����.�{]�1�VfAP[8����}k�2�2ݚP&XW1�qU� ���N�(n�B�wʒ�=i��e�O ܙ8�;���RペsG|z�Ȥ,yQ�S�g��7�Ң���6��j����S*G�6�fA���|��S��S�Qn�~U���VL��>�[-�r �A҃�ק1Ғ�! ފ^���h���pOZ�O��A�Z~q��������?J����:Ԉnjt�!�Q�� dv�*ۧJ�c���G�L���}i%b��#���l�Ž� =ꢮ�E�Xa��oY�P ��Z���"c\dV+�X�[�ȖFr������s�R/j�:T,NsR�z�M�I��IǭA�@�7��Ƨw֮F�4L����*;�=�|� j��@����8�!qY� @Z�J��ܧ 7��R rj �p AL�r�W��g��l�֯�22EV�b�$�L�%����8�u��O �7W�>�g�q3 �x��Ke�˔PI5�-�+��.��=x�� �*�JV؝�w9�&�M1zԀ�ds �ά�ҠQV�B�=?�(�u6�X�]��h�m� U��q]մa[���D�#"źm^�:�0)��zS�Ed�Q&~U^��[8�(`�M'��NM+Lai���px�NiCd� &I�`s�H���?Z�O<S�<�v�&O���;rO�Ude �u���Ϧ($c3P��+�a�R3�4�)�0�tw ��R��#�ю�n����$�3�L ���LV1�ꭵ��R "�i�\���TRzt�R�?vN;f�a[R���0�L9�{g9�~��Κf�|�l��S�rica��5q��ԉ�##�N���?�A3U`3��S�~a��z��)m���@�H�+u�� ��M#c�~f�{S>�I�ڀB�zc���ɀ88�;�NN~5�4ۘ�ސ�d�<�6MFd9�G��E������?�0�@a�qE�bPv�������y���o�m��c�m;��p�1�rjձ&\UXo?ZҲE3k�;#�KVj� E�HA�*�J1��"5R�(�֭�L���j�c�y�2 N3LC����8<�1�j�=*5ze}�� Hl�gĪ+��v�vϛ�ֻ8���C���ٹ�j���z�j0�����d�8� �+��S;S�8�i��@����)�߯Jvx�4�ix�$C��⧍���;ԩ���4��eH�*L�5��@Y��MKwH�7Wk�` �YZ�+������ ��F�����C]�e��r1�&������~�ڈ�'�Zz/�6�;�c���(�&�U�q�G1���J��=�DL��6Χ�XLb ��W�,�{I&�P��-��bE�]��k���W1L��ZB.A�cϵU"-�+��Fwq���<{��W3��ѹ=�j#xHk\"�STn/vg5��5R��bh�z���Y���K��"��4#)H�2H3К�,A��l��c&�מx���3g�j��Y����$j݈�F�J�&&���Ҥm�7Q�i�B!`%4ɱ)n���dx�4�~[H@���h[�'�����<��NH�c�:)��&*H2�^�&D䎕5 �8p��#qM�v�C�>��Ї)X���g֘��f�V��õ� 'y9�52�d� �I�M6�&�"�S���U�u$�ҭmF�w�0���M�3��M9�i�p��@q�:���B���*䰦���*0�4�@sODۍ�sK�'�4�pL.y��(h<c���A=��r3ߥ10g4�Ny�Q2s��E.��h ��zT�)e\�@��#�K'�(C$rcWp2�*���=�4�|�P:n�~H�������q�8��R`q�YZ���"Rp���&2+�̲q�\vҚr4���\ ���Cv��QHN3��I�gӾQ��M��B�&�����=���� ),�RM#���5����A?�S����r�`gn�΄�@�G�o��hX��&��r\ЬT���R���Z�S�z��<Z��Us�����6n�=i�T3Yf�sK��O�L��fe'�H@S#p��JsҲkQ��{zT�֫d�f��H_�J@^�k���� �5�i�M�#�v�HEIIjV����>�"f��N�c��^��31�E�[Z�)�sSܦ�<b�>�f Xi^z�(94Qq�HJr��4� 9Ebh8ԩ��v>�2�s��I��P=�֮�o�ܨ=�!>��װ���B8Ո�h���٫z��L$�:�F��˜�]��nBb�W�̥.X�eX�'E�G2�㊉$y��#�sH@g�D0Kq!TRN*͎�sw"��)���z46��($ZAj&sQh�����5���r+��T�˅q�=+��y�C�J�����CL0He�r�A�~"H�rg}�k{o��P3\���_î ��Ҵ�ybM�<�B���bώ�U��5��h��)�zU;�uݸ��z���sw��'�pq�l�H2٬;�����JLn5px�7S�&FE��s�V��ٱ�9�� ��r�@��&�(��{�OJ�-٫2��dU�d)\ ��oσXZ��d'AZX����`^6��n�Q&[,$>p��W爒���y�ڷ%A��z�����T�s�e�)�����k�v���pk�#��F���]2U�2;����"[��9 �^qY+a�����CÕ�Ͻ0�rpǁ�4���q�K䂹��Jc�S����zu����pj�&�X�r9�Ğ��a\��R�\c�y�2��5M!�����Lb*��H�MX=��Y&Q���c]H�nB==�!�}�-x,�NK�݂�'ڢ�pN�W+ e�sT�ð�pkNG���ÓY�k�DR�9��Hd���QH��Б\J7F�T���<f�*����D�^:ա`�!���*�`��#Y '֦��H�5���)T���P�W`�c�j×{��_z֑��3ҳ�;����!n�O�*��}������Hd&$M�ZsƦ@1�( Y��Q 9�! ;})�v�&�gS[������q$m����|a9��N�I9�V��H�v�k��}��-N �7��=�LD���\�́UF+�MjEd�����LG5N�.Pt���x����\v������<��R9��We ثP��i�x��EC�«��ܭ�54Y�T*;ԨzzT�FΊ���U�i��h@��WWj�`�H�%������� \�+��$��sX\�'�K-�V�8�ǭoj0�ZJ�*�0��E�9�EQt��z�(��S,�:Ţ�>@�����;T[�本�u�jh����zW}�oh;dq\ׅ킢;�{֦�q�[�]A�5+�ۈnk��]ı<ִ�*FI�Xh��LSڵ��+�p��t�#S�\WU�xY�������D�-�"�dz���e�"4 ㌊p�Վ��|P*����+J4Xќ�v�1QT��:�6���a��oʣ�-�k7BI�Q��=�卒���q�ֱ<9���9�8�t��W8z���,��I�7t��{��.|;:�8�{�C[� ��s6�%��*G4�B<��!l� �Jv����ŝ�M�n <� Y����ָ'�:��ݳ(�i<b�n��cҺ+�I�'#x�\��RC�������7�~��`x� ������8M��Y�Li�g���cʂzJ�a 5^K��"敊����X�JqY �^�٥2�,jK8�iU�h���vj�pm��j�Ҭ,g�X�T�'�de;fLC�^��X+�en�9�W����,��@�u65��2��)�9�6�}�� ��FO8����G��o�C_��@#�r�;���� �H��OZ�*��>�ґ@:�X�⊹9P� !Td���Eэǭ56Ƹ�5�rrOZ���w#�0�I^:qN ,C����P1�"2�?J��oU�1�M*��B3��I2�𠏛�Yp�� ݀��w�1#�1�vQHW6m���eo�9d'��H�5>X�z�'l`��4��#�ڣ�)� G>�Qf8�8�RN ���u�]C#¦%I5����h@U�a_^�E�\��^`X�*��I�{��JM��Oa�F�S-��^� q��AlTl�)�!c��$�bf��)rX��U[�C0Q�#���� c�F���%�\��1]L{C�'s\V�'�u3��j���z���Sba�TwG��9D����WIc>B�\�9�r�]�*�ùң:��F�uF�M�5vl��S"�2/[��X65�wc� UO�R���A�NQ��ڦ�s"�Re-��GR#^+����t�m=6��C��RR-;�+Ql�3Z�#��V�p[�Z2�cO5�ߩYN@溛��ϰ� V.I�"�2$��(4S27Rc���L��Fk-d��c4�̈́���Y��@�M�sں�[��e�T�r�:�Q�Zn�S���Rj7R,�I�Z����"����9�1WKek �{��":�=��2BV���!�̗r\����v����&J�5\$0m s��o#�,c9aֵ��j/�H�XVW�$��/�u�;�b��3p@��9�/y)�>��Gb�����.:���$�\��#��O�GZ��I�kZn�%�:f���A�.� b�e�''��f��N-&�|C�K}hO����3��ʑ�����о(Z��V�G#�pz]� �>�9�Z�Mܸ�+�HozK�H:�Դ�.x>G�Im��ʲ�����1BX��(G֯L"��zD��C T�U��0;v�J-q�ŧ�j��뉚G ���ICS��#4�K�ʶ�4���h:bD�W^Fi4�$�d��ֶ%a� b�W�R:�U)9�i�g,y���lSKQ�'8�N��v�q�x�U�k���N�>��`�MM���۔=���+vU����>�G�bO�s�����M-�K�1ސ�Ґ�n9#ӵK7���=X�T��#�(F`�<T�����EE�e�rjb�; @9X��ǧ�O��y���*�cly�$��E����?�:N0:����P��n���+�)e�e~�F�m�#SR�O!�� 5N�*��NjM�9�D~H�S�{PP��(�J�ԩ�=3�(��?y�\q�i�D(��5*6*2�$���M@W�h@�Vɨ�ˡc��g9>���ٶ��bB���MZ�O"��T��M!��M�sJ�#�;R1��4��S�KQ���)9��)����;19��9=��dw�"����^+��9�]6�&�<���s')��+jk[�TzN).9^v��V%���[��YZq>���[W7mPh{J����Y��\�6_�k��.z�e�*�2y����[�(9�Y78����hiq��F�s[�$|ߵ\܃�ǵY�9Ǩ��hG㚆Z/N��V��ֵd���ǿo��zE _�,Vf�T�F���Zm�A����I�Er� % �w3�\ҧ&�G�<� i�bkH���(''����ʸ �_ �y��#88�E��ħ�#�TQ�B��{��,d�]dž�LV˸s��5m��L1��^�)@qҷ�n��R��}�ڢ��+u㨫����0+ �O5��zݫ"I-�3Τ�8�k�c��dr+?M�(�G��۲�F�S͠-L��,�Z��Y:���~��F�,s�Z�4I���9]���A.��}}�F<⣴p��F����+x��E��6�\�^z��ֱ3;6N;S��$����q�P�u��A�x���vW������P�����Q��������{�������X��2�jѺ= �C�,�o�1U���&�$�j��$�I���m�'5X�*M-�<�~�*��]�(�SB;��D,�R����8��E� Oi���K\�v9�j<���Y �l:�s��K�=1^��Q� Y灴�?*�7PTJ�d�v���n>���.���x��aҢ��sN���E�5�uNi���SaH�4G�DAR9��H8)�q��?����=���ܸP��<�*##u�T�ϥ;�*�.rƴWjƪN}k6�K�u$ �q�$�hd�`\��i�9�Ny��"��Ni�,1~fn��2��E,�%�vm����aql����+ސ�W���l��*D�9�Lw&%�z�ԅ��U%,̃7J�X�EOzi^&��v�ϵ1�j��;P��Ɲ��Օ A<��5'$g"*�W �LOc�C)��T���#֡~G4��'�I椔������=� �zTw$*�9��+�t��HZL�1M�8'4�$�x�Nv$��4�{Ւ�/HD�B=2E`NA$w��#�ݪ��x���2kX^�=M�b@>g��R�U�|�Z�̖#�f�rq֫�sRJ�\���!I�z�m�>X減96�9���Si� F�˷$��5vW ��94[�����ILF>���˺Q����� ����Q#g���`r)��p=�w,�+b,�X���kF�O²/$�=�X�>ݶ���V�\�k:&� i/� ���s�I�U��L�c��>����9$�gҤ����q��vFg�}��ǽnLN���Um�래�!����檶���d>Y$g5�\;1NG����m�dq�V��*.�s[�N�ȣ}.��ɬ�%�-��bP*]>!�+�kf"������q\|�&V.�=+K�Wm$�}+�$(�"�jI��Fg��ˁ���k����+3`�5�WW.��M�zm��КlM���Nx� %�8ⷋ�lCe��+w�f@����w��N��{��-B��>�z��� ��ӐMh��a�H���+��b��g�w�[�?]:��b�����93���,���O'5�:S�k5�i��-�J`7o9��7�s�i끃�HD��K�qY��ֶ4�H w�Cؤ_�vǓQ�7HjK�"�:�l$��Vf����K�M@ݜWG�B�N���*�"C_�<�U�yE�Zt�·�s��_$���1G_QU(���y��9�&�d���U��Etr;J�C(��t湥1�d�p=�E�r1P���0+;�זq���h�1P¤�N9���!H�h�k��J�;JE�9�Йێ�~�-����Z��O~M20Pc<qOs�ǥ0�w?�A~�#���)$�`V|�]�i[P E��s���N8 I�`#�8'���?6z�K�8��I9� p��z�`}j?�77\T�;��?9�Z�zb��N�����HI����`2LGj��⤓�j>��&w=�TkjI�: ��`���x1�8�w�CeO^�k�4��T�\~� ��8a�ҙ�%�`d��=��֫j���fa�cH�qZ��m��In�P}�Q�4�\��k�V9���;�j#R���HT��6ڹ�r�ڝ����p��v�%8�U �8�*��s@p]�]���9��3�����CZ 3WHL2�=J��B.3Ȯ{O$���o���/cDL���Oˑ؊�2�z�.6���ڞU1���X�\K��3�m����f��2h��ֵ�f��UbDOz���(�ښ:U� ~�R�����>���!�'�cӭI������k\dt�(^FsY}J��鞹���=Fe[PW95������-�OS��y!g�s�����C�,�A�5v�]��*;�Y�v�5GRxS��ר$u;�=i���ǵ2�^Ì�Ϲ�e�sOrѡs0D�j͞��8<T-#H�.O֝m�2}k;���T�C6�ڡ�2L��U�n"��,��*̻�������kD�,��o2W����x��dk{V8�5��?�^�7`J�V)��s��)HC���df%��L��}�ͼ 5g� �+P�C��)�3V�sP��4��a#"�"��j@`&��I�MjD=(���ddq[6�x ��{`I��҈��Kз#l�5,h0V�Q"�i\��&�R=A�lCk&�ɦ�;I��=�Zױ��(rG5�8܉�";.<��P�n��k���{�t���+r?9�Z��u���G)-A�Y�捧�5�-3���+����.@&��6�{�\��V��6��2c��YNЩ�����K��ǽU����OJe��+���"1l�V6��K���u��|�tj$��ڮY��.;�ʋ`敺�SI'�dϨ"��5�n �L� ���K!��A#��9�cDH�J.��3Q�(V�*)L��c<I\`͔�:��%P���D�A`2}�2�K��s�֧`�4�3��� %�)�*��$���� ��~T*�uΏ�Vi���p)���:�\n��T>��h@��á�za�)ӕ��6a�7jd܂@I$j��y� �<f�e�x�h`�O��zZp^2x�Q�'5-�Zt,��:�d�t�wZlR5,ē�H�[�K��a���5dODr��#4�<U��Ǚ�*-�� u@�c ;�v U��3���Ґ&C@�$��6M9��B}�Z�5��b�St��U8���X��M� o!;��Z���Ĝ��r�r{��9�WF繧���R��XF���O-UQ��J���u�eD�"�4���������F�}9-���p�O4U]�|��EQ71���O�����|QER �?sgϡ�C�z�E�ؤv��UQ���h��i�&R��^"|z ����E��1.~�z����QErL��T���rh���33�R8���?�]ʌ�{�(�D�8��ӽh�:�QV�`R?AE�W��V��Q�L��_��T�Q֥��QE4�:Sߙ0h��e�8t���Ob�O��x��8��(���s��I�k��R��B���Z(���u��G@f[���q��EK6�1�Nj�d��=����|GT~X�V�P�J(�Y0�TM��E2 ��T��ן⢊CDRu�jh��h��1�T3��?�QE'Nc�<�*U�X�SE1��?:x���)=� ���/Q��U-��K�?:�?��E.�А�QEP��t}i�c\��E 3�@̰��G=�`�c�+HncSr��x�2.��E�A'V��QTu#QEGLn��(oM�T�J�?�4QC(����h��c���ע� R{ H�w���Wm���E&r ~�QL���PK�Z�\��] .npmignorenu�[���nbproject/PK�Z�\�y��� README.mdnu�[���jQuery Knob ============= - canvas based ; no png or jpg sprites. - touch, mouse and mousewheel, keyboard events implemented. - downward compatible ; overloads an input element. Example ------- ```html <input type="text" value="75" class="dial"> <script> $(function() { $(".dial").knob(); }); </script> ``` Options ------- Options are provided as attributes 'data-option': ```html <input type="text" class="dial" data-min="-50" data-max="50"> ``` ... or in the "knob()" call : ```javascript $(".dial").knob({ 'min':-50, 'max':50 }); ``` The following options are supported : Behaviors : * min : min value | default=0. * max : max value | default=100. * step : step size | default=1. * angleOffset : starting angle in degrees | default=0. * angleArc : arc size in degrees | default=360. * stopper : stop at min & max on keydown/mousewheel | default=true. * readOnly : disable input and events | default=false. * rotation : direction of progression | default=clockwise. UI : * cursor : display mode "cursor", cursor size could be changed passing a numeric value to the option, default width is used when passing boolean value "true" | default=gauge. * thickness : gauge thickness. * lineCap : gauge stroke endings. | default=butt, round=rounded line endings * width : dial width. * displayInput : default=true | false=hide input. * displayPrevious : default=false | true=displays the previous value with transparency. * fgColor : foreground color. * inputColor : input value (number) color. * font : font family. * fontWeight : font weight. * bgColor : background color. Hooks ------- ```html <script> $(".dial").knob({ 'release' : function (v) { /*make something*/ } }); </script> ``` * 'release' : executed on release Parameters : + value : int, current value * 'change' : executed at each change of the value Parameters : + value : int, current value * 'draw' : when drawing the canvas Context : - this.g : canvas context 2D (see Canvas documentation) - this.$ : jQuery wrapped element - this.o : options - this.i : input - ... console.log(this); * 'cancel' : triggered on [esc] keydown * 'format' : allows to format output (add unit %, ms ...) The scope (this) of each hook function is the current Knob instance (refer to the demo code). Example ------- ```html <input type="text" value="75" class="dial"> <script> $(".dial").knob({ 'change' : function (v) { console.log(v); } }); </script> ``` Dynamically configure ------- ```html <script> $('.dial').trigger( 'configure', { "min":10, "max":40, "fgColor":"#FF0000", "skin":"tron", "cursor":true } ); </script> ``` Set the value ------- ```html <script> $('.dial') .val(27) .trigger('change'); </script> ``` Supported browser ------- Tested on Chrome, Safari, Firefox, IE>=8.0 (IE8.0 with excanvas).  PK�Z�\IC�* bower.jsonnu�[���{ "name": "aterrien/jQuery-Knob", "version": "1.2.11", "main": "js/jquery.knob.js", "description": "Nice, downward compatible, touchable, jQuery dial.", "license": "MIT", "ignore": [], "dependencies": { "jquery": ">=1.7.0" }, "devDependencies": {} } PK�Z�\ꀺ��package.jsonnu�[���PK�Z�\��l�AmAm�excanvas.jsnu�[���PK�Z�\�/'hNNDsLICENSEnu�[���PK�Z�\�j��44 �windex.htmlnu�[���PK�Z�\a������knob.jquery.jsonnu�[���PK�Z�\���4*4*E�dist/jquery.knob.min.jsnu�[���PK�Z�\�汓i�i��js/jquery.knob.jsnu�[���PK�Z�\���ςς�Dsecretplan.jpgnu�[���PK�Z�\��] ��.npmignorenu�[���PK�Z�\�y��� ��README.mdnu�[���PK�Z�\IC�* ��bower.jsonnu�[���PKK�
/home/emeraadmin/.caldav/../public_html/./node_modules/ionicons/../../4d695/jquery-knob.zip