{"version":3,"file":"js/application_redesign-58efef609ce5bb8fe96b.js","mappings":"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","sources":["webpack://enerfip/./app/javascript/javascript/components/already_liked_projects.js","webpack://enerfip/./app/javascript/javascript/components/app_redesign.js","webpack://enerfip/./app/javascript/javascript/components/confetti.js","webpack://enerfip/./app/javascript/javascript/components/copySponsorInviteToClipboard.js","webpack://enerfip/./app/javascript/javascript/components/francemap_redesign.js","webpack://enerfip/./app/javascript/javascript/components/info_banner.js","webpack://enerfip/./app/javascript/javascript/components/otp_attempt_input.js","webpack://enerfip/./app/javascript/javascript/components/read_more.js","webpack://enerfip/./app/javascript/javascript/components/shared/clipboard.js","webpack://enerfip/./app/javascript/javascript/components/sidebar_show_more.js","webpack://enerfip/./app/javascript/javascript/components/testimonials.js","webpack://enerfip/./app/javascript/javascript/components/toast.js","webpack://enerfip/./app/javascript/javascript/components/toggle_password_visibility.js","webpack://enerfip/./app/javascript/javascript/legacy/file_upload.js","webpack://enerfip/./app/javascript/javascript/legacy/lib/form_inputs.js","webpack://enerfip/./app/javascript/javascript/legacy/lib/ujs.js","webpack://enerfip/./app/javascript/javascript/legacy/pages/project/show_page.js","webpack://enerfip/./app/javascript/javascript/lib/button_loading.js","webpack://enerfip/./app/javascript/javascript/lib/event_handlers.js","webpack://enerfip/./app/javascript/javascript/lib/excerpt.js","webpack://enerfip/./app/javascript/javascript/lib/input_number_scroll_disabler.js","webpack://enerfip/./app/javascript/javascript/lib/overlay.js","webpack://enerfip/./app/javascript/javascript/lib/tooltip.js","webpack://enerfip/./app/javascript/javascript/pages/accounts/cgu_acceptance.js","webpack://enerfip/./app/javascript/javascript/pages/accounts/new_account.js","webpack://enerfip/./app/javascript/javascript/pages/investor_app/enableMfa.js","webpack://enerfip/./app/javascript/javascript/pages/investor_app/mfaAlert.js","webpack://enerfip/./app/javascript/javascript/pages/investor_app/moneyIns.js","webpack://enerfip/./app/javascript/javascript/pages/investor_app/saleOffer.js","webpack://enerfip/./app/javascript/javascript/pages/investor_app/toggleElements.js","webpack://enerfip/./app/javascript/javascript/pages/investor_app/trueInformationsEnableSubmit.js","webpack://enerfip/./app/javascript/javascript/pages/projects/countdown.js","webpack://enerfip/./app/javascript/javascript/pages/projects/header.js","webpack://enerfip/./app/javascript/javascript/pages/projects/likeModal.js","webpack://enerfip/./app/javascript/javascript/pages/projects/projects.js","webpack://enerfip/./app/javascript/javascript/pages/projects/sidebar.js","webpack://enerfip/./app/javascript/javascript/pages/subscriptions/index.js","webpack://enerfip/./app/javascript/javascript/lib/popover.js","webpack://enerfip/./app/javascript/javascript/pages/projects/sectionLinkOffset.js","webpack://enerfip/./app/javascript/javascript/legacy/modal.js","webpack://enerfip/./app/javascript/javascript/pages/accounts/login.js","webpack://enerfip/./app/javascript/javascript/pages/projects/linkable_tab.js","webpack://enerfip/./app/javascript/javascript/pages/projects/customScrollSpy.js","webpack://enerfip/./app/javascript/javascript/pages/projects/investment_badges.js","webpack://enerfip/./app/javascript/javascript/pages/investor_app/bankAccountValidation.js","webpack://enerfip/./app/javascript/packs/application_redesign.js","webpack://enerfip/./app/javascript/i18n/setup.js.erb","webpack://enerfip/./vendor/assets/unmaintained_components/jquery.countdown/dist/jquery.countdown.js","webpack://enerfip/./vendor/assets/unmaintained_components/jquery.vmap.france.js","webpack://enerfip/./vendor/assets/unmaintained_components/jquery.vmap.js","webpack://enerfip/./vendor/assets/unmaintained_components/widget.min.js"],"sourcesContent":["document.addEventListener('DOMContentLoaded', function () {\n const likedProjectsContainer = document.querySelector('#like-list');\n\n if (likedProjectsContainer) {\n const likedProjects = likedProjectsContainer.dataset.alreadyLikedProjects;\n if (likedProjects) {\n const projectIds = likedProjects.split(',');\n\n projectIds.forEach(function (projectId) {\n const likeButton = document.querySelector('[data-bs-target=\"#like-modal-' + projectId + '\"] .ComponentsButtons--like');\n if (likeButton) {\n likeButton.classList.add('liked');\n }\n });\n };\n }\n});\n","$().ready(\n function()\n {\n // Most of app/assets/javascripts/app.js has been moved out.\n //\n // [...] (auto_open_modal, ...)\n // app/assets/javascripts/lib/ujs.js (data-remote, data-click-url)\n // [...] (.not_loaded)\n // node_modules/read_more.js (.read_more)\n }\n);\n","window.animate_bar = function() {\n var percentage = parseInt($('.progress-bar').attr('aria-overtarget'), 10);\n var no_fiesta = document.getElementsByClassName('no-fiesta').length;\n var initial_width = parseInt($('.progress-bar').attr('aria-valuenow'), 10);\n $('.progress-bar').css({width: 0});\n setTimeout(function() {\n $('.progress-bar').css({width: initial_width + \"%\"});\n window.increase_target();\n if(percentage >= 100 && no_fiesta === 0) { setTimeout(function() { window.confetti(); }, 500); }\n }, 1000);\n}\n\nwindow.increase_target = function() {\n var target_elem = $('span.target');\n var target_value = parseInt(target_elem.data('value'), 10);\n var current_value = 0;\n var step = target_value / 50;\n itv = setInterval(function() {\n current_value += step;\n if(current_value >= target_value) { clearInterval(itv); current_value = target_value; }\n target_elem.html(number_format(current_value) + \" €\");\n }, 10);\n\n number_format = function(num) {\n if(typeof(Intl) === \"undefined\") {\n return num;\n } else {\n return new Intl.NumberFormat(\"fr-FR\").format(num);\n }\n }\n}\nwindow.confetti = function() {\n canvas = document.getElementById(\"confetti\");\n context = canvas.getContext(\"2d\");\n width = canvas.width / 4;\n height = canvas.height / 4;\n hiddenParticles = 0;\n\n // création d'un tableau\n particle = [];\n particleCount = 150;\n gravity = 0.2;\n colors = [\n '#3fc0ea', '#fdca00', '#adbacc', '#98c000', '#f6a82d'\n ];\n\n for( var i = 0; i < particleCount; i++){\n velX = randomRange(-1.5,1.5);\n velY = randomRange(-4,-1) - velX;\n accelY = 1 - (randomRange(2,5)/100);\n accelX = 1 - (randomRange(2,5)/100);\n particle.push({\n x : width * 2 + 10,\n y : height * 3,\n boxW : 1,\n boxH : 3,\n size : randomRange(1,4),\n velX : velX,\n velY : velY,\n accelY: accelY,\n accelX: accelX,\n angle :convertToRadians(randomRange(0,360)),\n color:colors[Math.floor(Math.random() * colors.length)],\n anglespin:randomRange(-0.1, 0.1),\n oscill_speed: randomRange(1,5),\n alpha: 1\n });\n }\n\n function draw(p) {\n context.save();\n context.translate(p.x, p.y);\n context.rotate(p.angle);\n context.fillStyle=p.color;\n context.globalAlpha = p.alpha;\n context.beginPath();\n\n context.fillRect(p.boxW/2*-1, p.boxH/2*-1, p.boxW, p.boxH);\n context.fill();\n context.closePath();\n context.restore();\n p.angle += p.anglespin;\n p.velY *= p.accelY;\n p.velY += (0.005 * randomRange(1,4));\n if(p.accelY > 0 && p.y > height * 2) { p.alpha -= 0.005; p.alpha = Math.max(0, p.alpha); }\n\n p.x += (p.velX * randomRange(1,4));\n if(p.velY > 0) {\n p.x += Math.cos(((p.y / (3*p.velY)) * p.oscill_speed) % 90) * p.velY;\n }\n p.y += p.velY;\n p.velX*= p.accelX;\n if(p.alpha === 0) {\n var index = particle.indexOf(p);\n if (index > -1) {\n particle.splice(index, 1);\n }\n }\n }\n\n function drawScreen(){\n\n for( var i = 0; i < particle.length; i++){\n draw(particle[i]);\n }\n if(particle.length <= 10) $('#confetti').remove();\n }\n\n function update(){\n context.clearRect(0, 0, canvas.width, canvas.height);\n drawScreen();\n requestAnimationFrame(update);\n }\n\n update();\n\n function randomRange(min, max){\n return min + Math.random() * (max - min );\n }\n\n function randomInt(min, max){\n return Math.floor(min + Math.random()* (max - min + 1));\n }\n function convertToRadians(degree) {\n return degree*(Math.PI/180);\n }\n}\n\nwindow.addEventListener(\"load\", function load(event){\n window.removeEventListener(\"load\", load, false); //remove listener, no longer needed\n if($('.progress-bar').length) window.animate_bar();\n},false);\n","document.addEventListener('DOMContentLoaded', function () {\n const copySponsorInviteToClipboard = document.querySelector('#sponsorship-invite-to-copy-button');\n const sponsorInviteText = document.querySelector('#sponsorship-invite-to-copy-text')?.innerHTML;\n\n function clipboardCopyTo(value) {\n var tempInput = document.createElement(\"textarea\");\n tempInput.value = value;\n document.body.appendChild(tempInput);\n tempInput.select();\n document.execCommand(\"copy\");\n document.body.removeChild(tempInput);\n }\n\n if (copySponsorInviteToClipboard && sponsorInviteText) {\n copySponsorInviteToClipboard.addEventListener('click', function () {\n clipboardCopyTo(sponsorInviteText);\n });\n };\n});\n","$(document).ready(function() {\n var container = $(\"#francemap-search\");\n\n if(container.length > 0) {\n var url = container.data(\"url\");\n var input = container.data(\"input\");\n var selected_regions = container.data(\"selected-regions\");\n var fallback_input = $('#selected-regions-fallback');\n var update_filters = function(element, code, region) {\n if(map.selectedRegions.length === 0) {\n $(input).val(\"\")\n } else {\n $(input).val(map.selectedRegions)\n }\n // sync fallback input\n if(fallback_input.length > 0) {\n fallback_input.val($(input).val().split(\",\"));\n }\n }\n\n var map;\n\n var getAppValue = function(name) {\n return getComputedStyle(document.documentElement).getPropertyValue('--app-'+name);\n }\n\n var hoverColor = getAppValue('color-brand-border');\n var color = getAppValue('color-brand-light');\n var borderColor = getAppValue('color-brand-dark');\n var selectedColor = getAppValue('color-brand-links');\n // var activeColor = getAppValue('color-white-a20');\n var activeColor = getAppValue('color-brand-links');\n var inactiveColor = color; // \"#2C64A3\"\n\n var displayMap = function(colors) {\n container.html(\"\");\n\n map = container.vectorMap({\n map: 'france_fr',\n hoverColor: hoverColor,\n backgroundColor: \"transparent\",\n colorOpacity: 0.8,\n color: color,\n colors: colors, // if provided\n borderColor: borderColor,\n selectedColor: selectedColor,\n multiSelectRegion: true, // or false ?\n enableZoom: false,\n showTooltip: true,\n selectedRegions: selected_regions,\n onRegionSelect: update_filters,\n onRegionDeselect: update_filters\n });\n\n if (map.selectedRegions) {\n update_filters();\n }\n }\n\n // Amend district labels with number of results\n /*\n var updateLabels = function(data) {\n var mapData = JQVMap.maps[\"france_fr\"];\n for (var key in data) {\n var path = mapData.paths[key]\n if (path && data[key] > 0) {\n path.name = path.name + \" (\" + data[key] + \")\";\n }\n }\n }\n */\n\n if (url) {\n $.getJSON(url, function(data) {\n var colors = Object.keys(data).reduce(function(previous, current) {\n previous[current] = data[current] > 0 ? activeColor : inactiveColor;\n return previous;\n }, {});\n\n // updateLabels(data);\n displayMap(colors);\n });\n } else {\n displayMap();\n }\n\n }\n});\n","document.addEventListener('DOMContentLoaded', function () {\n const legacyInfoBanner = document.querySelector('#info_banner');\n const appInfoBanner = document.querySelector('#app_info_banner')\n\n function initBanner(infoBanner, cookieName, expiresDays) {\n var cookieValue = getCookie(cookieName);\n\n if (cookieValue && cookieValue == '1') {\n infoBanner.classList.add('d-none');\n } else {\n infoBanner.classList.remove('d-none');\n }\n\n infoBanner.querySelector(\".info-banner-close\").addEventListener('click', function (event) {\n hideBanner(infoBanner);\n setCookie(cookieName, '1', expiresDays);\n });\n }\n\n function hideBanner(element) {\n element.style.transition = 'opacity 400ms';\n element.style.opacity = '0';\n element.addEventListener('transitionend', function () {\n element.classList.add('d-none');\n });\n }\n\n function setCookie(name, value, days) {\n var date = null;\n if (days) {\n date = new Date();\n date.setDate(date.getDate() + days);\n }\n document.cookie = name + \"=\" + encodeURIComponent(value) + \"; path=/\" + (date ? `; expires=${date.toUTCString()}` : '');\n }\n\n function getCookie(name) {\n var match = document.cookie.match(new RegExp(name + \"=(.*?)(?:;|$)\"));\n if (match) {\n return unescape(match[1]);\n }\n }\n\n // legacy info_banner, cookie used to hide for 7 days\n if (legacyInfoBanner) { initBanner(legacyInfoBanner, 'hideInfoBanner', 7) }\n\n // investor info_banner (desktop + mobile), shared cookie used to hide for single session\n if (appInfoBanner) { initBanner(appInfoBanner, 'hideAppInfoBanner', null) }\n});\n","document.addEventListener(\"DOMContentLoaded\", () => {\n const inputWrappers = document.querySelectorAll(\".otp-attempt\");\n if (inputWrappers) {\n inputWrappers.forEach((inputWrapper) => {\n const input = inputWrapper.querySelector(\"input\");\n input.addEventListener(\"input\", () => {\n input.style.setProperty('--_otp-digit', input.selectionStart)\n })\n })\n }\n});\n","$().ready(function() {\n $('.read_more').click(function(e) {\n e.preventDefault();\n var target = $(this);\n var nextText = target.parent('p').find('.hide_read_more');\n var elipsis = target.parent('p').find('.read_more_elipsis');\n nextText.toggle();\n elipsis.toggle();\n target.toggleClass(\"is-open\");\n\n if (target.hasClass(\"is-open\")) {\n target.data('original-html', target.html());\n target.text(\" Fermer\");\n } else {\n // target.text(\" Lire la suite...\");\n target.html(target.data('original-html'));\n }\n });\n});\n","$(function() {\n Clipboard = {\n copy: function(elem) {\n var content = $(elem).data(\"clipboard-copy\");\n\n var tmp_input = $(\"<textarea>\"); // <input> would strip new lines\n $(elem).append(tmp_input);\n tmp_input.val(content).select();\n document.execCommand(\"copy\");\n tmp_input.remove();\n },\n notice: function(elem) {\n var text = $(elem).data('clipboard-copy-notice');\n if (!text) return;\n if (typeof(notie) !== \"undefined\") {\n notie.alert({ \"text\": text });\n } else {\n alert(text);\n }\n },\n init: function() {\n $('body').on('click', '[data-clipboard-copy]', function() {\n Clipboard.copy($(this));\n Clipboard.notice($(this));\n return false;\n })\n }\n }\n Clipboard.init();\n});\n","$(document).ready(function() {\n $(\"#show-more-button\").click(function() {\n $(\"#sidebar-body\").animate({\n scrollTop: $(\"#sidebar-body\")[0].scrollHeight\n }, 500);\n });\n\n function isElementVisible(el) {\n var rect = el.getBoundingClientRect();\n return (\n rect.top >= 0 &&\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)\n );\n }\n\n hideOrShowMoreButton = () => {\n const $lastSectionItem = $(\".arkefip-app-sidebar-navigation-section-item:last\");\n const $showMoreButton = $(\"#show-more-button\");\n\n if ($lastSectionItem[0] && isElementVisible($lastSectionItem[0])) {\n $showMoreButton.addClass('d-none');\n } else {\n $showMoreButton.removeClass('d-none');\n }\n }\n $(\"#sidebar-body\").scroll(hideOrShowMoreButton);\n hideOrShowMoreButton();\n});","document.addEventListener(\"DOMContentLoaded\", function () {\n const prevBtn = document.querySelector(\"#prev-btn\");\n const nextBtn = document.querySelector(\"#next-btn\");\n\n if (!prevBtn || !nextBtn) return;\n \n function getActiveSection() {\n return document.querySelector(\".tab-pane.show.active .interview-cards\");\n }\n\n function updateButtonState(container) {\n if (!container) return;\n\n // vérifie les limites de scroll\n const maxScrollLeft = container.scrollWidth - container.clientWidth;\n\n const isAtStart = container.scrollLeft <= 0;\n const isAtEnd = container.scrollLeft >= maxScrollLeft;\n\n isAtStart ? prevBtn.classList.add('disabled') : prevBtn.classList.remove('disabled');\n isAtEnd ? nextBtn.classList.add('disabled') : nextBtn.classList.remove('disabled');\n }\n\n function scrollContainer(direction) {\n const container = getActiveSection();\n if (container) {\n const scrollAmount = 280 * direction;\n container.scrollBy({ left: scrollAmount, behavior: \"smooth\" });\n\n // attendre un peu pour mettre à jour les boutons après le scroll\n setTimeout(() => updateButtonState(container), 280);\n }\n }\n\n nextBtn.addEventListener(\"click\", () => scrollContainer(1));\n prevBtn.addEventListener(\"click\", () => scrollContainer(-1));\n\n // vérifie l'état des boutons au chargement et au scroll\n updateButtonState(getActiveSection());\n document.addEventListener(\"scroll\", () => updateButtonState(getActiveSection()), true);\n});","document.addEventListener('DOMContentLoaded', function () {\n $('[data-bs-dismiss=toast]').click(function() {\n $(this).closest('.toast').addClass('hidden');\n });\n});\n","document.addEventListener(\"DOMContentLoaded\", () => {\n $('[data-toggle=\"tooltip\"]').tooltip();\n const passwordField = document.querySelector(\"input.password\")\n\n if (passwordField) {\n const passwordVisibilityToggle = document.querySelector(\".toggle-password\")\n\n if(passwordVisibilityToggle) {\n passwordVisibilityToggle.addEventListener(\"click\", () => {\n passwordVisibilityToggle.classList.toggle(\"fa-eye\");\n passwordVisibilityToggle.classList.toggle(\"fa-eye-slash\");\n\n if (passwordField.type === \"password\") {\n passwordField.type = \"text\";\n } else {\n passwordField.type = \"password\"\n }\n })\n }\n }\n})\n","import \"jquery.ui.widget/jquery.ui.widget\";\nimport \"blueimp-file-upload/js/jquery.fileupload\";\nimport \"blueimp-file-upload/js/jquery.fileupload-process\";\nimport \"blueimp-file-upload/js/jquery.fileupload-validate\";\n\n$(function() {\n var uploadInProgressCount = 0;\n $.widget('blueimp.fileupload', $.blueimp.fileupload, {\n options: {\n messages: {\n acceptFileTypes: \"Le fichier n'est pas dans un format autorisé\",\n maxFileSize: \"Le fichier excède la taille autorisée\"\n }\n }\n });\n $(\"input.directUpload\").attr(\"type\", \"\").attr(\"type\", \"file\");\n $('body').on('click drop', '.directUpload', function() {\n var fileInput = $(this);\n if(fileInput.hasClass('directUpload_inited')) return;\n\n fileInput.addClass('directUpload_inited');\n var form = $(fileInput.closest('form'));\n var submitButton = form.find('input[type=\"submit\"]');\n var progressBar = $(\"<div class='bar'></div>\");\n var barContainer = $(\"<div class='fileupload_progress'></div>\").append(progressBar);\n var errorContainer = $('<div class=\"fileupload_error\"></div>');\n var sanitize_filename = function(name) {\n var s = name.toLowerCase().replace(/(à |â)/g, 'a').replace(/(é|è|ê|ë)/g, 'e').replace(/(ô|ö)/g, 'o').replace(/(ï|î)/g, 'i').replace(/(ü|û|ù)/g, 'u').replace(/[^a-z0-9\\.]+/g,'-').replace(/(^-|-$)/g,'');\n var ext = s.substring(s.lastIndexOf(\".\") + 1, s.length);\n var filename = s.replace('.' + ext,'');\n return filename.substr(0, 23) + '.' + ext;\n }\n var autosubmit = fileInput.data('autosubmit');\n var fileType = fileInput.data('fileType');\n var maxFileSize = fileInput.data('maxFileSize');\n fileInput.after(barContainer);\n fileInput.before(errorContainer);\n\n const fileUploadOptions = {\n fileInput: fileInput,\n url: fileInput.data('url'),\n type: 'POST',\n autoUpload: true,\n formData: fileInput.data('form-data'),\n paramName: 'file', // S3 does not like nested name fields i.e. name=\"user[avatar_url]\"\n dataType: 'XML', // S3 returns XML if success_action_status is set to 201\n replaceFileInput: false,\n process: function(e, data) {\n errorContainer.text(\"\");\n var name = data.files[0].name;\n fileInput.data('form-data').key = fileInput.data('form-data').key.replace(\"${filename}\", sanitize_filename(name));\n data.submit();\n },\n\n progressall: function (e, data) {\n var progress = parseInt(data.loaded / data.total * 100, 10);\n progressBar.css('width', progress + '%')\n },\n\n start: function (e) {\n submitButton.prop('disabled', true);\n uploadInProgressCount++;\n\n progressBar.\n css('background', 'green').\n css('display', 'block').\n css('width', '0%').\n css('height', '5px');\n },\n\n done: function(e, data) {\n progressBar.text(\"Terminé !\");\n // extract key and generate URL from response\n var key = $(data.jqXHR.responseXML).find(\"Key\").text();\n var url = '//' + fileInput.data('host') + '/' + key;\n // create hidden field\n var input = $(\"<input />\", { type:'hidden', name: fileInput.attr('name'), value: key })\n form.append(input);\n fileInput.remove();\n uploadInProgressCount--;\n if(uploadInProgressCount <= 0) submitButton.prop('disabled', false);\n if(autosubmit) {\n progressBar.css('background', 'transparent').text(\"Soumission...\");\n railsFire(form[0], \"submit\");\n input.remove();\n }\n },\n\n processfail: function(e, data) {\n uploadInProgressCount--;\n if(uploadInProgressCount <= 0) submitButton.prop('disabled', false);\n if(data.files[0].error) {\n var error = data.files[0].error;\n if(error) {\n errorContainer.text(error);\n }\n }\n progressBar.\n css(\"background\", \"red\").\n text(\"Echec\");\n }\n };\n if(typeof(fileType) !== \"undefined\") {\n fileUploadOptions['acceptFileTypes'] = new RegExp(\"(\\.|\\/)(\" + fileType + \")$\", \"i\");\n }\n if(typeof(maxFileSize) !== \"undefined\") {\n fileUploadOptions['maxFileSize'] = maxFileSize;\n }\n\n fileInput.fileupload(fileUploadOptions);\n form.find('input[type=\"submit\"]').prop('disabled', false);\n });\n})\n","$(function() {\n window.display_form_errors = function(errors, formSelector, fieldPrefix) {\n for(var field in errors) {\n if (Object.prototype.hasOwnProperty.call(errors, field)) {\n $(formSelector).find(fieldPrefix + field).addClass(\"has-error\").append(\"<span class='help-block'>\" + errors[field].join(\", \") + \"</span>\");\n }\n }\n $(formSelector).bind(\"submit\", function() {\n $(formSelector + ' .has-error .help-block').remove();\n $(formSelector + ' .has-error').removeClass(\"has-error\");\n });\n }\n\n $('body').on('click', '[data-hide-and-reset]', function(e) {\n e.preventDefault();\n var target = $($(this).data('hide-and-reset'));\n target.hide('fast').removeClass('active').find('input, select, textarea').each(function(elem) {\n $(elem).val('');\n });\n });\n $('body').on('click', '[data-show]', function(e) {\n e.preventDefault();\n var target = $($(this).data('show'));\n target.show('fast');\n });\n $('body').on('click', '[data-hide]', function(e) {\n e.preventDefault();\n var target = $($(this).data('hide'));\n target.hide('fast');\n });\n\n $('body').on('click', '[data-fill-target]', function(e) {\n $(this).blur();\n var target = $($(this).data('fill-target'));\n var value = $(this).data('value');\n var multiple = $(this).data('multiple');\n var submit = $(this).data('submit');\n if(multiple) {\n if($(this).data('selected')) {\n $(this).removeAttr('data-selected').removeClass(\"btn-dark\").addClass(\"btn_gray\");\n } else {\n $(this).attr('data-selected', true).addClass(\"btn-dark\").removeClass(\"btn_gray\");\n }\n target.val(\n $('[data-fill-target=\"' + $(this).data('fill-target') + '\"][data-selected=true]').toArray().map(function(e) { return $(e).data('value'); }).join(\",\")\n );\n } else {\n $('[data-fill-target=\"' + $(this).data('fill-target') + '\"][data-selected=true]').removeAttr('data-selected').removeClass('btn-dark').addClass(\"btn_gray\");\n $(this).attr('data-selected', true).addClass('btn-dark').removeClass(\"btn_gray\");\n target.val(value);\n }\n if(!submit) {\n e.preventDefault();\n return false;\n }\n });\n\n\n window.refresh_custom_elements = function() {\n $('[data-fill-target]').each(function() {\n $(this).removeClass(\"btn-default\");\n var target = $($(this).data('fill-target'));\n var value = $(this).data('value');\n var multiple = $(this).data('multiple');\n var selected = $(target).val();\n var submit = $(this).data('submit');\n //console.log($(this).data('fill-target') + \" : Selected :\" + selected + \" Value \"+value + \" Selected\" + (selected.toString() === value.toString()));\n\n if(!multiple && selected && selected.toString() === value.toString()) {\n if(submit !== true) { $(this).click(); }\n }\n if(multiple) {\n selected = selected.split(\",\");\n if(in_array(value, selected)) {\n $(this).attr('data-selected', true).addClass(\"btn_green\").removeClass(\"btn_gray\");\n }\n }\n });\n }\n\n refresh_custom_elements();\n});\n","\n$(function() {\n $(\"[data-refresh-url]\").each(function() {\n var url = $(this).data(\"refresh-url\");\n var interval = parseInt($(this).data(\"interval-seconds\"), 10) * 1000;\n var intervalObject = setInterval(function() {\n $.get(url).done(function(response) {\n if(response.status === \"ready\") { \n if (response.location != null) { top.location.href = response.location }\n setTimeout(function() { top.location.reload(); }, 500);\n } \n }).fail(function(response) { $(elem).html(\"<p>Cette page est momentanément inaccessible. Merci de réitérer votre demande ultérieurement.</p>\"); });\n }, interval);\n });\n $(\"[data-poll-url]\").each(function() {\n var elem = this;\n var url = $(this).data(\"poll-url\");\n var interval = parseInt($(elem).data(\"interval-seconds\"), 10) * 1000;\n var stopPollingSelector = $(elem).data(\"stop-polling\");\n var intervalObject = setInterval(function() {\n if($(stopPollingSelector).length === 0) {\n $.rails.ajax({url: url, type: \"GET\"});\n }\n }, interval);\n });\n\n $('[data-href]').click(function() {\n $.get($(this).data('href'), '', '', 'script');\n });\n\n $('body').on('click', '[data-toggle-and-show]', function(e) {\n var el = $(this);\n var targets = el.data(\"toggle-and-show\").split(\",\").map(function(elem) { return $(elem); });\n targets.map(function(elem) {\n elem.toggleClass(\"hidden\");\n });\n $(el.data(\"hide-and-show\")).hide();\n $(el.data(\"show-and-show\")).show();\n return true;\n });\n\n $('body').on('click', '.tooltip-alert a.close-button', function() {\n $(this).closest(\".tooltip-container\").addClass(\"fade\");\n });\n\n $('body').on('click', 'a[data-remote]', function() {\n $(this).find('.loading-spinner').show();\n });\n\n $('body').on('click', '[data-click-url]', function() {\n top.location.href=$(this).data(\"click-url\");\n });\n\n $('body').on('click', '[data-click-url] a[data-remote]', function(e) {\n $.rails.handleRemote(e.target);\n e.stopPropagation();\n });\n\n $('body').on('click', '[data-toggle]', function(e) {\n e.preventDefault();\n $(this).data('toggle').split(' ').forEach(function(elem) {\n $(elem).toggleClass('hidden');\n });\n });\n\n $('body').on('click', '[data-toggle-and-click]', function(e) {\n $(this).data('toggle-and-click').split(' ').forEach(function(elem) {\n $(elem).toggleClass('hidden');\n });\n });\n\n $('body').on('click change', '[data-master-of]', function(e) {\n var el = $(this);\n var inputs = $(el.data('master-of'));\n inputs.val(el.val());\n });\n});\n\n// exporting globally rails fire submit\nconst railsFire = (el, eventName) => {\n return $.rails.fire(el, eventName);\n}\n\nglobal.railsFire = railsFire\n","$(document).ready(function () {\n $('.tab-pane iframe').each(function () {\n if ($(this).closest('p.video-container').length === 0 && $(this).closest('iframe.pdf-container').length == 0) {\n $(this).removeAttr('width').attr('frameborder', 0).removeAttr('height').addClass('video');\n $(this).wrap('<p class=\"video-container\"></p>');\n }\n });\n // if(typeof(google) === \"undefined\") return;\n // var $map = $('#map');\n\n // if( $map.length ) {\n // var options = { minZoom: 5 };\n // var map = new google.maps.Map(document.getElementById('map'), options);\n // var points = $map.data('points');\n // var bounds = new google.maps.LatLngBounds();\n\n // points.map(function(latlng) {\n // var marker = new google.maps.Marker({\n // position: new google.maps.LatLng(latlng.latitude, latlng.longitude),\n // icon: latlng.icon,\n // map: map\n // });\n // var loc = new google.maps.LatLng(marker.position.lat(), marker.position.lng());\n // bounds.extend(loc);\n // });\n // var zoomChangeBoundsListener = google.maps.event.addListener(map, 'bounds_changed', function(event) {\n // google.maps.event.removeListener(zoomChangeBoundsListener);\n // map.setZoom( Math.min( 12, map.getZoom() ) );\n // });\n // map.fitBounds(bounds);\n // }\n $('.menu_project').change(function () {\n var selected_option = $(this).find('option:selected').data('href');\n $('.project_tabs a[aria-controls=\"' + selected_option + '\"]').tab('show');\n });\n\n $('.project_tabs .menu_left a').on('click', function () {\n var sticky_menu_height = 172;\n var selected_option = \"#\" + $(this).attr(\"aria-controls\");\n setTimeout(function () {\n $('html, body').animate({\n scrollTop: $(selected_option).offset().top - sticky_menu_height\n })\n }, 100);\n });\n\n if (location.hash && location.hash.match(/^#go/)) {\n // TODO syntax error : `[aria-controls='${}']` (missing \"']\")\n const el = document.querySelector(`[aria-controls='${location.hash.split(\"#go\")[1]}`)\n $(el).click();\n }\n\n $('#send-call-back-request').on('submit', function () {\n $('#callback_modal').modal('toggle');\n });\n $('body.page-projects').on('submit', '#new_call_me_back', function () {\n $('#new_call_me_back input.btn').addClass('disabled').val('...');\n });\n\n $('#project-comments').on('submit', '.new_project_comment', function (e) {\n $('.new_project_comment input[type=\"submit\"]').val(\"...\").attr({\n \"disabled\": \"disabled\"\n });\n });\n update_equity_simulator = function () {\n var amount = parseInt($('.equity-simulator input').val(), 10);\n var ratio = parseFloat($('.equity-simulator .simulator-result').data('ratio'));\n $('.equity-simulator .simulator-result').html(parseInt(amount * ratio * 100, 10)/100); // with cents\n }\n if ($('.equity-simulator').length > 0) {\n update_equity_simulator();\n $('.equity-simulator input').on(\"change\", update_equity_simulator);\n }\n set_error_message = function () {\n document.querySelectorAll('.simulator-input-wrapper').forEach(inputWrapper => {\n const input = inputWrapper.querySelector('.simulator-input')\n if (!input.checkValidity()) {\n var min = Math.floor(parseFloat(input.value) / parseFloat(input.step)) * parseFloat(input.step)\n var max = Math.ceil(parseFloat(input.value) / parseFloat(input.step)) * parseFloat(input.step)\n inputWrapper.querySelector('.simulator-input-error').classList.remove(\"d-none\")\n inputWrapper.querySelector('.simulator-input-error p').innerHTML = input.dataset.validityMessage.replace('placeholder_lower_value', min).replace('placeholder_higher_value', max)\n } else {\n inputWrapper.querySelector('.simulator-input-error').classList.add(\"d-none\")\n }\n })\n }\n if ($(\".simulator-input\").length > 0 ) {\n $('.simulator-input').on(\"change\", set_error_message);\n }\n});\n","$(function() {\n $('button[type=submit][data-loading-text].btn').on('click', function(e) {\n var $this = $(this);\n var form = $this.closest('form');\n if (form[0].checkValidity()) {\n $this.html($this.data('loading-text')).prop('disabled', true);\n form.submit();\n }\n });\n})\n","document.addEventListener('DOMContentLoaded', () => {\n // Submit form on change\n document.querySelectorAll('[data-submitonchange=\"true\"]').forEach(element => {\n element.addEventListener('change', () => {\n this.form.submit();\n });\n });\n\n // Print on click\n document.querySelectorAll('[data-printonclick=\"true\"]').forEach(element => {\n element.addEventListener('click', () => {\n window.print();\n });\n });\n // Print on click\n document.querySelectorAll('[data-openaxeptiocookies=\"true\"]').forEach(element => {\n element.addEventListener('click', (e) => {\n e.preventDefault();\n openAxeptioCookies();\n });\n });\n});\n","document.addEventListener('DOMContentLoaded', () => {\n document.querySelectorAll('.excerpt-read-more').forEach(button => {\n button.addEventListener('click', function(e) {\n e.preventDefault();\n const targetId = this.getAttribute('data-trigger'); // Utilise data-trigger pour obtenir l'ID\n const productExcerpt = document.querySelector(`.product-excerpt[data-target=\"${targetId}\"]`);\n const readMore = document.querySelector(`.excerpt-read-more[data-exerpt=\"${targetId}\"]`);\n const readLess = document.querySelector(`.excerpt-read-less[data-exerpt=\"${targetId}\"]`);\n // Cache le pseudo-élément ::before de cet extrait\n productExcerpt.classList.add('expanded');\n readMore.classList.add('expanded');\n readLess?.classList?.remove(\"d-none\")\n });\n });\n document.querySelectorAll('.excerpt-read-less').forEach(button => {\n button.addEventListener('click', function(e) {\n e.preventDefault();\n const targetId = this.getAttribute('data-trigger'); // Utilise data-trigger pour obtenir l'ID\n const productExcerpt = document.querySelector(`.product-excerpt[data-target=\"${targetId}\"]`);\n const readMore = document.querySelector(`.excerpt-read-more[data-exerpt=\"${targetId}\"]`);\n const readLess = document.querySelector(`.excerpt-read-less[data-exerpt=\"${targetId}\"]`);\n // Cache le pseudo-élément ::before de cet extrait\n productExcerpt.classList.remove('expanded');\n readMore.classList.remove('expanded');\n readMore.classList.remove('d-none');\n readLess.classList.add(\"d-none\")\n productExcerpt.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest'});\n });\n });\n});","document.addEventListener(\"wheel\", function(event) {\n if (document.activeElement.type === \"number\") {\n document.activeElement.blur();\n }\n});\n\n","document.addEventListener('DOMContentLoaded', function() {\n const triggers = document.querySelectorAll('[data-arkefip-toggle=\"overlay\"]');\n let backdrop = document.querySelector('.overlay-backdrop');\n let overlayDismissButton;\n\n if (!backdrop) {\n backdrop = document.createElement('div');\n backdrop.className = 'overlay-backdrop';\n document.body.appendChild(backdrop);\n }\n\n if (!overlayDismissButton) {\n overlayDismissButton = document.createElement('button');\n overlayDismissButton.className = 'overlay-dismiss';\n overlayDismissButton.innerHTML = '×';\n document.body.appendChild(overlayDismissButton);\n overlayDismissButton.style.display = 'none';\n }\n\n triggers.forEach(trigger => {\n trigger.addEventListener('click', function(e) {\n e.preventDefault();\n\n const targetId = this.getAttribute('data-arkefip-target');\n const overlay = document.getElementById(targetId);\n\n document.querySelectorAll('.overlay.show').forEach(openOverlay => {\n if (openOverlay !== overlay) {\n closeOverlay(openOverlay, backdrop, overlayDismissButton);\n }\n });\n\n openOverlay(overlay, backdrop, overlayDismissButton);\n });\n });\n\n function openOverlay(overlay, backdrop, overlayDismissButton) {\n overlay.style.display = 'block';\n backdrop.style.display = 'block';\n document.body.style.overflow = 'hidden';\n\n // waiting for style is edited\n requestAnimationFrame(() => {\n overlay.classList.add('show');\n backdrop.classList.add('show');\n\n setTimeout(() => {\n overlayDismissButton.style.display = 'block';\n overlayDismissButton.classList.add('show');\n }, 400); // delaying button appearance \n });\n\n overlayDismissButton.onclick = () => closeOverlay(overlay, backdrop, overlayDismissButton);\n backdrop.onclick = () => closeOverlay(overlay, backdrop, overlayDismissButton);\n }\n\n function closeOverlay(overlay, backdrop, overlayDismissButton) {\n overlay.classList.remove('show');\n backdrop.classList.remove('show');\n overlayDismissButton.classList.remove('show');\n\n let transitionEnded = (event) => {\n if (event.target === overlay) {\n document.body.style.overflow = '';\n overlay.style.display = 'none';\n backdrop.style.display = 'none';\n overlayDismissButton.style.display = 'none';\n overlay.removeEventListener('transitionend', transitionEnded);\n }\n };\n\n overlay.addEventListener('transitionend', transitionEnded);\n }\n});\n","$(function () {\n $('[data-tooltip=\"tooltip\"]').tooltip()\n})\n","// https://bootsnipp.com/snippets/VgkV\n$(function() {\n $('.cgu_acceptance_panel .button-checkbox').each(function () {\n var button = $(this).find('button');\n var checkbox = $(this).find('input:checkbox');\n\n function updateDisplay() {\n if (checkbox.is(':checked')) {\n button.replaceWith('<i class=\"fas fa-check\"></i>')\n }\n }\n\n button.click(function() {\n checkbox.prop('checked', true);\n updateDisplay();\n });\n\n updateDisplay();\n })\n});\n","$('body').on('click', '[data-scroll-to]', function(e) {\n const el = document.querySelector($(this).data(\"scroll-to\"))\n const scrollPosition = el.getBoundingClientRect().top + window.pageYOffset - 10;\n window.scrollTo({top: scrollPosition, behavior: 'smooth'});\n document.querySelector($(this).data(\"focus-input\")).focus()\n});\n\ndocument.addEventListener('DOMContentLoaded', function () {\n const birthCountryField = document.querySelector('.user_account_birth_country select');\n if(birthCountryField) {\n const birthDistrictField = document.querySelector('.user_account_birth_district_number select');\n const birthDistrictContainer = document.querySelector('.birth_district_number_input');\n\n updateBirthDistrict = (e) => {\n let newDistrictValue = birthDistrictField.value;\n\n if(birthCountryField.value !== \"FR\") {\n newDistrictValue = \"99\";\n birthDistrictContainer.classList.add(\"d-none\");\n } else {\n if(birthDistrictField.value === \"99\") {\n newDistrictValue = \"\";\n }\n birthDistrictContainer.classList.remove(\"d-none\");\n }\n birthDistrictField.value = newDistrictValue;\n }\n birthCountryField.addEventListener('change', updateBirthDistrict);\n updateBirthDistrict();\n }\n\n const passwordField = document.querySelector('input.password');\n if(passwordField) {\n const displayPasswordHint = () => {\n const passwordHint = document.querySelector('.password-hint');\n\n if(passwordHint) {\n passwordHint.classList.remove('d-invisible');\n }\n }\n\n passwordField.addEventListener('focus', displayPasswordHint);\n }\n\n const fiscalCountryField = document.querySelector(\"select.fiscal_country_field\")\n if(fiscalCountryField) {\n const countryWarnings = document.querySelectorAll('.country-warning');\n document.addEventListener('change', e => {\n // find all .country-warning classes, and hide them, then show the one that matches the selected country\n countryWarnings.forEach(warning => warning.classList.add('d-none'));\n const selectedCountryWarning = document.querySelector(`.country-warning-${e.target.value.toLowerCase()}`);\n if(selectedCountryWarning) {\n selectedCountryWarning.classList.remove('d-none');\n }\n })\n }\n});\n","document.addEventListener(\"DOMContentLoaded\", () => {\n const step1 = $('#enable-mfa-step-1');\n const step2 = $('#enable-mfa-step-2');\n\n if (step1 && step2) {\n const nextButton = step1.find(\".enable-mfa-step-next\");\n const backButton = step2.find(\".enable-mfa-step-back\");\n\n if (nextButton) {\n nextButton.click(function() {\n step1.hide();\n step2.show();\n $('#enable_mfa_otp').focus();\n return false;\n });\n }\n\n if (backButton) {\n backButton.click(function() {\n step1.show();\n step2.hide();\n return false;\n });\n }\n }\n})\n","document.addEventListener(\"DOMContentLoaded\", () => {\n const autopopover = $('[data-auto-popover=\"1\"]');\n if (autopopover.length) {\n autopopover.popover('show').popover({\n trigger: 'focus'\n });\n $('.bs-popover-auto').addClass(\"d-none\");\n $('.bs-popover-auto').addClass(\"d-md-block\");\n $('body').on('click', function (e) {\n $('.bs-popover-auto').remove();\n });\n }\n});\n","document.addEventListener(\"DOMContentLoaded\", () => {\n const futureBalanceElement = document.getElementsByClassName(\"future-balance\")[0];\n if (futureBalanceElement) {\n const amountInputEur = document.getElementById(\"account_refill_amount_eur\"); \n\n const initialBalance = parseFloat(futureBalanceElement.getAttribute(\"data-balance\") || 0);\n\n const updateFutureBalance = () => {\n const amount = parseFloat(amountInputEur.value.replace(\",\", \".\")*100);\n const futureBalance = isNaN(amount) ? initialBalance : (initialBalance + amount)/100;\n futureBalanceElement.innerHTML = futureBalance.toFixed(2);\n };\n amountInputEur.addEventListener(\"keyup\", updateFutureBalance);\n updateFutureBalance();\n };\n}); ","document.addEventListener(\"DOMContentLoaded\", () => {\n const SellCertificate = document.querySelector(\".page-investor_app-sell_certificates-show\")\n\n if (SellCertificate) {\n let priceField = document.querySelector(\"[data-min-reasonable-unitprice-eur]\")\n let quantityField = document.querySelector(priceField.dataset.quantityField)\n const display_warning_if_unreasonable = (elem) => {\n let min = parseFloat(elem.dataset.minReasonableUnitpriceEur);\n let max = parseFloat(elem.dataset.maxReasonableUnitpriceEur);\n let qtty = parseInt(quantityField.value);\n let alertElement = document.querySelector(elem.dataset.alert);\n let current_value = parseFloat(elem.value)\n if(current_value > max*qtty || current_value < min*qtty) {\n alertElement.classList.remove(\"d-none\");\n } else {\n alertElement.classList.add(\"d-none\");\n }\n }\n\n const display_calculate_tri = (price, quantity) => {\n const positiveTriField = document.querySelector(\"#positive-calc-tri-display\");\n const positiveTri = document.querySelector(\"#positive-calc-tri\");\n const negativeTriField = document.querySelector(\"#negative-calc-tri-display\");\n const negativeTri = document.querySelector(\"#negative-calc-tri\");\n const submitButton = document.querySelector(\"[data-test-id='submit_form_btn']\");\n\n if (price && price > 0 && quantity && quantity > 0) {\n $.ajax({\n type: 'GET',\n url: $(\"#positive-calc-tri-container\").data(\"calculate-tri-url\"),\n data: {\n quantity: quantity,\n price: price,\n },\n dataType: \"json\"\n }).then((data) => {\n if (data > 0) {\n submitButton.classList.remove(\"disabled\");\n negativeTriField.classList.add(\"d-none\");\n positiveTriField.classList.remove(\"d-none\");\n positiveTri.innerHTML = \"<p><strong>\" + parseFloat(data).toFixed(2) + \" %</strong></p>\";\n } else {\n submitButton.classList.add(\"disabled\");\n positiveTriField.classList.add(\"d-none\");\n negativeTriField.classList.remove(\"d-none\");\n negativeTri.innerHTML = \"<p><strong>\" + parseFloat(data).toFixed(2) + \" %</strong></p>\";\n }\n });\n } else {\n positiveTriField.classList.add(\"d-none\");\n negativeTriField.classList.add(\"d-none\");\n }\n };\n\n priceField.addEventListener(\"keyup\", () => {\n\n let price = parseFloat(priceField.value);\n let quantity = parseInt(quantityField.value);\n\n display_warning_if_unreasonable(priceField)\n quantityField.addEventListener(\"keyup\", () => { display_warning_if_unreasonable(quantityField) })\n display_calculate_tri(price, quantity);\n })\n }\n\n\n const submitSaleOfferButton = document.querySelector(\"#submit-sale-offer-button\");\n if (submitSaleOfferButton) {\n submitSaleOfferButton.addEventListener(\"click\", (e) => {\n const alertMessage = submitSaleOfferButton.dataset.alertmessage;\n const form = e.target.form;\n if (form.querySelector(\"#sale_offer_allow_external_payment\").checked) {\n return confirm(alertMessage);\n }\n });\n }\n})\n","const customDataToggle = () => {\n const customToggleElements = document.querySelectorAll(\"[data-custom-toggle]\")\n if (customToggleElements) {\n customToggleElements.forEach(element => {\n element.addEventListener(\"click\", () => {\n const classesToToggle = element.dataset.customToggle.split(\" \")\n const classToToggle = typeof element.dataset.customToggleClass !== \"undefined\" ? element.dataset.customToggleClass : \"d-none\"\n classesToToggle.forEach(c => {\n document.querySelectorAll(c).forEach(e => e.classList.toggle(classToToggle))\n })\n })\n })\n }\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n customDataToggle();\n})","const trueInformationsCheckBox = document.querySelector(\"[data-enable-submit]\")\nif (trueInformationsCheckBox) {\n trueInformationsCheckBox.addEventListener(\"click\", () => {\n const targetSumbitBtn = document.querySelector(trueInformationsCheckBox.dataset.enableSubmit)\n if(trueInformationsCheckBox.checked) {\n targetSumbitBtn.classList.remove(\"btn-secondary\")\n targetSumbitBtn.classList.add(\"btn-primary\")\n targetSumbitBtn.disabled = false\n } else {\n targetSumbitBtn.classList.add(\"btn-secondary\")\n targetSumbitBtn.classList.remove(\"btn-primary\")\n targetSumbitBtn.disabled = true\n }\n })\n}\n","import \"jquery.countdown/dist/jquery.countdown.js\";\nimport I18n from \"../../../i18n/setup.js.erb\";\n\n$(function() {\n function flashCountDown() {\n var date = $(this).data('start-time');\n var $this = $(this);\n $this.countdown(date, function(event) {\n var days_template = '<span><span class=\"count\">%D</span><span class=\"label\"> ' + I18n.t('countdown.days_short') + '</span></span>';\n var hrs_template = '<span><span class=\"count\">%H</span><span class=\"label\"> ' + I18n.t('countdown.hours_short') + '</span></span>';\n var mins_template = '<span><span class=\"count\">%M</span><span class=\"label\"> ' + I18n.t('countdown.minutes_short') + '</span></span>';\n var secs_template = '<span><span class=\"count\">%S</span><span class=\"label\"> ' + I18n.t('countdown.seconds_short') + '</span></span>';\n if(event.offset.totalDays > 0) {\n $this.html(event.strftime(days_template + hrs_template + mins_template + secs_template));\n } else {\n var totalHours = event.offset.totalDays * 24 + event.offset.hours;\n hrs_template = '<span><span class=\"count\">' + totalHours + '</span><span class=\"label\"> ' + I18n.t('countdown.hours_short') + '</span></span>';\n $this.html(event.strftime(hrs_template + mins_template + secs_template));\n }\n\n if(event.offset.totalSeconds <= 0) {\n $this.html(I18n.t('countdown.collect_started'));\n }\n }).on('finish.countdown', function(event) {\n $this.html(I18n.t('countdown.collect_started'));\n top.location.reload();\n });\n }\n $('.countdown-widget-countdown').each(flashCountDown);\n});\n","$(function() {\n var form = $('.projects-header form');\n\n if (form.length > 0) {\n form.find('select#district').change(function(){\n form.submit();\n });\n\n form.submit(function(event) {\n $('.main-content .projects').html('\\\n <div class=\"px-2 px-sm-4 pt-4 mb-4\">\\\n <div class=\"enerfip-loader\"></div>\\\n </div>\\\n ');\n // event.preventDefault();\n });\n }\n});\n","$(function() {\n if (location.hash && location.hash.match(/^#like-modal-/)) {\n const el = document.querySelector(`[data-bs-target='${location.hash}']`)\n $(el).click();\n }\n});\n","$(function() {\n var form = $('#projects-contact-form form');\n var button = $('.projects-contact-form-focus');\n\n if (button.length > 0 && form.length > 0) {\n button.click(function(){\n form.find('input[type=text], input[type=email], select').first().focus();\n });\n }\n});\n","$(function() {\n var form = $('.projects-sidebar form');\n var container = $(\"#francemap-search\");\n\n if (form.length > 0) {\n if (container.length > 0) {\n container.click(function(){\n form.submit()\n });\n };\n\n form.find('.filters input').change(function(){\n form.submit();\n });\n\n form.submit(function(event) {\n $('.main-content .projects').html('\\\n <div class=\"px-2 px-sm-4 pt-4 mb-4\">\\\n <div class=\"enerfip-loader\"></div>\\\n </div>\\\n ');\n // event.preventDefault();\n });\n }\n\n if (form.length > 0) {\n form.find('.text-end button[type=submit]').hide();\n }\n});\n","const subscriptionsMobileNav = document.querySelector('.steps-static-mobile-nav');\nif (subscriptionsMobileNav) {\n window.addEventListener('scroll', () => {\n if (window.scrollY > subscriptionsMobileNav.offsetTop) {\n subscriptionsMobileNav.classList.add('fixed');\n subscriptionsMobileNav.classList.add('pt-5');\n } else {\n subscriptionsMobileNav.classList.remove('fixed');\n subscriptionsMobileNav.classList.remove('pt-5');\n }\n });\n}","import {Popover} from \"bootstrap\"\n\nlet popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\npopoverTriggerList.map(function (popoverTriggerEl) {\n return new Popover(popoverTriggerEl, {\n html: true\n })\n})\n\n","export const projectSectionLinkOffset = (sectionOffset) => {\n document.querySelectorAll(\"a[href*='#section']\").forEach((link) => {\n link.addEventListener('click', (e) => {\n e.preventDefault()\n const target = document.querySelector(link.getAttribute('href'))\n const targetOffset = target.offsetTop - sectionOffset\n window.scrollTo({ top: targetOffset, behavior: 'smooth' })\n })\n })\n}","import { hide } from \"@popperjs/core\";\nimport { projectSectionLinkOffset } from \"../pages/projects/sectionLinkOffset\";\n\n$(function() {\n $('body').on('click', '[data-bs-target=\"#main_modal\"]', function() {\n var link = $(this);\n var selector = $(this).data('selector');\n var title_selector = $(this).data('title-selector');\n var url = $(this).data('url');\n var video = $(this).data('video');\n var padding = $(this).data('padding');\n var image = $(this).data('image');\n var isProjectPage = document.querySelector('.page-projects-show')\n if(video !== undefined && video.length > 0) padding = false;\n $('#main_modal .modal-body').html(\"\");\n\n if(padding) {\n $('#main_modal .modal-body').html(\"<div class='modal-padding'></div>\");\n var modal_target = $('#main_modal .modal-body .modal-padding');\n } else {\n var modal_target = $('#main_modal .modal-body');\n }\n\n var modal_title_target = $('#main_modal .modal-title');\n\n if(selector && selector.length > 0) {\n modal_target.html($(selector).html());\n }\n\n if(title_selector && title_selector.length > 0) {\n modal_title_target.html($(title_selector).html());\n } else {\n modal_title_target.html(\"\"); // reset in case previously set\n }\n\n if(video && video.length > 0) {\n $('#main_modal').on(\"hide.bs.modal\", function(e) {\n $('#main_modal .iframe-responsive-wrapper').html(\"\");\n });\n $('#main_modal .modal-dialog').css({ maxWidth: \"90%\" });\n\n modal_target.html(\n '<div class=\"iframe-responsive-wrapper video-container text-center\">' +\n '<iframe frameborder=\"0\" style=\"width: 80vw; height: 70vh;\" src=\"' + video + '?autoplay=1\" allowfullscreen></iframe>\"' +\n '</div>'\n );\n }\n\n if(image === 1) {\n modal_target.html(link.html());\n }\n\n if(url && url.length > 0) {\n modal_target.load(url);\n }\n\n if (isProjectPage) {\n projectSectionLinkOffset(150)\n }\n\n initializeHideModalListener();\n });\n});\n\nconst initializeHideModalListener = () => {\n document.querySelectorAll('.click-hide-main-modal').forEach((element) =>{\n element.addEventListener('click', () => {\n $('#main_modal').modal('hide');\n })\n });\n}\n\ndocument.addEventListener('DOMContentLoaded', function() {\n initializeHideModalListener()\n});\n\n// overriding bootsrap show modal (not accessible in ujs)\nconst showModal = (modal_id) => {\n return $(modal_id).modal(\"show\");\n}\n\nwindow.showModal = showModal\n","import I18n from \"../../../i18n/setup.js.erb\";\n\ndocument.addEventListener('DOMContentLoaded', function () {\n const signUpForm = document.getElementById('userLoginForm');\n if (signUpForm) {\n const submitBtn = document.getElementById('submitBtn');\n submitBtn.addEventListener('click', () => {\n submitBtn.classList.add('disabled');\n const initialText = submitBtn.innerHTML;\n submitBtn.innerHTML = submitBtn.dataset.loadingText \n grecaptcha.execute().then((token) => {\n if (typeof token === 'string') {\n submitBtn.innerHTML = initialText;\n submitBtn.classList.remove('disabled');\n notie.alert({\"type\": \"warning\", \"text\": I18n.t(\"recaptcha.error_message\"), \"time\": 10});\n }\n })\n })\n }\n\n var submitNewUserForm = function () {\n document.getElementById(\"userLoginForm\").submit();\n };\n\nwindow.submitNewUserForm = submitNewUserForm;\n});\n","import { Tab } from \"bootstrap\";\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n var hash = document.location.hash;\n var prefix=\"go\";\n const defaultTab = document.querySelector(\"[data-bs-target='#the-project']\")\n if (hash) {\n var triggerEls = document.querySelectorAll(`[data-bs-target='${hash.replace(prefix,\"\")}']`)\n if (triggerEls.length > 0) {\n new Tab(defaultTab).show()\n setTimeout(() => {\n triggerEls.forEach(triggerEl => {\n var tabTrigger = new Tab(triggerEl)\n tabTrigger.show()\n })\n document.querySelector(\"#project-tab-navigation\").scrollIntoView({behavior: \"smooth\", block: \"start\"})\n }, 100)\n }\n } else {\n if (defaultTab) {\n new Tab(defaultTab).show()\n }\n }\n document.querySelectorAll(\".arkefip-project-page-tab-navigation a\").forEach(link => {\n link.addEventListener(\"shown.bs.tab\", (e) => {\n document.querySelectorAll(`[data-bs-target='${e.target.dataset.bsTarget}']`).forEach(tab => {\n new Tab(tab).show()\n })\n document.querySelector(\"#project-tab-navigation\").scrollIntoView({behavior: \"smooth\", block: \"start\"})\n window.history.pushState({}, \"\", e.target.hash.replace(\"#\",\"#\" + prefix));\n })\n })\n});\n","import { projectSectionLinkOffset } from './sectionLinkOffset'\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n const spyNavWrapper = document.querySelector('.spy-nav-wrapper')\n if (spyNavWrapper) {\n const sectionOffset = spyNavWrapper.dataset.offset || 0\n const section = document.querySelectorAll(\".spy-section\");\n let sections = {};\n let i = 0;\n\n Array.prototype.forEach.call(section, function(e) {\n sections[e.id] = e.offsetTop - sectionOffset;\n });\n\n window.onscroll = function() {\n let scrollPosition = document.documentElement.scrollTop || document.body.scrollTop;\n\n for (i in sections) {\n if (sections[i] <= scrollPosition) {\n let current_active = document.querySelector('.spy-nav-wrapper .active')\n if (current_active) {current_active.classList.remove('active')};\n document.querySelector('.spy-nav-wrapper a[href*=' + i + ']').classList.add('active');\n }\n }\n };\n\n projectSectionLinkOffset(sectionOffset)\n }\n})","import { Popover } from 'bootstrap';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const subscriptionHistoryHolder = document.querySelector('[data-subscription-history]');\n if(subscriptionHistoryHolder !== null) {\n\n const addBadge = (projectId, badgeHolder, initial) => {\n// console.log(`adding ${initial} to project ${projectId}`);\n let badge = document.createElement('span');\n badge.classList.add(`investor-${indexFor(initial)}`);\n badge.innerText = initial;\n badgeHolder.appendChild(badge);\n\n }\n\n const popoverContent = (arr) => {\n let ul = document.createElement('ul');\n arr.forEach((element) => {\n let li = document.createElement('li');\n li.innerText = element;\n ul.appendChild(li);\n });\n return ul\n }\n const subscriptionHistory = JSON.parse(subscriptionHistoryHolder.dataset.subscriptionHistory);\n// console.log(subscriptionHistory)\n const projects = document.querySelectorAll('[data-project-id]');\n const investorsList = subscriptionHistory['summary']['initials'];\n\n const indexFor = (initial) => {\n return investorsList.indexOf(initial);\n }\n\n projects.forEach((projectElement) => {\n let projectId = projectElement.dataset.projectId;\n// console.log(projectId);\n let projectData = subscriptionHistory['summary'][projectId];\n if(projectData !== undefined) {\n let badgeHolder = document.querySelector(`[data-project-id=\"${projectId}\"] .already-invested`);\n projectData['initials'].forEach((initial) => {\n addBadge(projectId, badgeHolder, initial);\n });\n badgeHolder.dataset.content = \"bla yooo\";\n new Popover(badgeHolder, {\n container: 'body',\n trigger: 'hover',\n html: true,\n content: popoverContent(projectData['to_words'])\n });\n }\n });\n }\n});","import axios from \"axios\";\nimport I18n from \"../../../i18n/setup.js.erb\";\n\nconst csrfToken = document.querySelector(\"meta[name='csrf-token']\") ? document.querySelector(\"meta[name='csrf-token']\").content : null;\n\nconst bankAccountValidation = () => {\n const bankAccountContinueButtons = document.querySelectorAll(\".bank-account-continue\")\n if (bankAccountContinueButtons) {\n bankAccountContinueButtons.forEach(element => {\n element.addEventListener(\"click\", () => {\n handleValidationFor(element)\n })\n })\n }\n}\n\nconst handleValidationFor = (element) => {\n const id = element.id.split(\"-\")[3]\n const bankAccountForm = document.querySelector(`#edit_user_bank_account_${id}`)\n const iban = bankAccountForm.querySelector(\"#user_bank_account_iban\").value\n const bic = bankAccountForm.querySelector(\"#user_bank_account_bic\").value\n axios.post(`/app/validate_bic_and_iban`, {iban: iban, bic: bic}, {\n headers: {\n 'X-CSRF-Token': csrfToken\n }\n }).then(response => {\n let validationResult = response.data\n if (validationResult.success) {\n handleValidationFeedback(bankAccountForm, validationResult)\n handleSuccessfulValidationFor(bankAccountForm)\n } else {\n handleValidationFeedback(bankAccountForm, validationResult)\n }\n })\n .catch(error => {\n handleValidationFeedback(element, {error: error, iban_valid: false, bic_valid: false})\n })\n}\n\nconst handleValidationFeedback = (form, validationResult) => {\n const bicInput = form.querySelector(\"#user_bank_account_bic\")\n const ibanInput = form.querySelector(\"#user_bank_account_iban\")\n if (validationResult.bic_valid) {\n bicInput.classList.remove(\"is-invalid\")\n bicInput.classList.add(\"is-valid\")\n bicInput.nextElementSibling.innerHTML = \"\"\n } else {\n bicInput.classList.add(\"is-invalid\")\n bicInput.nextElementSibling.innerHTML = `<div class='invalid-feedback d-block'> ${I18n.t(\"investor_app.bank_accounts.validation.bic_invalid\")}</div>`\n }\n if (validationResult.iban_valid) {\n ibanInput.classList.remove(\"is-invalid\")\n ibanInput.classList.add(\"is-valid\")\n ibanInput.nextElementSibling.innerHTML = \"\"\n } else {\n ibanInput.classList.add(\"is-invalid\")\n ibanInput.nextElementSibling.innerHTML = `<div class='invalid-feedback d-block'> ${I18n.t(\"investor_app.bank_accounts.validation.iban_invalid\")}</div>`\n }\n}\n\nconst handleSuccessfulValidationFor = (form) => {\n const elementsToToggle = form.querySelectorAll(\".AppSettings--bank-form\")\n elementsToToggle.forEach(e => e.classList.toggle('d-none'))\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n bankAccountValidation();\n})","// import \"../stylesheets/application_redesign\";\nimport Rails from \"@rails/ujs\";\nRails.start();\n\nrequire(\"jquery-ui\");\n\nimport \"bootstrap\";\nimport \"../javascript/lib/index\";\nimport \"widget.min\";\nimport \"jquery.vmap\";\nimport \"jquery.vmap.france\";\nimport \"../javascript/components/app_redesign\";\nimport \"../javascript/components/francemap_redesign\";\nimport \"../javascript/components/read_more\";\nimport \"../javascript/components/already_liked_projects\";\nimport \"../javascript/components/toast\";\nimport \"../javascript/components/sidebar_show_more\";\nimport \"../javascript/components/testimonials\";\nimport \"../javascript/components/toggle_password_visibility\";\n\n// File Upload\nimport \"../javascript/legacy/file_upload\";\n\nimport \"../javascript/components/confetti\";\nimport \"../javascript/components/info_banner\";\nimport \"../javascript/legacy/modal\";\nimport \"../javascript/legacy/pages/project/show_page\";\nimport \"../javascript/pages/accounts/index\";\nimport \"../javascript/pages/projects/index\"; // includes projects/countdown\nimport \"../javascript/pages/subscriptions/index\"; // includes projects/countdown\nimport \"../javascript/pages/investor_app/index\";\n\nimport \"../javascript/components/shared/clipboard\";\n\nimport \"../javascript/components/copySponsorInviteToClipboard\";\n\nimport \"../javascript/components/otp_attempt_input\";\n\n// Make notie available everywhere\nimport notie from \"notie\";\nwindow.notie = notie;\n","import { I18n } from \"i18n-js\"\nconst i18n = new I18n()\n\n i18n.store({fr: {\"countdown\":{\"collect_started\":\"La collecte a démarré !\",\"days_short\":\"j.\",\"hours_short\":\"h.\",\"minutes_short\":\"min.\",\"seconds_short\":\"sec.\"},\"recaptcha\":{\"error_message\":\"Veuillez désactiver tout bloqueur de publicités ou autres extensions qui pourraient interférer avec le processus de connexion et recharger la page.\"},\"documents\":{\"buttons\":{\"edit\":\"Modifier\"},\"dropzone\":{\"message\":\"Glissez / déposez votre document ici ou cliquez pour le sélectionner sur votre ordinateur\"}},\"subscriptions\":{\"buttons\":{\"invest\":\"Investir\",\"invest_anyway\":\"Investir quand même\",\"waiting\":\"...un Instant\"},\"errors\":{\"max_exceeded\":\"Le montant que vous souhaitez investir est supérieur au maximum autorisé sur le projet\"},\"tokens\":{\"partner_error_message\":\"Vous n'êtes pas éligible à investir en tant que partenaire veuillez contacter le service Relations Investisseurs\"}},\"investor_app\":{\"bank_accounts\":{\"validation\":{\"bic_invalid\":\"BIC invalide\",\"iban_invalid\":\"IBAN invalide\"}}}}});\n\n i18n.store({en: {\"countdown\":{\"collect_started\":\"The collection has started!\",\"days_short\":\"j.\",\"hours_short\":\"h.\",\"minutes_short\":\"min.\",\"seconds_short\":\"sec.\"},\"recaptcha\":{\"error_message\":\"Please disable any add blockers or other extensions that may be interfering with the sign in process and reload the page.\"},\"documents\":{\"buttons\":{\"edit\":\"Edit\"},\"dropzone\":{\"message\":\"Drag and drop your document here or click to select it on your computer\"}},\"subscriptions\":{\"buttons\":{\"invest\":\"Invest\",\"invest_anyway\":\"Investing anyway\",\"waiting\":\"...an Instant\"},\"errors\":{\"max_exceeded\":\"The amount you wish to invest is greater than the maximum authorized for the project\"},\"tokens\":{\"partner_error_message\":\"If you are not eligible to invest as a partner, please contact the Investor Relations department\"}},\"investor_app\":{\"bank_accounts\":{\"validation\":{\"bic_invalid\":\"Invalid BIC\",\"iban_invalid\":\"Invalid IBAN\"}}}}});\n\n i18n.store({es: {\"countdown\":{\"collect_started\":\"¡La recaudación ha comenzado!\",\"days_short\":\"d.\",\"hours_short\":\"h.\",\"minutes_short\":\"min.\",\"seconds_short\":\"seg.\"},\"recaptcha\":{\"error_message\":\"Por favor, desactiva cualquier bloqueador de anuncios u otras extensiones que puedan estar interfiriendo con el proceso de inicio de sesión y recarga la página.\"},\"documents\":{\"buttons\":{\"edit\":\"Modificar\"},\"dropzone\":{\"message\":\"Arrastra / suelta tu documento aquà o haz clic para seleccionarlo en tu ordenador\"}},\"subscriptions\":{\"buttons\":{\"invest\":\"Invertir\",\"invest_anyway\":\"Invertir de todos modos\",\"waiting\":\"...un momento\"},\"errors\":{\"max_exceeded\":\"El importe que deseas invertir es superior al máximo autorizado en el proyecto\"},\"tokens\":{\"partner_error_message\":\"No cumples con los requisitos para invertir como socio, contacta con el servicio al cliente.\"}},\"investor_app\":{\"bank_accounts\":{\"validation\":{\"bic_invalid\":\"BIC inválido\",\"iban_invalid\":\"IBAN inválido\"}}}}});\n\n i18n.store({it: {\"countdown\":{\"collect_started\":\"La campagna di raccolta è iniziata!\",\"days_short\":\"j.\",\"hours_short\":\"h.\",\"minutes_short\":\"min.\",\"seconds_short\":\"secco.\"},\"recaptcha\":{\"error_message\":\"Si prega di disabilitare qualsiasi blocco pubblicità o altre estensioni che potrebbero interferire con il processo di accesso e ricaricare la pagina.\"},\"documents\":{\"buttons\":{\"edit\":\"Modificare\"},\"dropzone\":{\"message\":\"Trascinate qui il tuo documento o fate clic per selezionarlo sul tuo computer\"}},\"subscriptions\":{\"buttons\":{\"invest\":\"Investire\",\"invest_anyway\":\"Investire comunque\",\"waiting\":\"... un istante\"},\"errors\":{\"max_exceeded\":\"L'importo che si desidera investire è superiore al limite massimo autorizzato per il progetto\"},\"tokens\":{\"partner_error_message\":\"Se non siete idonei a investire come partner, contattate l'Ufficio relazioni con gli investitori\"}},\"investor_app\":{\"bank_accounts\":{\"validation\":{\"bic_invalid\":\"BIC non valido\",\"iban_invalid\":\"IBAN non valido\"}}}}});\n\n i18n.store({nl: {\"countdown\":{\"collect_started\":\"De inzamelingsactie is begonnen!\",\"days_short\":\"d\",\"hours_short\":\"u\",\"minutes_short\":\"min\",\"seconds_short\":\"sec\"},\"recaptcha\":{\"error_message\":\"Schakel eventuele adblockers of andere extensies uit die het aanmeldingsproces kunnen verstoren en herlaad de pagina.\"},\"documents\":{\"buttons\":{\"edit\":\"Aanpassen\"},\"dropzone\":{\"message\":\"Sleep je document hierheen of klik om het op je computer te selecteren\"}},\"subscriptions\":{\"buttons\":{\"invest\":\"Investeer\",\"invest_anyway\":\"Toch investeren\",\"waiting\":\"...een ogenblik\"},\"errors\":{\"max_exceeded\":\"Het bedrag dat je wilt investeren is hoger dan het toegestane maximum voor het project\"},\"tokens\":{\"partner_error_message\":\"Als je niet in aanmerking komt om als partner te investeren, neem dan contact op met de afdeling Investeerdersrelaties\"}}}});\n\n\ni18n.defaultLocale = \"en\";\ni18n.fallbacks = true // also see Rails config.i18n.fallbacks\ni18n.locale = document.documentElement.lang\n\nexport default i18n\n","/*!\n * The Final Countdown for jQuery v2.2.0 (http://hilios.github.io/jQuery.countdown/)\n * Copyright (c) 2016 Edson Hilios\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n(function(factory) {\n \"use strict\";\n if (typeof define === \"function\" && define.amd) {\n define([ \"jquery\" ], factory);\n } else {\n factory(jQuery);\n }\n})(function($) {\n \"use strict\";\n var instances = [], matchers = [], defaultOptions = {\n precision: 100,\n elapse: false,\n defer: false\n };\n matchers.push(/^[0-9]*$/.source);\n matchers.push(/([0-9]{1,2}\\/){2}[0-9]{4}( [0-9]{1,2}(:[0-9]{2}){2})?/.source);\n matchers.push(/[0-9]{4}([\\/\\-][0-9]{1,2}){2}( [0-9]{1,2}(:[0-9]{2}){2})?/.source);\n matchers = new RegExp(matchers.join(\"|\"));\n function parseDateString(dateString) {\n if (dateString instanceof Date) {\n return dateString;\n }\n if (String(dateString).match(matchers)) {\n if (String(dateString).match(/^[0-9]*$/)) {\n dateString = Number(dateString);\n }\n if (String(dateString).match(/\\-/)) {\n dateString = String(dateString).replace(/\\-/g, \"/\");\n }\n return new Date(dateString);\n } else {\n throw new Error(\"Couldn't cast `\" + dateString + \"` to a date object.\");\n }\n }\n var DIRECTIVE_KEY_MAP = {\n Y: \"years\",\n m: \"months\",\n n: \"daysToMonth\",\n d: \"daysToWeek\",\n w: \"weeks\",\n W: \"weeksToMonth\",\n H: \"hours\",\n M: \"minutes\",\n S: \"seconds\",\n D: \"totalDays\",\n I: \"totalHours\",\n N: \"totalMinutes\",\n T: \"totalSeconds\"\n };\n function escapedRegExp(str) {\n var sanitize = str.toString().replace(/([.?*+^$[\\]\\\\(){}|-])/g, \"\\\\$1\");\n return new RegExp(sanitize);\n }\n function strftime(offsetObject) {\n return function(format) {\n var directives = format.match(/%(-|!)?[A-Z]{1}(:[^;]+;)?/gi);\n if (directives) {\n for (var i = 0, len = directives.length; i < len; ++i) {\n var directive = directives[i].match(/%(-|!)?([a-zA-Z]{1})(:[^;]+;)?/), regexp = escapedRegExp(directive[0]), modifier = directive[1] || \"\", plural = directive[3] || \"\", value = null;\n directive = directive[2];\n if (DIRECTIVE_KEY_MAP.hasOwnProperty(directive)) {\n value = DIRECTIVE_KEY_MAP[directive];\n value = Number(offsetObject[value]);\n }\n if (value !== null) {\n if (modifier === \"!\") {\n value = pluralize(plural, value);\n }\n if (modifier === \"\") {\n if (value < 10) {\n value = \"0\" + value.toString();\n }\n }\n format = format.replace(regexp, value.toString());\n }\n }\n }\n format = format.replace(/%%/, \"%\");\n return format;\n };\n }\n function pluralize(format, count) {\n var plural = \"s\", singular = \"\";\n if (format) {\n format = format.replace(/(:|;|\\s)/gi, \"\").split(/\\,/);\n if (format.length === 1) {\n plural = format[0];\n } else {\n singular = format[0];\n plural = format[1];\n }\n }\n if (Math.abs(count) > 1) {\n return plural;\n } else {\n return singular;\n }\n }\n var Countdown = function(el, finalDate, options) {\n this.el = el;\n this.$el = $(el);\n this.interval = null;\n this.offset = {};\n this.options = $.extend({}, defaultOptions);\n this.instanceNumber = instances.length;\n instances.push(this);\n this.$el.data(\"countdown-instance\", this.instanceNumber);\n if (options) {\n if (typeof options === \"function\") {\n this.$el.on(\"update.countdown\", options);\n this.$el.on(\"stoped.countdown\", options);\n this.$el.on(\"finish.countdown\", options);\n } else {\n this.options = $.extend({}, defaultOptions, options);\n }\n }\n this.setFinalDate(finalDate);\n if (this.options.defer === false) {\n this.start();\n }\n };\n $.extend(Countdown.prototype, {\n start: function() {\n if (this.interval !== null) {\n clearInterval(this.interval);\n }\n var self = this;\n this.update();\n this.interval = setInterval(function() {\n self.update.call(self);\n }, this.options.precision);\n },\n stop: function() {\n clearInterval(this.interval);\n this.interval = null;\n this.dispatchEvent(\"stoped\");\n },\n toggle: function() {\n if (this.interval) {\n this.stop();\n } else {\n this.start();\n }\n },\n pause: function() {\n this.stop();\n },\n resume: function() {\n this.start();\n },\n remove: function() {\n this.stop.call(this);\n instances[this.instanceNumber] = null;\n delete this.$el.data().countdownInstance;\n },\n setFinalDate: function(value) {\n this.finalDate = parseDateString(value);\n },\n update: function() {\n if (this.$el.closest(\"html\").length === 0) {\n this.remove();\n return;\n }\n var hasEventsAttached = $._data(this.el, \"events\") !== undefined, now = new Date(), newTotalSecsLeft;\n newTotalSecsLeft = this.finalDate.getTime() - now.getTime();\n newTotalSecsLeft = Math.ceil(newTotalSecsLeft / 1e3);\n newTotalSecsLeft = !this.options.elapse && newTotalSecsLeft < 0 ? 0 : Math.abs(newTotalSecsLeft);\n if (this.totalSecsLeft === newTotalSecsLeft || !hasEventsAttached) {\n return;\n } else {\n this.totalSecsLeft = newTotalSecsLeft;\n }\n this.elapsed = now >= this.finalDate;\n this.offset = {\n seconds: this.totalSecsLeft % 60,\n minutes: Math.floor(this.totalSecsLeft / 60) % 60,\n hours: Math.floor(this.totalSecsLeft / 60 / 60) % 24,\n days: Math.floor(this.totalSecsLeft / 60 / 60 / 24) % 7,\n daysToWeek: Math.floor(this.totalSecsLeft / 60 / 60 / 24) % 7,\n daysToMonth: Math.floor(this.totalSecsLeft / 60 / 60 / 24 % 30.4368),\n weeks: Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 7),\n weeksToMonth: Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 7) % 4,\n months: Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 30.4368),\n years: Math.abs(this.finalDate.getFullYear() - now.getFullYear()),\n totalDays: Math.floor(this.totalSecsLeft / 60 / 60 / 24),\n totalHours: Math.floor(this.totalSecsLeft / 60 / 60),\n totalMinutes: Math.floor(this.totalSecsLeft / 60),\n totalSeconds: this.totalSecsLeft\n };\n if (!this.options.elapse && this.totalSecsLeft === 0) {\n this.stop();\n this.dispatchEvent(\"finish\");\n } else {\n this.dispatchEvent(\"update\");\n }\n },\n dispatchEvent: function(eventName) {\n var event = $.Event(eventName + \".countdown\");\n event.finalDate = this.finalDate;\n event.elapsed = this.elapsed;\n event.offset = $.extend({}, this.offset);\n event.strftime = strftime(this.offset);\n this.$el.trigger(event);\n }\n });\n $.fn.countdown = function() {\n var argumentsArray = Array.prototype.slice.call(arguments, 0);\n return this.each(function() {\n var instanceNumber = $(this).data(\"countdown-instance\");\n if (instanceNumber !== undefined) {\n var instance = instances[instanceNumber], method = argumentsArray[0];\n if (Countdown.prototype.hasOwnProperty(method)) {\n instance[method].apply(instance, argumentsArray.slice(1));\n } else if (String(method).match(/^[$A-Z_][0-9A-Z_$]*$/i) === null) {\n instance.setFinalDate.call(instance, method);\n instance.start();\n } else {\n $.error(\"Method %s does not exist on jQuery.countdown\".replace(/\\%s/gi, method));\n }\n } else {\n new Countdown(this, argumentsArray[0], argumentsArray[1]);\n }\n });\n };\n});","/** France Map Data Points for jQVMap http://jqvmap.com */\r\n/** Map created by Gaël Jaffredo <http://www.jaffredo.com/> */\r\njQuery.fn.vectorMap('addMap', 'france_fr', {\"width\":702,\"height\":610,\"paths\":{\r\n \"80\":{\"path\":\"m424.3,82.9l3.3,2.6l-0.4,3.8l-3.9,8.1l2.3,7 l-10.3,1.5l-8.6,6.8l-12.8-6.7l-14.4-2.2l-3.1,1.2l-4.1-3.7l-3.4-8.4l-11.79-9.99L359.5,81l3.4-6.6l1.9-1.1l0.1-0.1l1.4,1.8l3.5,0.3 l-5.6-6l1.2-5.1l2.9,0.7l-0.03-0.02l10.53,1.02l1,3l7.1,5.8l12-2.5l-2.6,5.7L398,81l2.5-3.1l8.4,3.5l0.8-2.8l2.8,4.6l2.4-1.7 l0.8,3.2L424.3,82.9z\",\"name\":\"Somme\"},\r\n \"02\":{\"path\":\"m450.3,82.6l16.7,4.6l2.91,0.94L470.6,94l-1.3,3.5l1.3,3.1l-5,7.2 l-2.7,0.3l0.3,14.3l-1,2.8l-5.3-1.8l-8,4l-1.2,2.6l3.2,8l-5.5,2.3l1.6,2.4l-0.8,2.7l2.5,1.3l-7.7,10.2l-9.3-6l-3.9-4.2l0.7-2.8 l-1.8-2.5l-2.6-0.7l2.1-1.7l-0.5-2.8l-2.9-1.1l-2.4,1.5l-0.7-2.9l3,0.2l-2.9-4.5l2.6-1.7l2.4-5.7l2.6-1.1l-2.2-1.8l0.8-4.5 l-0.4-10.2l-2.3-7l3.9-8.1l0.4-3.8l12.6-0.6l2.6-2.2l2.3,1.7L450.3,82.6z\",\"name\":\"Aisne\"},\r\n \"77\":{\"path\":\"m441.1,176.1l-2.9,0.8l0.4,8.5l-15.4,3 l-0.2,5.8l-3.9,5.4l-11.2,2.7l-9.2-0.7l2.6-1.5l0.6-2.7l-4.2-4.3L397,190l3.4-4.8l4-17.2l-0.5-1l1.1-4.1l-0.3-2.9v-0.1l-1.3-4.7 l1.3-2.5l-1.7-5.1l0.1-0.1l1.7-2.3l-0.2-2l6.9,1l2-2.2l2.5,1.6l8.1-2.9l2.6,0.7l1.8,2.5l-0.7,2.8l3.9,4.2l9.3,6l-0.4,2l-2.6,2.2 l3.5,8.3l2.6,1.7L441.1,176.1z\",\"name\":\"Seine et Marne\"},\r\n \"12\":{\"path\":\"m430.8,440.7l9.4,4.5l-2,3.9l-2.8,1.1l8.4,4.1 l-4.3,5.3l0.3,1.5l-3.7,1l-3,5.3l-6.3-1.3l-0.1,8.7l-5.7-0.1l-1.3-2.8l-11.1-1.3l-4.2-5l-4.3-11.5l-4.8-4.3L385,444l-6.1,2.8 l-4.3-3.6l2.3-2.4l-3.1-2.7l0.4-3l-0.8-9.1l7.6-5l5.9-1.4l1.7-1.5h0.1l5.1-3.2l6.4,1.5l3.8-4.8l3-9.1l4.7-4.2l5.2,4l1.3,4.2l2.4,1.6 l-0.5,3l2.6,5.1v0.1l4.2,4.5l2.9,8.8l-0.5,8.7L430.8,440.7z\",\"name\":\"Aveyron\"},\r\n \"47\":{\"path\":\"m293.8,455.6v0.1l-0.7-2.6l3.6-5.2L285,445 l-0.4-4.6l4.5-4l-1.5-2.5l3-2.3l0.6-8.9l8.5-8.6l-2.9-1.4l1.1-3.3l2.7,0.9l1.2-2.5l3.1,0.1l2.8,6.4l8.9-0.5l2.8-2l2.2,1.8l6.1-1 l1.5,6l5.4-2.7l4.2,4.2l-3.4,3.1l2.7,9.1l-7.5,2v2.9l2.4,1.4l-4.4,5.5l1.3,2.7l-2.8-0.2l-3.6,4.7l-2.7,1.3l-8.6-1l-5,2.9l-8.3-0.7 l-1.4,2.5L293.8,455.6z\",\"name\":\"Lot et Garonne\"},\r\n \"81\":{\"path\":\"m419.7,471.9l1.3,2.8c-2.2,1.5-4.5,2.9-6.8,4.4 l-6.1-2.2l0.7,9.7l-0.8,3l-3.4,2l-12-1.4l-2.8,0.5l-1.1,3.3l-6.3-0.9l-1.8-2.3l-1-2.8l-14.3-9.3l0.7-5.4l-2.3-2.1l-0.2-2.8l-2.6-1.2 l-1.4-6.3l0.5-2.8l4.8-3.2l1-2.7L364,450l3-1.1l2.7,1.1l9.2-3.2l6.1-2.8l10.3,5.8l4.8,4.3l4.3,11.5l4.2,5L419.7,471.9z\",\"name\":\"Tarn\"},\r\n \"07\":{\"path\":\"m496.5,434.2l0.1,3.7l-6-3.5h-2.8l-2.5,2.3 l-0.1-3.1l-7.1,4.3l-7.8-5l-2.7-5.9l-4.2-8.3l-2.1-9.1l6.7-6.4l5.9-1.9l3.4-5.9l3.4-0.4l-0.7-2.8l2.6-2.3l1.5-5.2l2.6,1.2v-3.1 l0.9-4.1l3.5-0.8l3.2-4.9l5-2.7l2,4.2l0.5,10.3l3.8,11.3l-1.5,6.2l-3.5,4.5l1,7.1l-3,5.9L496.5,434.2z\",\"name\":\"Ardèche\"},\r\n \"90\":{\"path\":\"m580.3,215.9l0.9-0.6l7.6,5l0.5,9l2.8-0.2l2,5 l-0.1,0.1l-2.79,0.39l-1.11-0.39l-3.19,4.34L586.5,239l-1.4-2.4l1.4-2.5l-5.9-2.7h-0.1l-1.4-5.5l-1.1-4.3L580.3,215.9z\",\"name\":\"Territoire de Belfort\"},\r\n \"48\":{\"path\":\"m463.4,418.7l4.2,8.3l-1.1,2.1l-3.6,2.5 l3.9,7.7l-1.2,2.9l1.4,3l-6.3,1.8l-8.7-2.2l-0.1,3.3l-3.9,0.5l-7.8-3.4l-9.4-4.5l-1.5-2.4l0.5-8.7l-2.9-8.8l-4.2-4.5v-0.1l6.9-15.9 l1.7,2.3l6.8-5.7l1-1l2.3,1.7l1.5,5.7l6.4,1.2l0.1-2.8l2.9,0.2l9,7.7L463.4,418.7z\",\"name\":\"Lozère\"},\r\n \"84\":{\"path\":\"m541,463.4l6.1,6l-0.1,0.4l-0.1-0.1l-6.6,4.3 l-3.2,0.2l-12-4.8l-3.5,0.7l-4.5-2.3l-5.5-5.7l-10.4-2.9l4.5-5l-6.3-6.4l-0.2-5.5l-2.6-4.4l-0.1-3.7l5.9,0.7l3.5,4.2l8.7-3.9 l2.4,1.4l2.5-2.2l0.5,5.8l9.3,0.9l0.1,2.8l5.2,2.3l2.2,5.4l-1.2,3l3.7,5.2l-1.7,2.5L541,463.4z\",\"name\":\"Vaucluse\"},\r\n \"01\":{\"path\":\"m542,347l-5.7,6.7l-11.2-15.2l-2.8,0.7l-3,5.1 l-6-2l-6.4,0.5l-3.7-5.7l-2.8,0.5l-3.1-9.2l1.5-8l5.9-20.9l5.9,1.5l5.4-1.3l4.8,3.3l4.3,7.7h2.9l0.1,3l2.9-0.1l4-4.4l3.4,1.6 l0.4,2.8l3.8-0.2l5.5-3.2l5.3-7.2l4.5,2.7l-1.8,4.7l0.3,2.5l-4.4,1.5l-1.9,2l0.2,2.8l0.46,0.19l-4.36,4.71h-2.9l0.8,9.3L542,347z\",\"name\":\"Ain\"},\r\n \"73\":{\"path\":\"m603.7,362l-1,10.3l-3.1,1.4l-2.2,0.7l-4.5,3.4 l-1.5,2.4l-2.5-1.4l-5.1,1.3l-2,1.8v0.1l-6.8,1.9l-2,2l-7.7-3.5l-5.2-1.5l-1-5.4l2.3-5.5l-2.7-6.3l-9.4-2.1l-0.3,2.8l-6.2-0.2 l-6.5-10.5l5.7-6.7l2.3-13.6l2.7,6.7l2.7,0.9l1.3,2.5l3,1.7l2.6-1.6l3.2,0.8l4.6,3.6l9.4-13.9l2.4,1.6l-0.6,3l2.3,1.8l6.2,2.3 l2.2-1.5l0.62-0.76l1.88,4.66l2.7,1.1l1.5,1.9l2.8,0.4l-0.7,3l1.3,5.2l5.1,4L603.7,362z\",\"name\":\"Savoie\"},\r\n \"74\":{\"path\":\"m547,340.1l-2.7-6.7l-0.8-9.3h2.9l4.36-4.71 l2.24,0.91l2.3-1l2.3,0.1l3.4-3.5l2.1-1l1-2.3l-2.8-1.3l1.8-5.1l2.4-0.8l2.3,1l3.6-2.9l9.5-1.3l3.2,0.6l-0.5,2.7l4.2,4.1l-2.1,6.4 l-0.6,1.5l4.6,1.7l-0.1,4.8l2-1.4l4.6,6.6l-1.3,5l-2.5,1.7l-4.9,0.9l-0.6,3.7l0.02,0.04l-0.62,0.76l-2.2,1.5l-6.2-2.3l-2.3-1.8 l0.6-3l-2.4-1.6l-9.4,13.9l-4.6-3.6l-3.2-0.8l-2.6,1.6l-3-1.7l-1.3-2.5L547,340.1z\",\"name\":\"Haute Savoie\"},\r\n \"39\":{\"path\":\"m552.3,291.4l3.68,3.49L553.4,303l-5.3,7.2 l-5.5,3.2l-3.8,0.2l-0.4-2.8l-3.4-1.6l-4,4.4l-2.9,0.1l-0.1-3h-2.9l-4.3-7.7l2.8-1.1l-0.8-5.3l2.8-5l-2.2-8.7l-2.5-1.6l5-3.7 l-8.3-4.4l-0.4-2.9l1.1-4.1l6.2-6.8l1.8-8.2l1.2-1.3l2.3,2l5.4,0.1l5.2,7.8l-3,5.1l1.2,2.5l2-2.1l1.5,2.5l3-0.8l5.8,10.1l2.9,0.5 l4.2,4.1l-2.1,2.3L552.3,291.4z\",\"name\":\"Jura\"},\r\n \"25\":{\"path\":\"m590.1,245.2l-2.4,2.2l0.4,3l-4.8,6.2l-4.8,4 l-0.4,2.9l-2.5,2.7l-5.7,1.7l-0.3,0.3l-1.7,2.3l0.9,2.7l-0.7,4.5l0.5,2.5l-9.5,8.8l-2.9,5.2l-0.22,0.69l-3.68-3.49l3.6-7.4l2.1-2.3 l-4.2-4.1l-2.9-0.5l-5.8-10.1l-3,0.8l-1.5-2.5l-2,2.1l-1.2-2.5l3-5.1l-5.2-7.8l22.3-10.2l3-4.7l5.6-1.9l2.8,0.9l1.8-2.2l3.2-0.4 l0.5-2.8l5.9,0.8l0.2-0.1h0.1l5.9,2.7l-1.4,2.5l1.4,2.4l0.41-0.46l-0.11,0.16l-2.2,4.9l7-0.7L590.1,245.2z\",\"name\":\"Doubs\"},\r\n \"04\":{\"path\":\"m596.5,409.9l0.57-0.5l-0.37,4.5l-2.2,1.5 l-0.6,2.9l3.5,4l-1.8,4.8l0.19,0.21L589,435.1l-2,5.3l4.3,8.5l7,7.7l-5.2-0.6l-5.2,3.8l1.2,2.6l-3,1.4l-9.8,0.4l-1.2,3.5l-5.9-3.6 l-10.1,8.5l-4-4.8l-2.7,1.8l-5.3-0.2l-6.1-6l-3.4-1.1l1.7-2.5l-3.7-5.2l1.2-3l-2.2-5.4l4.3-4.8l2.3-0.1l1-0.2l5.9-1.4l3.8,1 l-3.4-4.9l3.9,1.1l1.4-8.6l5.3-4l3.3-0.7l3.5,4.5l0.7-3.8l3.8-4.2l11.1,3.3l9-10.2L596.5,409.9z\",\"name\":\"Alpes de Haute Provence\"},\r\n \"05\":{\"path\":\"m597.1,409l-0.03,0.4l-0.57,0.5l-6,3.3l-9,10.2 l-11.1-3.3l-3.8,4.2l-0.7,3.8l-3.5-4.5l-3.3,0.7l-5.3,4l-1.4,8.6l-3.9-1.1l3.4,4.9l-3.8-1l-5.9,1.4l0.2-4.7l-10-5.7l-1.5-2.6 l3.2-5.1l4.2,1.4l2.5-2.5l-3-2.3l2.5-6.7l5.8-0.3l0.3-3.4l1-3.1l5.5-1.2l0.9-2.8l12.6-3.9l3.1,1.1l0.4-5.8l-4.4-3.1l-1.8-4.2 l1.6-3.8l7.7,3.5l2-2l6.8-1.9l1.8,4.5l2.4,0.6l1.1,2l0.4,3l1.2,2.2l3,2.3l5.7,0.5l2.2,1.3l-0.7,2.1l3.2,4.7l-3,1.5L597.1,409z\",\"name\":\"Hautes Alpes\"},\r\n \"32\":{\"path\":\"m330.6,461.7l2,6.9l9.1,13.3l-6.5,6.1l-0.7,5.8 l-11.4-2.5l-3.5,5.3l-3.1,1.1l-12.4-2.2l-1.4-3l-5.5,0.6l-2.6-8.7l-3.3-1.3l-2-3.5l-3.9,0.5l-6.6-0.3l-1.6-2.7l4.2-11.1l-0.5-6.4 l9.4-2.7l0.6,3l2.5-1.3l0.4-2.9v-0.1l3.7,0.7l1.4-2.5l8.3,0.7l5-2.9l8.6,1l2.7-1.3l5.3,1.7l-3.3,4.6L330.6,461.7z\",\"name\":\"Gers\"},\r\n \"24\":{\"path\":\"m307.7,414.3l-2.8-6.4l-1-1.3l0.9-2.9l-2.4-2.6l-2,3.2l-9.8-2.3l2-2 l0.2-5.7l2.8-5.5l-1.2-2.8l-3.7,0.6l2-5l0.1-0.4l2-2l5.5-0.7l4.1-5.8l0.7-5.7l7.9-5.9l2.1-5.3l5.7-6.1l6.2,3l-0.1,4.7l9.5-1.1 l7.2,5.6l-2,2.7l5.7,2.2l2.9,4.7l-3.6,4.6l1.7,3l-2,1.8l2.3,1.5l0.2,3l3.2,0.7l3.5,7l-0.7,5l-1.4,5.3l-4.5,3.2l0.6,3.6l-6,3.4 l-4.7,6.5l-4.2-4.2l-5.4,2.7l-1.5-6l-6.1,1l-2.2-1.8l-2.8,2L307.7,414.3z\",\"name\":\"Dordogne\"},\r\n \"51\":{\"path\":\"m440.6,158.9l0.4-2l7.7-10.2l-2.5-1.3l0.8-2.7 l-1.6-2.4l5.5-2.3l-3.2-8l1.2-2.6l8-4l5.3,1.8l1-2.8l6.7,0.9l9.8,6.6l20.1,1.9l2.2,9l-1,4.1l2.6,1.3l-0.6,3.9l-3.1,1.1l-1.1,5.8 l3.2,4.6l0.5,4.1l-8.6,2.2l2.2,2.5l-2.3,2.2l0.7,2.9h-4.7l-3.3-1.1l-2.5,1.5c-1.8-0.8-3.7-1.5-5.6-2.3l-2.6-2l-0.4-6.1l-3.1-0.5 l-6.5,0.9l-9.5,7.6v3.3l-9-1.2l-3.2-4.5l-2.6-1.7l-3.5-8.3L440.6,158.9z\",\"name\":\"Marne\"},\r\n \"60\":{\"path\":\"m372.8,131.1l-3.5-8.4l1.3-8l-1.4-8.7l3.1-4.7 l4.1,3.7l3.1-1.2l14.4,2.2l12.8,6.7l8.6-6.8l10.3-1.5l0.4,10.2l-0.8,4.5l2.2,1.8l-2.6,1.1l-2.4,5.7l-2.6,1.7l2.9,4.5l-3-0.2l0.7,2.9 l2.4-1.5l2.9,1.1l0.5,2.8l-2.1,1.7l-8.1,2.9l-2.5-1.6l-2,2.2l-6.9-1l-10.9-6.4l-2.2,1.6l-9.2-2.2L376,138l-5.6-1.1l-1.6-3.2 L372.8,131.1z\",\"name\":\"Oise\"},\r\n \"52\":{\"path\":\"m493.9,167.9l8.6-2.2l3.4,5.2l16.9,10.4 l-2.4,2.3l12.7,9.5l-1.7,8.6l5.5,4.7l0.2,3.1l2.7-1.1l1.3,2.5v0.1l0.2,1.4l-2.3,3.2l-2.9-0.3l-2,2.4l-0.3,8.3l-3.2,1l-2.1-1.8 l-6.6,3.9l-1.2,2.5l-4.8,1.9v-2.8l-3-1.6l-9.2-2l-2.3-4.8l2.8-2.4l-1-3.1l-1.8-2.2l-2.9-0.3l0.3-2.9l-2.6-1l-0.5-2.7l-3.5-0.7 l-0.2-4.8l5.6-2.5l0.1-2.7l-0.5-9.9l-5.6-3l-2.4-5.2l0.6-3.4h4.7l-0.7-2.9l2.3-2.2L493.9,167.9z\",\"name\":\"Haute Marne\"},\r\n \"88\":{\"path\":\"m520.4,183.6l2.4-2.3l6.9-3.4l3,0.5l1.9-2.3 l5.8,0.6l-0.1,2.9l4.1,4.8l5.7-0.7l1.1-2.8l5.4-2l2.4,1.8l6-1l5.3-3.8l1.6,2.7l6.1,1.6l10.6-7.6l1.5-0.4l-1.3,10l5.2,2.2l-1.1,1 l-4.1,13.5l-4.8,7.8v6.2l-2.8,2.4l-0.9,0.6l-8.4-6.6l-5.1,2.2l-4.9-3.6l-5.8,1.6l-7-4.3l-8,5.8v-0.1l-1.3-2.5l-2.7,1.1l-0.2-3.1 l-5.5-4.7l1.7-8.6L520.4,183.6z\",\"name\":\"Vosges\"},\r\n \"27\":{\"path\":\"m316.4,153.4l-0.2-3.2l0.7-2.2l-2.3-4.1l1.4-3l-2.8-9.4l2.3-2.1h-2.9 l-0.3-8.3l1.7-0.4l0.28-0.1h1.52l-0.9-0.2l0.8-0.3l-1.29-0.3l5.89-2.4l7.6,5l3.4-0.7l4.9,3l-1.9,2.4l2.1,2.1l5.4,2.4l1.4-2.7 l8.2-2.5l4.8-7l13.1,3.3l3.5,8.4l-4,2.6l-4,9.5l-3.8-0.1l-2.3,2.6l1.8,5.8l-6,6.9l0.2,2.8l-6,1.3l-2.8-1.6l-5.3,3.2l-6,1.1l-2.4,2.6 l-3.4-2.1l1.7-2.3l-7.8-9.5L316.4,153.4z\",\"name\":\"Eure\"},\r\n \"61\":{\"path\":\"m266.9,179.9l-3.3-3.7l3.6-4.5l1.8-6.7 l-4.1-4.2l5.4-2.9l0.9-2.7l2.7,1.3l6.4-2.3l4.9,3l2.6-1.7l5.7,1.1l2.9-0.3l7.2-5.4l7-1.7l5.6,1l0.2,3.2l6.3,0.5l7.8,9.5l-1.7,2.3 l3.4,2.1l0.1,3.2l4.8,4.4l-0.2,4.5l0.5,4.6l-7.5,5.1l1.1,7.5l-3.2-0.7l-3.1-3.5l-2.9,1l-7.2-5l-1.6-8.4l-2.8-1.5l-11,5.9l-3-0.1 v-0.1v-2.9l-3.3-1.6l-1.9-6l-2.7-0.2l-0.7,2.7h-9.1l-6.7,3.3l-2.5-1.7L266.9,179.9z\",\"name\":\"Orne\"},\r\n \"79\":{\"path\":\"m292.3,331.6l-2.7,1.6l-3.6-4.7l-17.4-6.7 l-5.9-6.5v-3.7l9.1-4.5l-2.5-2l0.2-7.4l-4.7-17.9l-4.2-4.1l-2.3-5.7l12.3-0.8l3.7-4.8l5.6-0.8l9.6-0.2l2.3,2.3l3.4,9l-0.8,3l2.7,1.2 l-4.5,14.1l2.7-0.9l1.5,3l-3.4,5.5l0.5,5.8l2.1,2l-0.1,2.8l6.4,0.2l-3.2,8.5l4.5,3l-0.8,2.8h-0.1l-0.8,0.8l-3.5-0.4l-5.8,2.5 L292.3,331.6z\",\"name\":\"Deux Sèvres\"},\r\n \"16\":{\"path\":\"m294.8,379.2l-2,2v-0.1l-6.3-6.3l-6-1.2l1.7-3l-2.3-2l2.4-1.7l-1.5-2.6 l1.7-2.6l-2.4-1.7l-0.3-3l-5-3.1l2.2-2.1l-3.2-5.6l8.1-3.3l2.3,2l2.7-0.1l2.7-11.6l2.7-1.6l0.3-3l5.8-2.5l3.5,0.4l0.8-0.8h0.1l9.1,3 l2.9-0.8l-1.4-2.4l2.2-1.8l4.1,3.9l3.8-1.4l1.3-2.5l4.8,0.6l-0.2,5.1l4.7,3.6l-0.6,3.2l-2.6,1.1l-4,8l-2.8,0.6l-3.4,3.8h0.1 l-5.7,6.1l-2.1,5.3l-7.9,5.9l-0.7,5.7l-4.1,5.8L294.8,379.2z\",\"name\":\"Charente\"},\r\n \"49\":{\"path\":\"m270.6,269.2l-12.3,0.8l-10.6-3.8l-0.4-3 l-2.8-1.4l2.8-4.5l-0.8-2.8l-3.6-4.7l-3-0.8l2.9-2.2l14.3-2.1l-0.3-5.9l-8.5-3.3l1.9-2.4l2.7,0.4l-7.2-13.3l0.4-2.2l10.5,3.5 l2.1-1.9l8.7,3.6l3,0.4l5.9-2.7l5.1,1.7l0.6,2.7l6.7-0.2l0.2,3.5l2,2l3.1-1.3l5.2,3.3l7.4,0.1l-0.7,2.4l-1.7,9.3l-5.8,15.3v0.1 l-6.6,5.9l-2.3-2.3l-9.6,0.2l-5.6,0.8L270.6,269.2z\",\"name\":\"Maine et Loire\"},\r\n \"53\":{\"path\":\"m256.6,221.5l-10.5-3.5l3.6-8.6l5.5-2.2 l-1.9-17.3l1.5-2.4l0.1-12.1l8.6,0.8h0.1l3.3,3.7l2.4-1.6l2.5,1.7l6.7-3.3h9.1l0.7-2.7l2.7,0.2l1.9,6l3.3,1.6v2.9v0.1l-4.3,2.7 l0.3,6.9l-4.4,4l1.2,2.9l-5,4.6l1.4,3.4l-5.5,7.7l1.5,5.6l-5.1-1.7l-5.9,2.7l-3-0.4l-8.7-3.6L256.6,221.5z\",\"name\":\"Mayenne\"},\r\n \"59\":{\"path\":\"m384.33,25.06l0.87-0.26l2,0.8l1.1-2.1l7.9-2.1 l2.9,0.3l4.4-1.9v-0.1l1.2,4.8l2.3,3.7l-1.6,1.9l0.6,0.8l1.2,5.8h3.4l2.7,5.1l3.1,1.5h2.1l0.6-2.4l8.1-3l3.8,7.5l0.1,1l1.3,5.2 l2,3.5h0.1l2.8,0.6l2.1-1.4l2.4-0.2l-0.5,2.2l2.2-0.7l2.8,1l1.8,4.4l-0.6,2.3l0.7,2.3l1.4,1.9l1.1-2.6l4.6-0.3l2.4,1.1L462,64l5.5,6 l2.3,0.2l-2.1,2.4l-1.4,4.7l2.6,0.2l1.4,3.3l-3.5,3.9l0.2,2.5l-16.7-4.6l-5.2,1.8l-2.3-1.7l-2.6,2.2l-12.6,0.6l-3.3-2.6l3.5-10.6 l-1.8-2.4l-3-0.4l0.7-2.7l-3.9-5.2l3.1-1.6l-3.8-5.3l-5.9-1l1-6.1l-1.3-2.5l-1.7,2.2l-11.6-0.5l-4.1-4.2l0.6-2.8l-5.5-2.6 L384.33,25.06z\",\"name\":\"Nord\"},\r\n \"62\":{\"path\":\"m379.8,68.9l7.1,5.8l12-2.5l-2.6,5.7L398,81 l2.5-3.1l8.4,3.5l0.8-2.8l2.8,4.6l2.4-1.7l0.8,3.2l8.6-1.8l3.5-10.6l-1.8-2.4l-3-0.4l0.7-2.7l-3.9-5.2l3.1-1.6l-3.8-5.3l-5.9-1 l1-6.1l-1.3-2.5l-1.7,2.2l-11.6-0.5l-4.1-4.2l0.6-2.8l-5.5-2.6l-6.27-12.14L372.6,28.5l-6.4,5.4l0.9,5.6l-1.7,4.6l0.6,6.7l2,4.2 l-1.7-1.4l-0.3,9.7l2.27,1.58l10.53,1.02L379.8,68.9z\",\"name\":\"Pas-de-Calais\"},\r\n \"08\":{\"path\":\"m469.91,88.14l0.79,0.26l9.8,0.4l7.3-3.2l1.1-6 l4-3.8l2.8-0.2v3.8L494,81l-0.6,5.2l3.3,4.5l-1,2.4l0.6,3.1l1.4,1.9l3.3-0.9l4.3,2.4l2.8,3.8l4.9,0.6l2,1.7l-0.9,2.4l2.1-0.13 l-1.6,1.13l-2,2.7l-5.7-2.1l-1.9,2l0.8,8.8l-3.2,5.1l1.4,2.5l-4.2,3.6v0.1l-20.1-1.9l-9.8-6.6l-6.7-0.9l-0.3-14.3l2.7-0.3l5-7.2 l-1.3-3.1l1.3-3.5L469.91,88.14z\",\"name\":\"Ardennes\"},\r\n \"54\":{\"path\":\"m588.2,170.9l1.9,1.3l-1.5,0.4l-10.6,7.6l-6.1-1.6l-1.6-2.7l-5.3,3.8 l-6,1l-2.4-1.8l-5.4,2l-1.1,2.8l-5.7,0.7l-4.1-4.8l0.1-2.9l-5.8-0.6l0.2-2.9l-2.5-2l1.7-2.8l-1.3-8.6l2.2-13.8l0.9-2.7l-4.9-11.5 l1.5-5.9l-1.2-2.7l-4.4-4.8l-5.3,2l-0.7-5.3l4.8-1.7l2-1.9h6.8l2.54,2.31L539.6,124l2.5,1.6l1.2,3.6l-1.7,3.1l1,5.6l-2.8,0.1 l4.3,7.5l11.5,4l-0.3,2.9l2.7,5.1l8.5,1.5l5.3,3.9l14.4,5.3L588.2,170.9z\",\"name\":\"Meurthe et Moselle\"},\r\n \"57\":{\"path\":\"m539.6,124l-2.65-10.19l0.65,0.59h2.4l1.5,2.1 l2.3,0.7l2.3-0.5l1-2.3l2-1.2l2.2-0.2l4.5,2.3l4.9-0.1l3.1,3.8l2.3,1.9l-0.5,2l3.7,3.2l2.8,4.5v2.3l4.2,0.7l1.2-1.9l-0.3-2.4 l2.6-0.2l3.8,1.8l1.4,3.5l2.1-1.5l2.5,1.9l5.8-0.4l5.3-4.2l2.2,1.4l0.5,2.1l2.4,2.4l3.2,1.5h0.03l-1.73,4.4l-1.4,2.6l-8.9,0.3 l-9.1-4.6l-0.8-2.8l-5,10.8l5.5,2.4l-1.6,2.5l2.3,1.7l1.3-2.5l3,0.3l4.3,3.4l-3,13.3l-2.3,1.8l-3.4-0.3l-2-2.7l-14.4-5.3l-5.3-3.9 l-8.5-1.5l-2.7-5.1l0.3-2.9l-11.5-4l-4.3-7.5l2.8-0.1l-1-5.6l1.7-3.1l-1.2-3.6L539.6,124z\",\"name\":\"Moselle\"},\r\n \"67\":{\"path\":\"m631.8,140.7l-2.8,9.4l-7.8,10.5l-2,1.5l-1.4,3.3l0.3,4.9l-2.4,7.2 l0.7,3.6l-1.5,2l-1.2,5.5l-3.16,6.23L605.9,193l-0.3-2.8l-8.5-5.6l-3.1-0.2l-5.2-2.2l1.3-10l-1.9-1.3l3.4,0.3l2.3-1.8l3-13.3 l-4.3-3.4l-3-0.3l-1.3,2.5l-2.3-1.7l1.6-2.5l-5.5-2.4l5-10.8l0.8,2.8l9.1,4.6l8.9-0.3l1.4-2.6l1.73-4.4l8.87,0.6l2.4-0.6 L631.8,140.7z\",\"name\":\"Bas Rhin\"},\r\n \"68\":{\"path\":\"m605.9,193l4.64,1.83l-0.04,0.07v5.3l1.6,1.9 l0.2,3.4l-2.2,11.1l0.1,6.7l1.8,1.5l0.6,3.5l-2.2,2l-0.2,2.3l-3.1,0.9l0.5,2.2l-1.5,1.6h-2.7l-3.8,1.4l-3-1.1l0.3-2.5l-2.4-1.1 l-0.4,0.1l-2-5l-2.8,0.2l-0.5-9l-7.6-5l2.8-2.4v-6.2l4.8-7.8l4.1-13.5l1.1-1l3.1,0.2l8.5,5.6L605.9,193z\",\"name\":\"Haut Rhin\"},\r\n \"55\":{\"path\":\"m516.2,107.97l1.2-0.07l1.5,1.6l1.9,5.6 l0.7,5.3l5.3-2l4.4,4.8l1.2,2.7l-1.5,5.9l4.9,11.5l-0.9,2.7l-2.2,13.8l1.3,8.6l-1.7,2.8l2.5,2l-0.2,2.9l-1.9,2.3l-3-0.5l-6.9,3.4 l-16.9-10.4l-3.4-5.2l-0.5-4.1l-3.2-4.6l1.1-5.8l3.1-1.1l0.6-3.9l-2.6-1.3l1-4.1l-2.2-9v-0.1l4.2-3.6l-1.4-2.5l3.2-5.1l-0.8-8.8 l1.9-2l5.7,2.1l2-2.7L516.2,107.97z\",\"name\":\"Meuse\"},\r\n \"87\":{\"path\":\"m348.9,364.1l-1.6,2.7l-5.7-2.2l2-2.7l-7.2-5.6 l-9.5,1.1l0.1-4.7l-6.2-3h-0.1l3.4-3.8l2.8-0.6l4-8l2.6-1.1l0.6-3.2l-4.7-3.6l0.2-5.1v-3.5l3-5l5.6-2.7l1.3-3l3.3,0.9l1.3-2.4 l0.8,0.3l2.6,1.1l5.8-1.1l1.7,2.5l1.2,2.6l-3,5.3l6.6,9.8l1.8,5.2l-0.9,3.4l2.9,1.5l0.1,2.8l6.4,0.5l4.7,3l0.6,5.9l-8.7,4l-4.9,4.6 l-5.7,1.3l-4.7,4L348.9,364.1z\",\"name\":\"Haute Vienne\"},\r\n \"18\":{\"path\":\"m385.3,235.4l5-2.4l13.5,3.1l3.9,4.8l9-1.7l2,6.5l-1.7,5.8l2.7,2.1 l3.1,7.6l0.3,5.9l2.2,2l-0.2,5.8l-1.3,8.9h-0.1h-4l-4.8,3.7l-8.4,2.9l-2.3,1.9l1.7,5.3l-1.7,2.4l-8.7,1l-3.5,5.9v0.1l-4.9-0.2 l1.5-3.5l-0.9-8.9l-4.7-7.9l1.4-2.7l-2.3-2.2l2.5-5.1l-2.3-11.7l-11.6-1.6l2.8-5.5l2.8,0.1l0.6-2.8l9.7-2l-2.1-5.9l5.9-4.1 L385.3,235.4z\",\"name\":\"Cher\"},\r\n \"03\":{\"path\":\"m443.1,292.3l5.9-6l6.7,13.5l7.9,2.9l1.6,2.4l-0.5,5.5l-3.7,4.6 l-3.9,1.3l-0.5,3l1.5,12.4l-5.5,4.8l-3.5-4.3l-6.4-0.4l-1.4-3.2l-13.1-0.5l-1.6-2.5l-3.3,0.5l-4.4-4.5l1.2-2.8l-2.3-1.7l-11.2,8 l-2.5-1.2l-3.6-8.4c-2.5-1.6-4.9-3.2-7.4-4.8L392,307v-0.1l3.5-5.9l8.7-1l1.7-2.4l-1.7-5.3l2.3-1.9l8.4-2.9l4.8-3.7h4h0.1l5.7,6.3 l6.4,0.2l2.8-1.7L443.1,292.3z\",\"name\":\"Allier\"},\r\n \"41\":{\"path\":\"m357.9,256.4l-6,3.2l-4.2-6.7l-2.6,1.3 l-2.4-1.9l1.2-9.1l-3.4-5.1l0.7-2.7l-6-3.4l-2.2,1.8l0.2-5.5l-10.5-0.5l0.6-3.5l3.2-1.1l6.3-10.6l-0.4-5.5l-1.7-2.2l2-2.1v-0.1 l6.3-1.3l12.8,10.8l5.5-3.5l3.3,1.9l2.5,7.1l-1.8,3.2l1.7,5.6l3-1.3l2.4,1.5l1.1,3.8l2.9,0.6l1.9-2.3l15.2,1.6l0.8,2.6l-5,2.4 l5.1,7.6l-5.9,4.1l2.1,5.9l-9.7,2l-0.6,2.8l-2.8-0.1l-5.2-3.5l-6.4,0.9l-1.5,2.6L357.9,256.4z\",\"name\":\"Loir-et-Cher\"},\r\n \"70\":{\"path\":\"m579.1,225.9l1.4,5.5l-0.2,0.1l-5.9-0.8 l-0.5,2.8l-3.2,0.4l-1.8,2.2l-2.8-0.9l-5.6,1.9l-3,4.7L535.2,252l-5.4-0.1l-2.3-2l-3.9-8.2l-2.6-1.4l4.6-4.1l-0.1-3.2l-2-3l-2.7,1.6 h-0.1l1.2-2.5l6.6-3.9l2.1,1.8l3.2-1l0.3-8.3l2-2.4l2.9,0.3l2.3-3.2l-0.2-1.4l8-5.8l7,4.3l5.8-1.6l4.9,3.6l5.1-2.2l8.4,6.6l-2.3,5.7 L579.1,225.9z\",\"name\":\"Haute Saône\"},\r\n \"23\":{\"path\":\"m396.6,343.5l4.4,5.5l-2.4,2.4l-2.7-0.8 l-2.3,2.6l-11.2-5.2l-7,3.4l-0.6-5.9l-4.7-3l-6.4-0.5l-0.1-2.8l-2.9-1.5l0.9-3.4l-1.8-5.2l-6.6-9.8l3-5.3l-1.2-2.6l2.8-2.9l11.5-1.1 l1.9-2.5l13.2,2.7l2.7-0.8l4.9,0.2l1.1,3.9c2.5,1.6,4.9,3.2,7.4,4.8l3.6,8.4l-0.5,4.1l2.3,6.7L396.6,343.5z\",\"name\":\"Creuse\"},\r\n \"36\":{\"path\":\"m357.8,308.5l-2.8,2.9l-1.7-2.5l-5.8,1.1 l-2.6-1.1l1.5-2.8l-2.5-1.3l-2.6-5.4h-2.9l-4.6-4.4l0.8-5.8l-2.1-3l5.6-0.5l-1-2.7l3.3-11.9l5.1-2.7l2.3,1.7l2.6-3.5l2.5-2.1l-1-4.9 l6-3.2l2.5,1.3l1.5-2.6l6.4-0.9l5.2,3.5l-2.8,5.5l11.6,1.6l2.3,11.7l-2.5,5.1l2.3,2.2l-1.4,2.7l4.7,7.9l0.9,8.9l-1.5,3.5l-2.7,0.8 l-13.2-2.7l-1.9,2.5L357.8,308.5z\",\"name\":\"Indre\"},\r\n \"971\":{\"path\":\"M35.87,487.13l0.7,7.2l-4.5-1.1l-2,1.7l-5.8-0.6l-1.7-1.2l4.9,0.5l3.2-4.4L35.87,487.13z M104.87,553.63 l-4.4-1.8l-1.9,0.8l0.2,2.1l-1.9,0.3l-2.2,4.9l0.7,2.4l1.7,2.9l3.4,1.2l3.4-0.5l5.3-5l-0.4-2.5L104.87,553.63z M110.27,525.53 l-6.7-2.2l-2.4-4.2l-11.1-2.5l-2.7-5.7l-0.7-7.7l-6.2-4.7l-5.9,5.5l-0.8,2.9l1.2,4.5l3.1,1.2l-1,3.4l-2.6,1.2l-2.5,5.1l-1.9-0.2 l-1,1.9l-4.3-0.7l1.8-0.7l-3.5-3.7l-10.4-4.1l-3.4,1.6l-2.4,4.8l-0.5,3.5l3.1,9.7l0.6,12l6.3,9l0.6,2.7c3-1.2,6-2.5,9.1-3.7l5.9-6.9 l-0.4-8.7l-2.8-5.3l0.2-5.5l3.6,0.2l0.9-1.7l1.4,3.1l6.8,2l13.8-4.9L110.27,525.53z\",\"name\":\"Guadeloupe\"},\r\n \"972\":{\"path\":\"m44.23,433.5l1.4-4.1l-6.2-7.5l0.3-5.8l4.8-4 l4.9-0.9l17,9.9l7,8.8l9.4-5.2l1.8,2.2l-2.8,0.8l0.7,2.6l-2.9,1l-2.2-2.4l-1.9,1.7l0.6,2.5l5.1,1.6l-5.3,4.9l1.6,2.3l4.5-1.5 l-0.8,5.6l3.7,0.2l7.6,19l-1.8,5.5l-4.1,5.1h-2.6l-2-3l3.7-5.7l-4.3,1.7l-2.5-2.5l-2.4,1.2l-6-2.8l-5.5,0.1l-5.4,3.5l-2.4-2.1 l0.2-2.7l-2-2l2.5-4.9l3.4-2.5l4.9,3.4l3.2-1.9l-4.4-4.7l0.2-2.4l-1.8,1.2l-7.2-1.1l-7.6-7L44.23,433.5z\",\"name\":\"Martinique\"},\r\n \"974\":{\"path\":\"m41.33,265.3l-6.7-8.5l1.3-6l4.1-2.4l0.7-7.9 l3.3,0.4l7.6-6.1l5.7-0.8l21,4l5,5.3v4.1l7.3,10.1l6.7,4.5l1,3.6l-3.3,7.9l0.9,9.6l-3.4,3.5l-17.3,2.9l-19.6-6.5l-3.8-3.6l-4.7-1.2 l-0.9-2.5l-3.6-2.3L41.33,265.3z\",\"name\":\"La Réunion\"},\r\n \"973\":{\"path\":\"m95.2,348.97l-11.7,16.4l0.3,2.4l-7.3,14.9 l-4.4,3.9l-2.6,1.3l-2.3-1.7l-4.4,0.8l0.7-1.8l-10.6-0.3l-4.3,0.8l-4.1,4.1l-9.1-4.4l6.6-11.8l0.3-6l4.2-10.8l-8.3-9.6l-2.7-8 l-0.6-11.4l3.8-7.5l5.9-5.4l1-4l4.2,0.5l-2.3-2l24.7,8.6l9.2,8.8l3.1,0.3l-0.7,1.2l6.1,4l1.4,4.1l-2.4,3.1l2.6-1.6l0.1-5.5l4,3.5 l2.4,7L95.2,348.97z\",\"name\":\"Guyane\"},\r\n \"63\":{\"path\":\"m449.1,332.4l3.5,4.3l2.5,2.7l-2.1,6.3l4.7,7.7 l4.6,3.8l2.7,7.5l-3,7.1l-11.1,0.7l-5.2-3.2l-8.5-0.1l-9.6,3.2v0.1l-3.7,4.1l-6.5-5.4l-6.7-0.3l-1.5-2.5l-7.5-3.5l-1.2-7.9l1.7-2.4 L401,349l-4.4-5.5l9.3-8.6l-2.3-6.7l0.5-4.1l2.5,1.2l11.2-8l2.3,1.7l-1.2,2.8l4.4,4.5l3.3-0.5l1.6,2.5l13.1,0.5l1.4,3.2L449.1,332.4z\",\"name\":\"Puy de Dôme\"},\r\n \"43\":{\"path\":\"m485.4,376.3l2.2,2.4l-0.9,4.1v3.1l-2.6-1.2 l-1.5,5.2l-2.6,2.3l0.7,2.8l-3.4,0.4l-3.4,5.9l-5.9,1.9l-6.7,6.4l-9-7.7l-2.9-0.2l-0.1,2.8l-6.4-1.2l-1.5-5.7l-2.3-1.7l-3.5-8 l3.4-0.2l-2.6-1.1l-3.3-8.7l-5.5-1.5v-3.9v-0.1l9.6-3.2l8.5,0.1l5.2,3.2l11.1-0.7l2.8-0.8l2.3,2l2.8-0.4l6.2-3l6,2.2l0.7,5.5 L485.4,376.3z\",\"name\":\"Haute Loire\"},\r\n \"42\":{\"path\":\"m499.3,365.9v4.4l-5,2.7l-3.2,4.9l-3.5,0.8 l-2.2-2.4l-2.6,1l-0.7-5.5l-6-2.2l-6.2,3l-2.8,0.4l-2.3-2l-2.8,0.8l3-7.1l-2.7-7.5l-4.6-3.8l-4.7-7.7l2.1-6.3l-2.5-2.7l5.5-4.8 l-1.5-12.4l0.5-3l3.9-1.3v3l5.2,3.3l8-1.5l2.1,2.1l5.7-3.8l0.01-0.09l2.09,2.99l-4.9,3.5l-1.6,8.6l5.2,6.7l-1.7,5.9l2.3,1.6 l-1.3,2.5l1.1,3l4.6,4.1l5.9,2.1l0.9,3l4.6,2.6h-0.1L499.3,365.9z\",\"name\":\"Loire\"},\r\n \"15\":{\"path\":\"m435.6,387.9l3.5,8l-1,1l-6.8,5.7l-1.7-2.3 l-6.9,15.9l-2.6-5.1l0.5-3l-2.4-1.6l-1.3-4.2l-5.2-4l-4.7,4.2l-3,9.1l-3.8,4.8l-6.4-1.5l-5.1,3.2l-3.3-5l1.7-5.8l-3.8-6l-1-5.4h0.1 l3.2-1.9l-1.5-3.4l3.1-1.1l0.3-3.5l2.3-1.9l-1.8-2.2l7.6-9.5l0.6-3.5l6.2,2l-0.7-6l7.5,3.5l1.5,2.5l6.7,0.3l6.5,5.4l3.7-4.1v3.9 l5.5,1.5l3.3,8.7l2.6,1.1L435.6,387.9z\",\"name\":\"Cantal\"},\r\n \"19\":{\"path\":\"m363.6,392.3l-8.1,0.8l-3.5-7l-3.2-0.7l-0.2-3 l-2.3-1.5l2-1.8l-1.7-3l3.6-4.6l-2.9-4.7l1.6-2.7l2.5,1.2l4.7-4l5.7-1.3l4.9-4.6l8.7-4l7-3.4l11.2,5.2l2.3-2.6l2.7,0.8l2.4-2.4 l1.2,5.6l-1.7,2.4l1.2,7.9l0.7,6l-6.2-2l-0.6,3.5l-7.6,9.5l1.8,2.2l-2.3,1.9l-0.3,3.5l-3.1,1.1l1.5,3.4l-3.2,1.9h-0.1l-6.7-0.2 l-5.3,2.7L363.6,392.3z\",\"name\":\"Corrèze\"},\r\n \"46\":{\"path\":\"m385.4,413.1l3.3,5h-0.1l-1.7,1.5L381,421 l-7.6,5l0.8,9.1l-6.2,0.8l-7.5,5.5l-2.6-2.3l-8.7,2.5l-0.5-4l-2.4,1.5l-2.7-1l-4.5-4l2.1-2.3l-3.1,0.5l-2.7-9.1l3.4-3.1l4.7-6.5 l6-3.4l-0.6-3.6l4.5-3.2l1.4-5.3l0.7-5l8.1-0.8l6.7,6.1l5.3-2.7l6.7,0.2l1,5.4l3.8,6L385.4,413.1z\",\"name\":\"Lot\"},\r\n \"71\":{\"path\":\"m517.2,270.2v0.1l0.4,2.9l8.3,4.4l-5,3.7 l2.5,1.6l2.2,8.7l-2.8,5l0.8,5.3l-2.8,1.1l-4.8-3.3l-5.4,1.3l-5.9-1.5l-5.9,20.9l-5.7-7.7l-1.6,2.3l-2.5-1.5l-2.2,1.6l-2.2-1.7 l-2.3,1.9l-0.29,2.91L482,318.2v0.1l-5.7,3.8l-2.1-2.1l-8,1.5l-5.2-3.3v-3l3.7-4.6l0.5-5.5l-1.6-2.4l-7.9-2.9l-6.7-13.5l7,2.8 l11.3-5.7l-0.7-2.9l1.9-2.1l-4-7l2.1-1.7l-0.3-5.9l2.8-1l2.7-1.7l1.1-0.3l2.4,2.6l5.7,1.7l1.3,2.6l5.5,1.9l5.6,6.3l8.8-4.2 L517.2,270.2z\",\"name\":\"Saône et Loire\"},\r\n \"26\":{\"path\":\"m535.1,404.4l-3,0.5l-0.8-17.5l-3,1.7l-8.2-1.9 l-2.7,1l1.1-6.3l-3.3-7.8l-4.9-2.7l-9,3.1l0.5,10.3l3.8,11.3l-1.5,6.2l-3.5,4.5l1,7.1l-3,5.9l-2.1,14.4l5.9,0.7l3.5,4.2l8.7-3.9 l2.4,1.4l2.5-2.2l0.5,5.8l9.3,0.9l0.1,2.8l5.2,2.3l4.3-4.8l2.3-0.1l1-0.2l0.2-4.7l-10-5.7l-1.5-2.6l3.2-5.1l4.2,1.4l2.5-2.5l-3-2.3 l2.5-6.7l5.8-0.3l0.3-3.4l-5.9-0.8L535.1,404.4z\",\"name\":\"Drôme\"},\r\n \"21\":{\"path\":\"m523.6,241.7l3.9,8.2l-1.2,1.3l-1.8,8.2 l-6.2,6.8l-1.1,4.1v-0.1l-15,1.5l-8.8,4.2l-5.6-6.3l-5.5-1.9l-1.3-2.6l-5.7-1.7l-2.4-2.6V260l0.4-3.2l-3.7-1.2l-1.3-6h0.1l-1.3-2.7 l1.3-8.1l6.7-10.4l-1.7-2.3l2.8-2.1l0.3-3.7l-3.1-3.9l1.9-3.1l2.2-2l6.1-0.9l4.7-3.9l3.9,0.5l3.5,0.7l0.5,2.7l2.6,1l-0.3,2.9 l2.9,0.3l1.8,2.2l1,3.1l-2.8,2.4l2.3,4.8l9.2,2l3,1.6v2.8l4.8-1.9h0.1l2.7-1.6l2,3l0.1,3.2l-4.6,4.1L523.6,241.7z\",\"name\":\"Côte d'Or\"},\r\n \"76\":{\"path\":\"m314.41,119.8l-7.61-1.8l-1.2-2l-0.1-2.3 l4.4-9.7l13.8-7.4L326,95l10.3-2.1l4.8-1.8l2.4,0.3L352,87l5.11-4.09l11.79,9.99l3.4,8.4l-3.1,4.7l1.4,8.7l-1.3,8l-13.1-3.3l-4.8,7 l-8.2,2.5l-1.4,2.7l-5.4-2.4l-2.1-2.1l1.9-2.4l-4.9-3l-3.4,0.7l-7.6-5L314.41,119.8z\",\"name\":\"Seine Maritime\"},\r\n \"38\":{\"path\":\"m513.6,349.4l-0.3-7.1l6,2l3-5.1l2.8-0.7 l11.2,15.2l6.5,10.5l6.2,0.2l0.3-2.8l9.4,2.1l2.7,6.3l-2.3,5.5l1,5.4l5.2,1.5l-1.6,3.8l1.8,4.2l4.4,3.1l-0.4,5.8l-3.1-1.1l-12.6,3.9 l-0.9,2.8l-5.5,1.2l-1,3.1l-5.9-0.8l-5.4-4l-3,0.5l-0.8-17.5l-3,1.7l-8.2-1.9l-2.7,1l1.1-6.3l-3.3-7.8l-4.9-2.7l-9,3.1l-2-4.2v-4.4 l-0.2-1.1h0.1l4.4-3.9l-1.9-2.5l2.5-2.5l6.9-1.5L513.6,349.4z\",\"name\":\"Isère\"},\r\n \"58\":{\"path\":\"m462.8,250l5.5-0.4l1.3,6l3.7,1.2l-0.4,3.2v0.8 l-1.1,0.3l-2.7,0.4v1.3l-2.8,1l0.3,5.9l-2.1,1.7l4,7l-1.9,2.1l0.7,2.9l-11.3,5.7l-7-2.8l-5.9,6l-4.4-3.7l-2.8,1.7l-6.4-0.2l-5.7-6.3 l1.3-8.9l0.2-5.8l-2.2-2l-0.3-5.9l-3.1-7.6l-2.7-2.1l1.7-5.8l-2-6.5l1.5-2.4l2.8-0.7v0.1h3.4l7.4,4.8h6l4.6-4.3l3.9,5.6l5.5,3 l5.8-0.9l0.9,3.7l2.8-0.9L462.8,250z\",\"name\":\"Nièvre\"},\r\n \"69\":{\"path\":\"m493.1,312.7l5.7,7.7l-1.5,8l3.1,9.2l2.8-0.5 l3.7,5.7l6.4-0.5l0.3,7.1l-2.5,5l-6.9,1.5l-2.5,2.5l1.9,2.5l-4.4,3.9l-4.6-2.6l-0.9-3l-5.9-2.1l-4.6-4.1l-1.1-3l1.3-2.5l-2.3-1.6 l1.7-5.9l-5.2-6.7l1.6-8.6l4.9-3.5l-2.09-2.99l0.29-2.91l2.3-1.9l2.2,1.7l2.2-1.6l2.5,1.5L493.1,312.7z\",\"name\":\"Rhône\"},\r\n \"91\":{\"path\":\"m401.6,164.8l2.3,2.2l0.5,1l-4,17.2L397,190 l-3.7-0.6l-2.8,1.8l-1.5-2.7l-1.9,2.9l-6.9,0.7l-2.8-10.6l4.6-8.6l-0.7-2.9l1.6-2.6l7.1-5.4v-0.1l3.7,1.6l5.1,2.1L401.6,164.8z\",\"name\":\"Essonne\"},\r\n \"45\":{\"path\":\"m393.3,189.4l3.7,0.6l0.7,3.1l4.2,4.3l-0.6,2.7 l-2.6,1.5l9.2,0.7l11.2-2.7l6.7,7.5l0.4,5.8l-4.6,4.9l1.1,2.9l-1.6,2.4l-5.3,3.3l3,2.8l2.2,6.9l-2.8,0.7l-1.5,2.4l-9,1.7l-3.9-4.8 l-13.5-3.1l-0.8-2.6l-15.2-1.6l-1.9,2.3l-2.9-0.6l-1.1-3.8l-2.4-1.5l-3,1.3l-1.7-5.6l1.8-3.2l-2.5-7.1l-0.2-2.8l6-2.8l8.5-0.6 l4.8-10.8l0.5-1.5l6.9-0.7l1.9-2.9l1.5,2.7L393.3,189.4z\",\"name\":\"Loiret\"},\r\n \"86\":{\"path\":\"m329.6,320.8v3.5l-4.8-0.6l-1.3,2.5l-3.8,1.4 l-4.1-3.9l-2.2,1.8l1.4,2.4l-2.9,0.8l-9.1-3l0.8-2.8l-4.5-3l3.2-8.5l-6.4-0.2l0.1-2.8l-2.1-2l-0.5-5.8l3.4-5.5l-1.5-3l-2.7,0.9 l4.5-14.1l-2.7-1.2l0.8-3l-3.4-9l6.6-5.9l5.5,3.2l0.3,3.2l2.9-0.3l1.3,6.1l2.8,1.4l10-0.4l-1.4-2.9l5.3,3l0.3,3.1l7.1,10l2.1,3 l-0.8,5.8l4.6,4.4h2.9l2.6,5.4l2.5,1.3l-1.5,2.8l-0.8-0.3l-1.3,2.4l-3.3-0.9l-1.3,3l-5.6,2.7L329.6,320.8z\",\"name\":\"Vienne\"},\r\n \"10\":{\"path\":\"m442.2,186.9l-3.6-1.5l-0.4-8.5l2.9-0.8l3-5 l3.2,4.5l9,1.2v-3.3l9.5-7.6l6.5-0.9l3.1,0.5l0.4,6.1l2.6,2c1.9,0.8,3.8,1.5,5.6,2.3l2.5-1.5l3.3,1.1l-0.6,3.4l2.4,5.2l5.6,3 l0.5,9.9l-0.1,2.7l-5.6,2.5l0.2,4.8l-3.9-0.5l-4.7,3.9l-6.1,0.9l-2.2,2l-2.9-1.4l-12.6,1.6l-5-10.9l-3.6-4.1l-2,2.2l-2.5-8.3 L442.2,186.9z\",\"name\":\"Aube\"},\r\n \"89\":{\"path\":\"m425.8,207.1l-6.7-7.5l3.9-5.4l0.2-5.8l15.4-3 l3.6,1.5l4.5,5.5l2.5,8.3l2-2.2l3.6,4.1l5,10.9l12.6-1.6l2.9,1.4l-1.9,3.1l3.1,3.9l-0.3,3.7l-2.8,2.1l1.7,2.3l-6.7,10.4l-1.3,8.1 l1.3,2.7h-0.1l-5.5,0.4l-1.5-2.8l-2.8,0.9l-0.9-3.7l-5.8,0.9l-5.5-3l-3.9-5.6l-4.6,4.3h-6l-7.4-4.8H421v-0.1l-2.2-6.9l-3-2.8 l5.3-3.3l1.6-2.4l-1.1-2.9l4.6-4.9L425.8,207.1z\",\"name\":\"Yonne\"},\r\n \"95\":{\"path\":\"m374.3,144l-9.5-0.8l4-9.5l1.6,3.2l5.6,1.1 l6.3-1.8l9.2,2.2l2.2-1.6l10.9,6.4l0.2,2l-1.7,2.3l-0.1,0.1c-1.5,1.1-3.1,2.2-4.7,3.3l-2.6-1.1l-3.3,1.3l-3.6,2.6l-5.5-6.1 L374.3,144z\",\"name\":\"Val d'Oise\"},\r\n \"37\":{\"path\":\"m303.9,263l-5.5-3.2v-0.1l5.8-15.3l1.7-9.3 l0.7-2.4l6.1,2.6l-0.5-3.3l2.8,0.3l7.7-4.5l10.5,0.5l-0.2,5.5l2.2-1.8l6,3.4l-0.7,2.7l3.4,5.1l-1.2,9.1l2.4,1.9l2.6-1.3l4.2,6.7 l1,4.9l-2.5,2.1l-2.6,3.5l-2.3-1.7l-5.1,2.7l-3.3,11.9l1,2.7l-5.6,0.5l-7.1-10l-0.3-3.1l-5.3-3l1.4,2.9l-10,0.4l-2.8-1.4l-1.3-6.1 l-2.9,0.3L303.9,263z\",\"name\":\"Indre et Loire\"},\r\n \"72\":{\"path\":\"m312.7,235.3l-6.1-2.6l-7.4-0.1l-5.2-3.3 l-3.1,1.3l-2-2l-0.2-3.5l-6.7,0.2l-0.6-2.7l-1.5-5.6l5.5-7.7l-1.4-3.4l5-4.6l-1.2-2.9l4.4-4l-0.3-6.9l4.3-2.7l3,0.1l11-5.9l2.8,1.5 l1.6,8.4l7.2,5l2.9-1l3.1,3.5l3.2,0.7l2.1,3.8l-0.4,1.8v0.1l-2,2.1l1.7,2.2l0.4,5.5l-6.3,10.6l-3.2,1.1l-0.6,3.5l-7.7,4.5l-2.8-0.3 L312.7,235.3z\",\"name\":\"Sarthe\"},\r\n \"78\":{\"path\":\"m364.1,158.1l-3.6-6.6l-1.8-5.8l2.3-2.6 l3.8,0.1l9.5,0.8l9,3.6l5.5,6.1l-2,3.1l3.2,5.2l-7.1,5.4l-1.6,2.6l0.7,2.9l-4.6,8.6l-3.1,0.7L372,180l-1.2-5.6l-6.2-5.4L364.1,158.1z\",\"name\":\"Yvelines\"},\r\n \"28\":{\"path\":\"m333.1,200.9l-2.1-3.8l-1.1-7.5l7.5-5.1 l-0.5-4.6l0.2-4.5l-4.8-4.4l-0.1-3.2l2.4-2.6l6-1.1l5.3-3.2l2.8,1.6l6-1.3l-0.2-2.8l6-6.9l3.6,6.6l0.5,10.9l6.2,5.4l1.2,5.6l2.3,2.2 l3.1-0.7l2.8,10.6l-0.5,1.5l-4.8,10.8l-8.5,0.6l-6,2.8l0.2,2.8l-3.3-1.9l-5.5,3.5L339,201.4l-6.3,1.3L333.1,200.9z\",\"name\":\"Eure-et-Loir\"},\r\n \"82\":{\"path\":\"m360,458.1l-0.5,2.8l-11.7,4.3l2.2,2.3 l-5.8,2.5l-1.7-2.3l-9.9,0.9l-2-6.9l-5.1-4.1l3.3-4.6l-5.3-1.7l3.6-4.7l2.8,0.2l-1.3-2.7l4.4-5.5l-2.4-1.4v-2.9l7.5-2l3.1-0.5 l-2.1,2.3l4.5,4l2.7,1l2.4-1.5l0.5,4l8.7-2.5l2.6,2.3l7.5-5.5l6.2-0.8l-0.4,3l3.1,2.7l-2.3,2.4l4.3,3.6l-9.2,3.2l-2.7-1.1l-3,1.1 l1.8,2.2l-1,2.7L360,458.1z\",\"name\":\"Tarn et Garonne\"},\r\n \"66\":{\"path\":\"m427.65,528.27l0.25,15.63l3.9,3.3l1.9,3.8 h-2.3l-8.1-2.7l-6.9,3.9l-3-0.2l-2.4,1.1l-0.6,2.4l-2.1,1.2l-2.4-0.7l-2.9,1l-4-3.1l-7-2.9l-2.5,1.4h-3l-1,2.1l-4.6,2l-1.9-1.7 l-1.7-4.8l-7.5-2l-2-2.1l2.02-2.31l7.98-2.39l1.3-2.6l7.4-0.2l8.6-3.9l-1.4-6l2.7-1.4l13.6,1l8.2-5.4L427.65,528.27z\",\"name\":\"Pyrénées Orientales\"},\r\n \"11\":{\"path\":\"m435.07,504.37l-1.47,1.53l-5.2,9.3l-0.9,3.5 l0.15,9.57l-9.45-5.57l-8.2,5.4l-13.6-1l-2.7,1.4l1.4,6l-8.6,3.9l-4.8-5.6l-3.3,1.2l-3.4-1.5l-0.8-5.7l3.2-0.6l1.2-3l-2.4-2.5 l2.2-2.3l-0.2-3.1l-2.2-5.2l-8.7-3.9l-2.2-5.5l8.4-10l1.4,2.7l5.2-1.8l0.5-0.8l1.8,2.3l6.3,0.9l1.1-3.3l2.8-0.5l12,1.4l-0.5,2.8 l3.5,5l2.5-1.6l1.4,2.9l3.1-0.8l3.8-5.3l1,2.9l13.8,4.7l1.7,2L435.07,504.37z\",\"name\":\"Aude\"},\r\n \"64\":{\"path\":\"m276.9,513.4l3.4-0.8l-0.4-2.9l8-9.3l-0.8-3.1 l2.7-1.4l-0.5-7.2h-2.9l1.5-2.8l-2.5-5.8l-6.6-0.3l-8.6,1.5l-3.3-1.1l-4.8,1.9l-2.2-2l-2.3,1.5l-2.5-2.3l-9.8,2l-1.6,2.2l-2.5-1.4 l-2.7,1.3l-1.2-2.8l-11,2.5l-3.98-1.89l-3.52,4.89l-2.7,1.9l-4.5,0.9l1.9,4.5l4.5-0.2l0.2,2.2l2.4,1l2.2-2.1l2.4,1.3l2.5,0.1 l1.4,2.8l-2.5,6.7l-2.1,2.2l1.3,2.2l4.3-0.1l0.7-3.4l2.3-0.1l-1.3,2.4l5.9,2.3l1.5,1.8h2.5l6.1,3.8l5.8,0.4l2.3-1l1.4,2.1l0.3,2.8 l2.7,1.3l3.9,4l2.1,0.9l1.1-2.1l2.7,2.1l3.6-1.1l0.19-0.16l1.41-9.34L276.9,513.4z\",\"name\":\"Pyrénées Atlantiques\"},\r\n \"65\":{\"path\":\"m314.7,524.1l-5.5,3.2l0.6,7l-0.7,0.2l-2.3-1.6 l-2.4,1.8l-2.5-0.5l-1.9-1.7l-3.9-0.3l-6.9,2.1l-2.2-0.9l-2.1-1.7l-1.1-2.5l-7.8-5.5l-2.11,1.84l1.41-9.34l1.6-2.8l3.4-0.8l-0.4-2.9 l8-9.3l-0.8-3.1l2.7-1.4l-0.5-7.2h-2.9l1.5-2.8l-2.5-5.8l3.9-0.5l2,3.5l3.3,1.3l2.6,8.7l5.5-0.6l1.4,3l12.4,2.2l-7.1,11.2l4.6,4 l-0.6,3.5l3.1-0.3l0.8,2.7L314.7,524.1z\",\"name\":\"Hautes Pyrénées\"},\r\n \"09\":{\"path\":\"m369.82,543.59l0.78-0.89l-2.6-1.1l-2-2.1 l-3.7-0.1l-1.7-1.7l-2.8,0.4l-1.3,2.1l-2.4-0.8l-2.8-5.9l-10-0.6l-1.3-2.8l-13.2-3.9l-0.5-1.4l3.8-5.2l2.8-1v-5.9l3.9-4l2.8-1.1 l6.2,4.1l-0.4-5.6l5.4-1.6l-3-4.8l2.8-1.1l3.4,5.5l2.8-0.5l0.6-2.8l5.7,2.2l2-2.3l2.2,5.5l8.7,3.9l2.2,5.2l0.2,3.1l-2.2,2.3l2.4,2.5 l-1.2,3l-3.2,0.6l0.8,5.7l3.4,1.5l3.3-1.2l4.8,5.6l-7.4,0.2l-1.3,2.6L369.82,543.59z\",\"name\":\"Ariège\"},\r\n \"34\":{\"path\":\"m474.1,481.6l-2.4-0.1l-5.9,2.6l-3.6,3.2 l-7.2,4.6l-4.3,4.2l2.1-3.5l-4.3,6.6h-6.8l-5.5,4l-1.13,1.17l-0.17-0.17l-1.7-2l-13.8-4.7l-1-2.9l-3.8,5.3l-3.1,0.8l-1.4-2.9 l-2.5,1.6l-3.5-5l0.5-2.8l3.4-2l0.8-3l-0.7-9.7l6.1,2.2c2.3-1.5,4.6-2.9,6.8-4.4l5.7,0.1l0.1-8.7l6.3,1.3l3-5.3l3.7-1l2.9,0.1 l0.4,2.9l2.2-1.7l5.3,2.5l0.1-2.8l4.2-3.9l3.9-0.6l1.9,2.6l-0.9,2.7l6.8,1.4l0.2,3l3,0.2l6.1,6.7l1.5,3L474.1,481.6z\",\"name\":\"Hérault\"},\r\n \"31\":{\"path\":\"m326.8,526.2l-5.5-1.5l-1.2,2.4l0.2,7.6 l-8.8-0.7l-1.7,0.3l-0.6-7l5.5-3.2l2.6-5.3l-0.8-2.7l-3.1,0.3l0.6-3.5l-4.6-4l7.1-11.2l3.1-1.1l3.5-5.3l11.4,2.5l0.7-5.8l6.5-6.1 l-9.1-13.3l9.9-0.9l1.7,2.3l5.8-2.5l-2.2-2.3l11.7-4.3l1.4,6.3l2.6,1.2l0.2,2.8l2.3,2.1l-0.7,5.4l14.3,9.3l1,2.8l-0.5,0.8l-5.2,1.8 l-1.4-2.7l-8.4,10l-2,2.3l-5.7-2.2l-0.6,2.8l-2.8,0.5l-3.4-5.5l-2.8,1.1l3,4.8l-5.4,1.6l0.4,5.6l-6.2-4.1l-2.8,1.1l-3.9,4v5.9 l-2.8,1l-3.8,5.2L326.8,526.2z\",\"name\":\"Haute Garonne\"},\r\n \"06\":{\"path\":\"m605.3,477.1l-3.2-0.1l-1.3,1.8l-0.1,2.2 l-0.42,0.77l-2.18-3.97l0.8-2.9l-5.6-2.6l-1.7-5.6l-5.5-2.9l3-1.4l-1.2-2.6l5.2-3.8l5.2,0.6l-7-7.7l-4.3-8.5l2-5.3l6.79-7.79 l6.91,7.79l6.9,1.6l4.2,2.8l2.5-0.4l1.8,1.4l10.3-2.4l2.7-1.8l-0.3,2.6l1.5,2.2l0.3,3.2l-1.6,1.9l-0.2,2.3l-2.7,1.6l-3.3,5l-0.5,1.6 l1.1,2.7l-1.1,2.7l-3.5,2.9l-2.3,0.5l-0.9,2.4l-3-0.9l-1.5,2.1l-2.3,0.5L609,472l0.1,2.8l-2.4,0.6L605.3,477.1z\",\"name\":\"Alpes Maritimes\"},\r\n \"20\":{\"path\":\"m643.7,551.5v1l-3.2,1.7l-3.8-0.5l-3.7-11 l-2.7-1.1l-0.5-3.2l-6-5.9l-6-3.4l-1.2-3.5l-13.6-2.1v-0.2l3.9-5l-0.3-3.4l2.2-2.8l2.8-0.3l0.9-2.9l10.7-4.2l3.5-4.9l8.6,1.3 l-0.5-17.4l2.4-2l2.9,1.1l0.18,0.89l1.52,8.21l-0.5,10.6l4,5.6l3.8,26l-5.4,11.9V551.5L643.7,554.2l3.2-1.7l0.7,8.4l-0.15,0.54 l-1.85,4.86l-2.7,1.9l3.3,0.4l-5.8,14.7l-3.1-1.2l-1.2-2.8l-11.2-3.4l-4.8-4.4l0.2-3l4.9-3.3l-9.5-1.9l2.7-7l-0.9-5.8l-7.3,2.6 l3-8.4l2.6-1.6l-7.9-4.4l-1.1-5.5l5.3-3.8l-3.8-4.2l-2.6,1l0.5-2.7l13.6,2.1l1.2,3.5l6,3.4l6,5.9l0.5,3.2l2.7,1.1l3.7,11 L640.5,554.2z\",\"name\":\"Corse\"},\r\n \"83\":{\"path\":\"m600.28,481.77l-1.38,2.53l-6.8,1.7l-0.7,2.5 l-5.5,5.7l5,0.7l-2,4.8l-4,0.2l-4.8,2.5l-3.5,1.1l0.1,2.7l-4.9-1.5l-2.7,0.5l-1.6,1.6l-0.4,2.3l-2.2,1.6l1.4-1.8l-2.4-1.7l-2.2,0.7 l-1.6-1.6l-3.1,0.1l0.9,2.2l-2.3-0.4l-1.5,1.7l-3-1.1l0.6-2.3l-6.4-4.1l-0.5-0.1l0.2-2.1l2.5-2l-2.2-6.3l1.1-2.6l2.7-0.5l-5.5-9.1 l2-5.3l3.3-0.8l-1.9-3.8l0.1-0.4l5.3,0.2l2.7-1.8l4,4.8l10.1-8.5l5.9,3.6l1.2-3.5l9.8-0.4l5.5,2.9l1.7,5.6l5.6,2.6l-0.8,2.9 L600.28,481.77z\",\"name\":\"Var\"},\r\n \"30\":{\"path\":\"m480,487.2l-2.8-0.6l-1.9-1.6l-1.1-3.4h-0.1 l3.3-4.4l-1.5-3l-6.1-6.7l-3-0.2l-0.2-3l-6.8-1.4l0.9-2.7l-1.9-2.6l-3.9,0.6l-4.2,3.9l-0.1,2.8l-5.3-2.5l-2.2,1.7l-0.4-2.9l-2.9-0.1 l-0.3-1.5l4.3-5.3l-8.4-4.1l2.8-1.1l2-3.9l7.8,3.4l3.9-0.5l0.1-3.3l8.7,2.2l6.3-1.8l-1.4-3l1.2-2.9l-3.9-7.7l3.6-2.5l1.1-2.1 l2.7,5.9l7.8,5l7.1-4.3l0.1,3.1l2.5-2.3h2.8l6,3.5l2.6,4.4l0.2,5.5l6.3,6.4l-4.5,5l-3.9,4.1l-1.9,10.6l-3.3-0.9l-4.2,4.8l1,2.7 l-5.8,1.8L480,487.2z\",\"name\":\"Gard\"},\r\n \"13\":{\"path\":\"m545,500.2l2.5-2l-2.2-6.3l1.1-2.6l2.7-0.5 l-5.5-9.1l2-5.3l3.3-0.8l-1.9-3.8l-0.1-0.1l-6.6,4.3l-3.2,0.2l-12-4.8l-3.5,0.7l-4.5-2.3l-5.5-5.7l-10.4-2.9l-3.9,4.1l-1.9,10.6 l-3.3-0.9l-4.2,4.8l1,2.7l-5.8,1.8l-3.1,4.9l0.2,0.1h13.2l2.2,0.9l1,2.2l-1.6,1.5l2.2,1.4l7.4,0.1l3.2,1.3l1.8-1.7l-1.5-2.8l0.4-2.4 l4.9,1l3,5.3l10-0.8l2.6-1.1l1.8,2l-0.2,2.5l1,2l-1.2,2.2h9.2l1.3,2l2.2-0.8l1.7,0.2L545,500.2z\",\"name\":\"Bouches-du-Rhône\"},\r\n \"40\":{\"path\":\"m222.32,481.21l1.08-1.51l3.9-7.1l8.8-37.8 l2-11.7v-0.4l5.8-2.6l3.7,1.3l-1.5,5.4l17.2-0.7l-0.4,2.8l11,7.7l0.6,4.7h6.4l1.6-3.6l2.1,2.7l0.4,4.6l11.7,2.9l-3.6,5.2l0.7,2.6 l-0.4,2.9l-2.5,1.3l-0.6-3l-9.4,2.7l0.5,6.4l-4.2,11.1l1.6,2.7l-8.6,1.5l-3.3-1.1l-4.8,1.9l-2.2-2l-2.3,1.5l-2.5-2.3l-9.8,2 l-1.6,2.2l-2.5-1.4l-2.7,1.3l-1.2-2.8l-11,2.5L222.32,481.21z\",\"name\":\"Landes\"},\r\n \"50\":{\"path\":\"m255.2,158.7l9.7,2.1l4.1,4.2l-1.8,6.7 l-3.6,4.5h-0.1l-8.6-0.8l-5.4-2.3l-7.1,4.8l-2.7-1l-4.7-9.6l1.9-0.2l4.8,0.4l2.5-1.1l0.5-2.2l-2.4,1.3l-5.1-5.6l-0.3-5.3l2-6.1 l-0.3-4.9l-1.8-3.6l0.4-7.4l1.5-2l-2.5,0.3l-2-5l0.3-2.2l-2.4-1.2l-2.9-4.1l-0.7-5.9l-1.4-1.9l1.8-1.8l0.1-2.8l-0.5-2.3l-2.2-1.1 l-1-2.5l2.1-0.2l11.9,4.2h2.4l4-2.6l5.1,0.6l1.8,1.7l0.9,2.7l-3.2,5.2l4,6.5l1.1,4.3l-0.1,0.7v0.1l0.5,6.6l8.4,3.1l-2,2.6l2.2,8.2 l-8.1,4.9l1.6,2.3l-4.5,5.3L255.2,158.7z\",\"name\":\"Manche\"},\r\n \"14\":{\"path\":\"m316.9,148l-0.7,2.2l-5.6-1l-7,1.7l-7.2,5.4 l-2.9,0.3l-5.7-1.1l-2.6,1.7l-4.9-3l-6.4,2.3l-2.7-1.3l-0.9,2.7l-5.4,2.9l-9.7-2.1l-1.8-2.4l4.5-5.3l-1.6-2.3l8.1-4.9l-2.2-8.2 l2-2.6l-8.4-3.1l-0.5-6.6v-0.1l0.1-0.7l1.8,0.8l1.9-2.1l3.4-0.3l9.4,3.3l13.9,1.5l6.9,3.4l5.7-0.7l4.7-2.5l4.1-3.7l5.1-1.1l0.3,8.3 h2.9l-2.3,2.1l2.8,9.4l-1.4,3L316.9,148z\",\"name\":\"Calvados\"},\r\n \"85\":{\"path\":\"m269.3,305.1l0.2-7.4l-4.7-17.9l-4.2-4.1l-2.3-5.7l-10.6-3.8l-4.8-3.5l-1.5,2.4l-3.2,0.7 l0.5,3l-2.4,2.1l-2.3-1.7v-3.1l-3.4,0.2l-0.2,9.5l-11.7-5l-5.6-5.6l-0.3,0.1l-0.8,2.6l-3.4,4.3l-1.2,2.3l0.2,2.4l8.7,9.5l2.7,5.6 l1.2,5.3l8,5.4l3.4,0.5l3.9,4.3l2.9-0.1l2,1.2l1.8,2.5l-0.9-2.1l3.9,3.3l0.5-2.7l2.4,0.3l7.1-2.7l-1.4,2.9l6.5-0.3l2.4,1.8l9.1-4.5 L269.3,305.1z\",\"name\":\"Vendée\"},\r\n \"17\":{\"path\":\"M242.8,341.1l-1.4-5l-3.5-3l-1.3-2.3l1.5-3.6l1.7,1.8l2.9,0.5l1.4,8.4L242.8,341.1z M241.9,318.9l-5.8-4.5 l-4.4-1.5l-0.6,2.9l2.7,0.1l4.8,3.3L241.9,318.9z M286.5,374.8l-6-1.2l1.7-3l-2.3-2l2.4-1.7l-1.5-2.6l1.7-2.6l-2.4-1.7l-0.3-3 l-5-3.1l2.2-2.1l-3.2-5.6l8.1-3.3l2.3,2l2.7-0.1l2.7-11.6l-3.6-4.7l-17.4-6.7l-5.9-6.5v-3.7l-2.4-1.8l-6.5,0.3l1.4-2.9l-7.1,2.7 l0.5,0.1l-0.6,3.4l-4.5,5.9l2.4,0.3l2.2,1.7l3,7.2l-1.5,1.9l-0.2,5.1l-3.3,3.1l-0.1,2.6l-2.2,0.4l-1.5,1.7l1.1,4.3l9,6.5l1.5,2.6 l4.3,2.7l3.7,4.8l1.81,7.3l3.79-0.5l0.7,2.8l6.4,1.7l0.6,5.8l6.1,4.3l9.4,1l2-5l0.1-0.4v-0.1L286.5,374.8z\",\"name\":\"Charente Maritime\"},\r\n \"33\":{\"path\":\"m243.9,420.1l-5.8,2.6v-4.6l2.2-3.2l0.5-2.3 l1.9-1.7l1.8,1.4l3.1-0.2l-1.1-4.6l-3.5-3.4l-2.8,4l-1.2,3.8l6.2-50l0.9-2.8l3.3-3.4l1.4,4.7l9,9l2.8,7.6l1.7-3.1l-0.59-2.4 l3.79-0.5l0.7,2.8l6.4,1.7l0.6,5.8l6.1,4.3l9.4,1l3.7-0.6l1.2,2.8l-2.8,5.5l-0.2,5.7l-2,2l9.8,2.3l2-3.2l2.4,2.6l-0.9,2.9l1,1.3 l-3.1-0.1l-1.2,2.5l-2.7-0.9l-1.1,3.3l2.9,1.4l-8.5,8.6l-0.6,8.9l-3,2.3l1.5,2.5l-4.5,4l-2.1-2.7l-1.6,3.6h-6.4l-0.6-4.7l-11-7.7 l0.4-2.8l-17.2,0.7l1.5-5.4L243.9,420.1z\",\"name\":\"Gironde\"},\r\n \"44\":{\"path\":\"m213.1,265.2l1.8-1l-2.8-4.1l-7.8-3l3-1.3 l0.6-2.2l-0.5-2.5l1.4-2.1l5.8-1.1l-5.5-0.7l-6.6,3.7l-4.1-3.2l-2.2,1l-2.2-1.2l-0.5-4.9l0.9-2.5l3-0.5l-0.9-2.2l-0.18-0.31 l13.18-3.89l0.4-6l5.2-3.4l13.2-0.4l1.6-2.9l9-3.9l6.8,3.6l7.2,13.3l-2.7-0.4l-1.9,2.4l8.5,3.3l0.3,5.9l-14.3,2.1l-2.9,2.2l3,0.8 l3.6,4.7l0.8,2.8l-2.8,4.5l2.8,1.4l0.4,3l-4.8-3.5l-1.5,2.4l-3.2,0.7l0.5,3l-2.4,2.1l-2.3-1.7v-3.1l-3.4,0.2l-0.2,9.5l-11.7-5 L213.1,265.2z\",\"name\":\"Loire Atlantique\"},\r\n \"22\":{\"path\":\"m208.7,188.9l-4.9,7.1l-2.9,1.1l-1.5-2.7 l-3.5-0.9l-6.2,7.5l-1.8-6l-3,0.9l-12.9-6.5l-7.9,3l-12.46-3.29l2.06-4.11l-2.5-9.3l2.5-8.3l-3.6-4.7l1.1-4.3l1.2,1.4l3.2-0.4 l1.1-7.7l1.5-1.6l2.2-0.6l1.9,1.4h2.5l2.1-1l2.2,0.3l1.5-1.8l0.9,2L170,153l3-3.6l2.9-0.8l-0.1,2.3l-1.2,4.4l1.7-3.1l2.6-0.5l-1.1,2 l7.2,7.8l2.2,5.4l3,2l0.8,3.7l0.7-2.2l3-1l2.4-2.7l8.1-3.3l2.7-0.2l-2,2.5l2.9-1.1l1.8,4.4l1.3-1.9l2.5,0.2v-0.09l1.6,3.99h-0.3h0.3 l2.5,0.3l0.7,0.2l0.4,1.7l-1.9,13L208.7,188.9z\",\"name\":\"Côtes d'Armor\"},\r\n \"35\":{\"path\":\"m255.2,207.2l-5.5,2.2l-3.6,8.6l-0.4,2.2 l-6.8-3.6l-9,3.9l-1.6,2.9l-13.2,0.4l-5.2,3.4l-1-5.8l3-0.7l-2.8-1.5l2.4-2.2l1-3.2l-2.4-1.7l1.6-2.6l-1.2-2.5l-5.1-2.8l-0.5-2.8 l3.5-0.9l-3.6-0.1l-1-4.4l4.9-7.1l9-2.5l1.9-13l-0.4-1.7l-0.7-0.2l-2.5-0.3l-1.6-3.99l0.05-0.86l0.05-0.85l0.7-0.1h2.1v0.1l1.7,4.4 l1.3,2l-0.5,2.1l1.4-2.1l-2.3-5.1l0.7-2.5l2.2-1.5l2.3-0.6l2.2,1l-1.5,2.3l2.9,2.4l7.3-0.6l4.7,9.6l2.7,1l7.1-4.8l5.4,2.3l-0.1,12.1 l-1.5,2.4L255.2,207.2z\",\"name\":\"Ille et Vilaine\"},\r\n \"29\":{\"path\":\"m151.6,210.1l2,3.4l-0.8,1.4l-5.5-1.2l-1.2-1.9 l2.2-0.7l-3,0.8l-0.3-2.7v2.7l-2.5,0.7l-2.2-1l-4.2-6.1l-0.8,2.5l-2.3,0.2l-3.5-3.1l1.6-4.6l-2.4,4.3l1.3,1.9l-2.2,1l-1,2.8 l-5.9-0.2l-2.1-1.6l1.5-1.6l-1.5-5.5l-2.4-3.1l-2.8-1.8l1.6-1.7l-2.1,1.4l-7.5-2.2l2.2-1.3l12.5-1.8l1.8,1.8l2-1.3l0.7-2.5l-1.6-3.6 l-6.8-2.5l-1.5,2.6l-2.6-4.2l1.3-1.8l-0.3-2.2l1.7,2.3l4.9,1l4.6-0.8l2.1,3.1l5.4,1l-3.7-0.9l-2.8-2l2.2-0.5l-4.2-2l2-1.5l-2.6-0.2 l-2.7,0.8l-0.8-2.2l7.1-4.5l-4.4,2.2l-2.3,0.1l-7.5,2.9l-2.7-1.2l-2.7,1.2l-1.5-1.8l0.6-5.3l2.5-1.6l-2.2-0.9l0.8-2.6l1.8-1.6 l2.1-0.8l5.1,1.5l-1.9-1.1l2.5-1.2l1.6,1.4l-1.9-1.7l1.2-1.9l2.9-0.1l3.8-2l2.3,2.6l6.7-3.1l3,1.6l1-2.2l2.9-0.5l0.4,5l2.2-1.5 l1.3,2.5l1.2-4.5l4.7,0.3l1.2,1.7l-1.1,4.3l3.6,4.7l-2.5,8.3l2.5,9.3l-2.06,4.11l-0.04-0.01v0.1l-6.8,3.2l0.5,3.5l3.4,5.5l8.1,1.3 l0.1,5.4l-2.5,2.8L151.6,210.1z\",\"name\":\"Finistère\"},\r\n \"56\":{\"path\":\"M167.7,242.6l2.9,1.2l-1.1,2.1l-5.1-1.2l-1.3-2.7l0.4-3l2.1,1.4L167.7,242.6z M209.1,219.2l2.4-2.2l1-3.2 l-2.4-1.7l1.6-2.6l-1.2-2.5l-5.1-2.8l-0.5-2.8l3.5-0.9l-3.6-0.1l-1-4.4l-2.9,1.1l-1.5-2.7l-3.5-0.9l-6.2,7.5l-1.8-6l-3,0.9 l-12.9-6.5l-7.9,3l-12.46-3.29l-0.04,0.09l-6.8,3.2l0.5,3.5l3.4,5.5l8.1,1.3l0.1,5.4l-2.5,2.8l-2.8-0.8l2,3.4l0.1,1.5l2.9,4.4 l2.3-0.2l1.5-1.7l-0.8-5.1l0.6,2.4l1.7,1.7l1.9-1.7l-2.5,4.2l2.2,1.4l-2.3-0.6l3.2,1.9l0.1,0.1l1.6,1l1.7-2.5l-1.6,3.1l2.1,2.6 l0.6,3.5l-0.9,2.8l2.1,1.1l-1.2-3l0.5-3.8l2.2,1.6l5.1,0.1l-0.7-5l1.4,2l2.1,1.5l4.8-0.5l2.1,2.4l-1,2.2l-2.1-0.6l-4.8,0.4l3.8,3.3 l12.9-0.9l3.1,1.5l-3.4,0.1l1.42,2.39l13.18-3.89l0.4-6l-1-5.8l3-0.7L209.1,219.2z\",\"name\":\"Morbihan\"},\r\n \"93\":{\"path\":\"M404.7,152.7l-1.3,2.5l1.3,4.7v0.1l-7.1-2.6l-0.8-2.7l-3.2-0.5l0.1-1.1l-1.3-2l3.3-1.3l2.6,1.1 c1.6-1.1,3.2-2.2,4.7-3.3L404.7,152.7z M663.2,73.89l0.06-0.08l-0.02-0.04l2.61-3.38l-3.95-0.3l-1.6-5.9l0.06-0.06l-0.02-0.06 l6.36-6.56l0.1-5.42l1.1-4l-1.2-3.4l-5.1-8l0.07-0.08l-0.03-0.04l2.65-3.33l-0.89-4.04l-4.5-2.9l-4.1,1.7l-6.4,8.8l-8.2,6.2 l-0.7-0.2l-7.8-1.1l-1.9,1l-5.1-4.6l-1.3-0.2l-1.9-0.7l-5.1,3l-1.6,2.7l-1-1.2l-5.9-2.1l-1.96,2.25v0.2l0.66,2.45l3.9,0.8l4.7,1.9 l0.1,1.4l0.1,1.1l-0.2,0.9l-0.3,0.9l-0.7,1.9l-1.6,0.7l-0.3,0.8l-1.4,0.7l0.6,2l0.7,2l13.9-0.2l0.1,0.1l1.8,3.6l1.8,2.4l0.6,0.8 l0.1,0.5L631,68l0.4,5.4l0.4,1.8l5.9-0.5l0.5-0.3c0.1,0,0.1,0,0.2,0l6.3-2.8l2.9,0.4l0.7,1.3l3,1.5l4,2.9c0,0.1,0.1,0.2,0.2,0.2 l0.7,0.5l6,6.2l0.8,0.6c0.1,0,0.2,0.1,0.3,0.1l3.6,2.6l0.04-0.13l0.43-1.3l0.23-0.68l-1.8-6L663.2,73.89z\",\"name\":\"Seine St Denis\"},\r\n \"75\":{\"path\":\"M641.8,78.3l-0.2,3.8l-1,2.6l-8.3-1.7l-6-0.6l-5.2,3h-4l-2.5-0.3l-0.4-0.1l-13.5-5l-3-3.8l-4.3-1.9l-0.5-0.2 l0.4-1.9l1.3-3.1l2.7-2.1l2.9-1.1l3.9,0.5h0.1l0.9-2.2l7.1-4.6l14-0.1l1.8,3.6l1.8,2.4l0.6,0.9l0.1,0.4L631,68l0.4,5.4l0.4,1.8v0.1 l-0.3,0.8l0.1,3.6l0.6-0.5l1.6-1.6l2-0.5l2-0.5L641.8,78.3z M396.8,154.7l-3.2-0.5l-2.5,1.7l3,3.5l5.3-0.1l-1.8-1.9L396.8,154.7z\",\"name\":\"Paris\"},\r\n \"94\":{\"path\":\"M404.7,160l0.3,2.9l-1.1,4.1l-2.3-2.2l-2.8,0.8l-5.1-2.1l0.4-4.1l5.3-0.1l-1.8-1.9L404.7,160z M668.09,102.2 h0.06l-0.02-0.12l3.31-0.19l-1.55-3.58l-3.69-2.41l0.8-8h-0.1l-3.6-2.6c-0.1,0-0.2-0.1-0.3-0.1l-0.8-0.6l-6-6.2l-0.7-0.5 c-0.1,0-0.2-0.1-0.2-0.2l-4-2.9l-3-1.5l-0.7-1.3l-2.9-0.4l-6.3,2.8c-0.1,0-0.1,0-0.2,0l-0.5,0.3l-5.9,0.5v0.1l-0.3,0.8l0.1,3.6 l0.6-0.5l1.6-1.7l2-0.4l2-0.5l4,1.7l-0.2,3.8l-1,2.6l-8.3-1.7l-6-0.6l-5.2,3h-4l-2.5-0.3l-0.6,1.1h-0.1l-0.9,0.5l-0.5,0.3l-0.5,0.3 l1,2.5v0.1l-0.8,2.8l-0.3,1.2l1.4,1.9l-0.7,2.1l-0.4,1.3l-0.7,1.2l0.78,5.38h0.06l2.1,0.2l4.7,2.8l3.1-2.2l0.1,5.5l3.3,2.4l4.9-1.8 l0.7,2.5l5.2-2.3l0.5,1.3l1.7,1.7l4.6-3.6l2.1-0.5l5.2-1.8l1.9,6.8l1.7,2.5l3.3,1.8l5.44,1.88l-0.68-5.05l0.05-0.08l-0.01-0.04 l2.5-4.2l2.73-2.74l-1.38-3.64l0.07-0.06l-0.03-0.07l2.35-1.96L668.09,102.2z\",\"name\":\"Val de Marne\"},\r\n \"92\":{\"path\":\"M391.1,155.9l3,3.5l-0.4,4.1l-3.7-1.6v0.1l-3.2-5.2l2-3.1l3.6-2.6l1.3,2l-0.1,1.1L391.1,155.9z M612.6,54.1 l1.6-0.7l0.7-1.9l0.5-1.8l-0.1-1.1l-0.2-1.4l-4.6-1.9l-4.6-0.9l-4,1.3l-7.6,5.6l-6.1,5.8l-5.3,3l-1,1l-3.75,7.4l1.79,7.17 l-0.06,0.07l0.01,0.06l-2.74,3.23l0.68,2.44l2.5,4.8l3.3-0.5l1,5.2l3.9-0.3l1.4,3.5l3.4,1.6l0.5,2.1l5.3,4.2l4.3,1.3l-0.1,4.9 l5.7,3.5l3.15-5.91l-0.7-5.46l0.72-1.2l0.4-1.3l0.7-2.1l-1.4-1.9l0.3-1.2l0.8-2.8l-1-2.6l0.5-0.3l0.5-0.3l0.9-0.5l0.7-1.1l-0.4-0.1 l-13.5-5l-3-3.8l-4.3-1.9l-0.5-0.2l0.3-1.9l1.4-3.1l2.7-2.1l2.8-1.1h0.1l3.9,0.5l0.9-2.2l7.2-4.6l-0.7-2l-0.6-2l1.4-0.7L612.6,54.1z\",\"name\":\"Hauts de Seine\"}}});\r\n","/*!\n * JQVMap: jQuery Vector Map Library\n * @author JQVMap <me@peterschmalfeldt.com>\n * @version 1.5.1\n * @link http://jqvmap.com\n * @license https://github.com/manifestinteractive/jqvmap/blob/master/LICENSE\n * @builddate 2016/06/02\n */\n\nvar VectorCanvas = function (width, height, params) {\n this.mode = window.SVGAngle ? 'svg' : 'vml';\n this.params = params;\n\n if (this.mode === 'svg') {\n this.createSvgNode = function (nodeName) {\n return document.createElementNS(this.svgns, nodeName);\n };\n } else {\n try {\n if (!document.namespaces.rvml) {\n document.namespaces.add('rvml', 'urn:schemas-microsoft-com:vml');\n }\n this.createVmlNode = function (tagName) {\n return document.createElement('<rvml:' + tagName + ' class=\"rvml\">');\n };\n } catch (e) {\n this.createVmlNode = function (tagName) {\n return document.createElement('<' + tagName + ' xmlns=\"urn:schemas-microsoft.com:vml\" class=\"rvml\">');\n };\n }\n\n document.createStyleSheet().addRule('.rvml', 'behavior:url(#default#VML)');\n }\n\n if (this.mode === 'svg') {\n this.canvas = this.createSvgNode('svg');\n } else {\n this.canvas = this.createVmlNode('group');\n this.canvas.style.position = 'absolute';\n }\n\n this.setSize(width, height);\n};\n\nVectorCanvas.prototype = {\n svgns: 'http://www.w3.org/2000/svg',\n mode: 'svg',\n width: 0,\n height: 0,\n canvas: null\n};\n\nvar ColorScale = function (colors, normalizeFunction, minValue, maxValue) {\n if (colors) {\n this.setColors(colors);\n }\n if (normalizeFunction) {\n this.setNormalizeFunction(normalizeFunction);\n }\n if (minValue) {\n this.setMin(minValue);\n }\n if (minValue) {\n this.setMax(maxValue);\n }\n};\n\nColorScale.prototype = {\n colors: []\n};\n\nvar JQVMap = function (params) {\n params = params || {};\n var map = this;\n var mapData = JQVMap.maps[params.map];\n var mapPins;\n\n if( !mapData){\n throw new Error('Invalid \"' + params.map + '\" map parameter. Please make sure you have loaded this map file in your HTML.');\n }\n\n this.selectedRegions = [];\n this.multiSelectRegion = params.multiSelectRegion;\n\n this.container = params.container;\n\n this.defaultWidth = mapData.width;\n this.defaultHeight = mapData.height;\n\n this.color = params.color;\n this.selectedColor = params.selectedColor;\n this.hoverColor = params.hoverColor;\n this.hoverColors = params.hoverColors;\n this.hoverOpacity = params.hoverOpacity;\n this.setBackgroundColor(params.backgroundColor);\n\n this.width = params.container.width();\n this.height = params.container.height();\n\n this.resize();\n\n jQuery(window).resize(function () {\n var newWidth = params.container.width();\n var newHeight = params.container.height();\n\n if(newWidth && newHeight){\n map.width = newWidth;\n map.height = newHeight;\n map.resize();\n map.canvas.setSize(map.width, map.height);\n map.applyTransform();\n\n var resizeEvent = jQuery.Event('resize.jqvmap');\n jQuery(params.container).trigger(resizeEvent, [newWidth, newHeight]);\n\n if(mapPins){\n jQuery('.jqvmap-pin').remove();\n map.pinHandlers = false;\n map.placePins(mapPins.pins, mapPins.mode);\n }\n }\n });\n\n this.canvas = new VectorCanvas(this.width, this.height, params);\n params.container.append(this.canvas.canvas);\n\n this.makeDraggable();\n\n this.rootGroup = this.canvas.createGroup(true);\n\n this.index = JQVMap.mapIndex;\n this.label = jQuery('<div/>').addClass('jqvmap-label').appendTo(jQuery('body')).hide();\n\n if (params.enableZoom) {\n jQuery('<div/>').addClass('jqvmap-zoomin').text('+').appendTo(params.container);\n jQuery('<div/>').addClass('jqvmap-zoomout').html('−').appendTo(params.container);\n }\n\n map.countries = [];\n\n for (var key in mapData.paths) {\n var path = this.canvas.createPath({\n path: mapData.paths[key].path\n });\n\n path.setFill(this.color);\n path.id = map.getCountryId(key);\n map.countries[key] = path;\n\n if (this.canvas.mode === 'svg') {\n path.setAttribute('class', 'jqvmap-region');\n } else {\n jQuery(path).addClass('jqvmap-region');\n }\n\n jQuery(this.rootGroup).append(path);\n }\n\n jQuery(params.container).delegate(this.canvas.mode === 'svg' ? 'path' : 'shape', 'mouseover mouseout', function (e) {\n var containerPath = e.target,\n code = e.target.id.split('_').pop(),\n labelShowEvent = jQuery.Event('labelShow.jqvmap'),\n regionMouseOverEvent = jQuery.Event('regionMouseOver.jqvmap');\n\n code = code.toLowerCase();\n\n if (e.type === 'mouseover') {\n jQuery(params.container).trigger(regionMouseOverEvent, [code, mapData.paths[code].name]);\n if (!regionMouseOverEvent.isDefaultPrevented()) {\n map.highlight(code, containerPath);\n }\n if (params.showTooltip) {\n map.label.text(mapData.paths[code].name);\n jQuery(params.container).trigger(labelShowEvent, [map.label, code]);\n\n if (!labelShowEvent.isDefaultPrevented()) {\n map.label.show();\n map.labelWidth = map.label.width();\n map.labelHeight = map.label.height();\n }\n }\n } else {\n map.unhighlight(code, containerPath);\n\n map.label.hide();\n jQuery(params.container).trigger('regionMouseOut.jqvmap', [code, mapData.paths[code].name]);\n }\n });\n\n jQuery(params.container).delegate(this.canvas.mode === 'svg' ? 'path' : 'shape', 'click', function (regionClickEvent) {\n\n var targetPath = regionClickEvent.target;\n var code = regionClickEvent.target.id.split('_').pop();\n var mapClickEvent = jQuery.Event('regionClick.jqvmap');\n\n code = code.toLowerCase();\n\n jQuery(params.container).trigger(mapClickEvent, [code, mapData.paths[code].name]);\n\n if ( !params.multiSelectRegion && !mapClickEvent.isDefaultPrevented()) {\n for (var keyPath in mapData.paths) {\n map.countries[keyPath].currentFillColor = map.countries[keyPath].getOriginalFill();\n map.countries[keyPath].setFill(map.countries[keyPath].getOriginalFill());\n }\n }\n\n if ( !mapClickEvent.isDefaultPrevented()) {\n if (map.isSelected(code)) {\n map.deselect(code, targetPath);\n } else {\n map.select(code, targetPath);\n }\n }\n });\n\n if (params.showTooltip) {\n params.container.mousemove(function (e) {\n if (map.label.is(':visible')) {\n var left = e.pageX - 15 - map.labelWidth;\n var top = e.pageY - 15 - map.labelHeight;\n\n if(left < 0) {\n left = e.pageX + 15;\n }\n if(top < 0) {\n top = e.pageY + 15;\n }\n\n map.label.css({\n left: left,\n top: top\n });\n }\n });\n }\n\n this.setColors(params.colors);\n\n this.canvas.canvas.appendChild(this.rootGroup);\n\n this.applyTransform();\n\n this.colorScale = new ColorScale(params.scaleColors, params.normalizeFunction, params.valueMin, params.valueMax);\n\n if (params.values) {\n this.values = params.values;\n this.setValues(params.values);\n }\n\n if (params.selectedRegions) {\n if (params.selectedRegions instanceof Array) {\n for(var k in params.selectedRegions) {\n this.select(params.selectedRegions[k].toLowerCase());\n }\n } else {\n this.select(params.selectedRegions.toLowerCase());\n }\n }\n\n this.bindZoomButtons();\n\n if(params.pins) {\n mapPins = {\n pins: params.pins,\n mode: params.pinMode\n };\n\n this.pinHandlers = false;\n this.placePins(params.pins, params.pinMode);\n }\n\n if(params.showLabels){\n this.pinHandlers = false;\n\n var pins = {};\n for (key in map.countries){\n if (typeof map.countries[key] !== 'function') {\n if( !params.pins || !params.pins[key] ){\n pins[key] = key.toUpperCase();\n }\n }\n }\n\n mapPins = {\n pins: pins,\n mode: 'content'\n };\n\n this.placePins(pins, 'content');\n }\n\n JQVMap.mapIndex++;\n};\n\nJQVMap.prototype = {\n transX: 0,\n transY: 0,\n scale: 1,\n baseTransX: 0,\n baseTransY: 0,\n baseScale: 1,\n width: 0,\n height: 0,\n countries: {},\n countriesColors: {},\n countriesData: {},\n zoomStep: 1.4,\n zoomMaxStep: 4,\n zoomCurStep: 1\n};\n\nJQVMap.xlink = 'http://www.w3.org/1999/xlink';\nJQVMap.mapIndex = 1;\nJQVMap.maps = {};\n\n(function(){\n\n var apiParams = {\n colors: 1,\n values: 1,\n backgroundColor: 1,\n scaleColors: 1,\n normalizeFunction: 1,\n enableZoom: 1,\n showTooltip: 1,\n borderColor: 1,\n borderWidth: 1,\n borderOpacity: 1,\n selectedRegions: 1,\n multiSelectRegion: 1\n };\n\n var apiEvents = {\n onLabelShow: 'labelShow',\n onLoad: 'load',\n onRegionOver: 'regionMouseOver',\n onRegionOut: 'regionMouseOut',\n onRegionClick: 'regionClick',\n onRegionSelect: 'regionSelect',\n onRegionDeselect: 'regionDeselect',\n onResize: 'resize'\n };\n\n jQuery.fn.vectorMap = function (options) {\n\n var defaultParams = {\n map: 'world_en',\n backgroundColor: '#a5bfdd',\n color: '#f4f3f0',\n hoverColor: '#c9dfaf',\n hoverColors: {},\n selectedColor: '#c9dfaf',\n scaleColors: ['#b6d6ff', '#005ace'],\n normalizeFunction: 'linear',\n enableZoom: true,\n showTooltip: true,\n borderColor: '#818181',\n borderWidth: 1,\n borderOpacity: 0.25,\n selectedRegions: null,\n multiSelectRegion: false\n }, map = this.data('mapObject');\n\n if (options === 'addMap') {\n JQVMap.maps[arguments[1]] = arguments[2];\n } else if (options === 'set' && apiParams[arguments[1]]) {\n map['set' + arguments[1].charAt(0).toUpperCase() + arguments[1].substr(1)].apply(map, Array.prototype.slice.call(arguments, 2));\n } else if (typeof options === 'string' &&\n typeof map[options] === 'function') {\n return map[options].apply(map, Array.prototype.slice.call(arguments, 1));\n } else {\n jQuery.extend(defaultParams, options);\n defaultParams.container = this;\n this.css({ position: 'relative', overflow: 'hidden' });\n\n map = new JQVMap(defaultParams);\n\n this.data('mapObject', map);\n\n this.unbind('.jqvmap');\n\n for (var e in apiEvents) {\n if (defaultParams[e]) {\n this.bind(apiEvents[e] + '.jqvmap', defaultParams[e]);\n }\n }\n\n var loadEvent = jQuery.Event('load.jqvmap');\n jQuery(defaultParams.container).trigger(loadEvent, map);\n\n return map;\n }\n };\n\n})(jQuery);\n\nColorScale.arrayToRgb = function (ar) {\n var rgb = '#';\n var d;\n for (var i = 0; i < ar.length; i++) {\n d = ar[i].toString(16);\n rgb += d.length === 1 ? '0' + d : d;\n }\n return rgb;\n};\n\nColorScale.prototype.getColor = function (value) {\n if (typeof this.normalize === 'function') {\n value = this.normalize(value);\n }\n\n var lengthes = [];\n var fullLength = 0;\n var l;\n\n for (var i = 0; i < this.colors.length - 1; i++) {\n l = this.vectorLength(this.vectorSubtract(this.colors[i + 1], this.colors[i]));\n lengthes.push(l);\n fullLength += l;\n }\n\n var c = (this.maxValue - this.minValue) / fullLength;\n\n for (i = 0; i < lengthes.length; i++) {\n lengthes[i] *= c;\n }\n\n i = 0;\n value -= this.minValue;\n\n while (value - lengthes[i] >= 0) {\n value -= lengthes[i];\n i++;\n }\n\n var color;\n if (i === this.colors.length - 1) {\n color = this.vectorToNum(this.colors[i]).toString(16);\n } else {\n color = (this.vectorToNum(this.vectorAdd(this.colors[i], this.vectorMult(this.vectorSubtract(this.colors[i + 1], this.colors[i]), (value) / (lengthes[i]))))).toString(16);\n }\n\n while (color.length < 6) {\n color = '0' + color;\n }\n return '#' + color;\n};\n\nColorScale.rgbToArray = function (rgb) {\n rgb = rgb.substr(1);\n return [parseInt(rgb.substr(0, 2), 16), parseInt(rgb.substr(2, 2), 16), parseInt(rgb.substr(4, 2), 16)];\n};\n\nColorScale.prototype.setColors = function (colors) {\n for (var i = 0; i < colors.length; i++) {\n colors[i] = ColorScale.rgbToArray(colors[i]);\n }\n this.colors = colors;\n};\n\nColorScale.prototype.setMax = function (max) {\n this.clearMaxValue = max;\n if (typeof this.normalize === 'function') {\n this.maxValue = this.normalize(max);\n } else {\n this.maxValue = max;\n }\n};\n\nColorScale.prototype.setMin = function (min) {\n this.clearMinValue = min;\n\n if (typeof this.normalize === 'function') {\n this.minValue = this.normalize(min);\n } else {\n this.minValue = min;\n }\n};\n\nColorScale.prototype.setNormalizeFunction = function (f) {\n if (f === 'polynomial') {\n this.normalize = function (value) {\n return Math.pow(value, 0.2);\n };\n } else if (f === 'linear') {\n delete this.normalize;\n } else {\n this.normalize = f;\n }\n this.setMin(this.clearMinValue);\n this.setMax(this.clearMaxValue);\n};\n\nColorScale.prototype.vectorAdd = function (vector1, vector2) {\n var vector = [];\n for (var i = 0; i < vector1.length; i++) {\n vector[i] = vector1[i] + vector2[i];\n }\n return vector;\n};\n\nColorScale.prototype.vectorLength = function (vector) {\n var result = 0;\n for (var i = 0; i < vector.length; i++) {\n result += vector[i] * vector[i];\n }\n return Math.sqrt(result);\n};\n\nColorScale.prototype.vectorMult = function (vector, num) {\n var result = [];\n for (var i = 0; i < vector.length; i++) {\n result[i] = vector[i] * num;\n }\n return result;\n};\n\nColorScale.prototype.vectorSubtract = function (vector1, vector2) {\n var vector = [];\n for (var i = 0; i < vector1.length; i++) {\n vector[i] = vector1[i] - vector2[i];\n }\n return vector;\n};\n\nColorScale.prototype.vectorToNum = function (vector) {\n var num = 0;\n for (var i = 0; i < vector.length; i++) {\n num += Math.round(vector[i]) * Math.pow(256, vector.length - i - 1);\n }\n return num;\n};\n\nJQVMap.prototype.applyTransform = function () {\n var maxTransX, maxTransY, minTransX, minTransY;\n if (this.defaultWidth * this.scale <= this.width) {\n maxTransX = (this.width - this.defaultWidth * this.scale) / (2 * this.scale);\n minTransX = (this.width - this.defaultWidth * this.scale) / (2 * this.scale);\n } else {\n maxTransX = 0;\n minTransX = (this.width - this.defaultWidth * this.scale) / this.scale;\n }\n\n if (this.defaultHeight * this.scale <= this.height) {\n maxTransY = (this.height - this.defaultHeight * this.scale) / (2 * this.scale);\n minTransY = (this.height - this.defaultHeight * this.scale) / (2 * this.scale);\n } else {\n maxTransY = 0;\n minTransY = (this.height - this.defaultHeight * this.scale) / this.scale;\n }\n\n if (this.transY > maxTransY) {\n this.transY = maxTransY;\n } else if (this.transY < minTransY) {\n this.transY = minTransY;\n }\n if (this.transX > maxTransX) {\n this.transX = maxTransX;\n } else if (this.transX < minTransX) {\n this.transX = minTransX;\n }\n\n this.canvas.applyTransformParams(this.scale, this.transX, this.transY);\n};\n\nJQVMap.prototype.bindZoomButtons = function () {\n var map = this;\n this.container.find('.jqvmap-zoomin').click(function(){\n map.zoomIn();\n });\n this.container.find('.jqvmap-zoomout').click(function(){\n map.zoomOut();\n });\n};\n\nJQVMap.prototype.deselect = function (cc, path) {\n cc = cc.toLowerCase();\n path = path || jQuery('#' + this.getCountryId(cc))[0];\n\n if (this.isSelected(cc)) {\n this.selectedRegions.splice(this.selectIndex(cc), 1);\n\n jQuery(this.container).trigger('regionDeselect.jqvmap', [cc]);\n path.currentFillColor = path.getOriginalFill();\n path.setFill(path.getOriginalFill());\n } else {\n for (var key in this.countries) {\n this.selectedRegions.splice(this.selectedRegions.indexOf(key), 1);\n this.countries[key].currentFillColor = this.color;\n this.countries[key].setFill(this.color);\n }\n }\n};\n\nJQVMap.prototype.getCountryId = function (cc) {\n return 'jqvmap' + this.index + '_' + cc;\n};\n\nJQVMap.prototype.getPin = function(cc){\n var pinObj = jQuery('#' + this.getPinId(cc));\n return pinObj.html();\n};\n\nJQVMap.prototype.getPinId = function (cc) {\n return this.getCountryId(cc) + '_pin';\n};\n\nJQVMap.prototype.getPins = function(){\n var pins = this.container.find('.jqvmap-pin');\n var ret = {};\n jQuery.each(pins, function(index, pinObj){\n pinObj = jQuery(pinObj);\n var cc = pinObj.attr('for').toLowerCase();\n var pinContent = pinObj.html();\n ret[cc] = pinContent;\n });\n return JSON.stringify(ret);\n};\n\nJQVMap.prototype.highlight = function (cc, path) {\n path = path || jQuery('#' + this.getCountryId(cc))[0];\n if (this.hoverOpacity) {\n path.setOpacity(this.hoverOpacity);\n } else if (this.hoverColors && (cc in this.hoverColors)) {\n path.currentFillColor = path.getFill() + '';\n path.setFill(this.hoverColors[cc]);\n } else if (this.hoverColor) {\n path.currentFillColor = path.getFill() + '';\n path.setFill(this.hoverColor);\n }\n};\n\nJQVMap.prototype.isSelected = function(cc) {\n return this.selectIndex(cc) >= 0;\n};\n\nJQVMap.prototype.makeDraggable = function () {\n var mouseDown = false;\n var oldPageX, oldPageY;\n var self = this;\n\n self.isMoving = false;\n self.isMovingTimeout = false;\n\n var lastTouchCount;\n var touchCenterX;\n var touchCenterY;\n var touchStartDistance;\n var touchStartScale;\n var touchX;\n var touchY;\n\n this.container.mousemove(function (e) {\n\n if (mouseDown) {\n self.transX -= (oldPageX - e.pageX) / self.scale;\n self.transY -= (oldPageY - e.pageY) / self.scale;\n\n self.applyTransform();\n\n oldPageX = e.pageX;\n oldPageY = e.pageY;\n\n self.isMoving = true;\n if (self.isMovingTimeout) {\n clearTimeout(self.isMovingTimeout);\n }\n\n self.container.trigger('drag');\n }\n\n return false;\n\n }).mousedown(function (e) {\n\n mouseDown = true;\n oldPageX = e.pageX;\n oldPageY = e.pageY;\n\n return false;\n\n }).mouseup(function () {\n\n mouseDown = false;\n\n clearTimeout(self.isMovingTimeout);\n self.isMovingTimeout = setTimeout(function () {\n self.isMoving = false;\n }, 100);\n\n return false;\n\n }).mouseout(function () {\n\n if(mouseDown && self.isMoving){\n\n clearTimeout(self.isMovingTimeout);\n self.isMovingTimeout = setTimeout(function () {\n mouseDown = false;\n self.isMoving = false;\n }, 100);\n\n return false;\n }\n });\n\n jQuery(this.container).bind('touchmove', function (e) {\n\n var offset;\n var scale;\n var touches = e.originalEvent.touches;\n var transformXOld;\n var transformYOld;\n\n if (touches.length === 1) {\n if (lastTouchCount === 1) {\n\n if(touchX === touches[0].pageX && touchY === touches[0].pageY){\n return;\n }\n\n transformXOld = self.transX;\n transformYOld = self.transY;\n\n self.transX -= (touchX - touches[0].pageX) / self.scale;\n self.transY -= (touchY - touches[0].pageY) / self.scale;\n\n self.applyTransform();\n\n if (transformXOld !== self.transX || transformYOld !== self.transY) {\n e.preventDefault();\n }\n\n self.isMoving = true;\n if (self.isMovingTimeout) {\n clearTimeout(self.isMovingTimeout);\n }\n }\n\n touchX = touches[0].pageX;\n touchY = touches[0].pageY;\n\n } else if (touches.length === 2) {\n\n if (lastTouchCount === 2) {\n scale = Math.sqrt(\n Math.pow(touches[0].pageX - touches[1].pageX, 2) +\n Math.pow(touches[0].pageY - touches[1].pageY, 2)\n ) / touchStartDistance;\n\n self.setScale(\n touchStartScale * scale,\n touchCenterX,\n touchCenterY\n );\n\n e.preventDefault();\n\n } else {\n\n offset = jQuery(self.container).offset();\n if (touches[0].pageX > touches[1].pageX) {\n touchCenterX = touches[1].pageX + (touches[0].pageX - touches[1].pageX) / 2;\n } else {\n touchCenterX = touches[0].pageX + (touches[1].pageX - touches[0].pageX) / 2;\n }\n\n if (touches[0].pageY > touches[1].pageY) {\n touchCenterY = touches[1].pageY + (touches[0].pageY - touches[1].pageY) / 2;\n } else {\n touchCenterY = touches[0].pageY + (touches[1].pageY - touches[0].pageY) / 2;\n }\n\n touchCenterX -= offset.left;\n touchCenterY -= offset.top;\n touchStartScale = self.scale;\n\n touchStartDistance = Math.sqrt(\n Math.pow(touches[0].pageX - touches[1].pageX, 2) +\n Math.pow(touches[0].pageY - touches[1].pageY, 2)\n );\n }\n }\n\n lastTouchCount = touches.length;\n });\n\n jQuery(this.container).bind('touchstart', function () {\n lastTouchCount = 0;\n });\n\n jQuery(this.container).bind('touchend', function () {\n lastTouchCount = 0;\n });\n};\n\nJQVMap.prototype.placePins = function(pins, pinMode){\n var map = this;\n\n if(!pinMode || (pinMode !== 'content' && pinMode !== 'id')) {\n pinMode = 'content';\n }\n\n if(pinMode === 'content') {//treat pin as content\n jQuery.each(pins, function(index, pin){\n if(jQuery('#' + map.getCountryId(index)).length === 0){\n return;\n }\n\n var pinIndex = map.getPinId(index);\n var $pin = jQuery('#' + pinIndex);\n if($pin.length > 0){\n $pin.remove();\n }\n map.container.append('<div id=\"' + pinIndex + '\" for=\"' + index + '\" class=\"jqvmap-pin\" style=\"position:absolute\">' + pin + '</div>');\n });\n } else { //treat pin as id of an html content\n jQuery.each(pins, function(index, pin){\n if(jQuery('#' + map.getCountryId(index)).length === 0){\n return;\n }\n var pinIndex = map.getPinId(index);\n var $pin = jQuery('#' + pinIndex);\n if($pin.length > 0){\n $pin.remove();\n }\n map.container.append('<div id=\"' + pinIndex + '\" for=\"' + index + '\" class=\"jqvmap-pin\" style=\"position:absolute\"></div>');\n $pin.append(jQuery('#' + pin));\n });\n }\n\n this.positionPins();\n if(!this.pinHandlers){\n this.pinHandlers = true;\n var positionFix = function(){\n map.positionPins();\n };\n this.container.bind('zoomIn', positionFix)\n .bind('zoomOut', positionFix)\n .bind('drag', positionFix);\n }\n};\n\nJQVMap.prototype.positionPins = function(){\n var map = this;\n var pins = this.container.find('.jqvmap-pin');\n jQuery.each(pins, function(index, pinObj){\n pinObj = jQuery(pinObj);\n var countryId = map.getCountryId(pinObj.attr('for').toLowerCase());\n var countryObj = jQuery('#' + countryId);\n var bbox = countryObj[0].getBBox();\n\n var scale = map.scale;\n var rootCoords = map.canvas.rootGroup.getBoundingClientRect();\n var mapCoords = map.container[0].getBoundingClientRect();\n var coords = {\n left: rootCoords.left - mapCoords.left,\n top: rootCoords.top - mapCoords.top\n };\n\n var middleX = (bbox.x * scale) + ((bbox.width * scale) / 2);\n var middleY = (bbox.y * scale) + ((bbox.height * scale) / 2);\n\n pinObj.css({\n left: coords.left + middleX - (pinObj.width() / 2),\n top: coords.top + middleY - (pinObj.height() / 2)\n });\n });\n};\n\nJQVMap.prototype.removePin = function(cc) {\n cc = cc.toLowerCase();\n jQuery('#' + this.getPinId(cc)).remove();\n};\n\nJQVMap.prototype.removePins = function(){\n this.container.find('.jqvmap-pin').remove();\n};\n\nJQVMap.prototype.reset = function () {\n for (var key in this.countries) {\n this.countries[key].setFill(this.color);\n }\n this.scale = this.baseScale;\n this.transX = this.baseTransX;\n this.transY = this.baseTransY;\n this.applyTransform();\n this.zoomCurStep = 1;\n};\n\nJQVMap.prototype.resize = function () {\n var curBaseScale = this.baseScale;\n if (this.width / this.height > this.defaultWidth / this.defaultHeight) {\n this.baseScale = this.height / this.defaultHeight;\n this.baseTransX = Math.abs(this.width - this.defaultWidth * this.baseScale) / (2 * this.baseScale);\n } else {\n this.baseScale = this.width / this.defaultWidth;\n this.baseTransY = Math.abs(this.height - this.defaultHeight * this.baseScale) / (2 * this.baseScale);\n }\n this.scale *= this.baseScale / curBaseScale;\n this.transX *= this.baseScale / curBaseScale;\n this.transY *= this.baseScale / curBaseScale;\n};\n\nJQVMap.prototype.select = function (cc, path) {\n cc = cc.toLowerCase();\n path = path || jQuery('#' + this.getCountryId(cc))[0];\n\n if (!this.isSelected(cc)) {\n if (this.multiSelectRegion) {\n this.selectedRegions.push(cc);\n } else {\n this.selectedRegions = [cc];\n }\n\n jQuery(this.container).trigger('regionSelect.jqvmap', [cc]);\n if (this.selectedColor && path) {\n path.currentFillColor = this.selectedColor;\n path.setFill(this.selectedColor);\n }\n }\n};\n\nJQVMap.prototype.selectIndex = function (cc) {\n cc = cc.toLowerCase();\n for (var i = 0; i < this.selectedRegions.length; i++) {\n if (cc === this.selectedRegions[i]) {\n return i;\n }\n }\n return -1;\n};\n\nJQVMap.prototype.setBackgroundColor = function (backgroundColor) {\n this.container.css('background-color', backgroundColor);\n};\n\nJQVMap.prototype.setColors = function (key, color) {\n if (typeof key === 'string') {\n this.countries[key].setFill(color);\n this.countries[key].setAttribute('original', color);\n } else {\n var colors = key;\n\n for (var code in colors) {\n if (this.countries[code]) {\n this.countries[code].setFill(colors[code]);\n this.countries[code].setAttribute('original', colors[code]);\n }\n }\n }\n};\n\nJQVMap.prototype.setNormalizeFunction = function (f) {\n this.colorScale.setNormalizeFunction(f);\n\n if (this.values) {\n this.setValues(this.values);\n }\n};\n\nJQVMap.prototype.setScale = function (scale) {\n this.scale = scale;\n this.applyTransform();\n};\n\nJQVMap.prototype.setScaleColors = function (colors) {\n this.colorScale.setColors(colors);\n\n if (this.values) {\n this.setValues(this.values);\n }\n};\n\nJQVMap.prototype.setValues = function (values) {\n var max = 0,\n min = Number.MAX_VALUE,\n val;\n\n for (var cc in values) {\n cc = cc.toLowerCase();\n val = parseFloat(values[cc]);\n\n if (isNaN(val)) {\n continue;\n }\n if (val > max) {\n max = values[cc];\n }\n if (val < min) {\n min = val;\n }\n }\n\n if (min === max) {\n max++;\n }\n\n this.colorScale.setMin(min);\n this.colorScale.setMax(max);\n\n var colors = {};\n for (cc in values) {\n cc = cc.toLowerCase();\n val = parseFloat(values[cc]);\n colors[cc] = isNaN(val) ? this.color : this.colorScale.getColor(val);\n }\n this.setColors(colors);\n this.values = values;\n};\n\nJQVMap.prototype.unhighlight = function (cc, path) {\n cc = cc.toLowerCase();\n path = path || jQuery('#' + this.getCountryId(cc))[0];\n path.setOpacity(1);\n if (path.currentFillColor) {\n path.setFill(path.currentFillColor);\n }\n};\n\nJQVMap.prototype.zoomIn = function () {\n var map = this;\n var sliderDelta = (jQuery('#zoom').innerHeight() - 6 * 2 - 15 * 2 - 3 * 2 - 7 - 6) / (this.zoomMaxStep - this.zoomCurStep);\n\n if (map.zoomCurStep < map.zoomMaxStep) {\n map.transX -= (map.width / map.scale - map.width / (map.scale * map.zoomStep)) / 2;\n map.transY -= (map.height / map.scale - map.height / (map.scale * map.zoomStep)) / 2;\n map.setScale(map.scale * map.zoomStep);\n map.zoomCurStep++;\n\n var $slider = jQuery('#zoomSlider');\n\n $slider.css('top', parseInt($slider.css('top'), 10) - sliderDelta);\n\n map.container.trigger('zoomIn');\n }\n};\n\nJQVMap.prototype.zoomOut = function () {\n var map = this;\n var sliderDelta = (jQuery('#zoom').innerHeight() - 6 * 2 - 15 * 2 - 3 * 2 - 7 - 6) / (this.zoomMaxStep - this.zoomCurStep);\n\n if (map.zoomCurStep > 1) {\n map.transX += (map.width / (map.scale / map.zoomStep) - map.width / map.scale) / 2;\n map.transY += (map.height / (map.scale / map.zoomStep) - map.height / map.scale) / 2;\n map.setScale(map.scale / map.zoomStep);\n map.zoomCurStep--;\n\n var $slider = jQuery('#zoomSlider');\n\n $slider.css('top', parseInt($slider.css('top'), 10) + sliderDelta);\n\n map.container.trigger('zoomOut');\n }\n};\n\nVectorCanvas.prototype.applyTransformParams = function (scale, transX, transY) {\n if (this.mode === 'svg') {\n this.rootGroup.setAttribute('transform', 'scale(' + scale + ') translate(' + transX + ', ' + transY + ')');\n } else {\n this.rootGroup.coordorigin = (this.width - transX) + ',' + (this.height - transY);\n this.rootGroup.coordsize = this.width / scale + ',' + this.height / scale;\n }\n};\n\nVectorCanvas.prototype.createGroup = function (isRoot) {\n var node;\n if (this.mode === 'svg') {\n node = this.createSvgNode('g');\n } else {\n node = this.createVmlNode('group');\n node.style.width = this.width + 'px';\n node.style.height = this.height + 'px';\n node.style.left = '0px';\n node.style.top = '0px';\n node.coordorigin = '0 0';\n node.coordsize = this.width + ' ' + this.height;\n }\n\n if (isRoot) {\n this.rootGroup = node;\n }\n return node;\n};\n\nVectorCanvas.prototype.createPath = function (config) {\n var node;\n if (this.mode === 'svg') {\n node = this.createSvgNode('path');\n node.setAttribute('d', config.path);\n\n if (this.params.borderColor !== null) {\n node.setAttribute('stroke', this.params.borderColor);\n }\n if (this.params.borderWidth > 0) {\n node.setAttribute('stroke-width', this.params.borderWidth);\n node.setAttribute('stroke-linecap', 'round');\n node.setAttribute('stroke-linejoin', 'round');\n }\n if (this.params.borderOpacity > 0) {\n node.setAttribute('stroke-opacity', this.params.borderOpacity);\n }\n\n node.setFill = function (color) {\n this.setAttribute('fill', color);\n if (this.getAttribute('original') === null) {\n this.setAttribute('original', color);\n }\n };\n\n node.getFill = function () {\n return this.getAttribute('fill');\n };\n\n node.getOriginalFill = function () {\n return this.getAttribute('original');\n };\n\n node.setOpacity = function (opacity) {\n this.setAttribute('fill-opacity', opacity);\n };\n } else {\n node = this.createVmlNode('shape');\n node.coordorigin = '0 0';\n node.coordsize = this.width + ' ' + this.height;\n node.style.width = this.width + 'px';\n node.style.height = this.height + 'px';\n node.fillcolor = JQVMap.defaultFillColor;\n node.stroked = false;\n node.path = VectorCanvas.pathSvgToVml(config.path);\n\n var scale = this.createVmlNode('skew');\n scale.on = true;\n scale.matrix = '0.01,0,0,0.01,0,0';\n scale.offset = '0,0';\n\n node.appendChild(scale);\n\n var fill = this.createVmlNode('fill');\n node.appendChild(fill);\n\n node.setFill = function (color) {\n this.getElementsByTagName('fill')[0].color = color;\n if (this.getAttribute('original') === null) {\n this.setAttribute('original', color);\n }\n };\n\n node.getFill = function () {\n return this.getElementsByTagName('fill')[0].color;\n };\n node.getOriginalFill = function () {\n return this.getAttribute('original');\n };\n node.setOpacity = function (opacity) {\n this.getElementsByTagName('fill')[0].opacity = parseInt(opacity * 100, 10) + '%';\n };\n }\n return node;\n};\n\nVectorCanvas.prototype.pathSvgToVml = function (path) {\n var result = '';\n var cx = 0, cy = 0, ctrlx, ctrly;\n\n return path.replace(/([MmLlHhVvCcSs])((?:-?(?:\\d+)?(?:\\.\\d+)?,?\\s?)+)/g, function (segment, letter, coords) {\n coords = coords.replace(/(\\d)-/g, '$1,-').replace(/\\s+/g, ',').split(',');\n if (!coords[0]) {\n coords.shift();\n }\n\n for (var i = 0, l = coords.length; i < l; i++) {\n coords[i] = Math.round(100 * coords[i]);\n }\n\n switch (letter) {\n case 'm':\n cx += coords[0];\n cy += coords[1];\n result = 't' + coords.join(',');\n break;\n\n case 'M':\n cx = coords[0];\n cy = coords[1];\n result = 'm' + coords.join(',');\n break;\n\n case 'l':\n cx += coords[0];\n cy += coords[1];\n result = 'r' + coords.join(',');\n break;\n\n case 'L':\n cx = coords[0];\n cy = coords[1];\n result = 'l' + coords.join(',');\n break;\n\n case 'h':\n cx += coords[0];\n result = 'r' + coords[0] + ',0';\n break;\n\n case 'H':\n cx = coords[0];\n result = 'l' + cx + ',' + cy;\n break;\n\n case 'v':\n cy += coords[0];\n result = 'r0,' + coords[0];\n break;\n\n case 'V':\n cy = coords[0];\n result = 'l' + cx + ',' + cy;\n break;\n\n case 'c':\n ctrlx = cx + coords[coords.length - 4];\n ctrly = cy + coords[coords.length - 3];\n cx += coords[coords.length - 2];\n cy += coords[coords.length - 1];\n result = 'v' + coords.join(',');\n break;\n\n case 'C':\n ctrlx = coords[coords.length - 4];\n ctrly = coords[coords.length - 3];\n cx = coords[coords.length - 2];\n cy = coords[coords.length - 1];\n result = 'c' + coords.join(',');\n break;\n\n case 's':\n coords.unshift(cy - ctrly);\n coords.unshift(cx - ctrlx);\n ctrlx = cx + coords[coords.length - 4];\n ctrly = cy + coords[coords.length - 3];\n cx += coords[coords.length - 2];\n cy += coords[coords.length - 1];\n result = 'v' + coords.join(',');\n break;\n\n case 'S':\n coords.unshift(cy + cy - ctrly);\n coords.unshift(cx + cx - ctrlx);\n ctrlx = coords[coords.length - 4];\n ctrly = coords[coords.length - 3];\n cx = coords[coords.length - 2];\n cy = coords[coords.length - 1];\n result = 'c' + coords.join(',');\n break;\n\n default:\n break;\n }\n\n return result;\n\n }).replace(/z/g, '');\n};\n\nVectorCanvas.prototype.setSize = function (width, height) {\n if (this.mode === 'svg') {\n this.canvas.setAttribute('width', width);\n this.canvas.setAttribute('height', height);\n } else {\n this.canvas.style.width = width + 'px';\n this.canvas.style.height = height + 'px';\n this.canvas.coordsize = width + ' ' + height;\n this.canvas.coordorigin = '0 0';\n if (this.rootGroup) {\n var paths = this.rootGroup.getElementsByTagName('shape');\n for (var i = 0, l = paths.length; i < l; i++) {\n paths[i].coordsize = width + ' ' + height;\n paths[i].style.width = width + 'px';\n paths[i].style.height = height + 'px';\n }\n this.rootGroup.coordsize = width + ' ' + height;\n this.rootGroup.style.width = width + 'px';\n this.rootGroup.style.height = height + 'px';\n }\n }\n this.width = width;\n this.height = height;\n};\n","/*! jQuery UI - v1.11.4 - 2015-03-13\n* http://jqueryui.com\n* Copyright jQuery Foundation and other contributors; Licensed MIT */\n(function(t){\"function\"==typeof define&&define.amd?define([\"jquery\"],t):t(jQuery)})(function(t){var e=0,i=Array.prototype.slice;return t.cleanData=function(e){return function(i){var n,s,o;for(o=0;null!=(s=i[o]);o++)try{n=t._data(s,\"events\"),n&&n.remove&&t(s).triggerHandler(\"remove\")}catch(r){}e(i)}}(t.cleanData),t.widget=function(e,i,n){var s,o,r,a,u={},d=e.split(\".\")[0];return e=e.split(\".\")[1],s=d+\"-\"+e,n||(n=i,i=t.Widget),t.expr[\":\"][s.toLowerCase()]=function(e){return!!t.data(e,s)},t[d]=t[d]||{},o=t[d][e],r=t[d][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new r(t,e)},t.extend(r,o,{version:n.version,_proto:t.extend({},n),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(n,function(e,n){return t.isFunction(n)?(u[e]=function(){var t=function(){return i.prototype[e].apply(this,arguments)},s=function(t){return i.prototype[e].apply(this,t)};return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=s,e=n.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(u[e]=n,void 0)}),r.prototype=t.widget.extend(a,{widgetEventPrefix:o?a.widgetEventPrefix||e:e},u,{constructor:r,namespace:d,widgetName:e,widgetFullName:s}),o?(t.each(o._childConstructors,function(e,i){var n=i.prototype;t.widget(n.namespace+\".\"+n.widgetName,r,i._proto)}),delete o._childConstructors):i._childConstructors.push(r),t.widget.bridge(e,r),r},t.widget.extend=function(e){for(var n,s,o=i.call(arguments,1),r=0,a=o.length;a>r;r++)for(n in o[r])s=o[r][n],o[r].hasOwnProperty(n)&&void 0!==s&&(e[n]=t.isPlainObject(s)?t.isPlainObject(e[n])?t.widget.extend({},e[n],s):t.widget.extend({},s):s);return e},t.widget.bridge=function(e,n){var s=n.prototype.widgetFullName||e;t.fn[e]=function(o){var r=\"string\"==typeof o,a=i.call(arguments,1),u=this;return r?this.each(function(){var i,n=t.data(this,s);return\"instance\"===o?(u=n,!1):n?t.isFunction(n[o])&&\"_\"!==o.charAt(0)?(i=n[o].apply(n,a),i!==n&&void 0!==i?(u=i&&i.jquery?u.pushStack(i.get()):i,!1):void 0):t.error(\"no such method '\"+o+\"' for \"+e+\" widget instance\"):t.error(\"cannot call methods on \"+e+\" prior to initialization; \"+\"attempted to call method '\"+o+\"'\")}):(a.length&&(o=t.widget.extend.apply(null,[o].concat(a))),this.each(function(){var e=t.data(this,s);e?(e.option(o||{}),e._init&&e._init()):t.data(this,s,new n(o,this))})),u}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:\"widget\",widgetEventPrefix:\"\",defaultElement:\"<div>\",options:{disabled:!1,create:null},_createWidget:function(i,n){n=t(n||this.defaultElement||this)[0],this.element=t(n),this.uuid=e++,this.eventNamespace=\".\"+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),n!==this&&(t.data(n,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===n&&this.destroy()}}),this.document=t(n.style?n.ownerDocument:n.document||n),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this._trigger(\"create\",null,this._getCreateEventData()),this._init()},_getCreateOptions:t.noop,_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr(\"aria-disabled\").removeClass(this.widgetFullName+\"-disabled \"+\"ui-state-disabled\"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass(\"ui-state-hover\"),this.focusable.removeClass(\"ui-state-focus\")},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var n,s,o,r=e;if(0===arguments.length)return t.widget.extend({},this.options);if(\"string\"==typeof e)if(r={},n=e.split(\".\"),e=n.shift(),n.length){for(s=r[e]=t.widget.extend({},this.options[e]),o=0;n.length-1>o;o++)s[n[o]]=s[n[o]]||{},s=s[n[o]];if(e=n.pop(),1===arguments.length)return void 0===s[e]?null:s[e];s[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];r[e]=i}return this._setOptions(r),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return this.options[t]=e,\"disabled\"===t&&(this.widget().toggleClass(this.widgetFullName+\"-disabled\",!!e),e&&(this.hoverable.removeClass(\"ui-state-hover\"),this.focusable.removeClass(\"ui-state-focus\"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(e,i,n){var s,o=this;\"boolean\"!=typeof e&&(n=i,i=e,e=!1),n?(i=s=t(i),this.bindings=this.bindings.add(i)):(n=i,i=this.element,s=this.widget()),t.each(n,function(n,r){function a(){return e||o.options.disabled!==!0&&!t(this).hasClass(\"ui-state-disabled\")?(\"string\"==typeof r?o[r]:r).apply(o,arguments):void 0}\"string\"!=typeof r&&(a.guid=r.guid=r.guid||a.guid||t.guid++);var u=n.match(/^([\\w:-]*)\\s*(.*)$/),d=u[1]+o.eventNamespace,c=u[2];c?s.delegate(c,d,a):i.bind(d,a)})},_off:function(e,i){i=(i||\"\").split(\" \").join(this.eventNamespace+\" \")+this.eventNamespace,e.unbind(i).undelegate(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return(\"string\"==typeof t?n[t]:t).apply(n,arguments)}var n=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){t(e.currentTarget).addClass(\"ui-state-hover\")},mouseleave:function(e){t(e.currentTarget).removeClass(\"ui-state-hover\")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){t(e.currentTarget).addClass(\"ui-state-focus\")},focusout:function(e){t(e.currentTarget).removeClass(\"ui-state-focus\")}})},_trigger:function(e,i,n){var s,o,r=this.options[e];if(n=n||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(s in o)s in i||(i[s]=o[s]);return this.element.trigger(i,n),!(t.isFunction(r)&&r.apply(this.element[0],[i].concat(n))===!1||i.isDefaultPrevented())}},t.each({show:\"fadeIn\",hide:\"fadeOut\"},function(e,i){t.Widget.prototype[\"_\"+e]=function(n,s,o){\"string\"==typeof s&&(s={effect:s});var r,a=s?s===!0||\"number\"==typeof s?i:s.effect||i:e;s=s||{},\"number\"==typeof s&&(s={duration:s}),r=!t.isEmptyObject(s),s.complete=o,s.delay&&n.delay(s.delay),r&&t.effects&&t.effects.effect[a]?n[e](s):a!==e&&n[a]?n[a](s.duration,s.easing,o):n.queue(function(i){t(this)[e](),o&&o.call(n[0]),i()})}}),t.widget});"],"names":["document","addEventListener","likedProjectsContainer","querySelector","likedProjects","dataset","alreadyLikedProjects","split","forEach","projectId","likeButton","classList","add","$","ready","window","animate_bar","percentage","parseInt","attr","no_fiesta","getElementsByClassName","length","initial_width","css","width","setTimeout","increase_target","confetti","target_elem","target_value","data","current_value","step","itv","setInterval","clearInterval","html","number_format","num","Intl","NumberFormat","format","canvas","getElementById","context","getContext","height","hiddenParticles","particle","particleCount","gravity","colors","i","velX","randomRange","velY","accelY","accelX","push","x","y","boxW","boxH","size","angle","degree","Math","PI","color","floor","random","anglespin","oscill_speed","alpha","draw","p","save","translate","rotate","fillStyle","globalAlpha","beginPath","fillRect","fill","closePath","restore","max","cos","index","indexOf","splice","min","update","clearRect","remove","drawScreen","requestAnimationFrame","load","event","removeEventListener","copySponsorInviteToClipboard","sponsorInviteText","innerHTML","value","tempInput","createElement","body","appendChild","select","execCommand","removeChild","container","map","url","input","selected_regions","fallback_input","update_filters","element","code","region","selectedRegions","val","getAppValue","name","getComputedStyle","documentElement","getPropertyValue","hoverColor","borderColor","selectedColor","activeColor","inactiveColor","displayMap","vectorMap","backgroundColor","colorOpacity","multiSelectRegion","enableZoom","showTooltip","onRegionSelect","onRegionDeselect","getJSON","Object","keys","reduce","previous","current","legacyInfoBanner","appInfoBanner","initBanner","infoBanner","cookieName","expiresDays","cookieValue","match","cookie","RegExp","unescape","getCookie","style","transition","opacity","days","date","Date","setDate","getDate","encodeURIComponent","toUTCString","setCookie","inputWrappers","querySelectorAll","inputWrapper","setProperty","selectionStart","click","e","preventDefault","target","this","nextText","parent","find","elipsis","toggle","toggleClass","hasClass","text","Clipboard","copy","elem","content","tmp_input","append","notice","notie","alert","init","on","animate","scrollTop","scrollHeight","hideOrShowMoreButton","$lastSectionItem","$showMoreButton","el","rect","getBoundingClientRect","top","bottom","innerHeight","clientHeight","addClass","removeClass","scroll","prevBtn","nextBtn","getActiveSection","updateButtonState","maxScrollLeft","scrollWidth","clientWidth","isAtStart","scrollLeft","isAtEnd","scrollContainer","direction","scrollAmount","scrollBy","left","behavior","closest","tooltip","passwordField","passwordVisibilityToggle","type","uploadInProgressCount","widget","blueimp","fileupload","options","messages","acceptFileTypes","maxFileSize","fileInput","form","submitButton","progressBar","barContainer","errorContainer","autosubmit","fileType","after","before","fileUploadOptions","autoUpload","formData","paramName","dataType","replaceFileInput","process","files","key","replace","s","toLowerCase","ext","substring","lastIndexOf","substr","sanitize_filename","submit","progressall","progress","loaded","total","start","prop","done","jqXHR","responseXML","railsFire","processfail","error","display_form_errors","errors","formSelector","fieldPrefix","field","prototype","hasOwnProperty","call","join","bind","hide","each","show","blur","multiple","removeAttr","toArray","refresh_custom_elements","selected","toString","in_array","interval","get","response","status","location","href","reload","fail","stopPollingSelector","rails","ajax","handleRemote","stopPropagation","global","eventName","fire","wrap","change","selected_option","tab","offset","hash","modal","update_equity_simulator","amount","ratio","parseFloat","set_error_message","checkValidity","ceil","validityMessage","$this","print","openAxeptioCookies","button","targetId","getAttribute","productExcerpt","readMore","readLess","scrollIntoView","block","inline","activeElement","triggers","overlayDismissButton","backdrop","closeOverlay","overlay","transitionEnded","overflow","display","className","trigger","openOverlay","onclick","checkbox","updateDisplay","is","replaceWith","scrollPosition","pageYOffset","scrollTo","focus","birthCountryField","birthDistrictField","birthDistrictContainer","updateBirthDistrict","newDistrictValue","displayPasswordHint","passwordHint","countryWarnings","warning","selectedCountryWarning","step1","step2","nextButton","backButton","autopopover","popover","futureBalanceElement","amountInputEur","initialBalance","updateFutureBalance","futureBalance","isNaN","toFixed","priceField","quantityField","display_warning_if_unreasonable","minReasonableUnitpriceEur","maxReasonableUnitpriceEur","qtty","alertElement","display_calculate_tri","price","quantity","positiveTriField","positiveTri","negativeTriField","negativeTri","then","submitSaleOfferButton","alertMessage","alertmessage","checked","confirm","customDataToggle","customToggleElements","classesToToggle","customToggle","classToToggle","customToggleClass","c","trueInformationsCheckBox","targetSumbitBtn","enableSubmit","disabled","countdown","days_template","I18n","t","hrs_template","mins_template","secs_template","totalDays","strftime","hours","totalSeconds","first","subscriptionsMobileNav","scrollY","offsetTop","slice","popoverTriggerEl","Popover","projectSectionLinkOffset","sectionOffset","link","targetOffset","selector","title_selector","video","padding","image","isProjectPage","undefined","modal_target","modal_title_target","maxWidth","initializeHideModalListener","showModal","modal_id","submitBtn","initialText","loadingText","grecaptcha","execute","token","submitNewUserForm","defaultTab","triggerEls","Tab","triggerEl","bsTarget","history","pushState","spyNavWrapper","section","sections","Array","id","onscroll","current_active","subscriptionHistoryHolder","addBadge","badgeHolder","initial","badge","indexFor","innerText","popoverContent","arr","ul","li","subscriptionHistory","JSON","parse","projects","investorsList","projectElement","projectData","csrfToken","handleValidationFor","bankAccountForm","iban","bic","axios","post","headers","validationResult","success","handleValidationFeedback","handleSuccessfulValidationFor","catch","iban_valid","bic_valid","bicInput","ibanInput","nextElementSibling","bankAccountValidation","bankAccountContinueButtons","Rails","require","i18n","store","fr","en","es","it","nl","defaultLocale","fallbacks","locale","lang","factory","define","instances","matchers","defaultOptions","precision","elapse","defer","parseDateString","dateString","String","Number","Error","source","DIRECTIVE_KEY_MAP","Y","m","n","d","w","W","H","M","S","D","I","N","T","escapedRegExp","str","sanitize","offsetObject","directives","len","directive","regexp","modifier","plural","pluralize","count","singular","abs","Countdown","finalDate","$el","extend","instanceNumber","setFinalDate","self","stop","dispatchEvent","pause","resume","countdownInstance","newTotalSecsLeft","hasEventsAttached","_data","now","getTime","totalSecsLeft","elapsed","seconds","minutes","daysToWeek","daysToMonth","weeks","weeksToMonth","months","years","getFullYear","totalHours","totalMinutes","Event","fn","argumentsArray","arguments","instance","method","apply","VectorCanvas","params","mode","SVGAngle","createSvgNode","nodeName","createElementNS","svgns","namespaces","rvml","createVmlNode","tagName","createStyleSheet","addRule","position","setSize","ColorScale","normalizeFunction","minValue","maxValue","setColors","setNormalizeFunction","setMin","setMax","apiParams","apiEvents","JQVMap","mapPins","mapData","maps","defaultWidth","defaultHeight","hoverColors","hoverOpacity","setBackgroundColor","resize","jQuery","newWidth","newHeight","applyTransform","resizeEvent","pinHandlers","placePins","pins","makeDraggable","rootGroup","createGroup","mapIndex","label","appendTo","countries","paths","path","createPath","setFill","getCountryId","setAttribute","delegate","containerPath","pop","labelShowEvent","regionMouseOverEvent","isDefaultPrevented","highlight","labelWidth","labelHeight","unhighlight","regionClickEvent","targetPath","mapClickEvent","keyPath","currentFillColor","getOriginalFill","isSelected","deselect","mousemove","pageX","pageY","colorScale","scaleColors","valueMin","valueMax","values","setValues","k","bindZoomButtons","pinMode","showLabels","toUpperCase","transX","transY","scale","baseTransX","baseTransY","baseScale","countriesColors","countriesData","zoomStep","zoomMaxStep","zoomCurStep","xlink","borderWidth","borderOpacity","onLabelShow","onLoad","onRegionOver","onRegionOut","onRegionClick","onResize","defaultParams","unbind","loadEvent","charAt","arrayToRgb","ar","rgb","getColor","normalize","l","lengthes","fullLength","vectorLength","vectorSubtract","vectorToNum","vectorAdd","vectorMult","rgbToArray","clearMaxValue","clearMinValue","f","pow","vector1","vector2","vector","result","sqrt","round","maxTransX","maxTransY","minTransX","minTransY","applyTransformParams","zoomIn","zoomOut","cc","selectIndex","getPin","getPinId","getPins","ret","pinObj","pinContent","stringify","setOpacity","getFill","oldPageX","oldPageY","lastTouchCount","touchCenterX","touchCenterY","touchStartDistance","touchStartScale","touchX","touchY","mouseDown","isMoving","isMovingTimeout","clearTimeout","mousedown","mouseup","mouseout","transformXOld","transformYOld","touches","originalEvent","setScale","pin","pinIndex","$pin","positionPins","positionFix","countryId","bbox","getBBox","rootCoords","mapCoords","coords","middleX","middleY","removePin","removePins","reset","curBaseScale","setScaleColors","MAX_VALUE","sliderDelta","$slider","coordorigin","coordsize","isRoot","node","config","fillcolor","defaultFillColor","stroked","pathSvgToVml","matrix","getElementsByTagName","ctrlx","ctrly","cx","cy","segment","letter","shift","unshift","cleanData","o","triggerHandler","r","a","u","Widget","expr","_createWidget","version","_proto","_childConstructors","isFunction","_super","_superApply","widgetEventPrefix","constructor","namespace","widgetName","widgetFullName","bridge","isPlainObject","jquery","pushStack","concat","option","_init","defaultElement","create","uuid","eventNamespace","bindings","hoverable","focusable","_on","destroy","ownerDocument","defaultView","parentWindow","_getCreateOptions","_create","_trigger","_getCreateEventData","noop","_destroy","removeData","camelCase","_setOptions","_setOption","enable","disable","guid","_off","undelegate","not","_delay","_hoverable","mouseenter","currentTarget","mouseleave","_focusable","focusin","focusout","effect","duration","isEmptyObject","complete","delay","effects","easing","queue"],"sourceRoot":""}