uawdijnntqw1x1x1
IP : 216.73.216.231
Hostname : 213-108-241-110.cprapid.com
Kernel : Linux 213-108-241-110.cprapid.com 5.14.0-570.25.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 9 04:57:09 EDT 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
digilove
/
public_html
/
f7525
/
..
/
41423
/
41423
/
..
/
.
/
js.tar
/
/
msdropdown/jquery.dd.min.js000064400000216732152325744560012015 0ustar00// MSDropDown - jquery.dd.js // author: Marghoob Suleman - http://www.marghoobsuleman.com/ // Date: 10 Nov, 2012 // Version: 3.5.2 // Revision: 27 // web: www.marghoobsuleman.com /* // msDropDown is free jQuery Plugin: you can redistribute it and/or modify // it under the terms of the either the MIT License or the Gnu General Public License (GPL) Version 2 */ var msBeautify = msBeautify || {}; (function($) { msBeautify = { version: { msDropdown: '3.5.2' }, author: "Marghoob Suleman", counter: 20, debug: function(v) { if (v !== false) { $(".ddOutOfVision").css({ height: 'auto', position: 'relative' }); } else { $(".ddOutOfVision").css({ height: '0px', position: 'absolute' }); } }, oldDiv: '', create: function(id, settings, type) { type = type || "dropdown"; var data; switch (type.toLowerCase()) { case "dropdown": case "select": data = $(id).msDropdown(settings).data("dd"); break; } return data; } }; $.msDropDown = {}; //Legacy $.msDropdown = {}; //camelCaps $.extend(true, $.msDropDown, msBeautify); $.extend(true, $.msDropdown, msBeautify); // make compatibiliy with old and new jquery if ($.fn.prop === undefined) { $.fn.prop = $.fn.attr; } if ($.fn.on === undefined) { $.fn.on = $.fn.bind; $.fn.off = $.fn.unbind; } if (typeof $.expr.createPseudo === 'function') { //jQuery 1.8 or greater $.expr[':'].Contains = $.expr.createPseudo(function(arg) { return function(elem) { return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0; }; }); } else { //lower version $.expr[':'].Contains = function(a, i, m) { return $(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0; }; } //dropdown class function dd(element, settings) { var settings = $.extend(true, { byJson: { data: null, selectedIndex: 0, name: null, size: 0, multiple: false, width: 250 }, mainCSS: 'dd', height: 120, //not using currently visibleRows: 7, rowHeight: 0, showIcon: true, zIndex: 9999, useSprite: false, animStyle: 'slideDown', event: 'click', openDirection: 'auto', //auto || alwaysUp || alwaysDown jsonTitle: true, style: '', disabledOpacity: 0.7, disabledOptionEvents: true, childWidth: 0, enableCheckbox: false, //this needs to multiple or it will set element to multiple checkboxNameSuffix: '_mscheck', append: '', prepend: '', reverseMode: true, //it will update the msdropdown UI/value if you update the original dropdown - will be usefull if are using knockout.js or playing with original dropdown roundedCorner: true, enableAutoFilter: true, on: { create: null, open: null, close: null, add: null, remove: null, change: null, blur: null, click: null, dblclick: null, mousemove: null, mouseover: null, mouseout: null, focus: null, mousedown: null, mouseup: null } }, settings); var $this = this; //this class var holderId = { postElementHolder: '_msddHolder', postID: '_msdd', postTitleID: '_title', postTitleTextID: '_titleText', postChildID: '_child' }; var css = { dd: settings.mainCSS, ddTitle: 'ddTitle', arrow: 'ddArrow arrowoff', ddChild: 'ddChild', ddTitleText: 'ddTitleText', disabled: 'disabled', enabled: 'enabled', ddOutOfVision: 'ddOutOfVision', borderTop: 'borderTop', noBorderTop: 'noBorderTop', selected: 'selected', divider: 'divider', optgroup: "optgroup", optgroupTitle: "optgroupTitle", description: "description", label: "ddlabel", hover: 'hover', disabledAll: 'disabledAll' }; var css_i = { li: '_msddli_', borderRadiusTp: 'borderRadiusTp', ddChildMore: 'border shadow', fnone: "fnone" }; var isList = false, isMultiple = false, isDisabled = false, cacheElement = {}, element, orginial = {}, isOpen = false; var DOWN_ARROW = 40, UP_ARROW = 38, LEFT_ARROW = 37, RIGHT_ARROW = 39, ESCAPE = 27, ENTER = 13, ALPHABETS_START = 47, SHIFT = 16, CONTROL = 17, BACKSPACE = 8, DELETE = 46; var shiftHolded = false, controlHolded = false, lastTarget = null, forcedTrigger = false, oldSelected, isCreated = false; var doc = document, ua = window.navigator.userAgent, isIE = ua.match(/msie/i); settings.reverseMode = settings.reverseMode.toString(); settings.roundedCorner = settings.roundedCorner.toString(); var isArray = function(obj) { return (Object.prototype.toString.call(obj) == "[object Array]") ? true : false; }; var msieversion = function() { var msie = ua.indexOf("MSIE"); if (msie > 0) { // If Internet Explorer, return version number return parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))); } else { // If another browser, return 0 return 0; }; }; var checkDataSetting = function() { settings.mainCSS = $("#" + element).data("maincss") || settings.mainCSS; settings.visibleRows = $("#" + element).data("visiblerows") || settings.visibleRows; if ($("#" + element).data("showicon") == false) { settings.showIcon = $("#" + element).data("showicon"); }; settings.useSprite = $("#" + element).data("usesprite") || settings.useSprite; settings.animStyle = $("#" + element).data("animstyle") || settings.animStyle; settings.event = $("#" + element).data("event") || settings.event; settings.openDirection = $("#" + element).data("opendirection") || settings.openDirection; settings.jsonTitle = $("#" + element).data("jsontitle") || settings.jsonTitle; settings.disabledOpacity = $("#" + element).data("disabledopacity") || settings.disabledOpacity; settings.childWidth = $("#" + element).data("childwidth") || settings.childWidth; settings.enableCheckbox = $("#" + element).data("enablecheckbox") || settings.enableCheckbox; settings.checkboxNameSuffix = $("#" + element).data("checkboxnamesuffix") || settings.checkboxNameSuffix; settings.append = $("#" + element).data("append") || settings.append; settings.prepend = $("#" + element).data("prepend") || settings.prepend; settings.reverseMode = $("#" + element).data("reversemode") || settings.reverseMode; settings.roundedCorner = $("#" + element).data("roundedcorner") || settings.roundedCorner; settings.enableAutoFilter = $("#" + element).data("enableautofilter") || settings.enableAutoFilter; //make string settings.reverseMode = settings.reverseMode.toString(); settings.roundedCorner = settings.roundedCorner.toString(); settings.enableAutoFilter = settings.enableAutoFilter.toString(); }; var getElement = function(ele) { if (cacheElement[ele] === undefined) { cacheElement[ele] = doc.getElementById(ele); } return cacheElement[ele]; }; var getIndex = function(opt) { var childid = getPostID("postChildID"); return $("#" + childid + " li." + css_i.li).index(opt); }; var createByJson = function() { if (settings.byJson.data) { var validData = ["description", "image", "title"]; try { if (!element.id) { element.id = "dropdown" + msBeautify.counter; }; settings.byJson.data = eval(settings.byJson.data); //change element var id = "msdropdown" + (msBeautify.counter++); var obj = {}; obj.id = id; obj.name = settings.byJson.name || element.id; //its name if (settings.byJson.size > 0) { obj.size = settings.byJson.size; }; obj.multiple = settings.byJson.multiple; var oSelect = createElement("select", obj); for (var i = 0; i < settings.byJson.data.length; i++) { var current = settings.byJson.data[i]; var opt = new Option(current.text, current.value); for (var p in current) { if (p.toLowerCase() != 'text') { var key = ($.inArray(p.toLowerCase(), validData) != -1) ? "data-" : ""; opt.setAttribute(key + p, current[p]); }; }; oSelect.options[i] = opt; }; getElement(element.id).appendChild(oSelect); oSelect.selectedIndex = settings.byJson.selectedIndex; $(oSelect).css({ width: settings.byJson.width + 'px' }); //now change element for access other things element = oSelect; } catch (e) { throw "There is an error in json data."; }; }; }; var init = function() { //set properties createByJson(); if (!element.id) { element.id = "msdrpdd" + (msBeautify.counter++); }; element = element.id; $this.element = element; checkDataSetting(); isDisabled = getElement(element).disabled; var useCheckbox = settings.enableCheckbox; if (useCheckbox.toString() === "true") { getElement(element).multiple = true; settings.enableCheckbox = true; }; isList = (getElement(element).size > 1 || getElement(element).multiple == true) ? true : false; //trace("isList "+isList); if (isList) { isMultiple = getElement(element).multiple; }; mergeAllProp(); //create layout createLayout(); //set ui prop updateProp("uiData", getDataAndUI()); updateProp("selectedOptions", $("#" + element + " option:selected")); var childid = getPostID("postChildID"); oldSelected = $("#" + childid + " li." + css.selected); if (settings.reverseMode === "true") { $("#" + element).on("change", function() { setValue(this.selectedIndex); }); }; //add refresh method getElement(element).refresh = function(e) { $("#" + element).msDropdown().data("dd").refresh(); }; }; /********************************************************************************************/ var getPostID = function(id) { return element + holderId[id]; }; var getInternalStyle = function(ele) { var s = (ele.style === undefined) ? "" : ele.style.cssText; return s; }; var parseOption = function(opt) { var imagePath = '', title = '', description = '', value = -1, text = '', className = '', imagecss = '', index; if (opt !== undefined) { var attrTitle = opt.title || ""; //data-title if (attrTitle != "") { var reg = /^\{.*\}$/; var isJson = reg.test(attrTitle); if (isJson && settings.jsonTitle) { var obj = eval("[" + attrTitle + "]"); }; title = (isJson && settings.jsonTitle) ? obj[0].title : title; description = (isJson && settings.jsonTitle) ? obj[0].description : description; imagePath = (isJson && settings.jsonTitle) ? obj[0].image : attrTitle; imagecss = (isJson && settings.jsonTitle) ? obj[0].imagecss : imagecss; index = opt.index; }; text = opt.text || ''; value = opt.value || ''; className = opt.className || ""; //ignore title attribute if playing with data tags title = $(opt).prop("data-title") || $(opt).data("title") || (title || ""); description = $(opt).prop("data-description") || $(opt).data("description") || (description || ""); imagePath = $(opt).prop("data-image") || $(opt).data("image") || (imagePath || ""); imagecss = $(opt).prop("data-imagecss") || $(opt).data("imagecss") || (imagecss || ""); index = $(opt).index(); }; var o = { image: imagePath, title: title, description: description, value: value, text: text, className: className, imagecss: imagecss, index: index }; return o; }; var createElement = function(nm, attr, html) { var tag = doc.createElement(nm); if (attr) { for (var i in attr) { switch (i) { case "style": tag.style.cssText = attr[i]; break; default: tag[i] = attr[i]; break; }; }; }; if (html) { tag.innerHTML = html; }; return tag; }; /********************************************************************************************/ /*********************** <layout> *************************************/ var hideOriginal = function() { var hidid = getPostID("postElementHolder"); if ($("#" + hidid).length == 0) { var obj = { style: 'height: 0px;overflow: hidden;position: absolute;', className: css.ddOutOfVision }; obj.id = hidid; var oDiv = createElement("div", obj); $("#" + element).after(oDiv); $("#" + element).appendTo($("#" + hidid)); } else { $("#" + hidid).css({ height: 0, overflow: 'hidden', position: 'absolute' }); }; getElement(element).tabIndex = -1; }; var createWrapper = function() { var brdRds = (settings.roundedCorner == "true") ? " borderRadius" : ""; var obj = { className: css.dd + " ddcommon" + brdRds }; var intcss = getInternalStyle(getElement(element)); var w = $("#" + element).outerWidth(); obj.style = "width: " + w + "px;"; if (intcss.length > 0) { obj.style = obj.style + "" + intcss; }; obj.id = getPostID("postID"); obj.tabIndex = getElement(element).tabIndex; var oDiv = createElement("div", obj); return oDiv; }; var createTitle = function() { var selectedOption; if (getElement(element).selectedIndex >= 0) { selectedOption = getElement(element).options[getElement(element).selectedIndex]; } else { selectedOption = { value: '', text: '' }; } var spriteClass = "", selectedClass = ""; //check sprite var useSprite = $("#" + element).data("usesprite"); if (useSprite) { settings.useSprite = useSprite; }; if (settings.useSprite != false) { spriteClass = " " + settings.useSprite; selectedClass = " " + selectedOption.className; }; var brdRdsTp = (settings.roundedCorner == "true") ? " " + css_i.borderRadiusTp : ""; var oTitle = createElement("div", { className: css.ddTitle + spriteClass + brdRdsTp }); //divider var oDivider = createElement("span", { className: css.divider }); //arrow var oArrow = createElement("span", { className: css.arrow }); //title Text var titleid = getPostID("postTitleID"); var oTitleText = createElement("span", { className: css.ddTitleText + selectedClass, id: titleid }); var parsed = parseOption(selectedOption); var arrowPath = parsed.image; var sText = parsed.text || ""; if (arrowPath != "" && settings.showIcon) { var oIcon = createElement("img"); oIcon.src = arrowPath; if (parsed.imagecss != "") { oIcon.className = parsed.imagecss + " "; }; }; var oTitleText_in = createElement("span", { className: css.label }, sText); oTitle.appendChild(oDivider); oTitle.appendChild(oArrow); if (oIcon) { oTitleText.appendChild(oIcon); }; oTitleText.appendChild(oTitleText_in); oTitle.appendChild(oTitleText); var oDescription = createElement("span", { className: css.description }, parsed.description); oTitleText.appendChild(oDescription); return oTitle; }; var createFilterBox = function() { var tid = getPostID("postTitleTextID"); var brdRds = (settings.roundedCorner == "true") ? "borderRadius" : ""; var sText = createElement("input", { id: tid, type: 'text', value: '', autocomplete: 'off', className: 'text shadow ' + brdRds, style: 'display: none' }); return sText; }; var createChild = function(opt) { var obj = {}; var intcss = getInternalStyle(opt); if (intcss.length > 0) { obj.style = intcss; }; var css2 = (opt.disabled) ? css.disabled : css.enabled; css2 = (opt.selected) ? (css2 + " " + css.selected) : css2; css2 = css2 + " " + css_i.li; obj.className = css2; if (settings.useSprite != false) { obj.className = css2 + " " + opt.className; }; var li = createElement("li", obj); var parsed = parseOption(opt); if (parsed.title != "") { li.title = parsed.title; }; var arrowPath = parsed.image; if (arrowPath != "" && settings.showIcon) { var oIcon = createElement("img"); oIcon.src = arrowPath; if (parsed.imagecss != "") { oIcon.className = parsed.imagecss + " "; }; }; if (parsed.description != "") { var oDescription = createElement("span", { className: css.description }, parsed.description); }; var sText = opt.text || ""; var oTitleText = createElement("span", { className: css.label }, sText); //checkbox if (settings.enableCheckbox === true) { var chkbox = createElement("input", { type: 'checkbox', name: element + settings.checkboxNameSuffix + '[]', value: opt.value || "", className: "checkbox" }); //this can be used for future li.appendChild(chkbox); if (settings.enableCheckbox === true) { chkbox.checked = (opt.selected) ? true : false; }; }; if (oIcon) { li.appendChild(oIcon); }; li.appendChild(oTitleText); if (oDescription) { li.appendChild(oDescription); } else { if (oIcon) { oIcon.className = oIcon.className + css_i.fnone; }; }; var oClear = createElement("div", { className: 'clear' }); li.appendChild(oClear); return li; }; var createChildren = function() { var childid = getPostID("postChildID"); var obj = { className: css.ddChild + " ddchild_ " + css_i.ddChildMore, id: childid }; if (isList == false) { obj.style = "z-index: " + settings.zIndex; } else { obj.style = "z-index:1"; }; var childWidth = $("#" + element).data("childwidth") || settings.childWidth; if (childWidth) { obj.style = (obj.style || "") + ";width:" + childWidth; }; var oDiv = createElement("div", obj); var ul = createElement("ul"); if (settings.useSprite != false) { ul.className = settings.useSprite; }; var allOptions = getElement(element).children; for (var i = 0; i < allOptions.length; i++) { var current = allOptions[i]; var li; if (current.nodeName.toLowerCase() == "optgroup") { //create ul li = createElement("li", { className: css.optgroup }); var span = createElement("span", { className: css.optgroupTitle }, current.label); li.appendChild(span); var optChildren = current.children; var optul = createElement("ul"); for (var j = 0; j < optChildren.length; j++) { var opt_li = createChild(optChildren[j]); optul.appendChild(opt_li); }; li.appendChild(optul); } else { li = createChild(current); }; ul.appendChild(li); }; oDiv.appendChild(ul); return oDiv; }; var childHeight = function(val) { var childid = getPostID("postChildID"); if (val) { if (val == -1) { //auto $("#" + childid).css({ height: "auto", overflow: "auto" }); } else { $("#" + childid).css("height", "300px"); }; return false; }; //else return height var iHeight; var totalOptions = getElement(element).options.length; if (totalOptions > settings.visibleRows || settings.visibleRows) { var firstLI = $("#" + childid + " li:first"); var margin = parseInt(firstLI.css("padding-bottom")) + parseInt(firstLI.css("padding-top")); if (settings.rowHeight === 0) { $("#" + childid).css({ visibility: 'hidden', display: 'block' }); //hack for first child settings.rowHeight = Math.ceil(firstLI.height()); $("#" + childid).css({ visibility: 'visible' }); if (!isList || settings.enableCheckbox === true) { $("#" + childid).css({ display: 'none' }); }; }; iHeight = ((settings.rowHeight + margin) * Math.min(settings.visibleRows, totalOptions)) + 3; } else if (isList) { iHeight = $("#" + element).height(); //get height from original element }; return iHeight; }; var applyChildEvents = function() { var childid = getPostID("postChildID"); $("#" + childid).on("click", function(e) { if (isDisabled === true) return false; //prevent body click e.preventDefault(); e.stopPropagation(); if (isList) { bind_on_events(); }; }); $("#" + childid + " li." + css.enabled).on("click", function(e) { if (e.target.nodeName.toLowerCase() !== "input") { close(this); }; }); $("#" + childid + " li." + css.enabled).on("mousedown", function(e) { if (isDisabled === true) return false; oldSelected = $("#" + childid + " li." + css.selected); lastTarget = this; e.preventDefault(); e.stopPropagation(); //select current input if (settings.enableCheckbox === true) { if (e.target.nodeName.toLowerCase() === "input") { controlHolded = true; }; }; if (isList === true) { if (isMultiple) { if (shiftHolded === true) { $(this).addClass(css.selected); var selected = $("#" + childid + " li." + css.selected); var lastIndex = getIndex(this); if (selected.length > 1) { var items = $("#" + childid + " li." + css_i.li); var ind1 = getIndex(selected[0]); var ind2 = getIndex(selected[1]); if (lastIndex > ind2) { ind1 = (lastIndex); ind2 = ind2 + 1; }; for (var i = Math.min(ind1, ind2); i <= Math.max(ind1, ind2); i++) { var current = items[i]; if ($(current).hasClass(css.enabled)) { $(current).addClass(css.selected); }; }; }; } else if (controlHolded === true) { $(this).toggleClass(css.selected); //toggle if (settings.enableCheckbox === true) { var checkbox = this.childNodes[0]; checkbox.checked = !checkbox.checked; //toggle }; } else { $("#" + childid + " li." + css.selected).removeClass(css.selected); $("#" + childid + " input:checkbox").prop("checked", false); $(this).addClass(css.selected); if (settings.enableCheckbox === true) { this.childNodes[0].checked = true; }; }; } else { $("#" + childid + " li." + css.selected).removeClass(css.selected); $(this).addClass(css.selected); }; //fire event on mouseup } else { $("#" + childid + " li." + css.selected).removeClass(css.selected); $(this).addClass(css.selected); }; }); $("#" + childid + " li." + css.enabled).on("mouseenter", function(e) { if (isDisabled === true) return false; e.preventDefault(); e.stopPropagation(); if (lastTarget != null) { if (isMultiple) { $(this).addClass(css.selected); if (settings.enableCheckbox === true) { this.childNodes[0].checked = true; }; }; }; }); $("#" + childid + " li." + css.enabled).on("mouseover", function(e) { if (isDisabled === true) return false; $(this).addClass(css.hover); }); $("#" + childid + " li." + css.enabled).on("mouseout", function(e) { if (isDisabled === true) return false; $("#" + childid + " li." + css.hover).removeClass(css.hover); }); $("#" + childid + " li." + css.enabled).on("mouseup", function(e) { if (isDisabled === true) return false; e.preventDefault(); e.stopPropagation(); if (settings.enableCheckbox === true) { controlHolded = false; }; var selected = $("#" + childid + " li." + css.selected).length; forcedTrigger = (oldSelected.length != selected || selected == 0) ? true : false; fireAfterItemClicked(); unbind_on_events(); //remove old one bind_on_events(); lastTarget = null; }); /* options events */ if (settings.disabledOptionEvents == false) { $("#" + childid + " li." + css_i.li).on("click", function(e) { if (isDisabled === true) return false; fireOptionEventIfExist(this, "click"); }); $("#" + childid + " li." + css_i.li).on("mouseenter", function(e) { if (isDisabled === true) return false; fireOptionEventIfExist(this, "mouseenter"); }); $("#" + childid + " li." + css_i.li).on("mouseover", function(e) { if (isDisabled === true) return false; fireOptionEventIfExist(this, "mouseover"); }); $("#" + childid + " li." + css_i.li).on("mouseout", function(e) { if (isDisabled === true) return false; fireOptionEventIfExist(this, "mouseout"); }); $("#" + childid + " li." + css_i.li).on("mousedown", function(e) { if (isDisabled === true) return false; fireOptionEventIfExist(this, "mousedown"); }); $("#" + childid + " li." + css_i.li).on("mouseup", function(e) { if (isDisabled === true) return false; fireOptionEventIfExist(this, "mouseup"); }); }; }; var removeChildEvents = function() { var childid = getPostID("postChildID"); $("#" + childid).off("click"); $("#" + childid + " li." + css.enabled).off("mouseenter"); $("#" + childid + " li." + css.enabled).off("click"); $("#" + childid + " li." + css.enabled).off("mouseover"); $("#" + childid + " li." + css.enabled).off("mouseout"); $("#" + childid + " li." + css.enabled).off("mousedown"); $("#" + childid + " li." + css.enabled).off("mouseup"); }; var triggerBypassingHandler = function(id, evt_n, handler) { $("#" + id).off(evt_n, handler); $("#" + id).trigger(evt_n); $("#" + id).on(evt_n, handler); }; var applyEvents = function() { var id = getPostID("postID"); var tid = getPostID("postTitleTextID"); var childid = getPostID("postChildID"); $("#" + id).on(settings.event, function(e) { if (isDisabled === true) return false; fireEventIfExist(settings.event); //prevent body click e.preventDefault(); e.stopPropagation(); open(e); }); $("#" + id).on("keydown", function(e) { var k = e.which; if (!isOpen && (k == ENTER || k == UP_ARROW || k == DOWN_ARROW || k == LEFT_ARROW || k == RIGHT_ARROW || (k >= ALPHABETS_START && !isList))) { open(e); if (k >= ALPHABETS_START) { showFilterBox(); } else { e.preventDefault(); e.stopImmediatePropagation(); }; }; }); $("#" + id).on("focus", wrapperFocusHandler); $("#" + id).on("blur", wrapperBlurHandler); $("#" + tid).on("blur", function(e) { //return focus to the wrapper without triggering the handler triggerBypassingHandler(id, "focus", wrapperFocusHandler); }); applyChildEvents(); $("#" + id).on("dblclick", on_dblclick); $("#" + id).on("mousemove", on_mousemove); $("#" + id).on("mouseenter", on_mouseover); $("#" + id).on("mouseleave", on_mouseout); $("#" + id).on("mousedown", on_mousedown); $("#" + id).on("mouseup", on_mouseup); }; var wrapperFocusHandler = function(e) { fireEventIfExist("focus"); }; var wrapperBlurHandler = function(e) { fireEventIfExist("blur"); }; //after create var fixedForList = function() { var id = getPostID("postID"); var childid = getPostID("postChildID"); if (isList === true && settings.enableCheckbox === false) { $("#" + id + " ." + css.ddTitle).hide(); $("#" + childid).css({ display: 'block', position: 'relative' }); //open(); } else { if (settings.enableCheckbox === false) { isMultiple = false; //set multiple off if this is not a list }; $("#" + id + " ." + css.ddTitle).show(); $("#" + childid).css({ display: 'none', position: 'absolute' }); //set value var first = $("#" + childid + " li." + css.selected)[0]; $("#" + childid + " li." + css.selected).removeClass(css.selected); var index = getIndex($(first).addClass(css.selected)); setValue(index); }; childHeight(childHeight()); //get and set height }; var fixedForDisabled = function() { var id = getPostID("postID"); var opc = (isDisabled == true) ? settings.disabledOpacity : 1; if (isDisabled === true) { $("#" + id).addClass(css.disabledAll); } else { $("#" + id).removeClass(css.disabledAll); }; }; var fixedSomeUI = function() { //auto filter var tid = getPostID("postTitleTextID"); if (settings.enableAutoFilter == "true") { $("#" + tid).on("keyup", applyFilters); }; //if is list fixedForList(); fixedForDisabled(); }; var createLayout = function() { var oDiv = createWrapper(); var oTitle = createTitle(); oDiv.appendChild(oTitle); //auto filter box var oFilterBox = createFilterBox(); oDiv.appendChild(oFilterBox); var oChildren = createChildren(); oDiv.appendChild(oChildren); $("#" + element).after(oDiv); hideOriginal(); //hideOriginal fixedSomeUI(); applyEvents(); var childid = getPostID("postChildID"); //append if (settings.append != '') { $("#" + childid).append(settings.append); }; //prepend if (settings.prepend != '') { $("#" + childid).prepend(settings.prepend); }; if (typeof settings.on.create == "function") { settings.on.create.apply($this, arguments); }; }; var selectUI_LI = function(indexes) { var childid = getPostID("postChildID"); $("#" + childid + " li." + css_i.li).removeClass(css.selected); if (settings.enableCheckbox === true) { $("#" + childid + " li." + css_i.li + " input.checkbox").prop("checked", false); }; if (isArray(indexes) === true) { for (var i = 0; i < indexes.length; i++) { updateNow(indexes[i]); }; } else { updateNow(indexes); }; function updateNow(index) { $($("#" + childid + " li." + css_i.li)[index]).addClass(css.selected); if (settings.enableCheckbox === true) { $($("#" + childid + " li." + css_i.li)[index]).find("input.checkbox").prop("checked", "checked"); }; }; }; var selectMutipleOptions = function(bySelected, useIndexes) { var childid = getPostID("postChildID"); var selected = bySelected || $("#" + childid + " li." + css.selected); //bySelected or by argument for (var i = 0; i < selected.length; i++) { var ind = (useIndexes === true) ? selected[i] : getIndex(selected[i]); getElement(element).options[ind].selected = "selected"; }; setValue(selected); }; var fireAfterItemClicked = function() { //console.log("fireAfterItemClicked") var childid = getPostID("postChildID"); var selected = $("#" + childid + " li." + css.selected); if (isMultiple && (shiftHolded || controlHolded) || forcedTrigger) { getElement(element).selectedIndex = -1; //reset old }; var index; if (selected.length == 0) { index = -1; } else if (selected.length > 1) { //selected multiple selectMutipleOptions(selected); } else { //if one selected index = getIndex($("#" + childid + " li." + css.selected)); }; if ((getElement(element).selectedIndex != index || forcedTrigger) && selected.length <= 1) { forcedTrigger = false; var evt = has_handler("change"); getElement(element).selectedIndex = index; setValue(index); //local if (typeof settings.on.change == "function") { var d = getDataAndUI(); settings.on.change(d.data, d.ui); }; $("#" + element).trigger("change"); }; }; var setValue = function(index, byvalue) { if (index !== undefined) { var selectedIndex, value, selectedText; if (index == -1) { selectedIndex = -1; value = ""; selectedText = ""; updateTitleUI(-1); } else { //by index or byvalue if (typeof index != "object") { var opt = getElement(element).options[index]; getElement(element).selectedIndex = index; selectedIndex = index; value = parseOption(opt); selectedText = (index >= 0) ? getElement(element).options[index].text : ""; updateTitleUI(undefined, value); value = value.value; //for bottom } else { //this is multiple or by option selectedIndex = (byvalue && byvalue.index) || getElement(element).selectedIndex; value = (byvalue && byvalue.value) || getElement(element).value; selectedText = (byvalue && byvalue.text) || getElement(element).options[getElement(element).selectedIndex].text || ""; updateTitleUI(selectedIndex); //check if this is multiple checkbox }; }; updateProp("selectedIndex", selectedIndex); updateProp("value", value); updateProp("selectedText", selectedText); updateProp("children", getElement(element).children); updateProp("uiData", getDataAndUI()); updateProp("selectedOptions", $("#" + element + " option:selected")); }; }; var has_handler = function(name) { //True if a handler has been added in the html. var evt = { byElement: false, byJQuery: false, hasEvent: false }; var obj = $("#" + element); //console.log(name) try { //console.log(obj.prop("on" + name) + " "+name); if (obj.prop("on" + name) !== null) { evt.hasEvent = true; evt.byElement = true; }; } catch (e) { //console.log(e.message); } // True if a handler has been added using jQuery. var evs; if (typeof $._data == "function") { //1.8 evs = $._data(obj[0], "events"); } else { evs = obj.data("events"); }; if (evs && evs[name]) { evt.hasEvent = true; evt.byJQuery = true; }; return evt; }; var bind_on_events = function() { unbind_on_events(); $("body").on("click", close); //bind more events $(document).on("keydown", on_keydown); $(document).on("keyup", on_keyup); //focus will work on this }; var unbind_on_events = function() { $("body").off("click", close); //bind more events $(document).off("keydown", on_keydown); $(document).off("keyup", on_keyup); }; var applyFilters = function(e) { if (e.keyCode < ALPHABETS_START && e.keyCode != BACKSPACE && e.keyCode != DELETE) { return false; }; var childid = getPostID("postChildID"); var tid = getPostID("postTitleTextID"); var sText = getElement(tid).value; if (sText.length == 0) { $("#" + childid + " li:hidden").show(); //show if hidden childHeight(childHeight()); } else { $("#" + childid + " li").hide(); var items = $("#" + childid + " li:Contains('" + sText + "')").show(); if ($("#" + childid + " li:visible").length <= settings.visibleRows) { childHeight(-1); //set autoheight }; if (items.length > 0 && !isList || !isMultiple) { $("#" + childid + " ." + css.selected).removeClass(css.selected); $(items[0]).addClass(css.selected); }; }; if (!isList) { adjustOpen(); }; }; var showFilterBox = function() { if (settings.enableAutoFilter == "true") { var id = getPostID("postID"); var tid = getPostID("postTitleTextID"); if ($("#" + tid + ":hidden").length > 0 && controlHolded == false) { $("#" + tid + ":hidden").show().val(""); //blur the wrapper without triggering the handler triggerBypassingHandler(id, "blur", wrapperBlurHandler); getElement(tid).focus(); }; }; }; var hideFilterBox = function() { var tid = getPostID("postTitleTextID"); if ($("#" + tid + ":visible").length > 0) { $("#" + tid + ":visible").hide(); getElement(tid).blur(); }; }; var on_keydown = function(evt) { var tid = getPostID("postTitleTextID"); var childid = getPostID("postChildID"); switch (evt.keyCode) { case DOWN_ARROW: case RIGHT_ARROW: evt.preventDefault(); evt.stopPropagation(); //hideFilterBox(); next(); break; case UP_ARROW: case LEFT_ARROW: evt.preventDefault(); evt.stopPropagation(); //hideFilterBox(); previous(); break; case ESCAPE: case ENTER: evt.preventDefault(); evt.stopPropagation(); close(); var selected = $("#" + childid + " li." + css.selected).length; forcedTrigger = (oldSelected.length != selected || selected == 0) ? true : false; fireAfterItemClicked(); unbind_on_events(); //remove old one lastTarget = null; break; case SHIFT: shiftHolded = true; break; case CONTROL: controlHolded = true; break; default: if (evt.keyCode >= ALPHABETS_START && isList === false) { showFilterBox(); }; break; }; if (isDisabled === true) return false; fireEventIfExist("keydown"); }; var on_keyup = function(evt) { switch (evt.keyCode) { case SHIFT: shiftHolded = false; break; case CONTROL: controlHolded = false; break; }; if (isDisabled === true) return false; fireEventIfExist("keyup"); }; var on_dblclick = function(evt) { if (isDisabled === true) return false; fireEventIfExist("dblclick"); }; var on_mousemove = function(evt) { if (isDisabled === true) return false; fireEventIfExist("mousemove"); }; var on_mouseover = function(evt) { if (isDisabled === true) return false; evt.preventDefault(); fireEventIfExist("mouseover"); }; var on_mouseout = function(evt) { if (isDisabled === true) return false; evt.preventDefault(); fireEventIfExist("mouseout"); }; var on_mousedown = function(evt) { if (isDisabled === true) return false; fireEventIfExist("mousedown"); }; var on_mouseup = function(evt) { if (isDisabled === true) return false; fireEventIfExist("mouseup"); }; var option_has_handler = function(opt, name) { //True if a handler has been added in the html. var evt = { byElement: false, byJQuery: false, hasEvent: false }; if ($(opt).prop("on" + name) != undefined) { evt.hasEvent = true; evt.byElement = true; }; // True if a handler has been added using jQuery. var evs = $(opt).data("events"); if (evs && evs[name]) { evt.hasEvent = true; evt.byJQuery = true; }; return evt; }; var fireOptionEventIfExist = function(li, evt_n) { if (settings.disabledOptionEvents == false) { var opt = getElement(element).options[getIndex(li)]; //check if original has some if (option_has_handler(opt, evt_n).hasEvent === true) { if (option_has_handler(opt, evt_n).byElement === true) { opt["on" + evt_n](); }; if (option_has_handler(opt, evt_n).byJQuery === true) { switch (evt_n) { case "keydown": case "keyup": //key down/up will check later break; default: $(opt).trigger(evt_n); break; }; }; return false; }; }; }; var fireEventIfExist = function(evt_n) { //local if (typeof settings.on[evt_n] == "function") { settings.on[evt_n].apply(this, arguments); }; //check if original has some if (has_handler(evt_n).hasEvent === true) { if (has_handler(evt_n).byElement === true) { getElement(element)["on" + evt_n](); } else if (has_handler(evt_n).byJQuery === true) { switch (evt_n) { case "keydown": case "keyup": //key down/up will check later break; default: $("#" + element).triggerHandler(evt_n); break; }; }; return false; }; }; /******************************* navigation **********************************************/ var scrollToIfNeeded = function(opt) { var childid = getPostID("postChildID"); //if scroll is needed opt = (opt !== undefined) ? opt : $("#" + childid + " li." + css.selected); if (opt.length > 0) { var pos = parseInt(($(opt).position().top)); var ch = parseInt($("#" + childid).height()); if (pos > ch) { var top = pos + $("#" + childid).scrollTop() - (ch / 2); $("#" + childid).animate({ scrollTop: top }, 500); }; }; }; var next = function() { var childid = getPostID("postChildID"); var items = $("#" + childid + " li:visible." + css_i.li); var selected = $("#" + childid + " li:visible." + css.selected); selected = (selected.length == 0) ? items[0] : selected; var index = $("#" + childid + " li:visible." + css_i.li).index(selected); if ((index < items.length - 1)) { index = getNext(index); if (index < items.length) { //check again - hack for last disabled if (!shiftHolded || !isList || !isMultiple) { $("#" + childid + " ." + css.selected).removeClass(css.selected); }; $(items[index]).addClass(css.selected); updateTitleUI(index); if (isList == true) { fireAfterItemClicked(); }; scrollToIfNeeded($(items[index])); }; if (!isList) { adjustOpen(); }; }; function getNext(ind) { ind = ind + 1; if (ind > items.length) { return ind; }; if ($(items[ind]).hasClass(css.enabled) === true) { return ind; }; return ind = getNext(ind); }; }; var previous = function() { var childid = getPostID("postChildID"); var selected = $("#" + childid + " li:visible." + css.selected); var items = $("#" + childid + " li:visible." + css_i.li); var index = $("#" + childid + " li:visible." + css_i.li).index(selected[0]); if (index >= 0) { index = getPrev(index); if (index >= 0) { //check again - hack for disabled if (!shiftHolded || !isList || !isMultiple) { $("#" + childid + " ." + css.selected).removeClass(css.selected); }; $(items[index]).addClass(css.selected); updateTitleUI(index); if (isList == true) { fireAfterItemClicked(); }; if (parseInt(($(items[index]).position().top + $(items[index]).height())) <= 0) { var top = ($("#" + childid).scrollTop() - $("#" + childid).height()) - $(items[index]).height(); $("#" + childid).animate({ scrollTop: top }, 500); }; }; if (!isList) { adjustOpen(); }; }; function getPrev(ind) { ind = ind - 1; if (ind < 0) { return ind; }; if ($(items[ind]).hasClass(css.enabled) === true) { return ind; }; return ind = getPrev(ind); }; }; var adjustOpen = function() { var id = getPostID("postID"); var childid = getPostID("postChildID"); var pos = $("#" + id).offset(); var mH = $("#" + id).height(); var wH = $(window).height(); var st = $(window).scrollTop(); var cH = $("#" + childid).height(); var top = $("#" + id).height(); //this close so its title height var direction = settings.openDirection.toLowerCase(); if (((wH + st) < Math.floor(cH + mH + pos.top) || direction == 'alwaysup') && direction != 'alwaysdown') { top = cH; $("#" + childid).css({ top: "-" + top + "px", display: 'block', zIndex: settings.zIndex }); if (settings.roundedCorner == "true") { $("#" + id).removeClass("borderRadius borderRadiusTp").addClass("borderRadiusBtm"); }; var top = $("#" + childid).offset().top; if (top < -10) { $("#" + childid).css({ top: (parseInt($("#" + childid).css("top")) - top + 20 + st) + "px", zIndex: settings.zIndex }); if (settings.roundedCorner == "true") { $("#" + id).removeClass("borderRadiusBtm borderRadiusTp").addClass("borderRadius"); }; }; } else { $("#" + childid).css({ top: top + "px", zIndex: settings.zIndex }); if (settings.roundedCorner == "true") { $("#" + id).removeClass("borderRadius borderRadiusBtm").addClass("borderRadiusTp"); }; }; //hack for ie zindex //i hate ie :D if (isIE) { if (msieversion() <= 7) { $('div.ddcommon').css("zIndex", settings.zIndex - 10); $("#" + id).css("zIndex", settings.zIndex + 5); }; }; }; var open = function(e) { if (isDisabled === true) return false; var id = getPostID("postID"); var childid = getPostID("postChildID"); if (!isOpen) { isOpen = true; if (msBeautify.oldDiv != '') { $("#" + msBeautify.oldDiv).css({ display: "none" }); //hide all }; msBeautify.oldDiv = childid; $("#" + childid + " li:hidden").show(); //show if hidden adjustOpen(); var animStyle = settings.animStyle; if (animStyle == "" || animStyle == "none") { $("#" + childid).css({ display: "block" }); scrollToIfNeeded(); if (typeof settings.on.open == "function") { var d = getDataAndUI(); settings.on.open(d.data, d.ui); }; } else { $("#" + childid)[animStyle]("fast", function() { scrollToIfNeeded(); if (typeof settings.on.open == "function") { var d = getDataAndUI(); settings.on.open(d.data, d.ui); }; }); }; bind_on_events(); } else { if (settings.event !== 'mouseover') { close(); }; }; }; var close = function(e) { isOpen = false; var id = getPostID("postID"); var childid = getPostID("postChildID"); if (isList === false || settings.enableCheckbox === true) { $("#" + childid).css({ display: "none" }); if (settings.roundedCorner == "true") { $("#" + id).removeClass("borderRadiusTp borderRadiusBtm").addClass("borderRadius"); }; }; unbind_on_events(); if (typeof settings.on.close == "function") { var d = getDataAndUI(); settings.on.close(d.data, d.ui); }; //rest some old stuff hideFilterBox(); childHeight(childHeight()); //its needed after filter applied $("#" + childid).css({ zIndex: 1 }); //update the title in case the user clicked outside updateTitleUI(getElement(element).selectedIndex); }; /*********************** </layout> *************************************/ var mergeAllProp = function() { try { orginial = $.extend(true, {}, getElement(element)); for (var i in orginial) { if (typeof orginial[i] != "function") { $this[i] = orginial[i]; //properties }; }; } catch (e) { //silent }; $this.selectedText = (getElement(element).selectedIndex >= 0) ? getElement(element).options[getElement(element).selectedIndex].text : ""; $this.version = msBeautify.version.msDropdown; $this.author = msBeautify.author; }; var getDataAndUIByOption = function(opt) { if (opt != null && typeof opt != "undefined") { var childid = getPostID("postChildID"); var data = parseOption(opt); var ui = $("#" + childid + " li." + css_i.li + ":eq(" + (opt.index) + ")"); return { data: data, ui: ui, option: opt, index: opt.index }; }; return null; }; var getDataAndUI = function() { var childid = getPostID("postChildID"); var ele = getElement(element); var data, ui, option, index; if (ele.selectedIndex == -1) { data = null; ui = null; option = null; index = -1; } else { ui = $("#" + childid + " li." + css.selected); if (ui.length > 1) { var d = [], op = [], ind = []; for (var i = 0; i < ui.length; i++) { var pd = getIndex(ui[i]); d.push(pd); op.push(ele.options[pd]); }; data = d; option = op; index = d; } else { option = ele.options[ele.selectedIndex]; data = parseOption(option); index = ele.selectedIndex; }; }; return { data: data, ui: ui, index: index, option: option }; }; var updateTitleUI = function(index, byvalue) { var titleid = getPostID("postTitleID"); var value = {}; if (index == -1) { value.text = " "; value.className = ""; value.description = ""; value.image = ""; } else if (typeof index != "undefined") { var opt = getElement(element).options[index]; value = parseOption(opt); } else { value = byvalue; }; //update title and current $("#" + titleid).find("." + css.label).html(value.text); getElement(titleid).className = css.ddTitleText + " " + value.className; //update desction if (value.description != "") { $("#" + titleid).find("." + css.description).html(value.description).show(); } else { $("#" + titleid).find("." + css.description).html("").hide(); }; //update icon var img = $("#" + titleid).find("img"); if (img.length > 0) { $(img).remove(); }; if (value.image != "" && settings.showIcon) { img = createElement("img", { src: value.image }); $("#" + titleid).prepend(img); if (value.imagecss != "") { img.className = value.imagecss + " "; }; if (value.description == "") { img.className = img.className + css_i.fnone; }; }; }; var updateProp = function(p, v) { $this[p] = v; }; var updateUI = function(a, opt, i) { //action, index, opt var childid = getPostID("postChildID"); var wasSelected = false; switch (a) { case "add": var li = createChild(opt || getElement(element).options[i]); var index; if (arguments.length == 3) { index = i; } else { index = $("#" + childid + " li." + css_i.li).length - 1; }; if (index < 0 || !index) { $("#" + childid + " ul").append(li); } else { var at = $("#" + childid + " li." + css_i.li)[index]; $(at).before(li); }; removeChildEvents(); applyChildEvents(); if (settings.on.add != null) { settings.on.add.apply(this, arguments); }; break; case "remove": wasSelected = $($("#" + childid + " li." + css_i.li)[i]).hasClass(css.selected); $("#" + childid + " li." + css_i.li + ":eq(" + i + ")").remove(); var items = $("#" + childid + " li." + css.enabled); if (wasSelected == true) { if (items.length > 0) { $(items[0]).addClass(css.selected); var ind = $("#" + childid + " li." + css_i.li).index(items[0]); setValue(ind); }; }; if (items.length == 0) { setValue(-1); }; if ($("#" + childid + " li." + css_i.li).length < settings.visibleRows && !isList) { childHeight(-1); //set autoheight }; if (settings.on.remove != null) { settings.on.remove.apply(this, arguments); }; break; }; }; /************************** public methods/events **********************/ this.act = function() { var action = arguments[0]; Array.prototype.shift.call(arguments); switch (action) { case "add": $this.add.apply(this, arguments); break; case "remove": $this.remove.apply(this, arguments); break; default: try { getElement(element)[action].apply(getElement(element), arguments); } catch (e) { //there is some error. }; break; }; }; this.add = function() { var text, value, title, image, description; var obj = arguments[0]; if (typeof obj == "string") { text = obj; value = text; opt = new Option(text, value); } else { text = obj.text || ''; value = obj.value || text; title = obj.title || ''; image = obj.image || ''; description = obj.description || ''; //image:imagePath, title:title, description:description, value:opt.value, text:opt.text, className:opt.className||"" opt = new Option(text, value); $(opt).data("description", description); $(opt).data("image", image); $(opt).data("title", title); }; arguments[0] = opt; //this option getElement(element).add.apply(getElement(element), arguments); updateProp("children", getElement(element)["children"]); updateProp("length", getElement(element).length); updateUI("add", opt, arguments[1]); }; this.remove = function(i) { getElement(element).remove(i); updateProp("children", getElement(element)["children"]); updateProp("length", getElement(element).length); updateUI("remove", undefined, i); }; this.set = function(prop, val) { if (typeof prop == "undefined" || typeof val == "undefined") return false; prop = prop.toString(); try { updateProp(prop, val); } catch (e) { /*this is ready only */ }; switch (prop) { case "size": getElement(element)[prop] = val; if (val == 0) { getElement(element).multiple = false; //if size is zero multiple should be false }; isList = (getElement(element).size > 1 || getElement(element).multiple == true) ? true : false; fixedForList(); break; case "multiple": getElement(element)[prop] = val; isList = (getElement(element).size > 1 || getElement(element).multiple == true) ? true : false; isMultiple = getElement(element).multiple; fixedForList(); updateProp(prop, val); break; case "disabled": getElement(element)[prop] = val; isDisabled = val; fixedForDisabled(); break; case "selectedIndex": case "value": if (prop == "selectedIndex" && isArray(val) === true) { $("#" + element + " option").prop("selected", false); selectMutipleOptions(val, true); selectUI_LI(val); //setValue is being called from selectMutipleOptions } else { getElement(element)[prop] = val; selectUI_LI(getElement(element).selectedIndex); setValue(getElement(element).selectedIndex); }; break; case "length": var childid = getPostID("postChildID"); if (val < getElement(element).length) { getElement(element)[prop] = val; if (val == 0) { $("#" + childid + " li." + css_i.li).remove(); setValue(-1); } else { $("#" + childid + " li." + css_i.li + ":gt(" + (val - 1) + ")").remove(); if ($("#" + childid + " li." + css.selected).length == 0) { $("#" + childid + " li." + css.enabled + ":eq(0)").addClass(css.selected); }; }; updateProp(prop, val); updateProp("children", getElement(element)["children"]); }; break; case "id": //please i need this. so preventing to change it. will work on this later break; default: //check if this is not a readonly properties try { getElement(element)[prop] = val; updateProp(prop, val); } catch (e) { //silent }; break; }; }; this.get = function(prop) { return $this[prop] || getElement(element)[prop]; //return if local else from original }; this.visible = function(val) { var id = getPostID("postID"); if (val === true) { $("#" + id).show(); } else if (val === false) { $("#" + id).hide(); } else { return ($("#" + id).css("display") == "none") ? false : true; }; }; this.debug = function(v) { msBeautify.debug(v); }; this.close = function() { close(); }; this.open = function() { open(); }; this.showRows = function(r) { if (typeof r == "undefined" || r == 0) { return false; }; settings.visibleRows = r; childHeight(childHeight()); }; this.visibleRows = this.showRows; this.on = function(type, fn) { $("#" + element).on(type, fn); }; this.off = function(type, fn) { $("#" + element).off(type, fn); }; this.addMyEvent = this.on; this.getData = function() { return getDataAndUI() }; this.namedItem = function() { var opt = getElement(element).namedItem.apply(getElement(element), arguments); return getDataAndUIByOption(opt); }; this.item = function() { var opt = getElement(element).item.apply(getElement(element), arguments); return getDataAndUIByOption(opt); }; //v 3.2 this.setIndexByValue = function(val) { this.set("value", val); }; this.destroy = function() { var hidid = getPostID("postElementHolder"); var id = getPostID("postID"); $("#" + id + ", #" + id + " *").off(); getElement(element).tabIndex = getElement(id).tabIndex; $("#" + id).remove(); $("#" + element).parent().replaceWith($("#" + element)); $("#" + element).data("dd", null); }; this.refresh = function() { setValue(getElement(element).selectedIndex); }; //Create msDropDown init(); }; //bind in jquery $.fn.extend({ msDropDown: function(settings) { return this.each(function() { if (!$(this).data('dd')) { var mydropdown = new dd(this, settings); $(this).data('dd', mydropdown); }; }); } }); $.fn.msDropdown = $.fn.msDropDown; //make a copy })(jQuery);msdropdown/jquery.js000064400000244300152325744560010635 0ustar00// $Id: jquery.js,v 1.12.2.3 2008/06/25 09:38:39 goba Exp $ /* * jQuery 1.2.6 - New Wave Javascript * * Copyright (c) 2008 John Resig (jquery.com) * Dual licensed under the MIT (MIT-LICENSE.txt) * and GPL (GPL-LICENSE.txt) licenses. * * Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) * Rev: 5685 */ (function() { var w = window.jQuery, _$ = window.$; var D = window.jQuery = window.$ = function(a, b) { return new D.fn.init(a, b) }; var u = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/, isSimple = /^.[^:#\[\.]*$/, undefined; D.fn = D.prototype = { init: function(d, b) { d = d || document; if (d.nodeType) { this[0] = d; this.length = 1; return this } if (typeof d == "string") { var c = u.exec(d); if (c && (c[1] || !b)) { if (c[1]) d = D.clean([c[1]], b); else { var a = document.getElementById(c[3]); if (a) { if (a.id != c[3]) return D().find(d); return D(a) } d = [] } } else return D(b).find(d) } else if (D.isFunction(d)) return D(document)[D.fn.ready ? "ready" : "load"](d); return this.setArray(D.makeArray(d)) }, jquery: "1.2.6", size: function() { return this.length }, length: 0, get: function(a) { return a == undefined ? D.makeArray(this) : this[a] }, pushStack: function(b) { var a = D(b); a.prevObject = this; return a }, setArray: function(a) { this.length = 0; Array.prototype.push.apply(this, a); return this }, each: function(a, b) { return D.each(this, a, b) }, index: function(b) { var a = -1; return D.inArray(b && b.jquery ? b[0] : b, this) }, attr: function(c, a, b) { var d = c; if (c.constructor == String) if (a === undefined) return this[0] && D[b || "attr"](this[0], c); else { d = {}; d[c] = a } return this.each(function(i) { for (c in d) D.attr(b ? this.style : this, c, D.prop(this, d[c], b, i, c)) }) }, css: function(b, a) { if ((b == 'width' || b == 'height') && parseFloat(a) < 0) a = undefined; return this.attr(b, a, "curCSS") }, text: function(b) { if (typeof b != "object" && b != null) return this.empty().append((this[0] && this[0].ownerDocument || document).createTextNode(b)); var a = ""; D.each(b || this, function() { D.each(this.childNodes, function() { if (this.nodeType != 8) a += this.nodeType != 1 ? this.nodeValue : D.fn.text([this]) }) }); return a }, wrapAll: function(b) { if (this[0]) D(b, this[0].ownerDocument).clone().insertBefore(this[0]).map(function() { var a = this; while (a.firstChild) a = a.firstChild; return a }).append(this); return this }, wrapInner: function(a) { return this.each(function() { D(this).contents().wrapAll(a) }) }, wrap: function(a) { return this.each(function() { D(this).wrapAll(a) }) }, append: function() { return this.domManip(arguments, true, false, function(a) { if (this.nodeType == 1) this.appendChild(a) }) }, prepend: function() { return this.domManip(arguments, true, true, function(a) { if (this.nodeType == 1) this.insertBefore(a, this.firstChild) }) }, before: function() { return this.domManip(arguments, false, false, function(a) { this.parentNode.insertBefore(a, this) }) }, after: function() { return this.domManip(arguments, false, true, function(a) { this.parentNode.insertBefore(a, this.nextSibling) }) }, end: function() { return this.prevObject || D([]) }, find: function(b) { var c = D.map(this, function(a) { return D.find(b, a) }); return this.pushStack(/[^+>] [^+>]/.test(b) || b.indexOf("..") > -1 ? D.unique(c) : c) }, clone: function(e) { var f = this.map(function() { if (D.browser.msie && !D.isXMLDoc(this)) { var a = this.cloneNode(true), container = document.createElement("div"); container.appendChild(a); return D.clean([container.innerHTML])[0] } else return this.cloneNode(true) }); var d = f.find("*").andSelf().each(function() { if (this[E] != undefined) this[E] = null }); if (e === true) this.find("*").andSelf().each(function(i) { if (this.nodeType == 3) return; var c = D.data(this, "events"); for (var a in c) for (var b in c[a]) D.event.add(d[i], a, c[a][b], c[a][b].data) }); return f }, filter: function(b) { return this.pushStack(D.isFunction(b) && D.grep(this, function(a, i) { return b.call(a, i) }) || D.multiFilter(b, this)) }, not: function(b) { if (b.constructor == String) if (isSimple.test(b)) return this.pushStack(D.multiFilter(b, this, true)); else b = D.multiFilter(b, this); var a = b.length && b[b.length - 1] !== undefined && !b.nodeType; return this.filter(function() { return a ? D.inArray(this, b) < 0 : this != b }) }, add: function(a) { return this.pushStack(D.unique(D.merge(this.get(), typeof a == 'string' ? D(a) : D.makeArray(a)))) }, is: function(a) { return !!a && D.multiFilter(a, this).length > 0 }, hasClass: function(a) { return this.is("." + a) }, val: function(b) { if (b == undefined) { if (this.length) { var c = this[0]; if (D.nodeName(c, "select")) { var e = c.selectedIndex, values = [], options = c.options, one = c.type == "select-one"; if (e < 0) return null; for (var i = one ? e : 0, max = one ? e + 1 : options.length; i < max; i++) { var d = options[i]; if (d.selected) { b = D.browser.msie && !d.attributes.value.specified ? d.text : d.value; if (one) return b; values.push(b) } } return values } else return (this[0].value || "").replace(/\r/g, "") } return undefined } if (b.constructor == Number) b += ''; return this.each(function() { if (this.nodeType != 1) return; if (b.constructor == Array && /radio|checkbox/.test(this.type)) this.checked = (D.inArray(this.value, b) >= 0 || D.inArray(this.name, b) >= 0); else if (D.nodeName(this, "select")) { var a = D.makeArray(b); D("option", this).each(function() { this.selected = (D.inArray(this.value, a) >= 0 || D.inArray(this.text, a) >= 0) }); if (!a.length) this.selectedIndex = -1 } else this.value = b }) }, html: function(a) { return a == undefined ? (this[0] ? this[0].innerHTML : null) : this.empty().append(a) }, replaceWith: function(a) { return this.after(a).remove() }, eq: function(i) { return this.slice(i, i + 1) }, slice: function() { return this.pushStack(Array.prototype.slice.apply(this, arguments)) }, map: function(b) { return this.pushStack(D.map(this, function(a, i) { return b.call(a, i, a) })) }, andSelf: function() { return this.add(this.prevObject) }, data: function(d, b) { var a = d.split("."); a[1] = a[1] ? "." + a[1] : ""; if (b === undefined) { var c = this.triggerHandler("getData" + a[1] + "!", [a[0]]); if (c === undefined && this.length) c = D.data(this[0], d); return c === undefined && a[1] ? this.data(a[0]) : c } else return this.trigger("setData" + a[1] + "!", [a[0], b]).each(function() { D.data(this, d, b) }) }, removeData: function(a) { return this.each(function() { D.removeData(this, a) }) }, domManip: function(g, f, h, d) { var e = this.length > 1, elems; return this.each(function() { if (!elems) { elems = D.clean(g, this.ownerDocument); if (h) elems.reverse() } var b = this; if (f && D.nodeName(this, "table") && D.nodeName(elems[0], "tr")) b = this.getElementsByTagName("tbody")[0] || this.appendChild(this.ownerDocument.createElement("tbody")); var c = D([]); D.each(elems, function() { var a = e ? D(this).clone(true)[0] : this; if (D.nodeName(a, "script")) c = c.add(a); else { if (a.nodeType == 1) c = c.add(D("script", a).remove()); d.call(b, a) } }); c.each(evalScript) }) } }; D.fn.init.prototype = D.fn; function evalScript(i, a) { if (a.src) D.ajax({ url: a.src, async: false, dataType: "script" }); else D.globalEval(a.text || a.textContent || a.innerHTML || ""); if (a.parentNode) a.parentNode.removeChild(a) } function now() { return +new Date } D.extend = D.fn.extend = function() { var b = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options; if (b.constructor == Boolean) { deep = b; b = arguments[1] || {}; i = 2 } if (typeof b != "object" && typeof b != "function") b = {}; if (length == i) { b = this; --i } for (; i < length; i++) if ((options = arguments[i]) != null) for (var c in options) { var a = b[c], copy = options[c]; if (b === copy) continue; if (deep && copy && typeof copy == "object" && !copy.nodeType) b[c] = D.extend(deep, a || (copy.length != null ? [] : {}), copy); else if (copy !== undefined) b[c] = copy } return b }; var E = "jQuery" + now(), uuid = 0, windowData = {}, exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i, defaultView = document.defaultView || {}; D.extend({ noConflict: function(a) { window.$ = _$; if (a) window.jQuery = w; return D }, isFunction: function(a) { return !!a && typeof a != "string" && !a.nodeName && a.constructor != Array && /^[\s[]?function/.test(a + "") }, isXMLDoc: function(a) { return a.documentElement && !a.body || a.tagName && a.ownerDocument && !a.ownerDocument.body }, globalEval: function(a) { a = D.trim(a); if (a) { var b = document.getElementsByTagName("head")[0] || document.documentElement, script = document.createElement("script"); script.type = "text/javascript"; if (D.browser.msie) script.text = a; else script.appendChild(document.createTextNode(a)); b.insertBefore(script, b.firstChild); b.removeChild(script) } }, nodeName: function(b, a) { return b.nodeName && b.nodeName.toUpperCase() == a.toUpperCase() }, cache: {}, data: function(c, d, b) { c = c == window ? windowData : c; var a = c[E]; if (!a) a = c[E] = ++uuid; if (d && !D.cache[a]) D.cache[a] = {}; if (b !== undefined) D.cache[a][d] = b; return d ? D.cache[a][d] : a }, removeData: function(c, b) { c = c == window ? windowData : c; var a = c[E]; if (b) { if (D.cache[a]) { delete D.cache[a][b]; b = ""; for (b in D.cache[a]) break; if (!b) D.removeData(c) } } else { try { delete c[E] } catch (e) { if (c.removeAttribute) c.removeAttribute(E) } delete D.cache[a] } }, each: function(d, a, c) { var e, i = 0, length = d.length; if (c) { if (length == undefined) { for (e in d) if (a.apply(d[e], c) === false) break } else for (; i < length;) if (a.apply(d[i++], c) === false) break } else { if (length == undefined) { for (e in d) if (a.call(d[e], e, d[e]) === false) break } else for (var b = d[0]; i < length && a.call(b, i, b) !== false; b = d[++i]) {} } return d }, prop: function(b, a, c, i, d) { if (D.isFunction(a)) a = a.call(b, i); return a && a.constructor == Number && c == "curCSS" && !exclude.test(d) ? a + "px" : a }, className: { add: function(c, b) { D.each((b || "").split(/\s+/), function(i, a) { if (c.nodeType == 1 && !D.className.has(c.className, a)) c.className += (c.className ? " " : "") + a }) }, remove: function(c, b) { if (c.nodeType == 1) c.className = b != undefined ? D.grep(c.className.split(/\s+/), function(a) { return !D.className.has(b, a) }).join(" ") : "" }, has: function(b, a) { return D.inArray(a, (b.className || b).toString().split(/\s+/)) > -1 } }, swap: function(b, c, a) { var e = {}; for (var d in c) { e[d] = b.style[d]; b.style[d] = c[d] } a.call(b); for (var d in c) b.style[d] = e[d] }, css: function(d, e, c) { if (e == "width" || e == "height") { var b, props = { position: "absolute", visibility: "hidden", display: "block" }, which = e == "width" ? ["Left", "Right"] : ["Top", "Bottom"]; function getWH() { b = e == "width" ? d.offsetWidth : d.offsetHeight; var a = 0, border = 0; D.each(which, function() { a += parseFloat(D.curCSS(d, "padding" + this, true)) || 0; border += parseFloat(D.curCSS(d, "border" + this + "Width", true)) || 0 }); b -= Math.round(a + border) } if (D(d).is(":visible")) getWH(); else D.swap(d, props, getWH); return Math.max(0, b) } return D.curCSS(d, e, c) }, curCSS: function(f, l, k) { var e, style = f.style; function color(b) { if (!D.browser.safari) return false; var a = defaultView.getComputedStyle(b, null); return !a || a.getPropertyValue("color") == "" } if (l == "opacity" && D.browser.msie) { e = D.attr(style, "opacity"); return e == "" ? "1" : e } if (D.browser.opera && l == "display") { var d = style.outline; style.outline = "0 solid black"; style.outline = d } if (l.match(/float/i)) l = y; if (!k && style && style[l]) e = style[l]; else if (defaultView.getComputedStyle) { if (l.match(/float/i)) l = "float"; l = l.replace(/([A-Z])/g, "-$1").toLowerCase(); var c = defaultView.getComputedStyle(f, null); if (c && !color(f)) e = c.getPropertyValue(l); else { var g = [], stack = [], a = f, i = 0; for (; a && color(a); a = a.parentNode) stack.unshift(a); for (; i < stack.length; i++) if (color(stack[i])) { g[i] = stack[i].style.display; stack[i].style.display = "block" } e = l == "display" && g[stack.length - 1] != null ? "none" : (c && c.getPropertyValue(l)) || ""; for (i = 0; i < g.length; i++) if (g[i] != null) stack[i].style.display = g[i] } if (l == "opacity" && e == "") e = "1" } else if (f.currentStyle) { var h = l.replace(/\-(\w)/g, function(a, b) { return b.toUpperCase() }); e = f.currentStyle[l] || f.currentStyle[h]; if (!/^\d+(px)?$/i.test(e) && /^\d/.test(e)) { var j = style.left, rsLeft = f.runtimeStyle.left; f.runtimeStyle.left = f.currentStyle.left; style.left = e || 0; e = style.pixelLeft + "px"; style.left = j; f.runtimeStyle.left = rsLeft } } return e }, clean: function(l, h) { var k = []; h = h || document; if (typeof h.createElement == 'undefined') h = h.ownerDocument || h[0] && h[0].ownerDocument || document; D.each(l, function(i, d) { if (!d) return; if (d.constructor == Number) d += ''; if (typeof d == "string") { d = d.replace(/(<(\w+)[^>]*?)\/>/g, function(b, a, c) { return c.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? b : a + "></" + c + ">" }); var f = D.trim(d).toLowerCase(), div = h.createElement("div"); var e = !f.indexOf("<opt") && [1, "<select multiple='multiple'>", "</select>"] || !f.indexOf("<leg") && [1, "<fieldset>", "</fieldset>"] || f.match(/^<(thead|tbody|tfoot|colg|cap)/) && [1, "<table>", "</table>"] || !f.indexOf("<tr") && [2, "<table><tbody>", "</tbody></table>"] || (!f.indexOf("<td") || !f.indexOf("<th")) && [3, "<table><tbody><tr>", "</tr></tbody></table>"] || !f.indexOf("<col") && [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"] || D.browser.msie && [1, "div<div>", "</div>"] || [0, "", ""]; div.innerHTML = e[1] + d + e[2]; while (e[0]--) div = div.lastChild; if (D.browser.msie) { var g = !f.indexOf("<table") && f.indexOf("<tbody") < 0 ? div.firstChild && div.firstChild.childNodes : e[1] == "<table>" && f.indexOf("<tbody") < 0 ? div.childNodes : []; for (var j = g.length - 1; j >= 0; --j) if (D.nodeName(g[j], "tbody") && !g[j].childNodes.length) g[j].parentNode.removeChild(g[j]); if (/^\s/.test(d)) div.insertBefore(h.createTextNode(d.match(/^\s*/)[0]), div.firstChild) } d = D.makeArray(div.childNodes) } if (d.length === 0 && (!D.nodeName(d, "form") && !D.nodeName(d, "select"))) return; if (d[0] == undefined || D.nodeName(d, "form") || d.options) k.push(d); else k = D.merge(k, d) }); return k }, attr: function(d, f, c) { if (!d || d.nodeType == 3 || d.nodeType == 8) return undefined; var e = !D.isXMLDoc(d), set = c !== undefined, msie = D.browser.msie; f = e && D.props[f] || f; if (d.tagName) { var g = /href|src|style/.test(f); if (f == "selected" && D.browser.safari) d.parentNode.selectedIndex; if (f in d && e && !g) { if (set) { if (f == "type" && D.nodeName(d, "input") && d.parentNode) throw "type property can't be changed"; d[f] = c } if (D.nodeName(d, "form") && d.getAttributeNode(f)) return d.getAttributeNode(f).nodeValue; return d[f] } if (msie && e && f == "style") return D.attr(d.style, "cssText", c); if (set) d.setAttribute(f, "" + c); var h = msie && e && g ? d.getAttribute(f, 2) : d.getAttribute(f); return h === null ? undefined : h } if (msie && f == "opacity") { if (set) { d.zoom = 1; d.filter = (d.filter || "").replace(/alpha\([^)]*\)/, "") + (parseInt(c) + '' == "NaN" ? "" : "alpha(opacity=" + c * 100 + ")") } return d.filter && d.filter.indexOf("opacity=") >= 0 ? (parseFloat(d.filter.match(/opacity=([^)]*)/)[1]) / 100) + '' : "" } f = f.replace(/-([a-z])/ig, function(a, b) { return b.toUpperCase() }); if (set) d[f] = c; return d[f] }, trim: function(a) { return (a || "").replace(/^\s+|\s+$/g, "") }, makeArray: function(b) { var a = []; if (b != null) { var i = b.length; if (i == null || b.split || b.setInterval || b.call) a[0] = b; else while (i) a[--i] = b[i] } return a }, inArray: function(b, a) { for (var i = 0, length = a.length; i < length; i++) if (a[i] === b) return i; return -1 }, merge: function(a, b) { var i = 0, elem, pos = a.length; if (D.browser.msie) { while (elem = b[i++]) if (elem.nodeType != 8) a[pos++] = elem } else while (elem = b[i++]) a[pos++] = elem; return a }, unique: function(a) { var c = [], done = {}; try { for (var i = 0, length = a.length; i < length; i++) { var b = D.data(a[i]); if (!done[b]) { done[b] = true; c.push(a[i]) } } } catch (e) { c = a } return c }, grep: function(c, a, d) { var b = []; for (var i = 0, length = c.length; i < length; i++) if (!d != !a(c[i], i)) b.push(c[i]); return b }, map: function(d, a) { var c = []; for (var i = 0, length = d.length; i < length; i++) { var b = a(d[i], i); if (b != null) c[c.length] = b } return c.concat.apply([], c) } }); var v = navigator.userAgent.toLowerCase(); D.browser = { version: (v.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1], safari: /webkit/.test(v), opera: /opera/.test(v), msie: /msie/.test(v) && !/opera/.test(v), mozilla: /mozilla/.test(v) && !/(compatible|webkit)/.test(v) }; var y = D.browser.msie ? "styleFloat" : "cssFloat"; D.extend({ boxModel: !D.browser.msie || document.compatMode == "CSS1Compat", props: { "for": "htmlFor", "class": "className", "float": y, cssFloat: y, styleFloat: y, readonly: "readOnly", maxlength: "maxLength", cellspacing: "cellSpacing" } }); D.each({ parent: function(a) { return a.parentNode }, parents: function(a) { return D.dir(a, "parentNode") }, next: function(a) { return D.nth(a, 2, "nextSibling") }, prev: function(a) { return D.nth(a, 2, "previousSibling") }, nextAll: function(a) { return D.dir(a, "nextSibling") }, prevAll: function(a) { return D.dir(a, "previousSibling") }, siblings: function(a) { return D.sibling(a.parentNode.firstChild, a) }, children: function(a) { return D.sibling(a.firstChild) }, contents: function(a) { return D.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : D.makeArray(a.childNodes) } }, function(c, d) { D.fn[c] = function(b) { var a = D.map(this, d); if (b && typeof b == "string") a = D.multiFilter(b, a); return this.pushStack(D.unique(a)) } }); D.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function(c, b) { D.fn[c] = function() { var a = arguments; return this.each(function() { for (var i = 0, length = a.length; i < length; i++) D(a[i])[b](this) }) } }); D.each({ removeAttr: function(a) { D.attr(this, a, ""); if (this.nodeType == 1) this.removeAttribute(a) }, addClass: function(a) { D.className.add(this, a) }, removeClass: function(a) { D.className.remove(this, a) }, toggleClass: function(a) { D.className[D.className.has(this, a) ? "remove" : "add"](this, a) }, remove: function(a) { if (!a || D.filter(a, [this]).r.length) { D("*", this).add(this).each(function() { D.event.remove(this); D.removeData(this) }); if (this.parentNode) this.parentNode.removeChild(this) } }, empty: function() { D(">*", this).remove(); while (this.firstChild) this.removeChild(this.firstChild) } }, function(a, b) { D.fn[a] = function() { return this.each(b, arguments) } }); D.each(["Height", "Width"], function(i, c) { var b = c.toLowerCase(); D.fn[b] = function(a) { return this[0] == window ? D.browser.opera && document.body["client" + c] || D.browser.safari && window["inner" + c] || document.compatMode == "CSS1Compat" && document.documentElement["client" + c] || document.body["client" + c] : this[0] == document ? Math.max(Math.max(document.body["scroll" + c], document.documentElement["scroll" + c]), Math.max(document.body["offset" + c], document.documentElement["offset" + c])) : a == undefined ? (this.length ? D.css(this[0], b) : null) : this.css(b, a.constructor == String ? a : a + "px") } }); function num(a, b) { return a[0] && parseInt(D.curCSS(a[0], b, true), 10) || 0 } var C = D.browser.safari && parseInt(D.browser.version) < 417 ? "(?:[\\w*_-]|\\\\.)" : "(?:[\\w\u0128-\uFFFF*_-]|\\\\.)", quickChild = new RegExp("^>\\s*(" + C + "+)"), quickID = new RegExp("^(" + C + "+)(#)(" + C + "+)"), quickClass = new RegExp("^([#.]?)(" + C + "*)"); D.extend({ expr: { "": function(a, i, m) { return m[2] == "*" || D.nodeName(a, m[2]) }, "#": function(a, i, m) { return a.getAttribute("id") == m[2] }, ":": { lt: function(a, i, m) { return i < m[3] - 0 }, gt: function(a, i, m) { return i > m[3] - 0 }, nth: function(a, i, m) { return m[3] - 0 == i }, eq: function(a, i, m) { return m[3] - 0 == i }, first: function(a, i) { return i == 0 }, last: function(a, i, m, r) { return i == r.length - 1 }, even: function(a, i) { return i % 2 == 0 }, odd: function(a, i) { return i % 2 }, "first-child": function(a) { return a.parentNode.getElementsByTagName("*")[0] == a }, "last-child": function(a) { return D.nth(a.parentNode.lastChild, 1, "previousSibling") == a }, "only-child": function(a) { return !D.nth(a.parentNode.lastChild, 2, "previousSibling") }, parent: function(a) { return a.firstChild }, empty: function(a) { return !a.firstChild }, contains: function(a, i, m) { return (a.textContent || a.innerText || D(a).text() || "").indexOf(m[3]) >= 0 }, visible: function(a) { return "hidden" != a.type && D.css(a, "display") != "none" && D.css(a, "visibility") != "hidden" }, hidden: function(a) { return "hidden" == a.type || D.css(a, "display") == "none" || D.css(a, "visibility") == "hidden" }, enabled: function(a) { return !a.disabled }, disabled: function(a) { return a.disabled }, checked: function(a) { return a.checked }, selected: function(a) { return a.selected || D.attr(a, "selected") }, text: function(a) { return "text" == a.type }, radio: function(a) { return "radio" == a.type }, checkbox: function(a) { return "checkbox" == a.type }, file: function(a) { return "file" == a.type }, password: function(a) { return "password" == a.type }, submit: function(a) { return "submit" == a.type }, image: function(a) { return "image" == a.type }, reset: function(a) { return "reset" == a.type }, button: function(a) { return "button" == a.type || D.nodeName(a, "button") }, input: function(a) { return /input|select|textarea|button/i.test(a.nodeName) }, has: function(a, i, m) { return D.find(m[3], a).length }, header: function(a) { return /h\d/i.test(a.nodeName) }, animated: function(a) { return D.grep(D.timers, function(b) { return a == b.elem }).length } } }, parse: [/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/, /^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/, new RegExp("^([:.#]*)(" + C + "+)")], multiFilter: function(a, c, b) { var d, cur = []; while (a && a != d) { d = a; var f = D.filter(a, c, b); a = f.t.replace(/^\s*,\s*/, ""); cur = b ? c = f.r : D.merge(cur, f.r) } return cur }, find: function(t, o) { if (typeof t != "string") return [t]; if (o && o.nodeType != 1 && o.nodeType != 9) return []; o = o || document; var d = [o], done = [], last, nodeName; while (t && last != t) { var r = []; last = t; t = D.trim(t); var l = false, re = quickChild, m = re.exec(t); if (m) { nodeName = m[1].toUpperCase(); for (var i = 0; d[i]; i++) for (var c = d[i].firstChild; c; c = c.nextSibling) if (c.nodeType == 1 && (nodeName == "*" || c.nodeName.toUpperCase() == nodeName)) r.push(c); d = r; t = t.replace(re, ""); if (t.indexOf(" ") == 0) continue; l = true } else { re = /^([>+~])\s*(\w*)/i; if ((m = re.exec(t)) != null) { r = []; var k = {}; nodeName = m[2].toUpperCase(); m = m[1]; for (var j = 0, rl = d.length; j < rl; j++) { var n = m == "~" || m == "+" ? d[j].nextSibling : d[j].firstChild; for (; n; n = n.nextSibling) if (n.nodeType == 1) { var g = D.data(n); if (m == "~" && k[g]) break; if (!nodeName || n.nodeName.toUpperCase() == nodeName) { if (m == "~") k[g] = true; r.push(n) } if (m == "+") break } } d = r; t = D.trim(t.replace(re, "")); l = true } } if (t && !l) { if (!t.indexOf(",")) { if (o == d[0]) d.shift(); done = D.merge(done, d); r = d = [o]; t = " " + t.substr(1, t.length) } else { var h = quickID; var m = h.exec(t); if (m) { m = [0, m[2], m[3], m[1]] } else { h = quickClass; m = h.exec(t) } m[2] = m[2].replace(/\\/g, ""); var f = d[d.length - 1]; if (m[1] == "#" && f && f.getElementById && !D.isXMLDoc(f)) { var p = f.getElementById(m[2]); if ((D.browser.msie || D.browser.opera) && p && typeof p.id == "string" && p.id != m[2]) p = D('[@id="' + m[2] + '"]', f)[0]; d = r = p && (!m[3] || D.nodeName(p, m[3])) ? [p] : [] } else { for (var i = 0; d[i]; i++) { var a = m[1] == "#" && m[3] ? m[3] : m[1] != "" || m[0] == "" ? "*" : m[2]; if (a == "*" && d[i].nodeName.toLowerCase() == "object") a = "param"; r = D.merge(r, d[i].getElementsByTagName(a)) } if (m[1] == ".") r = D.classFilter(r, m[2]); if (m[1] == "#") { var e = []; for (var i = 0; r[i]; i++) if (r[i].getAttribute("id") == m[2]) { e = [r[i]]; break } r = e } d = r } t = t.replace(h, "") } } if (t) { var b = D.filter(t, r); d = r = b.r; t = D.trim(b.t) } } if (t) d = []; if (d && o == d[0]) d.shift(); done = D.merge(done, d); return done }, classFilter: function(r, m, a) { m = " " + m + " "; var c = []; for (var i = 0; r[i]; i++) { var b = (" " + r[i].className + " ").indexOf(m) >= 0; if (!a && b || a && !b) c.push(r[i]) } return c }, filter: function(t, r, h) { var d; while (t && t != d) { d = t; var p = D.parse, m; for (var i = 0; p[i]; i++) { m = p[i].exec(t); if (m) { t = t.substring(m[0].length); m[2] = m[2].replace(/\\/g, ""); break } } if (!m) break; if (m[1] == ":" && m[2] == "not") r = isSimple.test(m[3]) ? D.filter(m[3], r, true).r : D(r).not(m[3]); else if (m[1] == ".") r = D.classFilter(r, m[2], h); else if (m[1] == "[") { var g = [], type = m[3]; for (var i = 0, rl = r.length; i < rl; i++) { var a = r[i], z = a[D.props[m[2]] || m[2]]; if (z == null || /href|src|selected/.test(m[2])) z = D.attr(a, m[2]) || ''; if ((type == "" && !!z || type == "=" && z == m[5] || type == "!=" && z != m[5] || type == "^=" && z && !z.indexOf(m[5]) || type == "$=" && z.substr(z.length - m[5].length) == m[5] || (type == "*=" || type == "~=") && z.indexOf(m[5]) >= 0) ^ h) g.push(a) } r = g } else if (m[1] == ":" && m[2] == "nth-child") { var e = {}, g = [], test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3] == "even" && "2n" || m[3] == "odd" && "2n+1" || !/\D/.test(m[3]) && "0n+" + m[3] || m[3]), first = (test[1] + (test[2] || 1)) - 0, d = test[3] - 0; for (var i = 0, rl = r.length; i < rl; i++) { var j = r[i], parentNode = j.parentNode, id = D.data(parentNode); if (!e[id]) { var c = 1; for (var n = parentNode.firstChild; n; n = n.nextSibling) if (n.nodeType == 1) n.nodeIndex = c++; e[id] = true } var b = false; if (first == 0) { if (j.nodeIndex == d) b = true } else if ((j.nodeIndex - d) % first == 0 && (j.nodeIndex - d) / first >= 0) b = true; if (b ^ h) g.push(j) } r = g } else { var f = D.expr[m[1]]; if (typeof f == "object") f = f[m[2]]; if (typeof f == "string") f = eval("false||function(a,i){return " + f + ";}"); r = D.grep(r, function(a, i) { return f(a, i, m, r) }, h) } } return { r: r, t: t } }, dir: function(b, c) { var a = [], cur = b[c]; while (cur && cur != document) { if (cur.nodeType == 1) a.push(cur); cur = cur[c] } return a }, nth: function(a, e, c, b) { e = e || 1; var d = 0; for (; a; a = a[c]) if (a.nodeType == 1 && ++d == e) break; return a }, sibling: function(n, a) { var r = []; for (; n; n = n.nextSibling) { if (n.nodeType == 1 && n != a) r.push(n) } return r } }); D.event = { add: function(f, i, g, e) { if (f.nodeType == 3 || f.nodeType == 8) return; if (D.browser.msie && f.setInterval) f = window; if (!g.guid) g.guid = this.guid++; if (e != undefined) { var h = g; g = this.proxy(h, function() { return h.apply(this, arguments) }); g.data = e } var j = D.data(f, "events") || D.data(f, "events", {}), handle = D.data(f, "handle") || D.data(f, "handle", function() { if (typeof D != "undefined" && !D.event.triggered) return D.event.handle.apply(arguments.callee.elem, arguments) }); handle.elem = f; D.each(i.split(/\s+/), function(c, b) { var a = b.split("."); b = a[0]; g.type = a[1]; var d = j[b]; if (!d) { d = j[b] = {}; if (!D.event.special[b] || D.event.special[b].setup.call(f) === false) { if (f.addEventListener) f.addEventListener(b, handle, false); else if (f.attachEvent) f.attachEvent("on" + b, handle) } } d[g.guid] = g; D.event.global[b] = true }); f = null }, guid: 1, global: {}, remove: function(e, h, f) { if (e.nodeType == 3 || e.nodeType == 8) return; var i = D.data(e, "events"), ret, index; if (i) { if (h == undefined || (typeof h == "string" && h.charAt(0) == ".")) for (var g in i) this.remove(e, g + (h || "")); else { if (h.type) { f = h.handler; h = h.type } D.each(h.split(/\s+/), function(b, a) { var c = a.split("."); a = c[0]; if (i[a]) { if (f) delete i[a][f.guid]; else for (f in i[a]) if (!c[1] || i[a][f].type == c[1]) delete i[a][f]; for (ret in i[a]) break; if (!ret) { if (!D.event.special[a] || D.event.special[a].teardown.call(e) === false) { if (e.removeEventListener) e.removeEventListener(a, D.data(e, "handle"), false); else if (e.detachEvent) e.detachEvent("on" + a, D.data(e, "handle")) } ret = null; delete i[a] } } }) } for (ret in i) break; if (!ret) { var d = D.data(e, "handle"); if (d) d.elem = null; D.removeData(e, "events"); D.removeData(e, "handle") } } }, trigger: function(h, c, f, g, i) { c = D.makeArray(c); if (h.indexOf("!") >= 0) { h = h.slice(0, -1); var a = true } if (!f) { if (this.global[h]) D("*").add([window, document]).trigger(h, c) } else { if (f.nodeType == 3 || f.nodeType == 8) return undefined; var b, ret, fn = D.isFunction(f[h] || null), event = !c[0] || !c[0].preventDefault; if (event) { c.unshift({ type: h, target: f, preventDefault: function() {}, stopPropagation: function() {}, timeStamp: now() }); c[0][E] = true } c[0].type = h; if (a) c[0].exclusive = true; var d = D.data(f, "handle"); if (d) b = d.apply(f, c); if ((!fn || (D.nodeName(f, 'a') && h == "click")) && f["on" + h] && f["on" + h].apply(f, c) === false) b = false; if (event) c.shift(); if (i && D.isFunction(i)) { ret = i.apply(f, b == null ? c : c.concat(b)); if (ret !== undefined) b = ret } if (fn && g !== false && b !== false && !(D.nodeName(f, 'a') && h == "click")) { this.triggered = true; try { f[h]() } catch (e) {} } this.triggered = false } return b }, handle: function(b) { var a, ret, namespace, all, handlers; b = arguments[0] = D.event.fix(b || window.event); namespace = b.type.split("."); b.type = namespace[0]; namespace = namespace[1]; all = !namespace && !b.exclusive; handlers = (D.data(this, "events") || {})[b.type]; for (var j in handlers) { var c = handlers[j]; if (all || c.type == namespace) { b.handler = c; b.data = c.data; ret = c.apply(this, arguments); if (a !== false) a = ret; if (ret === false) { b.preventDefault(); b.stopPropagation() } } } return a }, fix: function(b) { if (b[E] == true) return b; var d = b; b = { originalEvent: d }; var c = "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" "); for (var i = c.length; i; i--) b[c[i]] = d[c[i]]; b[E] = true; b.preventDefault = function() { if (d.preventDefault) d.preventDefault(); d.returnValue = false }; b.stopPropagation = function() { if (d.stopPropagation) d.stopPropagation(); d.cancelBubble = true }; b.timeStamp = b.timeStamp || now(); if (!b.target) b.target = b.srcElement || document; if (b.target.nodeType == 3) b.target = b.target.parentNode; if (!b.relatedTarget && b.fromElement) b.relatedTarget = b.fromElement == b.target ? b.toElement : b.fromElement; if (b.pageX == null && b.clientX != null) { var a = document.documentElement, body = document.body; b.pageX = b.clientX + (a && a.scrollLeft || body && body.scrollLeft || 0) - (a.clientLeft || 0); b.pageY = b.clientY + (a && a.scrollTop || body && body.scrollTop || 0) - (a.clientTop || 0) } if (!b.which && ((b.charCode || b.charCode === 0) ? b.charCode : b.keyCode)) b.which = b.charCode || b.keyCode; if (!b.metaKey && b.ctrlKey) b.metaKey = b.ctrlKey; if (!b.which && b.button) b.which = (b.button & 1 ? 1 : (b.button & 2 ? 3 : (b.button & 4 ? 2 : 0))); return b }, proxy: function(a, b) { b.guid = a.guid = a.guid || b.guid || this.guid++; return b }, special: { ready: { setup: function() { bindReady(); return }, teardown: function() { return } }, mouseenter: { setup: function() { if (D.browser.msie) return false; D(this).bind("mouseover", D.event.special.mouseenter.handler); return true }, teardown: function() { if (D.browser.msie) return false; D(this).unbind("mouseover", D.event.special.mouseenter.handler); return true }, handler: function(a) { if (F(a, this)) return true; a.type = "mouseenter"; return D.event.handle.apply(this, arguments) } }, mouseleave: { setup: function() { if (D.browser.msie) return false; D(this).bind("mouseout", D.event.special.mouseleave.handler); return true }, teardown: function() { if (D.browser.msie) return false; D(this).unbind("mouseout", D.event.special.mouseleave.handler); return true }, handler: function(a) { if (F(a, this)) return true; a.type = "mouseleave"; return D.event.handle.apply(this, arguments) } } } }; D.fn.extend({ bind: function(c, a, b) { return c == "unload" ? this.one(c, a, b) : this.each(function() { D.event.add(this, c, b || a, b && a) }) }, one: function(d, b, c) { var e = D.event.proxy(c || b, function(a) { D(this).unbind(a, e); return (c || b).apply(this, arguments) }); return this.each(function() { D.event.add(this, d, e, c && b) }) }, unbind: function(a, b) { return this.each(function() { D.event.remove(this, a, b) }) }, trigger: function(c, a, b) { return this.each(function() { D.event.trigger(c, a, this, true, b) }) }, triggerHandler: function(c, a, b) { return this[0] && D.event.trigger(c, a, this[0], false, b) }, toggle: function(b) { var c = arguments, i = 1; while (i < c.length) D.event.proxy(b, c[i++]); return this.click(D.event.proxy(b, function(a) { this.lastToggle = (this.lastToggle || 0) % i; a.preventDefault(); return c[this.lastToggle++].apply(this, arguments) || false })) }, hover: function(a, b) { return this.bind('mouseenter', a).bind('mouseleave', b) }, ready: function(a) { bindReady(); if (D.isReady) a.call(document, D); else D.readyList.push(function() { return a.call(this, D) }); return this } }); D.extend({ isReady: false, readyList: [], ready: function() { if (!D.isReady) { D.isReady = true; if (D.readyList) { D.each(D.readyList, function() { this.call(document) }); D.readyList = null } D(document).triggerHandler("ready") } } }); var x = false; function bindReady() { if (x) return; x = true; if (document.addEventListener && !D.browser.opera) document.addEventListener("DOMContentLoaded", D.ready, false); if (D.browser.msie && window == top)(function() { if (D.isReady) return; try { document.documentElement.doScroll("left") } catch (error) { setTimeout(arguments.callee, 0); return } D.ready() })(); if (D.browser.opera) document.addEventListener("DOMContentLoaded", function() { if (D.isReady) return; for (var i = 0; i < document.styleSheets.length; i++) if (document.styleSheets[i].disabled) { setTimeout(arguments.callee, 0); return } D.ready() }, false); if (D.browser.safari) { var a; (function() { if (D.isReady) return; if (document.readyState != "loaded" && document.readyState != "complete") { setTimeout(arguments.callee, 0); return } if (a === undefined) a = D("style, link[rel=stylesheet]").length; if (document.styleSheets.length != a) { setTimeout(arguments.callee, 0); return } D.ready() })() } D.event.add(window, "load", D.ready) } D.each(("blur,focus,load,resize,scroll,unload,click,dblclick," + "mousedown,mouseup,mousemove,mouseover,mouseout,change,select," + "submit,keydown,keypress,keyup,error").split(","), function(i, b) { D.fn[b] = function(a) { return a ? this.bind(b, a) : this.trigger(b) } }); var F = function(a, c) { var b = a.relatedTarget; while (b && b != c) try { b = b.parentNode } catch (error) { b = c } return b == c }; D(window).bind("unload", function() { D("*").add(document).unbind() }); D.fn.extend({ _load: D.fn.load, load: function(g, d, c) { if (typeof g != 'string') return this._load(g); var e = g.indexOf(" "); if (e >= 0) { var i = g.slice(e, g.length); g = g.slice(0, e) } c = c || function() {}; var f = "GET"; if (d) if (D.isFunction(d)) { c = d; d = null } else { d = D.param(d); f = "POST" } var h = this; D.ajax({ url: g, type: f, dataType: "html", data: d, complete: function(a, b) { if (b == "success" || b == "notmodified") h.html(i ? D("<div/>").append(a.responseText.replace(/<script(.|\s)*?\/script>/g, "")).find(i) : a.responseText); h.each(c, [a.responseText, b, a]) } }); return this }, serialize: function() { return D.param(this.serializeArray()) }, serializeArray: function() { return this.map(function() { return D.nodeName(this, "form") ? D.makeArray(this.elements) : this }).filter(function() { return this.name && !this.disabled && (this.checked || /select|textarea/i.test(this.nodeName) || /text|hidden|password/i.test(this.type)) }).map(function(i, c) { var b = D(this).val(); return b == null ? null : b.constructor == Array ? D.map(b, function(a, i) { return { name: c.name, value: a } }) : { name: c.name, value: b } }).get() } }); D.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function(i, o) { D.fn[o] = function(f) { return this.bind(o, f) } }); var B = now(); D.extend({ get: function(d, b, a, c) { if (D.isFunction(b)) { a = b; b = null } return D.ajax({ type: "GET", url: d, data: b, success: a, dataType: c }) }, getScript: function(b, a) { return D.get(b, null, a, "script") }, getJSON: function(c, b, a) { return D.get(c, b, a, "json") }, post: function(d, b, a, c) { if (D.isFunction(b)) { a = b; b = {} } return D.ajax({ type: "POST", url: d, data: b, success: a, dataType: c }) }, ajaxSetup: function(a) { D.extend(D.ajaxSettings, a) }, ajaxSettings: { url: location.href, global: true, type: "GET", timeout: 0, contentType: "application/x-www-form-urlencoded", processData: true, async: true, data: null, username: null, password: null, accepts: { xml: "application/xml, text/xml", html: "text/html", script: "text/javascript, application/javascript", json: "application/json, text/javascript", text: "text/plain", _default: "*/*" } }, lastModified: {}, ajax: function(s) { s = D.extend(true, s, D.extend(true, {}, D.ajaxSettings, s)); var g, jsre = /=\?(&|$)/g, status, data, type = s.type.toUpperCase(); if (s.data && s.processData && typeof s.data != "string") s.data = D.param(s.data); if (s.dataType == "jsonp") { if (type == "GET") { if (!s.url.match(jsre)) s.url += (s.url.match(/\?/) ? "&" : "?") + (s.jsonp || "callback") + "=?" } else if (!s.data || !s.data.match(jsre)) s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?"; s.dataType = "json" } if (s.dataType == "json" && (s.data && s.data.match(jsre) || s.url.match(jsre))) { g = "jsonp" + B++; if (s.data) s.data = (s.data + "").replace(jsre, "=" + g + "$1"); s.url = s.url.replace(jsre, "=" + g + "$1"); s.dataType = "script"; window[g] = function(a) { data = a; success(); complete(); window[g] = undefined; try { delete window[g] } catch (e) {} if (i) i.removeChild(h) } } if (s.dataType == "script" && s.cache == null) s.cache = false; if (s.cache === false && type == "GET") { var j = now(); var k = s.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + j + "$2"); s.url = k + ((k == s.url) ? (s.url.match(/\?/) ? "&" : "?") + "_=" + j : "") } if (s.data && type == "GET") { s.url += (s.url.match(/\?/) ? "&" : "?") + s.data; s.data = null } if (s.global && !D.active++) D.event.trigger("ajaxStart"); var n = /^(?:\w+:)?\/\/([^\/?#]+)/; if (s.dataType == "script" && type == "GET" && n.test(s.url) && n.exec(s.url)[1] != location.host) { var i = document.getElementsByTagName("head")[0]; var h = document.createElement("script"); h.src = s.url; if (s.scriptCharset) h.charset = s.scriptCharset; if (!g) { var l = false; h.onload = h.onreadystatechange = function() { if (!l && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) { l = true; success(); complete(); i.removeChild(h) } } } i.appendChild(h); return undefined } var m = false; var c = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); if (s.username) c.open(type, s.url, s.async, s.username, s.password); else c.open(type, s.url, s.async); try { if (s.data) c.setRequestHeader("Content-Type", s.contentType); if (s.ifModified) c.setRequestHeader("If-Modified-Since", D.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT"); c.setRequestHeader("X-Requested-With", "XMLHttpRequest"); c.setRequestHeader("Accept", s.dataType && s.accepts[s.dataType] ? s.accepts[s.dataType] + ", */*" : s.accepts._default) } catch (e) {} if (s.beforeSend && s.beforeSend(c, s) === false) { s.global && D.active--; c.abort(); return false } if (s.global) D.event.trigger("ajaxSend", [c, s]); var d = function(a) { if (!m && c && (c.readyState == 4 || a == "timeout")) { m = true; if (f) { clearInterval(f); f = null } status = a == "timeout" && "timeout" || !D.httpSuccess(c) && "error" || s.ifModified && D.httpNotModified(c, s.url) && "notmodified" || "success"; if (status == "success") { try { data = D.httpData(c, s.dataType, s.dataFilter) } catch (e) { status = "parsererror" } } if (status == "success") { var b; try { b = c.getResponseHeader("Last-Modified") } catch (e) {} if (s.ifModified && b) D.lastModified[s.url] = b; if (!g) success() } else D.handleError(s, c, status); complete(); if (s.async) c = null } }; if (s.async) { var f = setInterval(d, 13); if (s.timeout > 0) setTimeout(function() { if (c) { c.abort(); if (!m) d("timeout") } }, s.timeout) } try { c.send(s.data) } catch (e) { D.handleError(s, c, null, e) } if (!s.async) d(); function success() { if (s.success) s.success(data, status); if (s.global) D.event.trigger("ajaxSuccess", [c, s]) } function complete() { if (s.complete) s.complete(c, status); if (s.global) D.event.trigger("ajaxComplete", [c, s]); if (s.global && !--D.active) D.event.trigger("ajaxStop") } return c }, handleError: function(s, a, b, e) { if (s.error) s.error(a, b, e); if (s.global) D.event.trigger("ajaxError", [a, s, e]) }, active: 0, httpSuccess: function(a) { try { return !a.status && location.protocol == "file:" || (a.status >= 200 && a.status < 300) || a.status == 304 || a.status == 1223 || D.browser.safari && a.status == undefined } catch (e) {} return false }, httpNotModified: function(a, c) { try { var b = a.getResponseHeader("Last-Modified"); return a.status == 304 || b == D.lastModified[c] || D.browser.safari && a.status == undefined } catch (e) {} return false }, httpData: function(a, c, b) { var d = a.getResponseHeader("content-type"), xml = c == "xml" || !c && d && d.indexOf("xml") >= 0, data = xml ? a.responseXML : a.responseText; if (xml && data.documentElement.tagName == "parsererror") throw "parsererror"; if (b) data = b(data, c); if (c == "script") D.globalEval(data); if (c == "json") data = eval("(" + data + ")"); return data }, param: function(a) { var s = []; if (a.constructor == Array || a.jquery) D.each(a, function() { s.push(encodeURIComponent(this.name) + "=" + encodeURIComponent(this.value)) }); else for (var j in a) if (a[j] && a[j].constructor == Array) D.each(a[j], function() { s.push(encodeURIComponent(j) + "=" + encodeURIComponent(this)) }); else s.push(encodeURIComponent(j) + "=" + encodeURIComponent(D.isFunction(a[j]) ? a[j]() : a[j])); return s.join("&").replace(/%20/g, "+") } }); D.fn.extend({ show: function(c, b) { return c ? this.animate({ height: "show", width: "show", opacity: "show" }, c, b) : this.filter(":hidden").each(function() { this.style.display = this.oldblock || ""; if (D.css(this, "display") == "none") { var a = D("<" + this.tagName + " />").appendTo("body"); this.style.display = a.css("display"); if (this.style.display == "none") this.style.display = "block"; a.remove() } }).end() }, hide: function(b, a) { return b ? this.animate({ height: "hide", width: "hide", opacity: "hide" }, b, a) : this.filter(":visible").each(function() { this.oldblock = this.oldblock || D.css(this, "display"); this.style.display = "none" }).end() }, _toggle: D.fn.toggle, toggle: function(a, b) { return D.isFunction(a) && D.isFunction(b) ? this._toggle.apply(this, arguments) : a ? this.animate({ height: "toggle", width: "toggle", opacity: "toggle" }, a, b) : this.each(function() { D(this)[D(this).is(":hidden") ? "show" : "hide"]() }) }, slideDown: function(b, a) { return this.animate({ height: "show" }, b, a) }, slideUp: function(b, a) { return this.animate({ height: "hide" }, b, a) }, slideToggle: function(b, a) { return this.animate({ height: "toggle" }, b, a) }, fadeIn: function(b, a) { return this.animate({ opacity: "show" }, b, a) }, fadeOut: function(b, a) { return this.animate({ opacity: "hide" }, b, a) }, fadeTo: function(c, a, b) { return this.animate({ opacity: a }, c, b) }, animate: function(k, j, i, g) { var h = D.speed(j, i, g); return this[h.queue === false ? "each" : "queue"](function() { if (this.nodeType != 1) return false; var f = D.extend({}, h), p, hidden = D(this).is(":hidden"), self = this; for (p in k) { if (k[p] == "hide" && hidden || k[p] == "show" && !hidden) return f.complete.call(this); if (p == "height" || p == "width") { f.display = D.css(this, "display"); f.overflow = this.style.overflow } } if (f.overflow != null) this.style.overflow = "hidden"; f.curAnim = D.extend({}, k); D.each(k, function(c, a) { var e = new D.fx(self, f, c); if (/toggle|show|hide/.test(a)) e[a == "toggle" ? hidden ? "show" : "hide" : a](k); else { var b = a.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/), start = e.cur(true) || 0; if (b) { var d = parseFloat(b[2]), unit = b[3] || "px"; if (unit != "px") { self.style[c] = (d || 1) + unit; start = ((d || 1) / e.cur(true)) * start; self.style[c] = start + unit } if (b[1]) d = ((b[1] == "-=" ? -1 : 1) * d) + start; e.custom(start, d, unit) } else e.custom(start, a, "") } }); return true }) }, queue: function(a, b) { if (D.isFunction(a) || (a && a.constructor == Array)) { b = a; a = "fx" } if (!a || (typeof a == "string" && !b)) return A(this[0], a); return this.each(function() { if (b.constructor == Array) A(this, a, b); else { A(this, a).push(b); if (A(this, a).length == 1) b.call(this) } }) }, stop: function(b, c) { var a = D.timers; if (b) this.queue([]); this.each(function() { for (var i = a.length - 1; i >= 0; i--) if (a[i].elem == this) { if (c) a[i](true); a.splice(i, 1) } }); if (!c) this.dequeue(); return this } }); var A = function(b, c, a) { if (b) { c = c || "fx"; var q = D.data(b, c + "queue"); if (!q || a) q = D.data(b, c + "queue", D.makeArray(a)) } return q }; D.fn.dequeue = function(a) { a = a || "fx"; return this.each(function() { var q = A(this, a); q.shift(); if (q.length) q[0].call(this) }) }; D.extend({ speed: function(b, a, c) { var d = b && b.constructor == Object ? b : { complete: c || !c && a || D.isFunction(b) && b, duration: b, easing: c && a || a && a.constructor != Function && a }; d.duration = (d.duration && d.duration.constructor == Number ? d.duration : D.fx.speeds[d.duration]) || D.fx.speeds.def; d.old = d.complete; d.complete = function() { if (d.queue !== false) D(this).dequeue(); if (D.isFunction(d.old)) d.old.call(this) }; return d }, easing: { linear: function(p, n, b, a) { return b + a * p }, swing: function(p, n, b, a) { return ((-Math.cos(p * Math.PI) / 2) + 0.5) * a + b } }, timers: [], timerId: null, fx: function(b, c, a) { this.options = c; this.elem = b; this.prop = a; if (!c.orig) c.orig = {} } }); D.fx.prototype = { update: function() { if (this.options.step) this.options.step.call(this.elem, this.now, this); (D.fx.step[this.prop] || D.fx.step._default)(this); if (this.prop == "height" || this.prop == "width") this.elem.style.display = "block" }, cur: function(a) { if (this.elem[this.prop] != null && this.elem.style[this.prop] == null) return this.elem[this.prop]; var r = parseFloat(D.css(this.elem, this.prop, a)); return r && r > -10000 ? r : parseFloat(D.curCSS(this.elem, this.prop)) || 0 }, custom: function(c, b, d) { this.startTime = now(); this.start = c; this.end = b; this.unit = d || this.unit || "px"; this.now = this.start; this.pos = this.state = 0; this.update(); var e = this; function t(a) { return e.step(a) } t.elem = this.elem; D.timers.push(t); if (D.timerId == null) { D.timerId = setInterval(function() { var a = D.timers; for (var i = 0; i < a.length; i++) if (!a[i]()) a.splice(i--, 1); if (!a.length) { clearInterval(D.timerId); D.timerId = null } }, 13) } }, show: function() { this.options.orig[this.prop] = D.attr(this.elem.style, this.prop); this.options.show = true; this.custom(0, this.cur()); if (this.prop == "width" || this.prop == "height") this.elem.style[this.prop] = "1px"; D(this.elem).show() }, hide: function() { this.options.orig[this.prop] = D.attr(this.elem.style, this.prop); this.options.hide = true; this.custom(this.cur(), 0) }, step: function(a) { var t = now(); if (a || t > this.options.duration + this.startTime) { this.now = this.end; this.pos = this.state = 1; this.update(); this.options.curAnim[this.prop] = true; var b = true; for (var i in this.options.curAnim) if (this.options.curAnim[i] !== true) b = false; if (b) { if (this.options.display != null) { this.elem.style.overflow = this.options.overflow; this.elem.style.display = this.options.display; if (D.css(this.elem, "display") == "none") this.elem.style.display = "block" } if (this.options.hide) this.elem.style.display = "none"; if (this.options.hide || this.options.show) for (var p in this.options.curAnim) D.attr(this.elem.style, p, this.options.orig[p]) } if (b) this.options.complete.call(this.elem); return false } else { var n = t - this.startTime; this.state = n / this.options.duration; this.pos = D.easing[this.options.easing || (D.easing.swing ? "swing" : "linear")](this.state, n, 0, 1, this.options.duration); this.now = this.start + ((this.end - this.start) * this.pos); this.update() } return true } }; D.extend(D.fx, { speeds: { slow: 600, fast: 200, def: 400 }, step: { scrollLeft: function(a) { a.elem.scrollLeft = a.now }, scrollTop: function(a) { a.elem.scrollTop = a.now }, opacity: function(a) { D.attr(a.elem.style, "opacity", a.now) }, _default: function(a) { a.elem.style[a.prop] = a.now + a.unit } } }); D.fn.offset = function() { var b = 0, top = 0, elem = this[0], results; if (elem) with(D.browser) { var d = elem.parentNode, offsetChild = elem, offsetParent = elem.offsetParent, doc = elem.ownerDocument, safari2 = safari && parseInt(version) < 522 && !/adobeair/i.test(v), css = D.curCSS, fixed = css(elem, "position") == "fixed"; if (elem.getBoundingClientRect) { var c = elem.getBoundingClientRect(); add(c.left + Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft), c.top + Math.max(doc.documentElement.scrollTop, doc.body.scrollTop)); add(-doc.documentElement.clientLeft, -doc.documentElement.clientTop) } else { add(elem.offsetLeft, elem.offsetTop); while (offsetParent) { add(offsetParent.offsetLeft, offsetParent.offsetTop); if (mozilla && !/^t(able|d|h)$/i.test(offsetParent.tagName) || safari && !safari2) border(offsetParent); if (!fixed && css(offsetParent, "position") == "fixed") fixed = true; offsetChild = /^body$/i.test(offsetParent.tagName) ? offsetChild : offsetParent; offsetParent = offsetParent.offsetParent } while (d && d.tagName && !/^body|html$/i.test(d.tagName)) { if (!/^inline|table.*$/i.test(css(d, "display"))) add(-d.scrollLeft, -d.scrollTop); if (mozilla && css(d, "overflow") != "visible") border(d); d = d.parentNode } if ((safari2 && (fixed || css(offsetChild, "position") == "absolute")) || (mozilla && css(offsetChild, "position") != "absolute")) add(-doc.body.offsetLeft, -doc.body.offsetTop); if (fixed) add(Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft), Math.max(doc.documentElement.scrollTop, doc.body.scrollTop)) } results = { top: top, left: b } } function border(a) { add(D.curCSS(a, "borderLeftWidth", true), D.curCSS(a, "borderTopWidth", true)) } function add(l, t) { b += parseInt(l, 10) || 0; top += parseInt(t, 10) || 0 } return results }; D.fn.extend({ position: function() { var a = 0, top = 0, results; if (this[0]) { var b = this.offsetParent(), offset = this.offset(), parentOffset = /^body|html$/i.test(b[0].tagName) ? { top: 0, left: 0 } : b.offset(); offset.top -= num(this, 'marginTop'); offset.left -= num(this, 'marginLeft'); parentOffset.top += num(b, 'borderTopWidth'); parentOffset.left += num(b, 'borderLeftWidth'); results = { top: offset.top - parentOffset.top, left: offset.left - parentOffset.left } } return results }, offsetParent: function() { var a = this[0].offsetParent; while (a && (!/^body|html$/i.test(a.tagName) && D.css(a, 'position') == 'static')) a = a.offsetParent; return D(a) } }); D.each(['Left', 'Top'], function(i, b) { var c = 'scroll' + b; D.fn[c] = function(a) { if (!this[0]) return; return a != undefined ? this.each(function() { this == window || this == document ? window.scrollTo(!i ? a : D(window).scrollLeft(), i ? a : D(window).scrollTop()) : this[c] = a }) : this[0] == window || this[0] == document ? self[i ? 'pageYOffset' : 'pageXOffset'] || D.boxModel && document.documentElement[c] || document.body[c] : this[0][c] } }); D.each(["Height", "Width"], function(i, b) { var c = i ? "Left" : "Top", br = i ? "Right" : "Bottom"; D.fn["inner" + b] = function() { return this[b.toLowerCase()]() + num(this, "padding" + c) + num(this, "padding" + br) }; D.fn["outer" + b] = function(a) { return this["inner" + b]() + num(this, "border" + c + "Width") + num(this, "border" + br + "Width") + (a ? num(this, "margin" + c) + num(this, "margin" + br) : 0) } }) })();addproduct.js000064400000040071152325744560007252 0ustar00jQuery(function() { jQuery("#modal_reset").on('click', function() { jQuery('#catdesc').val(""); jQuery('#catname').val(""); jQuery('#catinfo').val(""); }); jQuery('.wk_manufacturer select').attr('name', 'virtuemart_manufacturer_id[]'); jQuery('.wk_suggest_category').on('click', function() { jQuery('#catdesc').val(""); jQuery('#catname').val(""); jQuery('#catinfo').val(""); jQuery('#wkModal .modal-body').css('display', 'block'); jQuery('#wkModal .modal-footer').css('display', 'block'); jQuery('#wkModal p').remove(); }); jQuery(window).on('load resize', function() { jQuery('.wk_manufacturer select').attr('multiple', 'multiple'); }); }); if (typeof jQuery == 'undefined') { document.write(unescape("%3Cscript src='https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js' type='text/javascript'%3E%3C/script%3E")); } jQuery(function() { jQuery('.resp-tabs-container .resp-accordion:nth-child(1)').addClass('resp-tab-active'); jQuery('.resp-tabs-container .contentbar:nth-child(1)').addClass('resp-tab-content-active'); jQuery('#horizontalTab').easyResponsiveTabs({ type: 'vertical', //Types: default, vertical, accordion width: 'auto', //auto or any width like 600px fit: true, // 100% fit in a container closed: 'accordion', // Start closed if in accordion view activate: function(event) { // Callback function if tab is switched var $tab = jQuery(this); var $info = jQuery('#tabInfo'); var $name = jQuery('span', $info); $name.text($tab.text()); $info.show(); } }); jQuery('#verticalTab').easyResponsiveTabs({ type: 'vertical', width: 'auto', fit: true }); }); jQuery(function() { jQuery('.Upload_img').on('mouseover', function() { jQuery('.upload_options_pro').css('display', 'block'); jQuery('.upload_options_pro').css('-webkit-display', 'block'); jQuery('.upload_options_pro').on('mouseover', function() { jQuery('.upload_options_pro').css('display', 'block'); jQuery('.upload_options_pro').css('-webkit-display', 'block'); }); }); jQuery('.Upload_img').on('mouseleave', function() { jQuery('.upload_options_pro').css('display', 'none'); jQuery('.upload_options_pro').on('mouseleave', function() { jQuery('.upload_options_pro').css('display', 'none'); }); }); }); /******************************************************************/ jQuery(document).ready(function() { /*if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { jQuery('.take_pic_').hide(0); jQuery('.nonipad').remove(); } else { jQuery('.ipad').remove(); }*/ var resp = 0; var pic_snaps = ''; var pic_size = ''; jQuery('#result_holder').on('mouseover', '#result', function() { jQuery(this).children('#rm').show(); }); jQuery('#result_holder').on('mouseleave', '#result', function() { jQuery(this).children('#rm').hide(); }); jQuery('#camera').hide(0); jQuery('#new').hide(0); jQuery('#upload_pic').hide(0); var videoObj = ''; jQuery('.take_pic_').on("click", function() { jQuery('#camera').css('display', 'block'); var video = document.getElementById("video"), videoObj = { "video": true }, errBack = function(error) { jQuery('.take_pic_').css('display', 'none'); console.log("Video capture error: ", error.code); }; if (navigator.getUserMedia) { // Standard navigator.getUserMedia(videoObj, function(stream) { video.src = stream; video.play(); }, errBack); } else if (navigator.webkitGetUserMedia) { // WebKit-prefixed navigator.webkitGetUserMedia(videoObj, function(stream) { video.src = window.webkitURL.createObjectURL(stream); video.play(); }, errBack); } else if (navigator.mozGetUserMedia) { // WebKit-prefixed navigator.mozGetUserMedia(videoObj, function(stream) { video.src = window.URL.createObjectURL(stream); video.play(); }, errBack); } jQuery('#close_cam').on('click', function(stream) { jQuery('#camera').hide(); }); }); // Trigger photo take jQuery("#cam_snap").on("click", function(e) { var canvas = document.getElementById("canvas"), context = canvas.getContext("2d") context.drawImage(video, 0, 0, 600, 400); jQuery('#video').hide('slow'); jQuery('#canvas').show('slow'); jQuery('#cam_snap').hide('slow'); jQuery('#new').show('slow'); jQuery('#upload_pic').show('slow'); e.preventDefault(); }); // Capture New Photo jQuery("#new").on("click", function(e) { jQuery('#video').show('slow'); jQuery('#canvas').hide('slow'); jQuery('#cam_snap').show('slow'); jQuery('#new').hide(); jQuery('#upload_pic').hide(); e.preventDefault(); }); jQuery(function() { jQuery(".add_product_main .product_save").click(function() { var productname = jQuery("#productname").val(); var imgcate = ''; if (jQuery(window).width() > 768) { imgcate = jQuery(".wk_category_tree select:nth-child(1) option:selected").val(); } else { imgcate = jQuery(".wk_category_tree select:nth-child(2) option:selected").val(); } if (typeof imgcate == 'undefined') { imgcate = ''; } var stock = jQuery("#product_in_stock").val(); var weight = jQuery("#product_weight").val(); var price = jQuery("#price").val(); var i = 1; var j = 1; var product_info = new Array(''); var product_price = new Array(''); if (!productname.length || !productname.trim().length) { product_info[i++] = "Please Eneter Product Name"; } if (!imgcate.length || !imgcate.trim().length) { product_info[i++] = "Select atlease one product category"; } if (stock.length && !jQuery.isNumeric(stock)) { product_info[i++] = "Stock value should be numeric value"; } if (weight.length && !jQuery.isNumeric(weight)) { product_info[i++] = "Weight should be numeric value"; } if (!price.length || !price.trim().length) { product_price[j++] = "Please Eneter Price"; } if (!jQuery.isNumeric(price)) { product_price[j++] = "Price Should Be Numeric Value"; } if (product_info.length > 1) { jQuery('.add_product_main .resp-tabs-list .resp-tab-item:nth-child(1)').trigger('click'); } else if (product_price.length > 1) { jQuery('.add_product_main .resp-tabs-list .resp-tab-item:nth-child(3)').trigger('click'); } var tc_chk = jQuery("#t_and_c").attr("name"); if (tc_chk === "t_and_c") { var tc = jQuery("#t_and_c").attr("checked"); if (tc !== "checked") { jQuery(".wkRules").css({ 'color': 'red', 'font-weight': 'bold' }); jQuery("#t_and_c").focus(); jQuery('.add_product_main .resp-tabs-list .resp-tab-item:first-child').trigger('click'); return false; } else { jQuery(".wkRules").css({ 'color': 'black', 'font-weight': 'unset' }); } } var productname = jQuery("#productname").val(); if (!productname.length || !productname.trim().length) { jQuery("#product-name").css({ "display": "block" }); jQuery("#productname").attr('style', 'border: 2px dotted #FF0000 !important;'); jQuery("#productname").focus(); return false; } else { jQuery("#product-name").css({ "display": "none" }); jQuery("#productname").css({ "border": "1px solid #AAAAAA" }); } if (jQuery(window).width() > 768) { imgcate = jQuery(".wk_category_tree select:nth-child(1) option:selected").val(); } else { imgcate = jQuery(".wk_category_tree select:nth-child(2) option:selected").val(); } if (typeof imgcate == 'undefined') { imgcate = ''; } if (!imgcate.length || !imgcate.trim().length) { if (jQuery(window).width() > 768) { jQuery("#product_parent_id:nth-child(1)").css({ "border": "2px dotted red" }); jQuery("#product_parent_id:nth-child(1)").focus(); } else { jQuery("#product_parent_id:nth-child(2)").css({ "border": "2px dotted red" }); jQuery("#product_parent_id:nth-child(2)").focus(); } return false; } else { jQuery("#product_parent_id:nth-child(1)").css({ "border": "1px solid #AAAAAA" }); jQuery("#product_parent_id:nth-child(2)").css({ "border": "1px solid #AAAAAA" }); } var stock = jQuery("#product_in_stock").val(); if (stock.length && !jQuery.isNumeric(stock)) { jQuery("#product-stock").css({ "display": "none" }); jQuery("#product-numstock").css({ "display": "block" }); jQuery("#product_in_stock").css({ "border": "2px dotted red" }); jQuery("#product_in_stock").focus(); return false; } else { jQuery("#product-stock").css({ "display": "none" }); jQuery("#product-numstock").css({ "display": "none" }); jQuery("#product_in_stock").css({ "border": "1px solid #AAAAAA" }); } var weight = jQuery("#product_weight").val(); if (weight.length && !jQuery.isNumeric(weight)) { jQuery("#product-weight").css({ "display": "none" }); jQuery("#product-numweight").css({ "display": "block" }); jQuery("#product_weight").css({ "border": "2px dotted red" }); jQuery("#product_weight").focus(); return false; } else { jQuery("#product-weight").css({ "display": "none" }); jQuery("#product-numweight").css({ "display": "none" }); jQuery("#product_weight").css({ "border": "1px solid #AAAAAA" }); } var price = jQuery("#price").val(); if (price == '') { jQuery("#product-price").css({ "display": "block" }); jQuery("#price").css({ "outline": "2px dotted red" }); jQuery("#price").focus(); jQuery(".mnu[rel='#product-price']").trigger("click"); return false; } else if (!jQuery.isNumeric(price)) { jQuery("#product-price").css({ "display": "none" }); jQuery("#product-numprice").css({ "display": "block" }); jQuery("#price").css({ "outline": "2px dotted red" }); jQuery("#price").focus(); jQuery(".mnu[rel='#product-price']").trigger("click"); return false; } else { jQuery("#product-price").css({ "display": "none" }); jQuery("#product-numprice").css({ "display": "none" }); jQuery("#price").css({ "outline": "none" }); } }); jQuery('.mnu').on('click', function() { var x = jQuery(this).attr('rel'); jQuery(x).css("display", 'block'); jQuery(x).addClass('active'); jQuery(x).nextAll('.tab-pane').css("display", "none"); jQuery(x).nextAll('.tab-pane').removeClass('active'); jQuery(x).prevAll('.tab-pane').css("display", "none"); jQuery(x).prevAll('.tab-pane').removeClass('active'); }); jQuery('.small_menu').on('click', function() { jQuery('.pls').toggle(); jQuery('.mns').toggle(); jQuery('.tab-menu').slideToggle(200); }); jQuery('#product_parent_id option').each(function() { if (jQuery(this).text().indexOf('-') != 0) { jQuery(this).css('-webkit-text-stroke', '.40px'); } else { jQuery(this).css('font-weight', 'normal'); jQuery(this).css('-webkit-text-stroke', '0px'); } }); }); /**************************start multilang****************************************************************/ jQuery("body").on("mouseover", "#imagecollection img", function(event) { jQuery(event.target).parent("div").find(".image_over").css({ display: "block" }); jQuery(event.target).parent("div").find("img").css({ opacity: '0.4' }); }); jQuery("#imagecollection img").mouseout(function(event) { jQuery(event.target).parent("div").find(".image_over").css({ display: "none" }); jQuery(event.target).parent("div").find("img").css("opacity", "1"); }); function handleFileSelect(evt) { jQuery('#preview').empty(); var files = evt.target.files; // FileList object var n = jQuery(files).length; for (var i = 0, f; f = files[i]; i++) { // Only process image files. if (!f.type.match('image.*')) { continue; } var reader = new FileReader(); // Closure to capture the file information. reader.onload = (function(theFile) { return function(e) { // Render thumbnail. var div = document.createElement('div'); div.innerHTML = ['<img id="thumb', escape(theFile.name), '" src="', e.target.result, '" title="', escape(theFile.name), '"/><span class="image_over" style="display: none;"></span><input type="hidden" name ="imagepre[]" value="', escape(theFile.name), '">' ].join(''); document.getElementById('preview').insertBefore(div, null); jQuery('#preview div').attr({ id: 'img_id' + escape(theFile.name), class: 'imgdiv' }); // Call A function For Css Of Image Div wk_imgview(); }; })(f); // Read in the image file as a data URL. reader.readAsDataURL(f); } } function wk_imgview() { jQuery(".imgdiv").css({ width: '70px', position: 'relative', border: '2px solid #CCCCCC', display: 'block', overflow: 'hidden', float: 'left', margin: '5px' }); jQuery(".imgdiv img").css({ border: '0 none', height: 'auto', maxWidth: '100%', verticalAlign: 'middle' }); // Show the Cross Icon at Mouse Hover jQuery('.imgdiv').mouseover(function(event) { jQuery(this).find(".image_over").css({ display: "block" }); jQuery(this).find("img").css("opacity", "0.4"); // For Delete the image Div at Click on Cross Icon jQuery(event.target).parent("div").find(".image_over").on('click', function() { jQuery(this).parent("div").remove(); jQuery('#wk_image_label span').text() }); }); // Hide the cross icon at mouse hover out // jQuery(".imgdiv").mouseout(function(event) { jQuery(this).find(".image_over").css({ display: "none" }); jQuery(this).find("img").css("opacity", "1"); }); } document.getElementById('image').addEventListener('change', handleFileSelect, false); });addproduct2.js000064400000037253152325744560007344 0ustar00jQuery(function() { jQuery("#modal_reset").on('click', function() { jQuery('#catdesc').val(""); jQuery('#catname').val(""); jQuery('#catinfo').val(""); }); /*jQuery('.sel wk_manufacturer select').removeAttr('name'); jQuery('.sel .wk_manufacturer select').on('click',function(){ alert("hj"); });*/ jQuery('.wk_manufacturer select').attr('name', 'virtuemart_manufacturer_id[]'); jQuery('.wk_suggest_category').on('click', function() { jQuery('#catdesc').val(""); jQuery('#catname').val(""); jQuery('#catinfo').val(""); jQuery('#wkModal .modal-body').css('display', 'block'); jQuery('#wkModal .modal-footer').css('display', 'block'); jQuery('#wkModal p').remove(); }); /* navigator.getMedia = ( navigator.getUserMedia || // use the proper vendor prefix navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia); navigator.getMedia({video: true}, function() { }, function() { jQuery('.take_pic_').css('display','none'); });*/ jQuery(window).on('load resize', function() { jQuery('.wk_manufacturer select').attr('multiple', 'multiple'); }); }); if (typeof jQuery == 'undefined') { document.write(unescape("%3Cscript src='https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js' type='text/javascript'%3E%3C/script%3E")); } jQuery(function() { jQuery('.resp-tabs-container .resp-accordion:nth-child(1)').addClass('resp-tab-active'); jQuery('.resp-tabs-container .contentbar:nth-child(1)').addClass('resp-tab-content-active'); jQuery('#horizontalTab').easyResponsiveTabs({ type: 'vertical', //Types: default, vertical, accordion width: 'auto', //auto or any width like 600px fit: true, // 100% fit in a container closed: 'accordion', // Start closed if in accordion view activate: function(event) { // Callback function if tab is switched var $tab = jQuery(this); var $info = jQuery('#tabInfo'); var $name = jQuery('span', $info); $name.text($tab.text()); $info.show(); } }); jQuery('#verticalTab').easyResponsiveTabs({ type: 'vertical', width: 'auto', fit: true }); }); jQuery(function() { jQuery('.Upload_img').on('mouseover', function() { jQuery('.upload_options_pro').css('display', 'block'); jQuery('.upload_options_pro').css('-webkit-display', 'block'); jQuery('.upload_options_pro').on('mouseover', function() { jQuery('.upload_options_pro').css('display', 'block'); jQuery('.upload_options_pro').css('-webkit-display', 'block'); }); }); jQuery('.Upload_img').on('mouseleave', function() { jQuery('.upload_options_pro').css('display', 'none'); jQuery('.upload_options_pro').on('mouseleave', function() { jQuery('.upload_options_pro').css('display', 'none'); }); }); }); /******************************************************************/ jQuery(document).ready(function() { /*if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { jQuery('.take_pic_').hide(0); jQuery('.nonipad').remove(); } else { jQuery('.ipad').remove(); }*/ var resp = 0; var pic_snaps = ''; var pic_size = ''; jQuery('#result_holder').on('mouseover', '#result', function() { jQuery(this).children('#rm').show(); }); jQuery('#result_holder').on('mouseleave', '#result', function() { jQuery(this).children('#rm').hide(); }); jQuery('#camera').hide(0); jQuery('#new').hide(0); jQuery('#upload_pic').hide(0); var videoObj = ''; jQuery('.take_pic_').on("click", function() { jQuery('#camera').css('display', 'block'); jQuery('#close_cam').on('click', function(stream) { jQuery('#camera').hide(); }); }); // Trigger photo take jQuery("#cam_snap").on("click", function(e) { Webcam.snap(function(data_uri) { // display results in page document.getElementById('canvas').innerHTML = '<img src="' + data_uri + '"/>'; }); jQuery('#video').hide('slow'); jQuery('#canvas').show('slow'); jQuery('#cam_snap').hide('slow'); jQuery('#new').show('slow'); jQuery('#upload_pic').show('slow'); e.preventDefault(); }); // Capture New Photo jQuery("#new").on("click", function(e) { jQuery('#video').show('slow'); jQuery('#canvas').hide('slow'); jQuery('#cam_snap').show('slow'); jQuery('#new').hide(); jQuery('#upload_pic').hide(); e.preventDefault(); }); jQuery(function() { jQuery(".add_product_main .product_save").click(function() { var productname = jQuery("#productname").val(); var imgcate = ''; if (jQuery(window).width() > 768) { imgcate = jQuery(".wk_category_tree select:nth-child(1) option:selected").val(); } else { imgcate = jQuery(".wk_category_tree select:nth-child(2) option:selected").val(); } if (typeof imgcate == 'undefined') { imgcate = ''; } var stock = jQuery("#product_in_stock").val(); var weight = jQuery("#product_weight").val(); var price = jQuery("#price").val(); var i = 1; var j = 1; var product_info = new Array(''); var product_price = new Array(''); if (!productname.length || !productname.trim().length) { product_info[i++] = "Please Eneter Product Name"; } if (!imgcate.length || !imgcate.trim().length) { product_info[i++] = "Select atlease one product category"; } if (stock.length && !jQuery.isNumeric(stock)) { product_info[i++] = "Stock value should be numeric value"; } if (weight.length && !jQuery.isNumeric(weight)) { product_info[i++] = "Weight should be numeric value"; } if (!price.length || !price.trim().length) { product_price[j++] = "Please Eneter Price"; } if (!jQuery.isNumeric(price)) { product_price[j++] = "Price Should Be Numeric Value"; } if (product_info.length > 1) { jQuery('.add_product_main .resp-tabs-list .resp-tab-item:nth-child(1)').trigger('click'); } else if (product_price.length > 1) { jQuery('.add_product_main .resp-tabs-list .resp-tab-item:nth-child(3)').trigger('click'); } var tc_chk = jQuery("#t_and_c").attr("name"); if (tc_chk === "t_and_c") { var tc = jQuery("#t_and_c").attr("checked"); if (tc !== "checked") { jQuery(".wkRules").css({ 'color': 'red', 'font-weight': 'bold' }); jQuery('.add_product_main .resp-tabs-list .resp-tab-item:first-child').trigger('click'); jQuery("#t_and_c").focus(); return false; } else { jQuery(".wkRules").css({ 'color': 'black', 'font-weight': 'unset' }); } } var productname = jQuery("#productname").val(); if (!productname.length || !productname.trim().length) { jQuery("#product-name").css({ "display": "block" }); jQuery("#productname").attr('style', 'border: 2px dotted #FF0000 !important;'); jQuery("#productname").focus(); return false; } else { jQuery("#product-name").css({ "display": "none" }); jQuery("#productname").css({ "border": "1px solid #AAAAAA" }); } if (jQuery(window).width() > 768) { imgcate = jQuery(".wk_category_tree select:nth-child(1) option:selected").val(); } else { imgcate = jQuery(".wk_category_tree select:nth-child(2) option:selected").val(); } if (typeof imgcate == 'undefined') { imgcate = ''; } if (!imgcate.length || !imgcate.trim().length) { if (jQuery(window).width() > 768) { jQuery("#product_parent_id:nth-child(1)").css({ "border": "2px dotted red" }); jQuery("#product_parent_id:nth-child(1)").focus(); } else { jQuery("#product_parent_id:nth-child(2)").css({ "border": "2px dotted red" }); jQuery("#product_parent_id:nth-child(2)").focus(); } return false; } else { jQuery("#product_parent_id:nth-child(1)").css({ "border": "1px solid #AAAAAA" }); jQuery("#product_parent_id:nth-child(2)").css({ "border": "1px solid #AAAAAA" }); } var stock = jQuery("#product_in_stock").val(); if (stock.length && !jQuery.isNumeric(stock)) { jQuery("#product-stock").css({ "display": "none" }); jQuery("#product-numstock").css({ "display": "block" }); jQuery("#product_in_stock").css({ "border": "2px dotted red" }); jQuery("#product_in_stock").focus(); return false; } else { jQuery("#product-stock").css({ "display": "none" }); jQuery("#product-numstock").css({ "display": "none" }); jQuery("#product_in_stock").css({ "border": "1px solid #AAAAAA" }); } var weight = jQuery("#product_weight").val(); if (weight.length && !jQuery.isNumeric(weight)) { jQuery("#product-weight").css({ "display": "none" }); jQuery("#product-numweight").css({ "display": "block" }); jQuery("#product_weight").css({ "border": "2px dotted red" }); jQuery("#product_weight").focus(); return false; } else { jQuery("#product-weight").css({ "display": "none" }); jQuery("#product-numweight").css({ "display": "none" }); jQuery("#product_weight").css({ "border": "1px solid #AAAAAA" }); } var price = jQuery("#price").val(); if (price == '') { jQuery("#product-price").css({ "display": "block" }); jQuery("#price").css({ "outline": "2px dotted red" }); jQuery("#price").focus(); jQuery(".mnu[rel='#product-price']").trigger("click"); return false; } else if (!jQuery.isNumeric(price)) { jQuery("#product-price").css({ "display": "none" }); jQuery("#product-numprice").css({ "display": "block" }); jQuery("#price").css({ "outline": "2px dotted red" }); jQuery("#price").focus(); jQuery(".mnu[rel='#product-price']").trigger("click"); return false; } else { jQuery("#product-price").css({ "display": "none" }); jQuery("#product-numprice").css({ "display": "none" }); jQuery("#price").css({ "outline": "none" }); } }); jQuery('.mnu').on('click', function() { var x = jQuery(this).attr('rel'); jQuery(x).css("display", 'block'); jQuery(x).addClass('active'); jQuery(x).nextAll('.tab-pane').css("display", "none"); jQuery(x).nextAll('.tab-pane').removeClass('active'); jQuery(x).prevAll('.tab-pane').css("display", "none"); jQuery(x).prevAll('.tab-pane').removeClass('active'); }); jQuery('.small_menu').on('click', function() { jQuery('.pls').toggle(); jQuery('.mns').toggle(); jQuery('.tab-menu').slideToggle(200); }); jQuery('#product_parent_id option').each(function() { if (jQuery(this).text().indexOf('-') != 0) { jQuery(this).css('-webkit-text-stroke', '.40px'); } else { jQuery(this).css('font-weight', 'normal'); jQuery(this).css('-webkit-text-stroke', '0px'); } }); }); /**************************start multilang****************************************************************/ jQuery("body").on("mouseover", "#imagecollection img", function(event) { jQuery(event.target).parent("div").find(".image_over").css({ display: "block" }); jQuery(event.target).parent("div").find("img").css({ opacity: '0.4' }); }); jQuery("#imagecollection img").mouseout(function(event) { jQuery(event.target).parent("div").find(".image_over").css({ display: "none" }); jQuery(event.target).parent("div").find("img").css("opacity", "1"); }); function handleFileSelect(evt) { jQuery('#preview').empty(); var files = evt.target.files; // FileList object var n = jQuery(files).length; for (var i = 0, f; f = files[i]; i++) { // Only process image files. if (!f.type.match('image.*')) { continue; } var reader = new FileReader(); // Closure to capture the file information. reader.onload = (function(theFile) { return function(e) { // Render thumbnail. var div = document.createElement('div'); div.innerHTML = ['<img id="thumb', escape(theFile.name), '" src="', e.target.result, '" title="', escape(theFile.name), '"/><span class="image_over" style="display: none;"></span><input type="hidden" name ="imagepre[]" value="', escape(theFile.name), '">' ].join(''); document.getElementById('preview').insertBefore(div, null); jQuery('#preview div').attr({ id: 'img_id' + escape(theFile.name), class: 'imgdiv' }); // Call A function For Css Of Image Div wk_imgview(); }; })(f); // Read in the image file as a data URL. reader.readAsDataURL(f); } } function wk_imgview() { jQuery(".imgdiv").css({ width: '70px', position: 'relative', border: '2px solid #CCCCCC', display: 'block', overflow: 'hidden', float: 'left', margin: '5px' }); jQuery(".imgdiv img").css({ border: '0 none', height: 'auto', maxWidth: '100%', verticalAlign: 'middle' }); // Show the Cross Icon at Mouse Hover jQuery('.imgdiv').mouseover(function(event) { jQuery(this).find(".image_over").css({ display: "block" }); jQuery(this).find("img").css("opacity", "0.4"); // For Delete the image Div at Click on Cross Icon jQuery(event.target).parent("div").find(".image_over").on('click', function() { jQuery(this).parent("div").remove(); jQuery('#wk_image_label span').text() }); }); // Hide the cross icon at mouse hover out // jQuery(".imgdiv").mouseout(function(event) { jQuery(this).find(".image_over").css({ display: "none" }); jQuery(this).find("img").css("opacity", "1"); }); } document.getElementById('image').addEventListener('change', handleFileSelect, false); });bootstrap-checkbox.js000064400000020746152325744560010731 0ustar00/** * $.inArray: friends with IE8. Use Array.prototype.indexOf in future. * Use this.element.hidden in future. * $.proxy: friends with IE8. Use Function.prototype.bind in future. */ 'use strict'; (function(factory) { if (typeof define == 'function' && define.amd) { // AMD. Register as an anonymous module define(['jquery'], factory); } else if (typeof exports == 'object') { // Node/CommonJS module.exports = factory(require('jquery')); } else { // Browser globals factory(jQuery); } })(function($) { $.create = function() { return $($.map(arguments, $.proxy(document, 'createElement'))); }; function Checkboxpicker(element, options) { this.element = element; this.$element = $(element); var data = this.$element.data(); // <... data-reverse> if (data.reverse === '') { data.reverse = true; } // <... data-switch-always> if (data.switchAlways === '') { data.switchAlways = true; } // <... data-html> if (data.html === '') { data.html = true; } this.options = $.extend({}, $.fn.checkboxpicker.defaults, options, data); if (this.$element.closest('label').length) { console.warn(this.options.warningMessage); return; } this.$group = $.create('div'); // .btn-group-justified works with <a> elements as the <button> doesn't pick up the styles this.$buttons = $.create('a', 'a'); this.$off = this.$buttons.eq(this.options.reverse ? 1 : 0); this.$on = this.$buttons.eq(this.options.reverse ? 0 : 1); this.init(); } Checkboxpicker.prototype = { init: function() { var fn = this.options.html ? 'html' : 'text'; this.$element.addClass('hidden'); this.$group.addClass(this.options.baseGroupCls).addClass(this.options.groupCls); this.$buttons.addClass(this.options.baseCls).addClass(this.options.cls); if (this.options.offLabel) { this.$off[fn](this.options.offLabel); } if (this.options.onLabel) { this.$on[fn](this.options.onLabel); } if (this.options.offIconCls) { if (this.options.offLabel) { // -- whitespace (or wrap into span) this.$off.prepend(' '); } // $.addClass for XSS check $.create('span').addClass(this.options.iconCls).addClass(this.options.offIconCls).prependTo(this.$off); } if (this.options.onIconCls) { if (this.options.onLabel) { // -- whitespace (or wrap into span) this.$on.prepend(' '); } // $.addClass for XSS check $.create('span').addClass(this.options.iconCls).addClass(this.options.onIconCls).prependTo(this.$on); } if (this.element.checked) { this.$on.addClass('active'); this.$on.addClass(this.options.onActiveCls); this.$off.addClass(this.options.offCls); } else { this.$off.addClass('active'); this.$off.addClass(this.options.offActiveCls); this.$on.addClass(this.options.onCls); } if (this.element.title) { this.$group.attr('title', this.element.title); } else { // Attribute title (offTitle, onTitle) on this.$buttons not work (native) if this.element.disabled, fine! if (this.options.offTitle) { this.$off.attr('title', this.options.offTitle); } if (this.options.onTitle) { this.$on.attr('title', this.options.onTitle); } } // Keydown event only trigger if set tabindex, fine! this.$group.on('keydown', $.proxy(this, 'keydown')); // Don't trigger if <a> element has .disabled class, fine! this.$buttons.on('click', $.proxy(this, 'click')); this.$element.on('change', $.proxy(this, 'toggleChecked')); $(this.element.labels).on('click', $.proxy(this, 'focus')); $(this.element.form).on('reset', $.proxy(this, 'reset')); this.$group.append(this.$buttons).insertAfter(this.element); // Necessarily after this.$group.append() (autofocus) if (this.element.disabled) { this.$buttons.addClass('disabled'); if (this.options.disabledCursor) { this.$group.css('cursor', this.options.disabledCursor); } } else { this.$group.attr('tabindex', this.element.tabIndex); if (this.element.autofocus) { this.focus(); } } }, toggleChecked: function() { // this.$group not focus (incorrect on form reset) this.$buttons.toggleClass('active'); this.$off.toggleClass(this.options.offCls); this.$off.toggleClass(this.options.offActiveCls); this.$on.toggleClass(this.options.onCls); this.$on.toggleClass(this.options.onActiveCls); }, toggleDisabled: function() { this.$buttons.toggleClass('disabled'); if (this.element.disabled) { this.$group.attr('tabindex', this.element.tabIndex); this.$group.css('cursor', ''); } else { this.$group.removeAttr('tabindex'); if (this.options.disabledCursor) { this.$group.css('cursor', this.options.disabledCursor); } } }, focus: function() { // Original behavior this.$group.trigger('focus'); }, click: function(event) { // Strictly event.currentTarget. Fix #19 var $button = $(event.currentTarget); if (!$button.hasClass('active') || this.options.switchAlways) { this.change(); } }, change: function() { this.set(!this.element.checked); }, set: function(value) { // Fix #12 this.element.checked = value; this.$element.trigger('change'); }, keydown: function(event) { if ($.inArray(event.keyCode, this.options.toggleKeyCodes) != -1) { // Off vertical scrolling on Spacebar event.preventDefault(); this.change(); } else if (event.keyCode == 13) { $(this.element.form).trigger('submit'); } }, reset: function() { // this.element.checked not used (incorect on large number of form elements) if ((this.element.defaultChecked && this.$off.hasClass('active')) || (!this.element.defaultChecked && this.$on.hasClass('active'))) { this.set(this.element.defaultChecked); } } }; // Be hooks friendly var oldPropHooks = $.extend({}, $.propHooks); // Support $.fn.prop setter (checked, disabled) $.extend($.propHooks, { checked: { set: function(element, value) { var data = $.data(element, 'bs.checkbox'); if (data && element.checked != value) { data.change(value); } if (oldPropHooks.checked && oldPropHooks.checked.set) { oldPropHooks.checked.set(element, value); } } }, disabled: { set: function(element, value) { var data = $.data(element, 'bs.checkbox'); if (data && element.disabled != value) { data.toggleDisabled(); } if (oldPropHooks.disabled && oldPropHooks.disabled.set) { oldPropHooks.disabled.set(element, value); } } } }); var old = $.fn.checkboxpicker; // For AMD/Node/CommonJS used elements (optional) // http://learn.jquery.com/jquery-ui/environments/amd/ $.fn.checkboxpicker = function(options, elements) { var $elements; if (this instanceof $) { $elements = this; } else if (typeof options == 'string') { $elements = $(options); } else { $elements = $(elements); } return $elements.each(function() { var data = $.data(this, 'bs.checkbox'); if (!data) { data = new Checkboxpicker(this, options); $.data(this, 'bs.checkbox', data); } }); }; // HTML5 data-*. // <input data-on-label="43"> --> $('input').data('onLabel') == '43'. $.fn.checkboxpicker.defaults = { baseGroupCls: 'btn-group', baseCls: 'btn', groupCls: null, cls: null, offCls: 'btn-default', onCls: 'btn-default', offActiveCls: 'btn-danger', onActiveCls: 'btn-success', offLabel: 'No', onLabel: 'Yes', offTitle: false, onTitle: false, iconCls: 'glyphicon', disabledCursor: 'not-allowed', // Event key codes: // 13: Return // 32: Spacebar toggleKeyCodes: [13, 32], warningMessage: 'Please do not use Bootstrap-checkbox element in label element.' }; $.fn.checkboxpicker.Constructor = Checkboxpicker; $.fn.checkboxpicker.noConflict = function() { $.fn.checkboxpicker = old; return this; }; return $.fn.checkboxpicker; }); easy-responsive-tabs.js000064400000014535152325744560011212 0ustar00// Easy Responsive Tabs Plugin (function ($) { $.fn.extend({ easyResponsiveTabs: function (options) { //Set the default values, use comma to separate the settings, example: var defaults = { type: 'default', //default, vertical, accordion; width: 'auto', fit: true, closed: false, activate: function(){} } //Variables var options = $.extend(defaults, options); var opt = options, jtype = opt.type, jfit = opt.fit, jwidth = opt.width, vtabs = 'vertical', accord = 'accordion'; //Events $(this).bind('tabactivate', function(e, currentTab) { if(typeof options.activate === 'function') { options.activate.call(currentTab, e) } }); //Main function this.each(function () { var $respTabs = $(this); var $respTabsList = $respTabs.find('ul.resp-tabs-list'); $respTabs.find('ul.resp-tabs-list li').addClass('resp-tab-item'); $respTabs.css({ 'display': 'block', 'width': jwidth }); $respTabs.find('.resp-tabs-container > div').addClass('resp-tab-content'); jtab_options(); //Properties Function function jtab_options() { if (jtype == vtabs) { $respTabs.addClass('resp-vtabs'); } if (jfit == true) { $respTabs.css({ width: '100%', margin: '0px' }); } if (jtype == accord) { $respTabs.addClass('resp-easy-accordion'); $respTabs.find('.resp-tabs-list').css('display', 'none'); } } //Assigning the h2 markup to accordion title var $tabItemh2; $respTabs.find('.resp-tab-content').before("<span class='resp-accordion' role='tab'><span class='resp-arrow'></span></span>"); var itemCount = 0; $respTabs.find('.resp-accordion').each(function () { $tabItemh2 = $(this); var innertext = $respTabs.find('.resp-tab-item:eq(' + itemCount + ')').html(); $respTabs.find('.resp-accordion:eq(' + itemCount + ')').append(innertext); $tabItemh2.attr('aria-controls', 'tab_item-' + (itemCount)); itemCount++; }); //Assigning the 'aria-controls' to Tab items var count = 0, $tabContent; $respTabs.find('.resp-tab-item').each(function () { $tabItem = $(this); $tabItem.attr('aria-controls', 'tab_item-' + (count)); $tabItem.attr('role', 'tab'); //First active tab, keep closed if option = 'closed' or option is 'accordion' and the element is in accordion mode if(options.closed !== true && !(options.closed === 'accordion' && !$respTabsList.is(':visible')) && !(options.closed === 'tabs' && $respTabsList.is(':visible'))) { $respTabs.find('.resp-tab-item').first().addClass('resp-tab-active'); $respTabs.find('.resp-accordion').first().addClass('resp-tab-active'); $respTabs.find('.resp-tab-content').first().addClass('resp-tab-content-active').attr('style', 'display:block'); } //Assigning the 'aria-labelledby' attr to tab-content var tabcount = 0; $respTabs.find('.resp-tab-content').each(function () { $tabContent = $(this); $tabContent.attr('aria-labelledby', 'tab_item-' + (tabcount)); tabcount++; }); count++; }); //Tab Click action function $respTabs.find("[role=tab]").each(function () { var $currentTab = $(this); $currentTab.click(function () { var $tabAria = $currentTab.attr('aria-controls'); if ($currentTab.hasClass('resp-accordion') && $currentTab.hasClass('resp-tab-active')) { $respTabs.find('.resp-tab-content-active').slideUp('', function () { $(this).addClass('resp-accordion-closed'); }); $currentTab.removeClass('resp-tab-active'); return false; } if (!$currentTab.hasClass('resp-tab-active') && $currentTab.hasClass('resp-accordion')) { $respTabs.find('.resp-tab-active').removeClass('resp-tab-active'); $respTabs.find('.resp-tab-content-active').slideUp().removeClass('resp-tab-content-active resp-accordion-closed'); $respTabs.find("[aria-controls=" + $tabAria + "]").addClass('resp-tab-active'); $respTabs.find('.resp-tab-content[aria-labelledby = ' + $tabAria + ']').slideDown().addClass('resp-tab-content-active'); } else { $respTabs.find('.resp-tab-active').removeClass('resp-tab-active'); $respTabs.find('.resp-tab-content-active').removeAttr('style').removeClass('resp-tab-content-active').removeClass('resp-accordion-closed'); $respTabs.find("[aria-controls=" + $tabAria + "]").addClass('resp-tab-active'); $respTabs.find('.resp-tab-content[aria-labelledby = ' + $tabAria + ']').addClass('resp-tab-content-active').attr('style', 'display:block'); } //Trigger tab activation event $currentTab.trigger('tabactivate', $currentTab); }); //Window resize function $(window).resize(function () { $respTabs.find('.resp-accordion-closed').removeAttr('style'); }); }); }); } }); })(jQuery); jquery-jvectormap-2.0.3.min.js000064400000157434152325744560012044 0ustar00!function($){var apiParams={set:{colors:1,values:1,backgroundColor:1,scaleColors:1,normalizeFunction:1,focus:1},get:{selectedRegions:1,selectedMarkers:1,mapObject:1,regionName:1}};$.fn.vectorMap=function(options){var map,methodName,map=this.children(".jvectormap-container").data("mapObject");if("addMap"===options)jvm.Map.maps[arguments[1]]=arguments[2];else{if(("set"===options||"get"===options)&&apiParams[options][arguments[1]])return methodName=arguments[1].charAt(0).toUpperCase()+arguments[1].substr(1),map[options+methodName].apply(map,Array.prototype.slice.call(arguments,2));options=options||{},options.container=this,map=new jvm.Map(options)}return this}}(jQuery),function(factory){"function"==typeof define&&define.amd?define(["jquery"],factory):"object"==typeof exports?module.exports=factory:factory(jQuery)}(function($){function handler(event){var orgEvent=event||window.event,args=slice.call(arguments,1),delta=0,deltaX=0,deltaY=0,absDelta=0;if(event=$.event.fix(orgEvent),event.type="mousewheel","detail"in orgEvent&&(deltaY=-1*orgEvent.detail),"wheelDelta"in orgEvent&&(deltaY=orgEvent.wheelDelta),"wheelDeltaY"in orgEvent&&(deltaY=orgEvent.wheelDeltaY),"wheelDeltaX"in orgEvent&&(deltaX=-1*orgEvent.wheelDeltaX),"axis"in orgEvent&&orgEvent.axis===orgEvent.HORIZONTAL_AXIS&&(deltaX=-1*deltaY,deltaY=0),delta=0===deltaY?deltaX:deltaY,"deltaY"in orgEvent&&(deltaY=-1*orgEvent.deltaY,delta=deltaY),"deltaX"in orgEvent&&(deltaX=orgEvent.deltaX,0===deltaY&&(delta=-1*deltaX)),0!==deltaY||0!==deltaX){if(1===orgEvent.deltaMode){var lineHeight=$.data(this,"mousewheel-line-height");delta*=lineHeight,deltaY*=lineHeight,deltaX*=lineHeight}else if(2===orgEvent.deltaMode){var pageHeight=$.data(this,"mousewheel-page-height");delta*=pageHeight,deltaY*=pageHeight,deltaX*=pageHeight}return absDelta=Math.max(Math.abs(deltaY),Math.abs(deltaX)),(!lowestDelta||lowestDelta>absDelta)&&(lowestDelta=absDelta,shouldAdjustOldDeltas(orgEvent,absDelta)&&(lowestDelta/=40)),shouldAdjustOldDeltas(orgEvent,absDelta)&&(delta/=40,deltaX/=40,deltaY/=40),delta=Math[delta>=1?"floor":"ceil"](delta/lowestDelta),deltaX=Math[deltaX>=1?"floor":"ceil"](deltaX/lowestDelta),deltaY=Math[deltaY>=1?"floor":"ceil"](deltaY/lowestDelta),event.deltaX=deltaX,event.deltaY=deltaY,event.deltaFactor=lowestDelta,event.deltaMode=0,args.unshift(event,delta,deltaX,deltaY),nullLowestDeltaTimeout&&clearTimeout(nullLowestDeltaTimeout),nullLowestDeltaTimeout=setTimeout(nullLowestDelta,200),($.event.dispatch||$.event.handle).apply(this,args)}}function nullLowestDelta(){lowestDelta=null}function shouldAdjustOldDeltas(orgEvent,absDelta){return special.settings.adjustOldDeltas&&"mousewheel"===orgEvent.type&&absDelta%120===0}var nullLowestDeltaTimeout,lowestDelta,toFix=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],toBind="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],slice=Array.prototype.slice;if($.event.fixHooks)for(var i=toFix.length;i;)$.event.fixHooks[toFix[--i]]=$.event.mouseHooks;var special=$.event.special.mousewheel={version:"3.1.9",setup:function(){if(this.addEventListener)for(var i=toBind.length;i;)this.addEventListener(toBind[--i],handler,!1);else this.onmousewheel=handler;$.data(this,"mousewheel-line-height",special.getLineHeight(this)),$.data(this,"mousewheel-page-height",special.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var i=toBind.length;i;)this.removeEventListener(toBind[--i],handler,!1);else this.onmousewheel=null},getLineHeight:function(elem){return parseInt($(elem)["offsetParent"in $.fn?"offsetParent":"parent"]().css("fontSize"),10)},getPageHeight:function(elem){return $(elem).height()},settings:{adjustOldDeltas:!0}};$.fn.extend({mousewheel:function(fn){return fn?this.bind("mousewheel",fn):this.trigger("mousewheel")},unmousewheel:function(fn){return this.unbind("mousewheel",fn)}})});var jvm={inherits:function(child,parent){function temp(){}temp.prototype=parent.prototype,child.prototype=new temp,child.prototype.constructor=child,child.parentClass=parent},mixin:function(target,source){var prop;for(prop in source.prototype)source.prototype.hasOwnProperty(prop)&&(target.prototype[prop]=source.prototype[prop])},min:function(values){var i,min=Number.MAX_VALUE;if(values instanceof Array)for(i=0;i<values.length;i++)values[i]<min&&(min=values[i]);else for(i in values)values[i]<min&&(min=values[i]);return min},max:function(values){var i,max=Number.MIN_VALUE;if(values instanceof Array)for(i=0;i<values.length;i++)values[i]>max&&(max=values[i]);else for(i in values)values[i]>max&&(max=values[i]);return max},keys:function(object){var key,keys=[];for(key in object)keys.push(key);return keys},values:function(object){var key,i,values=[];for(i=0;i<arguments.length;i++){object=arguments[i];for(key in object)values.push(object[key])}return values},whenImageLoaded:function(url){var deferred=new jvm.$.Deferred,img=jvm.$("<img/>");return img.error(function(){deferred.reject()}).load(function(){deferred.resolve(img)}),img.attr("src",url),deferred},isImageUrl:function(s){return/\.\w{3,4}$/.test(s)}};jvm.$=jQuery,Array.prototype.indexOf||(Array.prototype.indexOf=function(searchElement,fromIndex){var k;if(null==this)throw new TypeError('"this" is null or not defined');var O=Object(this),len=O.length>>>0;if(0===len)return-1;var n=+fromIndex||0;if(1/0===Math.abs(n)&&(n=0),n>=len)return-1;for(k=Math.max(n>=0?n:len-Math.abs(n),0);len>k;){if(k in O&&O[k]===searchElement)return k;k++}return-1}),jvm.AbstractElement=function(name,config){this.node=this.createElement(name),this.name=name,this.properties={},config&&this.set(config)},jvm.AbstractElement.prototype.set=function(property,value){var key;if("object"==typeof property)for(key in property)this.properties[key]=property[key],this.applyAttr(key,property[key]);else this.properties[property]=value,this.applyAttr(property,value)},jvm.AbstractElement.prototype.get=function(property){return this.properties[property]},jvm.AbstractElement.prototype.applyAttr=function(property,value){this.node.setAttribute(property,value)},jvm.AbstractElement.prototype.remove=function(){jvm.$(this.node).remove()},jvm.AbstractCanvasElement=function(container,width,height){this.container=container,this.setSize(width,height),this.rootElement=new jvm[this.classPrefix+"GroupElement"],this.node.appendChild(this.rootElement.node),this.container.appendChild(this.node)},jvm.AbstractCanvasElement.prototype.add=function(element,group){group=group||this.rootElement,group.add(element),element.canvas=this},jvm.AbstractCanvasElement.prototype.addPath=function(config,style,group){var el=new jvm[this.classPrefix+"PathElement"](config,style);return this.add(el,group),el},jvm.AbstractCanvasElement.prototype.addCircle=function(config,style,group){var el=new jvm[this.classPrefix+"CircleElement"](config,style);return this.add(el,group),el},jvm.AbstractCanvasElement.prototype.addImage=function(config,style,group){var el=new jvm[this.classPrefix+"ImageElement"](config,style);return this.add(el,group),el},jvm.AbstractCanvasElement.prototype.addText=function(config,style,group){var el=new jvm[this.classPrefix+"TextElement"](config,style);return this.add(el,group),el},jvm.AbstractCanvasElement.prototype.addGroup=function(parentGroup){var el=new jvm[this.classPrefix+"GroupElement"];return parentGroup?parentGroup.node.appendChild(el.node):this.node.appendChild(el.node),el.canvas=this,el},jvm.AbstractShapeElement=function(name,config,style){this.style=style||{},this.style.current=this.style.current||{},this.isHovered=!1,this.isSelected=!1,this.updateStyle()},jvm.AbstractShapeElement.prototype.setStyle=function(property,value){var styles={};"object"==typeof property?styles=property:styles[property]=value,jvm.$.extend(this.style.current,styles),this.updateStyle()},jvm.AbstractShapeElement.prototype.updateStyle=function(){var attrs={};jvm.AbstractShapeElement.mergeStyles(attrs,this.style.initial),jvm.AbstractShapeElement.mergeStyles(attrs,this.style.current),this.isHovered&&jvm.AbstractShapeElement.mergeStyles(attrs,this.style.hover),this.isSelected&&(jvm.AbstractShapeElement.mergeStyles(attrs,this.style.selected),this.isHovered&&jvm.AbstractShapeElement.mergeStyles(attrs,this.style.selectedHover)),this.set(attrs)},jvm.AbstractShapeElement.mergeStyles=function(styles,newStyles){var key;newStyles=newStyles||{};for(key in newStyles)null===newStyles[key]?delete styles[key]:styles[key]=newStyles[key]},jvm.SVGElement=function(){jvm.SVGElement.parentClass.apply(this,arguments)},jvm.inherits(jvm.SVGElement,jvm.AbstractElement),jvm.SVGElement.svgns="http://www.w3.org/2000/svg",jvm.SVGElement.prototype.createElement=function(tagName){return document.createElementNS(jvm.SVGElement.svgns,tagName)},jvm.SVGElement.prototype.addClass=function(className){this.node.setAttribute("class",className)},jvm.SVGElement.prototype.getElementCtr=function(ctr){return jvm["SVG"+ctr]},jvm.SVGElement.prototype.getBBox=function(){return this.node.getBBox()},jvm.SVGGroupElement=function(){jvm.SVGGroupElement.parentClass.call(this,"g")},jvm.inherits(jvm.SVGGroupElement,jvm.SVGElement),jvm.SVGGroupElement.prototype.add=function(element){this.node.appendChild(element.node)},jvm.SVGCanvasElement=function(){this.classPrefix="SVG",jvm.SVGCanvasElement.parentClass.call(this,"svg"),this.defsElement=new jvm.SVGElement("defs"),this.node.appendChild(this.defsElement.node),jvm.AbstractCanvasElement.apply(this,arguments)},jvm.inherits(jvm.SVGCanvasElement,jvm.SVGElement),jvm.mixin(jvm.SVGCanvasElement,jvm.AbstractCanvasElement),jvm.SVGCanvasElement.prototype.setSize=function(width,height){this.width=width,this.height=height,this.node.setAttribute("width",width),this.node.setAttribute("height",height)},jvm.SVGCanvasElement.prototype.applyTransformParams=function(scale,transX,transY){this.scale=scale,this.transX=transX,this.transY=transY,this.rootElement.node.setAttribute("transform","scale("+scale+") translate("+transX+", "+transY+")")},jvm.SVGShapeElement=function(name,config){jvm.SVGShapeElement.parentClass.call(this,name,config),jvm.AbstractShapeElement.apply(this,arguments)},jvm.inherits(jvm.SVGShapeElement,jvm.SVGElement),jvm.mixin(jvm.SVGShapeElement,jvm.AbstractShapeElement),jvm.SVGShapeElement.prototype.applyAttr=function(attr,value){var patternEl,imageEl,that=this;"fill"===attr&&jvm.isImageUrl(value)?jvm.SVGShapeElement.images[value]?this.applyAttr("fill","url(#image"+jvm.SVGShapeElement.images[value]+")"):jvm.whenImageLoaded(value).then(function(img){imageEl=new jvm.SVGElement("image"),imageEl.node.setAttributeNS("http://www.w3.org/1999/xlink","href",value),imageEl.applyAttr("x","0"),imageEl.applyAttr("y","0"),imageEl.applyAttr("width",img[0].width),imageEl.applyAttr("height",img[0].height),patternEl=new jvm.SVGElement("pattern"),patternEl.applyAttr("id","image"+jvm.SVGShapeElement.imageCounter),patternEl.applyAttr("x",0),patternEl.applyAttr("y",0),patternEl.applyAttr("width",img[0].width/2),patternEl.applyAttr("height",img[0].height/2),patternEl.applyAttr("viewBox","0 0 "+img[0].width+" "+img[0].height),patternEl.applyAttr("patternUnits","userSpaceOnUse"),patternEl.node.appendChild(imageEl.node),that.canvas.defsElement.node.appendChild(patternEl.node),jvm.SVGShapeElement.images[value]=jvm.SVGShapeElement.imageCounter++,that.applyAttr("fill","url(#image"+jvm.SVGShapeElement.images[value]+")")}):jvm.SVGShapeElement.parentClass.prototype.applyAttr.apply(this,arguments)},jvm.SVGShapeElement.imageCounter=1,jvm.SVGShapeElement.images={},jvm.SVGPathElement=function(config,style){jvm.SVGPathElement.parentClass.call(this,"path",config,style),this.node.setAttribute("fill-rule","evenodd")},jvm.inherits(jvm.SVGPathElement,jvm.SVGShapeElement),jvm.SVGCircleElement=function(config,style){jvm.SVGCircleElement.parentClass.call(this,"circle",config,style)},jvm.inherits(jvm.SVGCircleElement,jvm.SVGShapeElement),jvm.SVGImageElement=function(config,style){jvm.SVGImageElement.parentClass.call(this,"image",config,style)},jvm.inherits(jvm.SVGImageElement,jvm.SVGShapeElement),jvm.SVGImageElement.prototype.applyAttr=function(attr,value){var that=this;"image"==attr?jvm.whenImageLoaded(value).then(function(img){that.node.setAttributeNS("http://www.w3.org/1999/xlink","href",value),that.width=img[0].width,that.height=img[0].height,that.applyAttr("width",that.width),that.applyAttr("height",that.height),that.applyAttr("x",that.cx-that.width/2),that.applyAttr("y",that.cy-that.height/2),jvm.$(that.node).trigger("imageloaded",[img])}):"cx"==attr?(this.cx=value,this.width&&this.applyAttr("x",value-this.width/2)):"cy"==attr?(this.cy=value,this.height&&this.applyAttr("y",value-this.height/2)):jvm.SVGImageElement.parentClass.prototype.applyAttr.apply(this,arguments)},jvm.SVGTextElement=function(config,style){jvm.SVGTextElement.parentClass.call(this,"text",config,style)},jvm.inherits(jvm.SVGTextElement,jvm.SVGShapeElement),jvm.SVGTextElement.prototype.applyAttr=function(attr,value){"text"===attr?this.node.textContent=value:jvm.SVGTextElement.parentClass.prototype.applyAttr.apply(this,arguments)},jvm.VMLElement=function(){jvm.VMLElement.VMLInitialized||jvm.VMLElement.initializeVML(),jvm.VMLElement.parentClass.apply(this,arguments)},jvm.inherits(jvm.VMLElement,jvm.AbstractElement),jvm.VMLElement.VMLInitialized=!1,jvm.VMLElement.initializeVML=function(){try{document.namespaces.rvml||document.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),jvm.VMLElement.prototype.createElement=function(tagName){return document.createElement("<rvml:"+tagName+' class="rvml">')}}catch(e){jvm.VMLElement.prototype.createElement=function(tagName){return document.createElement("<"+tagName+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}document.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)"),jvm.VMLElement.VMLInitialized=!0},jvm.VMLElement.prototype.getElementCtr=function(ctr){return jvm["VML"+ctr]},jvm.VMLElement.prototype.addClass=function(className){jvm.$(this.node).addClass(className)},jvm.VMLElement.prototype.applyAttr=function(attr,value){this.node[attr]=value},jvm.VMLElement.prototype.getBBox=function(){var node=jvm.$(this.node);return{x:node.position().left/this.canvas.scale,y:node.position().top/this.canvas.scale,width:node.width()/this.canvas.scale,height:node.height()/this.canvas.scale}},jvm.VMLGroupElement=function(){jvm.VMLGroupElement.parentClass.call(this,"group"),this.node.style.left="0px",this.node.style.top="0px",this.node.coordorigin="0 0"},jvm.inherits(jvm.VMLGroupElement,jvm.VMLElement),jvm.VMLGroupElement.prototype.add=function(element){this.node.appendChild(element.node)},jvm.VMLCanvasElement=function(){this.classPrefix="VML",jvm.VMLCanvasElement.parentClass.call(this,"group"),jvm.AbstractCanvasElement.apply(this,arguments),this.node.style.position="absolute"},jvm.inherits(jvm.VMLCanvasElement,jvm.VMLElement),jvm.mixin(jvm.VMLCanvasElement,jvm.AbstractCanvasElement),jvm.VMLCanvasElement.prototype.setSize=function(width,height){var paths,groups,i,l;if(this.width=width,this.height=height,this.node.style.width=width+"px",this.node.style.height=height+"px",this.node.coordsize=width+" "+height,this.node.coordorigin="0 0",this.rootElement){for(paths=this.rootElement.node.getElementsByTagName("shape"),i=0,l=paths.length;l>i;i++)paths[i].coordsize=width+" "+height,paths[i].style.width=width+"px",paths[i].style.height=height+"px";for(groups=this.node.getElementsByTagName("group"),i=0,l=groups.length;l>i;i++)groups[i].coordsize=width+" "+height,groups[i].style.width=width+"px",groups[i].style.height=height+"px"}},jvm.VMLCanvasElement.prototype.applyTransformParams=function(scale,transX,transY){this.scale=scale,this.transX=transX,this.transY=transY,this.rootElement.node.coordorigin=this.width-transX-this.width/100+","+(this.height-transY-this.height/100),this.rootElement.node.coordsize=this.width/scale+","+this.height/scale},jvm.VMLShapeElement=function(name,config){jvm.VMLShapeElement.parentClass.call(this,name,config),this.fillElement=new jvm.VMLElement("fill"),this.strokeElement=new jvm.VMLElement("stroke"),this.node.appendChild(this.fillElement.node),this.node.appendChild(this.strokeElement.node),this.node.stroked=!1,jvm.AbstractShapeElement.apply(this,arguments)},jvm.inherits(jvm.VMLShapeElement,jvm.VMLElement),jvm.mixin(jvm.VMLShapeElement,jvm.AbstractShapeElement),jvm.VMLShapeElement.prototype.applyAttr=function(attr,value){switch(attr){case"fill":this.node.fillcolor=value;break;case"fill-opacity":this.fillElement.node.opacity=Math.round(100*value)+"%";break;case"stroke":this.node.stroked="none"===value?!1:!0,this.node.strokecolor=value;break;case"stroke-opacity":this.strokeElement.node.opacity=Math.round(100*value)+"%";break;case"stroke-width":this.node.stroked=0===parseInt(value,10)?!1:!0,this.node.strokeweight=value;break;case"d":this.node.path=jvm.VMLPathElement.pathSvgToVml(value);break;default:jvm.VMLShapeElement.parentClass.prototype.applyAttr.apply(this,arguments)}},jvm.VMLPathElement=function(config,style){var scale=new jvm.VMLElement("skew");jvm.VMLPathElement.parentClass.call(this,"shape",config,style),this.node.coordorigin="0 0",scale.node.on=!0,scale.node.matrix="0.01,0,0,0.01,0,0",scale.node.offset="0,0",this.node.appendChild(scale.node)},jvm.inherits(jvm.VMLPathElement,jvm.VMLShapeElement),jvm.VMLPathElement.prototype.applyAttr=function(attr,value){"d"===attr?this.node.path=jvm.VMLPathElement.pathSvgToVml(value):jvm.VMLShapeElement.prototype.applyAttr.call(this,attr,value)},jvm.VMLPathElement.pathSvgToVml=function(path){var ctrlx,ctrly,cx=0,cy=0;return path=path.replace(/(-?\d+)e(-?\d+)/g,"0"),path.replace(/([MmLlHhVvCcSs])\s*((?:-?\d*(?:\.\d+)?\s*,?\s*)+)/g,function(segment,letter,coords){coords=coords.replace(/(\d)-/g,"$1,-").replace(/^\s+/g,"").replace(/\s+$/g,"").replace(/\s+/g,",").split(","),coords[0]||coords.shift();for(var i=0,l=coords.length;l>i;i++)coords[i]=Math.round(100*coords[i]);switch(letter){case"m":return cx+=coords[0],cy+=coords[1],"t"+coords.join(",");case"M":return cx=coords[0],cy=coords[1],"m"+coords.join(",");case"l":return cx+=coords[0],cy+=coords[1],"r"+coords.join(",");case"L":return cx=coords[0],cy=coords[1],"l"+coords.join(",");case"h":return cx+=coords[0],"r"+coords[0]+",0";case"H":return cx=coords[0],"l"+cx+","+cy;case"v":return cy+=coords[0],"r0,"+coords[0];case"V":return cy=coords[0],"l"+cx+","+cy;case"c":return ctrlx=cx+coords[coords.length-4],ctrly=cy+coords[coords.length-3],cx+=coords[coords.length-2],cy+=coords[coords.length-1],"v"+coords.join(",");case"C":return ctrlx=coords[coords.length-4],ctrly=coords[coords.length-3],cx=coords[coords.length-2],cy=coords[coords.length-1],"c"+coords.join(",");case"s":return coords.unshift(cy-ctrly),coords.unshift(cx-ctrlx),ctrlx=cx+coords[coords.length-4],ctrly=cy+coords[coords.length-3],cx+=coords[coords.length-2],cy+=coords[coords.length-1],"v"+coords.join(",");case"S":return coords.unshift(cy+cy-ctrly),coords.unshift(cx+cx-ctrlx),ctrlx=coords[coords.length-4],ctrly=coords[coords.length-3],cx=coords[coords.length-2],cy=coords[coords.length-1],"c"+coords.join(",")}return""}).replace(/z/g,"e")},jvm.VMLCircleElement=function(config,style){jvm.VMLCircleElement.parentClass.call(this,"oval",config,style)},jvm.inherits(jvm.VMLCircleElement,jvm.VMLShapeElement),jvm.VMLCircleElement.prototype.applyAttr=function(attr,value){switch(attr){case"r":this.node.style.width=2*value+"px",this.node.style.height=2*value+"px",this.applyAttr("cx",this.get("cx")||0),this.applyAttr("cy",this.get("cy")||0);break;case"cx":if(!value)return;this.node.style.left=value-(this.get("r")||0)+"px";break;case"cy":if(!value)return;this.node.style.top=value-(this.get("r")||0)+"px";break;default:jvm.VMLCircleElement.parentClass.prototype.applyAttr.call(this,attr,value)}},jvm.VectorCanvas=function(container,width,height){return this.mode=window.SVGAngle?"svg":"vml",this.impl="svg"==this.mode?new jvm.SVGCanvasElement(container,width,height):new jvm.VMLCanvasElement(container,width,height),this.impl.mode=this.mode,this.impl},jvm.SimpleScale=function(scale){this.scale=scale},jvm.SimpleScale.prototype.getValue=function(value){return value},jvm.OrdinalScale=function(scale){this.scale=scale},jvm.OrdinalScale.prototype.getValue=function(value){return this.scale[value]},jvm.OrdinalScale.prototype.getTicks=function(){var key,ticks=[];for(key in this.scale)ticks.push({label:key,value:this.scale[key]});return ticks},jvm.NumericScale=function(scale,normalizeFunction,minValue,maxValue){this.scale=[],normalizeFunction=normalizeFunction||"linear",scale&&this.setScale(scale),normalizeFunction&&this.setNormalizeFunction(normalizeFunction),"undefined"!=typeof minValue&&this.setMin(minValue),"undefined"!=typeof maxValue&&this.setMax(maxValue)},jvm.NumericScale.prototype={setMin:function(min){this.clearMinValue=min,this.minValue="function"==typeof this.normalize?this.normalize(min):min},setMax:function(max){this.clearMaxValue=max,this.maxValue="function"==typeof this.normalize?this.normalize(max):max},setScale:function(scale){var i;for(this.scale=[],i=0;i<scale.length;i++)this.scale[i]=[scale[i]]},setNormalizeFunction:function(f){"polynomial"===f?this.normalize=function(value){return Math.pow(value,.2)}:"linear"===f?delete this.normalize:this.normalize=f,this.setMin(this.clearMinValue),this.setMax(this.clearMaxValue)},getValue:function(value){var l,c,lengthes=[],fullLength=0,i=0;for("function"==typeof this.normalize&&(value=this.normalize(value)),i=0;i<this.scale.length-1;i++)l=this.vectorLength(this.vectorSubtract(this.scale[i+1],this.scale[i])),lengthes.push(l),fullLength+=l;for(c=(this.maxValue-this.minValue)/fullLength,i=0;i<lengthes.length;i++)lengthes[i]*=c;for(i=0,value-=this.minValue;value-lengthes[i]>=0;)value-=lengthes[i],i++;return value=this.vectorToNum(i==this.scale.length-1?this.scale[i]:this.vectorAdd(this.scale[i],this.vectorMult(this.vectorSubtract(this.scale[i+1],this.scale[i]),value/lengthes[i])))},vectorToNum:function(vector){var i,num=0;for(i=0;i<vector.length;i++)num+=Math.round(vector[i])*Math.pow(256,vector.length-i-1);return num},vectorSubtract:function(vector1,vector2){var i,vector=[];for(i=0;i<vector1.length;i++)vector[i]=vector1[i]-vector2[i];return vector},vectorAdd:function(vector1,vector2){var i,vector=[];for(i=0;i<vector1.length;i++)vector[i]=vector1[i]+vector2[i];return vector},vectorMult:function(vector,num){var i,result=[];for(i=0;i<vector.length;i++)result[i]=vector[i]*num;return result},vectorLength:function(vector){var i,result=0;for(i=0;i<vector.length;i++)result+=vector[i]*vector[i];return Math.sqrt(result)},getTicks:function(){var tick,v,m=5,extent=[this.clearMinValue,this.clearMaxValue],span=extent[1]-extent[0],step=Math.pow(10,Math.floor(Math.log(span/m)/Math.LN10)),err=m/span*step,ticks=[];for(.15>=err?step*=10:.35>=err?step*=5:.75>=err&&(step*=2),extent[0]=Math.floor(extent[0]/step)*step,extent[1]=Math.ceil(extent[1]/step)*step,tick=extent[0];tick<=extent[1];)v=tick==extent[0]?this.clearMinValue:tick==extent[1]?this.clearMaxValue:tick,ticks.push({label:tick,value:this.getValue(v)}),tick+=step;return ticks}},jvm.ColorScale=function(){jvm.ColorScale.parentClass.apply(this,arguments)},jvm.inherits(jvm.ColorScale,jvm.NumericScale),jvm.ColorScale.prototype.setScale=function(scale){var i;for(i=0;i<scale.length;i++)this.scale[i]=jvm.ColorScale.rgbToArray(scale[i])},jvm.ColorScale.prototype.getValue=function(value){return jvm.ColorScale.numToRgb(jvm.ColorScale.parentClass.prototype.getValue.call(this,value))},jvm.ColorScale.arrayToRgb=function(ar){var d,i,rgb="#";for(i=0;i<ar.length;i++)d=ar[i].toString(16),rgb+=1==d.length?"0"+d:d;return rgb},jvm.ColorScale.numToRgb=function(num){for(num=num.toString(16);num.length<6;)num="0"+num;return"#"+num},jvm.ColorScale.rgbToArray=function(rgb){return rgb=rgb.substr(1),[parseInt(rgb.substr(0,2),16),parseInt(rgb.substr(2,2),16),parseInt(rgb.substr(4,2),16)]},jvm.Legend=function(params){this.params=params||{},this.map=this.params.map,this.series=this.params.series,this.body=jvm.$("<div/>"),this.body.addClass("jvectormap-legend"),this.params.cssClass&&this.body.addClass(this.params.cssClass),params.vertical?this.map.legendCntVertical.append(this.body):this.map.legendCntHorizontal.append(this.body),this.render()},jvm.Legend.prototype.render=function(){var i,tick,sample,label,ticks=this.series.scale.getTicks(),inner=jvm.$("<div/>").addClass("jvectormap-legend-inner");for(this.body.html(""),this.params.title&&this.body.append(jvm.$("<div/>").addClass("jvectormap-legend-title").html(this.params.title)),this.body.append(inner),i=0;i<ticks.length;i++){switch(tick=jvm.$("<div/>").addClass("jvectormap-legend-tick"),sample=jvm.$("<div/>").addClass("jvectormap-legend-tick-sample"),this.series.params.attribute){case"fill":jvm.isImageUrl(ticks[i].value)?sample.css("background","url("+ticks[i].value+")"):sample.css("background",ticks[i].value);break;case"stroke":sample.css("background",ticks[i].value);break;case"image":sample.css("background","url("+ticks[i].value+") no-repeat center center");break;case"r":jvm.$("<div/>").css({"border-radius":ticks[i].value,border:this.map.params.markerStyle.initial["stroke-width"]+"px "+this.map.params.markerStyle.initial.stroke+" solid",width:2*ticks[i].value+"px",height:2*ticks[i].value+"px",background:this.map.params.markerStyle.initial.fill}).appendTo(sample)}tick.append(sample),label=ticks[i].label,this.params.labelRender&&(label=this.params.labelRender(label)),tick.append(jvm.$("<div>"+label+" </div>").addClass("jvectormap-legend-tick-text")),inner.append(tick)}inner.append(jvm.$("<div/>").css("clear","both"))},jvm.DataSeries=function(params,elements,map){var scaleConstructor;params=params||{},params.attribute=params.attribute||"fill",this.elements=elements,this.params=params,this.map=map,params.attributes&&this.setAttributes(params.attributes),jvm.$.isArray(params.scale)?(scaleConstructor="fill"===params.attribute||"stroke"===params.attribute?jvm.ColorScale:jvm.NumericScale,this.scale=new scaleConstructor(params.scale,params.normalizeFunction,params.min,params.max)):this.scale=params.scale?new jvm.OrdinalScale(params.scale):new jvm.SimpleScale(params.scale),this.values=params.values||{},this.setValues(this.values),this.params.legend&&(this.legend=new jvm.Legend($.extend({map:this.map,series:this},this.params.legend)))},jvm.DataSeries.prototype={setAttributes:function(key,attr){var code,attrs=key;if("string"==typeof key)this.elements[key]&&this.elements[key].setStyle(this.params.attribute,attr);else for(code in attrs)this.elements[code]&&this.elements[code].element.setStyle(this.params.attribute,attrs[code])},setValues:function(values){var val,cc,max=-Number.MAX_VALUE,min=Number.MAX_VALUE,attrs={};if(this.scale instanceof jvm.OrdinalScale||this.scale instanceof jvm.SimpleScale)for(cc in values)attrs[cc]=values[cc]?this.scale.getValue(values[cc]):this.elements[cc].element.style.initial[this.params.attribute];else{if("undefined"==typeof this.params.min||"undefined"==typeof this.params.max)for(cc in values)val=parseFloat(values[cc]),val>max&&(max=val),min>val&&(min=val);"undefined"==typeof this.params.min?(this.scale.setMin(min),this.params.min=min):this.scale.setMin(this.params.min),"undefined"==typeof this.params.max?(this.scale.setMax(max),this.params.max=max):this.scale.setMax(this.params.max);for(cc in values)"indexOf"!=cc&&(val=parseFloat(values[cc]),attrs[cc]=isNaN(val)?this.elements[cc].element.style.initial[this.params.attribute]:this.scale.getValue(val))}this.setAttributes(attrs),jvm.$.extend(this.values,values)},clear:function(){var key,attrs={};for(key in this.values)this.elements[key]&&(attrs[key]=this.elements[key].element.shape.style.initial[this.params.attribute]);this.setAttributes(attrs),this.values={}},setScale:function(scale){this.scale.setScale(scale),this.values&&this.setValues(this.values)},setNormalizeFunction:function(f){this.scale.setNormalizeFunction(f),this.values&&this.setValues(this.values)}},jvm.Proj={degRad:180/Math.PI,radDeg:Math.PI/180,radius:6381372,sgn:function(n){return n>0?1:0>n?-1:n},mill:function(lat,lng,c){return{x:this.radius*(lng-c)*this.radDeg,y:-this.radius*Math.log(Math.tan((45+.4*lat)*this.radDeg))/.8}},mill_inv:function(x,y,c){return{lat:(2.5*Math.atan(Math.exp(.8*y/this.radius))-5*Math.PI/8)*this.degRad,lng:(c*this.radDeg+x/this.radius)*this.degRad}},merc:function(lat,lng,c){return{x:this.radius*(lng-c)*this.radDeg,y:-this.radius*Math.log(Math.tan(Math.PI/4+lat*Math.PI/360))}},merc_inv:function(x,y,c){return{lat:(2*Math.atan(Math.exp(y/this.radius))-Math.PI/2)*this.degRad,lng:(c*this.radDeg+x/this.radius)*this.degRad}},aea:function(lat,lng,c){var fi0=0,lambda0=c*this.radDeg,fi1=29.5*this.radDeg,fi2=45.5*this.radDeg,fi=lat*this.radDeg,lambda=lng*this.radDeg,n=(Math.sin(fi1)+Math.sin(fi2))/2,C=Math.cos(fi1)*Math.cos(fi1)+2*n*Math.sin(fi1),theta=n*(lambda-lambda0),ro=Math.sqrt(C-2*n*Math.sin(fi))/n,ro0=Math.sqrt(C-2*n*Math.sin(fi0))/n;return{x:ro*Math.sin(theta)*this.radius,y:-(ro0-ro*Math.cos(theta))*this.radius}},aea_inv:function(xCoord,yCoord,c){var x=xCoord/this.radius,y=yCoord/this.radius,fi0=0,lambda0=c*this.radDeg,fi1=29.5*this.radDeg,fi2=45.5*this.radDeg,n=(Math.sin(fi1)+Math.sin(fi2))/2,C=Math.cos(fi1)*Math.cos(fi1)+2*n*Math.sin(fi1),ro0=Math.sqrt(C-2*n*Math.sin(fi0))/n,ro=Math.sqrt(x*x+(ro0-y)*(ro0-y)),theta=Math.atan(x/(ro0-y));return{lat:Math.asin((C-ro*ro*n*n)/(2*n))*this.degRad,lng:(lambda0+theta/n)*this.degRad}},lcc:function(lat,lng,c){var fi0=0,lambda0=c*this.radDeg,lambda=lng*this.radDeg,fi1=33*this.radDeg,fi2=45*this.radDeg,fi=lat*this.radDeg,n=Math.log(Math.cos(fi1)*(1/Math.cos(fi2)))/Math.log(Math.tan(Math.PI/4+fi2/2)*(1/Math.tan(Math.PI/4+fi1/2))),F=Math.cos(fi1)*Math.pow(Math.tan(Math.PI/4+fi1/2),n)/n,ro=F*Math.pow(1/Math.tan(Math.PI/4+fi/2),n),ro0=F*Math.pow(1/Math.tan(Math.PI/4+fi0/2),n);return{x:ro*Math.sin(n*(lambda-lambda0))*this.radius,y:-(ro0-ro*Math.cos(n*(lambda-lambda0)))*this.radius}},lcc_inv:function(xCoord,yCoord,c){var x=xCoord/this.radius,y=yCoord/this.radius,fi0=0,lambda0=c*this.radDeg,fi1=33*this.radDeg,fi2=45*this.radDeg,n=Math.log(Math.cos(fi1)*(1/Math.cos(fi2)))/Math.log(Math.tan(Math.PI/4+fi2/2)*(1/Math.tan(Math.PI/4+fi1/2))),F=Math.cos(fi1)*Math.pow(Math.tan(Math.PI/4+fi1/2),n)/n,ro0=F*Math.pow(1/Math.tan(Math.PI/4+fi0/2),n),ro=this.sgn(n)*Math.sqrt(x*x+(ro0-y)*(ro0-y)),theta=Math.atan(x/(ro0-y));return{lat:(2*Math.atan(Math.pow(F/ro,1/n))-Math.PI/2)*this.degRad,lng:(lambda0+theta/n)*this.degRad}}},jvm.MapObject=function(){},jvm.MapObject.prototype.getLabelText=function(key){var text;return text=this.config.label?"function"==typeof this.config.label.render?this.config.label.render(key):key:null},jvm.MapObject.prototype.getLabelOffsets=function(key){var offsets;return this.config.label&&("function"==typeof this.config.label.offsets?offsets=this.config.label.offsets(key):"object"==typeof this.config.label.offsets&&(offsets=this.config.label.offsets[key])),offsets||[0,0]},jvm.MapObject.prototype.setHovered=function(isHovered){this.isHovered!==isHovered&&(this.isHovered=isHovered,this.shape.isHovered=isHovered,this.shape.updateStyle(),this.label&&(this.label.isHovered=isHovered,this.label.updateStyle()))},jvm.MapObject.prototype.setSelected=function(isSelected){this.isSelected!==isSelected&&(this.isSelected=isSelected,this.shape.isSelected=isSelected,this.shape.updateStyle(),this.label&&(this.label.isSelected=isSelected,this.label.updateStyle()),jvm.$(this.shape).trigger("selected",[isSelected]))},jvm.MapObject.prototype.setStyle=function(){this.shape.setStyle.apply(this.shape,arguments)},jvm.MapObject.prototype.remove=function(){this.shape.remove(),this.label&&this.label.remove()},jvm.Region=function(config){var bbox,text,offsets;this.config=config,this.map=this.config.map,this.shape=config.canvas.addPath({d:config.path,"data-code":config.code},config.style,config.canvas.rootElement),this.shape.addClass("jvectormap-region jvectormap-element"),bbox=this.shape.getBBox(),text=this.getLabelText(config.code),this.config.label&&text&&(offsets=this.getLabelOffsets(config.code),this.labelX=bbox.x+bbox.width/2+offsets[0],this.labelY=bbox.y+bbox.height/2+offsets[1],this.label=config.canvas.addText({text:text,"text-anchor":"middle","alignment-baseline":"central",x:this.labelX,y:this.labelY,"data-code":config.code},config.labelStyle,config.labelsGroup),this.label.addClass("jvectormap-region jvectormap-element")) },jvm.inherits(jvm.Region,jvm.MapObject),jvm.Region.prototype.updateLabelPosition=function(){this.label&&this.label.set({x:this.labelX*this.map.scale+this.map.transX*this.map.scale,y:this.labelY*this.map.scale+this.map.transY*this.map.scale})},jvm.Marker=function(config){var text;this.config=config,this.map=this.config.map,this.isImage=!!this.config.style.initial.image,this.createShape(),text=this.getLabelText(config.index),this.config.label&&text&&(this.offsets=this.getLabelOffsets(config.index),this.labelX=config.cx/this.map.scale-this.map.transX,this.labelY=config.cy/this.map.scale-this.map.transY,this.label=config.canvas.addText({text:text,"data-index":config.index,dy:"0.6ex",x:this.labelX,y:this.labelY},config.labelStyle,config.labelsGroup),this.label.addClass("jvectormap-marker jvectormap-element"))},jvm.inherits(jvm.Marker,jvm.MapObject),jvm.Marker.prototype.createShape=function(){var that=this;this.shape&&this.shape.remove(),this.shape=this.config.canvas[this.isImage?"addImage":"addCircle"]({"data-index":this.config.index,cx:this.config.cx,cy:this.config.cy},this.config.style,this.config.group),this.shape.addClass("jvectormap-marker jvectormap-element"),this.isImage&&jvm.$(this.shape.node).on("imageloaded",function(){that.updateLabelPosition()})},jvm.Marker.prototype.updateLabelPosition=function(){this.label&&this.label.set({x:this.labelX*this.map.scale+this.offsets[0]+this.map.transX*this.map.scale+5+(this.isImage?(this.shape.width||0)/2:this.shape.properties.r),y:this.labelY*this.map.scale+this.map.transY*this.map.scale+this.offsets[1]})},jvm.Marker.prototype.setStyle=function(property){var isImage;jvm.Marker.parentClass.prototype.setStyle.apply(this,arguments),"r"===property&&this.updateLabelPosition(),isImage=!!this.shape.get("image"),isImage!=this.isImage&&(this.isImage=isImage,this.config.style=jvm.$.extend(!0,{},this.shape.style),this.createShape())},jvm.Map=function(params){var e,map=this;if(this.params=jvm.$.extend(!0,{},jvm.Map.defaultParams,params),!jvm.Map.maps[this.params.map])throw new Error("Attempt to use map which was not loaded: "+this.params.map);this.mapData=jvm.Map.maps[this.params.map],this.markers={},this.regions={},this.regionsColors={},this.regionsData={},this.container=jvm.$("<div>").addClass("jvectormap-container"),this.params.container&&this.params.container.append(this.container),this.container.data("mapObject",this),this.defaultWidth=this.mapData.width,this.defaultHeight=this.mapData.height,this.setBackgroundColor(this.params.backgroundColor),this.onResize=function(){map.updateSize()},jvm.$(window).resize(this.onResize);for(e in jvm.Map.apiEvents)this.params[e]&&this.container.bind(jvm.Map.apiEvents[e]+".jvectormap",this.params[e]);this.canvas=new jvm.VectorCanvas(this.container[0],this.width,this.height),this.params.bindTouchEvents&&("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch?this.bindContainerTouchEvents():window.MSGesture&&this.bindContainerPointerEvents()),this.bindContainerEvents(),this.bindElementEvents(),this.createTip(),this.params.zoomButtons&&this.bindZoomButtons(),this.createRegions(),this.createMarkers(this.params.markers||{}),this.updateSize(),this.params.focusOn&&("string"==typeof this.params.focusOn?this.params.focusOn={region:this.params.focusOn}:jvm.$.isArray(this.params.focusOn)&&(this.params.focusOn={regions:this.params.focusOn}),this.setFocus(this.params.focusOn)),this.params.selectedRegions&&this.setSelectedRegions(this.params.selectedRegions),this.params.selectedMarkers&&this.setSelectedMarkers(this.params.selectedMarkers),this.legendCntHorizontal=jvm.$("<div/>").addClass("jvectormap-legend-cnt jvectormap-legend-cnt-h"),this.legendCntVertical=jvm.$("<div/>").addClass("jvectormap-legend-cnt jvectormap-legend-cnt-v"),this.container.append(this.legendCntHorizontal),this.container.append(this.legendCntVertical),this.params.series&&this.createSeries()},jvm.Map.prototype={transX:0,transY:0,scale:1,baseTransX:0,baseTransY:0,baseScale:1,width:0,height:0,setBackgroundColor:function(backgroundColor){this.container.css("background-color",backgroundColor)},resize:function(){var curBaseScale=this.baseScale;this.width/this.height>this.defaultWidth/this.defaultHeight?(this.baseScale=this.height/this.defaultHeight,this.baseTransX=Math.abs(this.width-this.defaultWidth*this.baseScale)/(2*this.baseScale)):(this.baseScale=this.width/this.defaultWidth,this.baseTransY=Math.abs(this.height-this.defaultHeight*this.baseScale)/(2*this.baseScale)),this.scale*=this.baseScale/curBaseScale,this.transX*=this.baseScale/curBaseScale,this.transY*=this.baseScale/curBaseScale},updateSize:function(){this.width=this.container.width(),this.height=this.container.height(),this.resize(),this.canvas.setSize(this.width,this.height),this.applyTransform()},reset:function(){var key,i;for(key in this.series)for(i=0;i<this.series[key].length;i++)this.series[key][i].clear();this.scale=this.baseScale,this.transX=this.baseTransX,this.transY=this.baseTransY,this.applyTransform()},applyTransform:function(){var maxTransX,maxTransY,minTransX,minTransY;this.defaultWidth*this.scale<=this.width?(maxTransX=(this.width-this.defaultWidth*this.scale)/(2*this.scale),minTransX=(this.width-this.defaultWidth*this.scale)/(2*this.scale)):(maxTransX=0,minTransX=(this.width-this.defaultWidth*this.scale)/this.scale),this.defaultHeight*this.scale<=this.height?(maxTransY=(this.height-this.defaultHeight*this.scale)/(2*this.scale),minTransY=(this.height-this.defaultHeight*this.scale)/(2*this.scale)):(maxTransY=0,minTransY=(this.height-this.defaultHeight*this.scale)/this.scale),this.transY>maxTransY?this.transY=maxTransY:this.transY<minTransY&&(this.transY=minTransY),this.transX>maxTransX?this.transX=maxTransX:this.transX<minTransX&&(this.transX=minTransX),this.canvas.applyTransformParams(this.scale,this.transX,this.transY),this.markers&&this.repositionMarkers(),this.repositionLabels(),this.container.trigger("viewportChange",[this.scale/this.baseScale,this.transX,this.transY])},bindContainerEvents:function(){var oldPageX,oldPageY,mouseDown=!1,map=this;this.params.panOnDrag&&(this.container.mousemove(function(e){return mouseDown&&(map.transX-=(oldPageX-e.pageX)/map.scale,map.transY-=(oldPageY-e.pageY)/map.scale,map.applyTransform(),oldPageX=e.pageX,oldPageY=e.pageY),!1}).mousedown(function(e){return mouseDown=!0,oldPageX=e.pageX,oldPageY=e.pageY,!1}),this.onContainerMouseUp=function(){mouseDown=!1},jvm.$("body").mouseup(this.onContainerMouseUp)),this.params.zoomOnScroll&&this.container.mousewheel(function(event){var offset=jvm.$(map.container).offset(),centerX=event.pageX-offset.left,centerY=event.pageY-offset.top,zoomStep=Math.pow(1+map.params.zoomOnScrollSpeed/1e3,event.deltaFactor*event.deltaY);map.tip.hide(),map.setScale(map.scale*zoomStep,centerX,centerY),event.preventDefault()})},bindContainerTouchEvents:function(){var touchStartScale,touchStartDistance,touchX,touchY,centerTouchX,centerTouchY,lastTouchesLength,map=this,handleTouchEvent=function(e){var offset,scale,transXOld,transYOld,touches=e.originalEvent.touches;"touchstart"==e.type&&(lastTouchesLength=0),1==touches.length?(1==lastTouchesLength&&(transXOld=map.transX,transYOld=map.transY,map.transX-=(touchX-touches[0].pageX)/map.scale,map.transY-=(touchY-touches[0].pageY)/map.scale,map.applyTransform(),map.tip.hide(),(transXOld!=map.transX||transYOld!=map.transY)&&e.preventDefault()),touchX=touches[0].pageX,touchY=touches[0].pageY):2==touches.length&&(2==lastTouchesLength?(scale=Math.sqrt(Math.pow(touches[0].pageX-touches[1].pageX,2)+Math.pow(touches[0].pageY-touches[1].pageY,2))/touchStartDistance,map.setScale(touchStartScale*scale,centerTouchX,centerTouchY),map.tip.hide(),e.preventDefault()):(offset=jvm.$(map.container).offset(),centerTouchX=touches[0].pageX>touches[1].pageX?touches[1].pageX+(touches[0].pageX-touches[1].pageX)/2:touches[0].pageX+(touches[1].pageX-touches[0].pageX)/2,centerTouchY=touches[0].pageY>touches[1].pageY?touches[1].pageY+(touches[0].pageY-touches[1].pageY)/2:touches[0].pageY+(touches[1].pageY-touches[0].pageY)/2,centerTouchX-=offset.left,centerTouchY-=offset.top,touchStartScale=map.scale,touchStartDistance=Math.sqrt(Math.pow(touches[0].pageX-touches[1].pageX,2)+Math.pow(touches[0].pageY-touches[1].pageY,2)))),lastTouchesLength=touches.length};jvm.$(this.container).bind("touchstart",handleTouchEvent),jvm.$(this.container).bind("touchmove",handleTouchEvent)},bindContainerPointerEvents:function(){var map=this,gesture=new MSGesture,element=this.container[0],handlePointerDownEvent=function(e){gesture.addPointer(e.pointerId)},handleGestureEvent=function(e){var transXOld,transYOld;(0!=e.translationX||0!=e.translationY)&&(transXOld=map.transX,transYOld=map.transY,map.transX+=e.translationX/map.scale,map.transY+=e.translationY/map.scale,map.applyTransform(),map.tip.hide(),(transXOld!=map.transX||transYOld!=map.transY)&&e.preventDefault()),1!=e.scale&&(map.setScale(map.scale*e.scale,e.offsetX,e.offsetY),map.tip.hide(),e.preventDefault())};gesture.target=element,element.addEventListener("MSGestureChange",handleGestureEvent,!1),element.addEventListener("pointerdown",handlePointerDownEvent,!1)},bindElementEvents:function(){var pageX,pageY,mouseMoved,map=this;this.container.mousemove(function(e){Math.abs(pageX-e.pageX)+Math.abs(pageY-e.pageY)>2&&(mouseMoved=!0)}),this.container.delegate("[class~='jvectormap-element']","mouseover mouseout",function(e){var baseVal=jvm.$(this).attr("class").baseVal||jvm.$(this).attr("class"),type=-1===baseVal.indexOf("jvectormap-region")?"marker":"region",code=jvm.$(this).attr("region"==type?"data-code":"data-index"),element="region"==type?map.regions[code].element:map.markers[code].element,tipText="region"==type?map.mapData.paths[code].name:map.markers[code].config.name||"",tipShowEvent=jvm.$.Event(type+"TipShow.jvectormap"),overEvent=jvm.$.Event(type+"Over.jvectormap");"mouseover"==e.type?(map.container.trigger(overEvent,[code]),overEvent.isDefaultPrevented()||element.setHovered(!0),map.tip.text(tipText),map.container.trigger(tipShowEvent,[map.tip,code]),tipShowEvent.isDefaultPrevented()||(map.tip.show(),map.tipWidth=map.tip.width(),map.tipHeight=map.tip.height())):(element.setHovered(!1),map.tip.hide(),map.container.trigger(type+"Out.jvectormap",[code]))}),this.container.delegate("[class~='jvectormap-element']","mousedown",function(e){pageX=e.pageX,pageY=e.pageY,mouseMoved=!1}),this.container.delegate("[class~='jvectormap-element']","mouseup",function(){var baseVal=jvm.$(this).attr("class").baseVal?jvm.$(this).attr("class").baseVal:jvm.$(this).attr("class"),type=-1===baseVal.indexOf("jvectormap-region")?"marker":"region",code=jvm.$(this).attr("region"==type?"data-code":"data-index"),clickEvent=jvm.$.Event(type+"Click.jvectormap"),element="region"==type?map.regions[code].element:map.markers[code].element;mouseMoved||(map.container.trigger(clickEvent,[code]),("region"===type&&map.params.regionsSelectable||"marker"===type&&map.params.markersSelectable)&&(clickEvent.isDefaultPrevented()||(map.params[type+"sSelectableOne"]&&map.clearSelected(type+"s"),element.setSelected(!element.isSelected))))})},bindZoomButtons:function(){var map=this;jvm.$("<div/>").addClass("jvectormap-zoomin").text("+").appendTo(this.container),jvm.$("<div/>").addClass("jvectormap-zoomout").html("−").appendTo(this.container),this.container.find(".jvectormap-zoomin").click(function(){map.setScale(map.scale*map.params.zoomStep,map.width/2,map.height/2,!1,map.params.zoomAnimate)}),this.container.find(".jvectormap-zoomout").click(function(){map.setScale(map.scale/map.params.zoomStep,map.width/2,map.height/2,!1,map.params.zoomAnimate)})},createTip:function(){var map=this;this.tip=jvm.$("<div/>").addClass("jvectormap-tip").appendTo(jvm.$("body")),this.container.mousemove(function(e){var left=e.pageX-15-map.tipWidth,top=e.pageY-15-map.tipHeight;5>left&&(left=e.pageX+15),5>top&&(top=e.pageY+15),map.tip.css({left:left,top:top})})},setScale:function(scale,anchorX,anchorY,isCentered,animate){var interval,scaleStart,scaleDiff,transXStart,transXDiff,transYStart,transYDiff,transX,transY,viewportChangeEvent=jvm.$.Event("zoom.jvectormap"),that=this,i=0,count=Math.abs(Math.round(60*(scale-this.scale)/Math.max(scale,this.scale))),deferred=new jvm.$.Deferred;return scale>this.params.zoomMax*this.baseScale?scale=this.params.zoomMax*this.baseScale:scale<this.params.zoomMin*this.baseScale&&(scale=this.params.zoomMin*this.baseScale),"undefined"!=typeof anchorX&&"undefined"!=typeof anchorY&&(zoomStep=scale/this.scale,isCentered?(transX=anchorX+this.defaultWidth*(this.width/(this.defaultWidth*scale))/2,transY=anchorY+this.defaultHeight*(this.height/(this.defaultHeight*scale))/2):(transX=this.transX-(zoomStep-1)/scale*anchorX,transY=this.transY-(zoomStep-1)/scale*anchorY)),animate&&count>0?(scaleStart=this.scale,scaleDiff=(scale-scaleStart)/count,transXStart=this.transX*this.scale,transYStart=this.transY*this.scale,transXDiff=(transX*scale-transXStart)/count,transYDiff=(transY*scale-transYStart)/count,interval=setInterval(function(){i+=1,that.scale=scaleStart+scaleDiff*i,that.transX=(transXStart+transXDiff*i)/that.scale,that.transY=(transYStart+transYDiff*i)/that.scale,that.applyTransform(),i==count&&(clearInterval(interval),that.container.trigger(viewportChangeEvent,[scale/that.baseScale]),deferred.resolve())},10)):(this.transX=transX,this.transY=transY,this.scale=scale,this.applyTransform(),this.container.trigger(viewportChangeEvent,[scale/this.baseScale]),deferred.resolve()),deferred},setFocus:function(config){var bbox,itemBbox,newBbox,codes,i,point;if(config=config||{},config.region?codes=[config.region]:config.regions&&(codes=config.regions),codes){for(i=0;i<codes.length;i++)this.regions[codes[i]]&&(itemBbox=this.regions[codes[i]].element.shape.getBBox(),itemBbox&&("undefined"==typeof bbox?bbox=itemBbox:(newBbox={x:Math.min(bbox.x,itemBbox.x),y:Math.min(bbox.y,itemBbox.y),width:Math.max(bbox.x+bbox.width,itemBbox.x+itemBbox.width)-Math.min(bbox.x,itemBbox.x),height:Math.max(bbox.y+bbox.height,itemBbox.y+itemBbox.height)-Math.min(bbox.y,itemBbox.y)},bbox=newBbox)));return this.setScale(Math.min(this.width/bbox.width,this.height/bbox.height),-(bbox.x+bbox.width/2),-(bbox.y+bbox.height/2),!0,config.animate)}return config.lat&&config.lng?(point=this.latLngToPoint(config.lat,config.lng),config.x=this.transX-point.x/this.scale,config.y=this.transY-point.y/this.scale):config.x&&config.y&&(config.x*=-this.defaultWidth,config.y*=-this.defaultHeight),this.setScale(config.scale*this.baseScale,config.x,config.y,!0,config.animate)},getSelected:function(type){var key,selected=[];for(key in this[type])this[type][key].element.isSelected&&selected.push(key);return selected},getSelectedRegions:function(){return this.getSelected("regions")},getSelectedMarkers:function(){return this.getSelected("markers")},setSelected:function(type,keys){var i;if("object"!=typeof keys&&(keys=[keys]),jvm.$.isArray(keys))for(i=0;i<keys.length;i++)this[type][keys[i]].element.setSelected(!0);else for(i in keys)this[type][i].element.setSelected(!!keys[i])},setSelectedRegions:function(keys){this.setSelected("regions",keys)},setSelectedMarkers:function(keys){this.setSelected("markers",keys)},clearSelected:function(type){var i,select={},selected=this.getSelected(type);for(i=0;i<selected.length;i++)select[selected[i]]=!1;this.setSelected(type,select)},clearSelectedRegions:function(){this.clearSelected("regions")},clearSelectedMarkers:function(){this.clearSelected("markers")},getMapObject:function(){return this},getRegionName:function(code){return this.mapData.paths[code].name},createRegions:function(){var key,region,map=this;this.regionLabelsGroup=this.regionLabelsGroup||this.canvas.addGroup();for(key in this.mapData.paths)region=new jvm.Region({map:this,path:this.mapData.paths[key].path,code:key,style:jvm.$.extend(!0,{},this.params.regionStyle),labelStyle:jvm.$.extend(!0,{},this.params.regionLabelStyle),canvas:this.canvas,labelsGroup:this.regionLabelsGroup,label:"vml"!=this.canvas.mode?this.params.labels&&this.params.labels.regions:null}),jvm.$(region.shape).bind("selected",function(e,isSelected){map.container.trigger("regionSelected.jvectormap",[jvm.$(this.node).attr("data-code"),isSelected,map.getSelectedRegions()])}),this.regions[key]={element:region,config:this.mapData.paths[key]}},createMarkers:function(markers){var i,marker,point,markerConfig,markersArray,map=this;if(this.markersGroup=this.markersGroup||this.canvas.addGroup(),this.markerLabelsGroup=this.markerLabelsGroup||this.canvas.addGroup(),jvm.$.isArray(markers))for(markersArray=markers.slice(),markers={},i=0;i<markersArray.length;i++)markers[i]=markersArray[i];for(i in markers)markerConfig=markers[i]instanceof Array?{latLng:markers[i]}:markers[i],point=this.getMarkerPosition(markerConfig),point!==!1&&(marker=new jvm.Marker({map:this,style:jvm.$.extend(!0,{},this.params.markerStyle,{initial:markerConfig.style||{}}),labelStyle:jvm.$.extend(!0,{},this.params.markerLabelStyle),index:i,cx:point.x,cy:point.y,group:this.markersGroup,canvas:this.canvas,labelsGroup:this.markerLabelsGroup,label:"vml"!=this.canvas.mode?this.params.labels&&this.params.labels.markers:null}),jvm.$(marker.shape).bind("selected",function(e,isSelected){map.container.trigger("markerSelected.jvectormap",[jvm.$(this.node).attr("data-index"),isSelected,map.getSelectedMarkers()])}),this.markers[i]&&this.removeMarkers([i]),this.markers[i]={element:marker,config:markerConfig})},repositionMarkers:function(){var i,point;for(i in this.markers)point=this.getMarkerPosition(this.markers[i].config),point!==!1&&this.markers[i].element.setStyle({cx:point.x,cy:point.y})},repositionLabels:function(){var key;for(key in this.regions)this.regions[key].element.updateLabelPosition();for(key in this.markers)this.markers[key].element.updateLabelPosition()},getMarkerPosition:function(markerConfig){return jvm.Map.maps[this.params.map].projection?this.latLngToPoint.apply(this,markerConfig.latLng||[0,0]):{x:markerConfig.coords[0]*this.scale+this.transX*this.scale,y:markerConfig.coords[1]*this.scale+this.transY*this.scale}},addMarker:function(key,marker,seriesData){var values,i,markers={},data=[],seriesData=seriesData||[];for(markers[key]=marker,i=0;i<seriesData.length;i++)values={},"undefined"!=typeof seriesData[i]&&(values[key]=seriesData[i]),data.push(values);this.addMarkers(markers,data)},addMarkers:function(markers,seriesData){var i;for(seriesData=seriesData||[],this.createMarkers(markers),i=0;i<seriesData.length;i++)this.series.markers[i].setValues(seriesData[i]||{})},removeMarkers:function(markers){var i;for(i=0;i<markers.length;i++)this.markers[markers[i]].element.remove(),delete this.markers[markers[i]]},removeAllMarkers:function(){var i,markers=[];for(i in this.markers)markers.push(i);this.removeMarkers(markers)},latLngToPoint:function(lat,lng){var point,inset,bbox,proj=jvm.Map.maps[this.params.map].projection,centralMeridian=proj.centralMeridian;return-180+centralMeridian>lng&&(lng+=360),point=jvm.Proj[proj.type](lat,lng,centralMeridian),inset=this.getInsetForPoint(point.x,point.y),inset?(bbox=inset.bbox,point.x=(point.x-bbox[0].x)/(bbox[1].x-bbox[0].x)*inset.width*this.scale,point.y=(point.y-bbox[0].y)/(bbox[1].y-bbox[0].y)*inset.height*this.scale,{x:point.x+this.transX*this.scale+inset.left*this.scale,y:point.y+this.transY*this.scale+inset.top*this.scale}):!1},pointToLatLng:function(x,y){var i,inset,bbox,nx,ny,proj=jvm.Map.maps[this.params.map].projection,centralMeridian=proj.centralMeridian,insets=jvm.Map.maps[this.params.map].insets;for(i=0;i<insets.length;i++)if(inset=insets[i],bbox=inset.bbox,nx=x-(this.transX*this.scale+inset.left*this.scale),ny=y-(this.transY*this.scale+inset.top*this.scale),nx=nx/(inset.width*this.scale)*(bbox[1].x-bbox[0].x)+bbox[0].x,ny=ny/(inset.height*this.scale)*(bbox[1].y-bbox[0].y)+bbox[0].y,nx>bbox[0].x&&nx<bbox[1].x&&ny>bbox[0].y&&ny<bbox[1].y)return jvm.Proj[proj.type+"_inv"](nx,-ny,centralMeridian);return!1},getInsetForPoint:function(x,y){var i,bbox,insets=jvm.Map.maps[this.params.map].insets;for(i=0;i<insets.length;i++)if(bbox=insets[i].bbox,x>bbox[0].x&&x<bbox[1].x&&y>bbox[0].y&&y<bbox[1].y)return insets[i]},createSeries:function(){var i,key;this.series={markers:[],regions:[]};for(key in this.params.series)for(i=0;i<this.params.series[key].length;i++)this.series[key][i]=new jvm.DataSeries(this.params.series[key][i],this[key],this)},remove:function(){this.tip.remove(),this.container.remove(),jvm.$(window).unbind("resize",this.onResize),jvm.$("body").unbind("mouseup",this.onContainerMouseUp)}},jvm.Map.maps={},jvm.Map.defaultParams={map:"world_mill_en",backgroundColor:"#505050",zoomButtons:!0,zoomOnScroll:!0,zoomOnScrollSpeed:3,panOnDrag:!0,zoomMax:8,zoomMin:1,zoomStep:1.6,zoomAnimate:!0,regionsSelectable:!1,markersSelectable:!1,bindTouchEvents:!0,regionStyle:{initial:{fill:"white","fill-opacity":1,stroke:"none","stroke-width":0,"stroke-opacity":1},hover:{"fill-opacity":.8,cursor:"pointer"},selected:{fill:"yellow"},selectedHover:{}},regionLabelStyle:{initial:{"font-family":"Verdana","font-size":"12","font-weight":"bold",cursor:"default",fill:"black"},hover:{cursor:"pointer"}},markerStyle:{initial:{fill:"grey",stroke:"#505050","fill-opacity":1,"stroke-width":1,"stroke-opacity":1,r:5},hover:{stroke:"black","stroke-width":2,cursor:"pointer"},selected:{fill:"blue"},selectedHover:{}},markerLabelStyle:{initial:{"font-family":"Verdana","font-size":"12","font-weight":"bold",cursor:"default",fill:"black"},hover:{cursor:"pointer"}}},jvm.Map.apiEvents={onRegionTipShow:"regionTipShow",onRegionOver:"regionOver",onRegionOut:"regionOut",onRegionClick:"regionClick",onRegionSelected:"regionSelected",onMarkerTipShow:"markerTipShow",onMarkerOver:"markerOver",onMarkerOut:"markerOut",onMarkerClick:"markerClick",onMarkerSelected:"markerSelected",onViewportChange:"viewportChange"},jvm.MultiMap=function(params){var that=this;this.maps={},this.params=jvm.$.extend(!0,{},jvm.MultiMap.defaultParams,params),this.params.maxLevel=this.params.maxLevel||Number.MAX_VALUE,this.params.main=this.params.main||{},this.params.main.multiMapLevel=0,this.history=[this.addMap(this.params.main.map,this.params.main)],this.defaultProjection=this.history[0].mapData.projection.type,this.mapsLoaded={},this.params.container.css({position:"relative"}),this.backButton=jvm.$("<div/>").addClass("jvectormap-goback").text("Back").appendTo(this.params.container),this.backButton.hide(),this.backButton.click(function(){that.goBack()}),this.spinner=jvm.$("<div/>").addClass("jvectormap-spinner").appendTo(this.params.container),this.spinner.hide()},jvm.MultiMap.prototype={addMap:function(name,config){var cnt=jvm.$("<div/>").css({width:"100%",height:"100%"});return this.params.container.append(cnt),this.maps[name]=new jvm.Map(jvm.$.extend(config,{container:cnt})),this.params.maxLevel>config.multiMapLevel&&this.maps[name].container.on("regionClick.jvectormap",{scope:this},function(e,code){var multimap=e.data.scope,mapName=multimap.params.mapNameByCode(code,multimap);multimap.drillDownPromise&&"pending"===multimap.drillDownPromise.state()||multimap.drillDown(mapName,code)}),this.maps[name]},downloadMap:function(code){var that=this,deferred=jvm.$.Deferred();return this.mapsLoaded[code]?deferred.resolve():jvm.$.get(this.params.mapUrlByCode(code,this)).then(function(){that.mapsLoaded[code]=!0,deferred.resolve()},function(){deferred.reject()}),deferred},drillDown:function(name,code){var currentMap=this.history[this.history.length-1],that=this,focusPromise=currentMap.setFocus({region:code,animate:!0}),downloadPromise=this.downloadMap(code);focusPromise.then(function(){"pending"===downloadPromise.state()&&that.spinner.show()}),downloadPromise.always(function(){that.spinner.hide()}),this.drillDownPromise=jvm.$.when(downloadPromise,focusPromise),this.drillDownPromise.then(function(){currentMap.params.container.hide(),that.maps[name]?that.maps[name].params.container.show():that.addMap(name,{map:name,multiMapLevel:currentMap.params.multiMapLevel+1}),that.history.push(that.maps[name]),that.backButton.show()})},goBack:function(){var currentMap=this.history.pop(),prevMap=this.history[this.history.length-1],that=this;currentMap.setFocus({scale:1,x:.5,y:.5,animate:!0}).then(function(){currentMap.params.container.hide(),prevMap.params.container.show(),prevMap.updateSize(),1===that.history.length&&that.backButton.hide(),prevMap.setFocus({scale:1,x:.5,y:.5,animate:!0})})}},jvm.MultiMap.defaultParams={mapNameByCode:function(code,multiMap){return code.toLowerCase()+"_"+multiMap.defaultProjection+"_en"},mapUrlByCode:function(code,multiMap){return"jquery-jvectormap-data-"+code.toLowerCase()+"-"+multiMap.defaultProjection+"-en.js"}};jquery-jvectormap-world-mill.js000064400000313506152325744560012676 0ustar00jQuery.fn.vectorMap('addMap', 'world_mill',{"insets": [{"width": 900, "top": 0, "height": 440.7063107441331, "bbox": [{"y": -12671671.123330014, "x": -20004297.151525836}, {"y": 6930392.025135122, "x": 20026572.394749384}], "left": 0}], "paths": {"BD": {"path": "M651.84,230.21l-0.6,-2.0l-1.36,-1.71l-2.31,-0.11l-0.41,0.48l0.2,0.94l-0.53,0.99l-0.72,-0.36l-0.68,0.35l-1.2,-0.36l-0.37,-2.0l-0.81,-1.86l0.39,-1.46l-0.22,-0.47l-1.14,-0.53l0.29,-0.5l1.48,-0.94l0.03,-0.65l-1.55,-1.22l0.55,-1.14l1.61,0.94l1.04,0.15l0.18,1.54l0.34,0.35l5.64,0.63l-0.84,1.64l-1.22,0.34l-0.77,1.51l0.07,0.47l1.37,1.37l0.67,-0.19l0.42,-1.39l1.21,3.84l-0.03,1.21l-0.33,-0.15l-0.4,0.28Z", "name": "Bangladesh"}, "BE": {"path": "M429.29,144.05l1.91,0.24l2.1,-0.63l2.63,1.99l-0.21,1.66l-0.69,0.4l-0.18,1.2l-1.66,-1.13l-1.39,0.15l-2.73,-2.7l-1.17,-0.18l-0.16,-0.52l1.54,-0.5Z", "name": "Belgium"}, "BF": {"path": "M421.42,247.64l-0.11,0.95l0.34,1.16l1.4,1.71l0.07,1.1l0.32,0.37l2.55,0.51l-0.04,1.28l-0.38,0.53l-1.07,0.21l-0.72,1.18l-0.63,0.21l-3.22,-0.25l-0.94,0.39l-5.4,-0.05l-0.39,0.38l0.16,2.73l-1.23,-0.43l-1.17,0.1l-0.89,0.57l-2.27,-1.72l-0.13,-1.11l0.61,-0.96l0.02,-0.93l1.87,-1.98l0.44,-1.81l0.43,-0.39l1.28,0.26l1.05,-0.52l0.47,-0.73l1.84,-1.09l0.55,-0.83l2.2,-1.0l1.15,-0.3l0.72,0.45l1.13,-0.01Z", "name": "Burkina Faso"}, "BG": {"path": "M491.65,168.18l-0.86,0.88l-0.91,2.17l0.48,1.34l-1.6,-0.24l-2.55,0.95l-0.28,1.51l-1.8,0.22l-2.0,-1.0l-1.92,0.79l-1.42,-0.07l-0.15,-1.63l-1.05,-0.97l0.0,-0.8l1.2,-1.57l0.01,-0.56l-1.14,-1.23l-0.05,-0.94l0.88,0.97l0.88,-0.2l1.91,0.47l3.68,0.16l1.42,-0.81l2.72,-0.66l2.55,1.24Z", "name": "Bulgaria"}, "BA": {"path": "M463.49,163.65l2.1,0.5l1.72,-0.03l1.52,0.68l-0.36,0.78l0.08,0.45l1.04,1.02l-0.25,0.98l-1.81,1.15l-0.38,1.38l-1.67,-0.87l-0.89,-1.2l-2.11,-1.83l-1.63,-2.22l0.23,-0.57l0.48,0.38l0.55,-0.06l0.43,-0.51l0.94,-0.06Z", "name": "Bosnia and Herz."}, "BN": {"path": "M707.48,273.58l0.68,-0.65l1.41,-0.91l-0.15,1.63l-0.81,-0.05l-0.61,0.58l-0.53,-0.6Z", "name": "Brunei"}, "BO": {"path": "M263.83,340.69l-3.09,-0.23l-0.38,0.23l-0.7,1.52l-1.31,-1.53l-3.28,-0.64l-2.37,2.4l-1.31,0.26l-0.88,-3.26l-1.3,-2.86l0.74,-2.37l-0.13,-0.43l-1.2,-1.01l-0.37,-1.89l-1.08,-1.55l1.45,-2.56l-0.96,-2.33l0.47,-1.06l-0.34,-0.73l0.91,-1.32l0.16,-3.84l0.5,-1.18l-1.81,-3.41l2.46,0.07l0.8,-0.85l3.4,-1.91l2.66,-0.35l-0.19,1.38l0.3,1.07l-0.05,1.97l2.72,2.27l2.88,0.49l0.89,0.86l1.79,0.58l0.98,0.7l1.71,0.05l1.17,0.61l0.6,2.7l-0.7,0.54l0.96,2.99l0.37,0.28l4.3,0.1l-0.25,1.2l0.27,1.02l1.43,0.9l0.5,1.35l-0.41,1.86l-0.65,1.08l0.12,1.35l-2.69,-1.65l-2.4,-0.03l-4.36,0.76l-1.49,2.5l-0.11,1.52l-0.75,2.37Z", "name": "Bolivia"}, "JP": {"path": "M781.12,166.87l1.81,0.68l1.62,-0.97l0.39,2.42l-3.35,0.75l-2.23,2.88l-3.63,-1.9l-0.56,0.2l-1.26,3.05l-2.16,0.03l-0.29,-2.51l1.08,-2.03l2.45,-0.16l0.37,-0.33l1.25,-5.94l2.47,2.71l2.03,1.12ZM773.56,187.34l-0.91,2.22l0.37,1.52l-1.14,1.75l-3.02,1.26l-4.58,0.27l-3.34,3.01l-1.25,-0.8l-0.09,-1.9l-0.46,-0.38l-4.35,0.62l-3.0,1.32l-2.85,0.05l-0.37,0.27l0.13,0.44l2.32,1.89l-1.54,4.34l-1.26,0.9l-0.79,-0.7l0.56,-2.27l-0.21,-0.45l-1.47,-0.75l-0.74,-1.4l2.12,-0.84l1.26,-1.7l2.45,-1.42l1.83,-1.91l4.78,-0.81l2.6,0.57l0.44,-0.21l2.39,-4.66l1.29,1.06l0.5,0.01l5.1,-4.02l1.69,-3.73l-0.38,-3.4l0.9,-1.61l2.14,-0.44l1.23,3.72l-0.07,2.18l-2.23,2.84l-0.04,3.16ZM757.78,196.26l0.19,0.56l-1.01,1.21l-1.16,-0.68l-1.28,0.65l-0.69,1.45l-1.02,-0.5l0.01,-0.93l1.14,-1.38l1.57,0.14l0.85,-0.98l1.4,0.46Z", "name": "Japan"}, "BI": {"path": "M495.45,295.49l-1.08,-2.99l1.14,-0.11l0.64,-1.19l0.76,0.09l0.65,1.83l-2.1,2.36Z", "name": "Burundi"}, "BJ": {"path": "M429.57,255.75l-0.05,0.8l0.5,1.34l-0.42,0.86l0.17,0.79l-1.81,2.12l-0.57,1.76l-0.08,5.42l-1.41,0.2l-0.48,-1.36l0.11,-5.71l-0.52,-0.7l-0.2,-1.35l-1.48,-1.48l0.21,-0.9l0.89,-0.43l0.42,-0.92l1.27,-0.36l1.22,-1.34l0.61,-0.0l1.62,1.24Z", "name": "Benin"}, "BT": {"path": "M650.32,213.86l0.84,0.71l-0.12,1.1l-3.76,-0.11l-1.57,0.4l-1.93,-0.87l1.48,-1.96l1.13,-0.57l1.63,0.57l1.33,0.08l0.99,0.65Z", "name": "Bhutan"}, "JM": {"path": "M228.38,239.28l-0.8,0.4l-2.26,-1.06l0.84,-0.23l2.14,0.3l1.17,0.56l-1.08,0.03Z", "name": "Jamaica"}, "BW": {"path": "M483.92,330.07l2.27,4.01l2.83,2.86l0.96,0.31l0.78,2.43l2.13,0.61l1.02,0.76l-3.0,1.64l-2.32,2.02l-1.54,2.69l-1.52,0.45l-0.64,1.94l-1.34,0.52l-1.85,-0.12l-1.21,-0.74l-1.35,-0.3l-1.22,0.62l-0.75,1.37l-2.31,1.9l-1.4,0.21l-0.35,-0.59l0.16,-1.75l-1.48,-2.54l-0.62,-0.43l-0.0,-7.1l2.08,-0.08l0.39,-0.4l0.07,-8.9l5.19,-0.93l0.8,0.89l0.51,0.07l1.5,-0.95l2.21,-0.49Z", "name": "Botswana"}, "BR": {"path": "M259.98,275.05l3.24,0.7l0.65,-0.53l4.55,-1.32l1.08,-1.06l-0.02,-0.63l0.55,-0.05l0.28,0.28l-0.26,0.87l0.22,0.48l0.73,0.32l0.4,0.81l-0.62,0.86l-0.4,2.13l0.82,2.56l1.69,1.43l1.43,0.2l3.17,-1.68l3.18,0.3l0.65,-0.75l-0.27,-0.92l1.9,-0.09l2.39,0.99l1.06,-0.61l0.84,0.78l1.2,-0.18l1.18,-1.06l0.84,-1.94l1.36,-2.11l0.37,-0.05l1.89,5.45l1.33,0.59l0.05,1.28l-1.77,1.94l0.02,0.56l1.02,0.87l4.07,0.36l0.08,2.16l0.66,0.29l1.74,-1.5l6.97,2.32l1.02,1.22l-0.35,1.18l0.49,0.5l2.81,-0.74l4.77,1.3l3.75,-0.08l3.57,2.0l3.29,2.86l1.93,0.72l2.12,0.12l0.71,0.62l1.21,4.51l-0.95,3.98l-4.72,5.06l-1.64,2.92l-1.72,2.05l-0.8,0.3l-0.72,2.03l0.18,4.75l-0.94,5.53l-0.81,1.13l-0.43,3.36l-2.55,3.5l-0.4,2.51l-1.86,1.04l-0.67,1.53l-2.54,0.01l-3.94,1.01l-1.83,1.2l-2.87,0.82l-3.03,2.19l-2.2,2.83l-0.36,2.0l0.4,1.58l-0.44,2.6l-0.51,1.2l-1.77,1.54l-2.75,4.78l-3.83,3.42l-1.24,2.74l-1.18,1.15l-0.36,-0.83l0.95,-1.14l0.01,-0.5l-1.52,-1.97l-4.56,-3.32l-1.03,-0.0l-2.38,-2.02l-0.81,-0.0l5.34,-5.45l3.77,-2.58l0.22,-2.46l-1.35,-1.81l-0.91,0.07l0.58,-2.33l0.01,-1.54l-1.11,-0.83l-1.75,0.3l-0.44,-3.11l-0.52,-0.95l-1.88,-0.88l-1.24,0.47l-2.17,-0.41l0.15,-3.21l-0.62,-1.34l0.66,-0.73l-0.22,-1.34l0.66,-1.13l0.44,-2.04l-0.61,-1.83l-1.4,-0.86l-0.2,-0.75l0.34,-1.39l-0.38,-0.5l-4.52,-0.1l-0.72,-2.22l0.59,-0.42l-0.03,-1.1l-0.5,-0.87l-0.32,-1.7l-1.45,-0.76l-1.63,-0.02l-1.05,-0.72l-1.6,-0.48l-1.13,-0.99l-2.69,-0.4l-2.47,-2.06l0.13,-4.35l-0.45,-0.45l-3.46,0.5l-3.44,1.94l-0.6,0.74l-2.9,-0.17l-1.47,0.42l-0.72,-0.18l0.15,-3.52l-0.63,-0.34l-1.94,1.41l-1.87,-0.06l-0.83,-1.18l-1.37,-0.26l0.21,-1.01l-1.35,-1.49l-0.88,-1.91l0.56,-0.6l-0.0,-0.81l1.29,-0.62l0.22,-0.43l-0.22,-1.19l0.61,-0.91l0.15,-0.99l2.65,-1.58l1.99,-0.47l0.42,-0.36l2.06,0.11l0.42,-0.33l1.19,-8.0l-0.41,-1.56l-1.1,-1.0l0.01,-1.33l1.91,-0.42l0.08,-0.96l-0.33,-0.43l-1.14,-0.2l-0.02,-0.83l4.47,0.05l0.82,-0.67l0.82,1.81l0.8,0.07l1.15,1.1l2.26,-0.05l0.71,-0.83l2.78,-0.96l0.48,-1.13l1.6,-0.64l0.24,-0.47l-0.48,-0.82l-1.83,-0.19l-0.36,-3.22Z", "name": "Brazil"}, "BS": {"path": "M226.4,223.87l-0.48,-1.15l-0.84,-0.75l0.36,-1.11l0.95,1.95l0.01,1.06ZM225.56,216.43l-1.87,0.29l-0.04,-0.22l0.74,-0.14l1.17,0.06Z", "name": "Bahamas"}, "BY": {"path": "M493.84,128.32l0.29,0.7l0.49,0.23l1.19,-0.38l2.09,0.72l0.19,1.26l-0.45,1.24l1.57,2.26l0.89,0.59l0.17,0.81l1.58,0.56l0.4,0.5l-0.53,0.41l-1.87,-0.11l-0.73,0.38l-0.13,0.52l1.04,2.74l-1.91,0.26l-0.89,0.99l-0.11,1.18l-2.73,-0.04l-0.53,-0.62l-0.52,-0.08l-0.75,0.46l-0.91,-0.42l-1.92,-0.07l-2.75,-0.79l-2.6,-0.28l-2.0,0.07l-1.5,0.92l-0.67,0.07l-0.08,-1.22l-0.59,-1.19l1.36,-0.88l0.01,-1.35l-0.7,-1.41l-0.07,-1.0l2.16,-0.02l2.72,-1.3l0.75,-2.04l1.91,-1.04l0.2,-0.41l-0.19,-1.25l3.8,-1.78l2.3,0.77Z", "name": "Belarus"}, "BZ": {"path": "M198.03,244.38l0.1,-4.49l0.69,-0.06l0.74,-1.3l0.34,0.28l-0.4,1.3l0.17,0.58l-0.34,2.25l-1.3,1.42Z", "name": "Belize"}, "RU": {"path": "M491.55,115.25l2.55,-1.85l-0.01,-0.65l-2.2,-1.5l7.32,-6.76l1.03,-2.11l-0.13,-0.49l-3.46,-2.52l0.86,-2.7l-2.11,-2.81l1.56,-3.67l-2.77,-4.52l2.15,-2.99l-0.08,-0.55l-3.65,-2.73l0.3,-2.54l1.81,-0.37l4.26,-1.77l2.42,-1.45l4.06,2.61l6.79,1.04l9.34,4.85l1.78,1.88l0.14,2.46l-2.55,2.02l-3.9,1.06l-11.07,-3.14l-2.06,0.53l-0.13,0.7l3.94,2.94l0.31,5.86l0.26,0.36l5.14,2.24l0.58,-0.29l0.32,-1.94l-1.35,-1.78l1.13,-1.09l6.13,2.42l2.11,-0.98l0.18,-0.56l-1.51,-2.67l5.41,-3.76l2.07,0.22l2.26,1.41l0.57,-0.16l1.46,-2.87l-0.05,-0.44l-1.92,-2.32l1.12,-2.32l-1.32,-2.27l5.87,1.16l1.04,1.75l-2.59,0.43l-0.33,0.4l0.02,2.36l2.46,1.83l3.87,-0.91l0.86,-2.8l13.69,-5.65l0.99,0.11l-1.92,2.06l0.23,0.67l3.11,0.45l2.0,-1.48l4.56,-0.12l3.64,-1.73l2.65,2.44l0.56,-0.01l2.85,-2.88l-0.01,-0.57l-2.35,-2.29l0.9,-1.01l7.14,1.3l3.41,1.36l9.05,4.97l0.51,-0.11l1.67,-2.27l-0.05,-0.53l-2.43,-2.21l-0.06,-0.78l-0.34,-0.36l-2.52,-0.36l0.64,-1.93l-1.32,-3.46l-0.06,-1.21l4.48,-4.06l1.69,-4.29l1.6,-0.81l6.23,1.18l0.44,2.21l-2.29,3.64l0.06,0.5l1.47,1.39l0.76,3.0l-0.56,6.03l2.69,2.82l-0.96,2.57l-4.86,5.95l0.23,0.64l2.86,0.61l0.42,-0.17l0.93,-1.4l2.64,-1.03l0.87,-2.24l2.09,-1.96l0.07,-0.5l-1.36,-2.28l1.09,-2.69l-0.32,-0.55l-2.47,-0.33l-0.5,-2.06l1.94,-4.38l-0.06,-0.42l-2.96,-3.4l4.12,-2.88l0.16,-0.4l-0.51,-2.93l0.54,-0.05l1.13,2.25l-0.96,4.35l0.27,0.47l2.68,0.84l0.5,-0.51l-1.02,-2.99l3.79,-1.66l5.01,-0.24l4.53,2.61l0.48,-0.06l0.07,-0.48l-2.18,-3.82l-0.23,-4.67l3.98,-0.9l5.97,0.21l5.49,-0.64l0.27,-0.65l-1.83,-2.31l2.56,-2.9l2.87,-0.17l4.8,-2.47l6.54,-0.67l1.03,-1.42l6.25,-0.45l2.32,1.11l5.53,-2.7l4.5,0.08l0.39,-0.28l0.66,-2.15l2.26,-2.12l5.69,-2.11l3.21,1.29l-2.46,0.94l-0.25,0.42l0.34,0.35l5.41,0.77l0.61,2.33l0.58,0.25l2.2,-1.22l7.13,0.07l5.51,2.47l1.79,1.72l-0.53,2.24l-9.16,4.15l-1.97,1.52l0.16,0.71l6.77,1.91l2.16,-0.78l1.13,2.74l0.67,0.11l1.01,-1.15l3.81,-0.73l7.7,0.77l0.54,1.99l0.36,0.29l10.47,0.71l0.43,-0.38l0.13,-3.23l4.87,0.78l3.95,-0.02l3.83,2.4l1.03,2.71l-1.35,1.79l0.02,0.5l3.15,3.64l4.07,1.96l0.53,-0.18l2.23,-4.47l3.95,1.93l4.16,-1.21l4.73,1.39l2.05,-1.26l3.94,0.62l0.43,-0.55l-1.68,-4.02l2.89,-1.8l22.31,3.03l2.16,2.75l6.55,3.51l10.29,-0.81l4.82,0.73l1.85,1.66l-0.29,3.08l0.25,0.41l3.08,1.26l3.56,-0.88l4.35,-0.11l4.8,0.87l4.57,-0.47l4.23,3.79l0.43,0.07l3.1,-1.4l0.16,-0.6l-1.88,-2.62l0.85,-1.52l7.71,1.21l5.22,-0.26l7.09,2.09l9.59,5.22l6.35,4.11l-0.2,2.38l1.88,1.41l0.6,-0.42l-0.48,-2.53l6.15,0.57l4.4,3.51l-1.97,1.43l-4.0,0.41l-0.36,0.39l-0.06,3.79l-0.74,0.62l-2.07,-0.11l-1.91,-1.39l-3.14,-1.11l-0.78,-1.85l-2.72,-0.68l-2.63,0.49l-1.04,-1.1l0.46,-1.31l-0.5,-0.51l-3.0,0.98l-0.22,0.58l0.99,1.7l-1.21,1.48l-3.04,1.68l-3.12,-0.28l-0.4,0.23l0.09,0.46l2.2,2.09l1.46,3.2l1.15,1.1l0.24,1.33l-0.42,0.67l-4.63,-0.77l-6.96,2.9l-2.19,0.44l-7.6,5.06l-0.84,1.45l-3.61,-2.37l-6.24,2.82l-0.94,-1.15l-0.53,-0.08l-2.28,1.52l-3.2,-0.49l-0.44,0.27l-0.78,2.37l-3.05,3.78l0.09,1.47l0.29,0.36l2.54,0.72l-0.29,4.53l-1.97,0.11l-0.35,0.26l-1.07,2.94l0.8,1.45l-3.91,1.58l-1.05,3.95l-3.48,0.77l-0.3,0.3l-0.72,3.29l-3.09,2.65l-0.7,-1.74l-2.44,-12.44l1.16,-4.71l2.04,-2.06l0.22,-1.64l3.8,-0.86l4.46,-4.61l4.28,-3.81l4.48,-3.01l2.17,-5.63l-0.42,-0.54l-3.04,0.33l-1.77,3.31l-5.86,3.86l-1.86,-4.25l-0.45,-0.23l-6.46,1.3l-6.47,6.44l-0.01,0.55l1.58,1.74l-8.24,1.17l0.15,-2.2l-0.34,-0.42l-3.89,-0.56l-3.25,1.81l-7.62,-0.62l-8.45,1.19l-17.71,15.41l0.22,0.7l3.74,0.41l1.36,2.17l2.43,0.76l1.88,-1.68l2.4,0.2l3.4,3.54l0.08,2.6l-1.95,3.42l-0.21,3.9l-1.1,5.06l-3.71,4.54l-0.87,2.21l-8.29,8.89l-3.19,1.7l-1.32,0.03l-1.45,-1.36l-0.49,-0.04l-2.27,1.5l0.41,-3.65l-0.59,-2.47l1.75,-0.89l2.91,0.53l0.42,-0.2l1.68,-3.03l0.87,-3.46l0.97,-1.18l1.32,-2.88l-0.45,-0.56l-4.14,0.95l-2.19,1.25l-3.41,-0.0l-1.06,-2.93l-2.97,-2.3l-4.28,-1.06l-1.75,-5.07l-2.66,-5.01l-2.29,-1.29l-3.75,-1.01l-3.44,0.08l-3.18,0.62l-2.24,1.77l0.05,0.66l1.18,0.69l0.02,1.43l-1.33,1.05l-2.26,3.51l-0.04,1.43l-3.16,1.84l-2.82,-1.16l-3.01,0.23l-1.35,-1.07l-1.5,-0.35l-3.9,2.31l-3.22,0.52l-2.27,0.79l-3.05,-0.51l-2.21,0.03l-1.48,-1.6l-2.6,-1.63l-2.63,-0.43l-5.46,1.01l-3.23,-1.25l-0.72,-2.57l-5.2,-1.24l-2.75,-1.36l-0.5,0.12l-2.59,3.45l0.84,2.1l-2.06,1.93l-3.41,-0.77l-2.42,-0.12l-1.83,-1.54l-2.53,-0.05l-2.42,-0.98l-3.86,1.57l-4.72,2.78l-3.3,0.75l-1.55,-1.92l-3.0,0.41l-1.11,-1.33l-1.62,-0.59l-1.31,-1.94l-1.38,-0.6l-3.7,0.79l-3.31,-1.83l-0.51,0.11l-0.99,1.29l-5.29,-8.05l-2.96,-2.48l0.65,-0.77l0.01,-0.51l-0.5,-0.11l-6.2,3.21l-1.84,0.15l0.15,-1.39l-0.26,-0.42l-3.22,-1.17l-2.46,0.7l-0.69,-3.16l-0.32,-0.31l-4.5,-0.75l-2.47,1.47l-6.19,1.27l-1.29,0.86l-9.51,1.3l-1.15,1.17l-0.03,0.53l1.47,1.9l-1.89,0.69l-0.22,0.56l0.31,0.6l-2.11,1.44l0.03,0.68l3.75,2.12l-0.39,0.98l-3.23,-0.13l-0.86,0.86l-3.09,-1.59l-3.97,0.07l-2.66,1.35l-8.32,-3.56l-4.07,0.06l-5.39,3.68l-0.39,2.0l-2.03,-1.5l-0.59,0.13l-2.0,3.59l0.57,0.93l-1.28,2.16l0.06,0.48l2.13,2.17l1.95,0.04l1.37,1.82l-0.23,1.46l0.25,0.43l0.83,0.33l-0.8,1.31l-2.49,0.62l-2.49,3.2l0.0,0.49l2.17,2.78l-0.15,2.18l2.5,3.24l-1.58,1.59l-0.7,-0.13l-1.63,-1.72l-2.29,-0.84l-0.94,-1.31l-2.34,-0.63l-1.48,0.4l-0.43,-0.47l-3.51,-1.48l-5.76,-1.01l-0.45,0.19l-2.89,-2.34l-2.9,-1.2l-1.53,-1.29l1.29,-0.43l2.08,-2.61l-0.05,-0.55l-0.89,-0.79l3.05,-1.06l0.27,-0.42l-0.07,-0.69l-0.49,-0.35l-1.73,0.39l0.04,-0.68l1.04,-0.72l2.66,-0.48l0.4,-1.32l-0.5,-1.6l0.92,-1.54l0.03,-1.17l-0.29,-0.37l-3.69,-1.06l-1.41,0.02l-1.42,-1.41l-2.19,0.38l-2.77,-1.01l-0.03,-0.59l-0.89,-1.43l-2.0,-0.32l-0.11,-0.54l0.49,-0.53l0.01,-0.53l-1.6,-1.9l-3.58,0.02l-0.88,0.73l-0.46,-0.07l-1.0,-2.79l2.22,-0.02l0.97,-0.74l0.07,-0.57l-0.9,-1.04l-1.35,-0.48l-0.11,-0.7l-0.95,-0.58l-1.38,-1.99l0.46,-0.98l-0.51,-1.96l-2.45,-0.84l-1.21,0.3l-0.46,-0.76l-2.46,-0.83l-0.72,-1.87l-0.21,-1.69l-0.99,-0.85l0.85,-1.17l-0.7,-3.21l1.66,-1.97l-0.16,-0.79ZM749.2,170.72l-0.6,0.4l-0.13,0.16l-0.01,-0.51l0.74,-0.05ZM871.88,65.81l2.17,-0.13l3.19,1.16l-2.39,1.09l-5.63,0.48l-0.26,-0.84l2.92,-1.76ZM797.39,48.49l-2.0,1.36l-3.8,-0.42l-4.25,-1.8l0.35,-0.97l9.69,1.83ZM783.67,46.12l-1.63,3.09l-8.98,-0.13l-4.09,1.14l-4.54,-2.97l1.16,-3.01l3.05,-0.89l6.5,0.22l8.54,2.56ZM778.2,134.98l-0.56,-0.9l0.27,-0.12l0.29,1.01ZM778.34,135.48l0.94,3.53l-0.05,3.38l1.05,3.39l2.18,5.0l-2.89,-0.83l-0.49,0.26l-1.54,4.65l2.42,3.5l-0.04,1.13l-1.24,-1.24l-0.61,0.06l-1.09,1.61l-0.28,-1.61l0.27,-3.1l-0.28,-3.4l0.58,-2.47l0.11,-4.39l-1.46,-3.36l0.21,-4.32l2.15,-1.46l0.07,-0.34ZM771.95,56.61l1.76,-1.42l2.89,-0.42l3.28,1.71l0.14,0.6l-3.27,0.03l-4.81,-0.5ZM683.76,31.09l-13.01,1.93l4.03,-6.35l1.82,-0.56l1.73,0.34l5.99,2.98l-0.56,1.66ZM670.85,27.93l-5.08,0.64l-6.86,-1.57l-3.99,-2.05l-2.1,-4.16l-2.6,-0.87l5.72,-3.5l5.2,-1.28l4.69,2.85l5.59,5.4l-0.56,4.53ZM564.15,68.94l-0.64,0.17l-7.85,-0.57l-0.86,-2.04l-4.28,-1.17l-0.28,-1.94l2.27,-0.89l0.25,-0.39l-0.08,-2.38l4.81,-3.97l-0.15,-0.7l-1.47,-0.38l5.3,-3.81l0.15,-0.44l-0.58,-1.94l5.28,-2.51l8.21,-3.27l8.28,-0.96l4.35,-1.94l4.6,-0.64l1.36,1.61l-1.34,1.28l-16.43,4.94l-7.97,4.88l-7.74,9.63l0.66,4.14l4.16,3.27ZM548.81,18.48l-5.5,1.18l-0.58,1.02l-2.59,0.84l-2.13,-1.07l1.12,-1.42l-0.3,-0.65l-2.33,-0.07l1.68,-0.36l3.47,-0.06l0.42,1.29l0.66,0.16l1.38,-1.34l2.15,-0.88l2.94,1.01l-0.39,0.36ZM477.37,133.15l-4.08,0.05l-2.56,-0.32l0.33,-0.87l3.17,-1.03l3.24,0.96l-0.09,1.23Z", "name": "Russia"}, "RW": {"path": "M497.0,288.25l0.71,1.01l-0.11,1.09l-1.63,0.03l-1.04,1.39l-0.83,-0.11l0.51,-1.2l0.08,-1.34l0.42,-0.41l0.7,0.14l1.19,-0.61Z", "name": "Rwanda"}, "RS": {"path": "M469.4,163.99l0.42,-0.5l-0.01,-0.52l-1.15,-1.63l1.43,-0.62l1.33,0.12l1.17,1.06l0.46,1.13l1.34,0.64l0.35,1.35l1.46,0.9l0.76,-0.29l0.2,0.69l-0.48,0.78l0.22,1.12l1.05,1.22l-0.77,0.8l-0.37,1.52l-1.21,0.08l0.24,-0.64l-0.39,-0.54l-2.08,-1.64l-0.9,0.05l-0.48,0.94l-2.12,-1.37l0.53,-1.6l-1.11,-1.37l0.51,-1.1l-0.41,-0.57Z", "name": "Serbia"}, "TL": {"path": "M734.55,307.93l-0.1,-0.97l4.5,-0.86l-2.82,1.28l-1.59,0.55Z", "name": "Timor-Leste"}, "TM": {"path": "M553.03,173.76l-0.04,0.34l-0.09,-0.22l0.13,-0.12ZM555.87,172.66l0.45,-0.1l1.48,0.74l2.06,2.43l4.07,-0.18l0.38,-0.51l-0.32,-1.19l1.92,-0.94l1.91,-1.59l2.94,1.39l0.43,2.47l1.19,0.67l2.58,-0.13l0.62,0.4l1.32,3.12l4.54,3.44l2.67,1.45l3.06,1.14l-0.04,1.05l-1.33,-0.75l-0.59,0.19l-0.32,0.84l-2.2,0.81l-0.46,2.13l-1.21,0.74l-1.91,0.42l-0.73,1.33l-1.56,0.31l-2.22,-0.94l-0.2,-2.17l-0.38,-0.36l-1.73,-0.09l-2.76,-2.46l-2.14,-0.4l-2.84,-1.48l-1.78,-0.27l-1.24,0.53l-1.57,-0.08l-2.0,1.69l-1.7,0.43l-0.36,-1.58l0.36,-2.98l-0.22,-0.4l-1.65,-0.84l0.54,-1.69l-0.34,-0.52l-1.22,-0.13l0.36,-1.64l2.22,0.59l2.2,-0.95l0.12,-0.65l-1.77,-1.74l-0.66,-1.57Z", "name": "Turkmenistan"}, "TJ": {"path": "M597.75,178.82l-2.54,-0.44l-0.47,0.34l-0.24,1.7l0.43,0.45l2.64,-0.22l3.18,0.95l4.39,-0.41l0.56,2.37l0.52,0.29l0.67,-0.24l1.11,0.49l0.21,2.13l-3.76,-0.21l-1.8,1.32l-1.76,0.74l-0.61,-0.58l0.21,-2.23l-0.64,-0.49l-0.07,-0.93l-1.36,-0.66l-0.45,0.07l-1.08,1.01l-0.55,1.48l-1.31,-0.05l-0.95,1.16l-0.9,-0.35l-1.86,0.74l1.26,-2.83l-0.54,-2.17l-1.67,-0.82l0.33,-0.66l2.18,-0.04l1.19,-1.63l0.76,-1.79l2.43,-0.5l-0.26,1.0l0.73,1.05Z", "name": "Tajikistan"}, "RO": {"path": "M487.53,154.23l0.6,0.24l2.87,3.98l-0.17,2.69l0.45,1.42l1.32,0.81l1.35,-0.42l0.76,0.36l0.02,0.31l-0.83,0.45l-0.59,-0.22l-0.54,0.3l-0.62,3.3l-1.0,-0.22l-2.07,-1.13l-2.95,0.71l-1.25,0.76l-3.51,-0.15l-1.89,-0.47l-0.87,0.16l-0.82,-1.3l0.29,-0.26l-0.06,-0.64l-1.09,-0.34l-0.56,0.5l-1.05,-0.64l-0.39,-1.39l-1.36,-0.65l-0.35,-1.0l-0.83,-0.75l1.54,-0.54l2.66,-4.21l2.4,-1.24l2.96,0.34l1.48,0.73l0.79,-0.45l1.78,-0.3l0.75,-0.74l0.79,0.0Z", "name": "Romania"}, "GW": {"path": "M386.23,253.6l-0.29,0.84l0.15,0.6l-2.21,0.59l-0.86,0.96l-1.04,-0.83l-1.09,-0.23l-0.54,-1.06l-0.66,-0.49l2.41,-0.48l4.13,0.1Z", "name": "Guinea-Bissau"}, "GT": {"path": "M195.08,249.77l-2.48,-0.37l-1.03,-0.45l-1.14,-0.89l0.3,-0.99l-0.24,-0.68l0.96,-1.66l2.98,-0.01l0.4,-0.37l-0.19,-1.28l-1.67,-1.4l0.51,-0.4l0.0,-1.05l3.85,0.02l-0.21,4.53l0.4,0.43l1.46,0.38l-1.48,0.98l-0.35,0.7l0.12,0.57l-2.2,1.96Z", "name": "Guatemala"}, "GR": {"path": "M487.07,174.59l-0.59,1.43l-0.37,0.21l-2.84,-0.35l-3.03,0.77l-0.18,0.68l1.28,1.23l-0.61,0.23l-1.14,0.0l-1.2,-1.39l-0.63,0.03l-0.53,1.01l0.56,1.76l1.03,1.19l-0.56,0.38l-0.05,0.62l2.52,2.12l0.02,0.87l-1.78,-0.59l-0.48,0.56l0.5,1.0l-1.07,0.2l-0.3,0.53l0.75,2.01l-0.98,0.02l-1.84,-1.12l-1.37,-4.2l-2.21,-2.95l-0.11,-0.56l1.04,-1.28l0.2,-0.95l0.85,-0.66l0.03,-0.46l1.32,-0.21l1.01,-0.64l1.22,0.05l0.65,-0.56l2.26,-0.0l1.82,-0.75l1.85,1.0l2.28,-0.28l0.35,-0.39l0.01,-0.77l0.34,0.22ZM480.49,192.16l0.58,0.4l-0.68,-0.12l0.11,-0.28ZM482.52,192.82l2.51,0.06l0.24,0.32l-1.99,0.13l-0.77,-0.51Z", "name": "Greece"}, "GQ": {"path": "M448.79,279.62l0.02,2.22l-4.09,0.0l0.69,-2.27l3.38,0.05Z", "name": "Eq. Guinea"}, "GY": {"path": "M277.42,270.07l-0.32,1.83l-1.32,0.57l-0.23,0.46l-0.28,2.0l1.11,1.82l0.83,0.19l0.32,1.25l1.13,1.62l-1.21,-0.19l-1.08,0.71l-1.77,0.5l-0.44,0.46l-0.86,-0.09l-1.32,-1.01l-0.77,-2.27l0.36,-1.9l0.68,-1.23l-0.57,-1.17l-0.74,-0.43l0.12,-1.16l-0.9,-0.69l-1.1,0.09l-1.31,-1.48l0.53,-0.72l-0.04,-0.84l1.99,-0.86l0.05,-0.59l-0.71,-0.78l0.14,-0.57l1.66,-1.24l1.36,0.77l1.41,1.49l0.06,1.15l0.37,0.38l0.8,0.05l2.06,1.86Z", "name": "Guyana"}, "GE": {"path": "M521.71,168.93l5.29,0.89l4.07,2.01l1.41,-0.44l2.07,0.56l0.68,1.1l1.07,0.55l-0.12,0.59l0.98,1.29l-1.01,-0.13l-1.81,-0.83l-0.94,0.47l-3.23,0.43l-2.29,-1.39l-2.33,0.05l0.21,-0.97l-0.76,-2.26l-1.45,-1.12l-1.43,-0.39l-0.41,-0.42Z", "name": "Georgia"}, "GB": {"path": "M412.61,118.72l-2.19,3.22l-0.0,0.45l5.13,-0.3l-0.53,2.37l-2.2,3.12l0.29,0.63l2.37,0.21l2.33,4.3l1.76,0.69l2.2,5.12l2.94,0.77l-0.23,1.62l-1.15,0.88l-0.1,0.52l0.82,1.42l-1.86,1.43l-3.3,-0.02l-4.12,0.87l-1.04,-0.58l-0.47,0.06l-1.51,1.41l-2.12,-0.34l-1.86,1.18l-0.6,-0.29l3.19,-3.0l2.16,-0.69l0.28,-0.41l-0.34,-0.36l-3.73,-0.53l-0.4,-0.76l2.2,-0.87l0.17,-0.61l-1.26,-1.67l0.36,-1.7l3.38,0.28l0.43,-0.33l0.37,-1.99l-1.79,-2.49l-3.11,-0.72l-0.38,-0.59l0.79,-1.35l-0.04,-0.46l-0.82,-0.97l-0.61,0.01l-0.68,0.84l-0.1,-2.34l-1.23,-1.88l0.85,-3.47l1.77,-2.68l1.85,0.26l2.17,-0.22ZM406.26,132.86l-1.01,1.77l-1.57,-0.59l-1.16,0.01l0.37,-1.54l-0.39,-1.39l1.45,-0.1l2.3,1.84Z", "name": "United Kingdom"}, "GA": {"path": "M453.24,279.52l-0.08,0.98l0.7,1.29l2.36,0.24l-0.98,2.63l1.18,1.79l0.25,1.78l-0.29,1.52l-0.6,0.93l-1.84,-0.09l-1.23,-1.11l-0.66,0.23l-0.15,0.84l-1.42,0.26l-1.02,0.7l-0.11,0.52l0.77,1.35l-1.34,0.97l-3.94,-4.3l-1.44,-2.45l0.06,-0.6l0.54,-0.81l1.05,-3.46l4.17,-0.07l0.4,-0.4l-0.02,-2.66l2.39,0.21l1.25,-0.27Z", "name": "Gabon"}, "GN": {"path": "M391.8,254.11l0.47,0.8l1.11,-0.32l0.98,0.7l1.07,0.2l2.26,-1.22l0.64,0.44l1.13,1.56l-0.48,1.4l0.8,0.3l-0.08,0.48l0.46,0.68l-0.35,1.36l1.05,2.61l-1.0,0.69l0.03,1.41l-0.72,-0.06l-1.08,1.0l-0.24,-0.27l0.07,-1.11l-1.05,-1.54l-1.79,0.21l-0.35,-2.01l-1.6,-2.18l-2.0,-0.0l-1.31,0.54l-1.95,2.18l-1.86,-2.19l-1.2,-0.78l-0.3,-1.11l-0.8,-0.85l0.65,-0.72l0.81,-0.03l1.64,-0.8l0.23,-1.87l2.67,0.64l0.89,-0.3l1.21,0.15Z", "name": "Guinea"}, "GM": {"path": "M379.31,251.39l0.1,-0.35l2.43,-0.07l0.74,-0.61l0.51,-0.03l0.77,0.49l-1.03,-0.3l-1.87,0.9l-1.65,-0.04ZM384.03,250.91l0.91,0.05l0.75,-0.24l-0.59,0.31l-1.08,-0.13Z", "name": "Gambia"}, "GL": {"path": "M353.02,1.2l14.69,4.67l-3.68,1.89l-22.97,0.86l-0.36,0.27l0.12,0.43l1.55,1.18l8.79,-0.66l7.48,2.07l4.86,-1.77l1.66,1.73l-2.53,3.19l-0.01,0.48l0.46,0.15l6.35,-2.2l12.06,-2.31l7.24,1.13l1.09,1.99l-9.79,4.01l-1.44,1.32l-7.87,0.98l-0.35,0.41l0.38,0.38l5.07,0.24l-2.53,3.58l-2.07,3.81l0.08,6.05l2.57,3.11l-3.22,0.2l-4.12,1.66l-0.05,0.72l4.45,2.65l0.51,3.75l-2.3,0.4l-0.25,0.64l2.79,3.69l-4.82,0.31l-0.36,0.29l0.16,0.44l2.62,1.8l-0.59,1.22l-3.3,0.7l-3.45,0.01l-0.29,0.68l3.03,3.12l0.02,1.34l-4.4,-1.73l-1.72,1.35l0.15,0.66l3.31,1.15l3.13,2.71l0.81,3.16l-3.85,0.75l-4.89,-4.26l-0.47,-0.03l-0.17,0.44l0.79,2.86l-2.71,2.21l-0.13,0.44l0.37,0.27l8.73,0.34l-12.32,6.64l-7.24,1.48l-2.94,0.08l-2.69,1.75l-3.43,4.41l-5.24,2.84l-1.73,0.18l-7.12,2.1l-2.15,2.52l-0.13,2.99l-1.19,2.45l-4.01,3.09l-0.14,0.44l0.97,2.9l-2.28,6.48l-3.1,0.2l-3.83,-3.07l-4.86,-0.02l-2.25,-1.93l-1.7,-3.79l-4.3,-4.84l-1.21,-2.49l-0.44,-3.8l-3.32,-3.63l0.84,-2.86l-1.56,-1.7l2.28,-4.6l3.83,-1.74l1.03,-1.96l0.52,-3.47l-0.59,-0.41l-4.17,2.21l-2.07,0.58l-2.72,-1.28l-0.15,-2.71l0.85,-2.09l2.01,-0.06l5.06,1.2l0.46,-0.23l-0.14,-0.49l-6.54,-4.47l-2.67,0.55l-1.58,-0.86l2.56,-4.01l-0.03,-0.48l-1.5,-1.74l-4.98,-8.5l-3.13,-1.96l0.03,-1.88l-0.24,-0.37l-6.85,-3.02l-5.36,-0.38l-12.7,0.58l-2.78,-1.57l-3.66,-2.77l5.73,-1.45l5.0,-0.28l0.38,-0.38l-0.35,-0.41l-10.67,-1.38l-5.3,-2.06l0.25,-1.54l18.41,-5.26l1.22,-2.27l-0.25,-0.55l-6.14,-1.86l1.68,-1.77l8.55,-4.03l3.59,-0.63l0.3,-0.54l-0.88,-2.27l5.47,-1.47l7.65,-0.95l7.55,-0.05l3.04,1.85l6.48,-3.27l5.81,2.22l3.56,0.5l5.16,1.94l0.5,-0.21l-0.17,-0.52l-5.71,-3.13l0.28,-2.13l8.12,-3.6l8.7,0.28l3.35,-2.34l8.71,-0.6l19.93,0.8Z", "name": "Greenland"}, "GH": {"path": "M420.53,257.51l-0.01,0.72l0.96,1.2l0.24,3.73l0.59,0.95l-0.51,2.1l0.19,1.41l1.02,2.21l-6.97,2.84l-1.8,-0.57l0.04,-0.89l-1.02,-2.04l0.61,-2.65l1.07,-2.32l-0.96,-6.47l5.01,0.07l0.94,-0.39l0.61,0.11Z", "name": "Ghana"}, "OM": {"path": "M568.09,230.93l-0.91,1.67l-1.22,0.04l-0.6,0.76l-0.41,1.51l0.27,1.58l-1.16,0.05l-1.56,0.97l-0.76,1.74l-1.62,0.05l-0.98,0.65l-0.17,1.15l-0.89,0.52l-1.49,-0.18l-2.4,0.94l-2.47,-5.4l7.35,-2.71l1.67,-5.23l-1.12,-2.09l0.05,-0.83l0.67,-1.0l0.07,-1.05l0.9,-0.42l-0.05,-2.07l0.7,-0.01l1.0,1.62l1.51,1.08l3.3,0.84l1.73,2.29l0.81,0.37l-1.23,2.35l-0.99,0.79Z", "name": "Oman"}, "TN": {"path": "M448.1,188.24l-1.0,1.27l-0.02,1.32l0.84,0.88l-0.28,2.09l-1.53,1.32l-0.12,0.42l0.48,1.54l1.42,0.32l0.53,1.11l0.9,0.52l-0.11,1.67l-3.54,2.64l-0.1,2.38l-0.58,0.3l-0.96,-4.45l-1.54,-1.25l-0.16,-0.78l-1.92,-1.56l-0.18,-1.76l1.51,-1.62l0.59,-2.34l-0.38,-2.78l0.42,-1.21l2.45,-1.05l1.29,0.26l-0.06,1.11l0.58,0.38l1.47,-0.73Z", "name": "Tunisia"}, "JO": {"path": "M518.64,201.38l-5.14,1.56l-0.19,0.65l2.16,2.39l-0.89,1.14l-1.71,0.34l-1.71,1.8l-2.34,-0.37l1.21,-4.32l0.56,-4.07l2.8,0.94l4.46,-2.71l0.79,2.66Z", "name": "Jordan"}, "HR": {"path": "M455.59,162.84l1.09,0.07l-0.82,0.94l-0.27,-1.01ZM456.96,162.92l0.62,-0.41l1.73,0.45l0.42,-0.4l-0.01,-0.59l0.86,-0.52l0.2,-1.05l1.63,-0.68l2.57,1.68l2.07,0.6l0.87,-0.31l1.05,1.57l-0.52,0.63l-1.05,-0.56l-1.68,0.04l-2.1,-0.5l-1.29,0.06l-0.57,0.49l-0.59,-0.47l-0.62,0.16l-0.46,1.7l1.79,2.42l2.79,2.75l-1.18,-0.87l-2.21,-0.87l-1.67,-1.78l0.13,-0.63l-1.05,-1.19l-0.32,-1.27l-1.42,-0.43Z", "name": "Croatia"}, "HT": {"path": "M237.05,238.38l-1.16,0.43l-0.91,-0.55l0.05,-0.2l2.02,0.31ZM237.53,238.43l1.06,0.12l-0.05,0.01l-1.01,-0.12ZM239.25,238.45l0.79,-0.51l0.06,-0.62l-1.02,-1.0l0.02,-0.82l-0.3,-0.4l-0.93,-0.32l3.16,0.45l0.02,1.84l-0.48,0.34l-0.08,0.58l0.54,0.72l-1.78,-0.26Z", "name": "Haiti"}, "HU": {"path": "M462.08,157.89l0.65,-1.59l-0.09,-0.44l0.64,-0.0l0.39,-0.34l0.1,-0.69l1.75,0.87l2.32,-0.37l0.43,-0.66l3.49,-0.78l0.69,-0.78l0.57,-0.14l2.57,0.93l0.67,-0.23l1.03,0.65l0.08,0.37l-1.42,0.71l-2.59,4.14l-1.8,0.53l-1.68,-0.1l-2.74,1.23l-1.85,-0.54l-2.54,-1.66l-0.66,-1.1Z", "name": "Hungary"}, "HN": {"path": "M199.6,249.52l-1.7,-1.21l0.06,-0.94l3.04,-2.14l2.37,0.28l1.27,-0.09l1.1,-0.52l1.3,0.28l1.14,-0.25l1.38,0.37l2.23,1.37l-2.36,0.93l-1.23,-0.39l-0.88,1.3l-1.28,0.99l-0.98,-0.22l-0.42,0.52l-0.96,0.05l-0.36,0.41l0.04,0.88l-0.52,0.6l-0.3,0.04l-0.3,-0.55l-0.66,-0.31l0.11,-0.67l-0.48,-0.65l-0.87,-0.26l-0.73,0.2Z", "name": "Honduras"}, "PR": {"path": "M256.17,238.73l-0.26,0.27l-2.83,0.05l-0.07,-0.55l1.95,-0.1l1.22,0.33Z", "name": "Puerto Rico"}, "PS": {"path": "M509.21,203.07l0.1,-0.06l-0.02,0.03l-0.09,0.03ZM509.36,202.91l-0.02,-0.63l-0.33,-0.16l0.31,-1.09l0.24,0.1l-0.2,1.78Z", "name": "Palestine"}, "PT": {"path": "M401.84,187.38l-0.64,0.47l-1.13,-0.35l-0.91,0.17l0.28,-1.78l-0.24,-1.78l-1.25,-0.56l-0.45,-0.84l0.17,-1.66l1.01,-1.18l0.69,-2.92l-0.04,-1.39l-0.59,-1.9l1.3,-0.85l0.84,1.35l3.1,-0.3l0.46,0.99l-1.05,0.94l-0.03,2.16l-0.41,0.57l-0.08,1.1l-0.79,0.18l-0.26,0.59l0.91,1.6l-0.63,1.75l0.76,1.09l-1.1,1.52l0.07,1.05Z", "name": "Portugal"}, "PY": {"path": "M274.9,336.12l0.74,1.52l-0.16,3.45l0.32,0.41l2.64,0.5l1.11,-0.47l1.4,0.59l0.36,0.6l0.53,3.42l1.27,0.4l0.98,-0.38l0.51,0.27l-0.0,1.18l-1.21,5.32l-2.09,1.9l-1.8,0.4l-4.71,-0.98l2.2,-3.63l-0.32,-1.5l-2.78,-1.28l-3.03,-1.94l-2.07,-0.44l-4.34,-4.06l0.91,-2.9l0.08,-1.42l1.07,-2.04l4.13,-0.72l2.18,0.03l2.05,1.17l0.03,0.59Z", "name": "Paraguay"}, "PA": {"path": "M213.8,263.68l0.26,-1.52l-0.36,-0.26l-0.01,-0.49l0.44,-0.1l0.93,1.4l1.26,0.03l0.77,0.49l1.38,-0.23l2.51,-1.11l0.86,-0.72l3.45,0.85l1.4,1.18l0.41,1.74l-0.21,0.34l-0.53,-0.12l-0.47,0.29l-0.16,0.6l-0.68,-1.28l0.45,-0.49l-0.19,-0.66l-0.47,-0.13l-0.54,-0.84l-1.5,-0.75l-1.1,0.16l-0.75,0.99l-1.62,0.84l-0.18,0.96l0.85,0.97l-0.58,0.45l-0.69,0.08l-0.34,-1.18l-1.27,0.03l-0.71,-1.05l-2.59,-0.46Z", "name": "Panama"}, "PG": {"path": "M808.58,298.86l2.54,2.56l-0.13,0.26l-0.33,0.12l-0.87,-0.78l-1.22,-2.16ZM801.41,293.04l0.5,0.29l0.26,0.27l-0.49,-0.35l-0.27,-0.21ZM803.17,294.58l0.59,0.5l0.08,1.06l-0.29,-0.91l-0.38,-0.65ZM796.68,298.41l0.52,0.75l1.43,-0.19l2.27,-1.81l-0.01,-1.43l1.12,0.16l-0.04,1.1l-0.7,1.28l-1.12,0.18l-0.62,0.79l-2.46,1.11l-1.17,-0.0l-3.08,-1.25l3.41,0.0l0.45,-0.68ZM789.15,303.55l2.31,1.8l1.59,2.61l1.34,0.13l-0.06,0.66l0.31,0.43l1.06,0.24l0.06,0.65l2.25,1.05l-1.22,0.13l-0.72,-0.63l-4.56,-0.65l-3.22,-2.87l-1.49,-2.34l-3.27,-1.1l-2.38,0.72l-1.59,0.86l-0.2,0.42l0.27,1.55l-1.55,0.68l-1.36,-0.4l-2.21,-0.09l-0.08,-15.41l8.39,2.93l2.95,2.4l0.6,1.64l4.02,1.49l0.31,0.68l-1.76,0.21l-0.33,0.52l0.55,1.68Z", "name": "Papua New Guinea"}, "PE": {"path": "M244.96,295.21l-1.26,-0.07l-0.57,0.42l-1.93,0.45l-2.98,1.75l-0.36,1.36l-0.58,0.8l0.12,1.37l-1.24,0.59l-0.22,1.22l-0.62,0.84l1.04,2.27l1.28,1.44l-0.41,0.84l0.32,0.57l1.48,0.13l1.16,1.37l2.21,0.07l1.63,-1.08l-0.13,3.02l0.3,0.4l1.14,0.29l1.31,-0.34l1.9,3.59l-0.48,0.85l-0.17,3.85l-0.94,1.59l0.35,0.75l-0.47,1.07l0.98,1.97l-2.1,3.82l-0.98,0.5l-2.17,-1.28l-0.39,-1.16l-4.95,-2.58l-4.46,-2.79l-1.84,-1.51l-0.91,-1.84l0.3,-0.96l-2.11,-3.33l-4.82,-9.68l-1.04,-1.2l-0.87,-1.94l-3.4,-2.48l0.58,-1.18l-1.13,-2.23l0.66,-1.49l1.45,-1.15l-0.6,0.98l0.07,0.92l0.47,0.36l1.74,0.03l0.97,1.17l0.54,0.07l1.42,-1.03l0.6,-1.84l1.42,-2.02l3.04,-1.04l2.73,-2.62l0.86,-1.74l-0.1,-1.87l1.44,1.02l0.9,1.25l1.06,0.59l1.7,2.73l1.86,0.31l1.45,-0.61l0.96,0.39l1.36,-0.19l1.45,0.89l-1.4,2.21l0.31,0.61l0.59,0.05l0.47,0.5Z", "name": "Peru"}, "PK": {"path": "M615.09,192.34l-1.83,1.81l-2.6,0.39l-3.73,-0.68l-1.58,1.33l-0.09,0.42l1.77,4.39l1.7,1.23l-1.69,1.27l-0.12,2.14l-2.33,2.64l-1.6,2.8l-2.46,2.67l-3.03,-0.07l-2.76,2.83l0.05,0.6l1.5,1.11l0.26,1.9l1.44,1.5l0.37,1.68l-5.01,-0.01l-1.78,1.7l-1.42,-0.52l-0.76,-1.87l-2.27,-2.15l-11.61,0.86l0.71,-2.34l3.43,-1.32l0.25,-0.44l-0.21,-1.24l-1.2,-0.65l-0.28,-2.46l-2.29,-1.14l-1.28,-1.94l2.82,0.94l2.62,-0.38l1.42,0.33l0.76,-0.56l1.71,0.19l3.25,-1.14l0.27,-0.36l0.08,-2.19l1.18,-1.32l1.68,0.0l0.58,-0.82l1.6,-0.3l1.19,0.16l0.98,-0.78l0.02,-1.88l0.93,-1.47l1.48,-0.66l0.19,-0.55l-0.66,-1.25l2.04,-0.11l0.69,-1.01l-0.02,-1.16l1.11,-1.06l-0.17,-1.78l-0.49,-1.03l1.15,-0.98l5.42,-0.91l2.6,-0.82l1.6,1.16l0.97,2.34l3.45,0.97Z", "name": "Pakistan"}, "PH": {"path": "M737.01,263.84l0.39,2.97l-0.44,1.18l-0.55,-1.53l-0.67,-0.14l-1.17,1.28l0.65,2.09l-0.42,0.69l-2.48,-1.23l-0.57,-1.49l0.65,-1.03l-0.1,-0.54l-1.59,-1.19l-0.56,0.08l-0.65,0.87l-1.23,0.0l-1.58,0.97l0.83,-1.8l2.56,-1.42l0.65,0.84l0.45,0.13l1.9,-0.69l0.56,-1.11l1.5,-0.06l0.38,-0.43l-0.09,-1.19l1.21,0.71l0.36,2.02ZM733.59,256.58l0.05,0.75l0.08,0.26l-0.8,-0.42l-0.18,-0.71l0.85,0.12ZM734.08,256.1l-0.12,-1.12l-1.0,-1.27l1.36,0.03l0.53,0.73l0.51,2.04l-1.27,-0.4ZM733.76,257.68l0.38,0.98l-0.32,0.15l-0.07,-1.13ZM724.65,238.43l1.46,0.7l0.72,-0.31l-0.32,1.17l0.79,1.71l-0.57,1.84l-1.53,1.04l-0.39,2.25l0.56,2.04l1.63,0.57l1.16,-0.27l2.71,1.23l-0.19,1.08l0.76,0.84l-0.08,0.36l-1.4,-0.9l-0.88,-1.27l-0.66,0.0l-0.38,0.55l-1.6,-1.31l-2.15,0.36l-0.87,-0.39l0.07,-0.61l0.66,-0.55l-0.01,-0.62l-0.75,-0.59l-0.72,0.44l-0.74,-0.87l-0.39,-2.49l0.32,0.27l0.66,-0.28l0.26,-3.97l0.7,-2.02l1.14,0.0ZM731.03,258.87l-0.88,0.85l-1.19,1.94l-1.05,-1.19l0.93,-1.1l0.32,-1.47l0.52,-0.06l-0.27,1.15l0.22,0.45l0.49,-0.12l1.0,-1.32l-0.08,0.85ZM726.83,255.78l0.83,0.38l1.17,-0.0l-0.02,0.48l-2.0,1.4l0.03,-2.26ZM724.81,252.09l-0.38,1.27l-1.42,-1.95l1.2,0.05l0.6,0.63ZM716.55,261.82l1.1,-0.95l0.03,-0.03l-0.28,0.36l-0.85,0.61ZM719.22,259.06l0.04,-0.06l0.8,-1.53l0.16,0.75l-1.0,0.84Z", "name": "Philippines"}, "PL": {"path": "M468.44,149.42l-1.11,-1.54l-1.86,-0.33l-0.48,-1.05l-1.72,-0.37l-0.65,0.69l-0.72,-0.36l0.11,-0.61l-0.33,-0.46l-1.75,-0.27l-1.04,-0.93l-0.94,-1.94l0.16,-1.22l-0.62,-1.8l-0.78,-1.07l0.57,-1.04l-0.48,-1.43l1.41,-0.83l6.91,-2.71l2.14,0.5l0.52,0.91l5.51,0.44l4.55,-0.05l1.07,0.31l0.48,0.84l0.15,1.58l0.65,1.2l-0.01,0.99l-1.27,0.58l-0.19,0.54l0.73,1.48l0.08,1.55l1.2,2.76l-0.17,0.58l-1.23,0.44l-2.27,2.72l0.18,0.95l-1.97,-1.03l-1.98,0.4l-1.36,-0.28l-1.24,0.58l-1.07,-0.97l-1.16,0.24Z", "name": "Poland"}, "ZM": {"path": "M481.47,313.3l0.39,0.31l2.52,0.14l0.99,1.17l2.01,0.35l1.4,-0.64l0.69,1.17l1.78,0.33l1.84,2.35l2.23,0.18l0.4,-0.43l-0.21,-2.74l-0.62,-0.3l-0.48,0.32l-1.98,-1.17l0.72,-5.29l-0.51,-1.18l0.57,-1.3l3.68,-0.62l0.26,0.63l1.21,0.63l0.9,-0.22l2.16,0.67l1.33,0.71l1.07,1.02l0.56,1.87l-0.88,2.7l0.43,2.09l-0.73,0.87l-0.76,2.37l0.59,0.68l-6.6,1.83l-0.29,0.44l0.19,1.45l-1.68,0.35l-1.43,1.02l-0.38,0.87l-0.87,0.26l-3.48,3.69l-4.16,-0.53l-1.52,-1.0l-1.77,-0.13l-1.83,0.52l-3.04,-3.4l0.11,-7.59l4.82,0.03l0.39,-0.49l-0.18,-0.76l0.33,-0.83l-0.4,-1.36l0.24,-1.05Z", "name": "Zambia"}, "EH": {"path": "M384.42,230.28l0.25,-0.79l1.06,-1.29l0.8,-3.51l3.38,-2.78l0.7,-1.81l0.06,4.84l-1.98,0.2l-0.94,1.59l0.39,3.56l-3.7,-0.01ZM392.01,218.1l0.7,-1.8l1.77,-0.24l2.09,0.34l0.95,-0.62l1.28,-0.07l-0.0,2.51l-6.79,-0.12Z", "name": "W. Sahara"}, "EE": {"path": "M485.71,115.04l2.64,0.6l2.56,0.11l-1.6,1.91l0.61,3.54l-0.81,0.87l-1.78,-0.01l-3.22,-1.76l-1.8,0.45l0.21,-1.53l-0.58,-0.41l-0.69,0.34l-1.26,-1.03l-0.17,-1.63l2.83,-0.92l3.05,-0.52Z", "name": "Estonia"}, "EG": {"path": "M492.06,205.03l1.46,0.42l2.95,-1.64l2.04,-0.21l1.53,0.3l0.59,1.19l0.69,0.04l0.41,-0.64l1.81,0.58l1.95,0.16l1.04,-0.51l1.42,4.08l-2.03,4.54l-1.66,-1.77l-1.76,-3.85l-0.64,-0.12l-0.36,0.67l1.04,2.88l3.44,6.95l1.78,3.04l2.03,2.65l-0.36,0.53l0.23,2.01l2.7,2.19l-28.41,0.0l0.0,-18.96l-0.73,-2.2l0.59,-1.56l-0.32,-1.26l0.68,-0.99l3.06,-0.04l4.82,1.52Z", "name": "Egypt"}, "ZA": {"path": "M467.14,373.21l-0.13,-1.96l-0.68,-1.56l0.7,-0.68l-0.13,-2.33l-4.56,-8.19l0.77,-0.86l0.6,0.45l0.69,1.31l2.83,0.72l1.5,-0.26l2.24,-1.39l0.19,-9.55l1.35,2.3l-0.21,1.5l0.61,1.2l0.4,0.19l1.79,-0.27l2.6,-2.07l0.69,-1.32l0.96,-0.48l2.19,1.04l2.04,0.13l1.77,-0.65l0.85,-2.12l1.38,-0.33l1.59,-2.76l2.15,-1.89l3.41,-1.87l2.0,0.45l1.02,-0.28l0.99,0.2l1.75,5.29l-0.38,3.25l-0.81,-0.23l-1.0,0.46l-0.87,1.68l-0.05,1.16l1.97,1.84l1.47,-0.29l0.69,-1.18l1.09,0.01l-0.76,3.69l-0.58,1.09l-2.2,1.79l-3.17,4.76l-2.8,2.83l-3.57,2.88l-2.53,1.05l-1.22,0.14l-0.51,0.7l-1.18,-0.32l-1.39,0.5l-2.59,-0.52l-1.61,0.33l-1.18,-0.11l-2.55,1.1l-2.1,0.44l-1.6,1.07l-0.85,0.05l-0.93,-0.89l-0.93,-0.15l-0.97,-1.13l-0.25,0.05ZM491.45,364.19l0.62,-0.93l1.48,-0.59l1.18,-2.19l-0.07,-0.49l-1.99,-1.69l-1.66,0.56l-1.43,1.14l-1.34,1.73l0.02,0.51l1.88,2.11l1.31,-0.16Z", "name": "South Africa"}, "EC": {"path": "M231.86,285.53l0.29,1.59l-0.69,1.45l-2.61,2.51l-3.13,1.11l-1.53,2.18l-0.49,1.68l-1.0,0.73l-1.02,-1.11l-1.78,-0.16l0.67,-1.15l-0.24,-0.86l1.25,-2.13l-0.54,-1.09l-0.67,-0.08l-0.72,0.87l-0.87,-0.64l0.35,-0.69l-0.36,-1.96l0.81,-0.51l0.45,-1.51l0.92,-1.57l-0.07,-0.97l2.65,-1.33l2.75,1.35l0.77,1.05l2.12,0.35l0.76,-0.32l1.96,1.21Z", "name": "Ecuador"}, "IT": {"path": "M451.59,158.63l3.48,0.94l-0.21,1.17l0.3,0.83l-1.49,-0.24l-2.04,1.1l-0.21,0.39l0.13,1.45l-0.25,1.12l0.82,1.57l2.39,1.63l1.31,2.54l2.79,2.43l2.05,0.08l0.21,0.23l-0.39,0.33l0.09,0.67l4.05,1.97l2.17,1.76l-0.16,0.36l-1.17,-1.08l-2.18,-0.49l-0.44,0.2l-1.05,1.91l0.14,0.54l1.57,0.95l-0.19,0.98l-1.06,0.33l-1.25,2.34l-0.37,0.08l0.0,-0.33l1.0,-2.45l-1.73,-3.17l-1.12,-0.51l-0.88,-1.33l-1.51,-0.51l-1.27,-1.25l-1.75,-0.18l-4.12,-3.21l-1.62,-1.65l-1.03,-3.19l-3.53,-1.36l-1.3,0.51l-1.69,1.41l0.16,-0.72l-0.28,-0.47l-1.14,-0.33l-0.53,-1.96l0.72,-0.78l0.04,-0.48l-0.65,-1.17l0.8,0.39l1.4,-0.23l1.11,-0.84l0.52,0.35l1.19,-0.1l0.75,-1.2l1.53,0.33l1.36,-0.56l0.35,-1.14l1.08,0.32l0.68,-0.64l1.98,-0.44l0.42,0.82ZM459.19,184.75l-0.65,1.65l0.32,1.05l-0.31,0.89l-1.5,-0.85l-4.5,-1.67l0.19,-0.82l2.67,0.23l3.78,-0.48ZM443.93,176.05l1.18,1.66l-0.3,3.32l-1.06,-0.01l-0.77,0.73l-0.53,-0.44l-0.1,-3.37l-0.39,-1.22l1.04,0.01l0.92,-0.68Z", "name": "Italy"}, "VN": {"path": "M690.56,230.25l-2.7,1.82l-2.09,2.46l-0.63,1.95l4.31,6.45l2.32,1.65l1.43,1.94l1.11,4.59l-0.32,4.24l-1.93,1.54l-2.84,1.61l-2.11,2.15l-2.73,2.06l-0.59,-1.05l0.63,-1.53l-0.13,-0.47l-1.34,-1.04l1.51,-0.71l2.55,-0.18l0.3,-0.63l-0.82,-1.14l4.0,-2.07l0.31,-3.05l-0.57,-1.77l0.42,-2.66l-0.73,-1.97l-1.86,-1.76l-3.63,-5.29l-2.72,-1.46l0.36,-0.47l1.5,-0.64l0.21,-0.52l-0.97,-2.27l-0.37,-0.24l-2.83,-0.02l-2.24,-3.9l0.83,-0.4l4.39,-0.29l2.06,-1.31l1.15,0.89l1.88,0.4l-0.17,1.51l1.35,1.16l1.67,0.45Z", "name": "Vietnam"}, "SB": {"path": "M826.69,311.6l-0.61,0.09l-0.2,-0.33l0.37,0.15l0.44,0.09ZM824.18,307.38l-0.26,-0.3l-0.31,-0.91l0.03,0.0l0.54,1.21ZM823.04,309.33l-1.66,-0.22l-0.2,-0.52l1.16,0.28l0.69,0.46ZM819.28,304.68l1.14,0.65l0.02,0.03l-0.81,-0.44l-0.35,-0.23Z", "name": "Solomon Is."}, "ET": {"path": "M516.04,247.79l1.1,0.84l1.63,-0.45l0.68,0.47l1.63,0.03l2.01,0.94l1.73,1.66l1.64,2.07l-1.52,2.04l0.16,1.72l0.39,0.38l2.05,0.0l-0.36,1.03l2.86,3.58l8.32,3.08l1.31,0.02l-6.32,6.75l-3.1,0.11l-2.36,1.77l-1.47,0.04l-0.86,0.79l-1.38,-0.0l-1.32,-0.81l-2.29,1.05l-0.76,0.98l-3.29,-0.41l-3.07,-2.07l-1.8,-0.07l-0.62,-0.6l0.0,-1.24l-0.28,-0.38l-1.15,-0.37l-1.4,-2.59l-1.19,-0.68l-0.47,-1.0l-1.27,-1.23l-1.16,-0.22l0.43,-0.72l1.45,-0.28l0.41,-0.95l-0.03,-2.21l0.68,-2.44l1.05,-0.63l1.43,-3.06l1.57,-1.37l1.02,-2.51l0.35,-1.88l2.52,0.46l0.44,-0.24l0.58,-1.43Z", "name": "Ethiopia"}, "SO": {"path": "M525.13,288.48l-1.13,-1.57l-0.03,-8.86l2.66,-3.38l1.67,-0.13l2.13,-1.69l3.41,-0.23l7.08,-7.55l2.91,-3.69l0.08,-4.82l2.98,-0.67l1.24,-0.86l0.45,-0.0l-0.2,3.0l-1.21,3.62l-2.73,5.97l-2.13,3.65l-5.03,6.16l-8.56,6.4l-2.78,3.08l-0.8,1.56Z", "name": "Somalia"}, "ZW": {"path": "M498.91,341.09l-1.11,-0.22l-0.92,0.28l-2.09,-0.44l-1.5,-1.11l-1.89,-0.43l-0.62,-1.4l-0.01,-0.84l-0.3,-0.38l-0.97,-0.25l-2.71,-2.74l-1.92,-3.32l3.83,0.45l3.73,-3.82l1.08,-0.44l0.26,-0.77l1.25,-0.9l1.41,-0.26l0.5,0.89l1.99,-0.05l1.72,1.17l1.11,0.17l1.05,0.66l0.01,2.99l-0.59,3.76l0.38,0.86l-0.23,1.23l-0.39,0.35l-0.63,1.81l-2.43,2.75Z", "name": "Zimbabwe"}, "ES": {"path": "M416.0,169.21l1.07,1.17l4.61,1.38l1.06,-0.57l2.6,1.26l2.71,-0.3l0.09,1.12l-2.14,1.8l-3.11,0.61l-0.31,0.31l-0.2,0.89l-1.54,1.69l-0.97,2.4l0.84,1.74l-1.32,1.27l-0.48,1.68l-1.88,0.65l-1.66,2.07l-5.36,-0.01l-1.79,1.08l-0.89,0.98l-0.88,-0.17l-0.79,-0.82l-0.68,-1.59l-2.37,-0.63l-0.11,-0.5l1.21,-1.82l-0.77,-1.13l0.61,-1.68l-0.76,-1.62l0.87,-0.49l0.09,-1.25l0.42,-0.6l0.03,-2.11l0.99,-0.69l0.13,-0.5l-1.03,-1.73l-1.46,-0.11l-0.61,0.38l-1.06,0.0l-0.52,-1.23l-0.53,-0.21l-1.32,0.67l-0.01,-1.49l-0.75,-0.96l3.03,-1.88l2.99,0.53l3.32,-0.02l2.63,0.51l6.01,-0.06Z", "name": "Spain"}, "ER": {"path": "M520.38,246.23l3.42,2.43l3.5,3.77l0.84,0.54l-0.95,-0.01l-3.51,-3.89l-2.33,-1.15l-1.73,-0.07l-0.91,-0.51l-1.26,0.51l-1.34,-1.02l-0.61,0.17l-0.66,1.61l-2.35,-0.43l-0.17,-0.67l1.29,-5.29l0.61,-0.61l1.95,-0.53l0.87,-1.01l1.17,2.41l0.68,2.33l1.49,1.43Z", "name": "Eritrea"}, "ME": {"path": "M468.91,172.53l-1.22,-1.02l0.47,-1.81l0.89,-0.72l2.26,1.51l-0.5,0.57l-0.75,-0.27l-1.14,1.73Z", "name": "Montenegro"}, "MD": {"path": "M488.41,153.73l1.4,-0.27l1.72,0.93l1.07,0.15l0.85,0.65l-0.14,0.84l0.96,0.85l1.12,2.47l-1.15,-0.07l-0.66,-0.41l-0.52,0.25l-0.09,0.86l-1.08,1.89l-0.27,-0.86l0.25,-1.34l-0.16,-1.6l-3.29,-4.34Z", "name": "Moldova"}, "MG": {"path": "M545.91,319.14l0.4,3.03l0.62,1.21l-0.21,1.02l-0.57,-0.8l-0.69,-0.01l-0.47,0.76l0.41,2.12l-0.18,0.87l-0.73,0.78l-0.15,2.14l-4.71,15.2l-1.06,2.88l-3.92,1.64l-3.12,-1.49l-0.6,-1.21l-0.19,-2.4l-0.86,-2.05l-0.21,-1.77l0.38,-1.62l1.21,-0.75l0.01,-0.76l1.19,-2.04l0.23,-1.66l-1.06,-2.99l-0.19,-2.21l0.81,-1.33l0.32,-1.46l4.63,-1.22l3.44,-3.0l0.85,-1.4l-0.08,-0.7l0.78,-0.04l1.38,-1.77l0.13,-1.64l0.45,-0.61l1.16,1.69l0.59,1.6Z", "name": "Madagascar"}, "MA": {"path": "M378.78,230.02l0.06,-0.59l0.92,-0.73l0.82,-1.37l-0.09,-1.04l0.79,-1.7l1.31,-1.58l0.96,-0.59l0.66,-1.55l0.09,-1.47l0.81,-1.48l1.72,-1.07l1.55,-2.69l1.16,-0.96l2.44,-0.39l1.94,-1.82l1.31,-0.78l2.09,-2.28l-0.51,-3.65l1.24,-3.7l1.5,-1.75l4.46,-2.57l2.37,-4.47l1.44,0.01l1.68,1.21l2.32,-0.19l3.47,0.65l0.8,1.54l0.16,1.71l0.86,2.96l0.56,0.59l-0.26,0.61l-3.05,0.44l-1.26,1.05l-1.33,0.22l-0.33,0.37l-0.09,1.78l-2.68,1.0l-1.07,1.42l-4.47,1.13l-4.04,2.01l-0.54,4.64l-1.15,0.06l-0.92,0.61l-1.96,-0.35l-2.42,0.54l-0.74,1.9l-0.86,0.4l-1.14,3.26l-3.53,3.01l-0.8,3.55l-0.96,1.1l-0.29,0.82l-4.95,0.18Z", "name": "Morocco"}, "UZ": {"path": "M598.64,172.75l-1.63,1.52l0.06,0.64l1.85,1.12l1.97,-0.64l2.21,1.17l-2.52,1.68l-2.59,-0.22l-0.18,-0.41l0.46,-1.23l-0.45,-0.53l-3.35,0.69l-2.1,3.51l-1.87,-0.12l-1.03,1.51l0.22,0.55l1.64,0.62l0.46,1.83l-1.19,2.49l-2.66,-0.53l0.05,-1.36l-0.26,-0.39l-3.3,-1.23l-2.56,-1.4l-4.4,-3.34l-1.34,-3.14l-1.08,-0.6l-2.58,0.13l-0.69,-0.44l-0.47,-2.52l-3.37,-1.6l-0.43,0.05l-2.07,1.72l-2.1,1.01l-0.21,0.47l0.28,1.01l-1.91,0.03l-0.09,-10.5l5.99,-1.7l6.19,3.54l2.71,2.84l7.05,-0.67l2.71,2.01l-0.17,2.81l0.39,0.42l0.9,0.02l0.44,2.14l0.38,0.32l2.94,0.09l0.95,1.42l1.28,-0.24l1.05,-2.04l4.43,-2.5Z", "name": "Uzbekistan"}, "MM": {"path": "M673.9,230.21l-1.97,1.57l-0.57,0.96l-1.4,0.6l-1.36,1.05l-1.99,0.36l-1.08,2.66l-0.91,0.4l-0.19,0.55l1.21,2.27l2.52,3.43l-0.79,1.91l-0.74,0.41l-0.17,0.52l0.65,1.37l1.61,1.95l0.25,2.58l0.9,2.13l-1.92,3.57l0.68,-2.25l-0.81,-1.74l0.19,-2.65l-1.05,-1.53l-1.24,-6.17l-1.12,-2.26l-0.6,-0.13l-4.34,3.02l-2.39,-0.65l0.77,-2.84l-0.52,-2.61l-1.91,-2.96l0.25,-0.75l-0.29,-0.51l-1.33,-0.3l-1.61,-1.93l-0.1,-1.3l0.82,-0.24l0.04,-1.64l1.02,-0.52l0.21,-0.45l-0.23,-0.95l0.54,-0.96l0.08,-2.22l1.46,0.45l0.47,-0.2l1.12,-2.19l0.16,-1.35l1.33,-2.16l-0.0,-1.52l2.89,-1.66l1.63,0.44l0.5,-0.44l-0.17,-1.4l0.64,-0.36l0.08,-1.04l0.77,-0.11l0.71,1.35l1.06,0.69l-0.03,3.86l-2.38,2.37l-0.3,3.15l0.46,0.43l2.28,-0.38l0.51,2.08l1.47,0.67l-0.6,1.8l0.19,0.48l2.97,1.48l1.64,-0.55l0.02,0.32Z", "name": "Myanmar"}, "ML": {"path": "M392.61,254.08l-0.19,-2.37l-0.99,-0.87l-0.44,-1.3l-0.09,-1.28l0.81,-0.58l0.35,-1.24l2.37,0.65l1.31,-0.47l0.86,0.15l0.66,-0.56l9.83,-0.04l0.38,-0.28l0.56,-1.8l-0.44,-0.65l-2.35,-21.95l3.27,-0.04l16.7,11.38l0.74,1.31l2.5,1.09l0.02,1.38l0.44,0.39l2.34,-0.21l0.01,5.38l-1.28,1.61l-0.26,1.49l-5.31,0.57l-1.07,0.92l-2.9,0.1l-0.86,-0.48l-1.38,0.36l-2.4,1.08l-0.6,0.87l-1.85,1.09l-0.43,0.7l-0.79,0.39l-1.44,-0.21l-0.81,0.84l-0.34,1.64l-1.91,2.02l-0.06,1.03l-0.67,1.22l0.13,1.16l-0.97,0.39l-0.23,-0.64l-0.52,-0.24l-1.35,0.4l-0.34,0.55l-2.69,-0.28l-0.37,-0.35l-0.02,-0.9l-0.65,-0.35l0.45,-0.64l-0.03,-0.53l-2.12,-2.44l-0.76,-0.01l-2.0,1.16l-0.78,-0.15l-0.8,-0.67l-1.21,0.23Z", "name": "Mali"}, "MN": {"path": "M676.61,146.48l3.81,1.68l5.67,-1.0l2.37,0.41l2.34,1.5l1.79,1.75l2.29,-0.03l3.12,0.52l2.47,-0.81l3.41,-0.59l3.53,-2.21l1.25,0.29l1.53,1.13l2.27,-0.21l-2.66,5.01l0.64,1.68l0.47,0.21l1.32,-0.38l2.38,0.48l2.02,-1.11l1.76,0.89l2.06,2.02l-0.13,0.53l-1.72,-0.29l-3.77,0.46l-1.88,0.99l-1.76,1.99l-3.71,1.17l-2.45,1.6l-3.83,-0.87l-0.41,0.17l-1.31,1.99l1.04,2.24l-1.52,0.9l-1.74,1.57l-2.79,1.02l-3.78,0.13l-4.05,1.05l-2.77,1.52l-1.16,-0.85l-2.94,0.0l-3.62,-1.79l-2.58,-0.49l-3.4,0.41l-5.12,-0.67l-2.63,0.06l-1.31,-1.6l-1.4,-3.0l-1.48,-0.33l-3.13,-1.94l-6.16,-0.93l-0.71,-1.06l0.86,-3.82l-1.93,-2.71l-3.5,-1.18l-1.95,-1.58l-0.5,-1.72l2.34,-0.52l4.75,-2.8l3.62,-1.47l2.18,0.97l2.46,0.05l1.81,1.53l2.46,0.12l3.95,0.71l2.43,-2.28l0.08,-0.48l-0.9,-1.72l2.24,-2.98l2.62,1.27l4.94,1.17l0.43,2.24Z", "name": "Mongolia"}, "MK": {"path": "M472.8,173.98l0.49,-0.71l3.57,-0.71l1.0,0.77l0.13,1.45l-0.65,0.53l-1.15,-0.05l-1.12,0.67l-1.39,0.22l-0.79,-0.55l-0.29,-1.03l0.19,-0.6Z", "name": "Macedonia"}, "MW": {"path": "M505.5,309.31l0.85,1.95l0.15,2.86l-0.69,1.65l0.71,1.8l0.06,1.28l0.49,0.64l0.07,1.06l0.4,0.55l0.8,-0.23l0.55,0.61l0.69,-0.21l0.34,0.6l0.19,2.94l-1.04,0.62l-0.54,1.25l-1.11,-1.08l-0.16,-1.56l0.51,-1.31l-0.32,-1.3l-0.99,-0.65l-0.82,0.12l-2.36,-1.64l0.63,-1.96l0.82,-1.18l-0.46,-2.01l0.9,-2.86l-0.94,-2.51l0.96,0.18l0.29,0.4Z", "name": "Malawi"}, "MR": {"path": "M407.36,220.66l-2.58,0.03l-0.39,0.44l2.42,22.56l0.36,0.43l-0.39,1.24l-9.75,0.04l-0.56,0.53l-0.91,-0.11l-1.27,0.45l-1.61,-0.66l-0.97,0.03l-0.36,0.29l-0.38,1.35l-0.42,0.23l-2.93,-3.4l-2.96,-1.52l-1.62,-0.03l-1.27,0.54l-1.12,-0.2l-0.65,0.4l-0.08,-0.49l0.68,-1.29l0.31,-2.43l-0.57,-3.91l0.23,-1.21l-0.69,-1.5l-1.15,-1.02l0.25,-0.39l9.58,0.02l0.4,-0.45l-0.46,-3.68l0.47,-1.04l2.12,-0.21l0.36,-0.4l-0.08,-6.4l7.81,0.13l0.41,-0.4l0.01,-3.31l7.76,5.35Z", "name": "Mauritania"}, "UG": {"path": "M498.55,276.32l0.7,-0.46l1.65,0.5l1.96,-0.57l1.7,0.01l1.45,-0.98l0.91,1.33l1.33,3.95l-2.57,4.03l-1.46,-0.4l-2.54,0.91l-1.37,1.61l-0.01,0.81l-2.42,-0.01l-2.26,1.01l-0.17,-1.59l0.58,-1.04l0.14,-1.94l1.37,-2.28l1.78,-1.58l-0.17,-0.65l-0.72,-0.24l0.13,-2.43Z", "name": "Uganda"}, "MY": {"path": "M717.47,273.46l-1.39,0.65l-2.12,-0.41l-2.88,-0.0l-0.38,0.28l-0.84,2.75l-0.99,0.96l-1.21,3.29l-1.73,0.45l-2.45,-0.68l-1.39,0.31l-1.33,1.15l-1.59,-0.14l-1.41,0.44l-1.44,-1.19l-0.18,-0.73l1.34,0.53l1.93,-0.47l0.75,-2.22l4.02,-1.03l2.75,-3.21l0.82,0.94l0.64,-0.05l0.4,-0.65l0.96,0.06l0.42,-0.36l0.24,-2.68l1.81,-1.64l1.21,-1.86l0.63,-0.01l1.07,1.05l0.34,1.28l3.44,1.35l-0.06,0.35l-1.37,0.1l-0.35,0.54l0.32,0.88ZM673.68,269.59l0.17,1.09l0.47,0.33l1.65,-0.3l0.87,-0.94l1.61,1.52l0.98,1.56l-0.12,2.81l0.41,2.29l0.95,0.9l0.88,2.44l-1.27,0.12l-5.1,-3.67l-0.34,-1.29l-1.37,-1.59l-0.33,-1.97l-0.88,-1.4l0.25,-1.68l-0.46,-1.05l1.63,0.84Z", "name": "Malaysia"}, "MX": {"path": "M133.12,200.41l0.2,0.47l9.63,3.33l6.96,-0.02l0.4,-0.4l0.0,-0.74l3.77,0.0l3.55,2.93l1.39,2.83l1.52,1.04l2.08,0.82l0.47,-0.14l1.46,-2.0l1.73,-0.04l1.59,0.98l2.05,3.35l1.47,1.56l1.26,3.14l2.18,1.02l2.26,0.58l-1.18,3.72l-0.42,5.04l1.79,4.89l1.62,1.89l0.61,1.52l1.2,1.42l2.55,0.66l1.37,1.1l7.54,-1.89l1.86,-1.3l1.14,-4.3l4.1,-1.21l3.57,-0.11l0.32,0.3l-0.06,0.94l-1.26,1.45l-0.67,1.71l0.38,0.7l-0.72,2.27l-0.49,-0.3l-1.0,0.08l-1.0,1.39l-0.47,-0.11l-0.53,0.47l-4.26,-0.02l-0.4,0.4l-0.0,1.06l-1.1,0.26l0.1,0.44l1.82,1.44l0.56,0.91l-3.19,0.21l-1.21,2.09l0.24,0.72l-0.2,0.44l-2.24,-2.18l-1.45,-0.93l-2.22,-0.69l-1.52,0.22l-3.07,1.16l-10.55,-3.85l-2.86,-1.96l-3.78,-0.92l-1.08,-1.19l-2.62,-1.43l-1.18,-1.54l-0.38,-0.81l0.66,-0.63l-0.18,-0.53l0.52,-0.76l0.01,-0.91l-2.0,-3.82l-2.21,-2.63l-2.53,-2.09l-1.19,-1.62l-2.2,-1.17l-0.3,-0.43l0.34,-1.48l-0.21,-0.45l-1.23,-0.6l-1.36,-1.2l-0.59,-1.78l-1.54,-0.47l-2.44,-2.55l-0.16,-0.9l-1.33,-2.03l-0.84,-1.99l-0.16,-1.33l-1.81,-1.1l-0.97,0.05l-1.31,-0.7l-0.57,0.22l-0.4,1.12l0.72,3.77l3.51,3.89l0.28,0.78l0.53,0.26l0.41,1.43l1.33,1.73l1.58,1.41l0.8,2.39l1.43,2.41l0.13,1.32l0.37,0.36l1.04,0.08l1.67,2.28l-0.85,0.76l-0.66,-1.51l-1.68,-1.54l-2.91,-1.87l0.06,-1.82l-0.54,-1.68l-2.91,-2.03l-0.55,0.09l-1.95,-1.1l-0.88,-0.94l0.68,-0.08l0.93,-1.01l0.08,-1.78l-1.93,-1.94l-1.46,-0.77l-3.75,-7.56l4.88,-0.42Z", "name": "Mexico"}, "IL": {"path": "M507.76,203.05l0.4,-0.78l0.18,0.4l-0.33,1.03l0.52,0.44l0.68,-0.22l-0.86,3.6l-1.16,-3.32l0.59,-0.74l-0.03,-0.41ZM508.73,200.34l0.37,-1.02l0.64,0.0l0.52,-0.51l-0.49,1.53l-0.56,-0.24l-0.48,0.23Z", "name": "Israel"}, "FR": {"path": "M444.48,172.62l-0.64,1.78l-0.58,-0.31l-0.49,-1.72l0.4,-0.89l1.0,-0.72l0.3,1.85ZM429.64,147.1l1.78,1.58l1.46,-0.13l2.1,1.42l1.35,0.27l1.23,0.83l3.04,0.5l-1.03,1.85l-0.3,2.12l-0.41,0.32l-0.95,-0.24l-0.5,0.43l0.06,0.61l-1.81,1.92l-0.04,1.42l0.55,0.38l0.88,-0.36l0.61,0.97l-0.03,1.0l0.57,0.91l-0.75,1.09l0.65,2.39l1.27,0.57l-0.18,0.82l-2.01,1.53l-4.77,-0.8l-3.82,1.0l-0.53,1.85l-2.49,0.34l-2.71,-1.31l-1.16,0.57l-4.31,-1.29l-0.72,-0.86l1.19,-1.78l0.39,-6.45l-2.58,-3.3l-1.9,-1.66l-3.72,-1.23l-0.19,-1.72l2.81,-0.61l4.12,0.81l0.47,-0.48l-0.6,-2.77l1.94,0.95l5.83,-2.54l0.92,-2.74l1.6,-0.49l0.24,0.78l1.36,0.33l1.05,1.19ZM289.01,278.39l-0.81,0.8l-0.78,0.12l-0.5,-0.66l-0.56,-0.1l-0.91,0.6l-0.46,-0.22l1.09,-2.96l-0.96,-1.77l-0.17,-1.49l1.07,-1.77l2.32,0.75l2.51,2.01l0.3,0.74l-2.14,3.96Z", "name": "France"}, "XS": {"path": "M531.15,258.94l1.51,0.12l5.13,-0.95l5.3,-1.48l-0.01,4.4l-2.67,3.39l-1.85,0.01l-8.04,-2.94l-2.55,-3.17l1.12,-1.71l2.04,2.34Z", "name": "Somaliland"}, "FI": {"path": "M492.17,76.39l-0.23,3.5l3.52,2.63l-2.08,2.88l-0.02,0.44l2.8,4.56l-1.59,3.31l2.16,3.24l-0.94,2.39l0.14,0.47l3.44,2.51l-0.77,1.62l-7.52,6.95l-4.5,0.31l-4.38,1.37l-3.8,0.74l-1.44,-1.96l-2.17,-1.11l0.5,-3.66l-1.16,-3.33l1.09,-2.08l2.21,-2.42l5.67,-4.32l1.64,-0.83l0.21,-0.42l-0.46,-2.02l-3.38,-1.89l-0.75,-1.43l-0.22,-6.74l-6.79,-4.8l0.8,-0.62l2.54,2.12l3.46,-0.12l3.0,0.96l2.51,-2.11l1.17,-3.08l3.55,-1.38l2.76,1.53l-0.95,2.79Z", "name": "Finland"}, "FJ": {"path": "M869.95,326.98l-1.21,0.41l-0.08,-0.23l2.97,-1.21l-0.14,0.42l-1.54,0.61ZM867.58,329.25l0.43,0.37l-0.27,0.88l-1.24,0.28l-1.04,-0.24l-0.14,-0.66l0.63,-0.58l0.92,0.26l0.7,-0.31Z", "name": "Fiji"}, "FK": {"path": "M274.36,425.85l1.44,1.08l-0.47,0.73l-3.0,0.89l-0.96,-1.0l-0.52,-0.05l-1.83,1.29l-0.73,-0.88l2.46,-1.64l1.93,0.76l1.67,-1.19Z", "name": "Falkland Is."}, "NI": {"path": "M202.33,252.67l0.81,-0.18l1.03,-1.02l-0.04,-0.88l0.68,-0.0l0.63,-0.54l0.97,0.22l1.53,-1.26l0.58,-0.99l1.17,0.34l2.41,-0.94l0.13,1.32l-0.81,1.94l0.1,2.74l-0.36,0.37l-0.11,1.75l-0.47,0.81l0.18,1.14l-1.73,-0.85l-0.71,0.27l-1.47,-0.6l-0.52,0.16l-4.01,-3.81Z", "name": "Nicaragua"}, "NL": {"path": "M430.31,143.39l0.6,-0.5l2.13,-4.8l3.2,-1.33l1.74,0.08l0.33,0.8l-0.59,2.92l-0.5,0.99l-1.26,0.0l-0.4,0.45l0.33,2.7l-2.2,-1.78l-2.62,0.58l-0.75,-0.11Z", "name": "Netherlands"}, "NO": {"path": "M491.44,67.41l6.8,2.89l-2.29,0.86l-0.15,0.65l2.33,2.38l-4.98,1.79l0.84,-2.45l-0.18,-0.48l-3.55,-1.8l-3.89,1.52l-1.42,3.38l-2.12,1.72l-2.64,-1.0l-3.11,0.21l-2.66,-2.22l-0.5,-0.01l-1.41,1.1l-1.44,0.17l-0.35,0.35l-0.32,2.47l-4.32,-0.64l-0.44,0.29l-0.58,2.11l-2.45,0.2l-4.15,7.68l-3.88,5.76l0.78,1.62l-0.64,1.16l-2.24,-0.06l-0.38,0.24l-1.66,3.89l0.15,5.17l1.57,2.04l-0.78,4.16l-2.02,2.48l-0.85,1.63l-1.3,-1.75l-0.58,-0.07l-4.87,4.19l-3.1,0.79l-3.16,-1.7l-0.85,-3.77l-0.77,-8.55l2.14,-2.31l6.55,-3.27l5.02,-4.17l10.63,-13.84l10.98,-8.7l5.35,-1.91l4.34,0.12l3.69,-3.64l4.49,0.19l4.37,-0.89ZM484.55,20.04l4.26,1.75l-3.1,2.55l-7.1,0.65l-7.08,-0.9l-0.37,-1.31l-0.37,-0.29l-3.44,-0.1l-2.08,-2.0l6.87,-1.44l3.9,1.31l2.39,-1.64l6.13,1.4ZM481.69,33.93l-4.45,1.74l-3.54,-0.99l1.12,-0.9l0.05,-0.58l-1.06,-1.22l4.22,-0.89l1.09,1.97l2.57,0.87ZM466.44,24.04l7.43,3.77l-5.41,1.86l-1.58,4.08l-2.26,1.2l-1.12,4.11l-2.61,0.18l-4.79,-2.86l1.84,-1.54l-0.1,-0.68l-3.69,-1.53l-4.77,-4.51l-1.73,-3.89l6.11,-1.82l1.54,1.92l3.57,-0.08l1.2,-1.96l3.32,-0.18l3.05,1.92Z", "name": "Norway"}, "NA": {"path": "M474.26,330.66l-0.97,0.04l-0.38,0.4l-0.07,8.9l-2.09,0.08l-0.39,0.4l-0.0,17.42l-1.98,1.23l-1.17,0.17l-2.44,-0.66l-0.48,-1.13l-0.99,-0.74l-0.54,0.05l-0.9,1.01l-1.53,-1.68l-0.93,-1.88l-1.99,-8.56l-0.06,-3.12l-0.33,-1.52l-2.3,-3.34l-1.91,-4.83l-1.96,-2.43l-0.12,-1.57l2.33,-0.79l1.43,0.07l1.81,1.13l10.23,-0.25l1.84,1.23l5.87,0.35ZM474.66,330.64l6.51,-1.6l1.9,0.39l-1.69,0.4l-1.31,0.83l-1.12,-0.94l-4.29,0.92Z", "name": "Namibia"}, "VU": {"path": "M839.04,322.8l0.22,1.14l-0.44,0.03l-0.2,-1.45l0.42,0.27Z", "name": "Vanuatu"}, "NC": {"path": "M838.78,341.24l-0.33,0.22l-2.9,-1.75l-3.26,-3.37l1.65,0.83l4.85,4.07Z", "name": "New Caledonia"}, "NE": {"path": "M454.75,226.53l1.33,1.37l0.48,0.07l1.27,-0.7l0.53,3.52l0.94,0.83l0.17,0.92l0.81,0.69l-0.44,0.95l-0.96,5.26l-0.13,3.22l-3.04,2.31l-1.22,3.57l1.02,1.24l-0.0,1.46l0.39,0.4l1.13,0.04l-0.9,1.25l-1.47,-2.42l-0.86,-0.29l-2.09,1.37l-1.74,-0.67l-1.45,-0.17l-0.85,0.35l-1.36,-0.07l-1.64,1.09l-1.06,0.05l-2.94,-1.28l-1.44,0.59l-1.01,-0.03l-0.97,-0.94l-2.7,-0.98l-2.69,0.3l-0.87,0.64l-0.47,1.6l-0.75,1.16l-0.12,1.53l-1.57,-1.1l-1.31,0.24l0.03,-0.81l-0.32,-0.41l-2.59,-0.52l-0.15,-1.16l-1.35,-1.6l-0.29,-1.0l0.13,-0.84l1.29,-0.08l1.08,-0.92l3.31,-0.22l2.22,-0.41l0.32,-0.34l0.2,-1.47l1.39,-1.88l-0.01,-5.66l3.36,-1.12l7.24,-5.12l8.42,-4.92l3.69,1.06Z", "name": "Niger"}, "NG": {"path": "M456.32,253.89l0.64,0.65l-0.28,1.04l-2.11,2.01l-2.03,5.18l-1.37,1.16l-1.15,3.18l-1.33,0.66l-1.46,-0.97l-1.21,0.16l-1.38,1.36l-0.91,0.24l-1.79,4.06l-2.33,0.81l-1.11,-0.07l-0.86,0.5l-1.71,-0.05l-1.19,-1.39l-0.89,-1.89l-1.77,-1.66l-3.95,-0.08l0.07,-5.21l0.42,-1.43l1.95,-2.3l-0.14,-0.91l0.43,-1.18l-0.53,-1.41l0.25,-2.92l0.72,-1.07l0.32,-1.34l0.46,-0.39l2.47,-0.28l2.34,0.89l1.15,1.02l1.28,0.04l1.22,-0.58l3.03,1.27l1.49,-0.14l1.36,-1.0l1.33,0.07l0.82,-0.35l3.45,0.8l1.82,-1.32l1.84,2.67l0.66,0.16Z", "name": "Nigeria"}, "NZ": {"path": "M857.8,379.65l1.86,3.12l0.44,0.18l0.3,-0.38l0.03,-1.23l0.38,0.27l0.57,2.31l2.02,0.94l1.81,0.27l1.57,-1.06l0.7,0.18l-1.15,3.59l-1.98,0.11l-0.74,1.2l0.2,1.11l-2.42,3.98l-1.49,0.92l-1.04,-0.85l1.21,-2.05l-0.81,-2.01l-2.63,-1.25l0.04,-0.57l1.82,-1.19l0.43,-2.34l-0.16,-2.03l-0.95,-1.82l-0.06,-0.72l-3.11,-3.64l-0.79,-1.52l1.56,1.45l1.76,0.66l0.65,2.34ZM853.83,393.59l0.57,1.24l0.59,0.16l1.42,-0.97l0.46,0.79l0.0,1.03l-2.47,3.48l-1.26,1.2l-0.06,0.5l0.55,0.87l-1.41,0.07l-2.33,1.38l-2.03,5.02l-3.02,2.16l-2.06,-0.06l-1.71,-1.04l-2.47,-0.2l-0.27,-0.73l1.22,-2.1l3.05,-2.94l1.62,-0.59l4.02,-2.82l1.57,-1.67l1.07,-2.16l0.88,-0.7l0.48,-1.75l1.24,-0.97l0.35,0.79Z", "name": "New Zealand"}, "NP": {"path": "M641.14,213.62l0.01,3.19l-1.74,0.04l-4.8,-0.86l-1.58,-1.39l-3.37,-0.34l-7.65,-3.7l0.8,-2.09l2.33,-1.7l1.77,0.75l2.49,1.76l1.38,0.41l0.99,1.35l1.9,0.52l1.99,1.17l5.49,0.9Z", "name": "Nepal"}, "XK": {"path": "M472.77,172.64l-1.08,-1.29l0.96,-0.77l0.29,-0.83l1.98,1.64l-0.36,0.67l-1.79,0.58Z", "name": "Kosovo"}, "CI": {"path": "M407.4,259.27l0.86,0.42l0.56,0.9l1.13,0.53l1.19,-0.61l0.97,-0.08l1.42,0.54l0.6,3.24l-1.03,2.08l-0.65,2.84l1.06,2.33l-0.06,0.53l-2.54,-0.47l-1.66,0.03l-3.06,0.46l-4.11,1.6l0.32,-3.06l-1.18,-1.31l-1.32,-0.66l0.42,-0.85l-0.2,-1.4l0.5,-0.67l0.01,-1.59l0.84,-0.32l0.26,-0.5l-1.15,-3.01l0.12,-0.5l0.51,-0.25l0.66,0.31l1.93,0.02l0.67,-0.71l0.71,-0.14l0.25,0.69l0.57,0.22l1.4,-0.61Z", "name": "C\u00f4te d'Ivoire"}, "CH": {"path": "M444.62,156.35l-0.29,0.87l0.18,0.53l1.13,0.58l1.0,0.1l-0.1,0.65l-0.79,0.38l-1.72,-0.37l-0.45,0.23l-0.45,1.04l-0.75,0.06l-0.84,-0.4l-1.32,1.0l-0.96,0.12l-0.88,-0.55l-0.81,-1.3l-0.49,-0.16l-0.63,0.26l0.02,-0.65l1.71,-1.66l0.1,-0.56l0.93,0.08l0.58,-0.46l1.99,0.02l0.66,-0.61l2.19,0.79Z", "name": "Switzerland"}, "CO": {"path": "M242.07,254.93l-1.7,0.59l-0.59,1.18l-1.7,1.69l-0.38,1.93l-0.67,1.43l0.31,0.57l1.03,0.13l0.25,0.9l0.57,0.64l-0.04,2.34l1.64,1.42l3.16,-0.24l1.26,0.28l1.67,2.06l0.41,0.13l4.09,-0.39l0.45,0.22l-0.92,1.95l-0.2,1.8l0.52,1.83l0.75,1.05l-1.12,1.1l0.07,0.63l0.84,0.51l0.74,1.29l-0.39,-0.45l-0.59,-0.01l-0.71,0.74l-4.71,-0.05l-0.4,0.41l0.03,1.57l0.33,0.39l1.11,0.2l-1.68,0.4l-0.29,0.38l-0.01,1.82l1.16,1.14l0.34,1.25l-1.05,7.05l-1.04,-0.87l1.26,-1.99l-0.13,-0.56l-2.18,-1.23l-1.38,0.2l-1.14,-0.38l-1.27,0.61l-1.55,-0.26l-1.38,-2.46l-1.23,-0.75l-0.85,-1.2l-1.67,-1.19l-0.86,0.13l-2.11,-1.32l-1.01,0.31l-1.8,-0.29l-0.52,-0.91l-3.09,-1.68l0.77,-0.52l-0.1,-1.12l0.41,-0.64l1.34,-0.32l2.0,-2.88l-0.11,-0.57l-0.66,-0.43l0.39,-1.38l-0.52,-2.1l0.49,-0.83l-0.4,-2.13l-0.97,-1.35l0.17,-0.66l0.86,-0.08l0.47,-0.75l-0.46,-1.63l1.41,-0.07l1.8,-1.69l0.93,-0.24l0.3,-0.38l0.45,-2.76l1.22,-1.0l1.44,-0.04l0.45,-0.5l1.91,0.12l2.93,-1.84l1.15,-1.14l0.91,0.46l-0.25,0.45Z", "name": "Colombia"}, "CN": {"path": "M740.23,148.97l4.57,1.3l2.8,2.17l0.98,2.9l0.38,0.27l3.8,0.0l2.32,-1.28l3.29,-0.75l-0.96,2.09l-1.02,1.28l-0.85,3.4l-1.52,2.73l-2.76,-0.5l-2.4,1.13l-0.21,0.45l0.64,2.57l-0.32,3.2l-0.94,0.06l-0.37,0.89l-0.91,-1.01l-0.64,0.07l-0.92,1.57l-3.73,1.25l-0.26,0.48l0.26,1.06l-1.5,-0.08l-1.09,-0.86l-0.56,0.06l-1.67,2.06l-2.7,1.56l-2.03,1.88l-3.4,0.83l-1.93,1.4l-1.15,0.34l0.33,-0.7l-0.41,-0.89l1.79,-1.79l0.02,-0.54l-1.32,-1.56l-0.48,-0.1l-2.24,1.09l-2.83,2.06l-1.51,1.83l-2.28,0.13l-1.55,1.49l-0.04,0.5l1.32,1.97l2.0,0.58l0.31,1.35l1.98,0.84l3.0,-1.96l2.0,1.02l1.49,0.11l0.22,0.83l-3.37,0.86l-1.12,1.48l-2.5,1.52l-1.29,1.99l0.14,0.56l2.57,1.48l0.97,2.7l3.17,4.63l-0.03,1.66l-1.35,0.65l-0.2,0.51l0.6,1.47l1.4,0.91l-0.89,3.82l-1.43,0.38l-3.85,6.44l-2.27,3.11l-6.78,4.57l-2.73,0.29l-1.45,1.04l-0.62,-0.61l-0.55,-0.01l-1.36,1.25l-3.39,1.27l-2.61,0.4l-1.1,2.79l-0.81,0.09l-0.49,-1.42l0.5,-0.85l-0.25,-0.59l-3.36,-0.84l-1.3,0.4l-2.31,-0.62l-0.94,-0.84l0.33,-1.28l-0.3,-0.49l-2.19,-0.46l-1.13,-0.93l-0.47,-0.02l-2.06,1.36l-4.29,0.28l-2.76,1.05l-0.28,0.43l0.32,2.53l-0.59,-0.03l-0.19,-1.34l-0.55,-0.34l-1.68,0.7l-2.46,-1.23l0.62,-1.87l-0.26,-0.51l-1.37,-0.44l-0.54,-2.22l-0.45,-0.3l-2.13,0.35l0.24,-2.48l2.39,-2.4l0.03,-4.31l-1.19,-0.92l-0.78,-1.49l-0.41,-0.21l-1.41,0.19l-1.98,-0.3l0.46,-1.07l-1.17,-1.7l-0.55,-0.11l-1.63,1.05l-2.25,-0.57l-2.89,1.73l-2.25,1.98l-1.75,0.29l-1.17,-0.71l-3.31,-0.65l-1.48,0.79l-1.04,1.27l-0.12,-1.17l-0.54,-0.34l-1.44,0.54l-5.55,-0.86l-1.98,-1.16l-1.89,-0.54l-0.99,-1.35l-1.34,-0.37l-2.55,-1.79l-2.01,-0.84l-1.21,0.56l-5.57,-3.45l-0.53,-2.31l1.19,0.25l0.48,-0.37l0.08,-1.42l-0.98,-1.56l0.15,-2.44l-2.69,-3.32l-4.12,-1.23l-0.67,-2.0l-1.92,-1.48l-0.38,-0.7l-0.51,-3.01l-1.52,-0.66l-0.7,0.13l-0.48,-2.05l0.55,-0.51l-0.09,-0.82l2.03,-1.19l1.6,-0.54l2.56,0.38l0.42,-0.22l0.85,-1.7l3.0,-0.33l1.1,-1.26l4.05,-1.77l0.39,-0.91l-0.17,-1.44l1.45,-0.67l0.2,-0.52l-2.07,-4.9l4.51,-1.12l1.37,-0.73l1.89,-5.51l4.98,0.86l1.51,-1.7l0.11,-2.87l1.99,-0.38l1.83,-2.06l0.49,-0.13l0.68,2.08l2.23,1.77l3.44,1.16l1.55,2.29l-0.92,3.49l0.96,1.67l6.54,1.13l2.95,1.87l1.47,0.35l1.06,2.62l1.53,1.91l3.05,0.08l5.14,0.67l3.37,-0.41l2.36,0.43l3.65,1.8l3.06,0.04l1.45,0.88l2.87,-1.59l3.95,-1.02l3.83,-0.14l3.06,-1.14l1.77,-1.6l1.72,-1.01l0.17,-0.49l-1.1,-2.05l1.02,-1.54l4.02,0.8l2.45,-1.61l3.76,-1.19l1.96,-2.13l1.63,-0.83l3.51,-0.4l1.92,0.34l0.46,-0.3l0.17,-1.5l-2.27,-2.22l-2.11,-1.09l-2.18,1.11l-2.32,-0.47l-1.29,0.32l-0.4,-0.82l2.73,-5.16l3.02,1.06l3.53,-2.06l0.18,-1.68l2.16,-3.35l1.49,-1.35l-0.03,-1.85l-1.07,-0.85l1.54,-1.26l2.98,-0.59l3.23,-0.09l3.64,0.99l2.04,1.16l3.29,6.71l0.92,3.19ZM696.92,237.31l-1.87,1.08l-1.63,-0.64l-0.06,-1.79l1.03,-0.98l2.58,-0.69l1.16,0.05l0.3,0.54l-0.98,1.06l-0.53,1.37Z", "name": "China"}, "CM": {"path": "M457.92,257.49l1.05,1.91l-1.4,0.16l-1.05,-0.23l-0.45,0.22l-0.54,1.19l0.08,0.45l1.48,1.47l1.05,0.45l1.01,2.46l-1.52,2.99l-0.68,0.68l-0.13,3.69l2.38,3.84l1.09,0.8l0.24,2.48l-3.67,-1.14l-11.27,-0.13l0.23,-1.79l-0.98,-1.66l-1.19,-0.54l-0.44,-0.97l-0.6,-0.42l1.71,-4.27l0.75,-0.13l1.38,-1.36l0.65,-0.03l1.71,0.99l1.93,-1.12l1.14,-3.18l1.38,-1.17l2.0,-5.14l2.17,-2.13l0.3,-1.64l-0.86,-0.88l0.03,-0.33l0.94,1.28l0.07,3.22Z", "name": "Cameroon"}, "CL": {"path": "M246.5,429.18l-3.14,1.83l-0.57,3.16l-0.64,0.05l-2.68,-1.06l-2.82,-2.33l-3.04,-1.89l-0.69,-1.85l0.63,-2.14l-1.21,-2.11l-0.31,-5.37l1.01,-2.91l2.57,-2.38l-0.18,-0.68l-3.16,-0.77l2.05,-2.47l0.77,-4.65l2.32,0.9l0.54,-0.29l1.31,-6.31l-0.22,-0.44l-1.68,-0.8l-0.56,0.28l-0.7,3.36l-0.81,-0.22l1.56,-9.41l1.15,-2.24l-0.71,-2.82l-0.18,-2.84l1.01,-0.33l3.26,-9.14l1.07,-4.22l-0.56,-4.21l0.74,-2.34l-0.29,-3.27l1.46,-3.34l2.04,-16.59l-0.66,-7.76l1.03,-0.53l0.54,-0.9l0.79,1.14l0.32,1.78l1.25,1.16l-0.69,2.55l1.33,2.9l0.97,3.59l0.46,0.29l1.5,-0.3l0.11,0.23l-0.76,2.44l-2.57,1.23l-0.23,0.37l0.08,4.33l-0.46,0.77l0.56,1.21l-1.58,1.51l-1.68,2.62l-0.89,2.47l0.2,2.7l-1.48,2.73l1.12,5.09l0.64,0.61l-0.01,2.29l-1.38,2.68l0.01,2.4l-1.89,2.04l0.02,2.75l0.69,2.57l-1.43,1.13l-1.26,5.68l0.39,3.51l-0.97,0.89l0.58,3.5l1.02,1.14l-0.65,1.02l0.15,0.57l1.0,0.53l0.16,0.69l-1.03,0.85l0.26,1.75l-0.89,4.03l-1.31,2.66l0.24,1.75l-0.71,1.83l-1.99,1.7l0.3,3.67l0.88,1.19l1.58,0.01l0.01,2.21l1.04,1.95l5.98,0.63ZM248.69,430.79l0.0,7.33l0.4,0.4l3.52,0.05l-0.44,0.75l-1.94,0.98l-2.49,-0.37l-1.88,-1.06l-2.55,-0.49l-5.59,-3.71l-2.38,-2.63l4.1,2.48l3.32,1.23l0.45,-0.12l1.29,-1.57l0.83,-2.32l2.05,-1.24l1.31,0.29Z", "name": "Chile"}, "XC": {"path": "M504.91,192.87l0.34,0.01l0.27,-0.07l-0.29,0.26l-0.31,-0.2Z", "name": "N. Cyprus"}, "CA": {"path": "M280.06,145.6l-1.67,2.88l0.07,0.49l0.5,0.04l1.46,-0.98l1.0,0.42l-0.56,0.72l0.17,0.62l2.22,0.89l1.35,-0.71l1.95,0.78l-0.66,2.01l0.5,0.51l1.32,-0.42l0.98,3.17l-0.91,2.41l-0.8,0.08l-1.23,-0.45l0.47,-2.25l-0.89,-0.83l-0.48,0.06l-2.78,2.63l-0.34,-0.02l1.02,-0.85l-0.14,-0.69l-2.4,-0.77l-7.4,0.08l-0.17,-0.41l1.3,-0.94l0.02,-0.64l-0.73,-0.58l1.85,-1.74l2.57,-5.16l1.47,-1.79l1.99,-1.05l0.46,0.06l-1.53,2.45ZM68.32,74.16l4.13,0.95l4.02,2.14l2.61,0.4l2.47,-1.89l2.88,-1.31l3.85,0.48l3.71,-1.94l3.82,-1.04l1.56,1.68l0.49,0.08l1.87,-1.04l0.65,-1.98l1.24,0.35l4.16,3.94l0.54,0.01l2.75,-2.49l0.26,2.59l0.49,0.35l3.08,-0.73l1.04,-1.27l2.73,0.23l3.83,1.86l5.86,1.61l3.47,0.75l2.44,-0.26l2.73,1.78l-2.98,1.81l-0.19,0.41l0.31,0.32l4.53,0.92l6.87,-0.5l2.0,-0.69l2.49,2.39l0.53,0.02l2.72,-2.16l-0.02,-0.64l-2.16,-1.54l1.15,-1.06l4.83,-0.61l1.84,0.95l2.48,2.31l3.01,-0.23l4.55,1.92l3.85,-0.67l3.61,0.1l0.41,-0.44l-0.25,-2.36l1.79,-0.61l3.49,1.32l-0.01,3.77l0.31,0.39l0.45,-0.22l1.48,-3.16l1.74,0.1l0.41,-0.3l1.13,-4.37l-2.78,-3.11l-2.8,-1.74l0.19,-4.64l2.71,-3.07l2.98,0.67l2.41,1.95l3.19,4.8l-1.99,1.97l0.21,0.68l4.33,0.84l-0.01,4.15l0.25,0.37l0.44,-0.09l3.07,-3.15l2.54,2.39l-0.61,3.33l2.42,2.88l0.61,0.0l2.61,-3.08l1.88,-3.82l0.17,-4.58l6.72,0.94l3.13,2.04l0.13,1.82l-1.76,2.19l-0.01,0.49l1.66,2.16l-0.26,1.71l-4.68,2.8l-3.28,0.61l-2.47,-1.2l-0.55,0.23l-0.73,2.04l-2.38,3.43l-0.74,1.77l-2.74,2.57l-3.44,0.25l-2.21,1.78l-0.28,2.53l-2.82,0.55l-3.12,3.22l-2.72,4.31l-1.03,3.17l-0.14,4.31l0.33,0.41l3.44,0.57l2.24,5.95l0.45,0.23l3.4,-0.69l4.52,1.51l2.43,1.31l1.91,1.73l3.1,0.96l2.62,1.46l6.6,0.54l-0.35,2.74l0.81,3.53l1.81,3.78l3.83,3.3l0.45,0.04l2.1,-1.28l1.37,-3.69l-1.31,-5.38l-1.45,-1.58l3.57,-1.47l2.84,-2.46l1.52,-2.8l-0.25,-2.55l-1.7,-3.07l-2.85,-2.61l2.8,-3.95l-1.08,-3.37l-0.79,-5.67l1.36,-0.7l6.76,1.41l2.12,-0.96l5.12,3.36l1.05,1.61l4.08,0.26l-0.06,2.87l0.83,4.7l0.3,0.32l2.16,0.54l1.73,2.06l0.5,0.09l3.63,-2.03l2.52,-4.19l1.26,-1.32l7.6,11.72l-0.92,2.04l0.16,0.51l3.3,1.97l2.22,1.98l4.1,0.98l1.43,0.99l0.95,2.79l2.1,0.68l0.84,1.08l0.17,3.45l-3.37,2.26l-4.22,1.24l-3.06,2.63l-4.06,0.51l-5.35,-0.69l-6.39,0.2l-2.3,2.41l-3.26,1.51l-6.47,7.15l-0.06,0.48l0.44,0.19l2.13,-0.52l4.17,-4.24l5.12,-2.62l3.52,-0.3l1.69,1.21l-2.12,2.21l0.81,3.47l1.02,2.61l3.47,1.6l4.14,-0.45l2.15,-2.8l0.26,1.48l1.14,0.8l-2.56,1.69l-5.5,1.82l-2.54,1.27l-2.74,2.15l-1.4,-0.16l-0.07,-2.01l4.14,-2.44l0.18,-0.45l-0.39,-0.29l-6.63,0.45l-1.39,-1.49l-0.14,-4.43l-1.11,-0.91l-1.82,0.39l-0.66,-0.66l-0.6,0.03l-1.91,2.39l-0.82,2.52l-0.8,1.27l-1.67,0.56l-0.46,0.76l-8.31,0.07l-1.21,0.62l-2.35,1.97l-0.71,-0.14l-1.37,0.96l-1.12,-0.48l-4.74,1.26l-0.9,1.17l0.21,0.62l1.73,0.3l-1.81,0.31l-1.85,0.81l-2.11,-0.13l-2.95,1.78l-0.69,-0.09l1.39,-2.1l1.73,-1.21l0.1,-2.29l1.16,-1.99l0.49,0.53l2.03,0.42l1.2,-1.16l0.02,-0.47l-2.66,-3.51l-2.28,-0.61l-5.64,-0.71l-0.4,-0.57l-0.79,0.13l0.2,-0.41l-0.22,-0.55l-0.68,-0.26l0.19,-1.26l-0.78,-0.73l0.31,-0.64l-0.29,-0.57l-2.6,-0.44l-0.75,-1.63l-0.94,-0.66l-4.31,-0.65l-1.13,1.19l-1.48,0.59l-0.85,1.06l-2.83,-0.76l-2.09,0.39l-2.39,-0.97l-4.24,-0.7l-0.57,-0.4l-0.41,-1.63l-0.4,-0.3l-0.85,0.02l-0.39,0.4l-0.01,0.85l-69.13,-0.01l-6.51,-4.52l-4.5,-1.38l-1.26,-2.66l0.33,-1.93l-0.23,-0.43l-3.01,-1.35l-0.55,-2.77l-2.89,-2.38l-0.04,-1.45l1.39,-1.83l-0.28,-2.55l-4.16,-2.2l-4.07,-6.6l-4.02,-3.22l-1.3,-1.88l-0.5,-0.13l-2.51,1.21l-2.23,1.87l-3.85,-3.88l-2.44,-1.04l-2.22,-0.13l0.03,-37.49ZM260.37,148.65l3.04,0.76l2.26,1.2l-3.78,-0.95l-1.53,-1.01ZM249.4,3.81l6.68,0.49l5.32,0.79l4.26,1.57l-0.07,1.1l-5.85,2.53l-6.02,1.21l-2.39,1.39l-0.18,0.45l0.39,0.29l4.01,-0.02l-4.65,2.82l-4.2,1.74l-4.19,4.59l-5.03,0.92l-1.67,1.15l-7.47,0.59l-0.37,0.37l0.32,0.42l2.41,0.49l-0.81,0.47l-0.12,0.59l1.83,2.41l-2.02,1.59l-3.81,1.51l-1.32,2.16l-3.38,1.53l-0.22,0.48l0.35,1.19l0.4,0.29l3.88,-0.18l0.03,0.61l-6.33,2.95l-6.41,-1.4l-7.43,0.79l-3.72,-0.62l-4.4,-0.25l-0.23,-1.83l4.29,-1.11l0.28,-0.51l-1.1,-3.45l1.0,-0.25l6.58,2.28l0.47,-0.16l-0.05,-0.49l-3.41,-3.45l-3.58,-0.98l1.48,-1.55l4.34,-1.29l0.97,-2.19l-0.16,-0.48l-3.42,-2.13l-0.81,-2.26l6.2,0.22l2.24,0.58l3.91,-2.1l0.2,-0.43l-0.35,-0.32l-5.64,-0.67l-8.73,0.36l-4.26,-1.9l-2.12,-2.4l-2.78,-1.66l-0.41,-1.52l3.31,-1.03l2.93,-0.2l4.91,-0.99l3.7,-2.27l2.87,0.3l2.62,1.67l0.56,-0.14l1.82,-3.2l3.13,-0.94l4.44,-0.69l7.53,-0.26l1.48,0.67l7.19,-1.06l10.8,0.79ZM203.85,57.54l0.01,0.42l1.97,2.97l0.68,-0.02l2.24,-3.72l5.95,-1.86l4.01,4.64l-0.35,2.91l0.5,0.43l4.95,-1.36l2.32,-1.8l5.31,2.28l3.27,2.11l0.3,1.84l0.48,0.33l4.42,-0.99l2.64,2.87l5.97,1.77l2.06,1.72l2.11,3.71l-4.19,1.86l-0.01,0.73l5.9,2.83l3.94,0.94l3.78,3.95l3.46,0.25l-0.63,2.37l-4.11,4.47l-2.76,-1.56l-3.9,-3.94l-3.59,0.41l-0.33,0.34l-0.19,2.72l2.63,2.38l3.42,1.89l0.94,0.97l1.55,3.75l-0.7,2.29l-2.74,-0.92l-6.25,-3.15l-0.51,0.13l0.05,0.52l6.07,5.69l0.18,0.59l-6.09,-1.39l-5.31,-2.24l-2.63,-1.66l0.6,-0.77l-0.12,-0.6l-7.39,-4.01l-0.59,0.37l0.03,0.79l-6.73,0.6l-1.69,-1.1l1.36,-2.46l4.51,-0.07l5.15,-0.52l0.31,-0.6l-0.74,-1.3l0.78,-1.84l3.21,-4.05l-0.67,-2.35l-1.11,-1.6l-3.84,-2.1l-4.35,-1.28l0.91,-0.63l0.06,-0.61l-2.65,-2.75l-2.34,-0.36l-1.89,-1.46l-0.53,0.03l-1.24,1.23l-4.36,0.55l-9.04,-0.99l-9.26,-1.98l-1.6,-1.22l2.22,-1.77l0.13,-0.44l-0.38,-0.27l-3.22,-0.02l-0.72,-4.25l1.83,-4.04l2.42,-1.85l5.5,-1.1l-1.39,2.35ZM261.19,159.33l2.07,0.61l1.44,-0.04l-1.15,0.63l-2.94,-1.23l-0.4,-0.68l0.36,-0.37l0.61,1.07ZM230.83,84.39l-2.37,0.18l-0.49,-1.63l0.93,-2.09l1.94,-0.51l1.62,0.99l0.02,1.52l-1.66,1.54ZM229.43,58.25l0.11,0.65l-4.87,-0.21l-2.72,0.62l-3.1,-2.57l0.08,-1.26l0.86,-0.23l5.57,0.51l4.08,2.5ZM222.0,105.02l-0.72,1.49l-0.63,-0.19l-0.48,-0.84l0.81,-0.99l0.65,0.05l0.37,0.46ZM183.74,38.32l2.9,1.7l4.79,-0.01l1.84,1.46l-0.49,1.68l0.23,0.48l2.82,1.14l1.76,1.26l7.01,0.65l4.1,-1.1l5.03,-0.43l3.93,0.35l2.48,1.77l0.46,1.7l-1.3,1.1l-3.56,1.01l-3.23,-0.59l-7.17,0.76l-5.09,0.09l-3.99,-0.6l-6.42,-1.54l-0.79,-2.51l-0.3,-2.49l-2.64,-2.5l-5.32,-0.72l-2.52,-1.4l0.68,-1.57l4.78,0.31ZM207.38,91.35l0.4,1.56l0.56,0.26l1.06,-0.52l1.32,0.96l5.42,2.57l0.2,1.68l0.46,0.35l1.68,-0.28l1.15,0.85l-1.55,0.87l-3.61,-0.88l-1.32,-1.69l-0.57,-0.06l-2.45,2.1l-3.12,1.79l-0.7,-1.87l-0.42,-0.26l-2.16,0.24l1.39,-1.39l0.32,-3.14l0.76,-3.35l1.18,0.22ZM215.49,102.6l-2.67,1.95l-1.4,-0.07l-0.3,-0.58l1.53,-1.48l2.84,0.18ZM202.7,24.12l2.53,1.59l-2.87,1.4l-4.53,4.05l-4.25,0.38l-5.03,-0.68l-2.45,-2.04l0.03,-1.62l1.82,-1.37l0.14,-0.45l-0.38,-0.27l-4.45,0.04l-2.59,-1.76l-1.41,-2.29l1.57,-2.32l1.62,-1.66l2.44,-0.39l0.25,-0.65l-0.6,-0.74l4.86,-0.25l3.24,3.11l8.16,2.3l1.9,3.61ZM187.47,59.2l-2.76,3.49l-2.38,-0.15l-1.44,-3.84l0.04,-2.2l1.19,-1.88l2.3,-1.23l5.07,0.17l4.11,1.02l-3.24,3.72l-2.88,0.89ZM186.07,48.79l-1.08,1.53l-3.34,-0.34l-2.56,-1.1l1.03,-1.75l3.25,-1.23l1.95,1.58l0.75,1.3ZM185.71,35.32l-5.3,-0.2l-0.32,-0.71l4.31,0.07l1.3,0.84ZM180.68,32.48l-3.34,1.0l-1.79,-1.1l-0.98,-1.87l-0.15,-1.73l4.1,0.53l2.67,1.7l-0.51,1.47ZM180.9,76.31l-1.1,1.08l-3.13,-1.23l-2.12,0.43l-2.71,-1.57l1.72,-1.09l1.55,-1.72l3.81,1.9l1.98,2.2ZM169.74,54.87l2.96,0.97l4.17,-0.57l0.41,0.88l-2.14,2.11l0.09,0.64l3.55,1.92l-0.4,3.72l-3.79,1.65l-2.17,-0.35l-1.72,-1.74l-6.02,-3.5l0.03,-0.85l4.68,0.54l0.4,-0.21l-0.05,-0.45l-2.48,-2.81l2.46,-1.95ZM174.45,40.74l1.37,1.73l0.07,2.44l-1.05,3.45l-3.79,0.47l-2.32,-0.69l0.05,-2.64l-0.44,-0.41l-3.68,0.35l-0.12,-3.1l2.45,0.1l3.67,-1.73l3.41,0.29l0.37,-0.26ZM170.05,31.55l0.67,1.56l-3.33,-0.49l-4.22,-1.77l-4.35,-0.16l1.4,-0.94l-0.06,-0.7l-2.81,-1.23l-0.12,-1.39l4.39,0.68l6.62,1.98l1.81,2.47ZM134.5,58.13l-1.02,1.82l0.45,0.58l5.4,-1.39l3.33,2.29l0.49,-0.03l2.6,-2.23l1.94,1.32l2.0,4.5l0.7,0.06l1.3,-2.29l-1.63,-4.46l1.69,-0.54l2.31,0.71l2.65,1.81l2.49,7.92l8.48,4.27l-0.19,1.35l-3.79,0.33l-0.26,0.67l1.4,1.49l-0.58,1.1l-4.23,-0.64l-4.43,-1.19l-3.0,0.28l-4.66,1.47l-10.52,1.04l-1.43,-2.02l-3.42,-1.2l-2.21,0.43l-2.51,-2.86l4.84,-1.05l3.6,0.19l3.27,-0.78l0.31,-0.39l-0.31,-0.39l-4.84,-1.06l-8.79,0.27l-0.85,-1.07l5.26,-1.66l0.27,-0.45l-0.4,-0.34l-3.8,0.06l-3.81,-1.06l1.81,-3.01l1.66,-1.79l6.48,-2.81l1.97,0.71ZM158.7,56.61l-1.7,2.44l-3.2,-2.75l0.37,-0.3l3.11,-0.18l1.42,0.79ZM149.61,42.73l1.01,1.89l0.5,0.18l2.14,-0.82l2.23,0.19l0.36,2.04l-1.33,2.09l-8.28,0.76l-6.35,2.15l-3.41,0.1l-0.19,-0.96l4.9,-2.08l0.23,-0.46l-0.41,-0.31l-11.25,0.59l-2.89,-0.74l3.04,-4.44l2.14,-1.32l6.81,1.69l4.58,3.06l4.37,0.39l0.36,-0.63l-3.36,-4.6l1.85,-1.53l2.18,0.51l0.77,2.26ZM144.76,34.41l-4.36,1.44l-3.0,-1.4l1.46,-1.24l3.47,-0.52l2.96,0.71l-0.52,1.01ZM145.13,29.83l-1.9,0.66l-3.67,-0.0l2.27,-1.61l3.3,0.95ZM118.92,65.79l-6.03,2.02l-1.33,-1.9l-5.38,-2.28l2.59,-5.05l2.16,-3.14l-0.02,-0.48l-1.97,-2.41l7.64,-0.7l3.6,1.02l6.3,0.27l4.42,2.95l-2.53,0.98l-6.24,3.43l-3.1,3.28l-0.11,2.01ZM129.54,35.53l-0.28,3.37l-1.72,1.62l-2.33,0.28l-4.61,2.19l-3.86,0.76l-2.64,-0.87l3.72,-3.4l5.01,-3.34l3.72,0.07l3.0,-0.67ZM111.09,152.69l-0.67,0.24l-3.85,-1.37l-0.83,-1.17l-2.12,-1.07l-0.66,-1.02l-2.4,-0.55l-0.74,-1.71l6.02,1.45l2.0,2.55l2.52,1.39l0.73,1.27ZM87.8,134.64l0.89,0.29l1.86,-0.21l-0.65,3.34l1.69,2.33l-1.31,-1.33l-0.99,-1.62l-1.17,-0.98l-0.33,-1.82Z", "name": "Canada"}, "CG": {"path": "M466.72,276.48l-0.1,1.03l-1.25,2.97l-0.19,3.62l-0.46,1.78l-0.23,0.63l-1.61,1.19l-1.21,1.39l-1.09,2.43l0.04,2.09l-3.25,3.24l-0.5,-0.24l-0.5,-0.83l-1.36,-0.02l-0.98,0.89l-1.68,-0.99l-1.54,1.24l-1.52,-1.96l1.57,-1.14l0.11,-0.52l-0.77,-1.35l2.1,-0.66l0.39,-0.73l1.05,0.82l2.21,0.11l1.12,-1.37l0.37,-1.81l-0.27,-2.09l-1.13,-1.5l1.0,-2.69l-0.13,-0.45l-0.92,-0.58l-1.6,0.17l-0.51,-0.94l0.1,-0.61l2.75,0.09l3.97,1.24l0.51,-0.33l0.17,-1.28l1.24,-2.21l1.28,-1.14l2.76,0.49Z", "name": "Congo"}, "CF": {"path": "M461.16,278.2l-0.26,-1.19l-1.09,-0.77l-0.84,-1.17l-0.29,-1.0l-1.04,-1.15l0.08,-3.43l0.58,-0.49l1.16,-2.35l1.85,-0.17l0.61,-0.62l0.97,0.58l3.15,-0.96l2.48,-1.92l0.02,-0.96l2.81,0.02l2.36,-1.17l1.93,-2.85l1.16,-0.93l1.11,-0.3l0.27,0.86l1.34,1.47l-0.39,2.01l0.3,1.01l4.01,2.75l0.17,0.93l2.63,2.31l0.6,1.44l2.08,1.4l-3.84,-0.21l-1.94,0.88l-1.23,-0.49l-2.67,1.2l-1.29,-0.18l-0.51,0.36l-0.6,1.22l-3.35,-0.65l-1.57,-0.91l-2.42,-0.83l-1.45,0.91l-0.97,1.27l-0.26,1.56l-3.22,-0.43l-1.49,1.33l-0.94,1.62Z", "name": "Central African Rep."}, "CD": {"path": "M487.01,272.38l2.34,-0.14l1.35,1.84l1.34,0.45l0.86,-0.39l1.21,0.12l1.07,-0.41l0.54,0.89l2.04,1.54l-0.14,2.72l0.7,0.54l-1.38,1.13l-1.53,2.54l-0.17,2.05l-0.59,1.08l-0.02,1.72l-0.72,0.84l-0.66,3.01l0.63,1.32l-0.44,4.26l0.64,1.47l-0.37,1.22l0.86,1.8l1.53,1.41l0.3,1.26l0.44,0.5l-4.08,0.75l-0.92,1.81l0.51,1.34l-0.74,5.43l0.17,0.38l2.45,1.46l0.54,-0.1l0.12,1.62l-1.28,-0.01l-1.85,-2.35l-1.94,-0.45l-0.48,-1.13l-0.55,-0.2l-1.41,0.74l-1.71,-0.3l-1.01,-1.18l-2.49,-0.19l-0.44,-0.77l-1.98,-0.21l-2.88,0.36l0.11,-2.41l-0.85,-1.13l-0.16,-1.36l0.32,-1.73l-0.46,-0.89l-0.04,-1.49l-0.4,-0.39l-2.53,0.02l0.1,-0.41l-0.39,-0.49l-1.28,0.01l-0.43,0.45l-1.62,0.32l-0.83,1.79l-1.09,-0.28l-2.4,0.52l-1.37,-1.91l-1.3,-3.3l-0.38,-0.27l-7.39,-0.03l-2.46,0.42l0.5,-0.45l0.37,-1.47l0.66,-0.38l0.92,0.08l0.73,-0.82l0.87,0.02l0.31,0.68l1.4,0.36l3.59,-3.63l0.01,-2.23l1.02,-2.29l2.69,-2.39l0.43,-0.99l0.49,-1.96l0.17,-3.51l1.25,-2.95l0.36,-3.14l0.86,-1.13l1.1,-0.66l3.57,1.73l3.65,0.73l0.46,-0.21l0.8,-1.46l1.24,0.19l2.61,-1.17l0.81,0.44l1.04,-0.03l0.59,-0.66l0.7,-0.16l1.81,0.25Z", "name": "Dem. Rep. Congo"}, "CZ": {"path": "M458.46,144.88l1.22,1.01l1.47,0.23l0.13,0.93l1.36,0.68l0.54,-0.2l0.24,-0.55l1.15,0.25l0.53,1.09l1.68,0.18l0.6,0.84l-1.04,0.73l-0.96,1.28l-1.6,0.17l-0.55,0.56l-1.04,-0.46l-1.05,0.15l-2.12,-0.96l-1.05,0.34l-1.2,1.12l-1.56,-0.87l-2.57,-2.1l-0.53,-1.88l4.7,-2.52l0.71,0.26l0.9,-0.28Z", "name": "Czech Rep."}, "CY": {"path": "M504.36,193.47l0.43,0.28l-1.28,0.57l-0.92,-0.28l-0.24,-0.46l2.01,-0.13Z", "name": "Cyprus"}, "CR": {"path": "M211.34,258.05l0.48,0.99l1.6,1.6l-0.54,0.45l0.29,1.42l-0.25,1.19l-1.09,-0.59l-0.05,-1.25l-2.46,-1.42l-0.28,-0.77l-0.66,-0.45l-0.45,-0.0l-0.11,1.04l-1.32,-0.95l0.31,-1.3l-0.36,-0.6l0.31,-0.27l1.42,0.58l1.29,-0.14l0.56,0.56l0.74,0.17l0.55,-0.27Z", "name": "Costa Rica"}, "CU": {"path": "M221.21,227.25l1.27,1.02l2.19,-0.28l4.43,3.33l2.08,0.43l-0.1,0.38l0.36,0.5l1.75,0.1l1.48,0.84l-3.11,0.51l-4.15,-0.03l0.77,-0.67l-0.04,-0.64l-1.2,-0.74l-1.49,-0.16l-0.7,-0.61l-0.56,-1.4l-0.4,-0.25l-1.34,0.1l-2.2,-0.66l-0.88,-0.58l-3.18,-0.4l-0.27,-0.16l0.58,-0.74l-0.36,-0.29l-2.72,-0.05l-1.7,1.29l-0.91,0.03l-0.61,0.69l-1.01,0.22l1.11,-1.29l1.01,-0.52l3.69,-1.01l3.98,0.21l2.21,0.84Z", "name": "Cuba"}, "SZ": {"path": "M500.35,351.36l0.5,2.04l-0.38,0.89l-1.05,0.21l-1.23,-1.2l-0.02,-0.64l0.83,-1.57l1.34,0.27Z", "name": "Swaziland"}, "SY": {"path": "M511.0,199.79l0.05,-1.33l0.54,-1.36l1.28,-0.99l0.13,-0.45l-0.41,-1.11l-1.14,-0.36l-0.19,-1.74l0.52,-1.0l1.29,-1.21l0.2,-1.18l0.59,0.23l2.62,-0.76l1.36,0.52l2.06,-0.01l2.95,-1.08l3.25,-0.26l-0.67,0.94l-1.28,0.66l-0.21,0.4l0.23,2.01l-0.88,3.19l-10.15,5.73l-2.15,-0.85Z", "name": "Syria"}, "KG": {"path": "M621.35,172.32l-3.87,1.69l-0.96,1.18l-3.04,0.34l-1.13,1.86l-2.36,-0.35l-1.99,0.63l-2.39,1.4l0.06,0.95l-0.4,0.37l-4.52,0.43l-3.02,-0.93l-2.37,0.17l0.11,-0.79l2.32,0.42l1.13,-0.88l1.99,0.2l3.21,-2.14l-0.03,-0.69l-2.97,-1.57l-1.94,0.65l-1.22,-0.74l1.71,-1.58l-0.12,-0.67l-0.36,-0.15l0.32,-0.77l1.36,-0.35l4.02,1.02l0.49,-0.3l0.35,-1.59l1.09,-0.48l3.42,1.22l1.11,-0.31l7.64,0.39l1.16,1.0l1.23,0.39Z", "name": "Kyrgyzstan"}, "KE": {"path": "M506.26,284.69l1.87,-2.56l0.93,-2.15l-1.38,-4.08l-1.06,-1.6l2.82,-2.75l0.79,0.26l0.12,1.41l0.86,0.83l1.9,0.11l3.28,2.13l3.57,0.44l1.05,-1.12l1.96,-0.9l0.82,0.68l1.16,0.09l-1.78,2.45l0.03,9.12l1.3,1.94l-1.37,0.78l-0.67,1.03l-1.08,0.46l-0.34,1.67l-0.81,1.07l-0.45,1.55l-0.68,0.56l-3.2,-2.23l-0.35,-1.58l-8.86,-4.98l0.14,-1.6l-0.57,-1.04Z", "name": "Kenya"}, "SS": {"path": "M481.71,263.34l1.07,-0.72l1.2,-3.18l1.36,-0.26l1.61,1.99l0.87,0.34l1.1,-0.41l1.5,0.07l0.57,0.53l2.49,0.0l0.44,-0.63l1.07,-0.4l0.45,-0.84l0.59,-0.33l1.9,1.33l1.6,-0.2l2.83,-3.33l-0.32,-2.21l1.59,-0.52l-0.24,1.6l0.3,1.83l1.35,1.18l0.2,1.87l0.35,0.41l0.02,1.53l-0.23,0.47l-1.42,0.25l-0.85,1.44l0.3,0.6l1.4,0.16l1.11,1.08l0.59,1.13l1.03,0.53l1.28,2.36l-4.41,3.98l-1.74,0.01l-1.89,0.55l-1.47,-0.52l-1.15,0.57l-2.96,-2.62l-1.3,0.49l-1.06,-0.15l-0.79,0.39l-0.82,-0.22l-1.8,-2.7l-1.91,-1.1l-0.66,-1.5l-2.62,-2.32l-0.18,-0.94l-2.37,-1.6Z", "name": "S. Sudan"}, "SR": {"path": "M283.12,270.19l2.1,0.53l-1.08,1.95l0.2,1.72l0.93,1.49l-0.59,2.03l-0.43,0.71l-1.12,-0.42l-1.32,0.22l-0.93,-0.2l-0.46,0.26l-0.25,0.73l0.33,0.7l-0.89,-0.13l-1.39,-1.97l-0.31,-1.34l-0.97,-0.31l-0.89,-1.47l0.35,-1.61l1.45,-0.82l0.33,-1.87l2.61,0.44l0.57,-0.47l1.75,-0.16Z", "name": "Suriname"}, "KH": {"path": "M689.52,249.39l0.49,1.45l-0.28,2.74l-4.0,1.86l-0.16,0.6l0.68,0.95l-2.06,0.17l-2.05,0.97l-1.82,-0.32l-2.12,-3.7l-0.55,-2.85l1.4,-1.85l3.02,-0.45l2.23,0.35l2.01,0.98l0.51,-0.14l0.95,-1.48l1.74,0.74Z", "name": "Cambodia"}, "SV": {"path": "M195.8,250.13l1.4,-1.19l2.24,1.45l0.98,-0.27l0.44,0.2l-0.27,1.05l-1.14,-0.03l-3.64,-1.21Z", "name": "El Salvador"}, "SK": {"path": "M476.82,151.17l-1.14,1.9l-2.73,-0.92l-0.82,0.2l-0.74,0.8l-3.46,0.73l-0.47,0.69l-1.76,0.33l-1.88,-1.0l-0.18,-0.81l0.38,-0.75l1.87,-0.32l1.74,-1.89l0.83,0.16l0.79,-0.34l1.51,1.04l1.34,-0.63l1.25,0.3l1.65,-0.42l1.81,0.95Z", "name": "Slovakia"}, "KR": {"path": "M737.51,185.84l0.98,-0.1l0.87,-1.17l2.69,-0.32l0.33,-0.29l1.76,2.79l0.58,1.76l0.02,3.12l-0.8,1.32l-2.21,0.55l-1.93,1.13l-1.8,0.19l-0.2,-1.1l0.43,-2.28l-0.95,-2.56l1.43,-0.37l0.23,-0.62l-1.43,-2.06Z", "name": "Korea"}, "SI": {"path": "M456.18,162.07l-0.51,-1.32l0.18,-1.05l1.69,0.2l1.42,-0.71l2.09,-0.07l0.62,-0.51l0.21,0.47l-1.61,0.67l-0.44,1.34l-0.66,0.24l-0.26,0.82l-1.22,-0.49l-0.84,0.46l-0.69,-0.04Z", "name": "Slovenia"}, "KP": {"path": "M736.77,185.16l-0.92,-0.42l-0.88,0.62l-1.21,-0.88l0.96,-1.15l0.59,-2.59l-0.46,-0.74l-2.09,-0.77l1.64,-1.52l2.72,-1.58l1.58,-1.91l1.11,0.78l2.17,0.11l0.41,-0.5l-0.3,-1.22l3.52,-1.18l0.94,-1.4l0.98,1.08l-2.19,2.18l0.01,2.14l-1.06,0.54l-1.41,1.4l-1.7,0.52l-1.25,1.09l-0.14,1.98l0.94,0.45l1.15,1.04l-0.13,0.26l-2.6,0.29l-1.13,1.29l-1.22,0.08Z", "name": "Dem. Rep. Korea"}, "KW": {"path": "M540.81,207.91l0.37,0.86l-0.17,0.76l0.6,1.53l-0.95,0.04l-0.82,-1.28l-1.57,-0.18l1.31,-1.88l1.22,0.17Z", "name": "Kuwait"}, "SN": {"path": "M390.09,248.21l0.12,1.55l0.49,1.46l0.96,0.82l0.05,1.28l-1.26,-0.19l-0.75,0.33l-1.84,-0.61l-5.84,-0.13l-2.54,0.51l-0.22,-1.03l1.77,0.04l2.01,-0.91l1.03,0.48l1.09,0.04l1.29,-0.62l0.14,-0.58l-0.51,-0.74l-1.81,0.25l-1.13,-0.63l-0.79,0.04l-0.72,0.61l-2.31,0.06l-0.92,-1.77l-0.81,-0.64l0.64,-0.35l2.46,-3.74l1.04,0.19l1.38,-0.56l1.19,-0.02l2.72,1.37l3.03,3.48Z", "name": "Senegal"}, "SL": {"path": "M394.46,264.11l-1.73,1.98l-0.58,1.33l-2.07,-1.06l-1.22,-1.26l-0.65,-2.39l1.16,-0.96l0.67,-1.17l1.21,-0.52l1.66,0.0l1.03,1.64l0.52,2.41Z", "name": "Sierra Leone"}, "KZ": {"path": "M552.8,172.89l0.46,-1.27l-0.48,-1.05l-2.96,-1.19l-1.06,-2.58l-1.37,-0.87l-0.03,-0.3l1.95,0.23l0.45,-0.38l0.08,-1.96l1.75,-0.41l2.1,0.45l0.48,-0.33l0.45,-3.04l-0.45,-2.09l-0.41,-0.31l-2.42,0.15l-2.36,-0.73l-2.87,1.37l-2.17,0.61l-0.85,-0.34l0.13,-1.61l-1.6,-2.12l-2.02,-0.08l-1.78,-1.82l1.29,-2.18l-0.57,-0.95l1.62,-2.91l2.21,1.63l0.63,-0.27l0.29,-2.22l4.92,-3.43l3.71,-0.08l8.4,3.6l2.92,-1.36l3.77,-0.06l3.11,1.66l0.51,-0.11l0.6,-0.81l3.31,0.13l0.39,-0.25l0.63,-1.57l-0.17,-0.5l-3.5,-1.98l1.87,-1.27l-0.13,-1.03l1.98,-0.72l0.18,-0.62l-1.59,-2.06l0.81,-0.82l9.23,-1.18l1.33,-0.88l6.18,-1.26l2.26,-1.42l4.08,0.68l0.73,3.33l0.51,0.3l2.48,-0.8l2.79,1.02l-0.17,1.56l0.43,0.44l2.55,-0.24l4.89,-2.53l0.03,0.32l3.15,2.61l5.56,8.47l0.65,0.02l1.12,-1.46l3.15,1.74l3.76,-0.78l1.15,0.49l1.14,1.8l1.84,0.76l0.99,1.29l3.35,-0.25l1.02,1.52l-1.6,1.81l-1.93,0.28l-0.34,0.38l-0.11,3.05l-1.13,1.16l-4.75,-1.0l-0.46,0.27l-1.76,5.47l-1.1,0.59l-4.91,1.23l-0.27,0.54l2.1,4.97l-1.37,0.63l-0.23,0.41l0.13,1.13l-0.88,-0.25l-1.42,-1.13l-7.89,-0.4l-0.92,0.31l-3.73,-1.22l-1.42,0.63l-0.53,1.66l-3.72,-0.94l-1.85,0.43l-0.76,1.4l-4.65,2.62l-1.13,2.08l-0.44,0.01l-0.92,-1.4l-2.87,-0.09l-0.45,-2.14l-0.38,-0.32l-0.8,-0.01l0.0,-2.96l-3.0,-2.22l-7.31,0.58l-2.35,-2.68l-6.71,-3.69l-6.45,1.83l-0.29,0.39l0.1,10.85l-0.7,0.08l-1.62,-2.17l-1.83,-0.96l-3.11,0.59l-0.64,0.51Z", "name": "Kazakhstan"}, "SA": {"path": "M537.53,210.34l2.0,0.24l0.9,1.32l1.49,-0.06l0.87,2.08l1.29,0.76l0.51,0.99l1.56,1.03l-0.1,1.9l0.32,0.9l1.58,2.47l0.76,0.53l0.7,-0.04l1.68,4.23l7.53,1.33l0.51,-0.29l0.77,1.25l-1.55,4.87l-7.29,2.52l-7.3,1.03l-2.34,1.17l-1.88,2.74l-0.76,0.28l-0.82,-0.78l-0.91,0.12l-2.88,-0.51l-3.51,0.25l-0.86,-0.56l-0.57,0.15l-0.66,1.27l0.16,1.11l-0.43,0.32l-0.93,-1.4l-0.33,-1.16l-1.23,-0.88l-1.27,-2.06l-0.78,-2.22l-1.73,-1.79l-1.14,-0.48l-1.54,-2.31l-0.21,-3.41l-1.44,-2.93l-1.27,-1.16l-1.33,-0.57l-1.31,-3.37l-0.77,-0.67l-0.97,-1.97l-2.8,-4.03l-1.06,-0.17l0.37,-1.96l0.2,-0.72l2.74,0.3l1.08,-0.84l0.6,-0.94l1.74,-0.35l0.65,-1.03l0.71,-0.4l0.1,-0.62l-2.06,-2.28l4.39,-1.22l0.48,-0.37l2.77,0.69l3.66,1.9l7.03,5.5l4.87,0.3Z", "name": "Saudi Arabia"}, "SE": {"path": "M480.22,89.3l-4.03,1.17l-2.43,2.86l0.26,2.57l-8.77,6.64l-1.78,5.79l1.78,2.68l2.22,1.96l-2.07,3.77l-2.72,1.13l-0.95,6.04l-1.29,3.01l-2.74,-0.31l-0.4,0.22l-1.31,2.59l-2.34,0.13l-0.75,-3.09l-2.08,-4.03l-1.83,-4.96l1.0,-1.93l2.14,-2.7l0.83,-4.45l-1.6,-2.17l-0.15,-4.94l1.48,-3.39l2.58,-0.15l0.87,-1.59l-0.78,-1.57l3.76,-5.59l4.04,-7.48l2.17,0.01l0.39,-0.29l0.57,-2.07l4.37,0.64l0.46,-0.34l0.33,-2.56l1.1,-0.13l6.94,4.87l0.06,6.32l0.66,1.36Z", "name": "Sweden"}, "SD": {"path": "M505.98,259.4l-0.34,-0.77l-1.17,-0.9l-0.26,-1.61l0.29,-1.81l-0.34,-0.46l-1.16,-0.17l-0.54,0.59l-1.23,0.11l-0.28,0.65l0.53,0.65l0.17,1.22l-2.44,3.0l-0.96,0.19l-2.39,-1.4l-0.95,0.52l-0.38,0.78l-1.11,0.41l-0.29,0.5l-1.94,0.0l-0.54,-0.52l-1.81,-0.09l-0.95,0.4l-2.45,-2.35l-2.07,0.54l-0.73,1.26l-0.6,2.1l-1.25,0.58l-0.75,-0.62l0.27,-2.65l-1.48,-1.78l-0.22,-1.48l-0.92,-0.96l-0.02,-1.29l-0.57,-1.16l-0.68,-0.16l0.69,-1.29l-0.18,-1.14l0.65,-0.62l0.03,-0.55l-0.36,-0.41l1.55,-2.97l1.91,0.16l0.43,-0.4l-0.1,-10.94l2.49,-0.01l0.4,-0.4l-0.0,-4.82l29.02,0.0l0.64,2.04l-0.49,0.66l0.36,2.69l0.93,3.16l2.12,1.55l-0.89,1.04l-1.72,0.39l-0.98,0.9l-1.43,5.65l0.24,1.15l-0.38,2.06l-0.96,2.38l-1.53,1.31l-1.32,2.91l-1.22,0.86l-0.37,1.34Z", "name": "Sudan"}, "DO": {"path": "M241.8,239.2l0.05,-0.65l-0.46,-0.73l0.42,-0.44l0.19,-1.0l-0.09,-1.53l1.66,0.01l1.99,0.63l0.33,0.67l1.28,0.19l0.33,0.76l1.0,0.08l0.8,0.62l-0.45,0.51l-1.13,-0.47l-1.88,-0.01l-1.27,0.59l-0.75,-0.55l-1.01,0.54l-0.79,1.4l-0.23,-0.61Z", "name": "Dominican Rep."}, "DJ": {"path": "M528.43,256.18l-0.45,0.66l-0.58,-0.25l-1.51,0.13l-0.18,-1.01l1.45,-1.95l0.83,0.17l0.77,-0.44l0.2,1.0l-1.2,0.51l-0.06,0.7l0.73,0.47Z", "name": "Djibouti"}, "DK": {"path": "M452.28,129.07l-1.19,2.24l-2.13,-1.6l-0.23,-0.95l2.98,-0.95l0.57,1.26ZM447.74,126.31l-0.26,0.57l-0.88,-0.07l-1.8,2.53l0.48,1.69l-1.09,0.36l-1.61,-0.39l-0.89,-1.69l-0.07,-3.43l0.96,-1.73l2.02,-0.2l1.09,-1.07l1.33,-0.67l-0.05,1.06l-0.73,1.41l0.3,1.0l1.2,0.64Z", "name": "Denmark"}, "DE": {"path": "M453.14,155.55l-0.55,-0.36l-1.2,-0.1l-1.87,0.57l-2.13,-0.13l-0.56,0.63l-0.86,-0.6l-0.96,0.09l-2.57,-0.93l-0.85,0.67l-1.47,-0.02l0.24,-1.75l1.23,-2.14l-0.28,-0.59l-3.52,-0.58l-0.92,-0.66l0.12,-1.2l-0.48,-0.88l0.27,-2.17l-0.37,-3.03l1.41,-0.22l0.63,-1.26l0.66,-3.19l-0.41,-1.18l0.26,-0.39l1.66,-0.15l0.33,0.54l0.62,0.07l1.7,-1.69l-0.54,-3.02l1.37,0.33l1.31,-0.37l0.31,1.18l2.25,0.71l-0.02,0.92l0.5,0.4l2.55,-0.65l1.34,-0.87l2.57,1.24l1.06,0.98l0.48,1.44l-0.57,0.74l-0.0,0.48l0.87,1.15l0.57,1.64l-0.14,1.29l0.82,1.7l-1.5,-0.07l-0.56,0.57l-4.47,2.15l-0.22,0.54l0.68,2.26l2.58,2.16l-0.66,1.11l-0.79,0.36l-0.23,0.43l0.32,1.87Z", "name": "Germany"}, "YE": {"path": "M528.27,246.72l0.26,-0.42l-0.22,-1.01l0.19,-1.5l0.92,-0.69l-0.07,-1.35l0.39,-0.75l1.01,0.47l3.34,-0.27l3.76,0.41l0.95,0.81l1.36,-0.58l1.74,-2.62l2.18,-1.09l6.86,-0.94l2.48,5.41l-1.64,0.76l-0.56,1.9l-6.23,2.16l-2.29,1.8l-1.93,0.05l-1.41,1.02l-4.24,0.74l-1.72,1.49l-3.28,0.19l-0.52,-1.18l0.02,-1.51l-1.34,-3.29Z", "name": "Yemen"}, "DZ": {"path": "M441.46,188.44l-0.32,1.07l0.39,2.64l-0.54,2.16l-1.58,1.82l0.37,2.39l1.91,1.55l0.18,0.8l1.42,1.03l1.84,7.23l0.12,1.16l-0.57,5.0l0.2,1.51l-0.87,0.99l-0.02,0.51l1.41,1.86l0.14,1.2l0.89,1.48l0.5,0.16l0.98,-0.41l1.73,1.08l0.82,1.23l-8.22,4.81l-7.23,5.11l-3.43,1.13l-2.3,0.21l-0.28,-1.59l-2.56,-1.09l-0.67,-1.25l-26.12,-17.86l0.01,-3.47l3.77,-1.88l2.44,-0.41l2.12,-0.75l1.08,-1.42l2.81,-1.05l0.35,-2.08l1.33,-0.29l1.04,-0.94l3.47,-0.69l0.46,-1.08l-0.1,-0.45l-0.58,-0.52l-0.82,-2.81l-0.19,-1.83l-0.78,-1.49l2.03,-1.31l2.63,-0.48l1.7,-1.22l2.31,-0.84l8.24,-0.73l1.49,0.38l2.28,-1.1l2.46,-0.02l0.92,0.6l1.35,-0.05Z", "name": "Algeria"}, "US": {"path": "M892.72,99.2l1.31,0.53l1.41,-0.37l1.89,0.98l1.89,0.42l-1.32,0.58l-2.9,-1.53l-2.08,0.22l-0.26,-0.15l0.07,-0.67ZM183.22,150.47l0.37,1.47l1.12,0.85l4.23,0.7l2.39,0.98l2.17,-0.38l1.85,0.5l-1.55,0.65l-3.49,2.61l-0.16,0.77l0.5,0.39l2.33,-0.61l1.77,1.02l5.15,-2.4l-0.31,0.65l0.25,0.56l1.36,0.38l1.71,1.16l4.7,-0.88l0.67,0.85l1.31,0.21l0.58,0.58l-1.34,0.17l-2.18,-0.32l-3.6,0.89l-2.71,3.25l0.35,0.9l0.59,-0.0l0.55,-0.6l-1.36,4.65l0.29,3.09l0.67,1.58l0.61,0.45l1.77,-0.44l1.6,-1.96l0.14,-2.21l-0.82,-1.96l0.11,-1.13l1.19,-2.37l0.44,-0.33l0.48,0.75l0.4,-0.29l0.4,-1.37l0.6,-0.47l0.24,-0.8l1.69,0.49l1.65,1.08l-0.03,2.37l-1.27,1.13l-0.0,1.13l0.87,0.36l1.66,-1.29l0.5,0.17l0.5,2.6l-2.49,3.75l0.17,0.61l1.54,0.62l1.48,0.17l1.92,-0.44l4.72,-2.15l2.16,-1.8l-0.05,-1.24l0.75,-0.22l3.92,0.36l2.12,-1.05l0.21,-0.4l-0.28,-1.48l3.27,-2.4l8.32,-0.02l0.56,-0.82l1.9,-0.77l0.93,-1.51l0.74,-2.37l1.58,-1.98l0.92,0.62l1.47,-0.47l0.8,0.66l-0.0,4.09l1.96,2.6l-2.34,1.31l-5.37,2.09l-1.83,2.72l0.02,1.79l0.83,1.59l0.54,0.23l-6.19,0.94l-2.2,0.89l-0.23,0.48l0.45,0.29l2.99,-0.46l-2.19,0.56l-1.13,0.0l-0.15,-0.32l-0.48,0.08l-0.76,0.82l0.22,0.67l0.32,0.06l-0.41,1.62l-1.27,1.58l-1.48,-1.07l-0.49,-0.04l-0.16,0.46l0.52,1.58l0.61,0.59l0.03,0.79l-0.95,1.38l-1.21,-1.22l-0.27,-2.27l-0.35,-0.35l-0.42,0.25l-0.48,1.27l0.33,1.41l-0.97,-0.27l-0.48,0.24l0.18,0.5l1.52,0.83l0.1,2.52l0.79,0.51l0.52,3.42l-1.42,1.88l-2.47,0.8l-1.71,1.66l-1.31,0.25l-1.27,1.03l-0.43,0.99l-2.69,1.78l-2.64,3.03l-0.45,2.12l0.45,2.08l0.85,2.38l1.09,1.9l0.04,1.2l1.16,3.06l-0.18,2.69l-0.55,1.43l-0.47,0.21l-0.89,-0.23l-0.49,-1.18l-0.87,-0.56l-2.75,-5.16l0.48,-1.68l-0.72,-1.78l-2.01,-2.38l-1.12,-0.53l-2.72,1.18l-1.47,-1.35l-1.57,-0.68l-2.99,0.31l-2.17,-0.3l-2.0,0.19l-1.15,0.46l-0.19,0.58l0.39,0.63l0.14,1.34l-0.84,-0.2l-0.84,0.46l-1.58,-0.07l-2.08,-1.44l-2.09,0.33l-1.91,-0.62l-3.73,0.84l-2.39,2.07l-2.54,1.22l-1.45,1.41l-0.61,1.38l0.34,3.71l-0.29,0.02l-3.5,-1.33l-1.25,-3.11l-1.44,-1.5l-2.24,-3.56l-1.76,-1.09l-2.27,-0.01l-1.71,2.07l-1.76,-0.69l-1.16,-0.74l-1.52,-2.98l-3.93,-3.16l-4.34,-0.0l-0.4,0.4l-0.0,0.74l-6.5,0.02l-9.02,-3.14l-0.34,-0.71l-5.7,0.49l-0.43,-1.29l-1.62,-1.61l-1.14,-0.38l-0.55,-0.88l-1.28,-0.13l-1.01,-0.77l-2.22,-0.27l-0.43,-0.3l-0.36,-1.58l-2.4,-2.83l-2.01,-3.85l-0.06,-0.9l-2.92,-3.26l-0.33,-2.29l-1.3,-1.66l0.52,-2.37l-0.09,-2.57l-0.78,-2.3l0.95,-2.82l0.61,-5.68l-0.47,-4.27l-1.46,-4.08l3.19,0.79l1.26,2.83l0.69,0.08l0.69,-1.14l-1.1,-4.79l68.76,-0.0l0.4,-0.4l0.14,-0.86ZM32.44,67.52l1.73,1.97l0.55,0.05l0.99,-0.79l3.65,0.24l-0.09,0.62l0.32,0.45l3.83,0.77l2.61,-0.43l5.19,1.4l4.84,0.43l1.89,0.57l3.42,-0.7l6.14,1.87l-0.03,38.06l0.38,0.4l2.39,0.11l2.31,0.98l3.9,3.99l0.55,0.04l2.4,-2.03l2.16,-1.04l1.2,1.71l3.95,3.14l4.09,6.63l4.2,2.29l0.06,1.83l-1.02,1.23l-1.16,-1.08l-2.04,-1.03l-0.67,-2.89l-3.28,-3.03l-1.65,-3.57l-6.35,-0.32l-2.82,-1.01l-5.26,-3.85l-6.77,-2.04l-3.53,0.3l-4.81,-1.69l-3.25,-1.63l-2.78,0.8l-0.28,0.46l0.44,2.21l-3.91,0.96l-2.26,1.27l-2.3,0.65l-0.27,-1.65l1.05,-3.42l2.49,-1.09l0.16,-0.6l-0.69,-0.96l-0.55,-0.1l-3.19,2.12l-1.78,2.56l-3.55,2.61l-0.04,0.61l1.56,1.52l-2.07,2.29l-5.11,2.57l-0.77,1.66l-3.76,1.77l-0.92,1.73l-2.69,1.38l-1.81,-0.22l-6.95,3.32l-3.97,0.91l4.85,-2.5l2.59,-1.86l3.26,-0.52l1.19,-1.4l3.42,-2.1l2.59,-2.27l0.42,-2.68l1.23,-2.1l-0.04,-0.46l-0.45,-0.11l-2.68,1.03l-0.63,-0.49l-0.53,0.03l-1.05,1.04l-1.36,-1.54l-0.66,0.08l-0.32,0.62l-0.58,-1.14l-0.56,-0.16l-2.41,1.42l-1.07,-0.0l-0.17,-1.75l0.3,-1.71l-1.61,-1.33l-3.41,0.59l-1.96,-1.63l-1.57,-0.84l-0.15,-2.21l-1.7,-1.43l0.82,-1.88l1.99,-2.12l0.88,-1.92l1.71,-0.24l2.04,0.51l1.87,-1.77l1.91,0.25l1.91,-1.23l0.17,-0.43l-0.47,-1.82l-1.07,-0.7l1.39,-1.17l0.12,-0.45l-0.39,-0.26l-1.65,0.07l-2.66,0.88l-0.75,0.78l-1.92,-0.8l-3.46,0.44l-3.44,-0.91l-1.06,-1.61l-2.65,-1.99l2.91,-1.43l5.5,-2.0l1.52,0.0l-0.26,1.62l0.41,0.46l5.29,-0.16l0.3,-0.65l-2.03,-2.59l-3.14,-1.68l-1.79,-2.12l-2.4,-1.83l-3.09,-1.24l1.04,-1.69l4.23,-0.14l3.36,-2.07l0.73,-2.27l2.39,-1.99l2.42,-0.52l4.65,-1.97l2.46,0.23l3.71,-2.35l3.5,0.89ZM37.6,123.41l-2.25,1.23l-0.95,-0.69l-0.29,-1.24l3.21,-1.63l1.42,0.21l0.67,0.7l-1.8,1.42ZM31.06,234.03l0.98,0.47l0.74,0.87l-1.77,1.07l-0.44,-1.53l0.49,-0.89ZM29.34,232.07l0.18,0.05l0.08,0.05l-0.16,0.03l-0.11,-0.14ZM25.16,230.17l0.05,-0.03l0.18,0.22l-0.13,-0.01l-0.1,-0.18ZM5.89,113.26l-1.08,0.41l-2.21,-1.12l1.53,-0.4l1.62,0.28l0.14,0.83Z", "name": "United States"}, "UY": {"path": "M286.85,372.74l-0.92,1.5l-2.59,1.44l-1.69,-0.52l-1.42,0.26l-2.39,-1.19l-1.52,0.08l-1.27,-1.3l0.16,-1.5l0.56,-0.79l-0.02,-2.73l1.21,-4.74l1.19,-0.21l2.37,2.0l1.08,0.03l4.36,3.17l1.22,1.6l-0.96,1.5l0.61,1.4Z", "name": "Uruguay"}, "LB": {"path": "M510.37,198.01l-0.88,0.51l1.82,-3.54l0.62,0.08l0.22,0.61l-1.13,0.88l-0.65,1.47Z", "name": "Lebanon"}, "LA": {"path": "M689.54,248.53l-1.76,-0.74l-0.49,0.15l-0.94,1.46l-1.32,-0.64l0.62,-0.98l0.11,-2.17l-2.04,-2.42l-0.25,-2.65l-1.9,-2.1l-2.15,-0.31l-0.78,0.91l-1.12,0.06l-1.05,-0.4l-2.06,1.2l-0.04,-1.59l0.61,-2.68l-0.36,-0.49l-1.35,-0.1l-0.11,-1.23l-0.96,-0.88l1.96,-1.89l0.39,0.36l1.33,0.07l0.42,-0.45l-0.34,-2.66l0.7,-0.21l1.28,1.81l1.11,2.35l0.36,0.23l2.82,0.02l0.71,1.67l-1.39,0.65l-0.72,0.93l0.13,0.6l2.91,1.51l3.6,5.25l1.88,1.78l0.56,1.62l-0.35,1.96Z", "name": "Lao PDR"}, "TW": {"path": "M724.01,226.68l-0.74,1.48l-0.9,-1.52l-0.25,-1.74l1.38,-2.44l1.73,-1.74l0.64,0.44l-1.85,5.52Z", "name": "Taiwan"}, "TT": {"path": "M266.64,259.32l0.28,-1.16l1.13,-0.22l-0.06,1.2l-1.35,0.18Z", "name": "Trinidad and Tobago"}, "TR": {"path": "M513.21,175.47l3.64,1.17l3.05,-0.44l2.1,0.26l3.11,-1.56l2.46,-0.13l2.19,1.33l0.33,0.82l-0.22,1.33l0.25,0.44l2.28,1.13l-1.17,0.57l-0.21,0.45l0.75,3.2l-0.41,1.16l1.13,1.92l-0.55,0.22l-0.9,-0.67l-2.91,-0.37l-1.24,0.46l-4.23,0.41l-2.81,1.05l-1.91,0.01l-1.52,-0.53l-2.58,0.75l-0.66,-0.45l-0.62,0.3l-0.12,1.45l-0.89,0.84l-0.47,-0.67l0.79,-1.3l-0.41,-0.2l-1.43,0.23l-2.0,-0.63l-2.02,1.65l-3.51,0.3l-2.13,-1.53l-2.7,-0.1l-0.86,1.24l-1.38,0.27l-2.29,-1.44l-2.71,-0.01l-1.37,-2.65l-1.68,-1.52l1.07,-1.99l-0.09,-0.49l-1.27,-1.12l2.37,-2.41l3.7,-0.11l1.28,-2.24l4.49,0.37l3.21,-1.97l2.81,-0.82l3.99,-0.06l4.29,2.07ZM488.79,176.72l-1.72,1.31l-0.5,-0.88l1.37,-2.57l-0.7,-0.85l1.7,-0.63l1.8,0.34l0.46,1.17l1.76,0.78l-2.87,0.32l-1.3,1.01Z", "name": "Turkey"}, "LK": {"path": "M624.16,268.99l-1.82,0.48l-0.99,-1.67l-0.42,-3.46l0.95,-3.43l1.21,0.98l2.26,4.19l-0.34,2.33l-0.85,0.58Z", "name": "Sri Lanka"}, "LV": {"path": "M489.16,122.85l0.96,0.66l0.22,1.65l0.68,1.76l-3.65,1.7l-2.23,-1.58l-1.29,-0.26l-0.68,-0.77l-2.42,0.34l-4.16,-0.23l-2.47,0.9l0.06,-1.98l1.13,-2.06l1.95,-1.02l2.12,2.58l2.01,-0.07l0.38,-0.33l0.44,-2.52l1.76,-0.53l3.06,1.7l2.15,0.07Z", "name": "Latvia"}, "LT": {"path": "M486.93,129.3l0.17,1.12l-1.81,0.98l-0.72,2.02l-2.47,1.18l-2.1,-0.02l-0.73,-1.05l-1.06,-0.3l-0.09,-1.87l-3.56,-1.13l-0.43,-2.36l2.48,-0.94l4.12,0.22l2.25,-0.31l0.52,0.69l1.24,0.21l2.19,1.56Z", "name": "Lithuania"}, "LU": {"path": "M436.08,149.45l-0.48,-0.07l0.3,-1.28l0.27,0.4l-0.09,0.96Z", "name": "Luxembourg"}, "LR": {"path": "M399.36,265.97l0.18,1.54l-0.48,0.99l0.08,0.47l2.47,1.8l-0.33,2.8l-2.65,-1.13l-5.78,-4.61l0.58,-1.32l2.1,-2.33l0.86,-0.22l0.77,1.14l-0.14,0.85l0.59,0.87l1.0,0.14l0.76,-0.99Z", "name": "Liberia"}, "LS": {"path": "M491.06,363.48l-0.49,0.15l-1.49,-1.67l1.1,-1.43l2.19,-1.44l1.51,1.27l-0.98,1.82l-1.23,0.38l-0.62,0.93Z", "name": "Lesotho"}, "TH": {"path": "M670.27,255.86l-1.41,3.87l0.15,2.0l0.38,0.36l1.38,0.07l0.9,2.04l0.55,2.34l1.4,1.44l1.61,0.38l0.96,0.97l-0.5,0.64l-1.1,0.2l-0.34,-1.18l-2.04,-1.1l-0.63,0.23l-0.63,-0.62l-0.48,-1.3l-2.56,-2.63l-0.73,0.41l0.95,-3.89l2.16,-4.22ZM670.67,254.77l-0.92,-2.18l-0.26,-2.61l-2.14,-3.06l0.71,-0.49l0.89,-2.59l-3.61,-5.45l0.87,-0.51l1.05,-2.58l1.74,-0.18l2.6,-1.59l0.76,0.56l0.13,1.39l0.37,0.36l1.23,0.09l-0.51,2.28l0.05,2.42l0.6,0.34l2.43,-1.42l0.77,0.39l1.47,-0.07l0.71,-0.88l1.48,0.14l1.71,1.88l0.25,2.65l1.92,2.11l-0.1,1.89l-0.61,0.86l-2.22,-0.33l-3.5,0.64l-1.6,2.12l0.36,2.58l-1.51,-0.79l-1.84,-0.01l0.28,-1.52l-0.4,-0.47l-2.21,0.01l-0.4,0.37l-0.19,2.74l-0.34,0.93Z", "name": "Thailand"}, "TF": {"path": "M596.68,420.38l-3.2,0.18l-0.05,-1.26l0.39,-1.41l1.3,0.78l2.08,0.35l-0.52,1.36Z", "name": "Fr. S. Antarctic Lands"}, "TG": {"path": "M422.7,257.63l-0.09,1.23l1.53,1.52l0.08,1.09l0.5,0.65l-0.11,5.62l0.49,1.47l-1.31,0.35l-1.02,-2.13l-0.18,-1.12l0.53,-2.19l-0.63,-1.16l-0.22,-3.68l-1.01,-1.4l0.07,-0.28l1.37,0.03Z", "name": "Togo"}, "TD": {"path": "M480.25,235.49l0.12,9.57l-2.1,0.05l-1.14,1.89l-0.69,1.63l0.34,0.73l-0.66,0.91l0.24,0.89l-0.86,1.95l0.45,0.5l0.6,-0.1l0.34,0.64l0.03,1.38l0.9,1.04l-1.45,0.43l-1.27,1.03l-1.83,2.76l-2.16,1.07l-2.31,-0.15l-0.86,0.25l-0.26,0.49l0.17,0.61l-2.11,1.68l-2.85,0.87l-1.09,-0.57l-0.73,0.66l-1.12,0.1l-1.1,-3.12l-1.25,-0.64l-1.22,-1.22l0.29,-0.64l3.01,0.04l0.35,-0.6l-1.3,-2.2l-0.08,-3.31l-0.97,-1.66l0.22,-1.04l-0.38,-0.48l-1.22,-0.04l0.0,-1.25l-0.98,-1.07l0.96,-3.01l3.25,-2.65l0.13,-3.33l0.95,-5.18l0.52,-1.07l-0.1,-0.48l-0.91,-0.78l-0.2,-0.96l-0.8,-0.58l-0.55,-3.65l2.1,-1.2l19.57,9.83Z", "name": "Chad"}, "LY": {"path": "M483.48,203.15l-0.75,1.1l0.29,1.39l-0.6,1.83l0.73,2.14l0.0,24.12l-2.48,0.01l-0.41,0.85l-19.41,-9.76l-4.41,2.28l-1.37,-1.33l-3.82,-1.1l-1.14,-1.65l-1.98,-1.23l-1.22,0.32l-0.66,-1.11l-0.17,-1.26l-1.28,-1.69l0.87,-1.19l-0.07,-4.34l0.43,-2.27l-0.86,-3.45l1.13,-0.76l0.22,-1.16l-0.2,-1.03l3.48,-2.61l0.29,-1.94l2.45,0.8l1.18,-0.21l1.98,0.44l3.15,1.18l1.37,2.54l5.72,1.67l2.64,1.35l1.61,-0.72l1.29,-1.34l-0.44,-2.34l0.66,-1.13l1.67,-1.21l1.57,-0.35l3.14,0.53l1.08,1.28l3.99,0.78l0.36,0.54Z", "name": "Libya"}, "AE": {"path": "M550.76,223.97l1.88,-0.4l3.84,0.02l4.78,-4.75l0.19,0.36l0.26,1.58l-0.81,0.01l-0.39,0.35l-0.08,2.04l-0.81,0.63l-0.01,0.96l-0.66,0.99l-0.39,1.41l-7.08,-1.25l-0.7,-1.96Z", "name": "United Arab Emirates"}, "VE": {"path": "M240.68,256.69l0.53,0.75l-0.02,1.06l-1.07,1.78l0.95,2.0l0.42,0.22l1.4,-0.44l0.56,-1.83l-0.77,-1.17l-0.1,-1.47l2.82,-0.93l0.26,-0.49l-0.28,-0.96l0.3,-0.28l0.66,1.31l1.96,0.26l1.4,1.22l0.08,0.68l0.39,0.35l4.81,-0.22l1.49,1.11l1.92,0.31l1.67,-0.84l0.22,-0.6l3.44,-0.14l-0.17,0.55l0.86,1.19l2.19,0.35l1.67,1.1l0.37,1.86l0.41,0.32l1.55,0.17l-1.66,1.35l-0.22,0.92l0.65,0.97l-1.67,0.54l-0.3,0.4l0.04,0.99l-0.56,0.57l-0.01,0.55l1.85,2.27l-0.66,0.69l-4.47,1.29l-0.72,0.54l-3.69,-0.9l-0.71,0.27l-0.02,0.7l0.91,0.53l-0.08,1.54l0.35,1.58l0.35,0.31l1.66,0.17l-1.3,0.52l-0.48,1.13l-2.68,0.91l-0.6,0.77l-1.57,0.13l-1.17,-1.13l-0.8,-2.52l-1.25,-1.26l1.02,-1.23l-1.29,-2.95l0.18,-1.62l1.0,-2.21l-0.2,-0.49l-1.14,-0.46l-4.02,0.36l-1.82,-2.1l-1.57,-0.33l-2.99,0.22l-1.06,-0.97l0.25,-1.23l-0.2,-1.01l-0.59,-0.69l-0.29,-1.06l-1.08,-0.39l0.78,-2.79l1.9,-2.11Z", "name": "Venezuela"}, "AF": {"path": "M600.7,188.88l-1.57,1.3l-0.1,0.48l0.8,2.31l-1.09,1.04l-0.03,1.27l-0.48,0.71l-2.16,-0.08l-0.37,0.59l0.78,1.48l-1.38,0.69l-1.06,1.69l0.06,1.7l-0.65,0.52l-0.91,-0.21l-1.91,0.36l-0.48,0.77l-1.88,0.13l-1.4,1.56l-0.18,2.32l-2.91,1.02l-1.65,-0.23l-0.71,0.55l-1.41,-0.3l-2.41,0.39l-3.52,-1.17l1.96,-2.35l-0.21,-1.78l-0.3,-0.34l-1.63,-0.4l-0.19,-1.58l-0.75,-2.03l0.95,-1.36l-0.19,-0.6l-0.73,-0.28l1.47,-4.8l2.14,0.9l2.12,-0.36l0.74,-1.34l1.77,-0.39l1.54,-0.92l0.63,-2.31l1.87,-0.5l0.49,-0.81l0.94,0.56l2.13,0.11l2.55,0.92l1.95,-0.83l0.65,0.43l0.56,-0.13l0.69,-1.12l1.57,-0.08l0.72,-1.66l0.79,-0.74l0.8,0.39l-0.17,0.56l0.71,0.58l-0.08,2.39l1.11,0.95ZM601.37,188.71l1.73,-0.71l1.43,-1.18l4.03,0.35l-2.23,0.74l-4.95,0.8Z", "name": "Afghanistan"}, "IQ": {"path": "M530.82,187.47l0.79,0.66l1.26,-0.28l1.46,3.08l1.63,0.94l0.14,1.23l-1.22,1.05l-0.53,2.52l1.73,2.67l3.12,1.62l1.15,1.88l-0.38,1.85l0.39,0.48l0.41,-0.0l0.02,1.07l0.76,0.94l-2.47,-0.1l-1.71,2.44l-4.31,-0.2l-7.02,-5.48l-3.73,-1.94l-2.88,-0.73l-0.85,-2.87l5.45,-3.02l0.95,-3.43l-0.19,-1.96l1.27,-0.7l1.22,-1.7l0.87,-0.36l2.69,0.34Z", "name": "Iraq"}, "IS": {"path": "M384.14,88.06l-0.37,2.61l2.54,2.51l-2.9,2.75l-9.19,3.4l-9.25,-1.66l1.7,-1.22l-0.1,-0.7l-4.05,-1.47l2.96,-0.53l0.33,-0.43l-0.11,-1.2l-0.33,-0.36l-4.67,-0.85l1.28,-2.04l3.45,-0.56l3.77,2.72l0.44,0.02l3.64,-2.16l3.3,1.08l3.98,-2.16l3.58,0.26Z", "name": "Iceland"}, "IR": {"path": "M533.43,187.16l-1.27,-2.15l0.42,-0.98l-0.71,-3.04l1.03,-0.5l0.33,0.83l1.26,1.35l2.05,0.51l1.11,-0.16l2.89,-2.11l0.62,-0.14l0.39,0.46l-0.72,1.2l0.06,0.49l1.56,1.53l0.65,0.04l0.67,1.81l2.56,0.83l1.87,1.48l3.69,0.49l3.91,-0.76l0.47,-0.73l2.17,-0.6l1.66,-1.54l1.51,0.08l1.18,-0.53l1.59,0.24l2.83,1.48l1.88,0.3l2.77,2.47l1.77,0.18l0.18,1.99l-1.68,5.49l0.24,0.5l0.61,0.23l-0.82,1.48l0.8,2.18l0.19,1.71l0.3,0.34l1.63,0.4l0.15,1.32l-2.15,2.35l-0.01,0.53l2.21,3.03l2.34,1.24l0.06,2.14l1.24,0.72l0.11,0.69l-3.31,1.27l-1.08,3.03l-9.68,-1.68l-0.99,-3.05l-1.43,-0.73l-2.17,0.46l-2.47,1.26l-2.83,-0.82l-2.46,-2.02l-2.41,-0.8l-3.42,-6.06l-0.48,-0.2l-1.18,0.39l-1.44,-0.82l-0.5,0.08l-0.65,0.74l-0.97,-1.01l-0.02,-1.31l-0.71,-0.39l0.26,-1.81l-1.29,-2.11l-3.13,-1.63l-1.58,-2.43l0.5,-1.9l1.31,-1.26l-0.19,-1.66l-1.74,-1.1l-1.57,-3.3Z", "name": "Iran"}, "AM": {"path": "M536.99,182.33l-0.28,0.03l-1.23,-2.13l-0.93,0.01l-0.62,-0.66l-0.69,-0.07l-0.96,-0.81l-1.56,-0.62l0.19,-1.12l-0.26,-0.79l2.72,-0.36l1.09,1.01l-0.17,0.92l1.02,0.78l-0.47,0.62l0.08,0.56l2.04,1.23l0.04,1.4Z", "name": "Armenia"}, "AL": {"path": "M470.32,171.8l0.74,0.03l0.92,0.89l-0.17,1.95l0.36,1.28l1.01,0.82l-1.82,2.83l-0.19,-0.61l-1.25,-0.89l-0.18,-1.2l0.53,-2.82l-0.54,-1.47l0.6,-0.83Z", "name": "Albania"}, "AO": {"path": "M461.55,300.03l1.26,3.15l1.94,2.36l2.47,-0.53l1.25,0.32l0.44,-0.18l0.93,-1.92l1.31,-0.08l0.41,-0.44l0.47,-0.0l-0.1,0.41l0.39,0.49l2.65,-0.02l0.03,1.19l0.48,1.01l-0.34,1.52l0.18,1.55l0.83,1.04l-0.13,2.85l0.54,0.39l3.96,-0.41l-0.1,1.79l0.39,1.05l-0.24,1.43l-4.7,-0.03l-0.4,0.39l-0.12,8.13l2.92,3.49l-3.83,0.88l-5.89,-0.36l-1.88,-1.24l-10.47,0.22l-1.3,-1.01l-1.85,-0.16l-2.4,0.77l-0.15,-1.06l0.33,-2.16l1.0,-3.45l1.35,-3.2l2.24,-2.8l0.33,-2.06l-0.13,-1.53l-0.8,-1.08l-1.21,-2.87l0.87,-1.62l-1.27,-4.12l-1.17,-1.53l2.47,-0.63l7.03,0.03ZM451.71,298.87l-0.47,-1.25l1.25,-1.11l0.32,0.3l-0.99,1.03l-0.12,1.03Z", "name": "Angola"}, "AR": {"path": "M249.29,428.93l-2.33,-0.52l-5.83,-0.43l-0.89,-1.66l0.05,-2.37l-0.45,-0.4l-1.43,0.18l-0.67,-0.91l-0.2,-3.13l1.88,-1.47l0.79,-2.04l-0.25,-1.7l1.3,-2.68l0.91,-4.15l-0.22,-1.69l0.85,-0.45l0.2,-0.44l-0.27,-1.16l-0.98,-0.68l0.59,-0.92l-0.05,-0.5l-1.04,-1.07l-0.52,-3.1l0.97,-0.86l-0.42,-3.58l1.2,-5.43l1.38,-0.98l0.16,-0.43l-0.75,-2.79l-0.01,-2.43l1.78,-1.75l0.06,-2.57l1.43,-2.85l0.01,-2.58l-0.69,-0.74l-1.09,-4.52l1.47,-2.7l-0.18,-2.79l0.85,-2.35l1.59,-2.46l1.73,-1.64l0.05,-0.52l-0.6,-0.84l0.44,-0.85l-0.07,-4.19l2.7,-1.44l0.86,-2.75l-0.21,-0.71l1.76,-2.01l2.9,0.57l1.38,1.78l0.68,-0.08l0.87,-1.87l2.39,0.09l4.95,4.77l2.17,0.49l3.0,1.92l2.47,1.0l0.25,0.82l-2.37,3.93l0.23,0.59l5.39,1.16l2.12,-0.44l2.45,-2.16l0.5,-2.38l0.76,-0.31l0.98,1.2l-0.04,1.8l-3.67,2.51l-2.85,2.66l-3.43,3.88l-1.3,5.07l0.01,2.72l-0.54,0.73l-0.36,3.28l3.14,2.64l-0.16,2.11l1.4,1.11l-0.1,1.09l-2.29,3.52l-3.55,1.49l-4.92,0.6l-2.71,-0.29l-0.43,0.51l0.5,1.65l-0.49,2.1l0.38,1.42l-1.19,0.83l-2.36,0.38l-2.3,-1.04l-1.38,0.83l0.41,3.64l1.69,0.91l1.4,-0.71l0.36,0.76l-2.04,0.86l-2.01,1.89l-0.97,4.63l-2.34,0.1l-2.09,1.78l-0.61,2.75l2.46,2.31l2.17,0.63l-0.7,2.32l-2.83,1.73l-1.73,3.86l-2.17,1.22l-1.16,1.67l0.75,3.76l1.04,1.28ZM256.71,438.88l-2.0,0.15l-1.4,-1.22l-3.82,-0.1l-0.0,-5.83l1.6,3.05l3.26,2.07l3.08,0.78l-0.71,1.1Z", "name": "Argentina"}, "AU": {"path": "M705.8,353.26l0.26,0.04l0.17,-0.47l-0.48,-1.42l0.92,1.11l0.45,0.15l0.27,-0.39l-0.1,-1.56l-1.98,-3.63l1.09,-3.31l-0.24,-1.57l0.34,-0.62l0.38,1.06l0.43,-0.19l0.99,-1.7l1.91,-0.83l1.29,-1.15l1.81,-0.91l0.96,-0.17l0.92,0.26l1.92,-0.95l1.47,-0.28l1.03,-0.8l1.43,0.04l2.78,-0.84l1.36,-1.15l0.71,-1.45l1.41,-1.26l0.3,-2.58l1.27,-1.59l0.78,1.65l0.54,0.19l1.07,-0.51l0.15,-0.6l-0.73,-1.0l0.45,-0.71l0.78,0.39l0.58,-0.3l0.28,-1.82l1.87,-2.14l1.12,-0.39l0.28,-0.58l0.62,0.17l0.53,-0.73l1.87,-0.57l1.65,1.05l1.35,1.48l3.39,0.38l0.43,-0.54l-0.46,-1.23l1.05,-1.79l1.04,-0.61l0.14,-0.55l-0.25,-0.41l0.88,-1.17l1.31,-0.77l1.3,0.27l2.1,-0.48l0.31,-0.4l-0.05,-1.3l-0.92,-0.77l1.48,0.56l1.41,1.07l2.11,0.65l0.81,-0.2l1.4,0.7l1.69,-0.66l0.8,0.19l0.64,-0.33l0.71,0.77l-1.33,1.94l-0.71,0.07l-0.35,0.51l0.24,0.86l-1.52,2.35l0.12,1.05l2.15,1.65l1.97,0.85l3.04,2.36l1.97,0.65l0.55,0.88l2.72,0.85l1.84,-1.1l2.07,-5.97l-0.42,-3.59l0.3,-1.73l0.47,-0.87l-0.31,-0.68l1.09,-3.28l0.46,-0.47l0.4,0.71l0.16,1.51l0.65,0.52l0.16,1.04l0.85,1.21l0.12,2.38l0.9,2.0l0.57,0.18l1.3,-0.78l1.69,1.7l-0.2,1.08l0.53,2.2l0.39,1.3l0.68,0.48l0.6,1.95l-0.19,1.48l0.81,1.76l6.01,3.69l-0.11,0.76l1.38,1.58l0.95,2.77l0.58,0.22l0.72,-0.41l0.8,0.9l0.61,0.01l0.46,2.41l4.81,4.71l0.66,2.02l-0.07,3.31l1.14,2.2l-0.13,2.24l-1.1,3.68l0.03,1.64l-0.47,1.89l-1.05,2.4l-1.9,1.47l-1.72,3.51l-2.38,6.09l-0.24,2.82l-1.14,0.8l-2.85,0.15l-2.31,1.19l-2.51,2.25l-3.09,-1.57l0.3,-1.15l-0.54,-0.47l-1.5,0.63l-2.01,1.94l-7.12,-2.18l-1.48,-1.63l-1.14,-3.74l-1.45,-1.26l-1.81,-0.26l0.56,-1.18l-0.61,-2.1l-0.72,-0.1l-1.14,1.82l-0.9,0.21l0.63,-0.82l0.36,-1.55l0.92,-1.31l-0.13,-2.34l-0.7,-0.22l-2.0,2.34l-1.51,0.93l-0.94,2.01l-1.35,-0.81l-0.02,-1.52l-1.57,-2.04l-1.09,-0.88l0.24,-0.33l-0.14,-0.59l-3.21,-1.69l-1.83,-0.12l-2.54,-1.35l-4.58,0.28l-6.02,1.9l-2.53,-0.13l-2.62,1.41l-2.13,0.63l-1.49,2.6l-3.49,0.31l-2.29,-0.5l-3.48,0.43l-1.6,1.47l-0.81,-0.04l-2.37,1.63l-3.26,-0.1l-3.72,-2.21l0.04,-1.05l1.19,-0.46l0.49,-0.89l0.21,-2.97l-0.28,-1.64l-1.34,-2.86l-0.38,-1.47l0.05,-1.72l-0.95,-1.7l-0.18,-0.97l-1.01,-0.99l-0.29,-1.98l-1.13,-1.75ZM784.92,393.44l2.65,1.02l3.23,-0.96l1.09,0.14l0.15,3.06l-0.85,1.13l-0.17,1.63l-0.87,-0.24l-1.57,1.91l-1.68,-0.18l-1.4,-2.36l-0.37,-2.04l-1.39,-2.51l0.04,-0.8l1.15,0.18Z", "name": "Australia"}, "AT": {"path": "M462.89,152.8l0.04,2.25l-1.07,0.0l-0.33,0.63l0.36,0.51l-1.04,2.13l-2.02,0.07l-1.33,0.7l-5.29,-0.99l-0.47,-0.93l-0.44,-0.21l-2.47,0.55l-0.42,0.51l-3.18,-0.81l0.43,-0.91l1.12,0.78l0.6,-0.17l0.25,-0.58l1.93,0.12l1.86,-0.56l1.0,0.08l0.68,0.57l0.62,-0.15l0.26,-0.77l-0.3,-1.78l0.8,-0.44l0.68,-1.15l1.52,0.85l0.47,-0.06l1.34,-1.25l0.64,-0.17l1.81,0.92l1.28,-0.11l0.7,0.37Z", "name": "Austria"}, "IN": {"path": "M623.34,207.03l-1.24,1.04l-0.97,2.55l0.22,0.51l8.04,3.87l3.42,0.37l1.57,1.38l4.92,0.88l2.18,-0.04l0.38,-0.3l0.29,-1.24l-0.32,-1.64l0.14,-0.87l0.82,-0.31l0.45,2.48l2.28,1.02l1.77,-0.38l4.14,0.1l0.38,-0.36l0.18,-1.66l-0.5,-0.65l1.37,-0.29l2.25,-1.99l2.7,-1.62l1.93,0.62l1.8,-0.98l0.79,1.14l-0.68,0.91l0.26,0.63l2.42,0.36l0.09,0.47l-0.83,0.75l0.13,1.07l-1.52,-0.29l-3.24,1.86l-0.13,1.78l-1.32,2.14l-0.18,1.39l-0.93,1.82l-1.64,-0.5l-0.52,0.37l-0.09,2.63l-0.56,1.11l0.19,0.81l-0.53,0.27l-1.18,-3.73l-1.08,-0.27l-0.38,0.31l-0.24,1.0l-0.66,-0.66l0.54,-1.06l1.22,-0.34l1.15,-2.25l-0.24,-0.56l-1.57,-0.47l-4.34,-0.28l-0.18,-1.56l-0.35,-0.35l-1.11,-0.12l-1.91,-1.12l-0.56,0.17l-0.88,1.82l0.11,0.49l1.36,1.07l-1.09,0.69l-0.69,1.11l0.18,0.56l1.24,0.57l-0.32,1.54l0.85,1.94l0.36,2.01l-0.22,0.59l-4.58,0.52l-0.33,0.42l0.13,1.8l-1.17,1.36l-3.65,1.81l-2.79,3.03l-4.32,3.28l-0.18,1.27l-4.65,1.79l-0.77,2.16l0.64,5.3l-1.06,2.49l-0.01,3.94l-1.24,0.28l-1.14,1.93l0.39,0.84l-1.68,0.53l-1.04,1.83l-0.65,0.47l-2.06,-2.05l-2.1,-6.02l-2.2,-3.64l-1.05,-4.75l-2.29,-3.57l-1.76,-8.2l0.01,-3.11l-0.49,-2.53l-0.55,-0.29l-3.53,1.52l-1.53,-0.27l-2.86,-2.77l0.85,-0.67l0.08,-0.55l-0.74,-1.03l-2.67,-2.06l1.24,-1.32l5.34,0.01l0.39,-0.49l-0.5,-2.29l-1.42,-1.46l-0.27,-1.93l-1.43,-1.2l2.31,-2.37l3.05,0.06l2.62,-2.85l1.6,-2.81l2.4,-2.73l0.07,-2.04l1.97,-1.48l-0.02,-0.65l-1.93,-1.31l-0.82,-1.78l-0.8,-2.21l0.9,-0.89l3.59,0.65l2.92,-0.42l2.33,-2.19l2.31,2.85l-0.24,2.13l0.99,1.59l-0.05,0.82l-1.34,-0.28l-0.47,0.48l0.7,3.06l2.62,1.99l2.99,1.65Z", "name": "India"}, "TZ": {"path": "M495.56,296.42l2.8,-3.12l-0.02,-0.81l-0.64,-1.3l0.68,-0.52l0.14,-1.47l-0.76,-1.25l0.31,-0.11l2.26,0.03l-0.51,2.76l0.76,1.3l0.5,0.12l1.05,-0.53l1.19,-0.12l0.61,0.24l1.43,-0.62l0.1,-0.67l-0.71,-0.62l1.57,-1.7l8.65,4.86l0.32,1.53l3.34,2.33l-1.05,2.8l0.13,1.61l1.63,1.12l-0.6,1.76l-0.01,2.33l1.89,4.03l0.57,0.43l-1.46,1.08l-2.61,0.94l-1.43,-0.04l-1.06,0.77l-2.29,0.36l-2.87,-0.68l-0.83,0.07l-0.63,-0.75l-0.31,-2.78l-1.32,-1.35l-3.25,-0.77l-3.96,-1.58l-1.18,-2.41l-0.32,-1.75l-1.76,-1.49l0.42,-1.05l-0.44,-0.89l0.08,-0.96l-0.46,-0.58l0.06,-0.56Z", "name": "Tanzania"}, "AZ": {"path": "M539.29,175.73l1.33,0.32l1.94,-1.8l2.3,3.34l1.43,0.43l-1.26,0.15l-0.35,0.32l-0.8,3.14l-0.99,0.96l0.05,1.11l-1.26,-1.13l0.7,-1.18l-0.04,-0.47l-0.74,-0.86l-1.48,0.15l-2.34,1.71l-0.03,-1.27l-2.03,-1.35l0.47,-0.62l-0.08,-0.56l-1.03,-0.79l0.29,-0.43l-0.14,-0.58l-1.13,-0.86l1.89,0.68l1.69,0.06l0.37,-0.87l-0.81,-1.37l0.42,0.06l1.63,1.72ZM533.78,180.57l0.61,0.46l0.69,-0.0l0.59,1.15l-0.68,-0.15l-1.21,-1.45Z", "name": "Azerbaijan"}, "IE": {"path": "M405.08,135.42l0.35,2.06l-1.75,2.78l-4.22,1.88l-2.84,-0.4l1.73,-3.0l-1.18,-3.53l4.6,-3.74l0.32,1.15l-0.49,1.74l0.4,0.51l1.47,-0.04l1.6,0.6Z", "name": "Ireland"}, "ID": {"path": "M756.47,287.89l0.69,4.01l2.79,1.78l0.51,-0.1l2.04,-2.59l2.71,-1.43l2.05,-0.0l3.9,1.73l2.46,0.45l0.08,15.12l-1.75,-1.54l-2.54,-0.51l-0.88,0.71l-2.32,0.06l0.69,-1.33l1.45,-0.64l0.23,-0.46l-0.65,-2.74l-1.24,-2.21l-5.04,-2.29l-2.09,-0.23l-3.68,-2.27l-0.55,0.13l-0.65,1.07l-0.52,0.12l-0.55,-1.89l-1.21,-0.78l1.84,-0.62l1.72,0.05l0.39,-0.52l-0.21,-0.66l-0.38,-0.28l-3.45,-0.0l-1.13,-1.48l-2.1,-0.43l-0.52,-0.6l2.69,-0.48l1.28,-0.78l3.66,0.94l0.3,0.71ZM757.91,300.34l-0.62,0.82l-0.1,-0.8l0.59,-1.12l0.13,1.1ZM747.38,292.98l0.34,0.72l-1.22,-0.57l-4.68,-0.1l0.27,-0.62l2.78,-0.09l2.52,0.67ZM741.05,285.25l-0.67,-2.88l0.64,-2.01l0.41,0.86l1.21,0.18l0.16,0.7l-0.1,1.68l-0.84,-0.16l-0.46,0.3l-0.34,1.34ZM739.05,293.5l-0.5,0.44l-1.34,-0.36l-0.17,-0.37l1.73,-0.08l0.27,0.36ZM721.45,284.51l-0.19,1.97l2.24,2.23l0.54,0.02l1.27,-1.07l2.75,-0.5l-0.9,1.21l-2.11,0.93l-0.16,0.6l2.22,3.01l-0.3,1.07l1.36,1.74l-2.26,0.85l-0.28,-0.31l0.12,-1.19l-1.64,-1.34l0.17,-2.23l-0.56,-0.39l-1.67,0.76l-0.23,0.39l0.3,6.17l-1.1,0.25l-0.69,-0.47l0.64,-2.21l-0.39,-2.42l-0.39,-0.34l-0.8,-0.01l-0.58,-1.29l0.98,-1.6l0.35,-1.96l1.32,-3.87ZM728.59,296.27l0.38,0.49l-0.02,1.28l-0.88,0.49l-0.53,-0.47l1.04,-1.79ZM729.04,286.98l0.27,-0.05l-0.02,0.13l-0.24,-0.08ZM721.68,284.05l0.16,-0.32l1.89,-1.65l1.83,0.68l3.16,0.35l2.94,-0.1l2.39,-1.66l-1.73,2.13l-1.66,0.43l-2.41,-0.48l-4.17,0.13l-2.39,0.51ZM730.55,310.47l1.11,-1.93l2.03,-0.82l0.08,0.62l-1.45,1.67l-1.77,0.46ZM728.12,305.88l-0.1,0.38l-3.46,0.66l-2.91,-0.27l-0.0,-0.25l1.54,-0.41l1.66,0.73l1.67,-0.19l1.61,-0.65ZM722.9,310.24l-0.64,0.03l-2.26,-1.2l1.11,-0.24l1.78,1.41ZM716.26,305.77l0.88,0.51l1.28,-0.17l0.2,0.35l-4.65,0.73l0.39,-0.67l1.15,-0.02l0.75,-0.73ZM711.66,293.84l-0.38,-0.16l-2.54,1.01l-1.12,-1.44l-1.69,-0.13l-1.16,-0.75l-3.04,0.77l-1.1,-1.15l-3.31,-0.11l-0.35,-3.05l-1.35,-0.95l-1.11,-1.98l-0.33,-2.06l0.27,-2.14l0.9,-1.01l0.37,1.15l2.09,1.49l1.53,-0.48l1.82,0.08l1.38,-1.19l1.0,-0.18l2.28,0.67l2.26,-0.53l1.52,-3.64l1.01,-0.99l0.78,-2.57l4.1,0.3l-1.11,1.77l0.02,0.46l1.7,2.2l-0.23,1.39l2.07,1.71l-2.33,0.42l-0.88,1.9l0.1,2.05l-2.4,1.9l-0.06,2.45l-0.7,2.79ZM692.58,302.03l0.35,0.26l4.8,0.25l0.78,-0.97l4.17,1.09l1.13,1.68l3.69,0.45l2.13,1.04l-1.8,0.6l-2.77,-0.99l-4.8,-0.12l-5.24,-1.41l-1.84,-0.25l-1.11,0.3l-4.26,-0.97l-0.7,-1.14l-1.59,-0.13l1.18,-1.65l2.74,0.13l2.87,1.13l0.26,0.68ZM685.53,299.17l-2.22,0.04l-2.06,-2.03l-3.15,-2.01l-2.93,-3.51l-3.11,-5.33l-2.2,-2.12l-1.64,-4.06l-2.32,-1.69l-1.27,-2.07l-1.96,-1.5l-2.51,-2.65l-0.11,-0.66l4.81,0.53l2.15,2.38l3.31,2.74l2.35,2.66l2.7,0.17l1.95,1.59l1.54,2.17l1.59,0.95l-0.84,1.71l0.15,0.52l1.44,0.87l0.79,0.1l0.4,1.58l0.87,1.4l1.96,0.39l1.0,1.31l-0.6,3.01l-0.09,3.5Z", "name": "Indonesia"}, "UA": {"path": "M492.5,162.44l1.28,-2.49l1.82,0.19l0.66,-0.23l0.09,-0.71l-0.25,-0.75l-0.79,-0.72l-0.33,-1.21l-0.86,-0.62l-0.02,-1.19l-1.13,-0.86l-1.15,-0.19l-2.04,-1.0l-1.66,0.32l-0.66,0.47l-0.92,-0.0l-0.84,0.78l-2.48,0.7l-1.18,-0.71l-3.07,-0.36l-0.89,0.43l-0.24,-0.55l-1.11,-0.7l0.35,-0.93l1.26,-1.02l-0.54,-1.23l2.04,-2.43l1.4,-0.62l0.25,-1.19l-1.04,-2.39l0.83,-0.13l1.28,-0.84l1.8,-0.07l2.47,0.26l2.86,0.81l1.88,0.06l0.86,0.44l1.04,-0.41l0.77,0.66l2.18,-0.15l0.92,0.3l0.52,-0.34l0.15,-1.53l0.56,-0.54l2.85,-0.05l0.84,-0.72l3.04,-0.18l1.23,1.46l-0.48,0.77l0.21,1.03l0.36,0.32l1.8,0.14l0.93,2.08l3.18,1.15l1.94,-0.45l1.67,1.49l1.4,-0.03l3.35,0.96l0.02,0.54l-0.96,1.59l0.47,1.97l-0.26,0.7l-2.36,0.28l-1.29,0.89l-0.23,1.38l-1.83,0.27l-1.58,0.97l-2.41,0.21l-2.16,1.17l-0.21,0.38l0.34,2.26l1.23,0.75l2.13,-0.08l-0.14,0.31l-2.65,0.53l-3.23,1.69l-0.87,-0.39l0.42,-1.1l-0.25,-0.52l-2.21,-0.73l2.35,-1.06l0.12,-0.65l-0.93,-0.82l-3.62,-0.74l-0.13,-0.89l-0.46,-0.34l-2.61,0.59l-0.91,1.69l-1.71,2.04l-0.86,-0.4l-1.62,0.27Z", "name": "Ukraine"}, "QA": {"path": "M549.33,221.64l-0.76,-0.23l-0.14,-1.64l0.84,-1.29l0.47,0.52l0.04,1.34l-0.45,1.3Z", "name": "Qatar"}, "MZ": {"path": "M508.58,318.75l-0.34,-2.57l0.51,-2.05l3.55,0.63l2.5,-0.38l1.02,-0.76l1.49,0.01l2.74,-0.98l1.66,-1.2l0.5,9.24l0.41,1.23l-0.68,1.67l-0.93,1.71l-1.5,1.5l-5.16,2.28l-2.78,2.73l-1.02,0.53l-1.71,1.8l-0.98,0.57l-0.35,2.41l1.16,1.94l0.49,2.17l0.43,0.31l-0.06,2.06l-0.39,1.17l0.5,0.72l-0.25,0.73l-0.92,0.83l-5.12,2.39l-1.22,1.36l0.21,1.13l0.58,0.39l-0.11,0.72l-1.22,-0.01l-0.73,-2.97l0.42,-3.09l-1.78,-5.37l2.49,-2.81l0.69,-1.89l0.44,-0.43l0.28,-1.53l-0.39,-0.93l0.59,-3.65l-0.01,-3.26l-1.49,-1.16l-1.2,-0.22l-1.74,-1.17l-1.92,0.01l-0.29,-2.08l7.06,-1.96l1.28,1.09l0.89,-0.1l0.67,0.44l0.1,0.73l-0.51,1.29l0.19,1.81l1.75,1.83l0.65,-0.13l0.71,-1.65l1.17,-0.86l-0.26,-3.47l-1.05,-1.85l-1.04,-0.94Z", "name": "Mozambique"}}, "height": 440.7063107441331, "projection": {"type": "mill", "centralMeridian": 11.5}, "width": 900.0});jquery.easing.1.3.js000064400000017641152325744560010214 0ustar00/* * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ * * Uses the built in easing capabilities added In jQuery 1.1 * to offer multiple easing options * * TERMS OF USE - jQuery Easing * * Open source under the BSD License. * * Copyright © 2008 George McGinley Smith * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list * of conditions and the following disclaimer in the documentation and/or other materials * provided with the distribution. * * Neither the name of the author nor the names of contributors may be used to endorse * or promote products derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. * */ // t: current time, b: begInnIng value, c: change In value, d: duration jQuery.easing['jswing'] = jQuery.easing['swing']; jQuery.extend( jQuery.easing, { def: 'easeOutQuad', swing: function (x, t, b, c, d) { //alert(jQuery.easing.default); return jQuery.easing[jQuery.easing.def](x, t, b, c, d); }, easeInQuad: function (x, t, b, c, d) { return c*(t/=d)*t + b; }, easeOutQuad: function (x, t, b, c, d) { return -c *(t/=d)*(t-2) + b; }, easeInOutQuad: function (x, t, b, c, d) { if ((t/=d/2) < 1) return c/2*t*t + b; return -c/2 * ((--t)*(t-2) - 1) + b; }, easeInCubic: function (x, t, b, c, d) { return c*(t/=d)*t*t + b; }, easeOutCubic: function (x, t, b, c, d) { return c*((t=t/d-1)*t*t + 1) + b; }, easeInOutCubic: function (x, t, b, c, d) { if ((t/=d/2) < 1) return c/2*t*t*t + b; return c/2*((t-=2)*t*t + 2) + b; }, easeInQuart: function (x, t, b, c, d) { return c*(t/=d)*t*t*t + b; }, easeOutQuart: function (x, t, b, c, d) { return -c * ((t=t/d-1)*t*t*t - 1) + b; }, easeInOutQuart: function (x, t, b, c, d) { if ((t/=d/2) < 1) return c/2*t*t*t*t + b; return -c/2 * ((t-=2)*t*t*t - 2) + b; }, easeInQuint: function (x, t, b, c, d) { return c*(t/=d)*t*t*t*t + b; }, easeOutQuint: function (x, t, b, c, d) { return c*((t=t/d-1)*t*t*t*t + 1) + b; }, easeInOutQuint: function (x, t, b, c, d) { if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; return c/2*((t-=2)*t*t*t*t + 2) + b; }, easeInSine: function (x, t, b, c, d) { return -c * Math.cos(t/d * (Math.PI/2)) + c + b; }, easeOutSine: function (x, t, b, c, d) { return c * Math.sin(t/d * (Math.PI/2)) + b; }, easeInOutSine: function (x, t, b, c, d) { return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; }, easeInExpo: function (x, t, b, c, d) { return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; }, easeOutExpo: function (x, t, b, c, d) { return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; }, easeInOutExpo: function (x, t, b, c, d) { if (t==0) return b; if (t==d) return b+c; if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; }, easeInCirc: function (x, t, b, c, d) { return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; }, easeOutCirc: function (x, t, b, c, d) { return c * Math.sqrt(1 - (t=t/d-1)*t) + b; }, easeInOutCirc: function (x, t, b, c, d) { if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; }, easeInElastic: function (x, t, b, c, d) { var s=1.70158;var p=0;var a=c; if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; if (a < Math.abs(c)) { a=c; var s=p/4; } else var s = p/(2*Math.PI) * Math.asin (c/a); return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; }, easeOutElastic: function (x, t, b, c, d) { var s=1.70158;var p=0;var a=c; if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; if (a < Math.abs(c)) { a=c; var s=p/4; } else var s = p/(2*Math.PI) * Math.asin (c/a); return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; }, easeInOutElastic: function (x, t, b, c, d) { var s=1.70158;var p=0;var a=c; if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); if (a < Math.abs(c)) { a=c; var s=p/4; } else var s = p/(2*Math.PI) * Math.asin (c/a); if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; }, easeInBack: function (x, t, b, c, d, s) { if (s == undefined) s = 1.70158; return c*(t/=d)*t*((s+1)*t - s) + b; }, easeOutBack: function (x, t, b, c, d, s) { if (s == undefined) s = 1.70158; return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; }, easeInOutBack: function (x, t, b, c, d, s) { if (s == undefined) s = 1.70158; if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; }, easeInBounce: function (x, t, b, c, d) { return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; }, easeOutBounce: function (x, t, b, c, d) { if ((t/=d) < (1/2.75)) { return c*(7.5625*t*t) + b; } else if (t < (2/2.75)) { return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; } else if (t < (2.5/2.75)) { return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; } else { return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; } }, easeInOutBounce: function (x, t, b, c, d) { if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; } }); /* * * TERMS OF USE - EASING EQUATIONS * * Open source under the BSD License. * * Copyright © 2001 Robert Penner * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list * of conditions and the following disclaimer in the documentation and/or other materials * provided with the distribution. * * Neither the name of the author nor the names of contributors may be used to endorse * or promote products derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. * */profile2.js000064400000017440152325744560006647 0ustar00jQuery(document).ready(function() { jQuery('.panel-default:nth-child(2)').on('click', function() { jQuery('#theme').css('min-height', '400px'); }); jQuery('#countries_msddHolder').css('position', 'relative'); jQuery(".wk_banner").on('mouseenter', function() { jQuery(".change_cover").css("display", "block"); }); jQuery(".change_cover").on('mouseenter', function() { jQuery(this).css("display", "block"); }); jQuery(".wk_banner").on('mouseout', function() { jQuery(".change_cover").css("display", "none"); }); jQuery(".upload_cover_").click(function() { jQuery("#change_mpcover").click(); }); jQuery(".upload_pic_").click(function() { jQuery("#upload_pic_").click(); }); jQuery('.change_cover').click(function() { jQuery('.change_cover').addClass('is_active'); jQuery(".update_cover_options_img").toggle(); jQuery(".update_cover_options").toggle(); jQuery(".update_cover_options").css("display", "block"); }); jQuery(document).on('click', function(event) { if (event.target.className != 'update_profile_pic') { jQuery('.update_pic_options').hide(); } if (event.target.className != 'wk_mplogo') { jQuery('.update_profile_pic').hide(); } }); var height = jQuery('.sellerprofile_main .contentbar').height(); jQuery('.menubar').css('height', height - 70 + "px"); if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { jQuery('.take_pic_').css('display', 'none'); } jQuery('#new').hide(0); jQuery('#upload_pic').hide(0); var videoObj = ''; jQuery('.take_pic_').on("click", function() { if (jQuery(this).parent().attr('class') == 'update_cover_options') { jQuery('.wk_upload').remove(); } else {} jQuery('#cam_snap').on('click', function() { jQuery('.wk_upload').remove(); jQuery("#camera").append('<div class="btn btn-success wk_upload" id="upload_pic">Upload</div>'); }); jQuery('#camera').css('display', 'block'); var video = document.getElementById("video"), videoObj = { "video": true }, errBack = function(error) { console.log("Video capture error: ", error.code); }; if (navigator.getUserMedia) { // Standard navigator.getUserMedia(videoObj, function(stream) { video.src = stream; video.play(); }, errBack); } else if (navigator.webkitGetUserMedia) { // WebKit-prefixed navigator.webkitGetUserMedia(videoObj, function(stream) { video.src = window.webkitURL.createObjectURL(stream); video.play(); }, errBack); } else if (navigator.mozGetUserMedia) { // WebKit-prefixed navigator.mozGetUserMedia(videoObj, function(stream) { video.src = window.URL.createObjectURL(stream); video.play(); }, errBack); } }); jQuery('#close_cam').on('click', function(stream) { jQuery('#camera').hide(); }); jQuery("#cam_snap").on("click", function(e) { var canvas = document.getElementById("canvas"), context = canvas.getContext("2d"); context.drawImage(video, 0, 0, 600, 400); jQuery('#video').hide('slow'); jQuery('#canvas').show('slow'); jQuery('#cam_snap').hide('slow'); jQuery('#new').show('slow'); jQuery('#upload_pic').show('slow'); jQuery('#upload_pic_cover').show('slow'); e.preventDefault(); }); jQuery("#new").on("click", function(e) { jQuery('#video').show('slow'); jQuery('#canvas').hide('slow'); jQuery('#cam_snap').show('slow'); jQuery('#new').hide(); jQuery('#upload_pic').hide(); jQuery('#upload_pic_cover').hide(); e.preventDefault(); }); }); jQuery(function() { jQuery("#upload_pic_").change(function() { jQuery("#dvPreview").html(""); var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.gif|.png|.bmp)$/; if (regex.test(jQuery(this).val().toLowerCase())) { if (jQuery.browser.msie && parseFloat(jQuery.browser.version) <= 9.0) { jQuery("#dvPreview").show(); jQuery("#dvPreview")[0].filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = jQuery(this).val(); } else { if (typeof(FileReader) != "undefined") { jQuery("#dvPreview").show(); jQuery("#dvPreview").append("<img />"); var reader = new FileReader(); reader.onload = function(e) { jQuery("#dvPreview img").attr("src", e.target.result); jQuery("#dvPreview img").css("height", "100%"); jQuery("#dvPreview img").css("width", "100%"); jQuery("#dvPreview").prev().css("display", "none"); jQuery("#dvPreview").attr("class", "wk_mplogo"); } reader.readAsDataURL(jQuery(this)[0].files[0]); } else { alert("This browser does not support FileReader."); } } } else { alert("Please upload a valid image file."); } }); }); jQuery(function() { jQuery("#change_mpcover").change(function() { jQuery("#dvPreview1").html(""); var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.gif|.png|.bmp)$/; if (regex.test(jQuery(this).val().toLowerCase())) { if (jQuery.browser.msie && parseFloat(jQuery.browser.version) <= 9.0) { jQuery("#dvPreview1").show(); jQuery("#dvPreview1")[0].filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = jQuery(this).val(); } else { if (typeof(FileReader) != "undefined") { jQuery("#dvPreview1").show(); jQuery("#dvPreview1").append("<img />"); var reader = new FileReader(); reader.onload = function(e) { jQuery("#dvPreview1 img").attr("src", e.target.result); jQuery("#dvPreview1 img").css("height", "100%"); jQuery("#dvPreview1 img").css("width", "100%"); jQuery("#dvPreview1").prev().css("display", "none"); jQuery("#dvPreview1").attr("class", "wk_banner"); } reader.readAsDataURL(jQuery(this)[0].files[0]); } else { alert("This browser does not support FileReader."); } } } else { alert("Please upload a valid image file."); } }); }); (function($) { jQuery.fn.equalHeights = function() { tallest = 0; this.each(function() { if (jQuery(this).height() > tallest) { tallest = jQuery(this).height(); } }); return this.each(function() { jQuery(this).height(tallest); }); } })(jQuery); jQuery(document).click(function(e) { var elem = jQuery(e.target).attr('class'); //this should give you the if (elem != 'change_cover' && elem != 'update_cover_options_img' && elem != 'update_cover_options' && elem != 'change_cover_text') { jQuery('.update_cover_options_img').hide(); //or however you want to hide it jQuery('.update_cover_options').hide(); //or however you want to hide it } }); jQuery("#countries-select").change(function() { var img_name = this.value; jQuery('.wk_countrylogo').attr("src", "components/com_marketplace/images/countryflags/" + img_name + ".png"); });profile3.js000064400000014177152325744560006654 0ustar00jQuery(document).ready(function() { jQuery('.panel-default:nth-child(2)').on('click', function() { jQuery('#theme').css('min-height', '400px'); }); jQuery('#countries_msddHolder').css('position', 'relative'); /*theme tab updted by kailash*/ jQuery(".wk_banner").on('mouseenter', function() { jQuery(".change_cover").css("display", "block"); }); jQuery(".change_cover").on('mouseenter', function() { jQuery(this).css("display", "block"); }); jQuery(".wk_banner").on('mouseout', function() { jQuery(".change_cover").css("display", "none"); }); jQuery(".upload_cover_").click(function() { jQuery("#change_mpcover").click(); }); jQuery(".upload_pic_").click(function() { jQuery("#upload_pic_").click(); }); jQuery('.change_cover').click(function() { jQuery('.change_cover').addClass('is_active'); jQuery(".update_cover_options_img").toggle(); jQuery(".update_cover_options").toggle(); jQuery(".update_cover_options").css("display", "block"); }); jQuery(document).on('click', function(event) { if (event.target.className != 'update_profile_pic') { jQuery('.update_pic_options').hide(); } if (event.target.className != 'wk_mplogo') { jQuery('.update_profile_pic').hide(); } }); var height = jQuery('.sellerprofile_main .contentbar').height(); jQuery('.menubar').css('height', height - 70 + "px"); if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { jQuery('.take_pic_').css('display', 'none'); } jQuery('#new').hide(0); jQuery('#upload_pic').hide(0); var videoObj = ''; jQuery('.take_pic_').on("click", function() { if (jQuery(this).parent().attr('class') == 'update_cover_options') { jQuery('.wk_upload').remove(); } else { } jQuery('#cam_snap').on('click', function() { jQuery('.wk_upload').remove(); jQuery("#camera").append('<div class="btn btn-success wk_upload" id="upload_pic">Upload</div>'); }); jQuery('#camera').css('display', 'block'); }); jQuery('#close_cam').on('click', function(stream) { jQuery('#camera').hide(); }); }); jQuery(function() { jQuery("#upload_pic_").change(function() { jQuery("#dvPreview").html(""); var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.gif|.png|.bmp)$/; if (regex.test(jQuery(this).val().toLowerCase())) { if (jQuery.browser.msie && parseFloat(jQuery.browser.version) <= 9.0) { jQuery("#dvPreview").show(); jQuery("#dvPreview")[0].filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = jQuery(this).val(); } else { if (typeof(FileReader) != "undefined") { jQuery("#dvPreview").show(); jQuery("#dvPreview").append("<img />"); var reader = new FileReader(); reader.onload = function(e) { jQuery("#dvPreview img").attr("src", e.target.result); jQuery("#dvPreview img").css("height", "100%"); jQuery("#dvPreview img").css("width", "100%"); jQuery("#dvPreview").prev().css("display", "none"); jQuery("#dvPreview").attr("class", "wk_mplogo"); } reader.readAsDataURL(jQuery(this)[0].files[0]); } else { alert("This browser does not support FileReader."); } } } else { alert("Please upload a valid image file."); } }); }); jQuery(function() { jQuery("#change_mpcover").change(function() { jQuery("#dvPreview1").html(""); var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.gif|.png|.bmp)$/; if (regex.test(jQuery(this).val().toLowerCase())) { if (jQuery.browser.msie && parseFloat(jQuery.browser.version) <= 9.0) { jQuery("#dvPreview1").show(); jQuery("#dvPreview1")[0].filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = jQuery(this).val(); } else { if (typeof(FileReader) != "undefined") { jQuery("#dvPreview1").show(); jQuery("#dvPreview1").append("<img />"); var reader = new FileReader(); reader.onload = function(e) { jQuery("#dvPreview1 img").attr("src", e.target.result); jQuery("#dvPreview1 img").css("height", "100%"); jQuery("#dvPreview1 img").css("width", "100%"); jQuery("#dvPreview1").prev().css("display", "none"); jQuery("#dvPreview1").attr("class", "wk_banner"); } reader.readAsDataURL(jQuery(this)[0].files[0]); } else { alert("This browser does not support FileReader."); } } } else { alert("Please upload a valid image file."); } }); }); (function($) { jQuery.fn.equalHeights = function() { tallest = 0; this.each(function() { if (jQuery(this).height() > tallest) { tallest = jQuery(this).height(); } }); return this.each(function() { jQuery(this).height(tallest); }); } })(jQuery); jQuery(document).click(function(e) { var elem = jQuery(e.target).attr('class'); //this should give you the if (elem != 'change_cover' && elem != 'update_cover_options_img' && elem != 'update_cover_options' && elem != 'change_cover_text') { jQuery('.update_cover_options_img').hide(); //or however you want to hide it jQuery('.update_cover_options').hide(); //or however you want to hide it } }); jQuery("#countries-select").change(function() { var img_name = this.value; jQuery('.wk_countrylogo').attr("src", "components/com_marketplace/images/countryflags/" + img_name + ".png"); });profile42.js000064400000014707152325744560006736 0ustar00jQuery(document).ready(function() { jQuery('.panel-default:nth-child(2)').on('click', function() { jQuery('#theme').css('min-height', '400px'); }); jQuery('#countries_msddHolder').css('position', 'relative'); /*theme tab updted by kailash*/ jQuery(".wk_banner").on('mouseenter', function() { jQuery(".change_cover").css("display", "block"); }); jQuery(".change_cover").on('mouseenter', function() { jQuery(this).css("display", "block"); }); jQuery(".wk_banner").on('mouseout', function() { jQuery(".change_cover").css("display", "none"); }); jQuery(".upload_cover_").click(function() { jQuery("#change_mpcover").click(); }); jQuery(".upload_pic_").click(function() { jQuery("#upload_pic_").click(); }); jQuery('.change_cover').click(function() { jQuery('.change_cover').addClass('is_active'); jQuery(".update_cover_options_img").toggle(); jQuery(".update_cover_options").toggle(); jQuery(".update_cover_options").css("display", "block"); }); jQuery(document).on('click', function(event) { if (event.target.className != 'update_profile_pic') { jQuery('.update_pic_options').hide(); } if (event.target.className != 'wk_mplogo') { jQuery('.update_profile_pic').hide(); } }); var height = jQuery('.sellerprofile_main .contentbar').height(); jQuery('.menubar').css('height', height - 70 + "px"); if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { jQuery('.take_pic_').css('display', 'none'); } jQuery('#new').hide(0); jQuery('#upload_pic').hide(0); var videoObj = ''; jQuery('.take_pic_').on("click", function() { if (jQuery(this).parent().attr('class') == 'update_cover_options') { jQuery('.wk_upload').remove(); } else { } jQuery('#cam_snap').on('click', function() { jQuery('.wk_upload').remove(); jQuery("#camera").append('<div class="btn btn-success wk_upload" id="upload_pic">uplaod</div>'); }); jQuery('#camera').css('display', 'block'); }); jQuery('#close_cam').on('click', function(stream) { jQuery('#camera').hide(); }); }); jQuery(function() { jQuery("#upload_pic_").change(function() { jQuery("#dvPreview").html(""); var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.gif|.png|.bmp)$/; if (regex.test(jQuery(this).val().toLowerCase())) { if (jQuery.browser.msie && parseFloat(jQuery.browser.version) <= 9.0) { jQuery("#dvPreview").show(); jQuery("#dvPreview")[0].filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = jQuery(this).val(); } else { if (typeof(FileReader) != "undefined") { jQuery("#dvPreview").show(); jQuery("#dvPreview").append('<img id="mp_logo-img" />'); var reader = new FileReader(); reader.onloadend = function(e) { jQuery("#dvPreview img").attr("src", e.target.result); jQuery("#dvPreview img").css("height", "100%"); jQuery("#dvPreview img").css("width", "100%"); jQuery("#dvPreview").prev().css("display", "none"); jQuery("#dvPreview").attr("class", "wk_mplogo"); var orientation; var res = EXIF.getData(e.target.result, function() { orientation = EXIF.getTag(this, "Orientation"); }); alert(res); console.log(orientation); } reader.readAsDataURL(jQuery(this)[0].files[0]); } else { alert("This browser does not support FileReader."); } } } else { alert("Please upload a valid image file."); } }); }); jQuery(function() { jQuery("#change_mpcover").change(function() { jQuery("#dvPreview1").html(""); var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.gif|.png|.bmp)$/; if (regex.test(jQuery(this).val().toLowerCase())) { if (jQuery.browser.msie && parseFloat(jQuery.browser.version) <= 9.0) { jQuery("#dvPreview1").show(); jQuery("#dvPreview1")[0].filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = jQuery(this).val(); } else { if (typeof(FileReader) != "undefined") { jQuery("#dvPreview1").show(); jQuery("#dvPreview1").append("<img />"); var reader = new FileReader(); reader.onload = function(e) { jQuery("#dvPreview1 img").attr("src", e.target.result); jQuery("#dvPreview1 img").css("height", "100%"); jQuery("#dvPreview1 img").css("width", "100%"); jQuery("#dvPreview1").prev().css("display", "none"); jQuery("#dvPreview1").attr("class", "wk_banner"); } reader.readAsDataURL(jQuery(this)[0].files[0]); } else { alert("This browser does not support FileReader."); } } } else { alert("Please upload a valid image file."); } }); }); (function($) { jQuery.fn.equalHeights = function() { tallest = 0; this.each(function() { if (jQuery(this).height() > tallest) { tallest = jQuery(this).height(); } }); return this.each(function() { jQuery(this).height(tallest); }); } })(jQuery); jQuery(document).click(function(e) { var elem = jQuery(e.target).attr('class'); //this should give you the if (elem != 'change_cover' && elem != 'update_cover_options_img' && elem != 'update_cover_options' && elem != 'change_cover_text') { jQuery('.update_cover_options_img').hide(); //or however you want to hide it jQuery('.update_cover_options').hide(); //or however you want to hide it } }); jQuery("#countries-select").change(function() { var img_name = this.value; jQuery('.wk_countrylogo').attr("src", "components/com_marketplace/images/countryflags/" + img_name + ".png"); });script.js000064400000007035152325744560006430 0ustar00var $ = jQuery.noConflict(); jQuery(document).ready(function() { var camera = jQuery('#camera'), photos = jQuery('#photos'), screen = jQuery('#screen'); var template = '<a href="components/com_marketplace/uploads/original/{src}" rel="cam" ' + 'style="background-image:url(components/com_marketplace/uploads/thumbs/{src})"></a>'; webcam.set_swf_url('components/com_marketplace/assets/webcam/webcam.swf'); webcam.set_api_url('components/com_marketplace/views/profile/tmpl/upload.php?seller_id=' + seller_id + ''); // The upload script webcam.set_quality(80); // JPEG Photo Quality webcam.set_shutter_sound(true, 'components/com_marketplace/assets/webcam/shutter.mp3'); if (typeof(screen.width() != "undefined")) { screen.html( webcam.get_html(screen.width(), screen.height()) ); } var shootEnabled = false; jQuery('#shootButton').click(function() { if (!shootEnabled) { return false; } webcam.freeze(); togglePane(); return false; }); jQuery('#cancelButton').click(function() { webcam.reset(); togglePane(); return false; }); jQuery('#uploadButton').click(function() { webcam.upload(); webcam.reset(); togglePane(); return false; }); camera.find('.settings').click(function() { if (!shootEnabled) { return false; } webcam.configure('camera'); }); var shown = false; jQuery('.camTop').click(function() { jQuery('.tooltip').fadeOut('fast'); if (shown) { camera.animate({ bottom: -466 }); } else { camera.animate({ bottom: -5 }, { easing: 'easeOutExpo', duration: 'slow' }); } shown = !shown; }); jQuery('.tooltip').mouseenter(function() { jQuery(this).fadeOut('fast'); }); webcam.set_hook('onLoad', function() { shootEnabled = true; }); webcam.set_hook('onComplete', function(msg) { msg = jQuery.parseJSON(msg); if (msg.error) { alert(msg.message); } else { // Adding it to the page; photos.prepend(templateReplace(template, { src: msg.filename })); // initFancyBox(); } }); webcam.set_hook('onError', function(e) { screen.html(e); }); var start = ''; function loadPics() { if (this != window) { if (jQuery(this).html() == 'Loading..') { // Preventing more than one click return false; } jQuery(this).html('Loading..'); } return false; } loadPics(); /*function initFancyBox(filename){ photos.find('a:visible').fancybox({ 'transitionIn' : 'elastic', 'transitionOut' : 'elastic', 'overlayColor' : '#111' }); }*/ // This function toggles the two // .buttonPane divs into visibility: function togglePane() { var visible = jQuery('#camera .buttonPane:visible:first'); var hidden = jQuery('#camera .buttonPane:hidden:first'); visible.fadeOut('fast', function() { hidden.show(); }); } // Helper function for replacing "{KEYWORD}" with // the respectful values of an object: function templateReplace(template, data) { return template.replace(/{([^}]+)}/g, function(match, group) { return data[group.toLowerCase()]; }); } });sellerlist.js000064400000006305152325744560007305 0ustar00 var r_pr=0; var r_vl=0; var r_ql=0; jQuery(".price_rating .hover .star").on('click',function(){ r_pr=jQuery(this).attr('rel'); jQuery('.price_rate').attr('value',r_pr); jQuery(this).addClass('fa-star'); jQuery(this).removeClass('fa-star-o'); jQuery(this).prevAll('.fa').addClass('fa-star'); jQuery(this).prevAll('.fa').removeClass('fa-star-o'); jQuery(this).nextAll('.fa').addClass('fa-star-o'); jQuery(this).nextAll('.fa').removeClass('fa-star'); }); jQuery(".value_rating .hover .star").on('click',function(){ r_vl=jQuery(this).attr('rel'); jQuery('.value_rate').attr('value',r_vl); jQuery(this).addClass('fa-star'); jQuery(this).removeClass('fa-star-o'); jQuery(this).prevAll('.fa').addClass('fa-star'); jQuery(this).prevAll('.fa').removeClass('fa-star-o'); jQuery(this).nextAll('.fa').addClass('fa-star-o'); jQuery(this).nextAll('.fa').removeClass('fa-star'); }); jQuery(".quality_rating .hover .star").on('click',function(){ r_ql=jQuery(this).attr('rel'); jQuery('.quality_rate').attr('value',r_ql); jQuery(this).addClass('fa-star'); jQuery(this).removeClass('fa-star-o'); jQuery(this).prevAll('.fa').addClass('fa-star'); jQuery(this).prevAll('.fa').removeClass('fa-star-o'); jQuery(this).nextAll('.fa').addClass('fa-star-o'); jQuery(this).nextAll('.fa').removeClass('fa-star'); }); jQuery("#mk_review").on('click', function(){ jQuery(".mk_review").css("display","block"); }); }); jQuery(function(){ jQuery(".grd").on('click',function(){ window.location="<?php echo JRoute::_("index.php?option=com_marketplace&view=productlist&id=".$seller_id."&mode=grid");?>"; }); jQuery(".lst").on('click',function(){ window.location="<?php echo JRoute::_("index.php?option=com_marketplace&view=productlist&id=".$seller_id."&mode=list");?>"; }); jQuery("#recent-product .grid_view").on("mouseover",".recent_pro",function(){ jQuery(this).find(".hover_product").css("display","block"); }); jQuery("#recent-product .grid_view").on("mouseout",".recent_pro",function(){ jQuery(this).find(".hover_product").css("display","none"); }); jQuery('body').on('mouseenter','.recent_pro',function(){ jQuery(this).children().last().fadeIn(); jQuery(this).mouseleave(function(){ jQuery(this).children().last().fadeOut(); }); }); var maxHeight = Math.max.apply(null, jQuery(".seller_profile_view_main .recent_pro").map(function () { return jQuery(this).height(); }).get()); jQuery(".seller_profile_view_main .recent_pro").css('height',maxHeight); }); jQuery(window).on('load',combind); jQuery(window).on('resize',combind); function combind(){ var tot_width=jQuery('.recent_pro').parent().width(); var tot_container=parseInt((tot_width-30)/175); var tot_container=parseInt((tot_width-(tot_container*10))/175); var container_remain=(tot_width-(tot_container*10))%175; var margin_calc=10+(container_remain-tot_container)/(tot_container+1); if(tot_container==1){ jQuery('.recent_pro').css('margin-left','0px'); jQuery('.recent_pro').css('width',tot_width-20+"px"); }else{ jQuery('.recent_pro').css('width',"165px"); jQuery('.recent_pro').css('margin-left',margin_calc); } } sellerprofile.js000064400000007565152325744560010003 0ustar00if (typeof jQuery == 'undefined') { document.write(unescape("%3Cscript src='https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js' type='text/javascript'%3E%3C/script%3E")); } jQuery(function() { jQuery(document).ready(function() { jQuery('#horizontalTab').easyResponsiveTabs({ type: 'vertical', //Types: default, vertical, accordion width: 'auto', //auto or any width like 600px fit: true, // 100% fit in a container closed: 'accordion', // Start closed if in accordion view activate: function(event) { // Callback function if tab is switched var $tab = jQuery(this); var $info = jQuery('#tabInfo'); var $name = jQuery('span', $info); $name.text($tab.text()); $info.show(); } }); jQuery('#verticalTab').easyResponsiveTabs({ type: 'vertical', width: 'auto', fit: true }); }); var r_pr = 0; var r_vl = 0; var r_ql = 0; jQuery(".price_rating .hover .star").on('click', function() { r_pr = jQuery(this).attr('rel'); jQuery('.price_rate').attr('value', r_pr); jQuery(this).addClass('fa-star'); jQuery(this).removeClass('fa-star-o'); jQuery(this).prevAll('.fa').addClass('fa-star'); jQuery(this).prevAll('.fa').removeClass('fa-star-o'); jQuery(this).nextAll('.fa').addClass('fa-star-o'); jQuery(this).nextAll('.fa').removeClass('fa-star'); }); jQuery(".value_rating .hover .star").on('click', function() { r_vl = jQuery(this).attr('rel'); jQuery('.value_rate').attr('value', r_vl); jQuery(this).addClass('fa-star'); jQuery(this).removeClass('fa-star-o'); jQuery(this).prevAll('.fa').addClass('fa-star'); jQuery(this).prevAll('.fa').removeClass('fa-star-o'); jQuery(this).nextAll('.fa').addClass('fa-star-o'); jQuery(this).nextAll('.fa').removeClass('fa-star'); }); jQuery(".quality_rating .hover .star").on('click', function() { r_ql = jQuery(this).attr('rel'); jQuery('.quality_rate').attr('value', r_ql); jQuery(this).addClass('fa-star'); jQuery(this).removeClass('fa-star-o'); jQuery(this).prevAll('.fa').addClass('fa-star'); jQuery(this).prevAll('.fa').removeClass('fa-star-o'); jQuery(this).nextAll('.fa').addClass('fa-star-o'); jQuery(this).nextAll('.fa').removeClass('fa-star'); }); jQuery("#mk_review").on('click', function() { jQuery(".mk_review").css("display", "block"); jQuery(this).hide(); }); }); jQuery(function() { jQuery('body').on('mouseenter', '.recent_pro', function() { jQuery(this).children().last().fadeIn(); jQuery(this).mouseleave(function() { jQuery(this).children().last().fadeOut(); }); }); var maxHeight = Math.max.apply(null, jQuery(".seller_profile_view_main .recent_pro").map(function() { return jQuery(this).height(); }).get()); jQuery(".seller_profile_view_main .recent_pro").css('height', maxHeight); }); jQuery(window).on('load', combind); jQuery(window).on('resize', combind); function combind() { var tot_width = jQuery('.recent_pro').parent().width(); var tot_container = parseInt((tot_width - 30) / 175); var tot_container = parseInt((tot_width - (tot_container * 10)) / 175); var container_remain = (tot_width - (tot_container * 10)) % 175; var margin_calc = 10 + (container_remain - tot_container) / (tot_container + 1); if (tot_container == 1) { jQuery('.recent_pro').css('margin-left', '0px'); jQuery('.recent_pro').css('width', tot_width - 20 + "px"); } else { jQuery('.recent_pro').css('width', "165px"); jQuery('.recent_pro').css('margin-left', margin_calc); } } //});
/home/digilove/public_html/f7525/../41423/41423/.././js.tar