PageSourceSearch

https://cordeo.fr/lib/s_adc3589ac30a2d1c.js

js cordeo.fr collected 2026-10-06 15:00:47 UTC 43,218 bytes, 9 lines download raw bytes

1$(window).ready(function(){$('.partners').loadImage();});$(function(){var menu=$('.el-78866.linear'),autoCollapse=function(){menu.autoCollapse({normalClass:'gx-navbar-normal',responsiveClass:'gx-navbar-responsive',updateOnResize:false});};autoCollapse();$(window).onResize(function(){autoCollapse();});});/*!
2 * Likely 2.1.1 by Ilya Birman (ilyabirman.net)
3 * Rewritten sans jQuery by Evgeny Steblinsky (volter9.github.io)
4 * Supported by Ivan Akulov (iamakulov.com), Viktor Karpov (vitkarpov.com), and contributors
5 * Inspired by Social Likes by Artem Sapegin (sapegin.me)
6 */!function(n,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.likely=e():n.likely=e()}(this,function(){return function(n){function e(r){if(t[r])return t[r].exports;var o=t[r]={exports:{},id:r,loaded:!1};return n[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var t={};return e.m=n,e.c=t,e.p="",e(0)}([function(module,exports,__webpack_require__){eval("'use strict';\n\nvar likely = __webpack_require__(5);\nvar history = __webpack_require__(21);\n\nwindow.addEventListener('load', function () {\n    likely.initiate();\n    history.init();\n});\n\nmodule.exports = likely;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/likely.js\n ** module id = 0\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///./source/likely.js?")},function(module,exports){eval("'use strict';\n\nvar bool = { yes: true, no: false };\n\n/**\n * @internal\n */\nvar utils = {\n    /**\n     * Simple $.each, only for objects\n     *\n     * @param {Object} object\n     * @param {Function} callback\n     */\n    each: function (object, callback) {\n        for (var key in object) {\n            if (object.hasOwnProperty(key)) {\n                callback(object[key], key);\n            }\n        }\n    },\n\n    /**\n     * Convert array-like object to array\n     *\n     * @param {Object} arrayLike\n     * @returns {Array}\n     */\n    toArray: function (arrayLike) {\n        return Array.prototype.slice.call(arrayLike);\n    },\n\n    /**\n     * Merge given dictionaries (objects) into one object\n     *\n     * @param {...Object} object\n     * @returns {Object}\n     */\n    merge: function () {      // eslint-disable-line no-unused-vars\n        var result = {};\n\n        for (var i = 0; i < arguments.length; i++) {\n            var arg = arguments[i];\n\n            if (arg) {\n                for (var key in arg) {\n                    if (arg.hasOwnProperty(key)) {\n                        result[key] = arg[key];\n                    }\n                }\n            }\n        }\n\n        return result;\n    },\n\n    /**\n     * Extend one (target) object by other (subject)\n     *\n     * @param {Object} target\n     * @param {Object} subject\n     */\n    extend: function (target, subject) {\n        for (var key in subject) {\n            if (subject.hasOwnProperty(key)) {\n                target[key] = subject[key];\n            }\n        }\n    },\n\n    /**\n     * Return node.dataset or plain object for IE 10without setters\n     * based on https://gist.github.com/brettz9/4093766#file_html5_dataset.js\n     *\n     * @param {Node} node\n     * @returns {Object}\n     */\n    getDataset: function (node) {\n        if (typeof node.dataset === 'object') {\n            return node.dataset;\n        }\n\n        var i;\n        var dataset = {};\n        var attributes = node.attributes;\n        var attribute;\n        var attributeName;\n\n        var toUpperCase = function (n0) {\n            return n0.charAt(1).toUpperCase();\n        };\n\n        for (i = attributes.length - 1; i >= 0; i--) {\n            attribute = attributes[i];\n            if (attribute && attribute.name &&\n                (/^data-\\w[\\w\\-]*$/).test(attribute.name)) {\n                attributeName = attribute.name.substr(5).replace(/-./g, toUpperCase);\n                dataset[attributeName] = attribute.value;\n            }\n        }\n\n        return dataset;\n    },\n\n    /**\n     * Convert \"yes\" and \"no\" to true and false.\n     *\n     * @param {Node} node\n     * @returns {Object}\n     */\n    bools: function (node) {\n        var result = {};\n        var data = utils.getDataset(node);\n\n        for (var key in data) {\n            if (data.hasOwnProperty(key)) {\n                var value = data[key];\n\n                result[key] = bool[value] || value;\n            }\n        }\n\n        return result;\n    },\n\n    /**\n     * Map object keys in string to its values\n     *\n     * @param {String} text\n     * @param {Object} data\n     * @returns {String}\n     */\n    template: function (text, data) {\n        return text ? text.replace(/\\{([^\\}]+)\\}/g, function (value, key) {\n            return key in data ? data[key] : value;\n        }) : '';\n    },\n\n    /**\n     * Map object keys in URL to its values\n     *\n     * @param {String} text\n     * @param {Object} data\n     * @returns {String}\n     */\n    makeUrl: function (text, data) {\n        for (var key in data) {\n            if (data.hasOwnProperty(key)) {\n                data[key] = encodeURIComponent(data[key]);\n            }\n        }\n\n        return utils.template(text, data);\n    },\n\n    /**\n     * Create query string out of data\n     *\n     * @param {Object} data\n     * @returns {String}
6\n     */\n    query: function (data) {\n        var filter = encodeURIComponent;\n        var query = [];\n\n        for (var key in data) {\n            if (typeof data[key] === 'object') {\n                continue;\n            }\n\n            query.push(filter(key) + '=' + filter(data[key]));\n        }\n\n        return query.join('&');\n    },\n\n    /**\n     * Set value in object using dot-notation\n     *\n     * @param {Object} object\n     * @param {String} key\n     * @param {Object} value\n     */\n    set: function (object, key, value) {\n        var frags = key.split('.');\n        var last = null;\n\n        frags.forEach(function (key, index) {\n            if (typeof object[key] === 'undefined') {\n                object[key] = {};\n            }\n\n            if (index !== frags.length - 1) {\n                object = object[key];   // eslint-disable-line no-param-reassign\n            }\n\n            last = key;\n        });\n\n        object[last] = value;\n    },\n\n    /**\n     * Returns default url for likely.\n     * It could be href from <link rel='canonical'>\n     * if presents in the document, or the current url of the page otherwise\n     *\n     * @returns {String}\n     */\n    getDefaultUrl: function () {\n        var link = document.querySelector('link[rel=\"canonical\"]');\n\n        if (link) {\n            return link.href;\n        }\n        return window.location.href.replace(window.location.hash, '');\n    },\n};\n\nmodule.exports = utils;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/utils.js\n ** module id = 1\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/utils.js?")},function(module,exports){eval("'use strict';\n\nvar div = document.createElement('div');\nvar gid = 0;\n\nvar dom = module.exports = {\n    /**\n     * Wrap SVG coords from data object into SVG tag\n     *\n     * @param {String} coords\n     * @returns {String}\n     */\n    wrapSVG: function (coords) {\n        return '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" ' +\n            'viewBox=\"0 0 16 16\"><path d=\"M' +\n            coords +\n            'z\"/></svg>';\n    },\n\n    /**\n     * Create node from HTML\n     *\n     * @param {String} html\n     * @returns {Node}\n     */\n    createNode: function (html) {\n        div.innerHTML = html;\n\n        return div.children[0];\n    },\n\n    /**\n     * Load script\n     *\n     * @param {String} url\n     */\n    getScript: function (url) {\n        var script = document.createElement('script');\n        var head = document.head;\n\n        script.type = 'text/javascript';\n        script.src = url;\n\n        head.appendChild(script);\n        head.removeChild(script);\n    },\n\n    /**\n     * Get JSON\n     *\n     * @param {String} url\n     * @param {Function} callback\n     */\n    getJSON: function (url, callback) {\n        var name = encodeURIComponent('random_fun_' + (++gid));\n\n        var concreteUrl = url.replace(\n            /callback=(\\?)/,\n            'callback=' + name\n        );\n\n        window[name] = callback;\n\n        dom.getScript(concreteUrl);\n    },\n\n    /**\n     * Find first node by selector\n     *\n     * @param {String} selector\n     * @param {Node} node\n     * @returns {Node}\n     */\n    find: function (selector, node) {\n        return (node || document).querySelector(selector);\n    },\n\n    /**\n     * Find all nodes by selector\n     *\n     * @param {String} selector\n     * @param {Node} node\n     * @returns {NodeList}\n     */\n    findAll: function (selector, node) {\n        return (node || document).querySelectorAll(selector);\n    },\n\n    /**\n     * Open the popup\n     *\n     * @param {String} url\n     * @param {String} winId\n     * @param {Number} width,\n     * @param {Number} height\n     * @returns {Object|null}\n     */\n    openPopup: function (url, winId, width, height) {\n        var left = Math.round(screen.width / 2 - width / 2);\n        var top = 0;\n\n        if (screen.height > height) {\n            top = Math.round(screen.height / 3 - height / 2);\n        }\n\n        var options = 'left=' + left +\n            ',top=' + top +\n            ',width=' + width +\n            ',height=' + height +\n            ',personalbar=0,toolbar=0,scrollbars=1,resizable=1';\n\n        var win = window.open(url, winId, options);\n\n        if (!win) {\n            location.href = url;\n            return null;\n        }\n\n        win.focus();\n\n        return win;\n    },\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/dom.js\n ** module id = 2\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/dom.js?")},function(module,exports){eval("'use strict';\n\n/**\n * Configuration\n */\n\nmodule.exports = {\n    name: 'likely',\n    prefix: 'likely__',\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/config.js\n ** module id = 3\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/config.js?")},function(module,exports,__webpack_require__){eval("'use strict';\n\n/**\n * Social network services\n */\n\nvar Service = __webpack_require__(9);\nvar utils = __webpack_require__(1);\nvar svg = __webpack_require__(19);\n\n/* eslint-disable global-require */\nvar services = {\n    odnoklassniki: __webpack_require__(13),\n    vkontakte: __webpack_require__(18),\n    pinterest: __webpack_require__(14),\n    facebook: __webpack_require__(10),\n    twitter: __webpack_require__(17),\n    google: __webpack_require__(11),\n    telegram: __webpack_require__(16),\n    linkedin: __webpack_require__(12),\n    pocket: __webpack_require__(15)\n};\n/* eslint-enable global-require */\n\nutils.each(services, function (service, key) {\n    Service(service);\n\n    service.svgi = svg[key];\n    service.name = key;\n});\n\nmodule.exports = services;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/services/index.js\n ** module id = 4\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/services/index.js?")},function(module,exports,__webpack_require__){eval("'use strict';\n\nvar Likely = __webpack_require__(20);\nvar config = __webpack_require__(3);\nvar utils = __webpack_require__(1);\nvar dom = __webpack_require__(2);\n\n/**\n * @param {Node} node\n * @param {Object} options\n * @returns {Likely}\n */\nvar likely = function (node, options) {\n    var fullOptions = options || {};\n    var defaults = {\n        counters: true,\n        timeout: 1e3,\n        zeroes: false,\n        title: document.title,\n        wait: 0.5e3,\n        url: utils.getDefaultUrl(),\n    };\n    var widget = node[config.name];\n\n    if (widget) {\n        widget.update(fullOptions);\n    }\n    else {\n        node[config.name] = new Likely(node, utils.merge(\n            {}, defaults,\n            fullOptions, utils.bools(node)\n        ));\n    }\n\n    return widget;\n};\n\n/**\n * Initiate Likely buttons on load\n * @param {Object} [options] additional options for each widget\n */\nlikely.initiate = likely.initate = function (options) {\n    var widgets = dom.findAll('.' + config.name);
6\n\n    utils.toArray(widgets)\n        .forEach(function (widget) {\n            likely(widget, options);\n        });\n};\n\nmodule.exports = likely;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/index.js\n ** module id = 5\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/index.js?")},function(module,exports,__webpack_require__){eval("'use strict';\n\nvar services = __webpack_require__(4);\nvar config = __webpack_require__(3);\nvar fetch = __webpack_require__(8);\nvar utils = __webpack_require__(1);\nvar dom = __webpack_require__(2);\n\nvar htmlSpan = '<span class=\"{className}\">{content}</span>';\n\n/**\n * Separate social link widget\n *\n * @param {Node} widget\n * @param {Likely} likely\n * @param {Object} options\n */\nfunction LikelyButton(widget, likely, options) {\n    this.widget = widget;\n    this.likely = likely;\n    this.options = utils.merge(options);\n\n    this.init();\n}\n\nLikelyButton.prototype = {\n    /**\n     * Initiate the button\n     */\n    init: function () {\n        this.detectService();\n        this.detectParams();\n\n        if (this.service) {\n            this.initHtml();\n\n            setTimeout(this.initCounter.bind(this), 0);\n        }\n    },\n\n    /**\n     * Update the counter\n     *\n     * @param {Object} options\n     */\n    update: function (options) {\n        var className = '.' + config.prefix + 'counter';\n        var counters = dom.findAll(className, this.widget);\n\n        utils.extend(this.options, utils.merge({ forceUpdate: false }, options));\n        utils.toArray(counters).forEach(function (node) {\n            node.parentNode.removeChild(node);\n        });\n\n        this.initCounter();\n    },\n\n    /**\n     * Get the config.name of service and its options\n     */\n    detectService: function () {\n        var widget = this.widget;\n        var service = utils.getDataset(widget).service;\n\n        if (!service) {\n            service = Object.keys(services).filter(function (service) {\n                return widget.classList.contains(service);\n            })[0];\n        }\n\n        if (service) {\n            this.service = service;\n\n            utils.extend(this.options, services[service]);\n        }\n    },\n\n    /**\n     * Merge params from data-* attributes into options hash map\n     */\n    detectParams: function () {\n        var options = this.options;\n        var data = utils.getDataset(this.widget);\n\n        if (data.counter) {\n            var counter = parseInt(data.counter, 10);\n\n            if (isNaN(counter)) {\n                options.counterUrl = data.counter;\n            }\n            else {\n                options.counterNumber = counter;\n            }\n        }\n\n        options.title = data.title || options.title;\n        options.url = data.url || options.url;\n    },\n\n    /**\n     * Inititate button's HTML\n     */\n    initHtml: function () {\n        var options = this.options;\n        var widget = this.widget;\n        var text = widget.innerHTML;\n\n        widget.addEventListener('click', this.click.bind(this));\n        widget.classList.remove(this.service);\n        widget.className += (' ' + this.className('widget'));\n\n        var button = utils.template(htmlSpan, {\n            className: this.className('button'),\n            content: text,\n        });\n\n        var icon = utils.template(htmlSpan, {\n            className: this.className('icon'),\n            content: dom.wrapSVG(options.svgi),\n        });\n\n        widget.innerHTML = icon + button;\n    },\n\n    /**\n     * Fetch or get cached counter value and update the counter\n     */\n    initCounter: function () {\n        var options = this.options;\n\n        if (options.counters && options.counterNumber) {\n            this.updateCounter(options.counterNumber);\n        }\n        else if (options.counterUrl) {\n            fetch(\n                this.service,\n                options.url,\n                options\n            )(this.updateCounter.bind(this));\n        }\n    },\n\n    /**\n     * @param {String} className\n     * @returns {String}\n     */\n    className: function (className) {\n        var fullClass = config.prefix + className;
6\n\n        return fullClass + ' ' + fullClass + '_' + this.service;\n    },\n\n    /**\n     * Update counter\n     *\n     * @param {String} counterString\n     */\n    updateCounter: function (counterString) {\n        var counter = parseInt(counterString, 10) || 0;\n\n        var counterElement = dom.find('.' + config.name + '__counter', this.widget);\n\n        if (counterElement) {\n            counterElement.parentNode.removeChild(counterElement);\n        }\n\n        var options = {\n            className: this.className('counter'),\n            content: counter,\n        };\n\n        if (!counter && !this.options.zeroes) {\n            options.className += ' ' + config.prefix + 'counter_empty';\n            options.content = '';\n        }\n\n        this.widget.appendChild(\n            dom.createNode(utils.template(htmlSpan, options))\n        );\n\n        this.likely.updateCounter(this.service, counter);\n    },\n\n    /**\n     * Click event listener\n     * @returns {Boolean}\n     */\n    click: function () {\n        var options = this.options;\n\n        if (options.click.call(this)) {\n            var url = utils.makeUrl(options.popupUrl, {\n                url: options.url,\n                title: options.title,\n            });\n\n            dom.openPopup(\n                this.addAdditionalParamsToUrl(url),\n                config.prefix + this.service,\n                options.popupWidth,\n                options.popupHeight\n            );\n        }\n\n        return false;\n    },\n\n    /**\n     * Append service data to URL\n     *\n     * @param {String} url\n     * @returns {String}\n     */\n    addAdditionalParamsToUrl: function (url) {\n        var parameters = utils.query(utils.merge(this.widget.dataset, this.options.data));\n        var delimeter = url.indexOf('?') === -1 ? '?' : '&';\n\n        return parameters === ''\n            ? url\n            : url + delimeter + parameters;\n    },\n};\n\nmodule.exports = LikelyButton;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/button.js\n ** module id = 6\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/button.js?")},function(module,exports){eval("'use strict';\n\n/* eslint-disable consistent-return, no-param-reassign */\n\n/**\n * Factory function\n *\n * This function returns function with following API:\n *\n * - if passed argument is callback, then this callback would be called\n *   if the value was changed\n * - if passed argument is anything but undefined or function, then this\n *   function behaves like setter\n * - if argument isn't provided, then return value stored in closure\n *\n * @param {Object} value\n * @returns {Function}\n */\nmodule.exports = function (value) {\n    var listeners = [];\n\n    return function (argument) {\n        var type = typeof argument;\n\n        if (type === 'undefined') {\n            return value;\n        }\n        else if (type === 'function') {\n            listeners.push(argument);\n        }\n        else {\n            value = argument;\n\n            listeners.forEach(function (listener) {\n                listener(argument);\n            });\n        }\n    };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/factory.js\n ** module id = 7\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/factory.js?")},function(module,exports,__webpack_require__){eval("'use strict';\n\nvar services = __webpack_require__(4);\nvar Factory = __webpack_require__(7);\nvar utils = __webpack_require__(1);\n\nvar factories = {};\n\n/**\n * Fetch data\n *\n * @param {String} service\n * @param {String} url\n * @param {Object} options\n * @returns {Promise}\n */\nmodule.exports = function (service, url, options) {\n    if (!factories[service]) {\n        factories[service] = {};\n    }\n\n    var counters = factories[service];\n    var counter = counters[url];\n\n    if (!options.forceUpdate && counter) {\n        return counter;\n    }\n\n    counter = Factory();\n\n    var href = utils.makeUrl(options.counterUrl, {\n        url: url,\n    });\n\n    services[service].counter(href, counter, url);\n\n    counters[url] = counter;\n    return counter;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/fetch.js\n ** module id = 8\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/fetch.js?")},function(module,exports,__webpack_require__){eval("'use strict';\n\nvar dom = __webpack_require__(2);\n\n/**\n * @param {String} url\n * @param {Function} factory\n */\nvar counter = function (url, factory) {\n    var self = this;\n\n    dom.getJSON(url, function (count) {\n        try {\n            var convertedNumber = typeof self.convertNumber === 'function' ? self.convertNumber(count) : count;\n            factory(convertedNumber);\n        }\n        catch (e) {}\n    });\n};\n\n/**\n * @param {Object} options\n */\nmodule.exports = function (options) {\n    options.counter = options.counter || counter;\n    options.click = options.click || function () {\n        return true;\n    };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/service.js\n ** module id = 9\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/service.js?")},function(module,exports){eval("'use strict';\n\n/**\n * Facebook service provider\n */\n\nmodule.exports = {\n    counterUrl: 'https://graph.facebook.com/fql?q=SELECT+total_count+FROM+link_stat+WHERE+url%3D%22{url}%22&callback=?',\n    convertNumber: function (counter) {\n        return counter.data[0].total_count;\n    },\n    popupUrl: 'https://www.facebook.com/sharer/sharer.php?u={url}',\n    popupWidth: 600,\n    popupHeight: 500,\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/services/facebook.js\n ** module id = 10\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/services/facebook.js?")},function(module,exports){eval("'use strict';\n\n/**\n * Google+ service provider\n */\n\nvar gplus = {\n    counterUrl: 'https://share.yandex.net/counter/gpp/?url={url}&callback=?',\n    gid: 0,\n    promises: {},\n    popupUrl: 'https://plus.google.com/share?url={url}',\n    popupWidth: 700,\n    popupHeight: 500,\n};\n\nmodule.exports = gplus;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/services/google.js\n ** module id = 11\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/services/google.js?")},function(module,exports){eval("/**\n * LinkedIn service provider\n */\n\nmodule.exports = {\n    counterUrl: 'https://www.linkedin.com/countserv/count/share?url={url}&format=jsonp&callback=?',\n    convertNumber: function (counter) {\n        return counter.count;\n    },\n    popupUrl: 'https://www.linkedin.com/shareArticle?url={url}&mini=true&title={title}',\n    popupWidth: 600,\n    popupHeight: 500\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/services/linkedin.js\n ** module id = 12\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/services/linkedin.js?")},function(module,exports,__webpack_require__){eval("'use strict';\n\n/**\n * Odnoklassniki service provider\n */\n\nvar utils = __webpack_require__(1);\nvar dom = __webpack_require__(2);\n\nvar odnoklassniki = {\n    counterUrl: 'https://connect.ok.ru/dk?st.cmd=extLike&ref={url}&uid={index}',\n    counter: function (url, promise) {\n        this.promises.push(promise);\n\n        dom.getScript(utils.makeUrl(url, {\n            index: this.promises.length - 1,\n        }));\n    },\n    promises: [],\n    popupUrl: 'https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl={url}',\n    popupWidth: 640,\n    popupHeight: 400,\n};\n\nutils.set(window, 'ODKL.updateCount', function (index, counter) {\n    odnoklassniki.promises[index](counter);\n});\n\nmodule.exports = odnoklassniki;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/services/odnoklassniki.js\n ** module id = 13\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/services/odnoklassniki.js?")},function(module,exports){eval("'use strict';\n\n/**\n * Pinterest service provider\n */\n\nmodule.exports = {\n    counterUrl: 'https://api.pinterest.com/v1/urls/count.json?url={url}&callback=?',\n    convertNumber: function (counter) {\n        return counter.count;\n    },\n    popupUrl: 'https://pinterest.com/pin/create/button/?url={url}&description={title}',\n    popupWidth: 630,\n    popupHeight: 270,\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/services/pinterest.js\n ** module id = 14\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/services/pinterest.js?")},function(module,exports){eval("/**\n * Pocket service provider\n */\n\nvar pocket = {\n    counterUrl: 'https://widgets.getpocket.com/v1/button?count=horizontal&url={url}',\n    counter: function(url, factory) {\n\n        var request = new XMLHttpRequest();\n        request.open('GET', 'https://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from html where url=\"' + url + '\" and xpath=\"*\"') + '&format=json', true);
6\n\n        request.onload = function() {\n            if (this.status >= 200 && this.status < 400) {\n                var data = JSON.parse(this.response);\n                var count = data.query.results.html.body.div.a.span.em.content;\n                factory(count);\n            }\n        };\n\n        request.send();\n\n    },\n    popupUrl: 'https://getpocket.com/save?url={url}&format=json&callback=?',\n    popupWidth: 600,\n    popupHeight: 300\n};\n\nmodule.exports = pocket;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/services/pocket.js\n ** module id = 15\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/services/pocket.js?")},function(module,exports){eval("'use strict';\n\n/**\n * Telegram service provider\n */\n\nmodule.exports = {\n    popupUrl: 'https://telegram.me/share/url?url={url}',\n    popupWidth: 600,\n    popupHeight: 500,\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/services/telegram.js\n ** module id = 16\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/services/telegram.js?")},function(module,exports){eval("'use strict';\n\n/**\n * Twitter service provider\n */\n\nmodule.exports = {\n    popupUrl: 'https://twitter.com/intent/tweet?url={url}&text={title}',\n    popupWidth: 600,\n    popupHeight: 450,\n    click: function () {\n        if (!/[\\.\\?:\\-–—]\\s*$/.test(this.options.title)) {\n            this.options.title += ':';\n        }\n\n        return true;\n    },\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/services/twitter.js\n ** module id = 17\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/services/twitter.js?")},function(module,exports,__webpack_require__){eval("'use strict';\n\n/**\n * Vkontakte service provider\n */\n\nvar utils = __webpack_require__(1);\nvar dom = __webpack_require__(2);\n\nvar vkontakte = {\n    counterUrl: 'https://vk.com/share.php?act=count&url={url}&index={index}',\n    counter: function (url, promise) {\n        this.promises.push(promise);\n\n        dom.getScript(utils.makeUrl(url, {\n            index: this.promises.length - 1,\n        }));\n    },\n    promises: [],\n    popupUrl: 'https://vk.com/share.php?url={url}&title={title}',\n    popupWidth: 550,\n    popupHeight: 330,\n};\n\nutils.set(window, 'VK.Share.count', function (index, count) {\n    vkontakte.promises[index](count);\n});\n\nmodule.exports = vkontakte;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/services/vk.js\n ** module id = 18\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/services/vk.js?")},function(module,exports){eval("'use strict';\n\n/**\n * SVG icons for buttons\n * @type {Object}\n */\nmodule.exports = {\n    facebook: '8.96073939,5.24282552 L11.4560211,5.24282552 L11.164615,8.00031067 L8.96073939,8.00031067 L8.96073939,16 L5.65026601,16 L5.65026601,8.00031067 L4,8.00031067 L4,5.24282552 L5.65026601,5.24282552 L5.65026601,3.58261815 C5.65026601,2.40456681 5.92862413,1.51295095 6.48534038,0.907770572 C7.04205662,0.302590191 7.95790455,-1.37964105e-16 9.23288416,0 L11.4367597,0 L11.4367597,2.75748515 L10.0580172,2.75748515 C9.80575512,2.75748515 9.60340699,2.77861054 9.45097278,2.82086133 C9.29853857,2.86311211 9.18856226,2.93912211 9.12104384,3.04889131 C9.05352543,3.15866051 9.00982486,3.27029371 8.98994214,3.38379092 C8.97005942,3.49728813 8.96032517,3.65738547 8.96073939,3.86408295 L8.96073939,5.24282552 L8.96073939,5.24282552',\n    twitter: '15.96 3.42c-.04.153-.144.31-.237.414l-.118.058v.118l-.59.532-.237.295c-.05.036-.398.21-.413.237V6.49h-.06v.473h-.058v.294h-.058v.296h-.06v.235h-.06v.237h-.058c-.1.355-.197.71-.295 1.064h-.06v.116h-.06c-.02.1-.04.197-.058.296h-.06c-.04.118-.08.237-.118.355h-.06c-.038.118-.078.236-.117.353l-.118.06-.06.235-.117.06v.116l-.118.06v.12h-.06c-.02.057-.038.117-.058.175l-.118.06v.117c-.06.04-.118.08-.177.118v.118l-.237.177v.118l-.59.53-.532.592h-.117c-.06.078-.118.156-.177.236l-.177.06-.06.117h-.118l-.06.118-.176.06v.058h-.118l-.06.118-.353.12-.06.117c-.078.02-.156.04-.235.058v.06c-.118.038-.236.078-.354.118v.058H8.76v.06h-.12v.06h-.176v.058h-.118v.06H8.17v.058H7.99v.06l-.413.058v.06h-.237c-.667.22-1.455.293-2.36.293h-.886v-.058h-.53v-.06H3.27v-.06h-.295v-.06H2.68v-.057h-.177v-.06h-.236v-.058H2.09v-.06h-.177v-.058h-.177v-.06H1.56v-.058h-.12v-.06l-.294-.06v-.057c-.118-.04-.236-.08-.355-.118v-.06H.674v-.058H.555v-.06H.437v-.058H.32l-.06-.
612H.142v-.058c-.13-.08-.083.026-.177-.118H1.56v-.06c.294-.04.59-.077.884-.117v-.06h.177v-.058h.237v-.06h.118v-.06h.177v-.057h.118v-.06h.177v-.058l.236-.06v-.058l.236-.06c.02-.038.04-.078.058-.117l.237-.06c.02-.04.04-.077.058-.117h.118l.06-.118h.118c.036-.025.047-.078.118-.118V12.1c-1.02-.08-1.84-.54-2.303-1.183-.08-.058-.157-.118-.236-.176v-.117l-.118-.06v-.117c-.115-.202-.268-.355-.296-.65.453.004.987.008 1.354-.06v-.06c-.254-.008-.47-.08-.65-.175v-.058H2.32v-.06c-.08-.02-.157-.04-.236-.058l-.06-.118h-.117l-.118-.178h-.12c-.077-.098-.156-.196-.235-.294l-.118-.06v-.117l-.177-.12c-.35-.502-.6-1.15-.59-2.006h.06c.204.234.948.377 1.357.415v-.06c-.257-.118-.676-.54-.827-.768V5.9l-.118-.06c-.04-.117-.08-.236-.118-.354h-.06v-.118H.787c-.04-.196-.08-.394-.118-.59-.06-.19-.206-.697-.118-1.005h.06V3.36h.058v-.177h.06v-.177h.057V2.83h.06c.04-.118.078-.236.117-.355h.118v.06c.12.097.237.196.355.295v.118l.118.058c.08.098.157.197.236.295l.176.06.354.413h.118l.177.236h.118l.06.117h.117c.04.06.08.118.118.177h.118l.06.118.235.06.06.117.356.12.06.117.53.176v.06h.118v.058l.236.06v.06c.118.02.236.04.355.058v.06h.177v.058h.177v.06h.176v.058h.236v.06l.472.057v.06l1.417.18v-.237c-.1-.112-.058-.442-.057-.65 0-.573.15-.99.354-1.358v-.117l.118-.06.06-.235.176-.118v-.118c.14-.118.276-.236.414-.355l.06-.117h.117l.12-.177.235-.06.
606-.117h.117v-.058H9.7v-.058h.177v-.06h.177v-.058h.177v-.06h.296v-.058h1.063v.058h.294v.06h.177v.058h.178v.06h.177v.058h.118v.06h.118l.06.117c.08.018.158.038.236.058.04.06.08.118.118.177h.118l.06.117c.142.133.193.163.472.178.136-.12.283-.05.472-.118v-.06h.177v-.058h.177v-.06l.236-.058v-.06h.177l.59-.352v.176h-.058l-.06.295h-.058v.117h-.06v.118l-.117.06v.118l-.177.118v.117l-.118.06-.354.412h-.117l-.177.236h.06c.13-.112.402-.053.59-.117l1.063-.353',\n    vkontakte: '13 0H3C1 0 0 1 0 3v10c0 2 1 3 3 3h10c2 0 3-1 3-3V3c0-2-1-3-3-3zm.452 11.394l-1.603.022s-.345.068-.8-.243c-.598-.41-1.164-1.48-1.604-1.342-.446.144-.432 1.106-.432 1.106s.003.206-.1.315c-.11.12-.326.144-.326.144H7.87s-1.582.095-2.975-1.356c-1.52-1.583-2.862-4.723-2.862-4.723s-.078-.206.006-.305c.094-.112.35-.12.35-.12l1.716-.01s.162.026.277.11c.095.07.15.202.15.202s.276.7.643 1.335c.716 1.238 1.05 1.508 1.293 1.376.353-.193.247-1.75.247-1.75s.006-.565-.178-.817c-.145-.194-.415-.25-.534-.267-.096-.014.062-.238.267-.338.31-.15.853-.16 1.497-.153.502.004.646.035.842.083.59.143.39.694.39 2.016 0 .422-.075 1.018.23 1.215.13.085.453.013 1.256-1.352.38-.647.666-1.407.666-1.407s.062-.136.16-.194c.098-.06.232-.04.232-.04l1.804-.012s.542-.065.63.18c.092.257-.203.857-.94 1.84-1.21 1.612-1.345 1.46-.34 2.394.96.89 1.16 1.325 1.192 1.38.4.66-.44.71-.44.71',\n    google: '8,6.5v3h4.291c-0.526,2.01-2.093,3.476-4.315,3.476C5.228,12.976,3,10.748,3,8c0-2.748,2.228-4.976,4.976-4.976c1.442,0,2.606,0.623,3.397,1.603L13.52,2.48C12.192,0.955,10.276,0,8,0C3.582,0,0,3.582,0,8s3.582,8,8,8s7.5-3.582,7.5-8V6.5H8',\n    pinterest: '7.99 0c-4.417 0-8 3.582-8 8 0 3.39 2.11 6.284 5.086 7.45-.07-.633-.133-1.604.028-2.295.145-.624.938-3.977.938-3.977s-.24-.48-.24-1.188c0-1.112.645-1.943 1.448-1.943.683 0 1.012.512 1.012 1.127 0 .686-.437 1.713-.663 2.664-.19.796.398 1.446 1.184 1.446 1.422 0 2.515-1.5 2.515-3.664 0-1.915-1.377-3.255-3.343-3.255-2.276 0-3.612 1.707-3.612 3.472 0 .688.265 1.425.595 1.826.065.08.075.15.055.23-.06.252-.195.796-.222.907-.035.146-.116.177-.268.107-1-.465-1.624-1.926-1.624-3.1 0-2.523 1.835-4.84 5.287-4.84 2.775 0 4.932 1.977 4.932 4.62 0 2.757-1.74 4.976-4.152 4.976-.81 0-1.573-.42-1.834-.92l-.498 1.903c-.18.695-.668 1.566-.994 2.097.75.232 1.544.357 2.37.357 4.417 0 8-3.582 8-8s-3.583-8-8-8',\n    odnoklassniki: '8 6.107c.888 0 1.607-.72 1.607-1.607 0-.888-.72-1.607-1.607-1.607s-1.607.72-1.607 1.607c0 .888.72 1.607 1.607 1.607zM13 0H3C1 0 0 1 0 3v10c0 2 1 3 3 3h10c2 0 3-1 3-3V3c0-2-1-3-3-3zM8 .75c2.07 0 3.75 1.68 3.75 3.75 0 2.07-1.68 3.75-3.75 3.75S4.25 6.57 4.25 4.5C4.25 2.43 5.93.75 8 .75zm3.826 12.634c.42.42.42 1.097 0 1.515-.21.208-.483.313-.758.313-.274 0-.548-.105-.758-.314L8 12.59 5.69 14.9c-.42.418-1.098.418-1.516 0s-.42-1.098 0-1.516L6.357 11.2c-1.303-.386-2.288-1.073-2.337-1.11-.473-.354-.57-1.025-.214-1.5.354-.47 1.022-.567 1.496-.216.03.022 1.4.946 2.698.946 1.31 0 2.682-.934 2.693-.943.474-.355 1.146-.258 1.5.213.355.474.26 1.146-.214 1.5-.05.036-1.035.723-2.338 1.11l2.184 2.184',\n    telegram: '6,11.960784l-1,-3l11,-8l-15.378,5.914c0,0 -0.672,0.23 -0.619,0.655c0.053,0.425 0.602,0.619 0.602,0.619l3.575,1.203l1.62,5.154l2.742,-2.411l-0.007,-0.005l3.607,2.766c0.973,0.425 1.327,-0.46 1.327,-0.46l2.531,-13.435l-10,11z',\n    pocket: \"12.533 6.864L8.77 10.4c-.213.2-.486.3-.76.3-.273 0-.547-.1-.76-.3L3.488 6.865c-.437-.41-.45-1.09-.032-1.52.42-.428 1.114-.443 1.55-.032l3.006 2.823 3.004-2.823c.438-.41 1.132-.396 1.55.032.42.43.406 1.11-.03 1.52zm3.388-4.928c-.207-.56-.755-.936-1.363-.936H1.45C.854 1 .31 1.368.096 1.917.032 2.08 0 2.25 0 2.422v4.73l.055.94c.232 2.14 1.366 4.01 3.12 5.314.03.024.063.047.094.07l.02.013c.94.673 1.992 1.13 3.128 1.353.524.104 1.06.157 1.592.157.492 0 .986-.045 1.472-.133.058-.01.116-.022.175-.034.016-.003.033-.01.05-.018 1.088-.233 2.098-.677 3.003-1.326l.02-.015c.032-.022.064-.045.096-.07 1.753-1.303 2.887-3.173 3.12-5.312l.054-.94v-4.73c0-.165-.02-.327-.08-.487\",\n    linkedin: \"3.90812562,4.65812475 L3.90812562,14.3356242 L0.685625788,14.3356242 L0.685625788,4.65812475 L3.90812562,4.65812475 L3.90812562,4.65812475 Z M4.11312561,1.66999991 C4.11979227,2.14541655 3.95541728,2.54249986 3.62000063,2.86124985 C3.28458398,3.17999983 2.84354234,3.33958316 2.2968757,3.33999982 L2.2775007,3.33999982 C1.74375073,3.33999982 1.31395909,3.1804165 0.988125772,2.86124985 C0.662292456,2.5420832 0.499584132,2.14499989 0.500000798,1.66999991 C0.500000798,1.18833327 0.667709123,0.789583291 1.00312577,0.473749975 C1.33854242,0.157916658 1.77645906,0 2.3168757,0 C2.85729234,0 3.29020898,0.157916658 3.61562563,0.473749975 C3.94104228,0.789583291 4.10708394,1.18833327 4.11375061,1.66999991 L4.11312561,1.66999991 Z M15.5,8.78874953 L15.5,14.3356242 L12.2868752,14.3356242 L12.2868752,9.15999951 C12.2868752,8.47624955 12.1550002,7.94083291 11.8912502,7.5537496 C11.6275002,7.16666629 11.2156252,6.9729163 10.6556253,6.97249963 C10.2456253,6.97249963 9.90229196,7.08479129 9.62562531,7.30937461 C9.34895866,7.53395793 9.142292,7.81229125 9.00562535,8.14437457 C8.93395868,8.33979122 8.89812535,8.60354121 8.89812535,8.93562452 L8.89812535,14.3362492 L5.68500052,14.3362492 C5.69791719,11.7387494 5.70437552,9.63270782 5.70437552,8.01812457 C5.70437552,6.40354133 5.70104219,5.43999971 5.69437552,5.12749973 L5.68437552,4.65874975 L8.89750035,4.65874975 L8.89750035,6.06499968 L8.87812535,6.06499968 C9.00812535,5.85666636 9.14166701,5.6743747 9.27875033,5.51812471 C9.41583366,5.36187471 9.59979198,5.19270806 9.8306253,5.01062473 C10.0614586,4.82854141 10.3445836,4.68687475 10.6800003,4.58562476 C11.0154169,4.48437476 11.3881252,4.4339581 11.7981252,4.43437476 C12.9114585,4.43437476 13.8066668,4.80374974 14.4837501,5.54249971 C15.1608334,6.28124967 15.499375,7.36354127 15.499375,8.78937453 L15.5,8.78874953\"\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/svg.js\n ** module id = 19\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/svg.js?");},function(module,exports,__webpack_require__){eval("'use strict';\n\nvar Button = __webpack_require__(6);\n\nvar config = __webpack_require__(3);\nvar utils = __webpack_require__(1);\n\n/**\n * Main widget view\n *\n * @param {Node} container\n * @param {Object} options\n */\nfunction Likely(container, options) {\n    this.container = container;\n    this.options = options;\n\n    this.countersLeft = 0;\n    this.buttons = [];\n    this.number = 0;\n\n    this.init();\n}
6\n\nLikely.prototype = {\n    /**\n     * Initiate the social buttons widget\n     */\n    init: function () {\n        utils.toArray(this.container.children)\n             .forEach(this.addButton.bind(this));\n\n        if (this.options.counters) {\n            this.timer = setTimeout(this.appear.bind(this), this.options.wait);\n            this.timeout = setTimeout(this.ready.bind(this), this.options.timeout);\n        }\n        else {\n            this.appear();\n        }\n    },\n\n    /**\n     * Add a button\n     *\n     * @param {Node} node\n     */\n    addButton: function (node) {\n        var button = new Button(node, this, this.options);\n\n        this.buttons.push(button);\n\n        if (button.options.counterUrl) {\n            this.countersLeft++;\n        }\n    },\n\n    /**\n     * Update the timer with URL\n     *\n     * @param {Object} options\n     */\n    update: function (options) {\n        if (\n            options.forceUpdate ||\n            options.url !== this.options.url\n        ) {\n            this.countersLeft = this.buttons.length;\n            this.number = 0;\n\n            this.buttons.forEach(function (button) {\n                button.update(options);\n            });\n        }\n    },\n\n    /**\n     * Update counter\n     *\n     * @param {String} service\n     * @param {Number} counter\n     */\n    updateCounter: function (service, counter) {\n        if (counter) {\n            this.number += counter;\n        }\n\n        this.countersLeft--;\n\n        if (this.countersLeft === 0) {\n            this.appear();\n            this.ready();\n        }\n    },\n\n    /**\n     * Show the buttons with smooth animation\n     */\n    appear: function () {\n        this.container.classList.add(config.name + '_visible');\n    },\n\n    /**\n     * Get. Set. Ready.\n     */\n    ready: function () {\n        if (this.timeout) {\n            clearTimeout(this.timeout);\n\n            this.container.classList.add(config.name + '_ready');\n        }\n    },\n};\n\nmodule.exports = Likely;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/widget.js\n ** module id = 20\n ** module chunks = 0 1\n **/\n//# sourceURL=webpack:///./source/widget.js?")},function(module,exports,__webpack_require__){eval("'use strict';\n\nvar likely = __webpack_require__(5);\nvar utils = __webpack_require__(1);\n\n/**\n * History\n * @type {Object}\n */\nvar history = {\n    /**\n     * Called everytime the page url's been changed.\n     * Reinits all widgets with the new page url.\n     * @type {Function}\n     */\n    onUrlChange: function () {\n        likely.initiate({\n            forceUpdate: true,\n            url: utils.getDefaultUrl(),\n        });\n    },\n    /**\n     * Inits pust/pop state events listeners\n     * @type {Function}\n     */\n    init: function () {\n        var pushState = window.history.pushState;\n        window.history.pushState = function () {\n            // browser should change the url first\n            setTimeout(this.onUrlChange.bind(this), 0);\n            return pushState.apply(window.history, arguments);\n        }.bind(this);\n\n        var replaceState = window.history.replaceState;\n        window.history.replaceState = function () {\n            setTimeout(this.onUrlChange.bind(this), 0);\n            return replaceState.apply(window.history, arguments);\n        }.bind(this);\n\n        window.addEventListener('popstate', this.onUrlChange.bind(this));\n    },\n};\n\nmodule.exports = history;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./source/history.js\n ** module id = 21\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///./source/history.js?")}])});$(window).ready(function(){$('.slick-carousel').slick({dots:true,arrows:true,autoplay:true,})
7$('.slick-gallery .blog-article-image').loadImage();});$(function(){var html="";if(ENV.isLoggedIn){$('.connected-user-name').text(ENV.connectedContact.firstName);html+='<li><a href="https://cordeo.fr/fr/espace-client" title="Mon compte">Mon compte</a></li>';html+='<li><a href="https://cordeo.fr/fr/espace-client/deconnexion" title="Déconnexion">Déconnexion</a></li>';}
8else{html+='<li><a href="https://cordeo.fr/fr/espace-client/connexion" title="Connexion">Connexion</a></li>';html+='<li><a href="https://cordeo.fr/fr/espace-client/inscription" title="Inscription">Inscription</a></li>';}
9$('.dropdown-menu-user').html(html);});$(function(){var isInit=false;$('.multinav-link').on('mouseenter',function(){if(isInit)return;isInit=true;$('.multinav-child-picture').loadImage();});var menu=$('.multinav'),autoCollapse=function(){menu.autoCollapse({normalClass:'multinav-normal',responsiveClass:'multinav-responsive',dropdownLinkSelector:'.dropdown > a',updateOnResize:false});};autoCollapse();$(window).onResize(function(){autoCollapse();});});$(document).ready(function(){var lastTab=null;$('.multinav-item').on('mouseenter',function(){var tab=$(this).closest('.multinav-pane'),links=tab.find('.multinav-item');links.removeClass('active');lastTab=tab;});$('.multinav-item').on('mouseleave',function(){lastTab.find('*[data-active="default"]').addClass('active');});});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.