diff options
author | Marvin Borner | 2018-07-13 19:06:45 +0200 |
---|---|---|
committer | Marvin Borner | 2018-07-13 19:06:45 +0200 |
commit | 6fcfb7c04d32e1c8b26a312295bf7ac3ec2d2ad7 (patch) | |
tree | dbc87ef16fa01d5d99116de283592b8fe5e02944 /public/bower_components/inputmask | |
parent | dfd839f27146df0ad0494e11734fc7d310c70ebf (diff) |
Fixed many permissions and began admin interface
Diffstat (limited to 'public/bower_components/inputmask')
29 files changed, 29776 insertions, 0 deletions
diff --git a/public/bower_components/inputmask/.bower.json b/public/bower_components/inputmask/.bower.json new file mode 100644 index 0000000..93849cc --- /dev/null +++ b/public/bower_components/inputmask/.bower.json @@ -0,0 +1,58 @@ +{ + "name": "inputmask", + "version": "3.3.11", + "main": [ + "./dist/inputmask/inputmask.js", + "./dist/inputmask/inputmask.extensions.js", + "./dist/inputmask/inputmask.date.extensions.js", + "./dist/inputmask/inputmask.numeric.extensions.js", + "./dist/inputmask/inputmask.phone.extensions.js", + "./dist/inputmask/jquery.inputmask.js", + "./dist/inputmask/global/document.js", + "./dist/inputmask/global/window.js", + "./dist/inputmask/phone-codes/phone.js", + "./dist/inputmask/phone-codes/phone-be.js", + "./dist/inputmask/phone-codes/phone-nl.js", + "./dist/inputmask/phone-codes/phone-ru.js", + "./dist/inputmask/phone-codes/phone-uk.js", + "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.jqlite.js", + "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.jquery.js", + "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.js", + "./dist/inputmask/bindings/inputmask.binding.js" + ], + "keywords": [ + "jquery", + "plugins", + "input", + "form", + "inputmask", + "mask" + ], + "description": "Inputmask is a javascript library which creates an input mask. Inputmask can run against vanilla javascript, jQuery and jqlite.", + "license": "http://opensource.org/licenses/mit-license.php", + "ignore": [ + "**/*", + "!dist/*", + "!dist/inputmask/*", + "!dist/min/*", + "!dist/min/inputmask/*" + ], + "dependencies": { + "jquery": ">=1.7" + }, + "authors": [ + { + "name": "Robin Herbots" + } + ], + "homepage": "http://robinherbots.github.io/Inputmask", + "_release": "3.3.11", + "_resolution": { + "type": "version", + "tag": "3.3.11", + "commit": "506b28902803e0aa983089658d4a74e8727d816b" + }, + "_source": "https://github.com/RobinHerbots/jquery.inputmask.git", + "_target": "^3.3.7", + "_originalSource": "jquery.inputmask" +}
\ No newline at end of file diff --git a/public/bower_components/inputmask/bower.json b/public/bower_components/inputmask/bower.json new file mode 100644 index 0000000..2d9d1d4 --- /dev/null +++ b/public/bower_components/inputmask/bower.json @@ -0,0 +1,40 @@ +{ + "name": "inputmask", + "version": "3.3.11", + "main": [ + "./dist/inputmask/inputmask.js", + "./dist/inputmask/inputmask.extensions.js", + "./dist/inputmask/inputmask.date.extensions.js", + "./dist/inputmask/inputmask.numeric.extensions.js", + "./dist/inputmask/inputmask.phone.extensions.js", + "./dist/inputmask/jquery.inputmask.js", + "./dist/inputmask/global/document.js", + "./dist/inputmask/global/window.js", + "./dist/inputmask/phone-codes/phone.js", + "./dist/inputmask/phone-codes/phone-be.js", + "./dist/inputmask/phone-codes/phone-nl.js", + "./dist/inputmask/phone-codes/phone-ru.js", + "./dist/inputmask/phone-codes/phone-uk.js", + "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.jqlite.js", + "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.jquery.js", + "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.js", + "./dist/inputmask/bindings/inputmask.binding.js" + ], + "keywords": ["jquery", "plugins", "input", "form", "inputmask", "mask"], + "description": "Inputmask is a javascript library which creates an input mask. Inputmask can run against vanilla javascript, jQuery and jqlite.", + "license": "http://opensource.org/licenses/mit-license.php", + "ignore": [ + "**/*", + "!dist/*", + "!dist/inputmask/*", + "!dist/min/*", + "!dist/min/inputmask/*" + ], + "dependencies": { + "jquery": ">=1.7" + }, + "authors": [{ + "name": "Robin Herbots" + }], + "homepage": "http://robinherbots.github.io/Inputmask" +} diff --git a/public/bower_components/inputmask/dist/inputmask/bindings/inputmask.binding.js b/public/bower_components/inputmask/dist/inputmask/bindings/inputmask.binding.js new file mode 100644 index 0000000..04844ff --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/bindings/inputmask.binding.js @@ -0,0 +1,21 @@ +/*! +* bindings/inputmask.binding.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(factory) { + "function" == typeof define && define.amd ? define([ "jquery", "../inputmask", "../global/document" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery"), require("../inputmask"), require("../global/document")) : factory(jQuery, window.Inputmask, document); +}(function($, Inputmask, document) { + $(document).ajaxComplete(function(event, xmlHttpRequest, ajaxOptions) { + -1 !== $.inArray("html", ajaxOptions.dataTypes) && $(".inputmask, [data-inputmask], [data-inputmask-mask], [data-inputmask-alias]").each(function(ndx, lmnt) { + void 0 === lmnt.inputmask && Inputmask().mask(lmnt); + }); + }).ready(function() { + $(".inputmask, [data-inputmask], [data-inputmask-mask], [data-inputmask-alias]").each(function(ndx, lmnt) { + void 0 === lmnt.inputmask && Inputmask().mask(lmnt); + }); + }); +});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/dependencyLibs/inputmask.dependencyLib.jqlite.js b/public/bower_components/inputmask/dist/inputmask/dependencyLibs/inputmask.dependencyLib.jqlite.js new file mode 100644 index 0000000..67c8512 --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/dependencyLibs/inputmask.dependencyLib.jqlite.js @@ -0,0 +1,62 @@ +/*! +* dependencyLibs/inputmask.dependencyLib.jqlite.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(factory) { + "function" == typeof define && define.amd ? define([ "jqlite", "../global/window", "../global/document]" ], factory) : "object" == typeof exports ? module.exports = factory(require("jqlite"), require("../global/window"), require("../global/document")) : window.dependencyLib = factory(jqlite, window, document); +}(function($, window, document) { + function indexOf(list, elem) { + for (var i = 0, len = list.length; i < len; i++) if (list[i] === elem) return i; + return -1; + } + function type(obj) { + return null == obj ? obj + "" : "object" == typeof obj || "function" == typeof obj ? class2type[class2type.toString.call(obj)] || "object" : typeof obj; + } + function isWindow(obj) { + return null != obj && obj === obj.window; + } + function isArraylike(obj) { + var length = "length" in obj && obj.length, ltype = type(obj); + return "function" !== ltype && !isWindow(obj) && (!(1 !== obj.nodeType || !length) || ("array" === ltype || 0 === length || "number" == typeof length && length > 0 && length - 1 in obj)); + } + for (var class2type = {}, classTypes = "Boolean Number String Function Array Date RegExp Object Error".split(" "), nameNdx = 0; nameNdx < classTypes.length; nameNdx++) class2type["[object " + classTypes[nameNdx] + "]"] = classTypes[nameNdx].toLowerCase(); + return $.inArray = function(elem, arr, i) { + return null == arr ? -1 : indexOf(arr, elem); + }, $.isFunction = function(obj) { + return "function" === type(obj); + }, $.isArray = Array.isArray, $.isPlainObject = function(obj) { + return "object" === type(obj) && !obj.nodeType && !isWindow(obj) && !(obj.constructor && !class2type.hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf")); + }, $.extend = function() { + var options, name, src, copy, copyIsArray, clone, target = arguments[0] || {}, i = 1, length = arguments.length, deep = !1; + for ("boolean" == typeof target && (deep = target, target = arguments[i] || {}, + i++), "object" == typeof target || $.isFunction(target) || (target = {}), i === length && (target = this, + i--); i < length; i++) if (null != (options = arguments[i])) for (name in options) src = target[name], + target !== (copy = options[name]) && (deep && copy && ($.isPlainObject(copy) || (copyIsArray = $.isArray(copy))) ? (copyIsArray ? (copyIsArray = !1, + clone = src && $.isArray(src) ? src : []) : clone = src && $.isPlainObject(src) ? src : {}, + target[name] = $.extend(deep, clone, copy)) : void 0 !== copy && (target[name] = copy)); + return target; + }, $.each = function(obj, callback) { + var i = 0; + if (isArraylike(obj)) for (var length = obj.length; i < length && !1 !== callback.call(obj[i], i, obj[i]); i++) ; else for (i in obj) if (!1 === callback.call(obj[i], i, obj[i])) break; + return obj; + }, $.map = function(elems, callback) { + var value, i = 0, length = elems.length, ret = []; + if (isArraylike(elems)) for (;i < length; i++) null != (value = callback(elems[i], i)) && ret.push(value); else for (i in elems) null != (value = callback(elems[i], i)) && ret.push(value); + return [].concat(ret); + }, $.data = function(elem, name, data) { + return $(elem).data(name, data); + }, $.Event = $.Event || function(event, params) { + params = params || { + bubbles: !1, + cancelable: !1, + detail: void 0 + }; + var evt = document.createEvent("CustomEvent"); + return evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail), + evt; + }, $.Event.prototype = window.Event.prototype, $; +});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/dependencyLibs/inputmask.dependencyLib.jquery.js b/public/bower_components/inputmask/dist/inputmask/dependencyLibs/inputmask.dependencyLib.jquery.js new file mode 100644 index 0000000..a9534dc --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/dependencyLibs/inputmask.dependencyLib.jquery.js @@ -0,0 +1,13 @@ +/*! +* dependencyLibs/inputmask.dependencyLib.jquery.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(factory) { + "function" == typeof define && define.amd ? define([ "jquery" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery")) : window.dependencyLib = factory(jQuery); +}(function($) { + return $; +});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/dependencyLibs/inputmask.dependencyLib.js b/public/bower_components/inputmask/dist/inputmask/dependencyLibs/inputmask.dependencyLib.js new file mode 100644 index 0000000..3916874 --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/dependencyLibs/inputmask.dependencyLib.js @@ -0,0 +1,133 @@ +/*! +* dependencyLibs/inputmask.dependencyLib.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(factory) { + "function" == typeof define && define.amd ? define([ "../global/window", "../global/document" ], factory) : "object" == typeof exports ? module.exports = factory(require("../global/window"), require("../global/document")) : window.dependencyLib = factory(window, document); +}(function(window, document) { + function indexOf(list, elem) { + for (var i = 0, len = list.length; i < len; i++) if (list[i] === elem) return i; + return -1; + } + function type(obj) { + return null == obj ? obj + "" : "object" == typeof obj || "function" == typeof obj ? class2type[class2type.toString.call(obj)] || "object" : typeof obj; + } + function isWindow(obj) { + return null != obj && obj === obj.window; + } + function isArraylike(obj) { + var length = "length" in obj && obj.length, ltype = type(obj); + return "function" !== ltype && !isWindow(obj) && (!(1 !== obj.nodeType || !length) || ("array" === ltype || 0 === length || "number" == typeof length && length > 0 && length - 1 in obj)); + } + function isValidElement(elem) { + return elem instanceof Element; + } + function DependencyLib(elem) { + return elem instanceof DependencyLib ? elem : this instanceof DependencyLib ? void (void 0 !== elem && null !== elem && elem !== window && (this[0] = elem.nodeName ? elem : void 0 !== elem[0] && elem[0].nodeName ? elem[0] : document.querySelector(elem), + void 0 !== this[0] && null !== this[0] && (this[0].eventRegistry = this[0].eventRegistry || {}))) : new DependencyLib(elem); + } + for (var class2type = {}, classTypes = "Boolean Number String Function Array Date RegExp Object Error".split(" "), nameNdx = 0; nameNdx < classTypes.length; nameNdx++) class2type["[object " + classTypes[nameNdx] + "]"] = classTypes[nameNdx].toLowerCase(); + return DependencyLib.prototype = { + on: function(events, handler) { + if (isValidElement(this[0])) for (var eventRegistry = this[0].eventRegistry, elem = this[0], _events = events.split(" "), endx = 0; endx < _events.length; endx++) { + var nsEvent = _events[endx].split("."); + !function(ev, namespace) { + elem.addEventListener ? elem.addEventListener(ev, handler, !1) : elem.attachEvent && elem.attachEvent("on" + ev, handler), + eventRegistry[ev] = eventRegistry[ev] || {}, eventRegistry[ev][namespace] = eventRegistry[ev][namespace] || [], + eventRegistry[ev][namespace].push(handler); + }(nsEvent[0], nsEvent[1] || "global"); + } + return this; + }, + off: function(events, handler) { + if (isValidElement(this[0])) for (var eventRegistry = this[0].eventRegistry, elem = this[0], _events = events.split(" "), endx = 0; endx < _events.length; endx++) for (var nsEvent = _events[endx].split("."), offEvents = function(ev, namespace) { + var hndx, hndL, evts = []; + if (ev.length > 0) if (void 0 === handler) for (hndx = 0, hndL = eventRegistry[ev][namespace].length; hndx < hndL; hndx++) evts.push({ + ev: ev, + namespace: namespace && namespace.length > 0 ? namespace : "global", + handler: eventRegistry[ev][namespace][hndx] + }); else evts.push({ + ev: ev, + namespace: namespace && namespace.length > 0 ? namespace : "global", + handler: handler + }); else if (namespace.length > 0) for (var evNdx in eventRegistry) for (var nmsp in eventRegistry[evNdx]) if (nmsp === namespace) if (void 0 === handler) for (hndx = 0, + hndL = eventRegistry[evNdx][nmsp].length; hndx < hndL; hndx++) evts.push({ + ev: evNdx, + namespace: nmsp, + handler: eventRegistry[evNdx][nmsp][hndx] + }); else evts.push({ + ev: evNdx, + namespace: nmsp, + handler: handler + }); + return evts; + }(nsEvent[0], nsEvent[1]), i = 0, offEventsL = offEvents.length; i < offEventsL; i++) !function(ev, namespace, handler) { + if (ev in eventRegistry == 1) if (elem.removeEventListener ? elem.removeEventListener(ev, handler, !1) : elem.detachEvent && elem.detachEvent("on" + ev, handler), + "global" === namespace) for (var nmsp in eventRegistry[ev]) eventRegistry[ev][nmsp].splice(eventRegistry[ev][nmsp].indexOf(handler), 1); else eventRegistry[ev][namespace].splice(eventRegistry[ev][namespace].indexOf(handler), 1); + }(offEvents[i].ev, offEvents[i].namespace, offEvents[i].handler); + return this; + }, + trigger: function(events) { + if (isValidElement(this[0])) for (var eventRegistry = this[0].eventRegistry, elem = this[0], _events = "string" == typeof events ? events.split(" ") : [ events.type ], endx = 0; endx < _events.length; endx++) { + var nsEvent = _events[endx].split("."), ev = nsEvent[0], namespace = nsEvent[1] || "global"; + if (void 0 !== document && "global" === namespace) { + var evnt, i, params = { + bubbles: !0, + cancelable: !0, + detail: Array.prototype.slice.call(arguments, 1) + }; + if (document.createEvent) { + try { + evnt = new CustomEvent(ev, params); + } catch (e) { + (evnt = document.createEvent("CustomEvent")).initCustomEvent(ev, params.bubbles, params.cancelable, params.detail); + } + events.type && DependencyLib.extend(evnt, events), elem.dispatchEvent(evnt); + } else (evnt = document.createEventObject()).eventType = ev, events.type && DependencyLib.extend(evnt, events), + elem.fireEvent("on" + evnt.eventType, evnt); + } else if (void 0 !== eventRegistry[ev]) if (arguments[0] = arguments[0].type ? arguments[0] : DependencyLib.Event(arguments[0]), + "global" === namespace) for (var nmsp in eventRegistry[ev]) for (i = 0; i < eventRegistry[ev][nmsp].length; i++) eventRegistry[ev][nmsp][i].apply(elem, arguments); else for (i = 0; i < eventRegistry[ev][namespace].length; i++) eventRegistry[ev][namespace][i].apply(elem, arguments); + } + return this; + } + }, DependencyLib.isFunction = function(obj) { + return "function" === type(obj); + }, DependencyLib.noop = function() {}, DependencyLib.isArray = Array.isArray, DependencyLib.inArray = function(elem, arr, i) { + return null == arr ? -1 : indexOf(arr, elem); + }, DependencyLib.valHooks = void 0, DependencyLib.isPlainObject = function(obj) { + return "object" === type(obj) && !obj.nodeType && !isWindow(obj) && !(obj.constructor && !class2type.hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf")); + }, DependencyLib.extend = function() { + var options, name, src, copy, copyIsArray, clone, target = arguments[0] || {}, i = 1, length = arguments.length, deep = !1; + for ("boolean" == typeof target && (deep = target, target = arguments[i] || {}, + i++), "object" == typeof target || DependencyLib.isFunction(target) || (target = {}), + i === length && (target = this, i--); i < length; i++) if (null != (options = arguments[i])) for (name in options) src = target[name], + target !== (copy = options[name]) && (deep && copy && (DependencyLib.isPlainObject(copy) || (copyIsArray = DependencyLib.isArray(copy))) ? (copyIsArray ? (copyIsArray = !1, + clone = src && DependencyLib.isArray(src) ? src : []) : clone = src && DependencyLib.isPlainObject(src) ? src : {}, + target[name] = DependencyLib.extend(deep, clone, copy)) : void 0 !== copy && (target[name] = copy)); + return target; + }, DependencyLib.each = function(obj, callback) { + var i = 0; + if (isArraylike(obj)) for (var length = obj.length; i < length && !1 !== callback.call(obj[i], i, obj[i]); i++) ; else for (i in obj) if (!1 === callback.call(obj[i], i, obj[i])) break; + return obj; + }, DependencyLib.map = function(elems, callback) { + var value, i = 0, length = elems.length, ret = []; + if (isArraylike(elems)) for (;i < length; i++) null != (value = callback(elems[i], i)) && ret.push(value); else for (i in elems) null != (value = callback(elems[i], i)) && ret.push(value); + return [].concat(ret); + }, DependencyLib.data = function(owner, key, value) { + if (void 0 === value) return owner.__data ? owner.__data[key] : null; + owner.__data = owner.__data || {}, owner.__data[key] = value; + }, "function" == typeof window.CustomEvent ? DependencyLib.Event = window.CustomEvent : (DependencyLib.Event = function(event, params) { + params = params || { + bubbles: !1, + cancelable: !1, + detail: void 0 + }; + var evt = document.createEvent("CustomEvent"); + return evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail), + evt; + }, DependencyLib.Event.prototype = window.Event.prototype), DependencyLib; +});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/global/document.js b/public/bower_components/inputmask/dist/inputmask/global/document.js new file mode 100644 index 0000000..be2c3f0 --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/global/document.js @@ -0,0 +1,11 @@ +/*! +* global/document.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +"function" == typeof define && define.amd ? define(function() { + return document; +}) : "object" == typeof exports && (module.exports = document);
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/global/window.js b/public/bower_components/inputmask/dist/inputmask/global/window.js new file mode 100644 index 0000000..e9d2733 --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/global/window.js @@ -0,0 +1,11 @@ +/*! +* global/window.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +"function" == typeof define && define.amd ? define(function() { + return window; +}) : "object" == typeof exports && (module.exports = window);
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/inputmask.date.extensions.js b/public/bower_components/inputmask/dist/inputmask/inputmask.date.extensions.js new file mode 100644 index 0000000..6dcd117 --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/inputmask.date.extensions.js @@ -0,0 +1,480 @@ +/*! +* inputmask.date.extensions.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(factory) { + "function" == typeof define && define.amd ? define([ "./dependencyLibs/inputmask.dependencyLib", "./inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./dependencyLibs/inputmask.dependencyLib"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask); +}(function($, Inputmask) { + function isLeapYear(year) { + return isNaN(year) || 29 === new Date(year, 2, 0).getDate(); + } + return Inputmask.extendAliases({ + "dd/mm/yyyy": { + mask: "1/2/y", + placeholder: "dd/mm/yyyy", + regex: { + val1pre: new RegExp("[0-3]"), + val1: new RegExp("0[1-9]|[12][0-9]|3[01]"), + val2pre: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[1-9]|[12][0-9]|3[01])" + escapedSeparator + "[01])"); + }, + val2: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[1-9]|[12][0-9])" + escapedSeparator + "(0[1-9]|1[012]))|(30" + escapedSeparator + "(0[13-9]|1[012]))|(31" + escapedSeparator + "(0[13578]|1[02]))"); + } + }, + leapday: "29/02/", + separator: "/", + yearrange: { + minyear: 1900, + maxyear: 2099 + }, + isInYearRange: function(chrs, minyear, maxyear) { + if (isNaN(chrs)) return !1; + var enteredyear = parseInt(chrs.concat(minyear.toString().slice(chrs.length))), enteredyear2 = parseInt(chrs.concat(maxyear.toString().slice(chrs.length))); + return !isNaN(enteredyear) && (minyear <= enteredyear && enteredyear <= maxyear) || !isNaN(enteredyear2) && (minyear <= enteredyear2 && enteredyear2 <= maxyear); + }, + determinebaseyear: function(minyear, maxyear, hint) { + var currentyear = new Date().getFullYear(); + if (minyear > currentyear) return minyear; + if (maxyear < currentyear) { + for (var maxYearPrefix = maxyear.toString().slice(0, 2), maxYearPostfix = maxyear.toString().slice(2, 4); maxyear < maxYearPrefix + hint; ) maxYearPrefix--; + var maxxYear = maxYearPrefix + maxYearPostfix; + return minyear > maxxYear ? minyear : maxxYear; + } + if (minyear <= currentyear && currentyear <= maxyear) { + for (var currentYearPrefix = currentyear.toString().slice(0, 2); maxyear < currentYearPrefix + hint; ) currentYearPrefix--; + var currentYearAndHint = currentYearPrefix + hint; + return currentYearAndHint < minyear ? minyear : currentYearAndHint; + } + return currentyear; + }, + onKeyDown: function(e, buffer, caretPos, opts) { + var $input = $(this); + if (e.ctrlKey && e.keyCode === Inputmask.keyCode.RIGHT) { + var today = new Date(); + $input.val(today.getDate().toString() + (today.getMonth() + 1).toString() + today.getFullYear().toString()), + $input.trigger("setvalue"); + } + }, + getFrontValue: function(mask, buffer, opts) { + for (var start = 0, length = 0, i = 0; i < mask.length && "2" !== mask.charAt(i); i++) { + var definition = opts.definitions[mask.charAt(i)]; + definition ? (start += length, length = definition.cardinality) : length++; + } + return buffer.join("").substr(start, length); + }, + postValidation: function(buffer, currentResult, opts) { + var dayMonthValue, year, bufferStr = buffer.join(""); + return 0 === opts.mask.indexOf("y") ? (year = bufferStr.substr(0, 4), dayMonthValue = bufferStr.substring(4, 10)) : (year = bufferStr.substring(6, 10), + dayMonthValue = bufferStr.substr(0, 6)), currentResult && (dayMonthValue !== opts.leapday || isLeapYear(year)); + }, + definitions: { + "1": { + validator: function(chrs, maskset, pos, strict, opts) { + var isValid = opts.regex.val1.test(chrs); + return strict || isValid || chrs.charAt(1) !== opts.separator && -1 === "-./".indexOf(chrs.charAt(1)) || !(isValid = opts.regex.val1.test("0" + chrs.charAt(0))) ? isValid : (maskset.buffer[pos - 1] = "0", + { + refreshFromBuffer: { + start: pos - 1, + end: pos + }, + pos: pos, + c: chrs.charAt(0) + }); + }, + cardinality: 2, + prevalidator: [ { + validator: function(chrs, maskset, pos, strict, opts) { + var pchrs = chrs; + isNaN(maskset.buffer[pos + 1]) || (pchrs += maskset.buffer[pos + 1]); + var isValid = 1 === pchrs.length ? opts.regex.val1pre.test(pchrs) : opts.regex.val1.test(pchrs); + if (isValid && maskset.validPositions[pos] && (opts.regex.val2(opts.separator).test(chrs + maskset.validPositions[pos].input) || (maskset.validPositions[pos].input = "0" === chrs ? "1" : "0")), + !strict && !isValid) { + if (isValid = opts.regex.val1.test(chrs + "0")) return maskset.buffer[pos] = chrs, + maskset.buffer[++pos] = "0", { + pos: pos, + c: "0" + }; + if (isValid = opts.regex.val1.test("0" + chrs)) return maskset.buffer[pos] = "0", + pos++, { + pos: pos + }; + } + return isValid; + }, + cardinality: 1 + } ] + }, + "2": { + validator: function(chrs, maskset, pos, strict, opts) { + var frontValue = opts.getFrontValue(maskset.mask, maskset.buffer, opts); + -1 !== frontValue.indexOf(opts.placeholder[0]) && (frontValue = "01" + opts.separator); + var isValid = opts.regex.val2(opts.separator).test(frontValue + chrs); + return strict || isValid || chrs.charAt(1) !== opts.separator && -1 === "-./".indexOf(chrs.charAt(1)) || !(isValid = opts.regex.val2(opts.separator).test(frontValue + "0" + chrs.charAt(0))) ? isValid : (maskset.buffer[pos - 1] = "0", + { + refreshFromBuffer: { + start: pos - 1, + end: pos + }, + pos: pos, + c: chrs.charAt(0) + }); + }, + cardinality: 2, + prevalidator: [ { + validator: function(chrs, maskset, pos, strict, opts) { + isNaN(maskset.buffer[pos + 1]) || (chrs += maskset.buffer[pos + 1]); + var frontValue = opts.getFrontValue(maskset.mask, maskset.buffer, opts); + -1 !== frontValue.indexOf(opts.placeholder[0]) && (frontValue = "01" + opts.separator); + var isValid = 1 === chrs.length ? opts.regex.val2pre(opts.separator).test(frontValue + chrs) : opts.regex.val2(opts.separator).test(frontValue + chrs); + return isValid && maskset.validPositions[pos] && (opts.regex.val2(opts.separator).test(chrs + maskset.validPositions[pos].input) || (maskset.validPositions[pos].input = "0" === chrs ? "1" : "0")), + strict || isValid || !(isValid = opts.regex.val2(opts.separator).test(frontValue + "0" + chrs)) ? isValid : (maskset.buffer[pos] = "0", + pos++, { + pos: pos + }); + }, + cardinality: 1 + } ] + }, + y: { + validator: function(chrs, maskset, pos, strict, opts) { + return opts.isInYearRange(chrs, opts.yearrange.minyear, opts.yearrange.maxyear); + }, + cardinality: 4, + prevalidator: [ { + validator: function(chrs, maskset, pos, strict, opts) { + var isValid = opts.isInYearRange(chrs, opts.yearrange.minyear, opts.yearrange.maxyear); + if (!strict && !isValid) { + var yearPrefix = opts.determinebaseyear(opts.yearrange.minyear, opts.yearrange.maxyear, chrs + "0").toString().slice(0, 1); + if (isValid = opts.isInYearRange(yearPrefix + chrs, opts.yearrange.minyear, opts.yearrange.maxyear)) return maskset.buffer[pos++] = yearPrefix.charAt(0), + { + pos: pos + }; + if (yearPrefix = opts.determinebaseyear(opts.yearrange.minyear, opts.yearrange.maxyear, chrs + "0").toString().slice(0, 2), + isValid = opts.isInYearRange(yearPrefix + chrs, opts.yearrange.minyear, opts.yearrange.maxyear)) return maskset.buffer[pos++] = yearPrefix.charAt(0), + maskset.buffer[pos++] = yearPrefix.charAt(1), { + pos: pos + }; + } + return isValid; + }, + cardinality: 1 + }, { + validator: function(chrs, maskset, pos, strict, opts) { + var isValid = opts.isInYearRange(chrs, opts.yearrange.minyear, opts.yearrange.maxyear); + if (!strict && !isValid) { + var yearPrefix = opts.determinebaseyear(opts.yearrange.minyear, opts.yearrange.maxyear, chrs).toString().slice(0, 2); + if (isValid = opts.isInYearRange(chrs[0] + yearPrefix[1] + chrs[1], opts.yearrange.minyear, opts.yearrange.maxyear)) return maskset.buffer[pos++] = yearPrefix.charAt(1), + { + pos: pos + }; + if (yearPrefix = opts.determinebaseyear(opts.yearrange.minyear, opts.yearrange.maxyear, chrs).toString().slice(0, 2), + isValid = opts.isInYearRange(yearPrefix + chrs, opts.yearrange.minyear, opts.yearrange.maxyear)) return maskset.buffer[pos - 1] = yearPrefix.charAt(0), + maskset.buffer[pos++] = yearPrefix.charAt(1), maskset.buffer[pos++] = chrs.charAt(0), + { + refreshFromBuffer: { + start: pos - 3, + end: pos + }, + pos: pos + }; + } + return isValid; + }, + cardinality: 2 + }, { + validator: function(chrs, maskset, pos, strict, opts) { + return opts.isInYearRange(chrs, opts.yearrange.minyear, opts.yearrange.maxyear); + }, + cardinality: 3 + } ] + } + }, + insertMode: !1, + autoUnmask: !1 + }, + "mm/dd/yyyy": { + placeholder: "mm/dd/yyyy", + alias: "dd/mm/yyyy", + regex: { + val2pre: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[13-9]|1[012])" + escapedSeparator + "[0-3])|(02" + escapedSeparator + "[0-2])"); + }, + val2: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[1-9]|1[012])" + escapedSeparator + "(0[1-9]|[12][0-9]))|((0[13-9]|1[012])" + escapedSeparator + "30)|((0[13578]|1[02])" + escapedSeparator + "31)"); + }, + val1pre: new RegExp("[01]"), + val1: new RegExp("0[1-9]|1[012]") + }, + leapday: "02/29/", + onKeyDown: function(e, buffer, caretPos, opts) { + var $input = $(this); + if (e.ctrlKey && e.keyCode === Inputmask.keyCode.RIGHT) { + var today = new Date(); + $input.val((today.getMonth() + 1).toString() + today.getDate().toString() + today.getFullYear().toString()), + $input.trigger("setvalue"); + } + } + }, + "yyyy/mm/dd": { + mask: "y/1/2", + placeholder: "yyyy/mm/dd", + alias: "mm/dd/yyyy", + leapday: "/02/29", + onKeyDown: function(e, buffer, caretPos, opts) { + var $input = $(this); + if (e.ctrlKey && e.keyCode === Inputmask.keyCode.RIGHT) { + var today = new Date(); + $input.val(today.getFullYear().toString() + (today.getMonth() + 1).toString() + today.getDate().toString()), + $input.trigger("setvalue"); + } + } + }, + "dd.mm.yyyy": { + mask: "1.2.y", + placeholder: "dd.mm.yyyy", + leapday: "29.02.", + separator: ".", + alias: "dd/mm/yyyy" + }, + "dd-mm-yyyy": { + mask: "1-2-y", + placeholder: "dd-mm-yyyy", + leapday: "29-02-", + separator: "-", + alias: "dd/mm/yyyy" + }, + "mm.dd.yyyy": { + mask: "1.2.y", + placeholder: "mm.dd.yyyy", + leapday: "02.29.", + separator: ".", + alias: "mm/dd/yyyy" + }, + "mm-dd-yyyy": { + mask: "1-2-y", + placeholder: "mm-dd-yyyy", + leapday: "02-29-", + separator: "-", + alias: "mm/dd/yyyy" + }, + "yyyy.mm.dd": { + mask: "y.1.2", + placeholder: "yyyy.mm.dd", + leapday: ".02.29", + separator: ".", + alias: "yyyy/mm/dd" + }, + "yyyy-mm-dd": { + mask: "y-1-2", + placeholder: "yyyy-mm-dd", + leapday: "-02-29", + separator: "-", + alias: "yyyy/mm/dd" + }, + datetime: { + mask: "1/2/y h:s", + placeholder: "dd/mm/yyyy hh:mm", + alias: "dd/mm/yyyy", + regex: { + hrspre: new RegExp("[012]"), + hrs24: new RegExp("2[0-4]|1[3-9]"), + hrs: new RegExp("[01][0-9]|2[0-4]"), + ampm: new RegExp("^[a|p|A|P][m|M]"), + mspre: new RegExp("[0-5]"), + ms: new RegExp("[0-5][0-9]") + }, + timeseparator: ":", + hourFormat: "24", + definitions: { + h: { + validator: function(chrs, maskset, pos, strict, opts) { + if ("24" === opts.hourFormat && 24 === parseInt(chrs, 10)) return maskset.buffer[pos - 1] = "0", + maskset.buffer[pos] = "0", { + refreshFromBuffer: { + start: pos - 1, + end: pos + }, + c: "0" + }; + var isValid = opts.regex.hrs.test(chrs); + if (!strict && !isValid && (chrs.charAt(1) === opts.timeseparator || -1 !== "-.:".indexOf(chrs.charAt(1))) && (isValid = opts.regex.hrs.test("0" + chrs.charAt(0)))) return maskset.buffer[pos - 1] = "0", + maskset.buffer[pos] = chrs.charAt(0), pos++, { + refreshFromBuffer: { + start: pos - 2, + end: pos + }, + pos: pos, + c: opts.timeseparator + }; + if (isValid && "24" !== opts.hourFormat && opts.regex.hrs24.test(chrs)) { + var tmp = parseInt(chrs, 10); + return 24 === tmp ? (maskset.buffer[pos + 5] = "a", maskset.buffer[pos + 6] = "m") : (maskset.buffer[pos + 5] = "p", + maskset.buffer[pos + 6] = "m"), (tmp -= 12) < 10 ? (maskset.buffer[pos] = tmp.toString(), + maskset.buffer[pos - 1] = "0") : (maskset.buffer[pos] = tmp.toString().charAt(1), + maskset.buffer[pos - 1] = tmp.toString().charAt(0)), { + refreshFromBuffer: { + start: pos - 1, + end: pos + 6 + }, + c: maskset.buffer[pos] + }; + } + return isValid; + }, + cardinality: 2, + prevalidator: [ { + validator: function(chrs, maskset, pos, strict, opts) { + var isValid = opts.regex.hrspre.test(chrs); + return strict || isValid || !(isValid = opts.regex.hrs.test("0" + chrs)) ? isValid : (maskset.buffer[pos] = "0", + pos++, { + pos: pos + }); + }, + cardinality: 1 + } ] + }, + s: { + validator: "[0-5][0-9]", + cardinality: 2, + prevalidator: [ { + validator: function(chrs, maskset, pos, strict, opts) { + var isValid = opts.regex.mspre.test(chrs); + return strict || isValid || !(isValid = opts.regex.ms.test("0" + chrs)) ? isValid : (maskset.buffer[pos] = "0", + pos++, { + pos: pos + }); + }, + cardinality: 1 + } ] + }, + t: { + validator: function(chrs, maskset, pos, strict, opts) { + return opts.regex.ampm.test(chrs + "m"); + }, + casing: "lower", + cardinality: 1 + } + }, + insertMode: !1, + autoUnmask: !1 + }, + datetime12: { + mask: "1/2/y h:s t\\m", + placeholder: "dd/mm/yyyy hh:mm xm", + alias: "datetime", + hourFormat: "12" + }, + "mm/dd/yyyy hh:mm xm": { + mask: "1/2/y h:s t\\m", + placeholder: "mm/dd/yyyy hh:mm xm", + alias: "datetime12", + regex: { + val2pre: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[13-9]|1[012])" + escapedSeparator + "[0-3])|(02" + escapedSeparator + "[0-2])"); + }, + val2: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[1-9]|1[012])" + escapedSeparator + "(0[1-9]|[12][0-9]))|((0[13-9]|1[012])" + escapedSeparator + "30)|((0[13578]|1[02])" + escapedSeparator + "31)"); + }, + val1pre: new RegExp("[01]"), + val1: new RegExp("0[1-9]|1[012]") + }, + leapday: "02/29/", + onKeyDown: function(e, buffer, caretPos, opts) { + var $input = $(this); + if (e.ctrlKey && e.keyCode === Inputmask.keyCode.RIGHT) { + var today = new Date(); + $input.val((today.getMonth() + 1).toString() + today.getDate().toString() + today.getFullYear().toString()), + $input.trigger("setvalue"); + } + } + }, + "hh:mm t": { + mask: "h:s t\\m", + placeholder: "hh:mm xm", + alias: "datetime", + hourFormat: "12" + }, + "h:s t": { + mask: "h:s t\\m", + placeholder: "hh:mm xm", + alias: "datetime", + hourFormat: "12" + }, + "hh:mm:ss": { + mask: "h:s:s", + placeholder: "hh:mm:ss", + alias: "datetime", + autoUnmask: !1 + }, + "hh:mm": { + mask: "h:s", + placeholder: "hh:mm", + alias: "datetime", + autoUnmask: !1 + }, + date: { + alias: "dd/mm/yyyy" + }, + "mm/yyyy": { + mask: "1/y", + placeholder: "mm/yyyy", + leapday: "donotuse", + separator: "/", + alias: "mm/dd/yyyy" + }, + shamsi: { + regex: { + val2pre: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[1-9]|1[012])" + escapedSeparator + "[0-3])"); + }, + val2: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[1-9]|1[012])" + escapedSeparator + "(0[1-9]|[12][0-9]))|((0[1-9]|1[012])" + escapedSeparator + "30)|((0[1-6])" + escapedSeparator + "31)"); + }, + val1pre: new RegExp("[01]"), + val1: new RegExp("0[1-9]|1[012]") + }, + yearrange: { + minyear: 1300, + maxyear: 1499 + }, + mask: "y/1/2", + leapday: "/12/30", + placeholder: "yyyy/mm/dd", + alias: "mm/dd/yyyy", + clearIncomplete: !0 + }, + "yyyy-mm-dd hh:mm:ss": { + mask: "y-1-2 h:s:s", + placeholder: "yyyy-mm-dd hh:mm:ss", + alias: "datetime", + separator: "-", + leapday: "-02-29", + regex: { + val2pre: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[13-9]|1[012])" + escapedSeparator + "[0-3])|(02" + escapedSeparator + "[0-2])"); + }, + val2: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[1-9]|1[012])" + escapedSeparator + "(0[1-9]|[12][0-9]))|((0[13-9]|1[012])" + escapedSeparator + "30)|((0[13578]|1[02])" + escapedSeparator + "31)"); + }, + val1pre: new RegExp("[01]"), + val1: new RegExp("0[1-9]|1[012]") + }, + onKeyDown: function(e, buffer, caretPos, opts) {} + } + }), Inputmask; +});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/inputmask.extensions.js b/public/bower_components/inputmask/dist/inputmask/inputmask.extensions.js new file mode 100644 index 0000000..fc37c2b --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/inputmask.extensions.js @@ -0,0 +1,97 @@ +/*! +* inputmask.extensions.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(factory) { + "function" == typeof define && define.amd ? define([ "./dependencyLibs/inputmask.dependencyLib", "./inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./dependencyLibs/inputmask.dependencyLib"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask); +}(function($, Inputmask) { + return Inputmask.extendDefinitions({ + A: { + validator: "[A-Za-zА-яЁёÀ-ÿµ]", + cardinality: 1, + casing: "upper" + }, + "&": { + validator: "[0-9A-Za-zА-яЁёÀ-ÿµ]", + cardinality: 1, + casing: "upper" + }, + "#": { + validator: "[0-9A-Fa-f]", + cardinality: 1, + casing: "upper" + } + }), Inputmask.extendAliases({ + url: { + definitions: { + i: { + validator: ".", + cardinality: 1 + } + }, + mask: "(\\http://)|(\\http\\s://)|(ftp://)|(ftp\\s://)i{+}", + insertMode: !1, + autoUnmask: !1, + inputmode: "url" + }, + ip: { + mask: "i[i[i]].i[i[i]].i[i[i]].i[i[i]]", + definitions: { + i: { + validator: function(chrs, maskset, pos, strict, opts) { + return pos - 1 > -1 && "." !== maskset.buffer[pos - 1] ? (chrs = maskset.buffer[pos - 1] + chrs, + chrs = pos - 2 > -1 && "." !== maskset.buffer[pos - 2] ? maskset.buffer[pos - 2] + chrs : "0" + chrs) : chrs = "00" + chrs, + new RegExp("25[0-5]|2[0-4][0-9]|[01][0-9][0-9]").test(chrs); + }, + cardinality: 1 + } + }, + onUnMask: function(maskedValue, unmaskedValue, opts) { + return maskedValue; + }, + inputmode: "numeric" + }, + email: { + mask: "*{1,64}[.*{1,64}][.*{1,64}][.*{1,63}]@-{1,63}.-{1,63}[.-{1,63}][.-{1,63}]", + greedy: !1, + onBeforePaste: function(pastedValue, opts) { + return (pastedValue = pastedValue.toLowerCase()).replace("mailto:", ""); + }, + definitions: { + "*": { + validator: "[0-9A-Za-z!#$%&'*+/=?^_`{|}~-]", + cardinality: 1, + casing: "lower" + }, + "-": { + validator: "[0-9A-Za-z-]", + cardinality: 1, + casing: "lower" + } + }, + onUnMask: function(maskedValue, unmaskedValue, opts) { + return maskedValue; + }, + inputmode: "email" + }, + mac: { + mask: "##:##:##:##:##:##" + }, + vin: { + mask: "V{13}9{4}", + definitions: { + V: { + validator: "[A-HJ-NPR-Za-hj-npr-z\\d]", + cardinality: 1, + casing: "upper" + } + }, + clearIncomplete: !0, + autoUnmask: !0 + } + }), Inputmask; +});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/inputmask.js b/public/bower_components/inputmask/dist/inputmask/inputmask.js new file mode 100644 index 0000000..c6836be --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/inputmask.js @@ -0,0 +1,1625 @@ +/*! +* inputmask.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(factory) { + "function" == typeof define && define.amd ? define([ "./dependencyLibs/inputmask.dependencyLib", "./global/window", "./global/document" ], factory) : "object" == typeof exports ? module.exports = factory(require("./dependencyLibs/inputmask.dependencyLib"), require("./global/window"), require("./global/document")) : window.Inputmask = factory(window.dependencyLib || jQuery, window, document); +}(function($, window, document, undefined) { + function Inputmask(alias, options, internal) { + if (!(this instanceof Inputmask)) return new Inputmask(alias, options, internal); + this.el = undefined, this.events = {}, this.maskset = undefined, this.refreshValue = !1, + !0 !== internal && ($.isPlainObject(alias) ? options = alias : (options = options || {}).alias = alias, + this.opts = $.extend(!0, {}, this.defaults, options), this.noMasksCache = options && options.definitions !== undefined, + this.userOptions = options || {}, this.isRTL = this.opts.numericInput, resolveAlias(this.opts.alias, options, this.opts)); + } + function resolveAlias(aliasStr, options, opts) { + var aliasDefinition = Inputmask.prototype.aliases[aliasStr]; + return aliasDefinition ? (aliasDefinition.alias && resolveAlias(aliasDefinition.alias, undefined, opts), + $.extend(!0, opts, aliasDefinition), $.extend(!0, opts, options), !0) : (null === opts.mask && (opts.mask = aliasStr), + !1); + } + function generateMaskSet(opts, nocache) { + function generateMask(mask, metadata, opts) { + var regexMask = !1; + if (null !== mask && "" !== mask || ((regexMask = null !== opts.regex) ? mask = (mask = opts.regex).replace(/^(\^)(.*)(\$)$/, "$2") : (regexMask = !0, + mask = ".*")), 1 === mask.length && !1 === opts.greedy && 0 !== opts.repeat && (opts.placeholder = ""), + opts.repeat > 0 || "*" === opts.repeat || "+" === opts.repeat) { + var repeatStart = "*" === opts.repeat ? 0 : "+" === opts.repeat ? 1 : opts.repeat; + mask = opts.groupmarker.start + mask + opts.groupmarker.end + opts.quantifiermarker.start + repeatStart + "," + opts.repeat + opts.quantifiermarker.end; + } + var masksetDefinition, maskdefKey = regexMask ? "regex_" + opts.regex : opts.numericInput ? mask.split("").reverse().join("") : mask; + return Inputmask.prototype.masksCache[maskdefKey] === undefined || !0 === nocache ? (masksetDefinition = { + mask: mask, + maskToken: Inputmask.prototype.analyseMask(mask, regexMask, opts), + validPositions: {}, + _buffer: undefined, + buffer: undefined, + tests: {}, + metadata: metadata, + maskLength: undefined + }, !0 !== nocache && (Inputmask.prototype.masksCache[maskdefKey] = masksetDefinition, + masksetDefinition = $.extend(!0, {}, Inputmask.prototype.masksCache[maskdefKey]))) : masksetDefinition = $.extend(!0, {}, Inputmask.prototype.masksCache[maskdefKey]), + masksetDefinition; + } + if ($.isFunction(opts.mask) && (opts.mask = opts.mask(opts)), $.isArray(opts.mask)) { + if (opts.mask.length > 1) { + opts.keepStatic = null === opts.keepStatic || opts.keepStatic; + var altMask = opts.groupmarker.start; + return $.each(opts.numericInput ? opts.mask.reverse() : opts.mask, function(ndx, msk) { + altMask.length > 1 && (altMask += opts.groupmarker.end + opts.alternatormarker + opts.groupmarker.start), + msk.mask === undefined || $.isFunction(msk.mask) ? altMask += msk : altMask += msk.mask; + }), altMask += opts.groupmarker.end, generateMask(altMask, opts.mask, opts); + } + opts.mask = opts.mask.pop(); + } + return opts.mask && opts.mask.mask !== undefined && !$.isFunction(opts.mask.mask) ? generateMask(opts.mask.mask, opts.mask, opts) : generateMask(opts.mask, opts.mask, opts); + } + function maskScope(actionObj, maskset, opts) { + function getMaskTemplate(baseOnInput, minimalPos, includeMode) { + minimalPos = minimalPos || 0; + var ndxIntlzr, test, testPos, maskTemplate = [], pos = 0, lvp = getLastValidPosition(); + do { + !0 === baseOnInput && getMaskSet().validPositions[pos] ? (test = (testPos = getMaskSet().validPositions[pos]).match, + ndxIntlzr = testPos.locator.slice(), maskTemplate.push(!0 === includeMode ? testPos.input : !1 === includeMode ? test.nativeDef : getPlaceholder(pos, test))) : (test = (testPos = getTestTemplate(pos, ndxIntlzr, pos - 1)).match, + ndxIntlzr = testPos.locator.slice(), (!1 === opts.jitMasking || pos < lvp || "number" == typeof opts.jitMasking && isFinite(opts.jitMasking) && opts.jitMasking > pos) && maskTemplate.push(!1 === includeMode ? test.nativeDef : getPlaceholder(pos, test))), + pos++; + } while ((maxLength === undefined || pos < maxLength) && (null !== test.fn || "" !== test.def) || minimalPos > pos); + return "" === maskTemplate[maskTemplate.length - 1] && maskTemplate.pop(), getMaskSet().maskLength = pos + 1, + maskTemplate; + } + function getMaskSet() { + return maskset; + } + function resetMaskSet(soft) { + var maskset = getMaskSet(); + maskset.buffer = undefined, !0 !== soft && (maskset.validPositions = {}, maskset.p = 0); + } + function getLastValidPosition(closestTo, strict, validPositions) { + var before = -1, after = -1, valids = validPositions || getMaskSet().validPositions; + closestTo === undefined && (closestTo = -1); + for (var posNdx in valids) { + var psNdx = parseInt(posNdx); + valids[psNdx] && (strict || !0 !== valids[psNdx].generatedInput) && (psNdx <= closestTo && (before = psNdx), + psNdx >= closestTo && (after = psNdx)); + } + return -1 !== before && closestTo - before > 1 || after < closestTo ? before : after; + } + function stripValidPositions(start, end, nocheck, strict) { + var i, startPos = start, positionsClone = $.extend(!0, {}, getMaskSet().validPositions), needsValidation = !1; + for (getMaskSet().p = start, i = end - 1; i >= startPos; i--) getMaskSet().validPositions[i] !== undefined && (!0 !== nocheck && (!getMaskSet().validPositions[i].match.optionality && function(pos) { + var posMatch = getMaskSet().validPositions[pos]; + if (posMatch !== undefined && null === posMatch.match.fn) { + var prevMatch = getMaskSet().validPositions[pos - 1], nextMatch = getMaskSet().validPositions[pos + 1]; + return prevMatch !== undefined && nextMatch !== undefined; + } + return !1; + }(i) || !1 === opts.canClearPosition(getMaskSet(), i, getLastValidPosition(), strict, opts)) || delete getMaskSet().validPositions[i]); + for (resetMaskSet(!0), i = startPos + 1; i <= getLastValidPosition(); ) { + for (;getMaskSet().validPositions[startPos] !== undefined; ) startPos++; + if (i < startPos && (i = startPos + 1), getMaskSet().validPositions[i] === undefined && isMask(i)) i++; else { + var t = getTestTemplate(i); + !1 === needsValidation && positionsClone[startPos] && positionsClone[startPos].match.def === t.match.def ? (getMaskSet().validPositions[startPos] = $.extend(!0, {}, positionsClone[startPos]), + getMaskSet().validPositions[startPos].input = t.input, delete getMaskSet().validPositions[i], + i++) : positionCanMatchDefinition(startPos, t.match.def) ? !1 !== isValid(startPos, t.input || getPlaceholder(i), !0) && (delete getMaskSet().validPositions[i], + i++, needsValidation = !0) : isMask(i) || (i++, startPos--), startPos++; + } + } + resetMaskSet(!0); + } + function determineTestTemplate(tests, guessNextBest) { + for (var testPos, testPositions = tests, lvp = getLastValidPosition(), lvTest = getMaskSet().validPositions[lvp] || getTests(0)[0], lvTestAltArr = lvTest.alternation !== undefined ? lvTest.locator[lvTest.alternation].toString().split(",") : [], ndx = 0; ndx < testPositions.length && (!((testPos = testPositions[ndx]).match && (opts.greedy && !0 !== testPos.match.optionalQuantifier || (!1 === testPos.match.optionality || !1 === testPos.match.newBlockMarker) && !0 !== testPos.match.optionalQuantifier) && (lvTest.alternation === undefined || lvTest.alternation !== testPos.alternation || testPos.locator[lvTest.alternation] !== undefined && checkAlternationMatch(testPos.locator[lvTest.alternation].toString().split(","), lvTestAltArr))) || !0 === guessNextBest && (null !== testPos.match.fn || /[0-9a-bA-Z]/.test(testPos.match.def))); ndx++) ; + return testPos; + } + function getTestTemplate(pos, ndxIntlzr, tstPs) { + return getMaskSet().validPositions[pos] || determineTestTemplate(getTests(pos, ndxIntlzr ? ndxIntlzr.slice() : ndxIntlzr, tstPs)); + } + function getTest(pos) { + return getMaskSet().validPositions[pos] ? getMaskSet().validPositions[pos] : getTests(pos)[0]; + } + function positionCanMatchDefinition(pos, def) { + for (var valid = !1, tests = getTests(pos), tndx = 0; tndx < tests.length; tndx++) if (tests[tndx].match && tests[tndx].match.def === def) { + valid = !0; + break; + } + return valid; + } + function getTests(pos, ndxIntlzr, tstPs) { + function resolveTestFromToken(maskToken, ndxInitializer, loopNdx, quantifierRecurse) { + function handleMatch(match, loopNdx, quantifierRecurse) { + function isFirstMatch(latestMatch, tokenGroup) { + var firstMatch = 0 === $.inArray(latestMatch, tokenGroup.matches); + return firstMatch || $.each(tokenGroup.matches, function(ndx, match) { + if (!0 === match.isQuantifier && (firstMatch = isFirstMatch(latestMatch, tokenGroup.matches[ndx - 1]))) return !1; + }), firstMatch; + } + function resolveNdxInitializer(pos, alternateNdx, targetAlternation) { + var bestMatch, indexPos; + if (getMaskSet().validPositions[pos - 1] && targetAlternation && getMaskSet().tests[pos]) for (var vpAlternation = getMaskSet().validPositions[pos - 1].locator, tpAlternation = getMaskSet().tests[pos][0].locator, i = 0; i < targetAlternation; i++) if (vpAlternation[i] !== tpAlternation[i]) return vpAlternation.slice(targetAlternation + 1); + return (getMaskSet().tests[pos] || getMaskSet().validPositions[pos]) && $.each(getMaskSet().tests[pos] || [ getMaskSet().validPositions[pos] ], function(ndx, lmnt) { + var alternation = targetAlternation !== undefined ? targetAlternation : lmnt.alternation, ndxPos = lmnt.locator[alternation] !== undefined ? lmnt.locator[alternation].toString().indexOf(alternateNdx) : -1; + (indexPos === undefined || ndxPos < indexPos) && -1 !== ndxPos && (bestMatch = lmnt, + indexPos = ndxPos); + }), bestMatch ? bestMatch.locator.slice((targetAlternation !== undefined ? targetAlternation : bestMatch.alternation) + 1) : targetAlternation !== undefined ? resolveNdxInitializer(pos, alternateNdx) : undefined; + } + if (testPos > 1e4) throw "Inputmask: There is probably an error in your mask definition or in the code. Create an issue on github with an example of the mask you are using. " + getMaskSet().mask; + if (testPos === pos && match.matches === undefined) return matches.push({ + match: match, + locator: loopNdx.reverse(), + cd: cacheDependency + }), !0; + if (match.matches !== undefined) { + if (match.isGroup && quantifierRecurse !== match) { + if (match = handleMatch(maskToken.matches[$.inArray(match, maskToken.matches) + 1], loopNdx)) return !0; + } else if (match.isOptional) { + var optionalToken = match; + if (match = resolveTestFromToken(match, ndxInitializer, loopNdx, quantifierRecurse)) { + if (latestMatch = matches[matches.length - 1].match, !isFirstMatch(latestMatch, optionalToken)) return !0; + insertStop = !0, testPos = pos; + } + } else if (match.isAlternator) { + var maltMatches, alternateToken = match, malternateMatches = [], currentMatches = matches.slice(), loopNdxCnt = loopNdx.length, altIndex = ndxInitializer.length > 0 ? ndxInitializer.shift() : -1; + if (-1 === altIndex || "string" == typeof altIndex) { + var amndx, currentPos = testPos, ndxInitializerClone = ndxInitializer.slice(), altIndexArr = []; + if ("string" == typeof altIndex) altIndexArr = altIndex.split(","); else for (amndx = 0; amndx < alternateToken.matches.length; amndx++) altIndexArr.push(amndx); + for (var ndx = 0; ndx < altIndexArr.length; ndx++) { + if (amndx = parseInt(altIndexArr[ndx]), matches = [], ndxInitializer = resolveNdxInitializer(testPos, amndx, loopNdxCnt) || ndxInitializerClone.slice(), + !0 !== (match = handleMatch(alternateToken.matches[amndx] || maskToken.matches[amndx], [ amndx ].concat(loopNdx), quantifierRecurse) || match) && match !== undefined && altIndexArr[altIndexArr.length - 1] < alternateToken.matches.length) { + var ntndx = $.inArray(match, maskToken.matches) + 1; + maskToken.matches.length > ntndx && (match = handleMatch(maskToken.matches[ntndx], [ ntndx ].concat(loopNdx.slice(1, loopNdx.length)), quantifierRecurse)) && (altIndexArr.push(ntndx.toString()), + $.each(matches, function(ndx, lmnt) { + lmnt.alternation = loopNdx.length - 1; + })); + } + maltMatches = matches.slice(), testPos = currentPos, matches = []; + for (var ndx1 = 0; ndx1 < maltMatches.length; ndx1++) { + var altMatch = maltMatches[ndx1], dropMatch = !1; + altMatch.alternation = altMatch.alternation || loopNdxCnt; + for (var ndx2 = 0; ndx2 < malternateMatches.length; ndx2++) { + var altMatch2 = malternateMatches[ndx2]; + if ("string" != typeof altIndex || -1 !== $.inArray(altMatch.locator[altMatch.alternation].toString(), altIndexArr)) { + if (function(source, target) { + return source.match.nativeDef === target.match.nativeDef || source.match.def === target.match.nativeDef || source.match.nativeDef === target.match.def; + }(altMatch, altMatch2)) { + dropMatch = !0, altMatch.alternation === altMatch2.alternation && -1 === altMatch2.locator[altMatch2.alternation].toString().indexOf(altMatch.locator[altMatch.alternation]) && (altMatch2.locator[altMatch2.alternation] = altMatch2.locator[altMatch2.alternation] + "," + altMatch.locator[altMatch.alternation], + altMatch2.alternation = altMatch.alternation), altMatch.match.nativeDef === altMatch2.match.def && (altMatch.locator[altMatch.alternation] = altMatch2.locator[altMatch2.alternation], + malternateMatches.splice(malternateMatches.indexOf(altMatch2), 1, altMatch)); + break; + } + if (altMatch.match.def === altMatch2.match.def) { + dropMatch = !1; + break; + } + if (function(source, target) { + return null === source.match.fn && null !== target.match.fn && target.match.fn.test(source.match.def, getMaskSet(), pos, !1, opts, !1); + }(altMatch, altMatch2) || function(source, target) { + return null !== source.match.fn && null !== target.match.fn && target.match.fn.test(source.match.def.replace(/[\[\]]/g, ""), getMaskSet(), pos, !1, opts, !1); + }(altMatch, altMatch2)) { + altMatch.alternation === altMatch2.alternation && -1 === altMatch.locator[altMatch.alternation].toString().indexOf(altMatch2.locator[altMatch2.alternation].toString().split("")[0]) && (altMatch.na = altMatch.na || altMatch.locator[altMatch.alternation].toString(), + -1 === altMatch.na.indexOf(altMatch.locator[altMatch.alternation].toString().split("")[0]) && (altMatch.na = altMatch.na + "," + altMatch.locator[altMatch2.alternation].toString().split("")[0]), + dropMatch = !0, altMatch.locator[altMatch.alternation] = altMatch2.locator[altMatch2.alternation].toString().split("")[0] + "," + altMatch.locator[altMatch.alternation], + malternateMatches.splice(malternateMatches.indexOf(altMatch2), 0, altMatch)); + break; + } + } + } + dropMatch || malternateMatches.push(altMatch); + } + } + "string" == typeof altIndex && (malternateMatches = $.map(malternateMatches, function(lmnt, ndx) { + if (isFinite(ndx)) { + var alternation = lmnt.alternation, altLocArr = lmnt.locator[alternation].toString().split(","); + lmnt.locator[alternation] = undefined, lmnt.alternation = undefined; + for (var alndx = 0; alndx < altLocArr.length; alndx++) -1 !== $.inArray(altLocArr[alndx], altIndexArr) && (lmnt.locator[alternation] !== undefined ? (lmnt.locator[alternation] += ",", + lmnt.locator[alternation] += altLocArr[alndx]) : lmnt.locator[alternation] = parseInt(altLocArr[alndx]), + lmnt.alternation = alternation); + if (lmnt.locator[alternation] !== undefined) return lmnt; + } + })), matches = currentMatches.concat(malternateMatches), testPos = pos, insertStop = matches.length > 0, + match = malternateMatches.length > 0, ndxInitializer = ndxInitializerClone.slice(); + } else match = handleMatch(alternateToken.matches[altIndex] || maskToken.matches[altIndex], [ altIndex ].concat(loopNdx), quantifierRecurse); + if (match) return !0; + } else if (match.isQuantifier && quantifierRecurse !== maskToken.matches[$.inArray(match, maskToken.matches) - 1]) for (var qt = match, qndx = ndxInitializer.length > 0 ? ndxInitializer.shift() : 0; qndx < (isNaN(qt.quantifier.max) ? qndx + 1 : qt.quantifier.max) && testPos <= pos; qndx++) { + var tokenGroup = maskToken.matches[$.inArray(qt, maskToken.matches) - 1]; + if (match = handleMatch(tokenGroup, [ qndx ].concat(loopNdx), tokenGroup)) { + if (latestMatch = matches[matches.length - 1].match, latestMatch.optionalQuantifier = qndx > qt.quantifier.min - 1, + isFirstMatch(latestMatch, tokenGroup)) { + if (qndx > qt.quantifier.min - 1) { + insertStop = !0, testPos = pos; + break; + } + return !0; + } + return !0; + } + } else if (match = resolveTestFromToken(match, ndxInitializer, loopNdx, quantifierRecurse)) return !0; + } else testPos++; + } + for (var tndx = ndxInitializer.length > 0 ? ndxInitializer.shift() : 0; tndx < maskToken.matches.length; tndx++) if (!0 !== maskToken.matches[tndx].isQuantifier) { + var match = handleMatch(maskToken.matches[tndx], [ tndx ].concat(loopNdx), quantifierRecurse); + if (match && testPos === pos) return match; + if (testPos > pos) break; + } + } + function filterTests(tests) { + if (opts.keepStatic && pos > 0 && tests.length > 1 + ("" === tests[tests.length - 1].match.def ? 1 : 0) && !0 !== tests[0].match.optionality && !0 !== tests[0].match.optionalQuantifier && null === tests[0].match.fn && !/[0-9a-bA-Z]/.test(tests[0].match.def)) { + if (getMaskSet().validPositions[pos - 1] === undefined) return [ determineTestTemplate(tests) ]; + if (getMaskSet().validPositions[pos - 1].alternation === tests[0].alternation) return [ determineTestTemplate(tests) ]; + if (getMaskSet().validPositions[pos - 1]) return [ determineTestTemplate(tests) ]; + } + return tests; + } + var latestMatch, maskTokens = getMaskSet().maskToken, testPos = ndxIntlzr ? tstPs : 0, ndxInitializer = ndxIntlzr ? ndxIntlzr.slice() : [ 0 ], matches = [], insertStop = !1, cacheDependency = ndxIntlzr ? ndxIntlzr.join("") : ""; + if (pos > -1) { + if (ndxIntlzr === undefined) { + for (var test, previousPos = pos - 1; (test = getMaskSet().validPositions[previousPos] || getMaskSet().tests[previousPos]) === undefined && previousPos > -1; ) previousPos--; + test !== undefined && previousPos > -1 && (ndxInitializer = function(tests) { + var locator = []; + return $.isArray(tests) || (tests = [ tests ]), tests.length > 0 && (tests[0].alternation === undefined ? 0 === (locator = determineTestTemplate(tests.slice()).locator.slice()).length && (locator = tests[0].locator.slice()) : $.each(tests, function(ndx, tst) { + if ("" !== tst.def) if (0 === locator.length) locator = tst.locator.slice(); else for (var i = 0; i < locator.length; i++) tst.locator[i] && -1 === locator[i].toString().indexOf(tst.locator[i]) && (locator[i] += "," + tst.locator[i]); + })), locator; + }(test), cacheDependency = ndxInitializer.join(""), testPos = previousPos); + } + if (getMaskSet().tests[pos] && getMaskSet().tests[pos][0].cd === cacheDependency) return filterTests(getMaskSet().tests[pos]); + for (var mtndx = ndxInitializer.shift(); mtndx < maskTokens.length && !(resolveTestFromToken(maskTokens[mtndx], ndxInitializer, [ mtndx ]) && testPos === pos || testPos > pos); mtndx++) ; + } + return (0 === matches.length || insertStop) && matches.push({ + match: { + fn: null, + cardinality: 0, + optionality: !0, + casing: null, + def: "", + placeholder: "" + }, + locator: [], + cd: cacheDependency + }), ndxIntlzr !== undefined && getMaskSet().tests[pos] ? filterTests($.extend(!0, [], matches)) : (getMaskSet().tests[pos] = $.extend(!0, [], matches), + filterTests(getMaskSet().tests[pos])); + } + function getBufferTemplate() { + return getMaskSet()._buffer === undefined && (getMaskSet()._buffer = getMaskTemplate(!1, 1), + getMaskSet().buffer === undefined && (getMaskSet().buffer = getMaskSet()._buffer.slice())), + getMaskSet()._buffer; + } + function getBuffer(noCache) { + return getMaskSet().buffer !== undefined && !0 !== noCache || (getMaskSet().buffer = getMaskTemplate(!0, getLastValidPosition(), !0)), + getMaskSet().buffer; + } + function refreshFromBuffer(start, end, buffer) { + var i, p; + if (!0 === start) resetMaskSet(), start = 0, end = buffer.length; else for (i = start; i < end; i++) delete getMaskSet().validPositions[i]; + for (p = start, i = start; i < end; i++) if (resetMaskSet(!0), buffer[i] !== opts.skipOptionalPartCharacter) { + var valResult = isValid(p, buffer[i], !0, !0); + !1 !== valResult && (resetMaskSet(!0), p = valResult.caret !== undefined ? valResult.caret : valResult.pos + 1); + } + } + function casing(elem, test, pos) { + switch (opts.casing || test.casing) { + case "upper": + elem = elem.toUpperCase(); + break; + + case "lower": + elem = elem.toLowerCase(); + break; + + case "title": + var posBefore = getMaskSet().validPositions[pos - 1]; + elem = 0 === pos || posBefore && posBefore.input === String.fromCharCode(Inputmask.keyCode.SPACE) ? elem.toUpperCase() : elem.toLowerCase(); + break; + + default: + if ($.isFunction(opts.casing)) { + var args = Array.prototype.slice.call(arguments); + args.push(getMaskSet().validPositions), elem = opts.casing.apply(this, args); + } + } + return elem; + } + function checkAlternationMatch(altArr1, altArr2, na) { + for (var naNdx, altArrC = opts.greedy ? altArr2 : altArr2.slice(0, 1), isMatch = !1, naArr = na !== undefined ? na.split(",") : [], i = 0; i < naArr.length; i++) -1 !== (naNdx = altArr1.indexOf(naArr[i])) && altArr1.splice(naNdx, 1); + for (var alndx = 0; alndx < altArr1.length; alndx++) if (-1 !== $.inArray(altArr1[alndx], altArrC)) { + isMatch = !0; + break; + } + return isMatch; + } + function isValid(pos, c, strict, fromSetValid, fromAlternate, validateOnly) { + function isSelection(posObj) { + var selection = isRTL ? posObj.begin - posObj.end > 1 || posObj.begin - posObj.end == 1 : posObj.end - posObj.begin > 1 || posObj.end - posObj.begin == 1; + return selection && 0 === posObj.begin && posObj.end === getMaskSet().maskLength ? "full" : selection; + } + function _isValid(position, c, strict) { + var rslt = !1; + return $.each(getTests(position), function(ndx, tst) { + for (var test = tst.match, loopend = c ? 1 : 0, chrs = "", i = test.cardinality; i > loopend; i--) chrs += getBufferElement(position - (i - 1)); + if (c && (chrs += c), getBuffer(!0), !1 !== (rslt = null != test.fn ? test.fn.test(chrs, getMaskSet(), position, strict, opts, isSelection(pos)) : (c === test.def || c === opts.skipOptionalPartCharacter) && "" !== test.def && { + c: getPlaceholder(position, test, !0) || test.def, + pos: position + })) { + var elem = rslt.c !== undefined ? rslt.c : c; + elem = elem === opts.skipOptionalPartCharacter && null === test.fn ? getPlaceholder(position, test, !0) || test.def : elem; + var validatedPos = position, possibleModifiedBuffer = getBuffer(); + if (rslt.remove !== undefined && ($.isArray(rslt.remove) || (rslt.remove = [ rslt.remove ]), + $.each(rslt.remove.sort(function(a, b) { + return b - a; + }), function(ndx, lmnt) { + stripValidPositions(lmnt, lmnt + 1, !0); + })), rslt.insert !== undefined && ($.isArray(rslt.insert) || (rslt.insert = [ rslt.insert ]), + $.each(rslt.insert.sort(function(a, b) { + return a - b; + }), function(ndx, lmnt) { + isValid(lmnt.pos, lmnt.c, !0, fromSetValid); + })), rslt.refreshFromBuffer) { + var refresh = rslt.refreshFromBuffer; + if (refreshFromBuffer(!0 === refresh ? refresh : refresh.start, refresh.end, possibleModifiedBuffer), + rslt.pos === undefined && rslt.c === undefined) return rslt.pos = getLastValidPosition(), + !1; + if ((validatedPos = rslt.pos !== undefined ? rslt.pos : position) !== position) return rslt = $.extend(rslt, isValid(validatedPos, elem, !0, fromSetValid)), + !1; + } else if (!0 !== rslt && rslt.pos !== undefined && rslt.pos !== position && (validatedPos = rslt.pos, + refreshFromBuffer(position, validatedPos, getBuffer().slice()), validatedPos !== position)) return rslt = $.extend(rslt, isValid(validatedPos, elem, !0)), + !1; + return (!0 === rslt || rslt.pos !== undefined || rslt.c !== undefined) && (ndx > 0 && resetMaskSet(!0), + setValidPosition(validatedPos, $.extend({}, tst, { + input: casing(elem, test, validatedPos) + }), fromSetValid, isSelection(pos)) || (rslt = !1), !1); + } + }), rslt; + } + function setValidPosition(pos, validTest, fromSetValid, isSelection) { + if (isSelection || opts.insertMode && getMaskSet().validPositions[pos] !== undefined && fromSetValid === undefined) { + var i, positionsClone = $.extend(!0, {}, getMaskSet().validPositions), lvp = getLastValidPosition(undefined, !0); + for (i = pos; i <= lvp; i++) delete getMaskSet().validPositions[i]; + getMaskSet().validPositions[pos] = $.extend(!0, {}, validTest); + var j, valid = !0, vps = getMaskSet().validPositions, needsValidation = !1, initialLength = getMaskSet().maskLength; + for (i = j = pos; i <= lvp; i++) { + var t = positionsClone[i]; + if (t !== undefined) for (var posMatch = j; posMatch < getMaskSet().maskLength && (null === t.match.fn && vps[i] && (!0 === vps[i].match.optionalQuantifier || !0 === vps[i].match.optionality) || null != t.match.fn); ) { + if (posMatch++, !1 === needsValidation && positionsClone[posMatch] && positionsClone[posMatch].match.def === t.match.def) getMaskSet().validPositions[posMatch] = $.extend(!0, {}, positionsClone[posMatch]), + getMaskSet().validPositions[posMatch].input = t.input, fillMissingNonMask(posMatch), + j = posMatch, valid = !0; else if (positionCanMatchDefinition(posMatch, t.match.def)) { + var result = isValid(posMatch, t.input, !0, !0); + valid = !1 !== result, j = result.caret || result.insert ? getLastValidPosition() : posMatch, + needsValidation = !0; + } else if (!(valid = !0 === t.generatedInput) && posMatch >= getMaskSet().maskLength - 1) break; + if (getMaskSet().maskLength < initialLength && (getMaskSet().maskLength = initialLength), + valid) break; + } + if (!valid) break; + } + if (!valid) return getMaskSet().validPositions = $.extend(!0, {}, positionsClone), + resetMaskSet(!0), !1; + } else getMaskSet().validPositions[pos] = $.extend(!0, {}, validTest); + return resetMaskSet(!0), !0; + } + function fillMissingNonMask(maskPos) { + for (var pndx = maskPos - 1; pndx > -1 && !getMaskSet().validPositions[pndx]; pndx--) ; + var testTemplate, testsFromPos; + for (pndx++; pndx < maskPos; pndx++) getMaskSet().validPositions[pndx] === undefined && (!1 === opts.jitMasking || opts.jitMasking > pndx) && ("" === (testsFromPos = getTests(pndx, getTestTemplate(pndx - 1).locator, pndx - 1).slice())[testsFromPos.length - 1].match.def && testsFromPos.pop(), + (testTemplate = determineTestTemplate(testsFromPos)) && (testTemplate.match.def === opts.radixPointDefinitionSymbol || !isMask(pndx, !0) || $.inArray(opts.radixPoint, getBuffer()) < pndx && testTemplate.match.fn && testTemplate.match.fn.test(getPlaceholder(pndx), getMaskSet(), pndx, !1, opts)) && !1 !== (result = _isValid(pndx, getPlaceholder(pndx, testTemplate.match, !0) || (null == testTemplate.match.fn ? testTemplate.match.def : "" !== getPlaceholder(pndx) ? getPlaceholder(pndx) : getBuffer()[pndx]), !0)) && (getMaskSet().validPositions[result.pos || pndx].generatedInput = !0)); + } + strict = !0 === strict; + var maskPos = pos; + pos.begin !== undefined && (maskPos = isRTL && !isSelection(pos) ? pos.end : pos.begin); + var result = !0, positionsClone = $.extend(!0, {}, getMaskSet().validPositions); + if ($.isFunction(opts.preValidation) && !strict && !0 !== fromSetValid && !0 !== validateOnly && (result = opts.preValidation(getBuffer(), maskPos, c, isSelection(pos), opts)), + !0 === result) { + if (fillMissingNonMask(maskPos), isSelection(pos) && (handleRemove(undefined, Inputmask.keyCode.DELETE, pos, !0, !0), + maskPos = getMaskSet().p), maskPos < getMaskSet().maskLength && (maxLength === undefined || maskPos < maxLength) && (result = _isValid(maskPos, c, strict), + (!strict || !0 === fromSetValid) && !1 === result && !0 !== validateOnly)) { + var currentPosValid = getMaskSet().validPositions[maskPos]; + if (!currentPosValid || null !== currentPosValid.match.fn || currentPosValid.match.def !== c && c !== opts.skipOptionalPartCharacter) { + if ((opts.insertMode || getMaskSet().validPositions[seekNext(maskPos)] === undefined) && !isMask(maskPos, !0)) for (var nPos = maskPos + 1, snPos = seekNext(maskPos); nPos <= snPos; nPos++) if (!1 !== (result = _isValid(nPos, c, strict))) { + !function(originalPos, newPos) { + var vp = getMaskSet().validPositions[newPos]; + if (vp) for (var targetLocator = vp.locator, tll = targetLocator.length, ps = originalPos; ps < newPos; ps++) if (getMaskSet().validPositions[ps] === undefined && !isMask(ps, !0)) { + var tests = getTests(ps).slice(), bestMatch = determineTestTemplate(tests, !0), equality = -1; + "" === tests[tests.length - 1].match.def && tests.pop(), $.each(tests, function(ndx, tst) { + for (var i = 0; i < tll; i++) { + if (tst.locator[i] === undefined || !checkAlternationMatch(tst.locator[i].toString().split(","), targetLocator[i].toString().split(","), tst.na)) { + var targetAI = targetLocator[i], bestMatchAI = bestMatch.locator[i], tstAI = tst.locator[i]; + targetAI - bestMatchAI > Math.abs(targetAI - tstAI) && (bestMatch = tst); + break; + } + equality < i && (equality = i, bestMatch = tst); + } + }), (bestMatch = $.extend({}, bestMatch, { + input: getPlaceholder(ps, bestMatch.match, !0) || bestMatch.match.def + })).generatedInput = !0, setValidPosition(ps, bestMatch, !0), getMaskSet().validPositions[newPos] = undefined, + _isValid(newPos, vp.input, !0); + } + }(maskPos, result.pos !== undefined ? result.pos : nPos), maskPos = nPos; + break; + } + } else result = { + caret: seekNext(maskPos) + }; + } + !1 === result && opts.keepStatic && !strict && !0 !== fromAlternate && (result = function(pos, c, strict) { + var lastAlt, alternation, altPos, prevAltPos, i, validPos, altNdxs, decisionPos, validPsClone = $.extend(!0, {}, getMaskSet().validPositions), isValidRslt = !1, lAltPos = getLastValidPosition(); + for (prevAltPos = getMaskSet().validPositions[lAltPos]; lAltPos >= 0; lAltPos--) if ((altPos = getMaskSet().validPositions[lAltPos]) && altPos.alternation !== undefined) { + if (lastAlt = lAltPos, alternation = getMaskSet().validPositions[lastAlt].alternation, + prevAltPos.locator[altPos.alternation] !== altPos.locator[altPos.alternation]) break; + prevAltPos = altPos; + } + if (alternation !== undefined) { + decisionPos = parseInt(lastAlt); + var decisionTaker = prevAltPos.locator[prevAltPos.alternation || alternation] !== undefined ? prevAltPos.locator[prevAltPos.alternation || alternation] : altNdxs[0]; + decisionTaker.length > 0 && (decisionTaker = decisionTaker.split(",")[0]); + var possibilityPos = getMaskSet().validPositions[decisionPos], prevPos = getMaskSet().validPositions[decisionPos - 1]; + $.each(getTests(decisionPos, prevPos ? prevPos.locator : undefined, decisionPos - 1), function(ndx, test) { + altNdxs = test.locator[alternation] ? test.locator[alternation].toString().split(",") : []; + for (var mndx = 0; mndx < altNdxs.length; mndx++) { + var validInputs = [], staticInputsBeforePos = 0, staticInputsBeforePosAlternate = 0, verifyValidInput = !1; + if (decisionTaker < altNdxs[mndx] && (test.na === undefined || -1 === $.inArray(altNdxs[mndx], test.na.split(",")) || -1 === $.inArray(decisionTaker.toString(), altNdxs))) { + getMaskSet().validPositions[decisionPos] = $.extend(!0, {}, test); + var possibilities = getMaskSet().validPositions[decisionPos].locator; + for (getMaskSet().validPositions[decisionPos].locator[alternation] = parseInt(altNdxs[mndx]), + null == test.match.fn ? (possibilityPos.input !== test.match.def && (verifyValidInput = !0, + !0 !== possibilityPos.generatedInput && validInputs.push(possibilityPos.input)), + staticInputsBeforePosAlternate++, getMaskSet().validPositions[decisionPos].generatedInput = !/[0-9a-bA-Z]/.test(test.match.def), + getMaskSet().validPositions[decisionPos].input = test.match.def) : getMaskSet().validPositions[decisionPos].input = possibilityPos.input, + i = decisionPos + 1; i < getLastValidPosition(undefined, !0) + 1; i++) (validPos = getMaskSet().validPositions[i]) && !0 !== validPos.generatedInput && /[0-9a-bA-Z]/.test(validPos.input) ? validInputs.push(validPos.input) : i < pos && staticInputsBeforePos++, + delete getMaskSet().validPositions[i]; + for (verifyValidInput && validInputs[0] === test.match.def && validInputs.shift(), + resetMaskSet(!0), isValidRslt = !0; validInputs.length > 0; ) { + var input = validInputs.shift(); + if (input !== opts.skipOptionalPartCharacter && !(isValidRslt = isValid(getLastValidPosition(undefined, !0) + 1, input, !1, fromSetValid, !0))) break; + } + if (isValidRslt) { + getMaskSet().validPositions[decisionPos].locator = possibilities; + var targetLvp = getLastValidPosition(pos) + 1; + for (i = decisionPos + 1; i < getLastValidPosition() + 1; i++) ((validPos = getMaskSet().validPositions[i]) === undefined || null == validPos.match.fn) && i < pos + (staticInputsBeforePosAlternate - staticInputsBeforePos) && staticInputsBeforePosAlternate++; + isValidRslt = isValid((pos += staticInputsBeforePosAlternate - staticInputsBeforePos) > targetLvp ? targetLvp : pos, c, strict, fromSetValid, !0); + } + if (isValidRslt) return !1; + resetMaskSet(), getMaskSet().validPositions = $.extend(!0, {}, validPsClone); + } + } + }); + } + return isValidRslt; + }(maskPos, c, strict)), !0 === result && (result = { + pos: maskPos + }); + } + if ($.isFunction(opts.postValidation) && !1 !== result && !strict && !0 !== fromSetValid && !0 !== validateOnly) { + var postResult = opts.postValidation(getBuffer(!0), result, opts); + if (postResult.refreshFromBuffer && postResult.buffer) { + var refresh = postResult.refreshFromBuffer; + refreshFromBuffer(!0 === refresh ? refresh : refresh.start, refresh.end, postResult.buffer); + } + result = !0 === postResult ? result : postResult; + } + return result && result.pos === undefined && (result.pos = maskPos), !1 !== result && !0 !== validateOnly || (resetMaskSet(!0), + getMaskSet().validPositions = $.extend(!0, {}, positionsClone)), result; + } + function isMask(pos, strict) { + var test = getTestTemplate(pos).match; + if ("" === test.def && (test = getTest(pos).match), null != test.fn) return test.fn; + if (!0 !== strict && pos > -1) { + var tests = getTests(pos); + return tests.length > 1 + ("" === tests[tests.length - 1].match.def ? 1 : 0); + } + return !1; + } + function seekNext(pos, newBlock) { + var maskL = getMaskSet().maskLength; + if (pos >= maskL) return maskL; + var position = pos; + for (getTests(maskL + 1).length > 1 && (getMaskTemplate(!0, maskL + 1, !0), maskL = getMaskSet().maskLength); ++position < maskL && (!0 === newBlock && (!0 !== getTest(position).match.newBlockMarker || !isMask(position)) || !0 !== newBlock && !isMask(position)); ) ; + return position; + } + function seekPrevious(pos, newBlock) { + var tests, position = pos; + if (position <= 0) return 0; + for (;--position > 0 && (!0 === newBlock && !0 !== getTest(position).match.newBlockMarker || !0 !== newBlock && !isMask(position) && ((tests = getTests(position)).length < 2 || 2 === tests.length && "" === tests[1].match.def)); ) ; + return position; + } + function getBufferElement(position) { + return getMaskSet().validPositions[position] === undefined ? getPlaceholder(position) : getMaskSet().validPositions[position].input; + } + function writeBuffer(input, buffer, caretPos, event, triggerInputEvent) { + if (event && $.isFunction(opts.onBeforeWrite)) { + var result = opts.onBeforeWrite.call(inputmask, event, buffer, caretPos, opts); + if (result) { + if (result.refreshFromBuffer) { + var refresh = result.refreshFromBuffer; + refreshFromBuffer(!0 === refresh ? refresh : refresh.start, refresh.end, result.buffer || buffer), + buffer = getBuffer(!0); + } + caretPos !== undefined && (caretPos = result.caret !== undefined ? result.caret : caretPos); + } + } + input !== undefined && (input.inputmask._valueSet(buffer.join("")), caretPos === undefined || event !== undefined && "blur" === event.type ? renderColorMask(input, caretPos, 0 === buffer.length) : android && event && "input" === event.type ? setTimeout(function() { + caret(input, caretPos); + }, 0) : caret(input, caretPos), !0 === triggerInputEvent && (skipInputEvent = !0, + $(input).trigger("input"))); + } + function getPlaceholder(pos, test, returnPL) { + if ((test = test || getTest(pos).match).placeholder !== undefined || !0 === returnPL) return $.isFunction(test.placeholder) ? test.placeholder(opts) : test.placeholder; + if (null === test.fn) { + if (pos > -1 && getMaskSet().validPositions[pos] === undefined) { + var prevTest, tests = getTests(pos), staticAlternations = []; + if (tests.length > 1 + ("" === tests[tests.length - 1].match.def ? 1 : 0)) for (var i = 0; i < tests.length; i++) if (!0 !== tests[i].match.optionality && !0 !== tests[i].match.optionalQuantifier && (null === tests[i].match.fn || prevTest === undefined || !1 !== tests[i].match.fn.test(prevTest.match.def, getMaskSet(), pos, !0, opts)) && (staticAlternations.push(tests[i]), + null === tests[i].match.fn && (prevTest = tests[i]), staticAlternations.length > 1 && /[0-9a-bA-Z]/.test(staticAlternations[0].match.def))) return opts.placeholder.charAt(pos % opts.placeholder.length); + } + return test.def; + } + return opts.placeholder.charAt(pos % opts.placeholder.length); + } + function checkVal(input, writeOut, strict, nptvl, initiatingEvent) { + function isTemplateMatch(ndx, charCodes) { + return -1 !== getBufferTemplate().slice(ndx, seekNext(ndx)).join("").indexOf(charCodes) && !isMask(ndx) && getTest(ndx).match.nativeDef === charCodes.charAt(charCodes.length - 1); + } + var inputValue = nptvl.slice(), charCodes = "", initialNdx = -1, result = undefined; + if (resetMaskSet(), strict || !0 === opts.autoUnmask) initialNdx = seekNext(initialNdx); else { + var staticInput = getBufferTemplate().slice(0, seekNext(-1)).join(""), matches = inputValue.join("").match(new RegExp("^" + Inputmask.escapeRegex(staticInput), "g")); + matches && matches.length > 0 && (inputValue.splice(0, matches.length * staticInput.length), + initialNdx = seekNext(initialNdx)); + } + if (-1 === initialNdx ? (getMaskSet().p = seekNext(initialNdx), initialNdx = 0) : getMaskSet().p = initialNdx, + $.each(inputValue, function(ndx, charCode) { + if (charCode !== undefined) if (getMaskSet().validPositions[ndx] === undefined && inputValue[ndx] === getPlaceholder(ndx) && isMask(ndx, !0) && !1 === isValid(ndx, inputValue[ndx], !0, undefined, undefined, !0)) getMaskSet().p++; else { + var keypress = new $.Event("_checkval"); + keypress.which = charCode.charCodeAt(0), charCodes += charCode; + var lvp = getLastValidPosition(undefined, !0), lvTest = getMaskSet().validPositions[lvp], nextTest = getTestTemplate(lvp + 1, lvTest ? lvTest.locator.slice() : undefined, lvp); + if (!isTemplateMatch(initialNdx, charCodes) || strict || opts.autoUnmask) { + var pos = strict ? ndx : null == nextTest.match.fn && nextTest.match.optionality && lvp + 1 < getMaskSet().p ? lvp + 1 : getMaskSet().p; + result = EventHandlers.keypressEvent.call(input, keypress, !0, !1, strict, pos), + initialNdx = pos + 1, charCodes = ""; + } else result = EventHandlers.keypressEvent.call(input, keypress, !0, !1, !0, lvp + 1); + if (!1 !== result && !strict && $.isFunction(opts.onBeforeWrite)) { + var origResult = result; + if (result = opts.onBeforeWrite.call(inputmask, keypress, getBuffer(), result.forwardPosition, opts), + (result = $.extend(origResult, result)) && result.refreshFromBuffer) { + var refresh = result.refreshFromBuffer; + refreshFromBuffer(!0 === refresh ? refresh : refresh.start, refresh.end, result.buffer), + resetMaskSet(!0), result.caret && (getMaskSet().p = result.caret, result.forwardPosition = result.caret); + } + } + } + }), writeOut) { + var caretPos = undefined; + document.activeElement === input && result && (caretPos = opts.numericInput ? seekPrevious(result.forwardPosition) : result.forwardPosition), + writeBuffer(input, getBuffer(), caretPos, initiatingEvent || new $.Event("checkval"), initiatingEvent && "input" === initiatingEvent.type); + } + } + function unmaskedvalue(input) { + if (input) { + if (input.inputmask === undefined) return input.value; + input.inputmask && input.inputmask.refreshValue && EventHandlers.setValueEvent.call(input); + } + var umValue = [], vps = getMaskSet().validPositions; + for (var pndx in vps) vps[pndx].match && null != vps[pndx].match.fn && umValue.push(vps[pndx].input); + var unmaskedValue = 0 === umValue.length ? "" : (isRTL ? umValue.reverse() : umValue).join(""); + if ($.isFunction(opts.onUnMask)) { + var bufferValue = (isRTL ? getBuffer().slice().reverse() : getBuffer()).join(""); + unmaskedValue = opts.onUnMask.call(inputmask, bufferValue, unmaskedValue, opts); + } + return unmaskedValue; + } + function caret(input, begin, end, notranslate) { + function translatePosition(pos) { + return !0 === notranslate || !isRTL || "number" != typeof pos || opts.greedy && "" === opts.placeholder || (pos = getBuffer().join("").length - pos), + pos; + } + var range; + if (begin === undefined) return input.setSelectionRange ? (begin = input.selectionStart, + end = input.selectionEnd) : window.getSelection ? (range = window.getSelection().getRangeAt(0)).commonAncestorContainer.parentNode !== input && range.commonAncestorContainer !== input || (begin = range.startOffset, + end = range.endOffset) : document.selection && document.selection.createRange && (end = (begin = 0 - (range = document.selection.createRange()).duplicate().moveStart("character", -input.inputmask._valueGet().length)) + range.text.length), + { + begin: translatePosition(begin), + end: translatePosition(end) + }; + if (begin.begin !== undefined && (end = begin.end, begin = begin.begin), "number" == typeof begin) { + begin = translatePosition(begin), end = "number" == typeof (end = translatePosition(end)) ? end : begin; + var scrollCalc = parseInt(((input.ownerDocument.defaultView || window).getComputedStyle ? (input.ownerDocument.defaultView || window).getComputedStyle(input, null) : input.currentStyle).fontSize) * end; + if (input.scrollLeft = scrollCalc > input.scrollWidth ? scrollCalc : 0, mobile || !1 !== opts.insertMode || begin !== end || end++, + input.setSelectionRange) input.selectionStart = begin, input.selectionEnd = end; else if (window.getSelection) { + if (range = document.createRange(), input.firstChild === undefined || null === input.firstChild) { + var textNode = document.createTextNode(""); + input.appendChild(textNode); + } + range.setStart(input.firstChild, begin < input.inputmask._valueGet().length ? begin : input.inputmask._valueGet().length), + range.setEnd(input.firstChild, end < input.inputmask._valueGet().length ? end : input.inputmask._valueGet().length), + range.collapse(!0); + var sel = window.getSelection(); + sel.removeAllRanges(), sel.addRange(range); + } else input.createTextRange && ((range = input.createTextRange()).collapse(!0), + range.moveEnd("character", end), range.moveStart("character", begin), range.select()); + renderColorMask(input, { + begin: begin, + end: end + }); + } + } + function determineLastRequiredPosition(returnDefinition) { + var pos, testPos, buffer = getBuffer(), bl = buffer.length, lvp = getLastValidPosition(), positions = {}, lvTest = getMaskSet().validPositions[lvp], ndxIntlzr = lvTest !== undefined ? lvTest.locator.slice() : undefined; + for (pos = lvp + 1; pos < buffer.length; pos++) ndxIntlzr = (testPos = getTestTemplate(pos, ndxIntlzr, pos - 1)).locator.slice(), + positions[pos] = $.extend(!0, {}, testPos); + var lvTestAlt = lvTest && lvTest.alternation !== undefined ? lvTest.locator[lvTest.alternation] : undefined; + for (pos = bl - 1; pos > lvp && (((testPos = positions[pos]).match.optionality || testPos.match.optionalQuantifier && testPos.match.newBlockMarker || lvTestAlt && (lvTestAlt !== positions[pos].locator[lvTest.alternation] && null != testPos.match.fn || null === testPos.match.fn && testPos.locator[lvTest.alternation] && checkAlternationMatch(testPos.locator[lvTest.alternation].toString().split(","), lvTestAlt.toString().split(",")) && "" !== getTests(pos)[0].def)) && buffer[pos] === getPlaceholder(pos, testPos.match)); pos--) bl--; + return returnDefinition ? { + l: bl, + def: positions[bl] ? positions[bl].match : undefined + } : bl; + } + function clearOptionalTail(buffer) { + for (var validPos, rl = determineLastRequiredPosition(), bl = buffer.length, lv = getMaskSet().validPositions[getLastValidPosition()]; rl < bl && !isMask(rl, !0) && (validPos = lv !== undefined ? getTestTemplate(rl, lv.locator.slice(""), lv) : getTest(rl)) && !0 !== validPos.match.optionality && (!0 !== validPos.match.optionalQuantifier && !0 !== validPos.match.newBlockMarker || rl + 1 === bl && "" === (lv !== undefined ? getTestTemplate(rl + 1, lv.locator.slice(""), lv) : getTest(rl + 1)).match.def); ) rl++; + for (;(validPos = getMaskSet().validPositions[rl - 1]) && validPos && validPos.match.optionality && validPos.input === opts.skipOptionalPartCharacter; ) rl--; + return buffer.splice(rl), buffer; + } + function isComplete(buffer) { + if ($.isFunction(opts.isComplete)) return opts.isComplete(buffer, opts); + if ("*" === opts.repeat) return undefined; + var complete = !1, lrp = determineLastRequiredPosition(!0), aml = seekPrevious(lrp.l); + if (lrp.def === undefined || lrp.def.newBlockMarker || lrp.def.optionality || lrp.def.optionalQuantifier) { + complete = !0; + for (var i = 0; i <= aml; i++) { + var test = getTestTemplate(i).match; + if (null !== test.fn && getMaskSet().validPositions[i] === undefined && !0 !== test.optionality && !0 !== test.optionalQuantifier || null === test.fn && buffer[i] !== getPlaceholder(i, test)) { + complete = !1; + break; + } + } + } + return complete; + } + function handleRemove(input, k, pos, strict, fromIsValid) { + if ((opts.numericInput || isRTL) && (k === Inputmask.keyCode.BACKSPACE ? k = Inputmask.keyCode.DELETE : k === Inputmask.keyCode.DELETE && (k = Inputmask.keyCode.BACKSPACE), + isRTL)) { + var pend = pos.end; + pos.end = pos.begin, pos.begin = pend; + } + k === Inputmask.keyCode.BACKSPACE && (pos.end - pos.begin < 1 || !1 === opts.insertMode) ? (pos.begin = seekPrevious(pos.begin), + getMaskSet().validPositions[pos.begin] !== undefined && getMaskSet().validPositions[pos.begin].input === opts.groupSeparator && pos.begin--) : k === Inputmask.keyCode.DELETE && pos.begin === pos.end && (pos.end = isMask(pos.end, !0) && getMaskSet().validPositions[pos.end] && getMaskSet().validPositions[pos.end].input !== opts.radixPoint ? pos.end + 1 : seekNext(pos.end) + 1, + getMaskSet().validPositions[pos.begin] !== undefined && getMaskSet().validPositions[pos.begin].input === opts.groupSeparator && pos.end++), + stripValidPositions(pos.begin, pos.end, !1, strict), !0 !== strict && function() { + if (opts.keepStatic) { + for (var validInputs = [], lastAlt = getLastValidPosition(-1, !0), positionsClone = $.extend(!0, {}, getMaskSet().validPositions), prevAltPos = getMaskSet().validPositions[lastAlt]; lastAlt >= 0; lastAlt--) { + var altPos = getMaskSet().validPositions[lastAlt]; + if (altPos) { + if (!0 !== altPos.generatedInput && /[0-9a-bA-Z]/.test(altPos.input) && validInputs.push(altPos.input), + delete getMaskSet().validPositions[lastAlt], altPos.alternation !== undefined && altPos.locator[altPos.alternation] !== prevAltPos.locator[altPos.alternation]) break; + prevAltPos = altPos; + } + } + if (lastAlt > -1) for (getMaskSet().p = seekNext(getLastValidPosition(-1, !0)); validInputs.length > 0; ) { + var keypress = new $.Event("keypress"); + keypress.which = validInputs.pop().charCodeAt(0), EventHandlers.keypressEvent.call(input, keypress, !0, !1, !1, getMaskSet().p); + } else getMaskSet().validPositions = $.extend(!0, {}, positionsClone); + } + }(); + var lvp = getLastValidPosition(pos.begin, !0); + if (lvp < pos.begin) getMaskSet().p = seekNext(lvp); else if (!0 !== strict && (getMaskSet().p = pos.begin, + !0 !== fromIsValid)) for (;getMaskSet().p < lvp && getMaskSet().validPositions[getMaskSet().p] === undefined; ) getMaskSet().p++; + } + function initializeColorMask(input) { + function findCaretPos(clientx) { + var caretPos, e = document.createElement("span"); + for (var style in computedStyle) isNaN(style) && -1 !== style.indexOf("font") && (e.style[style] = computedStyle[style]); + e.style.textTransform = computedStyle.textTransform, e.style.letterSpacing = computedStyle.letterSpacing, + e.style.position = "absolute", e.style.height = "auto", e.style.width = "auto", + e.style.visibility = "hidden", e.style.whiteSpace = "nowrap", document.body.appendChild(e); + var itl, inputText = input.inputmask._valueGet(), previousWidth = 0; + for (caretPos = 0, itl = inputText.length; caretPos <= itl; caretPos++) { + if (e.innerHTML += inputText.charAt(caretPos) || "_", e.offsetWidth >= clientx) { + var offset1 = clientx - previousWidth, offset2 = e.offsetWidth - clientx; + e.innerHTML = inputText.charAt(caretPos), caretPos = (offset1 -= e.offsetWidth / 3) < offset2 ? caretPos - 1 : caretPos; + break; + } + previousWidth = e.offsetWidth; + } + return document.body.removeChild(e), caretPos; + } + var computedStyle = (input.ownerDocument.defaultView || window).getComputedStyle(input, null), template = document.createElement("div"); + template.style.width = computedStyle.width, template.style.textAlign = computedStyle.textAlign, + (colorMask = document.createElement("div")).className = "im-colormask", input.parentNode.insertBefore(colorMask, input), + input.parentNode.removeChild(input), colorMask.appendChild(template), colorMask.appendChild(input), + input.style.left = template.offsetLeft + "px", $(input).on("click", function(e) { + return caret(input, findCaretPos(e.clientX)), EventHandlers.clickEvent.call(input, [ e ]); + }), $(input).on("keydown", function(e) { + e.shiftKey || !1 === opts.insertMode || setTimeout(function() { + renderColorMask(input); + }, 0); + }); + } + function renderColorMask(input, caretPos, clear) { + function handleStatic() { + isStatic || null !== test.fn && testPos.input !== undefined ? isStatic && (null !== test.fn && testPos.input !== undefined || "" === test.def) && (isStatic = !1, + maskTemplate += "</span>") : (isStatic = !0, maskTemplate += "<span class='im-static'>"); + } + function handleCaret(force) { + !0 !== force && pos !== caretPos.begin || document.activeElement !== input || (maskTemplate += "<span class='im-caret' style='border-right-width: 1px;border-right-style: solid;'></span>"); + } + var test, testPos, ndxIntlzr, maskTemplate = "", isStatic = !1, pos = 0; + if (colorMask !== undefined) { + var buffer = getBuffer(); + if (caretPos === undefined ? caretPos = caret(input) : caretPos.begin === undefined && (caretPos = { + begin: caretPos, + end: caretPos + }), !0 !== clear) { + var lvp = getLastValidPosition(); + do { + handleCaret(), getMaskSet().validPositions[pos] ? (testPos = getMaskSet().validPositions[pos], + test = testPos.match, ndxIntlzr = testPos.locator.slice(), handleStatic(), maskTemplate += buffer[pos]) : (testPos = getTestTemplate(pos, ndxIntlzr, pos - 1), + test = testPos.match, ndxIntlzr = testPos.locator.slice(), (!1 === opts.jitMasking || pos < lvp || "number" == typeof opts.jitMasking && isFinite(opts.jitMasking) && opts.jitMasking > pos) && (handleStatic(), + maskTemplate += getPlaceholder(pos, test))), pos++; + } while ((maxLength === undefined || pos < maxLength) && (null !== test.fn || "" !== test.def) || lvp > pos || isStatic); + -1 === maskTemplate.indexOf("im-caret") && handleCaret(!0), isStatic && handleStatic(); + } + var template = colorMask.getElementsByTagName("div")[0]; + template.innerHTML = maskTemplate, input.inputmask.positionColorMask(input, template); + } + } + maskset = maskset || this.maskset, opts = opts || this.opts; + var undoValue, $el, maxLength, colorMask, inputmask = this, el = this.el, isRTL = this.isRTL, skipKeyPressEvent = !1, skipInputEvent = !1, ignorable = !1, mouseEnter = !1, EventRuler = { + on: function(input, eventName, eventHandler) { + var ev = function(e) { + if (this.inputmask === undefined && "FORM" !== this.nodeName) { + var imOpts = $.data(this, "_inputmask_opts"); + imOpts ? new Inputmask(imOpts).mask(this) : EventRuler.off(this); + } else { + if ("setvalue" === e.type || "FORM" === this.nodeName || !(this.disabled || this.readOnly && !("keydown" === e.type && e.ctrlKey && 67 === e.keyCode || !1 === opts.tabThrough && e.keyCode === Inputmask.keyCode.TAB))) { + switch (e.type) { + case "input": + if (!0 === skipInputEvent) return skipInputEvent = !1, e.preventDefault(); + break; + + case "keydown": + skipKeyPressEvent = !1, skipInputEvent = !1; + break; + + case "keypress": + if (!0 === skipKeyPressEvent) return e.preventDefault(); + skipKeyPressEvent = !0; + break; + + case "click": + if (iemobile || iphone) { + var that = this, args = arguments; + return setTimeout(function() { + eventHandler.apply(that, args); + }, 0), !1; + } + } + var returnVal = eventHandler.apply(this, arguments); + return !1 === returnVal && (e.preventDefault(), e.stopPropagation()), returnVal; + } + e.preventDefault(); + } + }; + input.inputmask.events[eventName] = input.inputmask.events[eventName] || [], input.inputmask.events[eventName].push(ev), + -1 !== $.inArray(eventName, [ "submit", "reset" ]) ? null !== input.form && $(input.form).on(eventName, ev) : $(input).on(eventName, ev); + }, + off: function(input, event) { + if (input.inputmask && input.inputmask.events) { + var events; + event ? (events = [])[event] = input.inputmask.events[event] : events = input.inputmask.events, + $.each(events, function(eventName, evArr) { + for (;evArr.length > 0; ) { + var ev = evArr.pop(); + -1 !== $.inArray(eventName, [ "submit", "reset" ]) ? null !== input.form && $(input.form).off(eventName, ev) : $(input).off(eventName, ev); + } + delete input.inputmask.events[eventName]; + }); + } + } + }, EventHandlers = { + keydownEvent: function(e) { + var input = this, $input = $(input), k = e.keyCode, pos = caret(input); + if (k === Inputmask.keyCode.BACKSPACE || k === Inputmask.keyCode.DELETE || iphone && k === Inputmask.keyCode.BACKSPACE_SAFARI || e.ctrlKey && k === Inputmask.keyCode.X && !function(eventName) { + var el = document.createElement("input"), evName = "on" + eventName, isSupported = evName in el; + return isSupported || (el.setAttribute(evName, "return;"), isSupported = "function" == typeof el[evName]), + el = null, isSupported; + }("cut")) e.preventDefault(), handleRemove(input, k, pos), writeBuffer(input, getBuffer(!0), getMaskSet().p, e, input.inputmask._valueGet() !== getBuffer().join("")), + input.inputmask._valueGet() === getBufferTemplate().join("") ? $input.trigger("cleared") : !0 === isComplete(getBuffer()) && $input.trigger("complete"); else if (k === Inputmask.keyCode.END || k === Inputmask.keyCode.PAGE_DOWN) { + e.preventDefault(); + var caretPos = seekNext(getLastValidPosition()); + opts.insertMode || caretPos !== getMaskSet().maskLength || e.shiftKey || caretPos--, + caret(input, e.shiftKey ? pos.begin : caretPos, caretPos, !0); + } else k === Inputmask.keyCode.HOME && !e.shiftKey || k === Inputmask.keyCode.PAGE_UP ? (e.preventDefault(), + caret(input, 0, e.shiftKey ? pos.begin : 0, !0)) : (opts.undoOnEscape && k === Inputmask.keyCode.ESCAPE || 90 === k && e.ctrlKey) && !0 !== e.altKey ? (checkVal(input, !0, !1, undoValue.split("")), + $input.trigger("click")) : k !== Inputmask.keyCode.INSERT || e.shiftKey || e.ctrlKey ? !0 === opts.tabThrough && k === Inputmask.keyCode.TAB ? (!0 === e.shiftKey ? (null === getTest(pos.begin).match.fn && (pos.begin = seekNext(pos.begin)), + pos.end = seekPrevious(pos.begin, !0), pos.begin = seekPrevious(pos.end, !0)) : (pos.begin = seekNext(pos.begin, !0), + pos.end = seekNext(pos.begin, !0), pos.end < getMaskSet().maskLength && pos.end--), + pos.begin < getMaskSet().maskLength && (e.preventDefault(), caret(input, pos.begin, pos.end))) : e.shiftKey || !1 === opts.insertMode && (k === Inputmask.keyCode.RIGHT ? setTimeout(function() { + var caretPos = caret(input); + caret(input, caretPos.begin); + }, 0) : k === Inputmask.keyCode.LEFT && setTimeout(function() { + var caretPos = caret(input); + caret(input, isRTL ? caretPos.begin + 1 : caretPos.begin - 1); + }, 0)) : (opts.insertMode = !opts.insertMode, caret(input, opts.insertMode || pos.begin !== getMaskSet().maskLength ? pos.begin : pos.begin - 1)); + opts.onKeyDown.call(this, e, getBuffer(), caret(input).begin, opts), ignorable = -1 !== $.inArray(k, opts.ignorables); + }, + keypressEvent: function(e, checkval, writeOut, strict, ndx) { + var input = this, $input = $(input), k = e.which || e.charCode || e.keyCode; + if (!(!0 === checkval || e.ctrlKey && e.altKey) && (e.ctrlKey || e.metaKey || ignorable)) return k === Inputmask.keyCode.ENTER && undoValue !== getBuffer().join("") && (undoValue = getBuffer().join(""), + setTimeout(function() { + $input.trigger("change"); + }, 0)), !0; + if (k) { + 46 === k && !1 === e.shiftKey && "" !== opts.radixPoint && (k = opts.radixPoint.charCodeAt(0)); + var forwardPosition, pos = checkval ? { + begin: ndx, + end: ndx + } : caret(input), c = String.fromCharCode(k); + getMaskSet().writeOutBuffer = !0; + var valResult = isValid(pos, c, strict); + if (!1 !== valResult && (resetMaskSet(!0), forwardPosition = valResult.caret !== undefined ? valResult.caret : checkval ? valResult.pos + 1 : seekNext(valResult.pos), + getMaskSet().p = forwardPosition), !1 !== writeOut && (setTimeout(function() { + opts.onKeyValidation.call(input, k, valResult, opts); + }, 0), getMaskSet().writeOutBuffer && !1 !== valResult)) { + var buffer = getBuffer(); + writeBuffer(input, buffer, opts.numericInput && valResult.caret === undefined ? seekPrevious(forwardPosition) : forwardPosition, e, !0 !== checkval), + !0 !== checkval && setTimeout(function() { + !0 === isComplete(buffer) && $input.trigger("complete"); + }, 0); + } + if (e.preventDefault(), checkval) return !1 !== valResult && (valResult.forwardPosition = forwardPosition), + valResult; + } + }, + pasteEvent: function(e) { + var tempValue, input = this, ev = e.originalEvent || e, $input = $(input), inputValue = input.inputmask._valueGet(!0), caretPos = caret(input); + isRTL && (tempValue = caretPos.end, caretPos.end = caretPos.begin, caretPos.begin = tempValue); + var valueBeforeCaret = inputValue.substr(0, caretPos.begin), valueAfterCaret = inputValue.substr(caretPos.end, inputValue.length); + if (valueBeforeCaret === (isRTL ? getBufferTemplate().reverse() : getBufferTemplate()).slice(0, caretPos.begin).join("") && (valueBeforeCaret = ""), + valueAfterCaret === (isRTL ? getBufferTemplate().reverse() : getBufferTemplate()).slice(caretPos.end).join("") && (valueAfterCaret = ""), + isRTL && (tempValue = valueBeforeCaret, valueBeforeCaret = valueAfterCaret, valueAfterCaret = tempValue), + window.clipboardData && window.clipboardData.getData) inputValue = valueBeforeCaret + window.clipboardData.getData("Text") + valueAfterCaret; else { + if (!ev.clipboardData || !ev.clipboardData.getData) return !0; + inputValue = valueBeforeCaret + ev.clipboardData.getData("text/plain") + valueAfterCaret; + } + var pasteValue = inputValue; + if ($.isFunction(opts.onBeforePaste)) { + if (!1 === (pasteValue = opts.onBeforePaste.call(inputmask, inputValue, opts))) return e.preventDefault(); + pasteValue || (pasteValue = inputValue); + } + return checkVal(input, !1, !1, isRTL ? pasteValue.split("").reverse() : pasteValue.toString().split("")), + writeBuffer(input, getBuffer(), seekNext(getLastValidPosition()), e, undoValue !== getBuffer().join("")), + !0 === isComplete(getBuffer()) && $input.trigger("complete"), e.preventDefault(); + }, + inputFallBackEvent: function(e) { + var input = this, inputValue = input.inputmask._valueGet(); + if (getBuffer().join("") !== inputValue) { + var caretPos = caret(input); + if (!1 === function(input, inputValue, caretPos) { + if ("." === inputValue.charAt(caretPos.begin - 1) && "" !== opts.radixPoint && ((inputValue = inputValue.split(""))[caretPos.begin - 1] = opts.radixPoint.charAt(0), + inputValue = inputValue.join("")), inputValue.charAt(caretPos.begin - 1) === opts.radixPoint && inputValue.length > getBuffer().length) { + var keypress = new $.Event("keypress"); + return keypress.which = opts.radixPoint.charCodeAt(0), EventHandlers.keypressEvent.call(input, keypress, !0, !0, !1, caretPos.begin - 1), + !1; + } + }(input, inputValue, caretPos)) return !1; + if (inputValue = inputValue.replace(new RegExp("(" + Inputmask.escapeRegex(getBufferTemplate().join("")) + ")*"), ""), + !1 === function(input, inputValue, caretPos) { + if (iemobile) { + var inputChar = inputValue.replace(getBuffer().join(""), ""); + if (1 === inputChar.length) { + var keypress = new $.Event("keypress"); + return keypress.which = inputChar.charCodeAt(0), EventHandlers.keypressEvent.call(input, keypress, !0, !0, !1, getMaskSet().validPositions[caretPos.begin - 1] ? caretPos.begin : caretPos.begin - 1), + !1; + } + } + }(input, inputValue, caretPos)) return !1; + caretPos.begin > inputValue.length && (caret(input, inputValue.length), caretPos = caret(input)); + var buffer = getBuffer().join(""), frontPart = inputValue.substr(0, caretPos.begin), backPart = inputValue.substr(caretPos.begin), frontBufferPart = buffer.substr(0, caretPos.begin), backBufferPart = buffer.substr(caretPos.begin), selection = caretPos, entries = "", isEntry = !1; + if (frontPart !== frontBufferPart) { + selection.begin = 0; + for (var fpl = (isEntry = frontPart.length >= frontBufferPart.length) ? frontPart.length : frontBufferPart.length, i = 0; frontPart.charAt(i) === frontBufferPart.charAt(i) && i < fpl; i++) selection.begin++; + isEntry && (entries += frontPart.slice(selection.begin, selection.end)); + } + backPart !== backBufferPart && (backPart.length > backBufferPart.length ? isEntry && (selection.end = selection.begin) : backPart.length < backBufferPart.length ? selection.end += backBufferPart.length - backPart.length : backPart.charAt(0) !== backBufferPart.charAt(0) && selection.end++), + writeBuffer(input, getBuffer(), selection), entries.length > 0 ? $.each(entries.split(""), function(ndx, entry) { + var keypress = new $.Event("keypress"); + keypress.which = entry.charCodeAt(0), ignorable = !1, EventHandlers.keypressEvent.call(input, keypress); + }) : (selection.begin === selection.end - 1 && caret(input, seekPrevious(selection.begin + 1), selection.end), + e.keyCode = Inputmask.keyCode.DELETE, EventHandlers.keydownEvent.call(input, e)), + e.preventDefault(); + } + }, + setValueEvent: function(e) { + this.inputmask.refreshValue = !1; + var input = this, value = input.inputmask._valueGet(!0); + $.isFunction(opts.onBeforeMask) && (value = opts.onBeforeMask.call(inputmask, value, opts) || value), + value = value.split(""), checkVal(input, !0, !1, isRTL ? value.reverse() : value), + undoValue = getBuffer().join(""), (opts.clearMaskOnLostFocus || opts.clearIncomplete) && input.inputmask._valueGet() === getBufferTemplate().join("") && input.inputmask._valueSet(""); + }, + focusEvent: function(e) { + var input = this, nptValue = input.inputmask._valueGet(); + opts.showMaskOnFocus && (!opts.showMaskOnHover || opts.showMaskOnHover && "" === nptValue) && (input.inputmask._valueGet() !== getBuffer().join("") ? writeBuffer(input, getBuffer(), seekNext(getLastValidPosition())) : !1 === mouseEnter && caret(input, seekNext(getLastValidPosition()))), + !0 === opts.positionCaretOnTab && !1 === mouseEnter && "" !== nptValue && (writeBuffer(input, getBuffer(), caret(input)), + EventHandlers.clickEvent.apply(input, [ e, !0 ])), undoValue = getBuffer().join(""); + }, + mouseleaveEvent: function(e) { + var input = this; + if (mouseEnter = !1, opts.clearMaskOnLostFocus && document.activeElement !== input) { + var buffer = getBuffer().slice(), nptValue = input.inputmask._valueGet(); + nptValue !== input.getAttribute("placeholder") && "" !== nptValue && (-1 === getLastValidPosition() && nptValue === getBufferTemplate().join("") ? buffer = [] : clearOptionalTail(buffer), + writeBuffer(input, buffer)); + } + }, + clickEvent: function(e, tabbed) { + function doRadixFocus(clickPos) { + if ("" !== opts.radixPoint) { + var vps = getMaskSet().validPositions; + if (vps[clickPos] === undefined || vps[clickPos].input === getPlaceholder(clickPos)) { + if (clickPos < seekNext(-1)) return !0; + var radixPos = $.inArray(opts.radixPoint, getBuffer()); + if (-1 !== radixPos) { + for (var vp in vps) if (radixPos < vp && vps[vp].input !== getPlaceholder(vp)) return !1; + return !0; + } + } + } + return !1; + } + var input = this; + setTimeout(function() { + if (document.activeElement === input) { + var selectedCaret = caret(input); + if (tabbed && (isRTL ? selectedCaret.end = selectedCaret.begin : selectedCaret.begin = selectedCaret.end), + selectedCaret.begin === selectedCaret.end) switch (opts.positionCaretOnClick) { + case "none": + break; + + case "radixFocus": + if (doRadixFocus(selectedCaret.begin)) { + var radixPos = getBuffer().join("").indexOf(opts.radixPoint); + caret(input, opts.numericInput ? seekNext(radixPos) : radixPos); + break; + } + + default: + var clickPosition = selectedCaret.begin, lvclickPosition = getLastValidPosition(clickPosition, !0), lastPosition = seekNext(lvclickPosition); + if (clickPosition < lastPosition) caret(input, isMask(clickPosition, !0) || isMask(clickPosition - 1, !0) ? clickPosition : seekNext(clickPosition)); else { + var lvp = getMaskSet().validPositions[lvclickPosition], tt = getTestTemplate(lastPosition, lvp ? lvp.match.locator : undefined, lvp), placeholder = getPlaceholder(lastPosition, tt.match); + if ("" !== placeholder && getBuffer()[lastPosition] !== placeholder && !0 !== tt.match.optionalQuantifier && !0 !== tt.match.newBlockMarker || !isMask(lastPosition, !0) && tt.match.def === placeholder) { + var newPos = seekNext(lastPosition); + (clickPosition >= newPos || clickPosition === lastPosition) && (lastPosition = newPos); + } + caret(input, lastPosition); + } + } + } + }, 0); + }, + dblclickEvent: function(e) { + var input = this; + setTimeout(function() { + caret(input, 0, seekNext(getLastValidPosition())); + }, 0); + }, + cutEvent: function(e) { + var input = this, $input = $(input), pos = caret(input), ev = e.originalEvent || e, clipboardData = window.clipboardData || ev.clipboardData, clipData = isRTL ? getBuffer().slice(pos.end, pos.begin) : getBuffer().slice(pos.begin, pos.end); + clipboardData.setData("text", isRTL ? clipData.reverse().join("") : clipData.join("")), + document.execCommand && document.execCommand("copy"), handleRemove(input, Inputmask.keyCode.DELETE, pos), + writeBuffer(input, getBuffer(), getMaskSet().p, e, undoValue !== getBuffer().join("")), + input.inputmask._valueGet() === getBufferTemplate().join("") && $input.trigger("cleared"); + }, + blurEvent: function(e) { + var $input = $(this), input = this; + if (input.inputmask) { + var nptValue = input.inputmask._valueGet(), buffer = getBuffer().slice(); + "" !== nptValue && (opts.clearMaskOnLostFocus && (-1 === getLastValidPosition() && nptValue === getBufferTemplate().join("") ? buffer = [] : clearOptionalTail(buffer)), + !1 === isComplete(buffer) && (setTimeout(function() { + $input.trigger("incomplete"); + }, 0), opts.clearIncomplete && (resetMaskSet(), buffer = opts.clearMaskOnLostFocus ? [] : getBufferTemplate().slice())), + writeBuffer(input, buffer, undefined, e)), undoValue !== getBuffer().join("") && (undoValue = buffer.join(""), + $input.trigger("change")); + } + }, + mouseenterEvent: function(e) { + var input = this; + mouseEnter = !0, document.activeElement !== input && opts.showMaskOnHover && input.inputmask._valueGet() !== getBuffer().join("") && writeBuffer(input, getBuffer()); + }, + submitEvent: function(e) { + undoValue !== getBuffer().join("") && $el.trigger("change"), opts.clearMaskOnLostFocus && -1 === getLastValidPosition() && el.inputmask._valueGet && el.inputmask._valueGet() === getBufferTemplate().join("") && el.inputmask._valueSet(""), + opts.removeMaskOnSubmit && (el.inputmask._valueSet(el.inputmask.unmaskedvalue(), !0), + setTimeout(function() { + writeBuffer(el, getBuffer()); + }, 0)); + }, + resetEvent: function(e) { + el.inputmask.refreshValue = !0, setTimeout(function() { + $el.trigger("setvalue"); + }, 0); + } + }; + Inputmask.prototype.positionColorMask = function(input, template) { + input.style.left = template.offsetLeft + "px"; + }; + var valueBuffer; + if (actionObj !== undefined) switch (actionObj.action) { + case "isComplete": + return el = actionObj.el, isComplete(getBuffer()); + + case "unmaskedvalue": + return el !== undefined && actionObj.value === undefined || (valueBuffer = actionObj.value, + valueBuffer = ($.isFunction(opts.onBeforeMask) ? opts.onBeforeMask.call(inputmask, valueBuffer, opts) || valueBuffer : valueBuffer).split(""), + checkVal(undefined, !1, !1, isRTL ? valueBuffer.reverse() : valueBuffer), $.isFunction(opts.onBeforeWrite) && opts.onBeforeWrite.call(inputmask, undefined, getBuffer(), 0, opts)), + unmaskedvalue(el); + + case "mask": + !function(elem) { + EventRuler.off(elem); + var isSupported = function(input, opts) { + var elementType = input.getAttribute("type"), isSupported = "INPUT" === input.tagName && -1 !== $.inArray(elementType, opts.supportsInputType) || input.isContentEditable || "TEXTAREA" === input.tagName; + if (!isSupported) if ("INPUT" === input.tagName) { + var el = document.createElement("input"); + el.setAttribute("type", elementType), isSupported = "text" === el.type, el = null; + } else isSupported = "partial"; + return !1 !== isSupported ? function(npt) { + function getter() { + return this.inputmask ? this.inputmask.opts.autoUnmask ? this.inputmask.unmaskedvalue() : -1 !== getLastValidPosition() || !0 !== opts.nullable ? document.activeElement === this && opts.clearMaskOnLostFocus ? (isRTL ? clearOptionalTail(getBuffer().slice()).reverse() : clearOptionalTail(getBuffer().slice())).join("") : valueGet.call(this) : "" : valueGet.call(this); + } + function setter(value) { + valueSet.call(this, value), this.inputmask && $(this).trigger("setvalue"); + } + var valueGet, valueSet; + if (!npt.inputmask.__valueGet) { + if (!0 !== opts.noValuePatching) { + if (Object.getOwnPropertyDescriptor) { + "function" != typeof Object.getPrototypeOf && (Object.getPrototypeOf = "object" == typeof "test".__proto__ ? function(object) { + return object.__proto__; + } : function(object) { + return object.constructor.prototype; + }); + var valueProperty = Object.getPrototypeOf ? Object.getOwnPropertyDescriptor(Object.getPrototypeOf(npt), "value") : undefined; + valueProperty && valueProperty.get && valueProperty.set ? (valueGet = valueProperty.get, + valueSet = valueProperty.set, Object.defineProperty(npt, "value", { + get: getter, + set: setter, + configurable: !0 + })) : "INPUT" !== npt.tagName && (valueGet = function() { + return this.textContent; + }, valueSet = function(value) { + this.textContent = value; + }, Object.defineProperty(npt, "value", { + get: getter, + set: setter, + configurable: !0 + })); + } else document.__lookupGetter__ && npt.__lookupGetter__("value") && (valueGet = npt.__lookupGetter__("value"), + valueSet = npt.__lookupSetter__("value"), npt.__defineGetter__("value", getter), + npt.__defineSetter__("value", setter)); + npt.inputmask.__valueGet = valueGet, npt.inputmask.__valueSet = valueSet; + } + npt.inputmask._valueGet = function(overruleRTL) { + return isRTL && !0 !== overruleRTL ? valueGet.call(this.el).split("").reverse().join("") : valueGet.call(this.el); + }, npt.inputmask._valueSet = function(value, overruleRTL) { + valueSet.call(this.el, null === value || value === undefined ? "" : !0 !== overruleRTL && isRTL ? value.split("").reverse().join("") : value); + }, valueGet === undefined && (valueGet = function() { + return this.value; + }, valueSet = function(value) { + this.value = value; + }, function(type) { + if ($.valHooks && ($.valHooks[type] === undefined || !0 !== $.valHooks[type].inputmaskpatch)) { + var valhookGet = $.valHooks[type] && $.valHooks[type].get ? $.valHooks[type].get : function(elem) { + return elem.value; + }, valhookSet = $.valHooks[type] && $.valHooks[type].set ? $.valHooks[type].set : function(elem, value) { + return elem.value = value, elem; + }; + $.valHooks[type] = { + get: function(elem) { + if (elem.inputmask) { + if (elem.inputmask.opts.autoUnmask) return elem.inputmask.unmaskedvalue(); + var result = valhookGet(elem); + return -1 !== getLastValidPosition(undefined, undefined, elem.inputmask.maskset.validPositions) || !0 !== opts.nullable ? result : ""; + } + return valhookGet(elem); + }, + set: function(elem, value) { + var result, $elem = $(elem); + return result = valhookSet(elem, value), elem.inputmask && $elem.trigger("setvalue"), + result; + }, + inputmaskpatch: !0 + }; + } + }(npt.type), function(npt) { + EventRuler.on(npt, "mouseenter", function(event) { + var $input = $(this); + this.inputmask._valueGet() !== getBuffer().join("") && $input.trigger("setvalue"); + }); + }(npt)); + } + }(input) : input.inputmask = undefined, isSupported; + }(elem, opts); + if (!1 !== isSupported && (el = elem, $el = $(el), -1 === (maxLength = el !== undefined ? el.maxLength : undefined) && (maxLength = undefined), + !0 === opts.colorMask && initializeColorMask(el), android && (el.hasOwnProperty("inputmode") && (el.inputmode = opts.inputmode, + el.setAttribute("inputmode", opts.inputmode)), "rtfm" === opts.androidHack && (!0 !== opts.colorMask && initializeColorMask(el), + el.type = "password")), !0 === isSupported && (EventRuler.on(el, "submit", EventHandlers.submitEvent), + EventRuler.on(el, "reset", EventHandlers.resetEvent), EventRuler.on(el, "mouseenter", EventHandlers.mouseenterEvent), + EventRuler.on(el, "blur", EventHandlers.blurEvent), EventRuler.on(el, "focus", EventHandlers.focusEvent), + EventRuler.on(el, "mouseleave", EventHandlers.mouseleaveEvent), !0 !== opts.colorMask && EventRuler.on(el, "click", EventHandlers.clickEvent), + EventRuler.on(el, "dblclick", EventHandlers.dblclickEvent), EventRuler.on(el, "paste", EventHandlers.pasteEvent), + EventRuler.on(el, "dragdrop", EventHandlers.pasteEvent), EventRuler.on(el, "drop", EventHandlers.pasteEvent), + EventRuler.on(el, "cut", EventHandlers.cutEvent), EventRuler.on(el, "complete", opts.oncomplete), + EventRuler.on(el, "incomplete", opts.onincomplete), EventRuler.on(el, "cleared", opts.oncleared), + android || !0 === opts.inputEventOnly ? el.removeAttribute("maxLength") : (EventRuler.on(el, "keydown", EventHandlers.keydownEvent), + EventRuler.on(el, "keypress", EventHandlers.keypressEvent)), EventRuler.on(el, "compositionstart", $.noop), + EventRuler.on(el, "compositionupdate", $.noop), EventRuler.on(el, "compositionend", $.noop), + EventRuler.on(el, "keyup", $.noop), EventRuler.on(el, "input", EventHandlers.inputFallBackEvent), + EventRuler.on(el, "beforeinput", $.noop)), EventRuler.on(el, "setvalue", EventHandlers.setValueEvent), + undoValue = getBufferTemplate().join(""), "" !== el.inputmask._valueGet(!0) || !1 === opts.clearMaskOnLostFocus || document.activeElement === el)) { + var initialValue = $.isFunction(opts.onBeforeMask) ? opts.onBeforeMask.call(inputmask, el.inputmask._valueGet(!0), opts) || el.inputmask._valueGet(!0) : el.inputmask._valueGet(!0); + "" !== initialValue && checkVal(el, !0, !1, isRTL ? initialValue.split("").reverse() : initialValue.split("")); + var buffer = getBuffer().slice(); + undoValue = buffer.join(""), !1 === isComplete(buffer) && opts.clearIncomplete && resetMaskSet(), + opts.clearMaskOnLostFocus && document.activeElement !== el && (-1 === getLastValidPosition() ? buffer = [] : clearOptionalTail(buffer)), + writeBuffer(el, buffer), document.activeElement === el && caret(el, seekNext(getLastValidPosition())); + } + }(el); + break; + + case "format": + return valueBuffer = ($.isFunction(opts.onBeforeMask) ? opts.onBeforeMask.call(inputmask, actionObj.value, opts) || actionObj.value : actionObj.value).split(""), + checkVal(undefined, !0, !1, isRTL ? valueBuffer.reverse() : valueBuffer), actionObj.metadata ? { + value: isRTL ? getBuffer().slice().reverse().join("") : getBuffer().join(""), + metadata: maskScope.call(this, { + action: "getmetadata" + }, maskset, opts) + } : isRTL ? getBuffer().slice().reverse().join("") : getBuffer().join(""); + + case "isValid": + actionObj.value ? (valueBuffer = actionObj.value.split(""), checkVal(undefined, !0, !0, isRTL ? valueBuffer.reverse() : valueBuffer)) : actionObj.value = getBuffer().join(""); + for (var buffer = getBuffer(), rl = determineLastRequiredPosition(), lmib = buffer.length - 1; lmib > rl && !isMask(lmib); lmib--) ; + return buffer.splice(rl, lmib + 1 - rl), isComplete(buffer) && actionObj.value === getBuffer().join(""); + + case "getemptymask": + return getBufferTemplate().join(""); + + case "remove": + if (el && el.inputmask) { + $el = $(el), el.inputmask._valueSet(opts.autoUnmask ? unmaskedvalue(el) : el.inputmask._valueGet(!0)), + EventRuler.off(el); + Object.getOwnPropertyDescriptor && Object.getPrototypeOf ? Object.getOwnPropertyDescriptor(Object.getPrototypeOf(el), "value") && el.inputmask.__valueGet && Object.defineProperty(el, "value", { + get: el.inputmask.__valueGet, + set: el.inputmask.__valueSet, + configurable: !0 + }) : document.__lookupGetter__ && el.__lookupGetter__("value") && el.inputmask.__valueGet && (el.__defineGetter__("value", el.inputmask.__valueGet), + el.__defineSetter__("value", el.inputmask.__valueSet)), el.inputmask = undefined; + } + return el; + + case "getmetadata": + if ($.isArray(maskset.metadata)) { + var maskTarget = getMaskTemplate(!0, 0, !1).join(""); + return $.each(maskset.metadata, function(ndx, mtdt) { + if (mtdt.mask === maskTarget) return maskTarget = mtdt, !1; + }), maskTarget; + } + return maskset.metadata; + } + } + var ua = navigator.userAgent, mobile = /mobile/i.test(ua), iemobile = /iemobile/i.test(ua), iphone = /iphone/i.test(ua) && !iemobile, android = /android/i.test(ua) && !iemobile; + return Inputmask.prototype = { + dataAttribute: "data-inputmask", + defaults: { + placeholder: "_", + optionalmarker: { + start: "[", + end: "]" + }, + quantifiermarker: { + start: "{", + end: "}" + }, + groupmarker: { + start: "(", + end: ")" + }, + alternatormarker: "|", + escapeChar: "\\", + mask: null, + regex: null, + oncomplete: $.noop, + onincomplete: $.noop, + oncleared: $.noop, + repeat: 0, + greedy: !0, + autoUnmask: !1, + removeMaskOnSubmit: !1, + clearMaskOnLostFocus: !0, + insertMode: !0, + clearIncomplete: !1, + alias: null, + onKeyDown: $.noop, + onBeforeMask: null, + onBeforePaste: function(pastedValue, opts) { + return $.isFunction(opts.onBeforeMask) ? opts.onBeforeMask.call(this, pastedValue, opts) : pastedValue; + }, + onBeforeWrite: null, + onUnMask: null, + showMaskOnFocus: !0, + showMaskOnHover: !0, + onKeyValidation: $.noop, + skipOptionalPartCharacter: " ", + numericInput: !1, + rightAlign: !1, + undoOnEscape: !0, + radixPoint: "", + radixPointDefinitionSymbol: undefined, + groupSeparator: "", + keepStatic: null, + positionCaretOnTab: !0, + tabThrough: !1, + supportsInputType: [ "text", "tel", "password" ], + ignorables: [ 8, 9, 13, 19, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46, 93, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 229 ], + isComplete: null, + canClearPosition: $.noop, + preValidation: null, + postValidation: null, + staticDefinitionSymbol: undefined, + jitMasking: !1, + nullable: !0, + inputEventOnly: !1, + noValuePatching: !1, + positionCaretOnClick: "lvp", + casing: null, + inputmode: "verbatim", + colorMask: !1, + androidHack: !1, + importDataAttributes: !0 + }, + definitions: { + "9": { + validator: "[0-91-9]", + cardinality: 1, + definitionSymbol: "*" + }, + a: { + validator: "[A-Za-zА-яЁёÀ-ÿµ]", + cardinality: 1, + definitionSymbol: "*" + }, + "*": { + validator: "[0-91-9A-Za-zА-яЁёÀ-ÿµ]", + cardinality: 1 + } + }, + aliases: {}, + masksCache: {}, + mask: function(elems) { + function importAttributeOptions(npt, opts, userOptions, dataAttribute) { + function importOption(option, optionData) { + null !== (optionData = optionData !== undefined ? optionData : npt.getAttribute(dataAttribute + "-" + option)) && ("string" == typeof optionData && (0 === option.indexOf("on") ? optionData = window[optionData] : "false" === optionData ? optionData = !1 : "true" === optionData && (optionData = !0)), + userOptions[option] = optionData); + } + if (!0 === opts.importDataAttributes) { + var option, dataoptions, optionData, p, attrOptions = npt.getAttribute(dataAttribute); + if (attrOptions && "" !== attrOptions && (attrOptions = attrOptions.replace(new RegExp("'", "g"), '"'), + dataoptions = JSON.parse("{" + attrOptions + "}")), dataoptions) { + optionData = undefined; + for (p in dataoptions) if ("alias" === p.toLowerCase()) { + optionData = dataoptions[p]; + break; + } + } + importOption("alias", optionData), userOptions.alias && resolveAlias(userOptions.alias, userOptions, opts); + for (option in opts) { + if (dataoptions) { + optionData = undefined; + for (p in dataoptions) if (p.toLowerCase() === option.toLowerCase()) { + optionData = dataoptions[p]; + break; + } + } + importOption(option, optionData); + } + } + return $.extend(!0, opts, userOptions), ("rtl" === npt.dir || opts.rightAlign) && (npt.style.textAlign = "right"), + ("rtl" === npt.dir || opts.numericInput) && (npt.dir = "ltr", npt.removeAttribute("dir"), + opts.isRTL = !0), opts; + } + var that = this; + return "string" == typeof elems && (elems = document.getElementById(elems) || document.querySelectorAll(elems)), + elems = elems.nodeName ? [ elems ] : elems, $.each(elems, function(ndx, el) { + var scopedOpts = $.extend(!0, {}, that.opts); + importAttributeOptions(el, scopedOpts, $.extend(!0, {}, that.userOptions), that.dataAttribute); + var maskset = generateMaskSet(scopedOpts, that.noMasksCache); + maskset !== undefined && (el.inputmask !== undefined && (el.inputmask.opts.autoUnmask = !0, + el.inputmask.remove()), el.inputmask = new Inputmask(undefined, undefined, !0), + el.inputmask.opts = scopedOpts, el.inputmask.noMasksCache = that.noMasksCache, el.inputmask.userOptions = $.extend(!0, {}, that.userOptions), + el.inputmask.isRTL = scopedOpts.isRTL || scopedOpts.numericInput, el.inputmask.el = el, + el.inputmask.maskset = maskset, $.data(el, "_inputmask_opts", scopedOpts), maskScope.call(el.inputmask, { + action: "mask" + })); + }), elems && elems[0] ? elems[0].inputmask || this : this; + }, + option: function(options, noremask) { + return "string" == typeof options ? this.opts[options] : "object" == typeof options ? ($.extend(this.userOptions, options), + this.el && !0 !== noremask && this.mask(this.el), this) : void 0; + }, + unmaskedvalue: function(value) { + return this.maskset = this.maskset || generateMaskSet(this.opts, this.noMasksCache), + maskScope.call(this, { + action: "unmaskedvalue", + value: value + }); + }, + remove: function() { + return maskScope.call(this, { + action: "remove" + }); + }, + getemptymask: function() { + return this.maskset = this.maskset || generateMaskSet(this.opts, this.noMasksCache), + maskScope.call(this, { + action: "getemptymask" + }); + }, + hasMaskedValue: function() { + return !this.opts.autoUnmask; + }, + isComplete: function() { + return this.maskset = this.maskset || generateMaskSet(this.opts, this.noMasksCache), + maskScope.call(this, { + action: "isComplete" + }); + }, + getmetadata: function() { + return this.maskset = this.maskset || generateMaskSet(this.opts, this.noMasksCache), + maskScope.call(this, { + action: "getmetadata" + }); + }, + isValid: function(value) { + return this.maskset = this.maskset || generateMaskSet(this.opts, this.noMasksCache), + maskScope.call(this, { + action: "isValid", + value: value + }); + }, + format: function(value, metadata) { + return this.maskset = this.maskset || generateMaskSet(this.opts, this.noMasksCache), + maskScope.call(this, { + action: "format", + value: value, + metadata: metadata + }); + }, + analyseMask: function(mask, regexMask, opts) { + function MaskToken(isGroup, isOptional, isQuantifier, isAlternator) { + this.matches = [], this.openGroup = isGroup || !1, this.alternatorGroup = !1, this.isGroup = isGroup || !1, + this.isOptional = isOptional || !1, this.isQuantifier = isQuantifier || !1, this.isAlternator = isAlternator || !1, + this.quantifier = { + min: 1, + max: 1 + }; + } + function insertTestDefinition(mtoken, element, position) { + position = position !== undefined ? position : mtoken.matches.length; + var prevMatch = mtoken.matches[position - 1]; + if (regexMask) 0 === element.indexOf("[") || escaped && /\\d|\\s|\\w]/i.test(element) || "." === element ? mtoken.matches.splice(position++, 0, { + fn: new RegExp(element, opts.casing ? "i" : ""), + cardinality: 1, + optionality: mtoken.isOptional, + newBlockMarker: prevMatch === undefined || prevMatch.def !== element, + casing: null, + def: element, + placeholder: undefined, + nativeDef: element + }) : (escaped && (element = element[element.length - 1]), $.each(element.split(""), function(ndx, lmnt) { + prevMatch = mtoken.matches[position - 1], mtoken.matches.splice(position++, 0, { + fn: null, + cardinality: 0, + optionality: mtoken.isOptional, + newBlockMarker: prevMatch === undefined || prevMatch.def !== lmnt && null !== prevMatch.fn, + casing: null, + def: opts.staticDefinitionSymbol || lmnt, + placeholder: opts.staticDefinitionSymbol !== undefined ? lmnt : undefined, + nativeDef: lmnt + }); + })), escaped = !1; else { + var maskdef = (opts.definitions ? opts.definitions[element] : undefined) || Inputmask.prototype.definitions[element]; + if (maskdef && !escaped) { + for (var prevalidators = maskdef.prevalidator, prevalidatorsL = prevalidators ? prevalidators.length : 0, i = 1; i < maskdef.cardinality; i++) { + var prevalidator = prevalidatorsL >= i ? prevalidators[i - 1] : [], validator = prevalidator.validator, cardinality = prevalidator.cardinality; + mtoken.matches.splice(position++, 0, { + fn: validator ? "string" == typeof validator ? new RegExp(validator, opts.casing ? "i" : "") : new function() { + this.test = validator; + }() : new RegExp("."), + cardinality: cardinality || 1, + optionality: mtoken.isOptional, + newBlockMarker: prevMatch === undefined || prevMatch.def !== (maskdef.definitionSymbol || element), + casing: maskdef.casing, + def: maskdef.definitionSymbol || element, + placeholder: maskdef.placeholder, + nativeDef: element + }), prevMatch = mtoken.matches[position - 1]; + } + mtoken.matches.splice(position++, 0, { + fn: maskdef.validator ? "string" == typeof maskdef.validator ? new RegExp(maskdef.validator, opts.casing ? "i" : "") : new function() { + this.test = maskdef.validator; + }() : new RegExp("."), + cardinality: maskdef.cardinality, + optionality: mtoken.isOptional, + newBlockMarker: prevMatch === undefined || prevMatch.def !== (maskdef.definitionSymbol || element), + casing: maskdef.casing, + def: maskdef.definitionSymbol || element, + placeholder: maskdef.placeholder, + nativeDef: element + }); + } else mtoken.matches.splice(position++, 0, { + fn: null, + cardinality: 0, + optionality: mtoken.isOptional, + newBlockMarker: prevMatch === undefined || prevMatch.def !== element && null !== prevMatch.fn, + casing: null, + def: opts.staticDefinitionSymbol || element, + placeholder: opts.staticDefinitionSymbol !== undefined ? element : undefined, + nativeDef: element + }), escaped = !1; + } + } + function verifyGroupMarker(maskToken) { + maskToken && maskToken.matches && $.each(maskToken.matches, function(ndx, token) { + var nextToken = maskToken.matches[ndx + 1]; + (nextToken === undefined || nextToken.matches === undefined || !1 === nextToken.isQuantifier) && token && token.isGroup && (token.isGroup = !1, + regexMask || (insertTestDefinition(token, opts.groupmarker.start, 0), !0 !== token.openGroup && insertTestDefinition(token, opts.groupmarker.end))), + verifyGroupMarker(token); + }); + } + function defaultCase() { + if (openenings.length > 0) { + if (currentOpeningToken = openenings[openenings.length - 1], insertTestDefinition(currentOpeningToken, m), + currentOpeningToken.isAlternator) { + alternator = openenings.pop(); + for (var mndx = 0; mndx < alternator.matches.length; mndx++) alternator.matches[mndx].isGroup = !1; + openenings.length > 0 ? (currentOpeningToken = openenings[openenings.length - 1]).matches.push(alternator) : currentToken.matches.push(alternator); + } + } else insertTestDefinition(currentToken, m); + } + function reverseTokens(maskToken) { + maskToken.matches = maskToken.matches.reverse(); + for (var match in maskToken.matches) if (maskToken.matches.hasOwnProperty(match)) { + var intMatch = parseInt(match); + if (maskToken.matches[match].isQuantifier && maskToken.matches[intMatch + 1] && maskToken.matches[intMatch + 1].isGroup) { + var qt = maskToken.matches[match]; + maskToken.matches.splice(match, 1), maskToken.matches.splice(intMatch + 1, 0, qt); + } + maskToken.matches[match].matches !== undefined ? maskToken.matches[match] = reverseTokens(maskToken.matches[match]) : maskToken.matches[match] = function(st) { + return st === opts.optionalmarker.start ? st = opts.optionalmarker.end : st === opts.optionalmarker.end ? st = opts.optionalmarker.start : st === opts.groupmarker.start ? st = opts.groupmarker.end : st === opts.groupmarker.end && (st = opts.groupmarker.start), + st; + }(maskToken.matches[match]); + } + return maskToken; + } + var match, m, openingToken, currentOpeningToken, alternator, lastMatch, groupToken, tokenizer = /(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})|[^.?*+^${[]()|\\]+|./g, regexTokenizer = /\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g, escaped = !1, currentToken = new MaskToken(), openenings = [], maskTokens = []; + for (regexMask && (opts.optionalmarker.start = undefined, opts.optionalmarker.end = undefined); match = regexMask ? regexTokenizer.exec(mask) : tokenizer.exec(mask); ) { + if (m = match[0], regexMask) switch (m.charAt(0)) { + case "?": + m = "{0,1}"; + break; + + case "+": + case "*": + m = "{" + m + "}"; + } + if (escaped) defaultCase(); else switch (m.charAt(0)) { + case opts.escapeChar: + escaped = !0, regexMask && defaultCase(); + break; + + case opts.optionalmarker.end: + case opts.groupmarker.end: + if (openingToken = openenings.pop(), openingToken.openGroup = !1, openingToken !== undefined) if (openenings.length > 0) { + if ((currentOpeningToken = openenings[openenings.length - 1]).matches.push(openingToken), + currentOpeningToken.isAlternator) { + alternator = openenings.pop(); + for (var mndx = 0; mndx < alternator.matches.length; mndx++) alternator.matches[mndx].isGroup = !1, + alternator.matches[mndx].alternatorGroup = !1; + openenings.length > 0 ? (currentOpeningToken = openenings[openenings.length - 1]).matches.push(alternator) : currentToken.matches.push(alternator); + } + } else currentToken.matches.push(openingToken); else defaultCase(); + break; + + case opts.optionalmarker.start: + openenings.push(new MaskToken(!1, !0)); + break; + + case opts.groupmarker.start: + openenings.push(new MaskToken(!0)); + break; + + case opts.quantifiermarker.start: + var quantifier = new MaskToken(!1, !1, !0), mq = (m = m.replace(/[{}]/g, "")).split(","), mq0 = isNaN(mq[0]) ? mq[0] : parseInt(mq[0]), mq1 = 1 === mq.length ? mq0 : isNaN(mq[1]) ? mq[1] : parseInt(mq[1]); + if ("*" !== mq1 && "+" !== mq1 || (mq0 = "*" === mq1 ? 0 : 1), quantifier.quantifier = { + min: mq0, + max: mq1 + }, openenings.length > 0) { + var matches = openenings[openenings.length - 1].matches; + (match = matches.pop()).isGroup || ((groupToken = new MaskToken(!0)).matches.push(match), + match = groupToken), matches.push(match), matches.push(quantifier); + } else (match = currentToken.matches.pop()).isGroup || (regexMask && null === match.fn && "." === match.def && (match.fn = new RegExp(match.def, opts.casing ? "i" : "")), + (groupToken = new MaskToken(!0)).matches.push(match), match = groupToken), currentToken.matches.push(match), + currentToken.matches.push(quantifier); + break; + + case opts.alternatormarker: + if (openenings.length > 0) { + var subToken = (currentOpeningToken = openenings[openenings.length - 1]).matches[currentOpeningToken.matches.length - 1]; + lastMatch = currentOpeningToken.openGroup && (subToken.matches === undefined || !1 === subToken.isGroup && !1 === subToken.isAlternator) ? openenings.pop() : currentOpeningToken.matches.pop(); + } else lastMatch = currentToken.matches.pop(); + if (lastMatch.isAlternator) openenings.push(lastMatch); else if (lastMatch.alternatorGroup ? (alternator = openenings.pop(), + lastMatch.alternatorGroup = !1) : alternator = new MaskToken(!1, !1, !1, !0), alternator.matches.push(lastMatch), + openenings.push(alternator), lastMatch.openGroup) { + lastMatch.openGroup = !1; + var alternatorGroup = new MaskToken(!0); + alternatorGroup.alternatorGroup = !0, openenings.push(alternatorGroup); + } + break; + + default: + defaultCase(); + } + } + for (;openenings.length > 0; ) openingToken = openenings.pop(), currentToken.matches.push(openingToken); + return currentToken.matches.length > 0 && (verifyGroupMarker(currentToken), maskTokens.push(currentToken)), + (opts.numericInput || opts.isRTL) && reverseTokens(maskTokens[0]), maskTokens; + } + }, Inputmask.extendDefaults = function(options) { + $.extend(!0, Inputmask.prototype.defaults, options); + }, Inputmask.extendDefinitions = function(definition) { + $.extend(!0, Inputmask.prototype.definitions, definition); + }, Inputmask.extendAliases = function(alias) { + $.extend(!0, Inputmask.prototype.aliases, alias); + }, Inputmask.format = function(value, options, metadata) { + return Inputmask(options).format(value, metadata); + }, Inputmask.unmask = function(value, options) { + return Inputmask(options).unmaskedvalue(value); + }, Inputmask.isValid = function(value, options) { + return Inputmask(options).isValid(value); + }, Inputmask.remove = function(elems) { + $.each(elems, function(ndx, el) { + el.inputmask && el.inputmask.remove(); + }); + }, Inputmask.escapeRegex = function(str) { + var specials = [ "/", ".", "*", "+", "?", "|", "(", ")", "[", "]", "{", "}", "\\", "$", "^" ]; + return str.replace(new RegExp("(\\" + specials.join("|\\") + ")", "gim"), "\\$1"); + }, Inputmask.keyCode = { + ALT: 18, + BACKSPACE: 8, + BACKSPACE_SAFARI: 127, + CAPS_LOCK: 20, + COMMA: 188, + COMMAND: 91, + COMMAND_LEFT: 91, + COMMAND_RIGHT: 93, + CONTROL: 17, + DELETE: 46, + DOWN: 40, + END: 35, + ENTER: 13, + ESCAPE: 27, + HOME: 36, + INSERT: 45, + LEFT: 37, + MENU: 93, + NUMPAD_ADD: 107, + NUMPAD_DECIMAL: 110, + NUMPAD_DIVIDE: 111, + NUMPAD_ENTER: 108, + NUMPAD_MULTIPLY: 106, + NUMPAD_SUBTRACT: 109, + PAGE_DOWN: 34, + PAGE_UP: 33, + PERIOD: 190, + RIGHT: 39, + SHIFT: 16, + SPACE: 32, + TAB: 9, + UP: 38, + WINDOWS: 91, + X: 88 + }, Inputmask; +});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/inputmask.numeric.extensions.js b/public/bower_components/inputmask/dist/inputmask/inputmask.numeric.extensions.js new file mode 100644 index 0000000..d633a88 --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/inputmask.numeric.extensions.js @@ -0,0 +1,339 @@ +/*! +* inputmask.numeric.extensions.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(factory) { + "function" == typeof define && define.amd ? define([ "./dependencyLibs/inputmask.dependencyLib", "./inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./dependencyLibs/inputmask.dependencyLib"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask); +}(function($, Inputmask, undefined) { + function autoEscape(txt, opts) { + for (var escapedTxt = "", i = 0; i < txt.length; i++) Inputmask.prototype.definitions[txt.charAt(i)] || opts.definitions[txt.charAt(i)] || opts.optionalmarker.start === txt.charAt(i) || opts.optionalmarker.end === txt.charAt(i) || opts.quantifiermarker.start === txt.charAt(i) || opts.quantifiermarker.end === txt.charAt(i) || opts.groupmarker.start === txt.charAt(i) || opts.groupmarker.end === txt.charAt(i) || opts.alternatormarker === txt.charAt(i) ? escapedTxt += "\\" + txt.charAt(i) : escapedTxt += txt.charAt(i); + return escapedTxt; + } + return Inputmask.extendAliases({ + numeric: { + mask: function(opts) { + if (0 !== opts.repeat && isNaN(opts.integerDigits) && (opts.integerDigits = opts.repeat), + opts.repeat = 0, opts.groupSeparator === opts.radixPoint && ("." === opts.radixPoint ? opts.groupSeparator = "," : "," === opts.radixPoint ? opts.groupSeparator = "." : opts.groupSeparator = ""), + " " === opts.groupSeparator && (opts.skipOptionalPartCharacter = undefined), opts.autoGroup = opts.autoGroup && "" !== opts.groupSeparator, + opts.autoGroup && ("string" == typeof opts.groupSize && isFinite(opts.groupSize) && (opts.groupSize = parseInt(opts.groupSize)), + isFinite(opts.integerDigits))) { + var seps = Math.floor(opts.integerDigits / opts.groupSize), mod = opts.integerDigits % opts.groupSize; + opts.integerDigits = parseInt(opts.integerDigits) + (0 === mod ? seps - 1 : seps), + opts.integerDigits < 1 && (opts.integerDigits = "*"); + } + opts.placeholder.length > 1 && (opts.placeholder = opts.placeholder.charAt(0)), + "radixFocus" === opts.positionCaretOnClick && "" === opts.placeholder && !1 === opts.integerOptional && (opts.positionCaretOnClick = "lvp"), + opts.definitions[";"] = opts.definitions["~"], opts.definitions[";"].definitionSymbol = "~", + !0 === opts.numericInput && (opts.positionCaretOnClick = "radixFocus" === opts.positionCaretOnClick ? "lvp" : opts.positionCaretOnClick, + opts.digitsOptional = !1, isNaN(opts.digits) && (opts.digits = 2), opts.decimalProtect = !1); + var mask = "[+]"; + if (mask += autoEscape(opts.prefix, opts), !0 === opts.integerOptional ? mask += "~{1," + opts.integerDigits + "}" : mask += "~{" + opts.integerDigits + "}", + opts.digits !== undefined) { + opts.radixPointDefinitionSymbol = opts.decimalProtect ? ":" : opts.radixPoint; + var dq = opts.digits.toString().split(","); + isFinite(dq[0] && dq[1] && isFinite(dq[1])) ? mask += opts.radixPointDefinitionSymbol + ";{" + opts.digits + "}" : (isNaN(opts.digits) || parseInt(opts.digits) > 0) && (opts.digitsOptional ? mask += "[" + opts.radixPointDefinitionSymbol + ";{1," + opts.digits + "}]" : mask += opts.radixPointDefinitionSymbol + ";{" + opts.digits + "}"); + } + return mask += autoEscape(opts.suffix, opts), mask += "[-]", opts.greedy = !1, mask; + }, + placeholder: "", + greedy: !1, + digits: "*", + digitsOptional: !0, + enforceDigitsOnBlur: !1, + radixPoint: ".", + positionCaretOnClick: "radixFocus", + groupSize: 3, + groupSeparator: "", + autoGroup: !1, + allowMinus: !0, + negationSymbol: { + front: "-", + back: "" + }, + integerDigits: "+", + integerOptional: !0, + prefix: "", + suffix: "", + rightAlign: !0, + decimalProtect: !0, + min: null, + max: null, + step: 1, + insertMode: !0, + autoUnmask: !1, + unmaskAsNumber: !1, + inputmode: "numeric", + preValidation: function(buffer, pos, c, isSelection, opts) { + if ("-" === c || c === opts.negationSymbol.front) return !0 === opts.allowMinus && (opts.isNegative = opts.isNegative === undefined || !opts.isNegative, + "" === buffer.join("") || { + caret: pos, + dopost: !0 + }); + if (!1 === isSelection && c === opts.radixPoint && opts.digits !== undefined && (isNaN(opts.digits) || parseInt(opts.digits) > 0)) { + var radixPos = $.inArray(opts.radixPoint, buffer); + if (-1 !== radixPos) return !0 === opts.numericInput ? pos === radixPos : { + caret: radixPos + 1 + }; + } + return !0; + }, + postValidation: function(buffer, currentResult, opts) { + var suffix = opts.suffix.split(""), prefix = opts.prefix.split(""); + if (currentResult.pos === undefined && currentResult.caret !== undefined && !0 !== currentResult.dopost) return currentResult; + var caretPos = currentResult.caret !== undefined ? currentResult.caret : currentResult.pos, maskedValue = buffer.slice(); + opts.numericInput && (caretPos = maskedValue.length - caretPos - 1, maskedValue = maskedValue.reverse()); + var charAtPos = maskedValue[caretPos]; + if (charAtPos === opts.groupSeparator && (charAtPos = maskedValue[caretPos += 1]), + caretPos === maskedValue.length - opts.suffix.length - 1 && charAtPos === opts.radixPoint) return currentResult; + charAtPos !== undefined && charAtPos !== opts.radixPoint && charAtPos !== opts.negationSymbol.front && charAtPos !== opts.negationSymbol.back && (maskedValue[caretPos] = "?", + opts.prefix.length > 0 && caretPos >= (!1 === opts.isNegative ? 1 : 0) && caretPos < opts.prefix.length - 1 + (!1 === opts.isNegative ? 1 : 0) ? prefix[caretPos - (!1 === opts.isNegative ? 1 : 0)] = "?" : opts.suffix.length > 0 && caretPos >= maskedValue.length - opts.suffix.length - (!1 === opts.isNegative ? 1 : 0) && (suffix[caretPos - (maskedValue.length - opts.suffix.length - (!1 === opts.isNegative ? 1 : 0))] = "?")), + prefix = prefix.join(""), suffix = suffix.join(""); + var processValue = maskedValue.join("").replace(prefix, ""); + if (processValue = processValue.replace(suffix, ""), processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""), + processValue = processValue.replace(new RegExp("[-" + Inputmask.escapeRegex(opts.negationSymbol.front) + "]", "g"), ""), + processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.negationSymbol.back) + "$"), ""), + isNaN(opts.placeholder) && (processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.placeholder), "g"), "")), + processValue.length > 1 && 1 !== processValue.indexOf(opts.radixPoint) && ("0" === charAtPos && (processValue = processValue.replace(/^\?/g, "")), + processValue = processValue.replace(/^0/g, "")), processValue.charAt(0) === opts.radixPoint && "" !== opts.radixPoint && !0 !== opts.numericInput && (processValue = "0" + processValue), + "" !== processValue) { + if (processValue = processValue.split(""), (!opts.digitsOptional || opts.enforceDigitsOnBlur && "blur" === currentResult.event) && isFinite(opts.digits)) { + var radixPosition = $.inArray(opts.radixPoint, processValue), rpb = $.inArray(opts.radixPoint, maskedValue); + -1 === radixPosition && (processValue.push(opts.radixPoint), radixPosition = processValue.length - 1); + for (var i = 1; i <= opts.digits; i++) opts.digitsOptional && (!opts.enforceDigitsOnBlur || "blur" !== currentResult.event) || processValue[radixPosition + i] !== undefined && processValue[radixPosition + i] !== opts.placeholder.charAt(0) ? -1 !== rpb && maskedValue[rpb + i] !== undefined && (processValue[radixPosition + i] = processValue[radixPosition + i] || maskedValue[rpb + i]) : processValue[radixPosition + i] = currentResult.placeholder || opts.placeholder.charAt(0); + } + if (!0 !== opts.autoGroup || "" === opts.groupSeparator || charAtPos === opts.radixPoint && currentResult.pos === undefined && !currentResult.dopost) processValue = processValue.join(""); else { + var addRadix = processValue[processValue.length - 1] === opts.radixPoint && currentResult.c === opts.radixPoint; + processValue = Inputmask(function(buffer, opts) { + var postMask = ""; + if (postMask += "(" + opts.groupSeparator + "*{" + opts.groupSize + "}){*}", "" !== opts.radixPoint) { + var radixSplit = buffer.join("").split(opts.radixPoint); + radixSplit[1] && (postMask += opts.radixPoint + "*{" + radixSplit[1].match(/^\d*\??\d*/)[0].length + "}"); + } + return postMask; + }(processValue, opts), { + numericInput: !0, + jitMasking: !0, + definitions: { + "*": { + validator: "[0-9?]", + cardinality: 1 + } + } + }).format(processValue.join("")), addRadix && (processValue += opts.radixPoint), + processValue.charAt(0) === opts.groupSeparator && processValue.substr(1); + } + } + if (opts.isNegative && "blur" === currentResult.event && (opts.isNegative = "0" !== processValue), + processValue = prefix + processValue, processValue += suffix, opts.isNegative && (processValue = opts.negationSymbol.front + processValue, + processValue += opts.negationSymbol.back), processValue = processValue.split(""), + charAtPos !== undefined) if (charAtPos !== opts.radixPoint && charAtPos !== opts.negationSymbol.front && charAtPos !== opts.negationSymbol.back) (caretPos = $.inArray("?", processValue)) > -1 ? processValue[caretPos] = charAtPos : caretPos = currentResult.caret || 0; else if (charAtPos === opts.radixPoint || charAtPos === opts.negationSymbol.front || charAtPos === opts.negationSymbol.back) { + var newCaretPos = $.inArray(charAtPos, processValue); + -1 !== newCaretPos && (caretPos = newCaretPos); + } + opts.numericInput && (caretPos = processValue.length - caretPos - 1, processValue = processValue.reverse()); + var rslt = { + caret: charAtPos === undefined || currentResult.pos !== undefined ? caretPos + (opts.numericInput ? -1 : 1) : caretPos, + buffer: processValue, + refreshFromBuffer: currentResult.dopost || buffer.join("") !== processValue.join("") + }; + return rslt.refreshFromBuffer ? rslt : currentResult; + }, + onBeforeWrite: function(e, buffer, caretPos, opts) { + if (e) switch (e.type) { + case "keydown": + return opts.postValidation(buffer, { + caret: caretPos, + dopost: !0 + }, opts); + + case "blur": + case "checkval": + var unmasked; + if (function(opts) { + opts.parseMinMaxOptions === undefined && (null !== opts.min && (opts.min = opts.min.toString().replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""), + "," === opts.radixPoint && (opts.min = opts.min.replace(opts.radixPoint, ".")), + opts.min = isFinite(opts.min) ? parseFloat(opts.min) : NaN, isNaN(opts.min) && (opts.min = Number.MIN_VALUE)), + null !== opts.max && (opts.max = opts.max.toString().replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""), + "," === opts.radixPoint && (opts.max = opts.max.replace(opts.radixPoint, ".")), + opts.max = isFinite(opts.max) ? parseFloat(opts.max) : NaN, isNaN(opts.max) && (opts.max = Number.MAX_VALUE)), + opts.parseMinMaxOptions = "done"); + }(opts), null !== opts.min || null !== opts.max) { + if (unmasked = opts.onUnMask(buffer.join(""), undefined, $.extend({}, opts, { + unmaskAsNumber: !0 + })), null !== opts.min && unmasked < opts.min) return opts.isNegative = opts.min < 0, + opts.postValidation(opts.min.toString().replace(".", opts.radixPoint).split(""), { + caret: caretPos, + dopost: !0, + placeholder: "0" + }, opts); + if (null !== opts.max && unmasked > opts.max) return opts.isNegative = opts.max < 0, + opts.postValidation(opts.max.toString().replace(".", opts.radixPoint).split(""), { + caret: caretPos, + dopost: !0, + placeholder: "0" + }, opts); + } + return opts.postValidation(buffer, { + caret: caretPos, + placeholder: "0", + event: "blur" + }, opts); + + case "_checkval": + return { + caret: caretPos + }; + } + }, + regex: { + integerPart: function(opts, emptyCheck) { + return emptyCheck ? new RegExp("[" + Inputmask.escapeRegex(opts.negationSymbol.front) + "+]?") : new RegExp("[" + Inputmask.escapeRegex(opts.negationSymbol.front) + "+]?\\d+"); + }, + integerNPart: function(opts) { + return new RegExp("[\\d" + Inputmask.escapeRegex(opts.groupSeparator) + Inputmask.escapeRegex(opts.placeholder.charAt(0)) + "]+"); + } + }, + definitions: { + "~": { + validator: function(chrs, maskset, pos, strict, opts, isSelection) { + var isValid = strict ? new RegExp("[0-9" + Inputmask.escapeRegex(opts.groupSeparator) + "]").test(chrs) : new RegExp("[0-9]").test(chrs); + if (!0 === isValid) { + if (!0 !== opts.numericInput && maskset.validPositions[pos] !== undefined && "~" === maskset.validPositions[pos].match.def && !isSelection) { + var processValue = maskset.buffer.join(""), pvRadixSplit = (processValue = (processValue = processValue.replace(new RegExp("[-" + Inputmask.escapeRegex(opts.negationSymbol.front) + "]", "g"), "")).replace(new RegExp(Inputmask.escapeRegex(opts.negationSymbol.back) + "$"), "")).split(opts.radixPoint); + pvRadixSplit.length > 1 && (pvRadixSplit[1] = pvRadixSplit[1].replace(/0/g, opts.placeholder.charAt(0))), + "0" === pvRadixSplit[0] && (pvRadixSplit[0] = pvRadixSplit[0].replace(/0/g, opts.placeholder.charAt(0))), + processValue = pvRadixSplit[0] + opts.radixPoint + pvRadixSplit[1] || ""; + var bufferTemplate = maskset._buffer.join(""); + for (processValue === opts.radixPoint && (processValue = bufferTemplate); null === processValue.match(Inputmask.escapeRegex(bufferTemplate) + "$"); ) bufferTemplate = bufferTemplate.slice(1); + isValid = (processValue = (processValue = processValue.replace(bufferTemplate, "")).split(""))[pos] === undefined ? { + pos: pos, + remove: pos + } : { + pos: pos + }; + } + } else strict || chrs !== opts.radixPoint || maskset.validPositions[pos - 1] !== undefined || (maskset.buffer[pos] = "0", + isValid = { + pos: pos + 1 + }); + return isValid; + }, + cardinality: 1 + }, + "+": { + validator: function(chrs, maskset, pos, strict, opts) { + return opts.allowMinus && ("-" === chrs || chrs === opts.negationSymbol.front); + }, + cardinality: 1, + placeholder: "" + }, + "-": { + validator: function(chrs, maskset, pos, strict, opts) { + return opts.allowMinus && chrs === opts.negationSymbol.back; + }, + cardinality: 1, + placeholder: "" + }, + ":": { + validator: function(chrs, maskset, pos, strict, opts) { + var radix = "[" + Inputmask.escapeRegex(opts.radixPoint) + "]", isValid = new RegExp(radix).test(chrs); + return isValid && maskset.validPositions[pos] && maskset.validPositions[pos].match.placeholder === opts.radixPoint && (isValid = { + caret: pos + 1 + }), isValid; + }, + cardinality: 1, + placeholder: function(opts) { + return opts.radixPoint; + } + } + }, + onUnMask: function(maskedValue, unmaskedValue, opts) { + if ("" === unmaskedValue && !0 === opts.nullable) return unmaskedValue; + var processValue = maskedValue.replace(opts.prefix, ""); + return processValue = processValue.replace(opts.suffix, ""), processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""), + "" !== opts.placeholder.charAt(0) && (processValue = processValue.replace(new RegExp(opts.placeholder.charAt(0), "g"), "0")), + opts.unmaskAsNumber ? ("" !== opts.radixPoint && -1 !== processValue.indexOf(opts.radixPoint) && (processValue = processValue.replace(Inputmask.escapeRegex.call(this, opts.radixPoint), ".")), + processValue = processValue.replace(new RegExp("^" + Inputmask.escapeRegex(opts.negationSymbol.front)), "-"), + processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.negationSymbol.back) + "$"), ""), + Number(processValue)) : processValue; + }, + isComplete: function(buffer, opts) { + var maskedValue = buffer.join(""); + if (buffer.slice().join("") !== maskedValue) return !1; + var processValue = maskedValue.replace(opts.prefix, ""); + return processValue = processValue.replace(opts.suffix, ""), processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""), + "," === opts.radixPoint && (processValue = processValue.replace(Inputmask.escapeRegex(opts.radixPoint), ".")), + isFinite(processValue); + }, + onBeforeMask: function(initialValue, opts) { + if (opts.isNegative = undefined, initialValue = initialValue.toString().charAt(initialValue.length - 1) === opts.radixPoint ? initialValue.toString().substr(0, initialValue.length - 1) : initialValue.toString(), + "" !== opts.radixPoint && isFinite(initialValue)) { + var vs = initialValue.split("."), groupSize = "" !== opts.groupSeparator ? parseInt(opts.groupSize) : 0; + 2 === vs.length && (vs[0].length > groupSize || vs[1].length > groupSize || vs[0].length <= groupSize && vs[1].length < groupSize) && (initialValue = initialValue.replace(".", opts.radixPoint)); + } + var kommaMatches = initialValue.match(/,/g), dotMatches = initialValue.match(/\./g); + if (initialValue = dotMatches && kommaMatches ? dotMatches.length > kommaMatches.length ? (initialValue = initialValue.replace(/\./g, "")).replace(",", opts.radixPoint) : kommaMatches.length > dotMatches.length ? (initialValue = initialValue.replace(/,/g, "")).replace(".", opts.radixPoint) : initialValue.indexOf(".") < initialValue.indexOf(",") ? initialValue.replace(/\./g, "") : initialValue.replace(/,/g, "") : initialValue.replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""), + 0 === opts.digits && (-1 !== initialValue.indexOf(".") ? initialValue = initialValue.substring(0, initialValue.indexOf(".")) : -1 !== initialValue.indexOf(",") && (initialValue = initialValue.substring(0, initialValue.indexOf(",")))), + "" !== opts.radixPoint && isFinite(opts.digits) && -1 !== initialValue.indexOf(opts.radixPoint)) { + var decPart = initialValue.split(opts.radixPoint)[1].match(new RegExp("\\d*"))[0]; + if (parseInt(opts.digits) < decPart.toString().length) { + var digitsFactor = Math.pow(10, parseInt(opts.digits)); + initialValue = initialValue.replace(Inputmask.escapeRegex(opts.radixPoint), "."), + initialValue = (initialValue = Math.round(parseFloat(initialValue) * digitsFactor) / digitsFactor).toString().replace(".", opts.radixPoint); + } + } + return initialValue; + }, + canClearPosition: function(maskset, position, lvp, strict, opts) { + var vp = maskset.validPositions[position], canClear = vp.input !== opts.radixPoint || null !== maskset.validPositions[position].match.fn && !1 === opts.decimalProtect || vp.input === opts.radixPoint && maskset.validPositions[position + 1] && null === maskset.validPositions[position + 1].match.fn || isFinite(vp.input) || position === lvp || vp.input === opts.groupSeparator || vp.input === opts.negationSymbol.front || vp.input === opts.negationSymbol.back; + return !canClear || "+" !== vp.match.nativeDef && "-" !== vp.match.nativeDef || (opts.isNegative = !1), + canClear; + }, + onKeyDown: function(e, buffer, caretPos, opts) { + var $input = $(this); + if (e.ctrlKey) switch (e.keyCode) { + case Inputmask.keyCode.UP: + $input.val(parseFloat(this.inputmask.unmaskedvalue()) + parseInt(opts.step)), $input.trigger("setvalue"); + break; + + case Inputmask.keyCode.DOWN: + $input.val(parseFloat(this.inputmask.unmaskedvalue()) - parseInt(opts.step)), $input.trigger("setvalue"); + } + } + }, + currency: { + prefix: "$ ", + groupSeparator: ",", + alias: "numeric", + placeholder: "0", + autoGroup: !0, + digits: 2, + digitsOptional: !1, + clearMaskOnLostFocus: !1 + }, + decimal: { + alias: "numeric" + }, + integer: { + alias: "numeric", + digits: 0, + radixPoint: "" + }, + percentage: { + alias: "numeric", + digits: 2, + digitsOptional: !0, + radixPoint: ".", + placeholder: "0", + autoGroup: !1, + min: 0, + max: 100, + suffix: " %", + allowMinus: !1 + } + }), Inputmask; +});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/inputmask.phone.extensions.js b/public/bower_components/inputmask/dist/inputmask/inputmask.phone.extensions.js new file mode 100644 index 0000000..b83fb25 --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/inputmask.phone.extensions.js @@ -0,0 +1,59 @@ +/*! +* inputmask.phone.extensions.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(factory) { + "function" == typeof define && define.amd ? define([ "./dependencyLibs/inputmask.dependencyLib", "./inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./dependencyLibs/inputmask.dependencyLib"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask); +}(function($, Inputmask) { + function maskSort(a, b) { + var maska = (a.mask || a).replace(/#/g, "9").replace(/\)/, "9").replace(/[+()#-]/g, ""), maskb = (b.mask || b).replace(/#/g, "9").replace(/\)/, "9").replace(/[+()#-]/g, ""), maskas = (a.mask || a).split("#")[0], maskbs = (b.mask || b).split("#")[0]; + return 0 === maskbs.indexOf(maskas) ? -1 : 0 === maskas.indexOf(maskbs) ? 1 : maska.localeCompare(maskb); + } + var analyseMaskBase = Inputmask.prototype.analyseMask; + return Inputmask.prototype.analyseMask = function(mask, regexMask, opts) { + function reduceVariations(masks, previousVariation, previousmaskGroup) { + previousVariation = previousVariation || "", previousmaskGroup = previousmaskGroup || maskGroups, + "" !== previousVariation && (previousmaskGroup[previousVariation] = {}); + for (var variation = "", maskGroup = previousmaskGroup[previousVariation] || previousmaskGroup, i = masks.length - 1; i >= 0; i--) maskGroup[variation = (mask = masks[i].mask || masks[i]).substr(0, 1)] = maskGroup[variation] || [], + maskGroup[variation].unshift(mask.substr(1)), masks.splice(i, 1); + for (var ndx in maskGroup) maskGroup[ndx].length > 500 && reduceVariations(maskGroup[ndx].slice(), ndx, maskGroup); + } + function rebuild(maskGroup) { + var mask = "", submasks = []; + for (var ndx in maskGroup) $.isArray(maskGroup[ndx]) ? 1 === maskGroup[ndx].length ? submasks.push(ndx + maskGroup[ndx]) : submasks.push(ndx + opts.groupmarker.start + maskGroup[ndx].join(opts.groupmarker.end + opts.alternatormarker + opts.groupmarker.start) + opts.groupmarker.end) : submasks.push(ndx + rebuild(maskGroup[ndx])); + return 1 === submasks.length ? mask += submasks[0] : mask += opts.groupmarker.start + submasks.join(opts.groupmarker.end + opts.alternatormarker + opts.groupmarker.start) + opts.groupmarker.end, + mask; + } + var maskGroups = {}; + return opts.phoneCodes && (opts.phoneCodes && opts.phoneCodes.length > 1e3 && (reduceVariations((mask = mask.substr(1, mask.length - 2)).split(opts.groupmarker.end + opts.alternatormarker + opts.groupmarker.start)), + mask = rebuild(maskGroups)), mask = mask.replace(/9/g, "\\9")), analyseMaskBase.call(this, mask, regexMask, opts); + }, Inputmask.extendAliases({ + abstractphone: { + groupmarker: { + start: "<", + end: ">" + }, + countrycode: "", + phoneCodes: [], + mask: function(opts) { + return opts.definitions = { + "#": Inputmask.prototype.definitions[9] + }, opts.phoneCodes.sort(maskSort); + }, + keepStatic: !0, + onBeforeMask: function(value, opts) { + var processedValue = value.replace(/^0{1,2}/, "").replace(/[\s]/g, ""); + return (processedValue.indexOf(opts.countrycode) > 1 || -1 === processedValue.indexOf(opts.countrycode)) && (processedValue = "+" + opts.countrycode + processedValue), + processedValue; + }, + onUnMask: function(maskedValue, unmaskedValue, opts) { + return maskedValue.replace(/[()#-]/g, ""); + }, + inputmode: "tel" + } + }), Inputmask; +});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/inputmask.regex.extensions.js b/public/bower_components/inputmask/dist/inputmask/inputmask.regex.extensions.js new file mode 100644 index 0000000..86a3e77 --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/inputmask.regex.extensions.js @@ -0,0 +1,110 @@ +/*! +* inputmask.regex.extensions.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(factory) { + "function" == typeof define && define.amd ? define([ "./dependencyLibs/inputmask.dependencyLib", "./inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./dependencyLibs/inputmask.dependencyLib"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask); +}(function($, Inputmask) { + return Inputmask.extendAliases({ + Regex: { + mask: "r", + greedy: !1, + repeat: "*", + regex: null, + regexTokens: null, + tokenizer: /\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g, + quantifierFilter: /[0-9]+[^,]/, + isComplete: function(buffer, opts) { + return new RegExp(opts.regex, opts.casing ? "i" : "").test(buffer.join("")); + }, + definitions: { + r: { + validator: function(chrs, maskset, pos, strict, opts) { + function RegexToken(isGroup, isQuantifier) { + this.matches = [], this.isGroup = isGroup || !1, this.isQuantifier = isQuantifier || !1, + this.quantifier = { + min: 1, + max: 1 + }, this.repeaterPart = void 0; + } + function validateRegexToken(token, fromGroup) { + var isvalid = !1; + fromGroup && (regexPart += "(", openGroupCount++); + for (var mndx = 0; mndx < token.matches.length; mndx++) { + var matchToken = token.matches[mndx]; + if (!0 === matchToken.isGroup) isvalid = validateRegexToken(matchToken, !0); else if (!0 === matchToken.isQuantifier) { + var crrntndx = $.inArray(matchToken, token.matches), matchGroup = token.matches[crrntndx - 1], regexPartBak = regexPart; + if (isNaN(matchToken.quantifier.max)) { + for (;matchToken.repeaterPart && matchToken.repeaterPart !== regexPart && matchToken.repeaterPart.length > regexPart.length && !(isvalid = validateRegexToken(matchGroup, !0)); ) ; + (isvalid = isvalid || validateRegexToken(matchGroup, !0)) && (matchToken.repeaterPart = regexPart), + regexPart = regexPartBak + matchToken.quantifier.max; + } else { + for (var i = 0, qm = matchToken.quantifier.max - 1; i < qm && !(isvalid = validateRegexToken(matchGroup, !0)); i++) ; + regexPart = regexPartBak + "{" + matchToken.quantifier.min + "," + matchToken.quantifier.max + "}"; + } + } else if (void 0 !== matchToken.matches) for (var k = 0; k < matchToken.length && !(isvalid = validateRegexToken(matchToken[k], fromGroup)); k++) ; else { + var testExp; + if ("[" == matchToken.charAt(0)) { + testExp = regexPart, testExp += matchToken; + for (j = 0; j < openGroupCount; j++) testExp += ")"; + isvalid = (exp = new RegExp("^(" + testExp + ")$", opts.casing ? "i" : "")).test(bufferStr); + } else for (var l = 0, tl = matchToken.length; l < tl; l++) if ("\\" !== matchToken.charAt(l)) { + testExp = regexPart, testExp = (testExp += matchToken.substr(0, l + 1)).replace(/\|$/, ""); + for (var j = 0; j < openGroupCount; j++) testExp += ")"; + var exp = new RegExp("^(" + testExp + ")$", opts.casing ? "i" : ""); + if (isvalid = exp.test(bufferStr)) break; + } + regexPart += matchToken; + } + if (isvalid) break; + } + return fromGroup && (regexPart += ")", openGroupCount--), isvalid; + } + var bufferStr, groupToken, cbuffer = maskset.buffer.slice(), regexPart = "", isValid = !1, openGroupCount = 0; + null === opts.regexTokens && function() { + var match, m, currentToken = new RegexToken(), opengroups = []; + for (opts.regexTokens = []; match = opts.tokenizer.exec(opts.regex); ) switch ((m = match[0]).charAt(0)) { + case "(": + opengroups.push(new RegexToken(!0)); + break; + + case ")": + groupToken = opengroups.pop(), opengroups.length > 0 ? opengroups[opengroups.length - 1].matches.push(groupToken) : currentToken.matches.push(groupToken); + break; + + case "{": + case "+": + case "*": + var quantifierToken = new RegexToken(!1, !0), mq = (m = m.replace(/[{}]/g, "")).split(","), mq0 = isNaN(mq[0]) ? mq[0] : parseInt(mq[0]), mq1 = 1 === mq.length ? mq0 : isNaN(mq[1]) ? mq[1] : parseInt(mq[1]); + if (quantifierToken.quantifier = { + min: mq0, + max: mq1 + }, opengroups.length > 0) { + var matches = opengroups[opengroups.length - 1].matches; + (match = matches.pop()).isGroup || ((groupToken = new RegexToken(!0)).matches.push(match), + match = groupToken), matches.push(match), matches.push(quantifierToken); + } else (match = currentToken.matches.pop()).isGroup || ((groupToken = new RegexToken(!0)).matches.push(match), + match = groupToken), currentToken.matches.push(match), currentToken.matches.push(quantifierToken); + break; + + default: + opengroups.length > 0 ? opengroups[opengroups.length - 1].matches.push(m) : currentToken.matches.push(m); + } + currentToken.matches.length > 0 && opts.regexTokens.push(currentToken); + }(), cbuffer.splice(pos, 0, chrs), bufferStr = cbuffer.join(""); + for (var i = 0; i < opts.regexTokens.length; i++) { + var regexToken = opts.regexTokens[i]; + if (isValid = validateRegexToken(regexToken, regexToken.isGroup)) break; + } + return isValid; + }, + cardinality: 1 + } + } + } + }), Inputmask; +});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/jquery.inputmask.js b/public/bower_components/inputmask/dist/inputmask/jquery.inputmask.js new file mode 100644 index 0000000..e264168 --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/jquery.inputmask.js @@ -0,0 +1,62 @@ +/*! +* jquery.inputmask.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(factory) { + "function" == typeof define && define.amd ? define([ "jquery", "./inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery"), require("./inputmask")) : factory(jQuery, window.Inputmask); +}(function($, Inputmask) { + return void 0 === $.fn.inputmask && ($.fn.inputmask = function(fn, options) { + var nptmask, input = this[0]; + if (void 0 === options && (options = {}), "string" == typeof fn) switch (fn) { + case "unmaskedvalue": + return input && input.inputmask ? input.inputmask.unmaskedvalue() : $(input).val(); + + case "remove": + return this.each(function() { + this.inputmask && this.inputmask.remove(); + }); + + case "getemptymask": + return input && input.inputmask ? input.inputmask.getemptymask() : ""; + + case "hasMaskedValue": + return !(!input || !input.inputmask) && input.inputmask.hasMaskedValue(); + + case "isComplete": + return !input || !input.inputmask || input.inputmask.isComplete(); + + case "getmetadata": + return input && input.inputmask ? input.inputmask.getmetadata() : void 0; + + case "setvalue": + $(input).val(options), input && void 0 === input.inputmask && $(input).triggerHandler("setvalue"); + break; + + case "option": + if ("string" != typeof options) return this.each(function() { + if (void 0 !== this.inputmask) return this.inputmask.option(options); + }); + if (input && void 0 !== input.inputmask) return input.inputmask.option(options); + break; + + default: + return options.alias = fn, nptmask = new Inputmask(options), this.each(function() { + nptmask.mask(this); + }); + } else { + if ("object" == typeof fn) return nptmask = new Inputmask(fn), void 0 === fn.mask && void 0 === fn.alias ? this.each(function() { + if (void 0 !== this.inputmask) return this.inputmask.option(fn); + nptmask.mask(this); + }) : this.each(function() { + nptmask.mask(this); + }); + if (void 0 === fn) return this.each(function() { + (nptmask = new Inputmask(options)).mask(this); + }); + } + }), $.fn.inputmask; +});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/phone-codes/phone-be.js b/public/bower_components/inputmask/dist/inputmask/phone-codes/phone-be.js new file mode 100644 index 0000000..61dbdb1 --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/phone-codes/phone-be.js @@ -0,0 +1,244 @@ +/*! +* phone-codes/phone-be.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(factory) { + "function" == typeof define && define.amd ? define([ "../inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("../inputmask")) : factory(window.Inputmask); +}(function(Inputmask) { + return Inputmask.extendAliases({ + phonebe: { + alias: "abstractphone", + countrycode: "32", + phoneCodes: [ { + mask: "+32(53)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Aalst (Alost)" + }, { + mask: "+32(3)###-##-##", + cc: "BE", + cd: "Belgium", + city: "Antwerpen (Anvers)" + }, { + mask: "+32(63)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Arlon" + }, { + mask: "+32(67)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Ath" + }, { + mask: "+32(50)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Brugge (Bruges)" + }, { + mask: "+32(2)###-##-##", + cc: "BE", + cd: "Belgium", + city: "Brussel/Bruxelles (Brussels)" + }, { + mask: "+32(71)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Charleroi" + }, { + mask: "+32(60)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Chimay" + }, { + mask: "+32(83)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Ciney" + }, { + mask: "+32(52)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Dendermonde" + }, { + mask: "+32(13)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Diest" + }, { + mask: "+32(82)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Dinant" + }, { + mask: "+32(86)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Durbuy" + }, { + mask: "+32(89)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Genk" + }, { + mask: "+32(9)###-##-##", + cc: "BE", + cd: "Belgium", + city: "Gent (Gand)" + }, { + mask: "+32(11)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Hasselt" + }, { + mask: "+32(14)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Herentals" + }, { + mask: "+32(85)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Huy (Hoei)" + }, { + mask: "+32(64)##-##-##", + cc: "BE", + cd: "Belgium", + city: "La Louvière" + }, { + mask: "+32(16)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Leuven (Louvain)" + }, { + mask: "+32(61)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Libramont" + }, { + mask: "+32(4)###-##-##", + cc: "BE", + cd: "Belgium", + city: "Liège (Luik)" + }, { + mask: "+32(15)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Mechelen (Malines)" + }, { + mask: "+32(46#)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Mobile Phones" + }, { + mask: "+32(47#)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Mobile Phones" + }, { + mask: "+32(48#)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Mobile Phones" + }, { + mask: "+32(49#)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Mobile Phones" + }, { + mask: "+32(461)8#-##-##", + cc: "BE", + cd: "Belgium", + city: "GSM-R (NMBS)" + }, { + mask: "+32(65)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Mons (Bergen)" + }, { + mask: "+32(81)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Namur (Namen)" + }, { + mask: "+32(58)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Nieuwpoort (Nieuport)" + }, { + mask: "+32(54)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Ninove" + }, { + mask: "+32(67)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Nivelles (Nijvel)" + }, { + mask: "+32(59)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Oostende (Ostende)" + }, { + mask: "+32(51)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Roeselare (Roulers)" + }, { + mask: "+32(55)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Ronse" + }, { + mask: "+32(80)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Stavelot" + }, { + mask: "+32(12)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Tongeren (Tongres)" + }, { + mask: "+32(69)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Tounai" + }, { + mask: "+32(14)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Turnhout" + }, { + mask: "+32(87)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Verviers" + }, { + mask: "+32(58)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Veurne" + }, { + mask: "+32(19)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Wareme" + }, { + mask: "+32(10)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Wavre (Waver)" + }, { + mask: "+32(50)##-##-##", + cc: "BE", + cd: "Belgium", + city: "Zeebrugge" + } ] + } + }), Inputmask; +});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/phone-codes/phone-nl.js b/public/bower_components/inputmask/dist/inputmask/phone-codes/phone-nl.js new file mode 100644 index 0000000..30ae5a3 --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/phone-codes/phone-nl.js @@ -0,0 +1,924 @@ +/*! +* phone-codes/phone-nl.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(factory) { + "function" == typeof define && define.amd ? define([ "../inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("../inputmask")) : factory(window.Inputmask); +}(function(Inputmask) { + return Inputmask.extendAliases({ + phonenl: { + alias: "abstractphone", + countrycode: "31", + phoneCodes: [ { + mask: "+31-10-###-####", + cc: "NL", + cd: "Netherlands", + city: "Rotterdam" + }, { + mask: "+31-111-###-###", + cc: "NL", + cd: "Netherlands", + city: "Zierikzee" + }, { + mask: "+31-113-###-###", + cc: "NL", + cd: "Netherlands", + city: "Goes" + }, { + mask: "+31-114-###-###", + cc: "NL", + cd: "Netherlands", + city: "Hulst" + }, { + mask: "+31-115-###-###", + cc: "NL", + cd: "Netherlands", + city: "Terneuzen" + }, { + mask: "+31-117-###-###", + cc: "NL", + cd: "Netherlands", + city: "Oostburg" + }, { + mask: "+31-118-###-###", + cc: "NL", + cd: "Netherlands", + city: "Middelburg" + }, { + mask: "+31-13-###-####", + cc: "NL", + cd: "Netherlands", + city: "Tilburg" + }, { + mask: "+31-14-###-####", + cc: "NL", + cd: "Netherlands", + city: "Intern gebruik door KPN" + }, { + mask: "+31-15-###-####", + cc: "NL", + cd: "Netherlands", + city: "Delft" + }, { + mask: "+31-161-###-###", + cc: "NL", + cd: "Netherlands", + city: "Rijen" + }, { + mask: "+31-162-###-###", + cc: "NL", + cd: "Netherlands", + city: "Oosterhout" + }, { + mask: "+31-164-###-###", + cc: "NL", + cd: "Netherlands", + city: "Bergen op Zoom" + }, { + mask: "+31-165-###-###", + cc: "NL", + cd: "Netherlands", + city: "Roosendaal" + }, { + mask: "+31-166-###-###", + cc: "NL", + cd: "Netherlands", + city: "Tholen" + }, { + mask: "+31-167-###-###", + cc: "NL", + cd: "Netherlands", + city: "Steenbergen" + }, { + mask: "+31-168-###-###", + cc: "NL", + cd: "Netherlands", + city: "Zevenbergen" + }, { + mask: "+31-172-###-###", + cc: "NL", + cd: "Netherlands", + city: "Alphen aan den Rijn" + }, { + mask: "+31-174-###-###", + cc: "NL", + cd: "Netherlands", + city: "Naaldwijk" + }, { + mask: "+31-180-###-###", + cc: "NL", + cd: "Netherlands", + city: "Krimpen aan den IJsel" + }, { + mask: "+31-181-###-###", + cc: "NL", + cd: "Netherlands", + city: "Spijkenisse" + }, { + mask: "+31-182-###-###", + cc: "NL", + cd: "Netherlands", + city: "Gouda" + }, { + mask: "+31-183-###-###", + cc: "NL", + cd: "Netherlands", + city: "Gorinchem" + }, { + mask: "+31-184-###-###", + cc: "NL", + cd: "Netherlands", + city: "Sliedrecht" + }, { + mask: "+31-186-###-###", + cc: "NL", + cd: "Netherlands", + city: "Oud-Beijerland" + }, { + mask: "+31-187-###-###", + cc: "NL", + cd: "Netherlands", + city: "Middelharnis" + }, { + mask: "+31-20-###-####", + cc: "NL", + cd: "Netherlands", + city: "Amsterdam" + }, { + mask: "+31-222-###-###", + cc: "NL", + cd: "Netherlands", + city: "Den Burg" + }, { + mask: "+31-223-###-###", + cc: "NL", + cd: "Netherlands", + city: "Den Helder" + }, { + mask: "+31-224-###-###", + cc: "NL", + cd: "Netherlands", + city: "Schagen" + }, { + mask: "+31-226-###-###", + cc: "NL", + cd: "Netherlands", + city: "Noord-Scharwoude" + }, { + mask: "+31-227-###-###", + cc: "NL", + cd: "Netherlands", + city: "Middenmeer" + }, { + mask: "+31-228-###-###", + cc: "NL", + cd: "Netherlands", + city: "Enkhuizen" + }, { + mask: "+31-229-###-###", + cc: "NL", + cd: "Netherlands", + city: "Hoorn" + }, { + mask: "+31-23-###-####", + cc: "NL", + cd: "Netherlands", + city: "Haarlem" + }, { + mask: "+31-24-###-####", + cc: "NL", + cd: "Netherlands", + city: "Nijmegen" + }, { + mask: "+31-251-###-###", + cc: "NL", + cd: "Netherlands", + city: "Beverwijk" + }, { + mask: "+31-252-###-###", + cc: "NL", + cd: "Netherlands", + city: "Hillegom" + }, { + mask: "+31-255-###-###", + cc: "NL", + cd: "Netherlands", + city: "IJmuiden" + }, { + mask: "+31-26-###-####", + cc: "NL", + cd: "Netherlands", + city: "Arnhem" + }, { + mask: "+31-294-###-###", + cc: "NL", + cd: "Netherlands", + city: "Weesp" + }, { + mask: "+31-297-###-###", + cc: "NL", + cd: "Netherlands", + city: "Uithoorn" + }, { + mask: "+31-299-###-###", + cc: "NL", + cd: "Netherlands", + city: "Purmerend" + }, { + mask: "+31-30-###-####", + cc: "NL", + cd: "Netherlands", + city: "Utrecht" + }, { + mask: "+31-313-###-###", + cc: "NL", + cd: "Netherlands", + city: "Dieren" + }, { + mask: "+31-314-###-###", + cc: "NL", + cd: "Netherlands", + city: "Doetinchem" + }, { + mask: "+31-315-###-###", + cc: "NL", + cd: "Netherlands", + city: "Terborg" + }, { + mask: "+31-316-###-###", + cc: "NL", + cd: "Netherlands", + city: "Zevenaar" + }, { + mask: "+31-317-###-###", + cc: "NL", + cd: "Netherlands", + city: "Wageningen" + }, { + mask: "+31-318-###-###", + cc: "NL", + cd: "Netherlands", + city: "Ede" + }, { + mask: "+31-320-###-###", + cc: "NL", + cd: "Netherlands", + city: "Lelystad" + }, { + mask: "+31-321-###-###", + cc: "NL", + cd: "Netherlands", + city: "Dronten" + }, { + mask: "+31-33-###-####", + cc: "NL", + cd: "Netherlands", + city: "Amersfoort" + }, { + mask: "+31-341-###-###", + cc: "NL", + cd: "Netherlands", + city: "Harderwijk" + }, { + mask: "+31-342-###-###", + cc: "NL", + cd: "Netherlands", + city: "Barneveld" + }, { + mask: "+31-343-###-###", + cc: "NL", + cd: "Netherlands", + city: "Doorn" + }, { + mask: "+31-344-###-###", + cc: "NL", + cd: "Netherlands", + city: "Tiel" + }, { + mask: "+31-294-###-###", + cc: "NL", + cd: "Netherlands", + city: "Weesp" + }, { + mask: "+31-297-###-###", + cc: "NL", + cd: "Netherlands", + city: "Uithoorn" + }, { + mask: "+31-299-###-###", + cc: "NL", + cd: "Netherlands", + city: "Purmerend" + }, { + mask: "+31-30-###-####", + cc: "NL", + cd: "Netherlands", + city: "Utrecht" + }, { + mask: "+31-313-###-###", + cc: "NL", + cd: "Netherlands", + city: "Dieren" + }, { + mask: "+31-314-###-###", + cc: "NL", + cd: "Netherlands", + city: "Doetinchem" + }, { + mask: "+31-315-###-###", + cc: "NL", + cd: "Netherlands", + city: "Terborg" + }, { + mask: "+31-316-###-###", + cc: "NL", + cd: "Netherlands", + city: "Zevenaar" + }, { + mask: "+31-317-###-###", + cc: "NL", + cd: "Netherlands", + city: "Wageningen" + }, { + mask: "+31-318-###-###", + cc: "NL", + cd: "Netherlands", + city: "Ede" + }, { + mask: "+31-320-###-###", + cc: "NL", + cd: "Netherlands", + city: "Lelystad" + }, { + mask: "+31-321-###-###", + cc: "NL", + cd: "Netherlands", + city: "Dronten" + }, { + mask: "+31-33-###-####", + cc: "NL", + cd: "Netherlands", + city: "Amersfoort" + }, { + mask: "+31-341-###-###", + cc: "NL", + cd: "Netherlands", + city: "Harderwijk" + }, { + mask: "+31-342-###-###", + cc: "NL", + cd: "Netherlands", + city: "Barneveld" + }, { + mask: "+31-343-###-###", + cc: "NL", + cd: "Netherlands", + city: "Doorn" + }, { + mask: "+31-344-###-###", + cc: "NL", + cd: "Netherlands", + city: "Tiel" + }, { + mask: "+31-345-###-###", + cc: "NL", + cd: "Netherlands", + city: "Culemborg" + }, { + mask: "+31-346-###-###", + cc: "NL", + cd: "Netherlands", + city: "Maarssen" + }, { + mask: "+31-347-###-###", + cc: "NL", + cd: "Netherlands", + city: "Vianen" + }, { + mask: "+31-348-###-###", + cc: "NL", + cd: "Netherlands", + city: "Woerden" + }, { + mask: "+31-35-###-####", + cc: "NL", + cd: "Netherlands", + city: "Hilversum" + }, { + mask: "+31-36-###-####", + cc: "NL", + cd: "Netherlands", + city: "Almere" + }, { + mask: "+31-38-###-####", + cc: "NL", + cd: "Netherlands", + city: "Zwolle" + }, { + mask: "+31-40-###-####", + cc: "NL", + cd: "Netherlands", + city: "Eindhoven" + }, { + mask: "+31-411-###-###", + cc: "NL", + cd: "Netherlands", + city: "Boxtel" + }, { + mask: "+31-412-###-###", + cc: "NL", + cd: "Netherlands", + city: "Oss" + }, { + mask: "+31-413-###-###", + cc: "NL", + cd: "Netherlands", + city: "Veghel" + }, { + mask: "+31-416-###-###", + cc: "NL", + cd: "Netherlands", + city: "Waalwijk" + }, { + mask: "+31-418-###-###", + cc: "NL", + cd: "Netherlands", + city: "Zaltbommel" + }, { + mask: "+31-43-###-####", + cc: "NL", + cd: "Netherlands", + city: "Maastricht" + }, { + mask: "+31-45-###-####", + cc: "NL", + cd: "Netherlands", + city: "Heerlen" + }, { + mask: "+31-46-###-####", + cc: "NL", + cd: "Netherlands", + city: "Sittard" + }, { + mask: "+31-475-###-###", + cc: "NL", + cd: "Netherlands", + city: "Roermond" + }, { + mask: "+31-478-###-###", + cc: "NL", + cd: "Netherlands", + city: "Venray" + }, { + mask: "+31-481-###-###", + cc: "NL", + cd: "Netherlands", + city: "Bemmel" + }, { + mask: "+31-485-###-###", + cc: "NL", + cd: "Netherlands", + city: "Cuijk" + }, { + mask: "+31-486-###-###", + cc: "NL", + cd: "Netherlands", + city: "Grave" + }, { + mask: "+31-487-###-###", + cc: "NL", + cd: "Netherlands", + city: "Druten" + }, { + mask: "+31-488-###-###", + cc: "NL", + cd: "Netherlands", + city: "Zetten" + }, { + mask: "+31-492-###-###", + cc: "NL", + cd: "Netherlands", + city: "Helmond" + }, { + mask: "+31-493-###-###", + cc: "NL", + cd: "Netherlands", + city: "Deurne" + }, { + mask: "+31-495-###-###", + cc: "NL", + cd: "Netherlands", + city: "Weert" + }, { + mask: "+31-497-###-###", + cc: "NL", + cd: "Netherlands", + city: "Eersel" + }, { + mask: "+31-499-###-###", + cc: "NL", + cd: "Netherlands", + city: "Best" + }, { + mask: "+31-50-###-####", + cc: "NL", + cd: "Netherlands", + city: "Groningen" + }, { + mask: "+31-511-###-###", + cc: "NL", + cd: "Netherlands", + city: "Feanw�lden" + }, { + mask: "+31-512-###-###", + cc: "NL", + cd: "Netherlands", + city: "Drachten" + }, { + mask: "+31-513-###-###", + cc: "NL", + cd: "Netherlands", + city: "Heerenveen" + }, { + mask: "+31-514-###-###", + cc: "NL", + cd: "Netherlands", + city: "Balk" + }, { + mask: "+31-515-###-###", + cc: "NL", + cd: "Netherlands", + city: "Sneek" + }, { + mask: "+31-516-###-###", + cc: "NL", + cd: "Netherlands", + city: "Oosterwolde" + }, { + mask: "+31-517-###-###", + cc: "NL", + cd: "Netherlands", + city: "Franeker" + }, { + mask: "+31-518-###-###", + cc: "NL", + cd: "Netherlands", + city: "St Annaparochie" + }, { + mask: "+31-519-###-###", + cc: "NL", + cd: "Netherlands", + city: "Dokkum" + }, { + mask: "+31-521-###-###", + cc: "NL", + cd: "Netherlands", + city: "Steenwijk" + }, { + mask: "+31-522-###-###", + cc: "NL", + cd: "Netherlands", + city: "Meppel" + }, { + mask: "+31-523-###-###", + cc: "NL", + cd: "Netherlands", + city: "Dedemsvaart" + }, { + mask: "+31-524-###-###", + cc: "NL", + cd: "Netherlands", + city: "Coevorden" + }, { + mask: "+31-525-###-###", + cc: "NL", + cd: "Netherlands", + city: "Elburg" + }, { + mask: "+31-527-###-###", + cc: "NL", + cd: "Netherlands", + city: "Emmeloord" + }, { + mask: "+31-528-###-###", + cc: "NL", + cd: "Netherlands", + city: "Hoogeveen" + }, { + mask: "+31-529-###-###", + cc: "NL", + cd: "Netherlands", + city: "Ommen" + }, { + mask: "+31-53-###-####", + cc: "NL", + cd: "Netherlands", + city: "Enschede" + }, { + mask: "+31-541-###-###", + cc: "NL", + cd: "Netherlands", + city: "Oldenzaal" + }, { + mask: "+31-543-###-###", + cc: "NL", + cd: "Netherlands", + city: "Winterswijk" + }, { + mask: "+31-544-###-###", + cc: "NL", + cd: "Netherlands", + city: "Groenlo" + }, { + mask: "+31-545-###-###", + cc: "NL", + cd: "Netherlands", + city: "Neede" + }, { + mask: "+31-546-###-###", + cc: "NL", + cd: "Netherlands", + city: "Almelo" + }, { + mask: "+31-547-###-###", + cc: "NL", + cd: "Netherlands", + city: "Goor" + }, { + mask: "+31-548-###-###", + cc: "NL", + cd: "Netherlands", + city: "Rijssen" + }, { + mask: "+31-55-###-####", + cc: "NL", + cd: "Netherlands", + city: "Apeldoorn" + }, { + mask: "+31-561-###-###", + cc: "NL", + cd: "Netherlands", + city: "Wolvega" + }, { + mask: "+31-562-###-###", + cc: "NL", + cd: "Netherlands", + city: "West-Terschelling" + }, { + mask: "+31-566-###-###", + cc: "NL", + cd: "Netherlands", + city: "Jirnsum" + }, { + mask: "+31-570-###-###", + cc: "NL", + cd: "Netherlands", + city: "Deventer" + }, { + mask: "+31-571-###-###", + cc: "NL", + cd: "Netherlands", + city: "Twello" + }, { + mask: "+31-572-###-###", + cc: "NL", + cd: "Netherlands", + city: "Raalte" + }, { + mask: "+31-573-###-###", + cc: "NL", + cd: "Netherlands", + city: "Lochem" + }, { + mask: "+31-575-###-###", + cc: "NL", + cd: "Netherlands", + city: "Zutphen" + }, { + mask: "+31-577-###-###", + cc: "NL", + cd: "Netherlands", + city: "Uddel" + }, { + mask: "+31-578-###-###", + cc: "NL", + cd: "Netherlands", + city: "Epe" + }, { + mask: "+31-58-###-####", + cc: "NL", + cd: "Netherlands", + city: "Leeuwarden" + }, { + mask: "+31-591-###-###", + cc: "NL", + cd: "Netherlands", + city: "Emmen" + }, { + mask: "+31-592-###-###", + cc: "NL", + cd: "Netherlands", + city: "Assen" + }, { + mask: "+31-593-###-###", + cc: "NL", + cd: "Netherlands", + city: "Beilen" + }, { + mask: "+31-594-###-###", + cc: "NL", + cd: "Netherlands", + city: "Zuidhorn" + }, { + mask: "+31-595-###-###", + cc: "NL", + cd: "Netherlands", + city: "Warffum" + }, { + mask: "+31-596-###-###", + cc: "NL", + cd: "Netherlands", + city: "Appingedam" + }, { + mask: "+31-597-###-###", + cc: "NL", + cd: "Netherlands", + city: "Winschoten" + }, { + mask: "+31-598-###-###", + cc: "NL", + cd: "Netherlands", + city: "Hoogezand" + }, { + mask: "+31-599-###-###", + cc: "NL", + cd: "Netherlands", + city: "Stadskanaal" + }, { + mask: "+31-70-###-####", + cc: "NL", + cd: "Netherlands", + city: "Den Haag" + }, { + mask: "+31-71-###-####", + cc: "NL", + cd: "Netherlands", + city: "Leiden" + }, { + mask: "+31-72-###-####", + cc: "NL", + cd: "Netherlands", + city: "Alkmaar" + }, { + mask: "+31-73-###-####", + cc: "NL", + cd: "Netherlands", + city: "'s-Hertogenbosch" + }, { + mask: "+31-74-###-####", + cc: "NL", + cd: "Netherlands", + city: "Hengelo" + }, { + mask: "+31-75-###-####", + cc: "NL", + cd: "Netherlands", + city: "Zaandam" + }, { + mask: "+31-76-###-####", + cc: "NL", + cd: "Netherlands", + city: "Breda" + }, { + mask: "+31-77-###-####", + cc: "NL", + cd: "Netherlands", + city: "Venlo" + }, { + mask: "+31-78-###-####", + cc: "NL", + cd: "Netherlands", + city: "Dordrecht" + }, { + mask: "+31-79-###-####", + cc: "NL", + cd: "Netherlands", + city: "Zoetermeer" + }, { + mask: "+31-61-###-####", + cc: "NL", + cd: "Netherlands", + city: "Mobiele nummers" + }, { + mask: "+31-62-###-####", + cc: "NL", + cd: "Netherlands", + city: "Mobiele nummers" + }, { + mask: "+31-63-###-####", + cc: "NL", + cd: "Netherlands", + city: "Mobiele nummers" + }, { + mask: "+31-64-###-####", + cc: "NL", + cd: "Netherlands", + city: "Mobiele nummers" + }, { + mask: "+31-65-###-####", + cc: "NL", + cd: "Netherlands", + city: "Mobiele nummers" + }, { + mask: "+31-68-###-####", + cc: "NL", + cd: "Netherlands", + city: "Mobiele nummers" + }, { + mask: "+31-69-###-####", + cc: "NL", + cd: "Netherlands", + city: "Mobiele nummers" + }, { + mask: "+31-66-###-####", + cc: "NL", + cd: "Netherlands", + city: "Semafonie" + }, { + mask: "+31-670-###-###", + cc: "NL", + cd: "Netherlands", + city: "Videotex" + }, { + mask: "+31-671-###-###", + cc: "NL", + cd: "Netherlands", + city: "Videotex" + }, { + mask: "+31-672-###-###", + cc: "NL", + cd: "Netherlands", + city: "Videotex" + }, { + mask: "+31-673-###-###", + cc: "NL", + cd: "Netherlands", + city: "Videotex" + }, { + mask: "+31-674-###-###", + cc: "NL", + cd: "Netherlands", + city: "Videotex" + }, { + mask: "+31-675-###-###", + cc: "NL", + cd: "Netherlands", + city: "Videotex" + }, { + mask: "+31-676-###-###", + cc: "NL", + cd: "Netherlands", + city: "Inbelnummers van internetproviders" + }, { + mask: "+31-800-###-###", + cc: "NL", + cd: "Netherlands", + city: "Gratis informatienummers" + }, { + mask: "+31-82-###-####", + cc: "NL", + cd: "Netherlands", + city: "Virtual Private Network" + }, { + mask: "+31-88-###-####", + cc: "NL", + cd: "Netherlands", + city: "Bedrijfsnummers" + }, { + mask: "+31-900-###-###", + cc: "NL", + cd: "Netherlands", + city: "Betaalde informatienummers" + }, { + mask: "+31-906-###-###", + cc: "NL", + cd: "Netherlands", + city: "Betaalde informatienummers" + }, { + mask: "+31-909-###-###", + cc: "NL", + cd: "Netherlands", + city: "Betaalde informatienummers" + }, { + mask: "+31-91-###-####", + cc: "NL", + cd: "Netherlands", + city: "Plaatsonafhankelijk netnummer, geschikt voor beeldtelefonie of lijnen met verhoogde kwaliteit" + } ] + } + }), Inputmask; +});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/phone-codes/phone-ru.js b/public/bower_components/inputmask/dist/inputmask/phone-codes/phone-ru.js new file mode 100644 index 0000000..18e6356 --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/phone-codes/phone-ru.js @@ -0,0 +1,19240 @@ +/*! +* phone-codes/phone-ru.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(factory) { + "function" == typeof define && define.amd ? define([ "../inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("../inputmask")) : factory(window.Inputmask); +}(function(Inputmask) { + return Inputmask.extendAliases({ + phoneru: { + alias: "abstractphone", + countrycode: "7", + phoneCodes: [ { + mask: "+7(301)###-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(3012)##-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Улан-Удэ", + operator: "", + desc: "" + }, { + mask: "+7(30130)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: [ "Нижнеангарск", "Северобайкальск" ], + operator: "", + desc: "" + }, { + mask: "+7(30131)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Баргузин", + operator: "", + desc: "" + }, { + mask: "+7(30132)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Таксимо", + operator: "", + desc: "" + }, { + mask: "+7(30133)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Бичура", + operator: "", + desc: "" + }, { + mask: "+7(30134)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Петропавловка", + operator: "", + desc: "" + }, { + mask: "+7(30135)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Сосново-Озёрское", + operator: "", + desc: "" + }, { + mask: "+7(30136)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Заиграево", + operator: "", + desc: "" + }, { + mask: "+7(30137)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Закаменск", + operator: "", + desc: "" + }, { + mask: "+7(30138)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Кабанск", + operator: "", + desc: "" + }, { + mask: "+7(30140)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Иволгинск", + operator: "", + desc: "" + }, { + mask: "+7(30141)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Кижинга", + operator: "", + desc: "" + }, { + mask: "+7(30142)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Кяхта", + operator: "", + desc: "" + }, { + mask: "+7(30143)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Мухоршибирь", + operator: "", + desc: "" + }, { + mask: "+7(30144)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Турунтаево", + operator: "", + desc: "" + }, { + mask: "+7(30145)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Гусиноозёрск", + operator: "", + desc: "" + }, { + mask: "+7(30146)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Тарбагатай", + operator: "", + desc: "" + }, { + mask: "+7(30147)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Кырен", + operator: "", + desc: "" + }, { + mask: "+7(30148)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Хоринск", + operator: "", + desc: "" + }, { + mask: "+7(30149)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Курумкан", + operator: "", + desc: "" + }, { + mask: "+7(30150)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Орлик", + operator: "", + desc: "" + }, { + mask: "+7(30153)#-##-##", + cc: "RU", + cd: "Russia", + region: "Бурятия", + city: "Багдарин", + operator: "", + desc: "" + }, { + mask: "+7(302)###-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(3022)##-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Чита", + operator: "", + desc: "" + }, { + mask: "+7(30230)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Красный Чикой", + operator: "", + desc: "" + }, { + mask: "+7(30231)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Акша", + operator: "", + desc: "" + }, { + mask: "+7(30232)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Балей", + operator: "", + desc: "" + }, { + mask: "+7(30233)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Борзя", + operator: "", + desc: "" + }, { + mask: "+7(30234)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Карымское", + operator: "", + desc: "" + }, { + mask: "+7(30235)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Кыра", + operator: "", + desc: "" + }, { + mask: "+7(30236)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Петровск-Забайкальский", + operator: "", + desc: "" + }, { + mask: "+7(30237)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Хилок", + operator: "", + desc: "" + }, { + mask: "+7(30238)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Улёты", + operator: "", + desc: "" + }, { + mask: "+7(30239)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Агинское", + operator: "", + desc: "" + }, { + mask: "+7(30240)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Александровский Завод", + operator: "", + desc: "" + }, { + mask: "+7(30241)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Могоча", + operator: "", + desc: "" + }, { + mask: "+7(30242)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Нерчинск", + operator: "", + desc: "" + }, { + mask: "+7(30243)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Приаргунск", + operator: "", + desc: "" + }, { + mask: "+7(30244)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Шилка", + operator: "", + desc: "" + }, { + mask: "+7(30245)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Краснокаменск", + operator: "", + desc: "" + }, { + mask: "+7(30246)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Сретенск", + operator: "", + desc: "" + }, { + mask: "+7(30247)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Газимурский Завод", + operator: "", + desc: "" + }, { + mask: "+7(30248)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Нерчинский Завод", + operator: "", + desc: "" + }, { + mask: "+7(30249)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Калга", + operator: "", + desc: "" + }, { + mask: "+7(30251)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Забайкальск", + operator: "", + desc: "" + }, { + mask: "+7(30252)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Нижний Цасучей", + operator: "", + desc: "" + }, { + mask: "+7(30253)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Оловянная", + operator: "", + desc: "" + }, { + mask: "+7(30255)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Могойтуй", + operator: "", + desc: "" + }, { + mask: "+7(30256)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Дульдурга", + operator: "", + desc: "" + }, { + mask: "+7(30257)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Горный", + operator: "", + desc: "" + }, { + mask: "+7(30261)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: [ "Калар", "Чара" ], + operator: "", + desc: "" + }, { + mask: "+7(30262)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Первомайский", + operator: "", + desc: "" + }, { + mask: "+7(30264)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Верх-Усугли", + operator: "", + desc: "" + }, { + mask: "+7(30265)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Чернышевск", + operator: "", + desc: "" + }, { + mask: "+7(30266)#-##-##", + cc: "RU", + cd: "Russia", + region: "Забайкальский край", + city: "Шелопугино", + operator: "", + desc: "" + }, { + mask: "+7(341)###-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(3412)##-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Ижевск", + operator: "", + desc: "" + }, { + mask: "+7(34126)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Завьялово", + operator: "", + desc: "" + }, { + mask: "+7(34130)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Ува", + operator: "", + desc: "" + }, { + mask: "+7(34132)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Каракулино", + operator: "", + desc: "" + }, { + mask: "+7(34133)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Киясово", + operator: "", + desc: "" + }, { + mask: "+7(34134)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Игра", + operator: "", + desc: "" + }, { + mask: "+7(34136)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Шаркан", + operator: "", + desc: "" + }, { + mask: "+7(34138)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Малая Пурга", + operator: "", + desc: "" + }, { + mask: "+7(34139)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Можга", + operator: "", + desc: "" + }, { + mask: "+7(34141)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Глазов", + operator: "", + desc: "" + }, { + mask: "+7(34145)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Воткинск", + operator: "", + desc: "" + }, { + mask: "+7(34147)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Сарапул", + operator: "", + desc: "" + }, { + mask: "+7(34150)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Алнаши", + operator: "", + desc: "" + }, { + mask: "+7(34151)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Дебёсы", + operator: "", + desc: "" + }, { + mask: "+7(34152)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Сюмси", + operator: "", + desc: "" + }, { + mask: "+7(34153)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Камбарка", + operator: "", + desc: "" + }, { + mask: "+7(34154)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Кизнер", + operator: "", + desc: "" + }, { + mask: "+7(34155)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Вавож", + operator: "", + desc: "" + }, { + mask: "+7(34157)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Яр", + operator: "", + desc: "" + }, { + mask: "+7(34158)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Кез", + operator: "", + desc: "" + }, { + mask: "+7(34159)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Селты", + operator: "", + desc: "" + }, { + mask: "+7(34161)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Юкаменское", + operator: "", + desc: "" + }, { + mask: "+7(34162)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Якшур-Бодья", + operator: "", + desc: "" + }, { + mask: "+7(34163)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Грахово", + operator: "", + desc: "" + }, { + mask: "+7(34164)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Красногорское", + operator: "", + desc: "" + }, { + mask: "+7(34166)#-##-##", + cc: "RU", + cd: "Russia", + region: "Удмуртская Республика", + city: "Балезино", + operator: "", + desc: "" + }, { + mask: "+7(342)###-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(342)2##-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Пермь", + operator: "", + desc: "" + }, { + mask: "+7(342)3##-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Пермь", + operator: "", + desc: "" + }, { + mask: "+7(3424)2#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Березники", + operator: "", + desc: "" + }, { + mask: "+7(34240)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Чердынь", + operator: "", + desc: "" + }, { + mask: "+7(34241)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Чайковский", + operator: "", + desc: "" + }, { + mask: "+7(34243)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Красновишерск", + operator: "", + desc: "" + }, { + mask: "+7(34244)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Усолье", + operator: "", + desc: "" + }, { + mask: "+7(34245)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Гайны", + operator: "", + desc: "" + }, { + mask: "+7(34246)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Юсьва", + operator: "", + desc: "" + }, { + mask: "+7(34248)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Губаха", + operator: "", + desc: "" + }, { + mask: "+7(34249)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Лысьва", + operator: "", + desc: "" + }, { + mask: "+7(34250)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Гремячинск", + operator: "", + desc: "" + }, { + mask: "+7(34251)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Березовка", + operator: "", + desc: "" + }, { + mask: "+7(34252)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Усть-Кишерть", + operator: "", + desc: "" + }, { + mask: "+7(34253)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Соликамск", + operator: "", + desc: "" + }, { + mask: "+7(34254)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Верещагино", + operator: "", + desc: "" + }, { + mask: "+7(34255)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Кизел", + operator: "", + desc: "" + }, { + mask: "+7(34256)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Чусовой", + operator: "", + desc: "" + }, { + mask: "+7(34257)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Большая Соснова", + operator: "", + desc: "" + }, { + mask: "+7(34258)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Орда", + operator: "", + desc: "" + }, { + mask: "+7(34259)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Уинское", + operator: "", + desc: "" + }, { + mask: "+7(34260)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Кудымкар", + operator: "", + desc: "" + }, { + mask: "+7(34261)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Чернушка", + operator: "", + desc: "" + }, { + mask: "+7(34262)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Куеда", + operator: "", + desc: "" + }, { + mask: "+7(34263)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Звёздный", + operator: "", + desc: "" + }, { + mask: "+7(34265)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Добрянка", + operator: "", + desc: "" + }, { + mask: "+7(34266)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Октябрьский", + operator: "", + desc: "" + }, { + mask: "+7(34268)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Частые", + operator: "", + desc: "" + }, { + mask: "+7(34269)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Горнозаводск", + operator: "", + desc: "" + }, { + mask: "+7(34271)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Кунгур", + operator: "", + desc: "" + }, { + mask: "+7(34272)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Нытва", + operator: "", + desc: "" + }, { + mask: "+7(34273)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Краснокамск", + operator: "", + desc: "" + }, { + mask: "+7(34274)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Александровск", + operator: "", + desc: "" + }, { + mask: "+7(34275)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Суксун", + operator: "", + desc: "" + }, { + mask: "+7(34276)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Ильинский", + operator: "", + desc: "" + }, { + mask: "+7(34277)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Сива", + operator: "", + desc: "" + }, { + mask: "+7(34278)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Очер", + operator: "", + desc: "" + }, { + mask: "+7(34279)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Оханск", + operator: "", + desc: "" + }, { + mask: "+7(34291)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Оса", + operator: "", + desc: "" + }, { + mask: "+7(34292)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Барда", + operator: "", + desc: "" + }, { + mask: "+7(34293)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Кочёво", + operator: "", + desc: "" + }, { + mask: "+7(34294)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Юрла", + operator: "", + desc: "" + }, { + mask: "+7(34296)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Елово", + operator: "", + desc: "" + }, { + mask: "+7(34297)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Карагай", + operator: "", + desc: "" + }, { + mask: "+7(34298)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пермский край", + city: "Коса", + operator: "", + desc: "" + }, { + mask: "+7(343)###-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(343)2##-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Екатеринбург", + operator: "", + desc: "" + }, { + mask: "+7(343)3##-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Екатеринбург", + operator: "", + desc: "" + }, { + mask: "+7(34341)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Качканар", + operator: "", + desc: "" + }, { + mask: "+7(34342)2-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Нижняя Тура", + operator: "", + desc: "" + }, { + mask: "+7(34342)3-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Лесной", + operator: "", + desc: "" + }, { + mask: "+7(34342)5-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Лесной", + operator: "", + desc: "" + }, { + mask: "+7(34342)6-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Лесной", + operator: "", + desc: "" + }, { + mask: "+7(34343)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Красноуральск", + operator: "", + desc: "" + }, { + mask: "+7(34344)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Кушва", + operator: "", + desc: "" + }, { + mask: "+7(34345)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Верхняя Салда", + operator: "", + desc: "" + }, { + mask: "+7(34346)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Алапаевск", + operator: "", + desc: "" + }, { + mask: "+7(34347)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Таборы", + operator: "", + desc: "" + }, { + mask: "+7(34349)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Туринск", + operator: "", + desc: "" + }, { + mask: "+7(3435)##-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Нижний Тагил", + operator: "", + desc: "" + }, { + mask: "+7(34350)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Полевской", + operator: "", + desc: "" + }, { + mask: "+7(34355)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Ирбит", + operator: "", + desc: "" + }, { + mask: "+7(34356)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Невьянск", + operator: "", + desc: "" + }, { + mask: "+7(34357)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Кировград", + operator: "", + desc: "" + }, { + mask: "+7(34358)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Шаля", + operator: "", + desc: "" + }, { + mask: "+7(34360)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Тавда", + operator: "", + desc: "" + }, { + mask: "+7(34361)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Туринская Слобода", + operator: "", + desc: "" + }, { + mask: "+7(34362)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Байкалово", + operator: "", + desc: "" + }, { + mask: "+7(34363)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Артемовский", + operator: "", + desc: "" + }, { + mask: "+7(34364)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Реж", + operator: "", + desc: "" + }, { + mask: "+7(34365)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Асбест", + operator: "", + desc: "" + }, { + mask: "+7(34367)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Тугулым", + operator: "", + desc: "" + }, { + mask: "+7(34368)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Верхняя Пышма", + operator: "", + desc: "" + }, { + mask: "+7(34369)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Берёзовский", + operator: "", + desc: "" + }, { + mask: "+7(34370)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Новоуральск", + operator: "", + desc: "" + }, { + mask: "+7(34371)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Талица", + operator: "", + desc: "" + }, { + mask: "+7(34372)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Пышма", + operator: "", + desc: "" + }, { + mask: "+7(34373)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Сухой Лог", + operator: "", + desc: "" + }, { + mask: "+7(34374)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Сысерть", + operator: "", + desc: "" + }, { + mask: "+7(34375)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Камышлов", + operator: "", + desc: "" + }, { + mask: "+7(34376)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Богданович", + operator: "", + desc: "" + }, { + mask: "+7(34377)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Белоярский", + operator: "", + desc: "" + }, { + mask: "+7(34380)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Североуральск", + operator: "", + desc: "" + }, { + mask: "+7(34383)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Карпинск", + operator: "", + desc: "" + }, { + mask: "+7(34383)5-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Волчанск", + operator: "", + desc: "" + }, { + mask: "+7(34384)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Краснотурьинск", + operator: "", + desc: "" + }, { + mask: "+7(34385)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Серов", + operator: "", + desc: "" + }, { + mask: "+7(34386)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Ивдель", + operator: "", + desc: "" + }, { + mask: "+7(34387)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Гари", + operator: "", + desc: "" + }, { + mask: "+7(34388)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Новая Ляля", + operator: "", + desc: "" + }, { + mask: "+7(34389)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Верхотурье", + operator: "", + desc: "" + }, { + mask: "+7(3439)2#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Первоуральск", + operator: "", + desc: "" + }, { + mask: "+7(3439)3#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Каменск-Уральский", + operator: "", + desc: "" + }, { + mask: "+7(3439)54-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Каменск-Уральский", + operator: "", + desc: "" + }, { + mask: "+7(3439)6#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Первоуральск", + operator: "", + desc: "" + }, { + mask: "+7(34391)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Ачит", + operator: "", + desc: "" + }, { + mask: "+7(34394)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Красноуфимск", + operator: "", + desc: "" + }, { + mask: "+7(34395)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Арти", + operator: "", + desc: "" + }, { + mask: "+7(34397)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Ревда", + operator: "", + desc: "" + }, { + mask: "+7(34398)#-##-##", + cc: "RU", + cd: "Russia", + region: "Свердловская область", + city: "Нижние Серги", + operator: "", + desc: "" + }, { + mask: "+7(345)###-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(3452)##-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Тюмень", + operator: "", + desc: "" + }, { + mask: "+7(34531)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Ярково", + operator: "", + desc: "" + }, { + mask: "+7(34533)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Нижняя Тавда", + operator: "", + desc: "" + }, { + mask: "+7(34535)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Ялуторовск", + operator: "", + desc: "" + }, { + mask: "+7(34537)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Исетское", + operator: "", + desc: "" + }, { + mask: "+7(34539)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Вагай", + operator: "", + desc: "" + }, { + mask: "+7(34541)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Упорово", + operator: "", + desc: "" + }, { + mask: "+7(34542)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Заводоуковск", + operator: "", + desc: "" + }, { + mask: "+7(34543)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Юргинское", + operator: "", + desc: "" + }, { + mask: "+7(34544)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Омутинское", + operator: "", + desc: "" + }, { + mask: "+7(34545)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Аромашево", + operator: "", + desc: "" + }, { + mask: "+7(34546)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Голышманово", + operator: "", + desc: "" + }, { + mask: "+7(34547)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Армизонское", + operator: "", + desc: "" + }, { + mask: "+7(34550)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Большое Сорокино", + operator: "", + desc: "" + }, { + mask: "+7(34551)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Ишим", + operator: "", + desc: "" + }, { + mask: "+7(34553)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Казанское", + operator: "", + desc: "" + }, { + mask: "+7(34554)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Бердюжье", + operator: "", + desc: "" + }, { + mask: "+7(34555)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Сладково", + operator: "", + desc: "" + }, { + mask: "+7(34556)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Абатский", + operator: "", + desc: "" + }, { + mask: "+7(34557)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Викулово", + operator: "", + desc: "" + }, { + mask: "+7(3456)##-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Тобольск", + operator: "", + desc: "" + }, { + mask: "+7(34561)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тюменская область", + city: "Уват", + operator: "", + desc: "" + }, { + mask: "+7(346)###-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(3462)##-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Сургут", + operator: "", + desc: "" + }, { + mask: "+7(3463)##-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Нефтеюганск", + operator: "", + desc: "" + }, { + mask: "+7(34634)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Пыть-Ях", + operator: "", + desc: "" + }, { + mask: "+7(34638)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Лянтор", + operator: "", + desc: "" + }, { + mask: "+7(34643)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Мегион", + operator: "", + desc: "" + }, { + mask: "+7(3466)##-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Нижневартовск", + operator: "", + desc: "" + }, { + mask: "+7(34667)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Когалым", + operator: "", + desc: "" + }, { + mask: "+7(34668)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Радужный", + operator: "", + desc: "" + }, { + mask: "+7(34669)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Лангепас", + operator: "", + desc: "" + }, { + mask: "+7(34670)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Белоярский", + operator: "", + desc: "" + }, { + mask: "+7(34672)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Нягань", + operator: "", + desc: "" + }, { + mask: "+7(34673)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Ханты-Мансийск", + operator: "", + desc: "" + }, { + mask: "+7(34674)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Берёзово", + operator: "", + desc: "" + }, { + mask: "+7(34675)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Советский", + operator: "", + desc: "" + }, { + mask: "+7(34676)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Урай", + operator: "", + desc: "" + }, { + mask: "+7(34677)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Кондинское", + operator: "", + desc: "" + }, { + mask: "+7(34678)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ханты-Мансийский автономный округ", + city: "Октябрьское", + operator: "", + desc: "" + }, { + mask: "+7(347)###-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(347)2##-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Уфа", + operator: "", + desc: "" + }, { + mask: "+7(3473)##-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Стерлитамак", + operator: "", + desc: "" + }, { + mask: "+7(34731)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Агидель", + operator: "", + desc: "" + }, { + mask: "+7(34739)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Стерлибашево", + operator: "", + desc: "" + }, { + mask: "+7(34740)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Красноусольский", + operator: "", + desc: "" + }, { + mask: "+7(34741)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Ермекеево", + operator: "", + desc: "" + }, { + mask: "+7(34742)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Бакалы", + operator: "", + desc: "" + }, { + mask: "+7(34743)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Бижбуляк", + operator: "", + desc: "" + }, { + mask: "+7(34744)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Караидель", + operator: "", + desc: "" + }, { + mask: "+7(34745)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Толбазы", + operator: "", + desc: "" + }, { + mask: "+7(34746)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Фёдоровка", + operator: "", + desc: "" + }, { + mask: "+7(34747)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Языково", + operator: "", + desc: "" + }, { + mask: "+7(34748)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Верхние Киги", + operator: "", + desc: "" + }, { + mask: "+7(34749)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Мишкино", + operator: "", + desc: "" + }, { + mask: "+7(34750)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Новобелокатай", + operator: "", + desc: "" + }, { + mask: "+7(34751)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Баймак", + operator: "", + desc: "" + }, { + mask: "+7(34752)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Зилаир", + operator: "", + desc: "" + }, { + mask: "+7(34753)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Старобалтачево", + operator: "", + desc: "" + }, { + mask: "+7(34754)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Раевский", + operator: "", + desc: "" + }, { + mask: "+7(34755)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Старосубхангулово", + operator: "", + desc: "" + }, { + mask: "+7(34756)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Бураево", + operator: "", + desc: "" + }, { + mask: "+7(34757)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Ермолаево", + operator: "", + desc: "" + }, { + mask: "+7(34758)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Акъяр", + operator: "", + desc: "" + }, { + mask: "+7(34759)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Николо-Березовка", + operator: "", + desc: "" + }, { + mask: "+7(34760)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Янаул", + operator: "", + desc: "" + }, { + mask: "+7(34761)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Кумертау", + operator: "", + desc: "" + }, { + mask: "+7(34762)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Верхнеяркеево", + operator: "", + desc: "" + }, { + mask: "+7(34763)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Салават", + operator: "", + desc: "" + }, { + mask: "+7(34764)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Мелеуз", + operator: "", + desc: "" + }, { + mask: "+7(34765)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Кармаскалы", + operator: "", + desc: "" + }, { + mask: "+7(34766)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Благовещенск", + operator: "", + desc: "" + }, { + mask: "+7(34767)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Октябрьский", + operator: "", + desc: "" + }, { + mask: "+7(34768)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Давлеканово", + operator: "", + desc: "" + }, { + mask: "+7(34769)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Шаран", + operator: "", + desc: "" + }, { + mask: "+7(34770)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Большеустьикинское", + operator: "", + desc: "" + }, { + mask: "+7(34771)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Аскино", + operator: "", + desc: "" + }, { + mask: "+7(34772)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Аскарово", + operator: "", + desc: "" + }, { + mask: "+7(34773)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Буздяк", + operator: "", + desc: "" + }, { + mask: "+7(34774)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Архангельское", + operator: "", + desc: "" + }, { + mask: "+7(34775)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Сибай", + operator: "", + desc: "" + }, { + mask: "+7(34776)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Красная Горка", + operator: "", + desc: "" + }, { + mask: "+7(34777)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Малояз", + operator: "", + desc: "" + }, { + mask: "+7(34778)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Верхние Татышлы", + operator: "", + desc: "" + }, { + mask: "+7(34779)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Калтасы", + operator: "", + desc: "" + }, { + mask: "+7(34780)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Кушнаренково", + operator: "", + desc: "" + }, { + mask: "+7(34781)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Межгорье", + operator: "", + desc: "" + }, { + mask: "+7(34782)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Туймазы", + operator: "", + desc: "" + }, { + mask: "+7(34783)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Нефтекамск", + operator: "", + desc: "" + }, { + mask: "+7(34784)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Бирск", + operator: "", + desc: "" + }, { + mask: "+7(34785)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Исянгулово", + operator: "", + desc: "" + }, { + mask: "+7(34786)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Белебей", + operator: "", + desc: "" + }, { + mask: "+7(34787)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Дюртюли", + operator: "", + desc: "" + }, { + mask: "+7(34788)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Киргиз-Мияки", + operator: "", + desc: "" + }, { + mask: "+7(34789)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Мраково", + operator: "", + desc: "" + }, { + mask: "+7(34791)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Учалы", + operator: "", + desc: "" + }, { + mask: "+7(34792)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Белорецк", + operator: "", + desc: "" + }, { + mask: "+7(34794)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Ишимбай", + operator: "", + desc: "" + }, { + mask: "+7(34795)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Иглино", + operator: "", + desc: "" + }, { + mask: "+7(34796)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Чекмагуш", + operator: "", + desc: "" + }, { + mask: "+7(34797)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Чишмы", + operator: "", + desc: "" + }, { + mask: "+7(34798)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Башкортостан", + city: "Месягутово", + operator: "", + desc: "" + }, { + mask: "+7(349)###-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(34922)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "Салехард", + operator: "", + desc: "" + }, { + mask: "+7(34932)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "Красноселькуп", + operator: "", + desc: "" + }, { + mask: "+7(34934)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "Уренгой", + operator: "", + desc: "" + }, { + mask: "+7(34936)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "Губкинский", + operator: "", + desc: "" + }, { + mask: "+7(34938)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "Муравленко", + operator: "", + desc: "" + }, { + mask: "+7(3494)##-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "Новый Уренгой", + operator: "", + desc: "" + }, { + mask: "+7(34940)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "Тазовский", + operator: "", + desc: "" + }, { + mask: "+7(34948)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "Харп", + operator: "", + desc: "" + }, { + mask: "+7(34949)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "Ямбург", + operator: "", + desc: "" + }, { + mask: "+7(3496)##-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "Ноябрьск", + operator: "", + desc: "" + }, { + mask: "+7(34992)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "Лабытнанги", + operator: "", + desc: "" + }, { + mask: "+7(34993)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "Аксарка", + operator: "", + desc: "" + }, { + mask: "+7(34994)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "Мужи", + operator: "", + desc: "" + }, { + mask: "+7(34995)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "Надым", + operator: "", + desc: "" + }, { + mask: "+7(34996)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "Яр-Сале", + operator: "", + desc: "" + }, { + mask: "+7(34997)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ямало-Ненецкий автономный округ", + city: "Тарко-Сале", + operator: "", + desc: "" + }, { + mask: "+7(351)###-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(351)2##-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Челябинск", + operator: "", + desc: "" + }, { + mask: "+7(351)301-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Челябинск", + operator: "", + desc: "" + }, { + mask: "+7(351)7##-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Челябинск", + operator: "", + desc: "" + }, { + mask: "+7(351)90#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "", + operator: "Ростелеком", + desc: "мобильные телефоны с зоновыми номерами" + }, { + mask: "+7(3513)2#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Миасс", + operator: "", + desc: "" + }, { + mask: "+7(3513)5#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Миасс", + operator: "", + desc: "" + }, { + mask: "+7(3513)6#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Златоуст", + operator: "", + desc: "" + }, { + mask: "+7(3513)7#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Златоуст", + operator: "", + desc: "" + }, { + mask: "+7(35130)2-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Озёрск", + operator: "", + desc: "" + }, { + mask: "+7(35130)4-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Озёрск", + operator: "", + desc: "" + }, { + mask: "+7(35130)6-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Озёрск", + operator: "", + desc: "" + }, { + mask: "+7(35130)7-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Озёрск", + operator: "", + desc: "" + }, { + mask: "+7(35130)9-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Озёрск", + operator: "", + desc: "" + }, { + mask: "+7(35131)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Аргаяш", + operator: "", + desc: "" + }, { + mask: "+7(35133)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Карталы", + operator: "", + desc: "" + }, { + mask: "+7(35134)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Южноуральск", + operator: "", + desc: "" + }, { + mask: "+7(35138)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Еманжелинск", + operator: "", + desc: "" + }, { + mask: "+7(35139)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Копейск", + operator: "", + desc: "" + }, { + mask: "+7(35140)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Агаповка", + operator: "", + desc: "" + }, { + mask: "+7(35141)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Бреды", + operator: "", + desc: "" + }, { + mask: "+7(35142)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Варна", + operator: "", + desc: "" + }, { + mask: "+7(35143)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Верхнеуральск", + operator: "", + desc: "" + }, { + mask: "+7(35144)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Долгодеревенское", + operator: "", + desc: "" + }, { + mask: "+7(35145)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Еткуль", + operator: "", + desc: "" + }, { + mask: "+7(35146)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Снежинск", + operator: "", + desc: "" + }, { + mask: "+7(35147)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: [ "Катав-Ивановск", "Юрюзань" ], + operator: "", + desc: "" + }, { + mask: "+7(35148)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Кунашак", + operator: "", + desc: "" + }, { + mask: "+7(35149)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Касли", + operator: "", + desc: "" + }, { + mask: "+7(35150)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Миасское", + operator: "", + desc: "" + }, { + mask: "+7(35151)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Кыштым", + operator: "", + desc: "" + }, { + mask: "+7(35152)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Коркино", + operator: "", + desc: "" + }, { + mask: "+7(35153)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Карабаш", + operator: "", + desc: "" + }, { + mask: "+7(35154)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Куса", + operator: "", + desc: "" + }, { + mask: "+7(35155)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Кизильское", + operator: "", + desc: "" + }, { + mask: "+7(35156)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Нязепетровск", + operator: "", + desc: "" + }, { + mask: "+7(35157)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Фершампенуаз", + operator: "", + desc: "" + }, { + mask: "+7(35158)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Октябрьское", + operator: "", + desc: "" + }, { + mask: "+7(35159)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Аша", + operator: "", + desc: "" + }, { + mask: "+7(35160)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Пласт", + operator: "", + desc: "" + }, { + mask: "+7(35161)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Сатка", + operator: "", + desc: "" + }, { + mask: "+7(35163)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Троицк", + operator: "", + desc: "" + }, { + mask: "+7(35164)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Верхний Уфалей", + operator: "", + desc: "" + }, { + mask: "+7(35165)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Уйское", + operator: "", + desc: "" + }, { + mask: "+7(35166)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Увельский", + operator: "", + desc: "" + }, { + mask: "+7(35167)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Усть-Катав", + operator: "", + desc: "" + }, { + mask: "+7(35168)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Чебаркуль", + operator: "", + desc: "" + }, { + mask: "+7(35169)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Чесма", + operator: "", + desc: "" + }, { + mask: "+7(3519)##-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Магнитогорск", + operator: "", + desc: "" + }, { + mask: "+7(35191)#-##-##", + cc: "RU", + cd: "Russia", + region: "Челябинская область", + city: "Трёхгорный", + operator: "", + desc: "" + }, { + mask: "+7(352)###-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(3522)##-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Курган", + operator: "", + desc: "" + }, { + mask: "+7(35230)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Частоозерье", + operator: "", + desc: "" + }, { + mask: "+7(35231)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Кетово", + operator: "", + desc: "" + }, { + mask: "+7(35232)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Белозерское", + operator: "", + desc: "" + }, { + mask: "+7(35233)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Варгаши", + operator: "", + desc: "" + }, { + mask: "+7(35234)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Мокроусово", + operator: "", + desc: "" + }, { + mask: "+7(35235)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Петухово", + operator: "", + desc: "" + }, { + mask: "+7(35236)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Макушино", + operator: "", + desc: "" + }, { + mask: "+7(35237)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Лебяжье", + operator: "", + desc: "" + }, { + mask: "+7(35238)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Половинное", + operator: "", + desc: "" + }, { + mask: "+7(35239)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Глядянское", + operator: "", + desc: "" + }, { + mask: "+7(35240)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Звериноголовское", + operator: "", + desc: "" + }, { + mask: "+7(35241)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Целинное", + operator: "", + desc: "" + }, { + mask: "+7(35242)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Альменево", + operator: "", + desc: "" + }, { + mask: "+7(35243)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Сафакулево", + operator: "", + desc: "" + }, { + mask: "+7(35244)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Щучье", + operator: "", + desc: "" + }, { + mask: "+7(35245)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Шумиха", + operator: "", + desc: "" + }, { + mask: "+7(35247)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Мишкино", + operator: "", + desc: "" + }, { + mask: "+7(35248)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Юргамыш", + operator: "", + desc: "" + }, { + mask: "+7(35249)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Куртамыш", + operator: "", + desc: "" + }, { + mask: "+7(35251)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Катайск", + operator: "", + desc: "" + }, { + mask: "+7(35252)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Далматово", + operator: "", + desc: "" + }, { + mask: "+7(35253)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Шадринск", + operator: "", + desc: "" + }, { + mask: "+7(35256)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Каргаполье", + operator: "", + desc: "" + }, { + mask: "+7(35257)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курганская область", + city: "Шатрово", + operator: "", + desc: "" + }, { + mask: "+7(353)###-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(3532)##-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Оренбург", + operator: "", + desc: "" + }, { + mask: "+7(35330)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Октябрьское", + operator: "", + desc: "" + }, { + mask: "+7(35331)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Сакмара", + operator: "", + desc: "" + }, { + mask: "+7(35332)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Тюльган", + operator: "", + desc: "" + }, { + mask: "+7(35333)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Саракташ", + operator: "", + desc: "" + }, { + mask: "+7(35334)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Беляевка", + operator: "", + desc: "" + }, { + mask: "+7(35335)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Акбулак", + operator: "", + desc: "" + }, { + mask: "+7(35336)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Соль-Илецк", + operator: "", + desc: "" + }, { + mask: "+7(35337)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Илек", + operator: "", + desc: "" + }, { + mask: "+7(35338)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Переволоцкий", + operator: "", + desc: "" + }, { + mask: "+7(35339)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Новосергиевка", + operator: "", + desc: "" + }, { + mask: "+7(35341)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Курманаевка", + operator: "", + desc: "" + }, { + mask: "+7(35342)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Бузулук", + operator: "", + desc: "" + }, { + mask: "+7(35344)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Грачёвка", + operator: "", + desc: "" + }, { + mask: "+7(35345)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Плешаново", + operator: "", + desc: "" + }, { + mask: "+7(35346)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Сорочинск", + operator: "", + desc: "" + }, { + mask: "+7(35347)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Ташла", + operator: "", + desc: "" + }, { + mask: "+7(35348)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Первомайский", + operator: "", + desc: "" + }, { + mask: "+7(35349)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Тоцкое", + operator: "", + desc: "" + }, { + mask: "+7(35351)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Асекеево", + operator: "", + desc: "" + }, { + mask: "+7(35352)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Бугуруслан", + operator: "", + desc: "" + }, { + mask: "+7(35354)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Северное", + operator: "", + desc: "" + }, { + mask: "+7(35355)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Абдулино", + operator: "", + desc: "" + }, { + mask: "+7(35356)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Матвеевка", + operator: "", + desc: "" + }, { + mask: "+7(35357)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Пономаревка", + operator: "", + desc: "" + }, { + mask: "+7(35358)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Шарлык", + operator: "", + desc: "" + }, { + mask: "+7(35359)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Александровка", + operator: "", + desc: "" + }, { + mask: "+7(35361)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Кувандык", + operator: "", + desc: "" + }, { + mask: "+7(35362)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Гай", + operator: "", + desc: "" + }, { + mask: "+7(35363)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Новоорск", + operator: "", + desc: "" + }, { + mask: "+7(35364)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Кваркено", + operator: "", + desc: "" + }, { + mask: "+7(35365)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Адамовка", + operator: "", + desc: "" + }, { + mask: "+7(35366)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Светлый", + operator: "", + desc: "" + }, { + mask: "+7(35367)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Домбаровский", + operator: "", + desc: "" + }, { + mask: "+7(35368)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Ясный", + operator: "", + desc: "" + }, { + mask: "+7(3537)2#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Орск", + operator: "", + desc: "" + }, { + mask: "+7(3537)3#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Орск", + operator: "", + desc: "" + }, { + mask: "+7(3537)4#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Орск", + operator: "", + desc: "" + }, { + mask: "+7(3537)6#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Новотроицк", + operator: "", + desc: "" + }, { + mask: "+7(35379)#-##-##", + cc: "RU", + cd: "Russia", + region: "Оренбургская область", + city: "Медногорск", + operator: "", + desc: "" + }, { + mask: "+7(381)###-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(3812)##-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Омск", + operator: "", + desc: "" + }, { + mask: "+7(38141)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Азово", + operator: "", + desc: "" + }, { + mask: "+7(38150)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Усть-Ишим", + operator: "", + desc: "" + }, { + mask: "+7(38151)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Таврическое", + operator: "", + desc: "" + }, { + mask: "+7(38152)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Нововаршавка", + operator: "", + desc: "" + }, { + mask: "+7(38153)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Черлак", + operator: "", + desc: "" + }, { + mask: "+7(38154)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Тевриз", + operator: "", + desc: "" + }, { + mask: "+7(38155)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Калачинск", + operator: "", + desc: "" + }, { + mask: "+7(38156)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Русская Поляна", + operator: "", + desc: "" + }, { + mask: "+7(38157)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Горьковское", + operator: "", + desc: "" + }, { + mask: "+7(38158)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Муромцево", + operator: "", + desc: "" + }, { + mask: "+7(38159)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Одесское", + operator: "", + desc: "" + }, { + mask: "+7(38160)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Колосовка", + operator: "", + desc: "" + }, { + mask: "+7(38161)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Называевск", + operator: "", + desc: "" + }, { + mask: "+7(38162)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Большие Уки", + operator: "", + desc: "" + }, { + mask: "+7(38163)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Полтавка", + operator: "", + desc: "" + }, { + mask: "+7(38164)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Седельниково", + operator: "", + desc: "" + }, { + mask: "+7(38165)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Нижняя Омка", + operator: "", + desc: "" + }, { + mask: "+7(38166)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Оконешниково", + operator: "", + desc: "" + }, { + mask: "+7(38167)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Крутинка", + operator: "", + desc: "" + }, { + mask: "+7(38168)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Марьяновка", + operator: "", + desc: "" + }, { + mask: "+7(38169)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Большеречье", + operator: "", + desc: "" + }, { + mask: "+7(38170)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Кормиловка", + operator: "", + desc: "" + }, { + mask: "+7(38171)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Тара", + operator: "", + desc: "" + }, { + mask: "+7(38172)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Павлоградка", + operator: "", + desc: "" + }, { + mask: "+7(38173)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Исилькуль", + operator: "", + desc: "" + }, { + mask: "+7(38174)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Москаленки", + operator: "", + desc: "" + }, { + mask: "+7(38175)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Любинский", + operator: "", + desc: "" + }, { + mask: "+7(38176)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Тюкалинск", + operator: "", + desc: "" + }, { + mask: "+7(38177)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Шербакуль", + operator: "", + desc: "" + }, { + mask: "+7(38178)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Саргатское", + operator: "", + desc: "" + }, { + mask: "+7(38179)#-##-##", + cc: "RU", + cd: "Russia", + region: "Омская область", + city: "Знаменское", + operator: "", + desc: "" + }, { + mask: "+7(382)###-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(3822)##-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Томск", + operator: "", + desc: "" + }, { + mask: "+7(3823)##-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Северск", + operator: "", + desc: "" + }, { + mask: "+7(38241)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Асино", + operator: "", + desc: "" + }, { + mask: "+7(38243)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Зырянское", + operator: "", + desc: "" + }, { + mask: "+7(38244)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Кожевниково", + operator: "", + desc: "" + }, { + mask: "+7(38245)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Первомайское", + operator: "", + desc: "" + }, { + mask: "+7(38246)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Тегульдет", + operator: "", + desc: "" + }, { + mask: "+7(38247)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Мельниково", + operator: "", + desc: "" + }, { + mask: "+7(38249)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Бакчар", + operator: "", + desc: "" + }, { + mask: "+7(38250)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Кедровый", + operator: "", + desc: "" + }, { + mask: "+7(38251)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Кривошеино", + operator: "", + desc: "" + }, { + mask: "+7(38252)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Парабель", + operator: "", + desc: "" + }, { + mask: "+7(38253)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Каргасок", + operator: "", + desc: "" + }, { + mask: "+7(38254)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Колпашево", + operator: "", + desc: "" + }, { + mask: "+7(38255)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Александровское", + operator: "", + desc: "" + }, { + mask: "+7(38256)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Молчаново", + operator: "", + desc: "" + }, { + mask: "+7(38257)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Подгорное", + operator: "", + desc: "" + }, { + mask: "+7(38258)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Белый Яр", + operator: "", + desc: "" + }, { + mask: "+7(38259)#-##-##", + cc: "RU", + cd: "Russia", + region: "Томская область", + city: "Стрежевой", + operator: "", + desc: "" + }, { + mask: "+7(383)###-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Новосибирск", + operator: "", + desc: "" + }, { + mask: "+7(38340)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Тогучин", + operator: "", + desc: "" + }, { + mask: "+7(38341)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Бердск", + operator: "", + desc: "" + }, { + mask: "+7(38343)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Искитим", + operator: "", + desc: "" + }, { + mask: "+7(38345)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Черепаново", + operator: "", + desc: "" + }, { + mask: "+7(38346)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Сузун", + operator: "", + desc: "" + }, { + mask: "+7(38347)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Маслянино", + operator: "", + desc: "" + }, { + mask: "+7(38348)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Мошково", + operator: "", + desc: "" + }, { + mask: "+7(38349)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Болотное", + operator: "", + desc: "" + }, { + mask: "+7(38350)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Чулым", + operator: "", + desc: "" + }, { + mask: "+7(38351)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Коченево", + operator: "", + desc: "" + }, { + mask: "+7(38352)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Колывань", + operator: "", + desc: "" + }, { + mask: "+7(38353)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Баган", + operator: "", + desc: "" + }, { + mask: "+7(38354)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Довольное", + operator: "", + desc: "" + }, { + mask: "+7(38355)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Карасук", + operator: "", + desc: "" + }, { + mask: "+7(38356)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Кочки", + operator: "", + desc: "" + }, { + mask: "+7(38357)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Краснозерское", + operator: "", + desc: "" + }, { + mask: "+7(38358)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Купино", + operator: "", + desc: "" + }, { + mask: "+7(38359)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Ордынское", + operator: "", + desc: "" + }, { + mask: "+7(38360)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Северное", + operator: "", + desc: "" + }, { + mask: "+7(38361)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Барабинск", + operator: "", + desc: "" + }, { + mask: "+7(38362)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Куйбышев", + operator: "", + desc: "" + }, { + mask: "+7(38363)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Здвинск", + operator: "", + desc: "" + }, { + mask: "+7(38364)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Татарск", + operator: "", + desc: "" + }, { + mask: "+7(38365)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Каргат", + operator: "", + desc: "" + }, { + mask: "+7(38366)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Убинское", + operator: "", + desc: "" + }, { + mask: "+7(38367)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Чаны", + operator: "", + desc: "" + }, { + mask: "+7(38368)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Чистоозерное", + operator: "", + desc: "" + }, { + mask: "+7(38369)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Венгерово", + operator: "", + desc: "" + }, { + mask: "+7(38371)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Кыштовка", + operator: "", + desc: "" + }, { + mask: "+7(38372)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Усть-Тарка", + operator: "", + desc: "" + }, { + mask: "+7(38373)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новосибирская область", + city: "Обь", + operator: "", + desc: "" + }, { + mask: "+7(384)###-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(3842)##-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Кемерово", + operator: "", + desc: "" + }, { + mask: "+7(3843)##-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Новокузнецк", + operator: "", + desc: "" + }, { + mask: "+7(38441)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Яя", + operator: "", + desc: "" + }, { + mask: "+7(38442)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Промышленная", + operator: "", + desc: "" + }, { + mask: "+7(38443)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Мариинск", + operator: "", + desc: "" + }, { + mask: "+7(38444)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Верх-Чебула", + operator: "", + desc: "" + }, { + mask: "+7(38445)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Берёзовский", + operator: "", + desc: "" + }, { + mask: "+7(38446)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Крапивинский", + operator: "", + desc: "" + }, { + mask: "+7(38447)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Тисуль", + operator: "", + desc: "" + }, { + mask: "+7(38448)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Тайга", + operator: "", + desc: "" + }, { + mask: "+7(38449)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Тяжинский", + operator: "", + desc: "" + }, { + mask: "+7(38451)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Юрга", + operator: "", + desc: "" + }, { + mask: "+7(38452)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Белово", + operator: "", + desc: "" + }, { + mask: "+7(38453)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Анжеро-Судженск", + operator: "", + desc: "" + }, { + mask: "+7(38454)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Топки", + operator: "", + desc: "" + }, { + mask: "+7(38455)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Яшкино", + operator: "", + desc: "" + }, { + mask: "+7(38456)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Ленинск-Кузнецкий", + operator: "", + desc: "" + }, { + mask: "+7(38459)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Ижморский", + operator: "", + desc: "" + }, { + mask: "+7(3846)##-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Прокопьевск", + operator: "", + desc: "" + }, { + mask: "+7(38463)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Гурьевск", + operator: "", + desc: "" + }, { + mask: "+7(38464)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Киселевск", + operator: "", + desc: "" + }, { + mask: "+7(38471)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Осинники", + operator: "", + desc: "" + }, { + mask: "+7(38472)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Калтан", + operator: "", + desc: "" + }, { + mask: "+7(38473)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Таштагол", + operator: "", + desc: "" + }, { + mask: "+7(38474)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Мыски", + operator: "", + desc: "" + }, { + mask: "+7(38475)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кемеровская область", + city: "Междуреченск", + operator: "", + desc: "" + }, { + mask: "+7(385)###-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(3852)##-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Барнаул", + operator: "", + desc: "" + }, { + mask: "+7(38530)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Зональное", + operator: "", + desc: "" + }, { + mask: "+7(38531)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Косиха", + operator: "", + desc: "" + }, { + mask: "+7(38532)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Новоалтайск", + operator: "", + desc: "" + }, { + mask: "+7(38533)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Солтон", + operator: "", + desc: "" + }, { + mask: "+7(38534)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Троицкое", + operator: "", + desc: "" + }, { + mask: "+7(38535)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Красногорское", + operator: "", + desc: "" + }, { + mask: "+7(38536)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Смоленское", + operator: "", + desc: "" + }, { + mask: "+7(38537)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Алтайское", + operator: "", + desc: "" + }, { + mask: "+7(38538)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Верх-Суетка", + operator: "", + desc: "" + }, { + mask: "+7(38539)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Гальбштадт", + operator: "", + desc: "" + }, { + mask: "+7(3854)##-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Бийск", + operator: "", + desc: "" + }, { + mask: "+7(38550)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Шипуново", + operator: "", + desc: "" + }, { + mask: "+7(38551)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Калманка", + operator: "", + desc: "" + }, { + mask: "+7(38552)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Топчиха", + operator: "", + desc: "" + }, { + mask: "+7(38553)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Алейск", + operator: "", + desc: "" + }, { + mask: "+7(38554)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Усть-Чарышская Пристань", + operator: "", + desc: "" + }, { + mask: "+7(38555)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Новичиха", + operator: "", + desc: "" + }, { + mask: "+7(38556)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Поспелиха", + operator: "", + desc: "" + }, { + mask: "+7(38557)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Рубцовск", + operator: "", + desc: "" + }, { + mask: "+7(38558)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Шелаболиха", + operator: "", + desc: "" + }, { + mask: "+7(38559)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Староалейское", + operator: "", + desc: "" + }, { + mask: "+7(38560)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Новоегорьевское", + operator: "", + desc: "" + }, { + mask: "+7(38561)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Романово", + operator: "", + desc: "" + }, { + mask: "+7(38562)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Завьялово", + operator: "", + desc: "" + }, { + mask: "+7(38563)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Родино", + operator: "", + desc: "" + }, { + mask: "+7(38564)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Благовещенка", + operator: "", + desc: "" + }, { + mask: "+7(38565)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Волчиха", + operator: "", + desc: "" + }, { + mask: "+7(38566)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Кулунда", + operator: "", + desc: "" + }, { + mask: "+7(38567)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Табуны", + operator: "", + desc: "" + }, { + mask: "+7(38568)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Славгород", + operator: "", + desc: "" + }, { + mask: "+7(38569)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Хабары", + operator: "", + desc: "" + }, { + mask: "+7(38570)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Михайловка", + operator: "", + desc: "" + }, { + mask: "+7(38571)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Быстрый Исток", + operator: "", + desc: "" + }, { + mask: "+7(38572)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Бурла", + operator: "", + desc: "" + }, { + mask: "+7(38573)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Петропавловское", + operator: "", + desc: "" + }, { + mask: "+7(38574)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Чарышское", + operator: "", + desc: "" + }, { + mask: "+7(38575)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Краснощеково", + operator: "", + desc: "" + }, { + mask: "+7(38576)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Курья", + operator: "", + desc: "" + }, { + mask: "+7(38577)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Белокуриха", + operator: "", + desc: "" + }, { + mask: "+7(38578)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Ключи", + operator: "", + desc: "" + }, { + mask: "+7(38579)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Угловское", + operator: "", + desc: "" + }, { + mask: "+7(38580)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Панкрушиха", + operator: "", + desc: "" + }, { + mask: "+7(38581)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Павловск", + operator: "", + desc: "" + }, { + mask: "+7(38582)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Ребриха", + operator: "", + desc: "" + }, { + mask: "+7(38583)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Мамонтово", + operator: "", + desc: "" + }, { + mask: "+7(38584)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Камень-на-Оби", + operator: "", + desc: "" + }, { + mask: "+7(38585)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Баево", + operator: "", + desc: "" + }, { + mask: "+7(38586)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Горняк", + operator: "", + desc: "" + }, { + mask: "+7(38587)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Змеиногорск", + operator: "", + desc: "" + }, { + mask: "+7(38588)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Тюменцево", + operator: "", + desc: "" + }, { + mask: "+7(38589)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Крутиха", + operator: "", + desc: "" + }, { + mask: "+7(38590)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Кытманово", + operator: "", + desc: "" + }, { + mask: "+7(38591)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Тальменка", + operator: "", + desc: "" + }, { + mask: "+7(38592)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Залесово", + operator: "", + desc: "" + }, { + mask: "+7(38593)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Ельцовка", + operator: "", + desc: "" + }, { + mask: "+7(38594)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Солонешное", + operator: "", + desc: "" + }, { + mask: "+7(38595)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Заринск", + operator: "", + desc: "" + }, { + mask: "+7(38596)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Целинное", + operator: "", + desc: "" + }, { + mask: "+7(38597)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Тогул", + operator: "", + desc: "" + }, { + mask: "+7(38598)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Советское", + operator: "", + desc: "" + }, { + mask: "+7(38599)#-##-##", + cc: "RU", + cd: "Russia", + region: "Алтайский край", + city: "Усть-Калманка", + operator: "", + desc: "" + }, { + mask: "+7(388)###-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Алтай", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(3882)##-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Алтай", + city: "Горно-Алтайск", + operator: "", + desc: "" + }, { + mask: "+7(38840)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Алтай", + city: "Чоя", + operator: "", + desc: "" + }, { + mask: "+7(38841)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Алтай", + city: "Чемал", + operator: "", + desc: "" + }, { + mask: "+7(38842)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Алтай", + city: "Кош-Агач", + operator: "", + desc: "" + }, { + mask: "+7(38843)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Алтай", + city: "Турочак", + operator: "", + desc: "" + }, { + mask: "+7(38844)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Алтай", + city: "Майма", + operator: "", + desc: "" + }, { + mask: "+7(38845)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Алтай", + city: "Онгудай", + operator: "", + desc: "" + }, { + mask: "+7(38846)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Алтай", + city: "Акташ", + operator: "", + desc: "" + }, { + mask: "+7(38847)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Алтай", + city: "Усть-Кан", + operator: "", + desc: "" + }, { + mask: "+7(38848)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Алтай", + city: "Усть-Кокса", + operator: "", + desc: "" + }, { + mask: "+7(38849)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Алтай", + city: "Шебалино", + operator: "", + desc: "" + }, { + mask: "+7(390)###-##-##", + cc: "RU", + cd: "Russia", + region: "Хакасия", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(3902)##-##-##", + cc: "RU", + cd: "Russia", + region: "Хакасия", + city: "Абакан", + operator: "", + desc: "" + }, { + mask: "+7(39031)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хакасия", + city: "Черногорск", + operator: "", + desc: "" + }, { + mask: "+7(39032)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хакасия", + city: "Усть-Абакан", + operator: "", + desc: "" + }, { + mask: "+7(39033)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хакасия", + city: "Сорск", + operator: "", + desc: "" + }, { + mask: "+7(39034)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хакасия", + city: "Боград", + operator: "", + desc: "" + }, { + mask: "+7(39035)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хакасия", + city: "Шира", + operator: "", + desc: "" + }, { + mask: "+7(39036)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хакасия", + city: "Копьёво", + operator: "", + desc: "" + }, { + mask: "+7(39041)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хакасия", + city: "Белый Яр", + operator: "", + desc: "" + }, { + mask: "+7(39042)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хакасия", + city: "Саяногорск", + operator: "", + desc: "" + }, { + mask: "+7(39044)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хакасия", + city: "Бея", + operator: "", + desc: "" + }, { + mask: "+7(39045)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хакасия", + city: "Аскиз", + operator: "", + desc: "" + }, { + mask: "+7(39046)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хакасия", + city: "Таштып", + operator: "", + desc: "" + }, { + mask: "+7(39047)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хакасия", + city: "Абаза", + operator: "", + desc: "" + }, { + mask: "+7(391)###-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(391)2##-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Красноярск", + operator: "", + desc: "" + }, { + mask: "+7(39131)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Сосновоборск", + operator: "", + desc: "" + }, { + mask: "+7(39132)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Минусинск", + operator: "", + desc: "" + }, { + mask: "+7(39133)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Емельяново", + operator: "", + desc: "" + }, { + mask: "+7(39134)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Краснотуранск", + operator: "", + desc: "" + }, { + mask: "+7(39135)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Идринское", + operator: "", + desc: "" + }, { + mask: "+7(39136)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Курагино", + operator: "", + desc: "" + }, { + mask: "+7(39137)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Каратузское", + operator: "", + desc: "" + }, { + mask: "+7(39138)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Ермаковское", + operator: "", + desc: "" + }, { + mask: "+7(39139)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Шушенское", + operator: "", + desc: "" + }, { + mask: "+7(39140)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Партизанское", + operator: "", + desc: "" + }, { + mask: "+7(39141)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Мотыгино", + operator: "", + desc: "" + }, { + mask: "+7(39142)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Агинское", + operator: "", + desc: "" + }, { + mask: "+7(39143)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Кодинск", + operator: "", + desc: "" + }, { + mask: "+7(39144)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Дивногорск", + operator: "", + desc: "" + }, { + mask: "+7(39145)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Лесосибирск", + operator: "", + desc: "" + }, { + mask: "+7(39146)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Уяр", + operator: "", + desc: "" + }, { + mask: "+7(39147)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Новоселово", + operator: "", + desc: "" + }, { + mask: "+7(39148)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Балахта", + operator: "", + desc: "" + }, { + mask: "+7(39149)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Шалинское", + operator: "", + desc: "" + }, { + mask: "+7(39150)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Новобирилюссы", + operator: "", + desc: "" + }, { + mask: "+7(39151)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Ачинск", + operator: "", + desc: "" + }, { + mask: "+7(39152)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Диксон", + operator: "", + desc: "" + }, { + mask: "+7(39153)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Шарыпово", + operator: "", + desc: "" + }, { + mask: "+7(39154)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Козулька", + operator: "", + desc: "" + }, { + mask: "+7(39155)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Назарово", + operator: "", + desc: "" + }, { + mask: "+7(39156)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Ужур", + operator: "", + desc: "" + }, { + mask: "+7(39157)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Боготол", + operator: "", + desc: "" + }, { + mask: "+7(39158)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Тюхтет", + operator: "", + desc: "" + }, { + mask: "+7(39159)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Большой Улуй", + operator: "", + desc: "" + }, { + mask: "+7(39160)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Северо-Енисейский", + operator: "", + desc: "" + }, { + mask: "+7(39161)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Канск", + operator: "", + desc: "" + }, { + mask: "+7(39162)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Богучаны", + operator: "", + desc: "" + }, { + mask: "+7(39163)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Абан", + operator: "", + desc: "" + }, { + mask: "+7(39164)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Тасеево", + operator: "", + desc: "" + }, { + mask: "+7(39165)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Заозерный", + operator: "", + desc: "" + }, { + mask: "+7(39166)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Пировское", + operator: "", + desc: "" + }, { + mask: "+7(39167)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Дзержинское", + operator: "", + desc: "" + }, { + mask: "+7(39168)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Бородино", + operator: "", + desc: "" + }, { + mask: "+7(39169)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Зеленогорск", + operator: "", + desc: "" + }, { + mask: "+7(39170)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Тура", + operator: "", + desc: "" + }, { + mask: "+7(39171)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Нижний Ингаш", + operator: "", + desc: "" + }, { + mask: "+7(39172)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Игарка", + operator: "", + desc: "" + }, { + mask: "+7(39173)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Иланский", + operator: "", + desc: "" + }, { + mask: "+7(39174)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Ирбейское", + operator: "", + desc: "" + }, { + mask: "+7(39175)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Берёзовка", + operator: "", + desc: "" + }, { + mask: "+7(39176)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Хатанга", + operator: "", + desc: "" + }, { + mask: "+7(39177)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Ванавара", + operator: "", + desc: "" + }, { + mask: "+7(39178)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Байкит", + operator: "", + desc: "" + }, { + mask: "+7(39179)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Караул", + operator: "", + desc: "" + }, { + mask: "+7(3919)2#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Норильск", + operator: "", + desc: "" + }, { + mask: "+7(3919)4#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Норильск", + operator: "", + desc: "" + }, { + mask: "+7(39190)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Туруханск", + operator: "", + desc: "" + }, { + mask: "+7(39191)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Дудинка", + operator: "", + desc: "" + }, { + mask: "+7(39193)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Снежногорск", + operator: "", + desc: "" + }, { + mask: "+7(39195)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Енисейск", + operator: "", + desc: "" + }, { + mask: "+7(39196)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Казачинское", + operator: "", + desc: "" + }, { + mask: "+7(39197)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Железногорск", + operator: "", + desc: "" + }, { + mask: "+7(39198)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Большая Мурта", + operator: "", + desc: "" + }, { + mask: "+7(39199)#-##-##", + cc: "RU", + cd: "Russia", + region: "Красноярский край", + city: "Сухобузимское", + operator: "", + desc: "" + }, { + mask: "+7(394)###-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Тыва", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(3942)##-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Тыва", + city: "Кызыл", + operator: "", + desc: "" + }, { + mask: "+7(39432)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Тыва", + city: "Сарыг-Сеп", + operator: "", + desc: "" + }, { + mask: "+7(39433)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Тыва", + city: "Ак-Довурак", + operator: "", + desc: "" + }, { + mask: "+7(39434)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Тыва", + city: "Чадан", + operator: "", + desc: "" + }, { + mask: "+7(39435)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Тыва", + city: "Туран", + operator: "", + desc: "" + }, { + mask: "+7(39436)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Тыва", + city: "Шагонар", + operator: "", + desc: "" + }, { + mask: "+7(39437)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Тыва", + city: "Бай-Хаак", + operator: "", + desc: "" + }, { + mask: "+7(39438)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Тыва", + city: "Самагалтай", + operator: "", + desc: "" + }, { + mask: "+7(39439)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Тыва", + city: "Эрзин", + operator: "", + desc: "" + }, { + mask: "+7(39441)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Тыва", + city: "Кызыл-Мажалык", + operator: "", + desc: "" + }, { + mask: "+7(39442)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Тыва", + city: "Тээли", + operator: "", + desc: "" + }, { + mask: "+7(39444)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Тыва", + city: "Хандагайты", + operator: "", + desc: "" + }, { + mask: "+7(39445)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Тыва", + city: "Суг-Аксы", + operator: "", + desc: "" + }, { + mask: "+7(39450)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Тыва", + city: "Тоора-Хем", + operator: "", + desc: "" + }, { + mask: "+7(39451)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Тыва", + city: "Мугур-Аксы", + operator: "", + desc: "" + }, { + mask: "+7(395)###-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(3952)##-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Иркутск", + operator: "", + desc: "" + }, { + mask: "+7(3953)##-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Братск", + operator: "", + desc: "" + }, { + mask: "+7(39530)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Тулун", + operator: "", + desc: "" + }, { + mask: "+7(39535)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Усть-Илимск", + operator: "", + desc: "" + }, { + mask: "+7(39536)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Куйтун", + operator: "", + desc: "" + }, { + mask: "+7(39537)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Баяндай", + operator: "", + desc: "" + }, { + mask: "+7(39538)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Бохан", + operator: "", + desc: "" + }, { + mask: "+7(39539)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Оса", + operator: "", + desc: "" + }, { + mask: "+7(39540)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Качуг", + operator: "", + desc: "" + }, { + mask: "+7(39541)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Усть-Ордынский", + operator: "", + desc: "" + }, { + mask: "+7(39542)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Байкальск", + operator: "", + desc: "" + }, { + mask: "+7(39543)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Усолье-Сибирское", + operator: "", + desc: "" + }, { + mask: "+7(39544)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Слюдянка", + operator: "", + desc: "" + }, { + mask: "+7(39545)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Усть-Уда", + operator: "", + desc: "" + }, { + mask: "+7(39546)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Черемхово", + operator: "", + desc: "" + }, { + mask: "+7(39548)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Балаганск", + operator: "", + desc: "" + }, { + mask: "+7(39549)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Новонукутский", + operator: "", + desc: "" + }, { + mask: "+7(3955)##-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Ангарск", + operator: "", + desc: "" + }, { + mask: "+7(39550)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Шелехов", + operator: "", + desc: "" + }, { + mask: "+7(39551)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Жигалово", + operator: "", + desc: "" + }, { + mask: "+7(39552)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Залари", + operator: "", + desc: "" + }, { + mask: "+7(39553)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Саянск", + operator: "", + desc: "" + }, { + mask: "+7(39554)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Зима", + operator: "", + desc: "" + }, { + mask: "+7(39557)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Нижнеудинск", + operator: "", + desc: "" + }, { + mask: "+7(39558)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Ольхонск", + operator: "", + desc: "" + }, { + mask: "+7(39559)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Еланцы", + operator: "", + desc: "" + }, { + mask: "+7(39560)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Ербогачен", + operator: "", + desc: "" + }, { + mask: "+7(39561)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Бодайбо", + operator: "", + desc: "" + }, { + mask: "+7(39562)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Казачинское", + operator: "", + desc: "" + }, { + mask: "+7(39563)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Тайшет", + operator: "", + desc: "" + }, { + mask: "+7(39564)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Кутулик", + operator: "", + desc: "" + }, { + mask: "+7(39565)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Усть-Кут", + operator: "", + desc: "" + }, { + mask: "+7(39566)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Железногорск-Илимский", + operator: "", + desc: "" + }, { + mask: "+7(39567)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Чунский", + operator: "", + desc: "" + }, { + mask: "+7(39568)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Киренск", + operator: "", + desc: "" + }, { + mask: "+7(39569)#-##-##", + cc: "RU", + cd: "Russia", + region: "Иркутская область", + city: "Мама", + operator: "", + desc: "" + }, { + mask: "+7(401)###-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4012)##-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Калининград", + operator: "", + desc: "" + }, { + mask: "+7(40141)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Черняховск", + operator: "", + desc: "" + }, { + mask: "+7(40142)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Озёрск", + operator: "", + desc: "" + }, { + mask: "+7(40143)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Гусев", + operator: "", + desc: "" + }, { + mask: "+7(40144)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Нестеров", + operator: "", + desc: "" + }, { + mask: "+7(40145)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Балтийск", + operator: "", + desc: "" + }, { + mask: "+7(40150)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Зеленоградск", + operator: "", + desc: "" + }, { + mask: "+7(40151)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Гурьевск", + operator: "", + desc: "" + }, { + mask: "+7(40152)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Светлый", + operator: "", + desc: "" + }, { + mask: "+7(40153)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Светлогорск", + operator: "", + desc: "" + }, { + mask: "+7(40155)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Пионерский", + operator: "", + desc: "" + }, { + mask: "+7(40156)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Багратионовск", + operator: "", + desc: "" + }, { + mask: "+7(40157)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Правдинск", + operator: "", + desc: "" + }, { + mask: "+7(40158)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Полесск", + operator: "", + desc: "" + }, { + mask: "+7(40159)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Гвардейск", + operator: "", + desc: "" + }, { + mask: "+7(40161)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Советск", + operator: "", + desc: "" + }, { + mask: "+7(40162)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Неман", + operator: "", + desc: "" + }, { + mask: "+7(40163)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Славск", + operator: "", + desc: "" + }, { + mask: "+7(40164)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калининградская область", + city: "Краснознаменск", + operator: "", + desc: "" + }, { + mask: "+7(411)###-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4112)##-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Якутск", + operator: "", + desc: "" + }, { + mask: "+7(41131)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Бердигестях", + operator: "", + desc: "" + }, { + mask: "+7(41132)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Вилюйск", + operator: "", + desc: "" + }, { + mask: "+7(41133)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Верхневилюйск", + operator: "", + desc: "" + }, { + mask: "+7(41134)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Нюрба", + operator: "", + desc: "" + }, { + mask: "+7(41135)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Сунтар", + operator: "", + desc: "" + }, { + mask: "+7(41136)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Мирный", + operator: "", + desc: "" + }, { + mask: "+7(41137)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Ленск", + operator: "", + desc: "" + }, { + mask: "+7(41138)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Олёкминск", + operator: "", + desc: "" + }, { + mask: "+7(41140)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Солнечный", + operator: "", + desc: "" + }, { + mask: "+7(41141)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Усть-Мая", + operator: "", + desc: "" + }, { + mask: "+7(41142)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Амга", + operator: "", + desc: "" + }, { + mask: "+7(41143)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Майя", + operator: "", + desc: "" + }, { + mask: "+7(41144)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Покровск", + operator: "", + desc: "" + }, { + mask: "+7(41145)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Алдан", + operator: "", + desc: "" + }, { + mask: "+7(41147)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Нерюнгри", + operator: "", + desc: "" + }, { + mask: "+7(41150)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Хонуу", + operator: "", + desc: "" + }, { + mask: "+7(41151)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Чурапча", + operator: "", + desc: "" + }, { + mask: "+7(41152)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Ытык-Кюёль", + operator: "", + desc: "" + }, { + mask: "+7(41153)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Хандыга", + operator: "", + desc: "" + }, { + mask: "+7(41154)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Усть-Нера", + operator: "", + desc: "" + }, { + mask: "+7(41155)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Зырянка", + operator: "", + desc: "" + }, { + mask: "+7(41156)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Среднеколымск", + operator: "", + desc: "" + }, { + mask: "+7(41157)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Черский", + operator: "", + desc: "" + }, { + mask: "+7(41158)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Чокурдах", + operator: "", + desc: "" + }, { + mask: "+7(41159)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Белая Гора", + operator: "", + desc: "" + }, { + mask: "+7(41160)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Батагай-Алыта", + operator: "", + desc: "" + }, { + mask: "+7(41161)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Борогонцы", + operator: "", + desc: "" + }, { + mask: "+7(41162)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Намцы", + operator: "", + desc: "" + }, { + mask: "+7(41163)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Сангар", + operator: "", + desc: "" + }, { + mask: "+7(41164)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Жиганск", + operator: "", + desc: "" + }, { + mask: "+7(41165)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Батагай", + operator: "", + desc: "" + }, { + mask: "+7(41166)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Депутатский", + operator: "", + desc: "" + }, { + mask: "+7(41167)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Тикси", + operator: "", + desc: "" + }, { + mask: "+7(41168)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Саскылах", + operator: "", + desc: "" + }, { + mask: "+7(41169)#-##-##", + cc: "RU", + cd: "Russia", + region: "Якутия", + city: "Оленёк", + operator: "", + desc: "" + }, { + mask: "+7(413)###-##-##", + cc: "RU", + cd: "Russia", + region: "Магаданская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4132)##-##-##", + cc: "RU", + cd: "Russia", + region: "Магаданская область", + city: "Магадан", + operator: "", + desc: "" + }, { + mask: "+7(41341)#-##-##", + cc: "RU", + cd: "Russia", + region: "Магаданская область", + city: "Ола", + operator: "", + desc: "" + }, { + mask: "+7(41342)#-##-##", + cc: "RU", + cd: "Russia", + region: "Магаданская область", + city: "Палатка", + operator: "", + desc: "" + }, { + mask: "+7(41343)#-##-##", + cc: "RU", + cd: "Russia", + region: "Магаданская область", + city: "Ягодное", + operator: "", + desc: "" + }, { + mask: "+7(41344)#-##-##", + cc: "RU", + cd: "Russia", + region: "Магаданская область", + city: "Усть-Омчуг", + operator: "", + desc: "" + }, { + mask: "+7(41345)#-##-##", + cc: "RU", + cd: "Russia", + region: "Магаданская область", + city: "Сусуман", + operator: "", + desc: "" + }, { + mask: "+7(41346)#-##-##", + cc: "RU", + cd: "Russia", + region: "Магаданская область", + city: "Омсукчан", + operator: "", + desc: "" + }, { + mask: "+7(41347)#-##-##", + cc: "RU", + cd: "Russia", + region: "Магаданская область", + city: "Сеймчан", + operator: "", + desc: "" + }, { + mask: "+7(41348)#-##-##", + cc: "RU", + cd: "Russia", + region: "Магаданская область", + city: "Эвенск", + operator: "", + desc: "" + }, { + mask: "+7(415)###-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4152)##-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Петропавловск-Камчатский", + operator: "", + desc: "" + }, { + mask: "+7(41531)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Елизово", + operator: "", + desc: "" + }, { + mask: "+7(41532)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Усть-Большерецк", + operator: "", + desc: "" + }, { + mask: "+7(41533)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Мильково", + operator: "", + desc: "" + }, { + mask: "+7(41534)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Усть-Камчатск", + operator: "", + desc: "" + }, { + mask: "+7(41535)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Вилючинск", + operator: "", + desc: "" + }, { + mask: "+7(41536)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Соболево", + operator: "", + desc: "" + }, { + mask: "+7(41537)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Тигиль", + operator: "", + desc: "" + }, { + mask: "+7(41538)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Вилючинск-3", + operator: "", + desc: "" + }, { + mask: "+7(41539)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Усть-Хайрюзово", + operator: "", + desc: "" + }, { + mask: "+7(41541)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Ключи", + operator: "", + desc: "" + }, { + mask: "+7(41542)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Эссо", + operator: "", + desc: "" + }, { + mask: "+7(41543)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Палана", + operator: "", + desc: "" + }, { + mask: "+7(41544)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Тиличики", + operator: "", + desc: "" + }, { + mask: "+7(41545)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Оссора", + operator: "", + desc: "" + }, { + mask: "+7(41546)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Каменское", + operator: "", + desc: "" + }, { + mask: "+7(41547)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Никольское", + operator: "", + desc: "" + }, { + mask: "+7(41548)#-##-##", + cc: "RU", + cd: "Russia", + region: "Камчатский край", + city: "Козыревск", + operator: "", + desc: "" + }, { + mask: "+7(416)###-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4162)##-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: [ "Благовещенск", "Благовещенский район" ], + operator: "", + desc: "" + }, { + mask: "+7(41631)2-0#-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Ивановский район", + operator: "Транссвязьтелеком", + desc: "" + }, { + mask: "+7(41632)3-0#-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Октябрьский район", + operator: "Транссвязьтелеком", + desc: "" + }, { + mask: "+7(41633)3-0#-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Райчихинск", + operator: "Транссвязьтелеком", + desc: "" + }, { + mask: "+7(41634)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Бурейский район", + operator: "", + desc: "" + }, { + mask: "+7(41637)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Михайловский район", + operator: "", + desc: "" + }, { + mask: "+7(41638)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Тамбовский район", + operator: "", + desc: "" + }, { + mask: "+7(41639)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Константиновский район", + operator: "", + desc: "" + }, { + mask: "+7(41641)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Белогорский район", + operator: "", + desc: "" + }, { + mask: "+7(41642)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Серышевский район", + operator: "", + desc: "" + }, { + mask: "+7(41643)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Свободненский район", + operator: "", + desc: "" + }, { + mask: "+7(41644)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Мазановский район", + operator: "", + desc: "" + }, { + mask: "+7(41645)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Ромненский район", + operator: "", + desc: "" + }, { + mask: "+7(41646)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Селемджинский район", + operator: "", + desc: "" + }, { + mask: "+7(41647)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Райчихинск", + operator: "", + desc: "" + }, { + mask: "+7(41648)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Архаринский район", + operator: "", + desc: "" + }, { + mask: "+7(41649)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Ивановский район", + operator: "", + desc: "" + }, { + mask: "+7(41651)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Шимановский район", + operator: "", + desc: "" + }, { + mask: "+7(41652)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Октябрьский район", + operator: "", + desc: "" + }, { + mask: "+7(41653)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Магдагачинский район", + operator: "", + desc: "" + }, { + mask: "+7(41654)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Сковородинский район", + operator: "", + desc: "" + }, { + mask: "+7(41655)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Селемджинский район", + operator: "", + desc: "" + }, { + mask: "+7(41656)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Тындинский район", + operator: "", + desc: "" + }, { + mask: "+7(41658)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Зейский район", + operator: "", + desc: "" + }, { + mask: "+7(421)###-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4212)##-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "Хабаровск", + operator: "", + desc: "" + }, { + mask: "+7(42135)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "Николаевск-на-Амуре", + operator: "", + desc: "" + }, { + mask: "+7(41636)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Завитинский район", + operator: "", + desc: "" + }, { + mask: "+7(41636)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Завитинский район", + operator: "", + desc: "" + }, { + mask: "+7(41636)#-##-##", + cc: "RU", + cd: "Russia", + region: "Амурская область", + city: "Завитинский район", + operator: "", + desc: "" + }, { + mask: "+7(42137)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "Ванино", + operator: "", + desc: "" + }, { + mask: "+7(42138)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "Советская Гавань", + operator: "", + desc: "" + }, { + mask: "+7(42141)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "Охотск", + operator: "", + desc: "" + }, { + mask: "+7(42142)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "Амурск", + operator: "", + desc: "" + }, { + mask: "+7(42143)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "Чумикан", + operator: "", + desc: "" + }, { + mask: "+7(42144)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "им. Полины Осипенко", + operator: "", + desc: "" + }, { + mask: "+7(42146)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "Солнечный", + operator: "", + desc: "" + }, { + mask: "+7(42147)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "Аян", + operator: "", + desc: "" + }, { + mask: "+7(42149)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "Чегдомын", + operator: "", + desc: "" + }, { + mask: "+7(42151)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "Богородское", + operator: "", + desc: "" + }, { + mask: "+7(42153)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "Вяземский", + operator: "", + desc: "" + }, { + mask: "+7(42154)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "Переяславка", + operator: "", + desc: "" + }, { + mask: "+7(42155)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "Бикин", + operator: "", + desc: "" + }, { + mask: "+7(42156)#-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "Троицкое", + operator: "", + desc: "" + }, { + mask: "+7(4217)##-##-##", + cc: "RU", + cd: "Russia", + region: "Хабаровский край", + city: "Комсомольск-на-Амуре", + operator: "", + desc: "" + }, { + mask: "+7(423)###-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Владивосток", + operator: "", + desc: "" + }, { + mask: "+7(42331)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Славянка", + operator: "", + desc: "" + }, { + mask: "+7(42334)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: [ "Вольно-Надеждинское", "Раздольное" ], + operator: "", + desc: "" + }, { + mask: "+7(42335)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Большой Камень", + operator: "", + desc: "" + }, { + mask: "+7(42337)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Артем", + operator: "", + desc: "" + }, { + mask: "+7(42339)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Фокино", + operator: "", + desc: "" + }, { + mask: "+7(4234)##-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Уссурийск", + operator: "", + desc: "" + }, { + mask: "+7(42344)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Покровка", + operator: "", + desc: "" + }, { + mask: "+7(42345)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Пограничный", + operator: "", + desc: "" + }, { + mask: "+7(42346)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Михайловка", + operator: "", + desc: "" + }, { + mask: "+7(42347)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Хороль", + operator: "", + desc: "" + }, { + mask: "+7(42349)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Камень-Рыболов", + operator: "", + desc: "" + }, { + mask: "+7(42351)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Черниговка", + operator: "", + desc: "" + }, { + mask: "+7(42352)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Спасск-Дальний", + operator: "", + desc: "" + }, { + mask: "+7(42354)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Кировский", + operator: "", + desc: "" + }, { + mask: "+7(42355)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Лесозаводск", + operator: "", + desc: "" + }, { + mask: "+7(42356)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Дальнереченск", + operator: "", + desc: "" + }, { + mask: "+7(42357)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Лучегорск", + operator: "", + desc: "" + }, { + mask: "+7(42359)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Новопокровка", + operator: "", + desc: "" + }, { + mask: "+7(4236)##-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: [ "Находка", "Порт Восточный" ], + operator: "", + desc: "" + }, { + mask: "+7(42361)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Арсеньев", + operator: "", + desc: "" + }, { + mask: "+7(42362)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Анучино", + operator: "", + desc: "" + }, { + mask: "+7(42363)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Партизанск", + operator: "", + desc: "" + }, { + mask: "+7(42365)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Владимиро-Александровское", + operator: "", + desc: "" + }, { + mask: "+7(42371)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Яковлевка", + operator: "", + desc: "" + }, { + mask: "+7(42372)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Чугуевка", + operator: "", + desc: "" + }, { + mask: "+7(42373)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Дальнегорск", + operator: "", + desc: "" + }, { + mask: "+7(42374)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Терней", + operator: "", + desc: "" + }, { + mask: "+7(42375)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Кавалерово", + operator: "", + desc: "" + }, { + mask: "+7(42376)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Ольга", + operator: "", + desc: "" + }, { + mask: "+7(42377)#-##-##", + cc: "RU", + cd: "Russia", + region: "Приморский край", + city: "Лазо", + operator: "", + desc: "" + }, { + mask: "+7(424)###-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4242)##-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Южно-Сахалинск", + operator: "", + desc: "" + }, { + mask: "+7(42431)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Поронайск", + operator: "", + desc: "" + }, { + mask: "+7(42432)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Углегорск", + operator: "", + desc: "" + }, { + mask: "+7(42433)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Холмск", + operator: "", + desc: "" + }, { + mask: "+7(42434)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Александровск-Сахалинский", + operator: "", + desc: "" + }, { + mask: "+7(42435)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Корсаков", + operator: "", + desc: "" + }, { + mask: "+7(42436)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Невельск", + operator: "", + desc: "" + }, { + mask: "+7(42437)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Оха", + operator: "", + desc: "" + }, { + mask: "+7(42441)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Анива", + operator: "", + desc: "" + }, { + mask: "+7(42442)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Долинск", + operator: "", + desc: "" + }, { + mask: "+7(42443)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Макаров", + operator: "", + desc: "" + }, { + mask: "+7(42444)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Ноглики", + operator: "", + desc: "" + }, { + mask: "+7(42446)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Томари", + operator: "", + desc: "" + }, { + mask: "+7(42447)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Тымовское", + operator: "", + desc: "" + }, { + mask: "+7(42452)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Смирных", + operator: "", + desc: "" + }, { + mask: "+7(42453)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Северо-Курильск", + operator: "", + desc: "" + }, { + mask: "+7(42454)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Курильск", + operator: "", + desc: "" + }, { + mask: "+7(42455)#-##-##", + cc: "RU", + cd: "Russia", + region: "Сахалинская область", + city: "Южно-Курильск", + operator: "", + desc: "" + }, { + mask: "+7(426)###-##-##", + cc: "RU", + cd: "Russia", + region: "Еврейская автономная область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(42622)#-##-##", + cc: "RU", + cd: "Russia", + region: "Еврейская автономная область", + city: "Биробиджан", + operator: "", + desc: "" + }, { + mask: "+7(42632)#-##-##", + cc: "RU", + cd: "Russia", + region: "Еврейская автономная область", + city: "Смидович", + operator: "", + desc: "" + }, { + mask: "+7(42663)#-##-##", + cc: "RU", + cd: "Russia", + region: "Еврейская автономная область", + city: "Ленинское", + operator: "", + desc: "" + }, { + mask: "+7(42665)#-##-##", + cc: "RU", + cd: "Russia", + region: "Еврейская автономная область", + city: "Амурзет", + operator: "", + desc: "" + }, { + mask: "+7(42666)#-##-##", + cc: "RU", + cd: "Russia", + region: "Еврейская автономная область", + city: "Облучье", + operator: "", + desc: "" + }, { + mask: "+7(427)###-##-##", + cc: "RU", + cd: "Russia", + region: "Чукотский автономный округ", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(42722)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чукотский автономный округ", + city: "Анадырь", + operator: "", + desc: "" + }, { + mask: "+7(42732)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чукотский автономный округ", + city: "Угольные Копи", + operator: "", + desc: "" + }, { + mask: "+7(42733)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чукотский автономный округ", + city: "Беринговский", + operator: "", + desc: "" + }, { + mask: "+7(42734)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чукотский автономный округ", + city: "Эгвекинот", + operator: "", + desc: "" + }, { + mask: "+7(42735)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чукотский автономный округ", + city: "Провидения", + operator: "", + desc: "" + }, { + mask: "+7(42736)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чукотский автономный округ", + city: "Лаврентия", + operator: "", + desc: "" + }, { + mask: "+7(42737)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чукотский автономный округ", + city: "Певек", + operator: "", + desc: "" + }, { + mask: "+7(42738)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чукотский автономный округ", + city: "Билибино", + operator: "", + desc: "" + }, { + mask: "+7(42739)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чукотский автономный округ", + city: "Мыс Шмидта", + operator: "", + desc: "" + }, { + mask: "+7(471)###-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4712)##-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Курск", + operator: "", + desc: "" + }, { + mask: "+7(47131)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Курчатов", + operator: "", + desc: "" + }, { + mask: "+7(47132)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Глушково", + operator: "", + desc: "" + }, { + mask: "+7(47133)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Горшечное", + operator: "", + desc: "" + }, { + mask: "+7(47134)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Пристень", + operator: "", + desc: "" + }, { + mask: "+7(47135)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Поныри", + operator: "", + desc: "" + }, { + mask: "+7(47136)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Большое Солдатское", + operator: "", + desc: "" + }, { + mask: "+7(47137)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Хомутовка", + operator: "", + desc: "" + }, { + mask: "+7(47140)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Льгов", + operator: "", + desc: "" + }, { + mask: "+7(47141)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Обоянь", + operator: "", + desc: "" + }, { + mask: "+7(47142)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Прямицыно", + operator: "", + desc: "" + }, { + mask: "+7(47143)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Суджа", + operator: "", + desc: "" + }, { + mask: "+7(47144)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Фатеж", + operator: "", + desc: "" + }, { + mask: "+7(47145)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Щигры", + operator: "", + desc: "" + }, { + mask: "+7(47146)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Медвенка", + operator: "", + desc: "" + }, { + mask: "+7(47147)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Коренево", + operator: "", + desc: "" + }, { + mask: "+7(47148)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Железногорск", + operator: "", + desc: "" + }, { + mask: "+7(47149)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Белая", + operator: "", + desc: "" + }, { + mask: "+7(47150)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Дмитриев-Льговский", + operator: "", + desc: "" + }, { + mask: "+7(47151)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Золотухино", + operator: "", + desc: "" + }, { + mask: "+7(47152)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Рыльск", + operator: "", + desc: "" + }, { + mask: "+7(47153)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Тим", + operator: "", + desc: "" + }, { + mask: "+7(47154)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Солнцево", + operator: "", + desc: "" + }, { + mask: "+7(47155)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Мантурово", + operator: "", + desc: "" + }, { + mask: "+7(47156)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Конышевка", + operator: "", + desc: "" + }, { + mask: "+7(47157)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Касторное", + operator: "", + desc: "" + }, { + mask: "+7(47158)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Кшенский", + operator: "", + desc: "" + }, { + mask: "+7(47159)#-##-##", + cc: "RU", + cd: "Russia", + region: "Курская область", + city: "Черемисиново", + operator: "", + desc: "" + }, { + mask: "+7(472)###-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4722)##-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Белгород", + operator: "", + desc: "" + }, { + mask: "+7(47231)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Короча", + operator: "", + desc: "" + }, { + mask: "+7(47232)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Чернянка", + operator: "", + desc: "" + }, { + mask: "+7(47233)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Новый Оскол", + operator: "", + desc: "" + }, { + mask: "+7(47234)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Алексеевка", + operator: "", + desc: "" + }, { + mask: "+7(47235)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Волоконовка", + operator: "", + desc: "" + }, { + mask: "+7(47236)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Валуйки", + operator: "", + desc: "" + }, { + mask: "+7(47237)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Вейделевка", + operator: "", + desc: "" + }, { + mask: "+7(47238)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Ровеньки", + operator: "", + desc: "" + }, { + mask: "+7(47241)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Губкин", + operator: "", + desc: "" + }, { + mask: "+7(47242)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Прохоровка", + operator: "", + desc: "" + }, { + mask: "+7(47243)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Ивня", + operator: "", + desc: "" + }, { + mask: "+7(47244)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Строитель", + operator: "", + desc: "" + }, { + mask: "+7(47245)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Ракитное", + operator: "", + desc: "" + }, { + mask: "+7(47246)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Борисовка", + operator: "", + desc: "" + }, { + mask: "+7(47247)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Красногвардейское", + operator: "", + desc: "" + }, { + mask: "+7(47248)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Шебекино", + operator: "", + desc: "" + }, { + mask: "+7(4725)##-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Старый Оскол", + operator: "", + desc: "" + }, { + mask: "+7(47261)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Грайворон", + operator: "", + desc: "" + }, { + mask: "+7(47262)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Красное", + operator: "", + desc: "" + }, { + mask: "+7(47263)#-##-##", + cc: "RU", + cd: "Russia", + region: "Белгородская область", + city: "Красная Яруга", + operator: "", + desc: "" + }, { + mask: "+7(473)###-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Воронеж", + operator: "", + desc: "" + }, { + mask: "+7(47340)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Рамонь", + operator: "", + desc: "" + }, { + mask: "+7(47341)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Новая Усмань", + operator: "", + desc: "" + }, { + mask: "+7(47342)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Каширское", + operator: "", + desc: "" + }, { + mask: "+7(47343)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Верхняя Хава", + operator: "", + desc: "" + }, { + mask: "+7(47344)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Панино", + operator: "", + desc: "" + }, { + mask: "+7(47345)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Эртиль", + operator: "", + desc: "" + }, { + mask: "+7(47346)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Анна", + operator: "", + desc: "" + }, { + mask: "+7(47347)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Терновка", + operator: "", + desc: "" + }, { + mask: "+7(47348)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Грибановский", + operator: "", + desc: "" + }, { + mask: "+7(47350)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Бобров", + operator: "", + desc: "" + }, { + mask: "+7(47352)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Таловая", + operator: "", + desc: "" + }, { + mask: "+7(47353)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Новохоперск", + operator: "", + desc: "" + }, { + mask: "+7(47354)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Борисоглебск", + operator: "", + desc: "" + }, { + mask: "+7(47355)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Верхний Мамон", + operator: "", + desc: "" + }, { + mask: "+7(47356)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Воробьёвка", + operator: "", + desc: "" + }, { + mask: "+7(47357)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Каменка", + operator: "", + desc: "" + }, { + mask: "+7(47361)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Бутурлиновка", + operator: "", + desc: "" + }, { + mask: "+7(47362)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Павловск", + operator: "", + desc: "" + }, { + mask: "+7(47363)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Калач", + operator: "", + desc: "" + }, { + mask: "+7(47364)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Нововоронеж", + operator: "", + desc: "" + }, { + mask: "+7(47365)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Петропавловка", + operator: "", + desc: "" + }, { + mask: "+7(47366)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Богучар", + operator: "", + desc: "" + }, { + mask: "+7(47367)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Кантемировка", + operator: "", + desc: "" + }, { + mask: "+7(47370)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Нижнедевицк", + operator: "", + desc: "" + }, { + mask: "+7(47371)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Хохольский", + operator: "", + desc: "" + }, { + mask: "+7(47372)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: [ "Семилуки", "Семилукский район" ], + operator: "", + desc: "" + }, { + mask: "+7(47374)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Репьевка", + operator: "", + desc: "" + }, { + mask: "+7(47375)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Острогожск", + operator: "", + desc: "" + }, { + mask: "+7(47376)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Поворино", + operator: "", + desc: "" + }, { + mask: "+7(47391)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Лиски", + operator: "", + desc: "" + }, { + mask: "+7(47394)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Подгоренский", + operator: "", + desc: "" + }, { + mask: "+7(47395)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Ольховатка", + operator: "", + desc: "" + }, { + mask: "+7(47396)#-##-##", + cc: "RU", + cd: "Russia", + region: "Воронежская область", + city: "Россошь", + operator: "", + desc: "" + }, { + mask: "+7(474)###-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4742)##-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Липецк", + operator: "", + desc: "" + }, { + mask: "+7(47461)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Грязи", + operator: "", + desc: "" + }, { + mask: "+7(47462)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Добринка", + operator: "", + desc: "" + }, { + mask: "+7(47463)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Доброе", + operator: "", + desc: "" + }, { + mask: "+7(47464)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Лев Толстой", + operator: "", + desc: "" + }, { + mask: "+7(47465)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Данков", + operator: "", + desc: "" + }, { + mask: "+7(47466)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Лебедянь", + operator: "", + desc: "" + }, { + mask: "+7(47467)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Елец", + operator: "", + desc: "" + }, { + mask: "+7(47468)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Долгоруково", + operator: "", + desc: "" + }, { + mask: "+7(47469)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Красное", + operator: "", + desc: "" + }, { + mask: "+7(47471)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Задонск", + operator: "", + desc: "" + }, { + mask: "+7(47472)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Усмань", + operator: "", + desc: "" + }, { + mask: "+7(47473)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Волово", + operator: "", + desc: "" + }, { + mask: "+7(47474)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Тербуны", + operator: "", + desc: "" + }, { + mask: "+7(47475)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Чаплыгин", + operator: "", + desc: "" + }, { + mask: "+7(47476)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Становое", + operator: "", + desc: "" + }, { + mask: "+7(47477)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Хлевное", + operator: "", + desc: "" + }, { + mask: "+7(47478)#-##-##", + cc: "RU", + cd: "Russia", + region: "Липецкая область", + city: "Измалково", + operator: "", + desc: "" + }, { + mask: "+7(475)###-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4752)##-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Тамбов", + operator: "", + desc: "" + }, { + mask: "+7(47531)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Рассказово", + operator: "", + desc: "" + }, { + mask: "+7(47532)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Сосновка", + operator: "", + desc: "" + }, { + mask: "+7(47533)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Моршанск", + operator: "", + desc: "" + }, { + mask: "+7(47534)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Бондари", + operator: "", + desc: "" + }, { + mask: "+7(47535)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Жердевка", + operator: "", + desc: "" + }, { + mask: "+7(47536)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Дмитриевка", + operator: "", + desc: "" + }, { + mask: "+7(47537)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Кирсанов", + operator: "", + desc: "" + }, { + mask: "+7(47541)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Котовск", + operator: "", + desc: "" + }, { + mask: "+7(47542)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Мордово", + operator: "", + desc: "" + }, { + mask: "+7(47543)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Староюрьево", + operator: "", + desc: "" + }, { + mask: "+7(47544)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Петровское", + operator: "", + desc: "" + }, { + mask: "+7(47545)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Мичуринск", + operator: "", + desc: "" + }, { + mask: "+7(47546)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Мучкапский", + operator: "", + desc: "" + }, { + mask: "+7(47548)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Первомайский", + operator: "", + desc: "" + }, { + mask: "+7(47551)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Гавриловка Вторая", + operator: "", + desc: "" + }, { + mask: "+7(47552)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Знаменка", + operator: "", + desc: "" + }, { + mask: "+7(47553)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Инжавино", + operator: "", + desc: "" + }, { + mask: "+7(47554)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Пичаево", + operator: "", + desc: "" + }, { + mask: "+7(47555)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Ржакса", + operator: "", + desc: "" + }, { + mask: "+7(47556)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Сатинка", + operator: "", + desc: "" + }, { + mask: "+7(47557)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Токарёвка", + operator: "", + desc: "" + }, { + mask: "+7(47558)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Уварово", + operator: "", + desc: "" + }, { + mask: "+7(47559)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тамбовская область", + city: "Умёт", + operator: "", + desc: "" + }, { + mask: "+7(481)###-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4812)##-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Смоленск", + operator: "", + desc: "" + }, { + mask: "+7(48130)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Сычевка", + operator: "", + desc: "" + }, { + mask: "+7(48131)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Вязьма", + operator: "", + desc: "" + }, { + mask: "+7(48132)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Велиж", + operator: "", + desc: "" + }, { + mask: "+7(48133)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Шумячи", + operator: "", + desc: "" + }, { + mask: "+7(48134)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Рославль", + operator: "", + desc: "" + }, { + mask: "+7(48135)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Гагарин", + operator: "", + desc: "" + }, { + mask: "+7(48136)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Тёмкино", + operator: "", + desc: "" + }, { + mask: "+7(48137)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Угра", + operator: "", + desc: "" + }, { + mask: "+7(48138)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Новодугино", + operator: "", + desc: "" + }, { + mask: "+7(48139)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Холм-Жирковский", + operator: "", + desc: "" + }, { + mask: "+7(48140)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Хиславичи", + operator: "", + desc: "" + }, { + mask: "+7(48141)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Рудня", + operator: "", + desc: "" + }, { + mask: "+7(48142)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Сафоново", + operator: "", + desc: "" + }, { + mask: "+7(48143)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Ярцево", + operator: "", + desc: "" + }, { + mask: "+7(48144)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Дорогобуж", + operator: "", + desc: "" + }, { + mask: "+7(48145)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Красный", + operator: "", + desc: "" + }, { + mask: "+7(48146)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Ельня", + operator: "", + desc: "" + }, { + mask: "+7(48147)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Демидов", + operator: "", + desc: "" + }, { + mask: "+7(48148)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Монастырщина", + operator: "", + desc: "" + }, { + mask: "+7(48149)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Починок", + operator: "", + desc: "" + }, { + mask: "+7(48153)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Десногорск", + operator: "", + desc: "" + }, { + mask: "+7(48155)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Ершичи", + operator: "", + desc: "" + }, { + mask: "+7(48165)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Глинка", + operator: "", + desc: "" + }, { + mask: "+7(48166)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Духовщина", + operator: "", + desc: "" + }, { + mask: "+7(48167)#-##-##", + cc: "RU", + cd: "Russia", + region: "Смоленская область", + city: "Кардымово", + operator: "", + desc: "" + }, { + mask: "+7(482)###-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4822)##-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Тверь", + operator: "", + desc: "" + }, { + mask: "+7(48230)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Пено", + operator: "", + desc: "" + }, { + mask: "+7(48231)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Бежецк", + operator: "", + desc: "" + }, { + mask: "+7(48232)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Ржев", + operator: "", + desc: "" + }, { + mask: "+7(48233)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Вышний Волочек", + operator: "", + desc: "" + }, { + mask: "+7(48234)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Кашин", + operator: "", + desc: "" + }, { + mask: "+7(48235)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Осташков", + operator: "", + desc: "" + }, { + mask: "+7(48236)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Кимры", + operator: "", + desc: "" + }, { + mask: "+7(48237)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Красный Холм", + operator: "", + desc: "" + }, { + mask: "+7(48238)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Бологое", + operator: "", + desc: "" + }, { + mask: "+7(48239)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Фирово", + operator: "", + desc: "" + }, { + mask: "+7(48242)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Конаково", + operator: "", + desc: "" + }, { + mask: "+7(48244)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Рамешки", + operator: "", + desc: "" + }, { + mask: "+7(48246)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Сонково", + operator: "", + desc: "" + }, { + mask: "+7(48249)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Калязин", + operator: "", + desc: "" + }, { + mask: "+7(48250)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Белый", + operator: "", + desc: "" + }, { + mask: "+7(48251)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Торжок", + operator: "", + desc: "" + }, { + mask: "+7(48253)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Максатиха", + operator: "", + desc: "" + }, { + mask: "+7(48255)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Удомля", + operator: "", + desc: "" + }, { + mask: "+7(48257)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Кувшиново", + operator: "", + desc: "" + }, { + mask: "+7(48258)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Оленино", + operator: "", + desc: "" + }, { + mask: "+7(48261)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Лихославль", + operator: "", + desc: "" + }, { + mask: "+7(48262)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Зубцов", + operator: "", + desc: "" + }, { + mask: "+7(48263)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Старица", + operator: "", + desc: "" + }, { + mask: "+7(48264)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Весьегонск", + operator: "", + desc: "" + }, { + mask: "+7(48265)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Западная Двина", + operator: "", + desc: "" + }, { + mask: "+7(48266)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Нелидово", + operator: "", + desc: "" + }, { + mask: "+7(48267)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Андреаполь", + operator: "", + desc: "" + }, { + mask: "+7(48268)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Торопец", + operator: "", + desc: "" + }, { + mask: "+7(48269)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Селижарово", + operator: "", + desc: "" + }, { + mask: "+7(48271)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Лесное", + operator: "", + desc: "" + }, { + mask: "+7(48272)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Сандово", + operator: "", + desc: "" + }, { + mask: "+7(48273)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Жарковский", + operator: "", + desc: "" + }, { + mask: "+7(48274)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Кесова Гора", + operator: "", + desc: "" + }, { + mask: "+7(48275)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Молоково", + operator: "", + desc: "" + }, { + mask: "+7(48276)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тверская область", + city: "Спирово", + operator: "", + desc: "" + }, { + mask: "+7(483)###-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4832)##-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: [ "Брянск", "Сельцо", "Белые Берега" ], + operator: "", + desc: "" + }, { + mask: "+7(48330)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Сураж", + operator: "", + desc: "" + }, { + mask: "+7(48331)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Рогнедино", + operator: "", + desc: "" + }, { + mask: "+7(48332)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Дубровка", + operator: "", + desc: "" + }, { + mask: "+7(48333)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: [ "Дятьково", "Фокино" ], + operator: "", + desc: "" + }, { + mask: "+7(48334)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Жуковка", + operator: "", + desc: "" + }, { + mask: "+7(48335)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Карачев", + operator: "", + desc: "" + }, { + mask: "+7(48336)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Клинцы", + operator: "", + desc: "" + }, { + mask: "+7(48338)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Клетня", + operator: "", + desc: "" + }, { + mask: "+7(48339)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Мглин", + operator: "", + desc: "" + }, { + mask: "+7(48340)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Гордеевка", + operator: "", + desc: "" + }, { + mask: "+7(48341)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Выгоничи", + operator: "", + desc: "" + }, { + mask: "+7(48342)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Навля", + operator: "", + desc: "" + }, { + mask: "+7(48343)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Новозыбков", + operator: "", + desc: "" + }, { + mask: "+7(48344)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Жирятино", + operator: "", + desc: "" + }, { + mask: "+7(48345)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Почеп", + operator: "", + desc: "" + }, { + mask: "+7(48346)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Красная Гора", + operator: "", + desc: "" + }, { + mask: "+7(48347)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Климово", + operator: "", + desc: "" + }, { + mask: "+7(48348)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Стародуб", + operator: "", + desc: "" + }, { + mask: "+7(48349)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Погар", + operator: "", + desc: "" + }, { + mask: "+7(48351)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Унеча", + operator: "", + desc: "" + }, { + mask: "+7(48352)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Трубчевск", + operator: "", + desc: "" + }, { + mask: "+7(48353)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Суземка", + operator: "", + desc: "" + }, { + mask: "+7(48354)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Локоть", + operator: "", + desc: "" + }, { + mask: "+7(48355)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Комаричи", + operator: "", + desc: "" + }, { + mask: "+7(48356)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Севск", + operator: "", + desc: "" + }, { + mask: "+7(48358)#-##-##", + cc: "RU", + cd: "Russia", + region: "Брянская область", + city: "Злынка", + operator: "", + desc: "" + }, { + mask: "+7(484)###-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4842)##-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Калуга", + operator: "", + desc: "" + }, { + mask: "+7(48431)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Малоярославец", + operator: "", + desc: "" + }, { + mask: "+7(48432)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Жуков", + operator: "", + desc: "" + }, { + mask: "+7(48433)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Медынь", + operator: "", + desc: "" + }, { + mask: "+7(48434)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Кондрово", + operator: "", + desc: "" + }, { + mask: "+7(48435)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Таруса", + operator: "", + desc: "" + }, { + mask: "+7(48436)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Юхнов", + operator: "", + desc: "" + }, { + mask: "+7(48437)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Ферзиково", + operator: "", + desc: "" + }, { + mask: "+7(48438)2-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Балабаново", + operator: "", + desc: "" + }, { + mask: "+7(48438)4-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Боровск", + operator: "", + desc: "" + }, { + mask: "+7(48438)6-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Балабаново", + operator: "", + desc: "" + }, { + mask: "+7(48439)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Обнинск", + operator: "", + desc: "" + }, { + mask: "+7(48441)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Перемышль", + operator: "", + desc: "" + }, { + mask: "+7(48442)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Козельск", + operator: "", + desc: "" + }, { + mask: "+7(48443)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Ульяново", + operator: "", + desc: "" + }, { + mask: "+7(48444)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Людиново", + operator: "", + desc: "" + }, { + mask: "+7(48445)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Жиздра", + operator: "", + desc: "" + }, { + mask: "+7(48446)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Мещовск", + operator: "", + desc: "" + }, { + mask: "+7(48447)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Думиничи", + operator: "", + desc: "" + }, { + mask: "+7(48448)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Бабынино", + operator: "", + desc: "" + }, { + mask: "+7(48449)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Износки", + operator: "", + desc: "" + }, { + mask: "+7(48451)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Сухиничи", + operator: "", + desc: "" + }, { + mask: "+7(48452)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Мосальск", + operator: "", + desc: "" + }, { + mask: "+7(48453)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Хвастовичи", + operator: "", + desc: "" + }, { + mask: "+7(48454)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Барятино", + operator: "", + desc: "" + }, { + mask: "+7(48455)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Спас-Деменск", + operator: "", + desc: "" + }, { + mask: "+7(48456)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Киров", + operator: "", + desc: "" + }, { + mask: "+7(48457)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калужская область", + city: "Бетлица", + operator: "", + desc: "" + }, { + mask: "+7(485)###-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4852)##-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Ярославль", + operator: "", + desc: "" + }, { + mask: "+7(48531)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Некрасовское", + operator: "", + desc: "" + }, { + mask: "+7(48532)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Углич", + operator: "", + desc: "" + }, { + mask: "+7(48533)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Тутаев", + operator: "", + desc: "" + }, { + mask: "+7(48534)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Гаврилов Ям", + operator: "", + desc: "" + }, { + mask: "+7(48535)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Переславль-Залесский", + operator: "", + desc: "" + }, { + mask: "+7(48536)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Ростов", + operator: "", + desc: "" + }, { + mask: "+7(48538)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Данилов", + operator: "", + desc: "" + }, { + mask: "+7(48539)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Борисоглебский", + operator: "", + desc: "" + }, { + mask: "+7(48542)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Большое Село", + operator: "", + desc: "" + }, { + mask: "+7(48543)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Любим", + operator: "", + desc: "" + }, { + mask: "+7(48544)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Мышкин", + operator: "", + desc: "" + }, { + mask: "+7(48545)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Брейтово", + operator: "", + desc: "" + }, { + mask: "+7(48546)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Пошехонье", + operator: "", + desc: "" + }, { + mask: "+7(48547)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Новый Некоуз", + operator: "", + desc: "" + }, { + mask: "+7(48549)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Пречистое", + operator: "", + desc: "" + }, { + mask: "+7(4855)##-##-##", + cc: "RU", + cd: "Russia", + region: "Ярославская область", + city: "Рыбинск", + operator: "", + desc: "" + }, { + mask: "+7(486)###-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4862)##-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: [ "Орёл", "Орловский район" ], + operator: "", + desc: "" + }, { + mask: "+7(48640)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Болхов", + operator: "", + desc: "" + }, { + mask: "+7(48642)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Хотынец", + operator: "", + desc: "" + }, { + mask: "+7(48643)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Кромы", + operator: "", + desc: "" + }, { + mask: "+7(48644)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Шаблыкино", + operator: "", + desc: "" + }, { + mask: "+7(48645)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Змиевка", + operator: "", + desc: "" + }, { + mask: "+7(48646)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Мценск", + operator: "", + desc: "" + }, { + mask: "+7(48647)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Нарышкино", + operator: "", + desc: "" + }, { + mask: "+7(48648)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Залегощь", + operator: "", + desc: "" + }, { + mask: "+7(48649)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Дмитровск", + operator: "", + desc: "" + }, { + mask: "+7(48661)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "", + operator: "МТС", + desc: "мобильные телефоны с зоновыми номерами" + }, { + mask: "+7(48662)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Знаменское", + operator: "", + desc: "" + }, { + mask: "+7(48663)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Красная Заря", + operator: "", + desc: "" + }, { + mask: "+7(48664)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Покровское", + operator: "", + desc: "" + }, { + mask: "+7(48665)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Сосково", + operator: "", + desc: "" + }, { + mask: "+7(48666)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Тросна", + operator: "", + desc: "" + }, { + mask: "+7(48667)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Корсаково", + operator: "", + desc: "" + }, { + mask: "+7(48672)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Долгое", + operator: "", + desc: "" + }, { + mask: "+7(48673)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Новосиль", + operator: "", + desc: "" + }, { + mask: "+7(48674)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Колпны", + operator: "", + desc: "" + }, { + mask: "+7(48675)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Глазуновка", + operator: "", + desc: "" + }, { + mask: "+7(48676)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Верховье", + operator: "", + desc: "" + }, { + mask: "+7(48677)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Ливны", + operator: "", + desc: "" + }, { + mask: "+7(48678)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Хомутово", + operator: "", + desc: "" + }, { + mask: "+7(48679)#-##-##", + cc: "RU", + cd: "Russia", + region: "Орловская область", + city: "Малоархангельск", + operator: "", + desc: "" + }, { + mask: "+7(487)###-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4872)##-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Тула", + operator: "", + desc: "" + }, { + mask: "+7(48731)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Узловая", + operator: "", + desc: "" + }, { + mask: "+7(48732)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Дубна", + operator: "", + desc: "" + }, { + mask: "+7(48733)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Арсеньево", + operator: "", + desc: "" + }, { + mask: "+7(48734)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Заокский", + operator: "", + desc: "" + }, { + mask: "+7(48735)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Кимовск", + operator: "", + desc: "" + }, { + mask: "+7(48736)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Одоев", + operator: "", + desc: "" + }, { + mask: "+7(48741)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Ефремов", + operator: "", + desc: "" + }, { + mask: "+7(48742)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Белев", + operator: "", + desc: "" + }, { + mask: "+7(48743)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Куркино", + operator: "", + desc: "" + }, { + mask: "+7(48744)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Архангельское", + operator: "", + desc: "" + }, { + mask: "+7(48745)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Венев", + operator: "", + desc: "" + }, { + mask: "+7(48746)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Донской", + operator: "", + desc: "" + }, { + mask: "+7(48751)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Щекино", + operator: "", + desc: "" + }, { + mask: "+7(48752)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Плавск", + operator: "", + desc: "" + }, { + mask: "+7(48753)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Алексин", + operator: "", + desc: "" + }, { + mask: "+7(48754)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Киреевск", + operator: "", + desc: "" + }, { + mask: "+7(48755)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Тёплое", + operator: "", + desc: "" + }, { + mask: "+7(48756)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Чернь", + operator: "", + desc: "" + }, { + mask: "+7(48761)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Богородицк", + operator: "", + desc: "" + }, { + mask: "+7(48762)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Новомосковск", + operator: "", + desc: "" + }, { + mask: "+7(48763)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Суворов", + operator: "", + desc: "" + }, { + mask: "+7(48766)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Ясногорск", + operator: "", + desc: "" + }, { + mask: "+7(48767)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Ленинский", + operator: "", + desc: "" + }, { + mask: "+7(48768)#-##-##", + cc: "RU", + cd: "Russia", + region: "Тульская область", + city: "Волово", + operator: "", + desc: "" + }, { + mask: "+7(491)###-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4912)##-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: [ "Рязань", "Солотча" ], + operator: "", + desc: "" + }, { + mask: "+7(49130)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Михайлов", + operator: "", + desc: "" + }, { + mask: "+7(49131)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Касимов", + operator: "", + desc: "" + }, { + mask: "+7(49132)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Ряжск", + operator: "", + desc: "" + }, { + mask: "+7(49133)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Сасово", + operator: "", + desc: "" + }, { + mask: "+7(49135)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Спасск-Рязанский", + operator: "", + desc: "" + }, { + mask: "+7(49136)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Шилово", + operator: "", + desc: "" + }, { + mask: "+7(49137)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Рыбное", + operator: "", + desc: "" + }, { + mask: "+7(49138)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Чучково", + operator: "", + desc: "" + }, { + mask: "+7(49139)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Кадом", + operator: "", + desc: "" + }, { + mask: "+7(49141)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Новомичуринск", + operator: "", + desc: "" + }, { + mask: "+7(49142)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Спас-Клепики", + operator: "", + desc: "" + }, { + mask: "+7(49143)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Кораблино", + operator: "", + desc: "" + }, { + mask: "+7(49144)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Ермишь", + operator: "", + desc: "" + }, { + mask: "+7(49145)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Пителино", + operator: "", + desc: "" + }, { + mask: "+7(49146)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Путятино", + operator: "", + desc: "" + }, { + mask: "+7(49147)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Шацк", + operator: "", + desc: "" + }, { + mask: "+7(49148)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Сараи", + operator: "", + desc: "" + }, { + mask: "+7(49151)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Старожилово", + operator: "", + desc: "" + }, { + mask: "+7(49152)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Сапожок", + operator: "", + desc: "" + }, { + mask: "+7(49153)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Захарово", + operator: "", + desc: "" + }, { + mask: "+7(49154)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Ухолово", + operator: "", + desc: "" + }, { + mask: "+7(49155)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Пронск", + operator: "", + desc: "" + }, { + mask: "+7(49156)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Скопин", + operator: "", + desc: "" + }, { + mask: "+7(49157)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Милославское", + operator: "", + desc: "" + }, { + mask: "+7(49158)#-##-##", + cc: "RU", + cd: "Russia", + region: "Рязанская область", + city: "Александро-Невский", + operator: "", + desc: "" + }, { + mask: "+7(492)###-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4922)##-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Владимир", + operator: "", + desc: "" + }, { + mask: "+7(49231)#-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Суздаль", + operator: "", + desc: "" + }, { + mask: "+7(49232)#-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Ковров", + operator: "", + desc: "" + }, { + mask: "+7(49233)#-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Вязники", + operator: "", + desc: "" + }, { + mask: "+7(49234)#-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Муром", + operator: "", + desc: "" + }, { + mask: "+7(49235)#-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Судогда", + operator: "", + desc: "" + }, { + mask: "+7(49236)#-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Красная Горбатка", + operator: "", + desc: "" + }, { + mask: "+7(49237)#-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Киржач", + operator: "", + desc: "" + }, { + mask: "+7(49238)#-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Гороховец", + operator: "", + desc: "" + }, { + mask: "+7(49241)#-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Гусь-Хрустальный", + operator: "", + desc: "" + }, { + mask: "+7(49242)#-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Собинка", + operator: "", + desc: "" + }, { + mask: "+7(49243)2-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Петушки", + operator: "", + desc: "" + }, { + mask: "+7(49243)6-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Покров", + operator: "", + desc: "" + }, { + mask: "+7(49244)#-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Александров", + operator: "", + desc: "" + }, { + mask: "+7(49245)#-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Кольчугино", + operator: "", + desc: "" + }, { + mask: "+7(49246)#-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Юрьев-Польский", + operator: "", + desc: "" + }, { + mask: "+7(49247)#-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Меленки", + operator: "", + desc: "" + }, { + mask: "+7(49248)#-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Камешково", + operator: "", + desc: "" + }, { + mask: "+7(49254)#-##-##", + cc: "RU", + cd: "Russia", + region: "Владимирская область", + city: "Радужный", + operator: "", + desc: "" + }, { + mask: "+7(493)###-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4932)##-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Иваново", + operator: "", + desc: "" + }, { + mask: "+7(49331)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Кинешма", + operator: "", + desc: "" + }, { + mask: "+7(49333)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Заволжск", + operator: "", + desc: "" + }, { + mask: "+7(49334)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Палех", + operator: "", + desc: "" + }, { + mask: "+7(49336)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Родники", + operator: "", + desc: "" + }, { + mask: "+7(49337)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Юрьевец", + operator: "", + desc: "" + }, { + mask: "+7(49339)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Приволжск", + operator: "", + desc: "" + }, { + mask: "+7(49341)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Фурманов", + operator: "", + desc: "" + }, { + mask: "+7(49343)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Тейково", + operator: "", + desc: "" + }, { + mask: "+7(49344)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Лух", + operator: "", + desc: "" + }, { + mask: "+7(49345)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Пучеж", + operator: "", + desc: "" + }, { + mask: "+7(49346)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Пестяки", + operator: "", + desc: "" + }, { + mask: "+7(49347)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Южа", + operator: "", + desc: "" + }, { + mask: "+7(49349)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Верхний Ландех", + operator: "", + desc: "" + }, { + mask: "+7(49351)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Шуя", + operator: "", + desc: "" + }, { + mask: "+7(49352)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Комсомольск", + operator: "", + desc: "" + }, { + mask: "+7(49353)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Ильинское-Хованское", + operator: "", + desc: "" + }, { + mask: "+7(49354)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Вичуга", + operator: "", + desc: "" + }, { + mask: "+7(49355)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Гаврилов Посад", + operator: "", + desc: "" + }, { + mask: "+7(49356)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Савино", + operator: "", + desc: "" + }, { + mask: "+7(49357)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ивановская область", + city: "Лежнево", + operator: "", + desc: "" + }, { + mask: "+7(494)###-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(4942)##-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Кострома", + operator: "", + desc: "" + }, { + mask: "+7(49430)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Антропово", + operator: "", + desc: "" + }, { + mask: "+7(49431)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Нерехта", + operator: "", + desc: "" + }, { + mask: "+7(49432)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Красное-на-Волге", + operator: "", + desc: "" + }, { + mask: "+7(49433)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Судиславль", + operator: "", + desc: "" + }, { + mask: "+7(49434)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Сусанино", + operator: "", + desc: "" + }, { + mask: "+7(49435)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Буй", + operator: "", + desc: "" + }, { + mask: "+7(49436)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Солигалич", + operator: "", + desc: "" + }, { + mask: "+7(49437)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Галич", + operator: "", + desc: "" + }, { + mask: "+7(49438)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Островское", + operator: "", + desc: "" + }, { + mask: "+7(49439)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Павино", + operator: "", + desc: "" + }, { + mask: "+7(49440)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Парфеньево", + operator: "", + desc: "" + }, { + mask: "+7(49441)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Чухлома", + operator: "", + desc: "" + }, { + mask: "+7(49442)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Кадый", + operator: "", + desc: "" + }, { + mask: "+7(49443)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Кологрив", + operator: "", + desc: "" + }, { + mask: "+7(49444)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Нея", + operator: "", + desc: "" + }, { + mask: "+7(49445)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Макарьев", + operator: "", + desc: "" + }, { + mask: "+7(49446)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Мантурово", + operator: "", + desc: "" + }, { + mask: "+7(49447)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Георгиевское", + operator: "", + desc: "" + }, { + mask: "+7(49448)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Поназырево", + operator: "", + desc: "" + }, { + mask: "+7(49449)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Шарья", + operator: "", + desc: "" + }, { + mask: "+7(49450)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Вохма", + operator: "", + desc: "" + }, { + mask: "+7(49451)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Боговарово", + operator: "", + desc: "" + }, { + mask: "+7(49452)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Пыщуг", + operator: "", + desc: "" + }, { + mask: "+7(49453)#-##-##", + cc: "RU", + cd: "Russia", + region: "Костромская область", + city: "Волгореченск", + operator: "", + desc: "" + }, { + mask: "+7(495)###-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(495)323-8#-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Аэропорт Домодедово", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)323-9#-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Аэропорт Домодедово", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)338-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Мосрентген", + operator: "МГТС", + desc: "часть номеров АТС" + }, { + mask: "+7(495)339-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Мосрентген", + operator: "МГТС", + desc: "часть номеров АТС" + }, { + mask: "+7(495)355-9#-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Развилка", + operator: "ОАО «Газпромсвязь»", + desc: "" + }, { + mask: "+7(495)408-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Долгопрудный", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)439-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Московский", + operator: "ЦентрТелеком", + desc: "часть номеров АТС" + }, { + mask: "+7(495)50#-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Люберцы", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)500-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Москва", + operator: [ "Мегафон", "Центральный Телеграф" ], + desc: "" + }, { + mask: "+7(495)51#-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: [ "Королёв", "Юбилейный" ], + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)52#-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: [ "Балашиха", "Железнодорожный", "Реутов" ], + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)541-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Видное", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)542-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Москва", + operator: [ "Мегафон", "Центральный Телеграф" ], + desc: "" + }, { + mask: "+7(495)543-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Москва", + operator: [ "Мегафон", "Центральный Телеграф" ], + desc: "" + }, { + mask: "+7(495)544-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Москва", + operator: [ "Мегафон", "Центральный Телеграф" ], + desc: "" + }, { + mask: "+7(495)545-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Москва", + operator: [ "Мегафон", "Центральный Телеграф" ], + desc: "" + }, { + mask: "+7(495)546-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Москва", + operator: "Ростелеком", + desc: "" + }, { + mask: "+7(495)546-1#-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Домодедово", + operator: "Ростелеком", + desc: "" + }, { + mask: "+7(495)546-6#-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: [ "Видное", "Развилка" ], + operator: "Ростелеком", + desc: "" + }, { + mask: "+7(495)546-8#-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Домодедово", + operator: "Ростелеком", + desc: "" + }, { + mask: "+7(495)548-0#-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Видное", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)548-1#-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Видное", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)548-4#-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Видное", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)548-5#-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Видное", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)548-6#-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Поселок совхоза им. Ленина", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)548-7#-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: [ "Поселок совхоза им. Ленина", "Поселок Володарского", "Горки Ленинские" ], + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)548-8#-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: [ "Поселок Володарского", "Горки Ленинские" ], + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)548-9#-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Видное", + operator: "ЦентрТелеком", + desc: "промзона" + }, { + mask: "+7(495)549-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: [ "Видное", "Московский", "пос. Ново-Дрожжино", "пос. Измайлово", "пос. Булатниково", "пос. Дубровский", "пос. Института Садоводства" ], + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)55#-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Люберцы", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)552-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Лыткарино", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)555-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Лыткарино", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)56#-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Красногорск", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)57#-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: [ "Королёв", "Мытищи", "Юбилейный" ], + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)573-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Химки", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)576-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Долгопрудный", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)577-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Лобня", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)578-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: [ "Лобня", "Международный аэропорт «Шереметьево»" ], + operator: "Порт-Телеком", + desc: "" + }, { + mask: "+7(495)579-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: [ "Долгопрудный", "Лобня" ], + operator: "", + desc: "" + }, { + mask: "+7(495)58#-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Химки", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)585-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Москва", + operator: [ "Мегафон", "Центральный Телеграф" ], + desc: "" + }, { + mask: "+7(495)589-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Москва", + operator: [ "Мегафон", "Центральный Телеграф" ], + desc: "" + }, { + mask: "+7(495)59#-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Одинцово", + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(495)597-##-##", + cc: "RU", + cd: "Russia", + region: "Москва и ближнее Подмосковье", + city: "Москва", + operator: [ "Центральный Телеграф", "ЦентрТелеком" ], + desc: "" + }, { + mask: "+7(496)###-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(496)20#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Талдом", + operator: "", + desc: "" + }, { + mask: "+7(496)21#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Дубна", + operator: "", + desc: "" + }, { + mask: "+7(496)22#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Дмитров", + operator: "", + desc: "" + }, { + mask: "+7(496)24#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Клин", + operator: "", + desc: "" + }, { + mask: "+7(496)25#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Щёлковский район", + operator: "", + desc: "" + }, { + mask: "+7(496)26#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Солнечногорск", + operator: "", + desc: "" + }, { + mask: "+7(496)27#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Руза", + operator: "", + desc: "" + }, { + mask: "+7(496)28#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Лотошино", + operator: "", + desc: "" + }, { + mask: "+7(496)30#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "ЗАО Калита-Телеком", + operator: "", + desc: "" + }, { + mask: "+7(496)31#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Истра", + operator: "", + desc: "" + }, { + mask: "+7(496)34#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Наро-Фоминск", + operator: "", + desc: "" + }, { + mask: "+7(496)36#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Волоколамск", + operator: "", + desc: "" + }, { + mask: "+7(496)37#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Шаховская", + operator: "", + desc: "" + }, { + mask: "+7(496)38#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Можайск", + operator: "", + desc: "" + }, { + mask: "+7(496)40#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Егорьевск", + operator: "", + desc: "" + }, { + mask: "+7(496)41#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Орехово-Зуево", + operator: "", + desc: "" + }, { + mask: "+7(496)42#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Орехово-Зуево", + operator: "", + desc: "" + }, { + mask: "+7(496)43#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Павловский Посад", + operator: "", + desc: "" + }, { + mask: "+7(496)44#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Воскресенск", + operator: "", + desc: "" + }, { + mask: "+7(496)45#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Шатура", + operator: "", + desc: "" + }, { + mask: "+7(496)46#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Раменское", + operator: "", + desc: "" + }, { + mask: "+7(496)51#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Ногинск", + operator: "", + desc: "" + }, { + mask: "+7(496)52#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Черноголовка", + operator: "", + desc: "" + }, { + mask: "+7(496)53#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Пушкино", + operator: "", + desc: "" + }, { + mask: "+7(496)54#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Сергиев Посад", + operator: "", + desc: "" + }, { + mask: "+7(496)55#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Сергиев Посад", + operator: "", + desc: "" + }, { + mask: "+7(496)56#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Щелково", + operator: "", + desc: "" + }, { + mask: "+7(496)57#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Электросталь", + operator: "", + desc: "" + }, { + mask: "+7(496)61#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Коломна", + operator: "", + desc: "" + }, { + mask: "+7(496)63#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Луховицы", + operator: "", + desc: "" + }, { + mask: "+7(496)64#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Ступино", + operator: "", + desc: "" + }, { + mask: "+7(496)66#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Зарайск", + operator: "", + desc: "" + }, { + mask: "+7(496)67#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Серебряные Пруды", + operator: "", + desc: "" + }, { + mask: "+7(496)69#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Кашира", + operator: "", + desc: "" + }, { + mask: "+7(496)70#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Озеры", + operator: "", + desc: "" + }, { + mask: "+7(496)72#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Чехов", + operator: "", + desc: "" + }, { + mask: "+7(496)73#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Серпухов", + operator: "", + desc: "" + }, { + mask: "+7(496)75#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Подольск", + operator: "", + desc: "" + }, { + mask: "+7(496)76#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Подольск", + operator: "", + desc: "" + }, { + mask: "+7(496)77#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Серпухов", + operator: "", + desc: "" + }, { + mask: "+7(496)79#-##-##", + cc: "RU", + cd: "Russia", + region: "Московская область", + city: "Домодедово", + operator: "", + desc: "" + }, { + mask: "+7(498)###-##-##", + cc: "RU", + cd: "Russia", + region: "Лесопарковый защитный пояс Москвы", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(498)48#-##-##", + cc: "RU", + cd: "Russia", + region: "Лесопарковый защитный пояс Москвы", + city: "Жуковский", + operator: "", + desc: "" + }, { + mask: "+7(498)54#-##-##", + cc: "RU", + cd: "Russia", + region: "Лесопарковый защитный пояс Москвы", + city: [ "Видное", "Ленинский район" ], + operator: "ЦентрТелеком", + desc: "" + }, { + mask: "+7(498)617-##-##", + cc: "RU", + cd: "Russia", + region: "Лесопарковый защитный пояс Москвы", + city: [ "Газопровод", "Коммунарка" ], + operator: "ЗАО «Газтелеком»", + desc: "Ленинский район" + }, { + mask: "+7(498)657-##-##", + cc: "RU", + cd: "Russia", + region: "Лесопарковый защитный пояс Москвы", + city: "Развилка", + operator: "ООО «Газпром связь»", + desc: "Ленинский район" + }, { + mask: "+7(498)664-##-##", + cc: "RU", + cd: "Russia", + region: "Лесопарковый защитный пояс Москвы", + city: "Железнодорожный", + operator: "", + desc: "" + }, { + mask: "+7(498)68#-##-##", + cc: "RU", + cd: "Russia", + region: "Лесопарковый защитный пояс Москвы", + city: "Лобня", + operator: "", + desc: "" + }, { + mask: "+7(498)713-##-##", + cc: "RU", + cd: "Russia", + region: "Лесопарковый защитный пояс Москвы", + city: "Долгопрудный", + operator: "", + desc: "" + }, { + mask: "+7(498)744-##-##", + cc: "RU", + cd: "Russia", + region: "Лесопарковый защитный пояс Москвы", + city: "Долгопрудный", + operator: "", + desc: "" + }, { + mask: "+7(499)###-##-##", + cc: "RU", + cd: "Russia", + region: "Москва", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(499)39#-##-##", + cc: "RU", + cd: "Russia", + region: "Москва", + city: "Москва", + operator: "МегаФон", + desc: "" + }, { + mask: "+7(499)50#-##-##", + cc: "RU", + cd: "Russia", + region: "Москва", + city: "Москва", + operator: "Центральный Телеграф", + desc: "" + }, { + mask: "+7(499)755-##-##", + cc: "RU", + cd: "Russia", + region: "Москва", + city: "Москва", + operator: "МегаФон", + desc: "" + }, { + mask: "+7(811)###-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8112)##-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Псков", + operator: "", + desc: "" + }, { + mask: "+7(81131)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Гдов", + operator: "", + desc: "" + }, { + mask: "+7(81132)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Струги Красные", + operator: "", + desc: "" + }, { + mask: "+7(81133)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Плюсса", + operator: "", + desc: "" + }, { + mask: "+7(81134)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Порхов", + operator: "", + desc: "" + }, { + mask: "+7(81135)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Дно", + operator: "", + desc: "" + }, { + mask: "+7(81136)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Дедовичи", + operator: "", + desc: "" + }, { + mask: "+7(81137)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Красногородск", + operator: "", + desc: "" + }, { + mask: "+7(81138)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Опочка", + operator: "", + desc: "" + }, { + mask: "+7(81139)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Локня", + operator: "", + desc: "" + }, { + mask: "+7(81140)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Себеж", + operator: "", + desc: "" + }, { + mask: "+7(81141)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Бежаницы", + operator: "", + desc: "" + }, { + mask: "+7(81142)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Пустошка", + operator: "", + desc: "" + }, { + mask: "+7(81143)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Новоржев", + operator: "", + desc: "" + }, { + mask: "+7(81144)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Новосокольники", + operator: "", + desc: "" + }, { + mask: "+7(81145)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Палкино", + operator: "", + desc: "" + }, { + mask: "+7(81146)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Пушкинские Горы", + operator: "", + desc: "" + }, { + mask: "+7(81147)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Пыталово", + operator: "", + desc: "" + }, { + mask: "+7(81148)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Печоры", + operator: "", + desc: "" + }, { + mask: "+7(81149)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Кунья", + operator: "", + desc: "" + }, { + mask: "+7(81150)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Усвяты", + operator: "", + desc: "" + }, { + mask: "+7(81151)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Невель", + operator: "", + desc: "" + }, { + mask: "+7(81152)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Остров", + operator: "", + desc: "" + }, { + mask: "+7(81153)#-##-##", + cc: "RU", + cd: "Russia", + region: "Псковская область", + city: "Великие Луки", + operator: "", + desc: "" + }, { + mask: "+7(812)###-##-##", + cc: "RU", + cd: "Russia", + region: "Санкт-Петербург", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(813)###-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(81361)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: "Тосно", + operator: "", + desc: "" + }, { + mask: "+7(81362)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: [ "Кировск", "Шлиссельбург" ], + operator: "", + desc: "" + }, { + mask: "+7(81363)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: [ "Волхов", "Новая Ладога", "Сясьстрой" ], + operator: "", + desc: "" + }, { + mask: "+7(81364)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: "Лодейное Поле", + operator: "", + desc: "" + }, { + mask: "+7(81365)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: "Подпорожье", + operator: "", + desc: "" + }, { + mask: "+7(81366)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: [ "Бокситогорск", "Пикалёво" ], + operator: "", + desc: "" + }, { + mask: "+7(81367)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: "Тихвин", + operator: "", + desc: "" + }, { + mask: "+7(81368)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: [ "Кириши", "Будогощь" ], + operator: "", + desc: "" + }, { + mask: "+7(81369)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: "Сосновый Бор", + operator: "", + desc: "" + }, { + mask: "+7(81370)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: [ "Всеволожск", "Токсово" ], + operator: "", + desc: "" + }, { + mask: "+7(81371)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: [ "Гатчина", "Вырица", "Коммунар" ], + operator: "", + desc: "" + }, { + mask: "+7(81372)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: "Луга", + operator: "", + desc: "" + }, { + mask: "+7(81373)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: "Волосово", + operator: "", + desc: "" + }, { + mask: "+7(81374)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: "Сланцы", + operator: "", + desc: "" + }, { + mask: "+7(81375)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: [ "Кингисепп", "Ивангород" ], + operator: "", + desc: "" + }, { + mask: "+7(81376)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: "Ломоносов", + operator: "", + desc: "" + }, { + mask: "+7(81378)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: [ "Выборг", "Высоцк", "Приморск", "Светогорск" ], + operator: "", + desc: "" + }, { + mask: "+7(81379)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ленинградская область", + city: "Приозерск", + operator: "", + desc: "" + }, { + mask: "+7(814)###-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8142)##-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Петрозаводск", + operator: "", + desc: "" + }, { + mask: "+7(81430)#-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Сортавала", + operator: "", + desc: "" + }, { + mask: "+7(81430)3-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Вяртсиля", + operator: "", + desc: "" + }, { + mask: "+7(81430)3-1#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Хелюля", + operator: "", + desc: "" + }, { + mask: "+7(81430)3-3#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Рускеала", + operator: "", + desc: "" + }, { + mask: "+7(81430)3-4#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Пуйккола", + operator: "", + desc: "" + }, { + mask: "+7(81430)3-5#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Хаапалампи", + operator: "", + desc: "" + }, { + mask: "+7(81430)3-6#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Кааламо", + operator: "", + desc: "" + }, { + mask: "+7(81430)3-7#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Заозёрный", "Ламберг", "Сортавала", "Хюмпеля" ], + operator: "", + desc: "" + }, { + mask: "+7(81431)#-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Сегежа", + operator: "", + desc: "" + }, { + mask: "+7(81431)3-0#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Кочкома", + operator: "", + desc: "" + }, { + mask: "+7(81431)3-1#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Олений", "Пертозеро", "Черный Порог" ], + operator: "", + desc: "" + }, { + mask: "+7(81431)3-2#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Валдай", + operator: "", + desc: "" + }, { + mask: "+7(81431)3-3#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Волдозеро", "Идель", "Кяргозеро", "Попов Порог" ], + operator: "", + desc: "" + }, { + mask: "+7(81431)3-6#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Каменный Бор", + operator: "", + desc: "" + }, { + mask: "+7(81431)3-7#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Полга", + operator: "", + desc: "" + }, { + mask: "+7(81431)3-8#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Надвоицы", + operator: "", + desc: "" + }, { + mask: "+7(81433)#-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Питкяранта", + operator: "", + desc: "" + }, { + mask: "+7(81433)2-4#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Ляскеля", "Рауталахти", "Харлу", "Хийденсельга" ], + operator: "", + desc: "" + }, { + mask: "+7(81433)2-5#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Ряймяля", "Салми" ], + operator: "", + desc: "" + }, { + mask: "+7(81433)2-6#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Импилахти", + operator: "", + desc: "" + }, { + mask: "+7(81433)2-7#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Леппясилта", "Уукса" ], + operator: "", + desc: "" + }, { + mask: "+7(81434)#-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Медвежьегорск", + operator: "", + desc: "" + }, { + mask: "+7(81434)3-3#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Толвуя", + operator: "", + desc: "" + }, { + mask: "+7(81434)3-4#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Шуньга", + operator: "", + desc: "" + }, { + mask: "+7(81434)3-5#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Великая Губа", "Великая Нива", "Кижи", "Космозеро", "Ламбасручей", "Сенная Губа" ], + operator: "", + desc: "" + }, { + mask: "+7(81434)3-8#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Кумса", "Лавас Губа", "Лумбуши", "Чебино" ], + operator: "", + desc: "" + }, { + mask: "+7(81434)3-9#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Волозеро", "Габсельга", "Сосновка", "Челмужи" ], + operator: "", + desc: "" + }, { + mask: "+7(81434)4-2#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Огорелыши", "Сергиево" ], + operator: "", + desc: "" + }, { + mask: "+7(81434)4-3#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Повенец", + operator: "", + desc: "" + }, { + mask: "+7(81434)4-4#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Пиндуши", + operator: "", + desc: "" + }, { + mask: "+7(81434)4-7#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Паданы", + operator: "", + desc: "" + }, { + mask: "+7(81436)#-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Олонец", + operator: "", + desc: "" + }, { + mask: "+7(81436)2-3#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Ильинский", + operator: "", + desc: "" + }, { + mask: "+7(81436)2-4#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Верхний Олонец", "Ковера", "Речная Сельга", "Сяндеба", "Тулокса" ], + operator: "", + desc: "" + }, { + mask: "+7(81436)2-5#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Михайловское", + operator: "", + desc: "" + }, { + mask: "+7(81436)2-6#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Алексала", "Мегрега", "Рыпушкалица", "Тукса" ], + operator: "", + desc: "" + }, { + mask: "+7(81436)2-7#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Видлица", + operator: "", + desc: "" + }, { + mask: "+7(81436)2-8#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Коткозеро", + operator: "", + desc: "" + }, { + mask: "+7(81436)2-9#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Куйтежа", + operator: "", + desc: "" + }, { + mask: "+7(81437)#-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Беломорск", + operator: "", + desc: "" + }, { + mask: "+7(81437)3-0#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Сумский Посад", + operator: "", + desc: "" + }, { + mask: "+7(81437)3-4#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Золотец", + operator: "", + desc: "" + }, { + mask: "+7(81437)3-5#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Колежма", "Лапино", "Лехта", "Маленьга", "Новое Машозеро", "Нюхча", "Тунгуза", "Хвойный", "Шуерецкое" ], + operator: "", + desc: "" + }, { + mask: "+7(81437)3-6#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Сосновец", + operator: "", + desc: "" + }, { + mask: "+7(81437)3-7#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Лесобиржа", + operator: "", + desc: "" + }, { + mask: "+7(81437)3-8#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Вирандозеро", "Летнереченский" ], + operator: "", + desc: "" + }, { + mask: "+7(81437)3-9#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Пушной", + operator: "", + desc: "" + }, { + mask: "+7(81439)#-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Лоухи", + operator: "", + desc: "" + }, { + mask: "+7(81439)2-6#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Кестеньга", + operator: "", + desc: "" + }, { + mask: "+7(81439)2-7#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Софпорог", "Тунгозеро" ], + operator: "", + desc: "" + }, { + mask: "+7(81439)2-8#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Пяозерский", + operator: "", + desc: "" + }, { + mask: "+7(81439)3-3#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Амбарный", "Плотина", "Сосновый", "Энгозеро" ], + operator: "", + desc: "" + }, { + mask: "+7(81439)4-1#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Чупа", + operator: "", + desc: "" + }, { + mask: "+7(81439)4-4#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Чкаловский", + operator: "", + desc: "" + }, { + mask: "+7(81439)45#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Тэдино", + operator: "", + desc: "" + }, { + mask: "+7(81450)#-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Лахденпохья", + operator: "", + desc: "" + }, { + mask: "+7(81450)2-3#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Ихала", "Мийнала", "Яккима" ], + operator: "", + desc: "" + }, { + mask: "+7(81450)2-4#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Куркиёки", "Хийтола" ], + operator: "", + desc: "" + }, { + mask: "+7(81450)2-6#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Элисенваара", + operator: "", + desc: "" + }, { + mask: "+7(81451)#-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Кондопога", + operator: "", + desc: "" + }, { + mask: "+7(81451)2-4#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Кедрозеро", + operator: "", + desc: "" + }, { + mask: "+7(81451)3-1#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Гирвас", "Тивдия", "Эльмус" ], + operator: "", + desc: "" + }, { + mask: "+7(81451)3-2#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Спасская Губа", + operator: "", + desc: "" + }, { + mask: "+7(81451)3-3#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Кивач", "Новинка" ], + operator: "", + desc: "" + }, { + mask: "+7(81451)3-4#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Кяпесельга", "Нелгомозеро" ], + operator: "", + desc: "" + }, { + mask: "+7(81451)3-5#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Кончезеро", + operator: "", + desc: "" + }, { + mask: "+7(81451)3-7#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Берёзовка", + operator: "", + desc: "" + }, { + mask: "+7(81451)3-9#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Суна", "Янишполе" ], + operator: "", + desc: "" + }, { + mask: "+7(81452)#-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Пудож", + operator: "", + desc: "" + }, { + mask: "+7(81452)2-3#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Бочилово", "Каршево", "Колово", "Колодозеро", "Семёново" ], + operator: "", + desc: "" + }, { + mask: "+7(81452)2-4#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Водла", "Кубово", "Онежский", "Рагнукса" ], + operator: "", + desc: "" + }, { + mask: "+7(81452)2-5#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Кривцы", "Приречный" ], + operator: "", + desc: "" + }, { + mask: "+7(81452)2-6#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Авдеево", + operator: "", + desc: "" + }, { + mask: "+7(81452)2-7#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Подпорожье", + operator: "", + desc: "" + }, { + mask: "+7(81452)2-8#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Шала", + operator: "", + desc: "" + }, { + mask: "+7(81452)2-9#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Пяльма", + operator: "", + desc: "" + }, { + mask: "+7(81454)#-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Калевала", + operator: "", + desc: "" + }, { + mask: "+7(81454)5-3#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Кепа", + operator: "", + desc: "" + }, { + mask: "+7(81454)5-4#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Юшкозеро", + operator: "", + desc: "" + }, { + mask: "+7(81454)5-7#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Войница", "Куусиниеми", "Луусалми" ], + operator: "", + desc: "" + }, { + mask: "+7(81455)#-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Муезерский", + operator: "", + desc: "" + }, { + mask: "+7(81455)2-3#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Тикша", + operator: "", + desc: "" + }, { + mask: "+7(81455)2-4#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Реболы", + operator: "", + desc: "" + }, { + mask: "+7(81455)2-5#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Ригозеро", + operator: "", + desc: "" + }, { + mask: "+7(81455)2-6#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Волома", "Пенинга" ], + operator: "", + desc: "" + }, { + mask: "+7(81455)2-7#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Суккозеро", + operator: "", + desc: "" + }, { + mask: "+7(81455)2-8#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Ледмозеро", + operator: "", + desc: "" + }, { + mask: "+7(81455)2-9#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Лендеры", + operator: "", + desc: "" + }, { + mask: "+7(81456)#-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Пряжа", + operator: "", + desc: "" + }, { + mask: "+7(81456)2-3#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Вилла Гора", "Соддер", "Сяпся", "Эссойла" ], + operator: "", + desc: "" + }, { + mask: "+7(81456)2-4#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Ведлозеро", "Кинелахта", "Койвусельга", "Колатсельга", "Савиново" ], + operator: "", + desc: "" + }, { + mask: "+7(81456)2-5#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Чална", + operator: "", + desc: "" + }, { + mask: "+7(81456)2-6#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Матросы", + operator: "", + desc: "" + }, { + mask: "+7(81456)2-7#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Верхние Важины", + operator: "", + desc: "" + }, { + mask: "+7(81456)2-8#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Крошнозеро", + operator: "", + desc: "" + }, { + mask: "+7(81456)2-9#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Святозеро", + operator: "", + desc: "" + }, { + mask: "+7(81457)#-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Суоярви", + operator: "", + desc: "" + }, { + mask: "+7(81457)2-3#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Лахколамби", + operator: "", + desc: "" + }, { + mask: "+7(81457)2-4#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Поросозеро", + operator: "", + desc: "" + }, { + mask: "+7(81457)2-5#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Найстеньярви", + operator: "", + desc: "" + }, { + mask: "+7(81457)2-6#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Вегарус", "Суоёки", "Тойвола", "Хаутоваара" ], + operator: "", + desc: "" + }, { + mask: "+7(81457)2-7#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Вешкелица", "Лоймола", "Пийтсиёки" ], + operator: "", + desc: "" + }, { + mask: "+7(81457)2-9#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Леппясюрья", "Райконкоски", "Суйстамо" ], + operator: "", + desc: "" + }, { + mask: "+7(81457)3-6#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Леппяниеми", + operator: "", + desc: "" + }, { + mask: "+7(81458)#-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Кемь", + operator: "", + desc: "" + }, { + mask: "+7(81458)3-1#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Калгалакша", + operator: "", + desc: "" + }, { + mask: "+7(81458)3-2#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Панозеро", "Поньгома" ], + operator: "", + desc: "" + }, { + mask: "+7(81458)3-4#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: [ "Авнепорог", "Кривой Порог" ], + operator: "", + desc: "" + }, { + mask: "+7(81458)3-5#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Рабочеостровск", + operator: "", + desc: "" + }, { + mask: "+7(81458)3-6#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Шомба", + operator: "", + desc: "" + }, { + mask: "+7(81458)3-7#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Кузема", + operator: "", + desc: "" + }, { + mask: "+7(81458)3-8#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Баб-Губа", + operator: "", + desc: "" + }, { + mask: "+7(81458)3-9#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Сокол", + operator: "", + desc: "" + }, { + mask: "+7(81459)#-##-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Костомукша", + operator: "", + desc: "" + }, { + mask: "+7(81459)9-3#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Контокки", + operator: "", + desc: "" + }, { + mask: "+7(81459)9-5#-##", + cc: "RU", + cd: "Russia", + region: "Карелия", + city: "Вокнаволок", + operator: "", + desc: "" + }, { + mask: "+7(815)###-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8152)##-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Мурманск", + operator: "", + desc: "" + }, { + mask: "+7(81530)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Снежногорск", + operator: "", + desc: "" + }, { + mask: "+7(81531)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Кировск", + operator: "", + desc: "" + }, { + mask: "+7(81532)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Полярные Зори", + operator: "", + desc: "" + }, { + mask: "+7(81533)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Кандалакша", + operator: "", + desc: "" + }, { + mask: "+7(81535)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Ковдор", + operator: "", + desc: "" + }, { + mask: "+7(81536)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Мончегорск", + operator: "", + desc: "" + }, { + mask: "+7(81537)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Североморск", + operator: "", + desc: "" + }, { + mask: "+7(81538)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Ловозеро", + operator: "", + desc: "" + }, { + mask: "+7(81539)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Гаджиево", + operator: "", + desc: "" + }, { + mask: "+7(81551)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Полярный", + operator: "", + desc: "" + }, { + mask: "+7(81552)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Оленегорск", + operator: "", + desc: "" + }, { + mask: "+7(81553)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Кола", + operator: "", + desc: "" + }, { + mask: "+7(81554)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: [ "Заполярный", "Никель" ], + operator: "", + desc: "" + }, { + mask: "+7(81555)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Апатиты", + operator: "", + desc: "" + }, { + mask: "+7(81556)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Заозерск", + operator: "", + desc: "" + }, { + mask: "+7(81558)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Островной", + operator: "", + desc: "" + }, { + mask: "+7(81559)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мурманская область", + city: "Умба", + operator: "", + desc: "" + }, { + mask: "+7(816)###-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8162)##-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Великий Новгород", + operator: "", + desc: "" + }, { + mask: "+7(81650)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Парфино", + operator: "", + desc: "" + }, { + mask: "+7(81651)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Демянск", + operator: "", + desc: "" + }, { + mask: "+7(81652)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Старая Русса", + operator: "", + desc: "" + }, { + mask: "+7(81653)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Мошенское", + operator: "", + desc: "" + }, { + mask: "+7(81654)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Холм", + operator: "", + desc: "" + }, { + mask: "+7(81655)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Сольцы", + operator: "", + desc: "" + }, { + mask: "+7(81656)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Шимск", + operator: "", + desc: "" + }, { + mask: "+7(81657)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Окуловка", + operator: "", + desc: "" + }, { + mask: "+7(81658)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Поддорье", + operator: "", + desc: "" + }, { + mask: "+7(81659)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Крестцы", + operator: "", + desc: "" + }, { + mask: "+7(81660)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Малая Вишера", + operator: "", + desc: "" + }, { + mask: "+7(81661)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Батецкий", + operator: "", + desc: "" + }, { + mask: "+7(81662)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Волот", + operator: "", + desc: "" + }, { + mask: "+7(81663)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Марёво", + operator: "", + desc: "" + }, { + mask: "+7(81664)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Боровичи", + operator: "", + desc: "" + }, { + mask: "+7(81665)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Чудово", + operator: "", + desc: "" + }, { + mask: "+7(81666)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Валдай", + operator: "", + desc: "" + }, { + mask: "+7(81667)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Хвойная", + operator: "", + desc: "" + }, { + mask: "+7(81668)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Любытино", + operator: "", + desc: "" + }, { + mask: "+7(81669)#-##-##", + cc: "RU", + cd: "Russia", + region: "Новгородская область", + city: "Пестово", + operator: "", + desc: "" + }, { + mask: "+7(817)###-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8172)##-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Вологда", + operator: "", + desc: "" + }, { + mask: "+7(81732)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Харовск", + operator: "", + desc: "" + }, { + mask: "+7(81733)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Сокол", + operator: "", + desc: "" + }, { + mask: "+7(81737)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Устюжна", + operator: "", + desc: "" + }, { + mask: "+7(81738)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Великий Устюг", + operator: "", + desc: "" + }, { + mask: "+7(81739)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Тотьма", + operator: "", + desc: "" + }, { + mask: "+7(81740)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Кичменгский Городок", + operator: "", + desc: "" + }, { + mask: "+7(81741)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Чагода", + operator: "", + desc: "" + }, { + mask: "+7(81742)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Кадуй", + operator: "", + desc: "" + }, { + mask: "+7(81743)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Бабаево", + operator: "", + desc: "" + }, { + mask: "+7(81744)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Вожега", + operator: "", + desc: "" + }, { + mask: "+7(81745)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Село имени Бабушкина", + operator: "", + desc: "" + }, { + mask: "+7(81746)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Вытегра", + operator: "", + desc: "" + }, { + mask: "+7(81747)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Нюксеница", + operator: "", + desc: "" + }, { + mask: "+7(81748)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Тарногский Городок", + operator: "", + desc: "" + }, { + mask: "+7(81749)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Шуйское", + operator: "", + desc: "" + }, { + mask: "+7(81751)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Шексна", + operator: "", + desc: "" + }, { + mask: "+7(81752)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Сямжа", + operator: "", + desc: "" + }, { + mask: "+7(81753)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Устье", + operator: "", + desc: "" + }, { + mask: "+7(81754)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Никольск", + operator: "", + desc: "" + }, { + mask: "+7(81755)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Грязовец", + operator: "", + desc: "" + }, { + mask: "+7(81756)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Белозерск", + operator: "", + desc: "" + }, { + mask: "+7(81757)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Кириллов", + operator: "", + desc: "" + }, { + mask: "+7(81758)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Липин Бор", + operator: "", + desc: "" + }, { + mask: "+7(81759)#-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Верховажье", + operator: "", + desc: "" + }, { + mask: "+7(818)###-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Архангельск", + operator: "", + desc: "" + }, { + mask: "+7(81830)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Холмогоры", + operator: "", + desc: "" + }, { + mask: "+7(81831)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Березник", + operator: "", + desc: "" + }, { + mask: "+7(81832)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Плесецк", + operator: "", + desc: "" + }, { + mask: "+7(81833)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Лешуконское", + operator: "", + desc: "" + }, { + mask: "+7(81834)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Мирный", + operator: "", + desc: "" + }, { + mask: "+7(81835)9-0#-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Соловецкий", + operator: "", + desc: "" + }, { + mask: "+7(81836)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Вельск", + operator: "", + desc: "" + }, { + mask: "+7(81837)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Котлас", + operator: "", + desc: "" + }, { + mask: "+7(81838)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Няндома", + operator: "", + desc: "" + }, { + mask: "+7(81839)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Онега", + operator: "", + desc: "" + }, { + mask: "+7(81840)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Красноборск", + operator: "", + desc: "" + }, { + mask: "+7(81841)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Каргополь", + operator: "", + desc: "" + }, { + mask: "+7(81842)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Северодвинск", + operator: "", + desc: "" + }, { + mask: "+7(81843)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Ильинско-Подомское", + operator: "", + desc: "" + }, { + mask: "+7(81848)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Мезень", + operator: "", + desc: "" + }, { + mask: "+7(81850)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Коряжма", + operator: "", + desc: "" + }, { + mask: "+7(81851)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Шенкурск", + operator: "", + desc: "" + }, { + mask: "+7(81852)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Новодвинск", + operator: "", + desc: "" + }, { + mask: "+7(81853)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Нарьян-Мар", + operator: "", + desc: "" + }, { + mask: "+7(81854)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Верхняя Тойма", + operator: "", + desc: "" + }, { + mask: "+7(81855)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Октябрьский", + operator: "", + desc: "" + }, { + mask: "+7(81856)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Карпогоры", + operator: "", + desc: "" + }, { + mask: "+7(81858)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Коноша", + operator: "", + desc: "" + }, { + mask: "+7(81859)#-##-##", + cc: "RU", + cd: "Russia", + region: [ "Архангельская область", "Ненецкий автономный округ" ], + city: "Яренск", + operator: "", + desc: "" + }, { + mask: "+7(820)###-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8202)##-##-##", + cc: "RU", + cd: "Russia", + region: "Вологодская область", + city: "Череповец", + operator: "", + desc: "" + }, { + mask: "+7(821)###-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8212)##-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Сыктывкар", + operator: "", + desc: "" + }, { + mask: "+7(82130)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Выльгорт", + operator: "", + desc: "" + }, { + mask: "+7(82131)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Визинга", + operator: "", + desc: "" + }, { + mask: "+7(82132)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Койгородок", + operator: "", + desc: "" + }, { + mask: "+7(82133)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Объячево", + operator: "", + desc: "" + }, { + mask: "+7(82134)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Айкино", + operator: "", + desc: "" + }, { + mask: "+7(82135)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Усогорск", + operator: "", + desc: "" + }, { + mask: "+7(82136)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Корткерос", + operator: "", + desc: "" + }, { + mask: "+7(82137)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Усть-Кулом", + operator: "", + desc: "" + }, { + mask: "+7(82138)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Троицко-Печорск", + operator: "", + desc: "" + }, { + mask: "+7(82139)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Емва", + operator: "", + desc: "" + }, { + mask: "+7(82140)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Ижма", + operator: "", + desc: "" + }, { + mask: "+7(82141)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Усть-Цильма", + operator: "", + desc: "" + }, { + mask: "+7(82142)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Печора", + operator: "", + desc: "" + }, { + mask: "+7(82144)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Усинск", + operator: "", + desc: "" + }, { + mask: "+7(82145)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Инта", + operator: "", + desc: "" + }, { + mask: "+7(82146)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Вуктыл", + operator: "", + desc: "" + }, { + mask: "+7(82149)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Сосногорск", + operator: "", + desc: "" + }, { + mask: "+7(82151)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Воркута", + operator: "", + desc: "" + }, { + mask: "+7(8216)##-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Коми", + city: "Ухта", + operator: "", + desc: "" + }, { + mask: "+7(831)###-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Нижний Новгород", + operator: "", + desc: "" + }, { + mask: "+7(8313)##-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Дзержинск", + operator: "", + desc: "" + }, { + mask: "+7(83130)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Саров", + operator: "", + desc: "" + }, { + mask: "+7(83134)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Дивеево", + operator: "", + desc: "" + }, { + mask: "+7(83136)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Володарск", + operator: "", + desc: "" + }, { + mask: "+7(83137)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Сокольское", + operator: "", + desc: "" + }, { + mask: "+7(83138)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Большое Болдино", + operator: "", + desc: "" + }, { + mask: "+7(83139)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Первомайск", + operator: "", + desc: "" + }, { + mask: "+7(83140)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Вад", + operator: "", + desc: "" + }, { + mask: "+7(83144)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Балахна", + operator: "", + desc: "" + }, { + mask: "+7(83145)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Кстово", + operator: "", + desc: "" + }, { + mask: "+7(83147)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Арзамас", + operator: "", + desc: "" + }, { + mask: "+7(83148)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Перевоз", + operator: "", + desc: "" + }, { + mask: "+7(83149)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Лысково", + operator: "", + desc: "" + }, { + mask: "+7(83150)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Ветлуга", + operator: "", + desc: "" + }, { + mask: "+7(83151)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Тоншаево", + operator: "", + desc: "" + }, { + mask: "+7(83152)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Шахунья", + operator: "", + desc: "" + }, { + mask: "+7(83153)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Тонкино", + operator: "", + desc: "" + }, { + mask: "+7(83154)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Урень", + operator: "", + desc: "" + }, { + mask: "+7(83155)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Шаранга", + operator: "", + desc: "" + }, { + mask: "+7(83156)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Красные Баки", + operator: "", + desc: "" + }, { + mask: "+7(83157)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Ковернино", + operator: "", + desc: "" + }, { + mask: "+7(83158)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Варнавино", + operator: "", + desc: "" + }, { + mask: "+7(83159)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Бор", + operator: "", + desc: "" + }, { + mask: "+7(83160)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Чкаловск", + operator: "", + desc: "" + }, { + mask: "+7(83161)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Городец", + operator: "", + desc: "" + }, { + mask: "+7(83162)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Семёнов", + operator: "", + desc: "" + }, { + mask: "+7(83163)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Воскресенское", + operator: "", + desc: "" + }, { + mask: "+7(83164)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Воротынец", + operator: "", + desc: "" + }, { + mask: "+7(83165)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Спасское", + operator: "", + desc: "" + }, { + mask: "+7(83166)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Княгинино", + operator: "", + desc: "" + }, { + mask: "+7(83167)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Большое Мурашкино", + operator: "", + desc: "" + }, { + mask: "+7(83168)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Дальнее Константиново", + operator: "", + desc: "" + }, { + mask: "+7(83169)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Заволжье", + operator: "", + desc: "" + }, { + mask: "+7(83170)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Богородск", + operator: "", + desc: "" + }, { + mask: "+7(83171)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: [ "Павлово", "Ворсма" ], + operator: "", + desc: "" + }, { + mask: "+7(83172)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Бутурлино", + operator: "", + desc: "" + }, { + mask: "+7(83173)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Вача", + operator: "", + desc: "" + }, { + mask: "+7(83174)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Сосновское", + operator: "", + desc: "" + }, { + mask: "+7(83175)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Навашино", + operator: "", + desc: "" + }, { + mask: "+7(83176)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Кулебаки", + operator: "", + desc: "" + }, { + mask: "+7(83177)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Выкса", + operator: "", + desc: "" + }, { + mask: "+7(83178)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Вознесенское", + operator: "", + desc: "" + }, { + mask: "+7(83179)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Ардатов", + operator: "", + desc: "" + }, { + mask: "+7(83190)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Шатки", + operator: "", + desc: "" + }, { + mask: "+7(83191)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Сергач", + operator: "", + desc: "" + }, { + mask: "+7(83192)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Пильна", + operator: "", + desc: "" + }, { + mask: "+7(83193)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Сеченово", + operator: "", + desc: "" + }, { + mask: "+7(83194)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Уразовка", + operator: "", + desc: "" + }, { + mask: "+7(83195)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Гагино", + operator: "", + desc: "" + }, { + mask: "+7(83196)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Лукоянов", + operator: "", + desc: "" + }, { + mask: "+7(83197)#-##-##", + cc: "RU", + cd: "Russia", + region: "Нижегородская область", + city: "Починки", + operator: "", + desc: "" + }, { + mask: "+7(833)###-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8332)##-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Киров", + operator: "", + desc: "" + }, { + mask: "+7(83330)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Арбаж", + operator: "", + desc: "" + }, { + mask: "+7(83331)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Афанасьево", + operator: "", + desc: "" + }, { + mask: "+7(83332)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Фаленки", + operator: "", + desc: "" + }, { + mask: "+7(83333)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Богородское", + operator: "", + desc: "" + }, { + mask: "+7(83334)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Вятские Поляны", + operator: "", + desc: "" + }, { + mask: "+7(83335)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Верхошижемье", + operator: "", + desc: "" + }, { + mask: "+7(83336)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Даровской", + operator: "", + desc: "" + }, { + mask: "+7(83337)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Зуевка", + operator: "", + desc: "" + }, { + mask: "+7(83338)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Кильмезь", + operator: "", + desc: "" + }, { + mask: "+7(83339)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Кирс", + operator: "", + desc: "" + }, { + mask: "+7(83340)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Тужа", + operator: "", + desc: "" + }, { + mask: "+7(83341)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Кикнур", + operator: "", + desc: "" + }, { + mask: "+7(83342)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Котельнич", + operator: "", + desc: "" + }, { + mask: "+7(83343)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Кумены", + operator: "", + desc: "" + }, { + mask: "+7(83344)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Лебяжье", + operator: "", + desc: "" + }, { + mask: "+7(83345)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Ленинское", + operator: "", + desc: "" + }, { + mask: "+7(83346)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Луза", + operator: "", + desc: "" + }, { + mask: "+7(83347)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Малмыж", + operator: "", + desc: "" + }, { + mask: "+7(83348)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Мураши", + operator: "", + desc: "" + }, { + mask: "+7(83349)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Нагорск", + operator: "", + desc: "" + }, { + mask: "+7(83350)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Нема", + operator: "", + desc: "" + }, { + mask: "+7(83351)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Подосиновец", + operator: "", + desc: "" + }, { + mask: "+7(83352)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Омутнинск", + operator: "", + desc: "" + }, { + mask: "+7(83353)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Опарино", + operator: "", + desc: "" + }, { + mask: "+7(83354)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Оричи", + operator: "", + desc: "" + }, { + mask: "+7(83355)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Пижанка", + operator: "", + desc: "" + }, { + mask: "+7(83357)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Санчурск", + operator: "", + desc: "" + }, { + mask: "+7(83358)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Свеча", + operator: "", + desc: "" + }, { + mask: "+7(83359)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Уни", + operator: "", + desc: "" + }, { + mask: "+7(83361)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Кирово-Чепецк", + operator: "", + desc: "" + }, { + mask: "+7(83362)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Слободской", + operator: "", + desc: "" + }, { + mask: "+7(83363)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Уржум", + operator: "", + desc: "" + }, { + mask: "+7(83364)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Белая Холуница", + operator: "", + desc: "" + }, { + mask: "+7(83365)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Орлов", + operator: "", + desc: "" + }, { + mask: "+7(83366)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Юрья", + operator: "", + desc: "" + }, { + mask: "+7(83367)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Яранск", + operator: "", + desc: "" + }, { + mask: "+7(83368)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Нолинск", + operator: "", + desc: "" + }, { + mask: "+7(83369)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Суна", + operator: "", + desc: "" + }, { + mask: "+7(83375)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кировская область", + city: "Советск", + operator: "", + desc: "" + }, { + mask: "+7(834)###-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8342)##-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Саранск", + operator: "", + desc: "" + }, { + mask: "+7(83431)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Ардатов", + operator: "", + desc: "" + }, { + mask: "+7(83432)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Старое Шайгово", + operator: "", + desc: "" + }, { + mask: "+7(83433)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Кемля", + operator: "", + desc: "" + }, { + mask: "+7(83434)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Атяшево", + operator: "", + desc: "" + }, { + mask: "+7(83436)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Большие Березники", + operator: "", + desc: "" + }, { + mask: "+7(83437)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Чамзинка", + operator: "", + desc: "" + }, { + mask: "+7(83438)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Ромоданово", + operator: "", + desc: "" + }, { + mask: "+7(83439)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Кочкурово", + operator: "", + desc: "" + }, { + mask: "+7(83441)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Лямбирь", + operator: "", + desc: "" + }, { + mask: "+7(83442)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Большое Игнатово", + operator: "", + desc: "" + }, { + mask: "+7(83443)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Краснослободск", + operator: "", + desc: "" + }, { + mask: "+7(83444)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Ельники", + operator: "", + desc: "" + }, { + mask: "+7(83445)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Темников", + operator: "", + desc: "" + }, { + mask: "+7(83446)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Теньгушево", + operator: "", + desc: "" + }, { + mask: "+7(83447)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Дубенки", + operator: "", + desc: "" + }, { + mask: "+7(83448)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Кадошкино", + operator: "", + desc: "" + }, { + mask: "+7(83449)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Инсар", + operator: "", + desc: "" + }, { + mask: "+7(83451)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Рузаевка", + operator: "", + desc: "" + }, { + mask: "+7(83453)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Ковылкино", + operator: "", + desc: "" + }, { + mask: "+7(83454)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Атюрьево", + operator: "", + desc: "" + }, { + mask: "+7(83456)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Торбеево", + operator: "", + desc: "" + }, { + mask: "+7(83457)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Явас", + operator: "", + desc: "" + }, { + mask: "+7(83458)#-##-##", + cc: "RU", + cd: "Russia", + region: "Мордовия", + city: "Зубова Поляна", + operator: "", + desc: "" + }, { + mask: "+7(835)###-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8352)##-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Чебоксары", + operator: "", + desc: "" + }, { + mask: "+7(8352)7#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Новочебоксарск", + operator: "", + desc: "" + }, { + mask: "+7(83530)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Красноармейское", + operator: "", + desc: "" + }, { + mask: "+7(83531)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Алатырь", + operator: "", + desc: "" + }, { + mask: "+7(83532)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Батырево", + operator: "", + desc: "" + }, { + mask: "+7(83533)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Канаш", + operator: "", + desc: "" + }, { + mask: "+7(83534)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Козловка", + operator: "", + desc: "" + }, { + mask: "+7(83535)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Аликово", + operator: "", + desc: "" + }, { + mask: "+7(83536)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Шумерля", + operator: "", + desc: "" + }, { + mask: "+7(83537)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Вурнары", + operator: "", + desc: "" + }, { + mask: "+7(83538)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Ибреси", + operator: "", + desc: "" + }, { + mask: "+7(83539)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Комсомольское", + operator: "", + desc: "" + }, { + mask: "+7(83540)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Кугеси", + operator: "", + desc: "" + }, { + mask: "+7(83541)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Моргауши", + operator: "", + desc: "" + }, { + mask: "+7(83542)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Мариинский Посад", + operator: "", + desc: "" + }, { + mask: "+7(83543)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Порецкое", + operator: "", + desc: "" + }, { + mask: "+7(83544)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Урмары", + operator: "", + desc: "" + }, { + mask: "+7(83545)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Цивильск", + operator: "", + desc: "" + }, { + mask: "+7(83546)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Шемурша", + operator: "", + desc: "" + }, { + mask: "+7(83547)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Ядрин", + operator: "", + desc: "" + }, { + mask: "+7(83548)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Янтиково", + operator: "", + desc: "" + }, { + mask: "+7(83549)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Яльчики", + operator: "", + desc: "" + }, { + mask: "+7(83551)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чувашия", + city: "Красные Четаи", + operator: "", + desc: "" + }, { + mask: "+7(836)###-##-##", + cc: "RU", + cd: "Russia", + region: "Марий Эл", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8362)##-##-##", + cc: "RU", + cd: "Russia", + region: "Марий Эл", + city: "Йошкар-Ола", + operator: "", + desc: "" + }, { + mask: "+7(83631)#-##-##", + cc: "RU", + cd: "Russia", + region: "Марий Эл", + city: "Волжск", + operator: "", + desc: "" + }, { + mask: "+7(83632)#-##-##", + cc: "RU", + cd: "Russia", + region: "Марий Эл", + city: "Козьмодемьянск", + operator: "", + desc: "" + }, { + mask: "+7(83633)#-##-##", + cc: "RU", + cd: "Russia", + region: "Марий Эл", + city: "Сернур", + operator: "", + desc: "" + }, { + mask: "+7(83634)#-##-##", + cc: "RU", + cd: "Russia", + region: "Марий Эл", + city: "Мари-Турек", + operator: "", + desc: "" + }, { + mask: "+7(83635)#-##-##", + cc: "RU", + cd: "Russia", + region: "Марий Эл", + city: "Морки", + operator: "", + desc: "" + }, { + mask: "+7(83636)#-##-##", + cc: "RU", + cd: "Russia", + region: "Марий Эл", + city: "Новый Торъял", + operator: "", + desc: "" + }, { + mask: "+7(83637)#-##-##", + cc: "RU", + cd: "Russia", + region: "Марий Эл", + city: "Куженер", + operator: "", + desc: "" + }, { + mask: "+7(83638)#-##-##", + cc: "RU", + cd: "Russia", + region: "Марий Эл", + city: "Советский", + operator: "", + desc: "" + }, { + mask: "+7(83639)#-##-##", + cc: "RU", + cd: "Russia", + region: "Марий Эл", + city: "Параньга", + operator: "", + desc: "" + }, { + mask: "+7(83641)#-##-##", + cc: "RU", + cd: "Russia", + region: "Марий Эл", + city: "Оршанка", + operator: "", + desc: "" + }, { + mask: "+7(83643)#-##-##", + cc: "RU", + cd: "Russia", + region: "Марий Эл", + city: "Килемары", + operator: "", + desc: "" + }, { + mask: "+7(83644)#-##-##", + cc: "RU", + cd: "Russia", + region: "Марий Эл", + city: "Юрино", + operator: "", + desc: "" + }, { + mask: "+7(83645)#-##-##", + cc: "RU", + cd: "Russia", + region: "Марий Эл", + city: "Звенигово", + operator: "", + desc: "" + }, { + mask: "+7(840)###-##-##", + cc: "RU", + cd: "Russia", + region: "Абхазия", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(840)22#-##-##", + cc: "RU", + cd: "Russia", + region: "Абхазия", + city: "Сухум", + operator: "", + desc: "" + }, { + mask: "+7(840)23#-##-##", + cc: "RU", + cd: "Russia", + region: "Абхазия", + city: "Гагра", + operator: "", + desc: "" + }, { + mask: "+7(840)24#-##-##", + cc: "RU", + cd: "Russia", + region: "Абхазия", + city: "Гудаута", + operator: "", + desc: "" + }, { + mask: "+7(840)25#-##-##", + cc: "RU", + cd: "Russia", + region: "Абхазия", + city: "Очамчыра", + operator: "", + desc: "" + }, { + mask: "+7(840)26#-##-##", + cc: "RU", + cd: "Russia", + region: "Абхазия", + city: "Ткуарчал", + operator: "", + desc: "" + }, { + mask: "+7(840)27#-##-##", + cc: "RU", + cd: "Russia", + region: "Абхазия", + city: "Гулрыпш", + operator: "", + desc: "" + }, { + mask: "+7(840)28#-##-##", + cc: "RU", + cd: "Russia", + region: "Абхазия", + city: "Гал", + operator: "", + desc: "" + }, { + mask: "+7(841)###-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8412)##-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Пенза", + operator: "", + desc: "" + }, { + mask: "+7(84140)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Бессоновка", + operator: "", + desc: "" + }, { + mask: "+7(84141)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Беково", + operator: "", + desc: "" + }, { + mask: "+7(84142)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Вадинск", + operator: "", + desc: "" + }, { + mask: "+7(84143)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Башмаково", + operator: "", + desc: "" + }, { + mask: "+7(84144)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Исса", + operator: "", + desc: "" + }, { + mask: "+7(84145)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Русский Камешкир", + operator: "", + desc: "" + }, { + mask: "+7(84146)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Колышлей", + operator: "", + desc: "" + }, { + mask: "+7(84147)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Кондоль", + operator: "", + desc: "" + }, { + mask: "+7(84148)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Лопатино", + operator: "", + desc: "" + }, { + mask: "+7(84150)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Мокшан", + operator: "", + desc: "" + }, { + mask: "+7(84151)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Спасск", + operator: "", + desc: "" + }, { + mask: "+7(84152)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Пачелма", + operator: "", + desc: "" + }, { + mask: "+7(84153)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Белинский", + operator: "", + desc: "" + }, { + mask: "+7(84154)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Нижний Ломов", + operator: "", + desc: "" + }, { + mask: "+7(84155)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Земетчино", + operator: "", + desc: "" + }, { + mask: "+7(84156)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Каменка", + operator: "", + desc: "" + }, { + mask: "+7(84157)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Кузнецк", + operator: "", + desc: "" + }, { + mask: "+7(84158)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Городище", + operator: "", + desc: "" + }, { + mask: "+7(84159)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Шемышейка", + operator: "", + desc: "" + }, { + mask: "+7(84161)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Лунино", + operator: "", + desc: "" + }, { + mask: "+7(84162)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Малая Сердоба", + operator: "", + desc: "" + }, { + mask: "+7(84163)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Наровчат", + operator: "", + desc: "" + }, { + mask: "+7(84164)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Неверкино", + operator: "", + desc: "" + }, { + mask: "+7(84165)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Никольск", + operator: "", + desc: "" + }, { + mask: "+7(84167)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Сердобск", + operator: "", + desc: "" + }, { + mask: "+7(84168)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Сосновоборск", + operator: "", + desc: "" + }, { + mask: "+7(84169)#-##-##", + cc: "RU", + cd: "Russia", + region: "Пензенская область", + city: "Тамала", + operator: "", + desc: "" + }, { + mask: "+7(842)###-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8422)##-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Ульяновск", + operator: "", + desc: "" + }, { + mask: "+7(84230)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Старая Майна", + operator: "", + desc: "" + }, { + mask: "+7(84231)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Чердаклы", + operator: "", + desc: "" + }, { + mask: "+7(84232)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Новая Малыкла", + operator: "", + desc: "" + }, { + mask: "+7(84233)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Сенгилей", + operator: "", + desc: "" + }, { + mask: "+7(84234)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Тереньга", + operator: "", + desc: "" + }, { + mask: "+7(84235)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Димитровград", + operator: "", + desc: "" + }, { + mask: "+7(84237)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Кузоватово", + operator: "", + desc: "" + }, { + mask: "+7(84238)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Новоспасское", + operator: "", + desc: "" + }, { + mask: "+7(84239)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Радищево", + operator: "", + desc: "" + }, { + mask: "+7(84240)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Базарный Сызган", + operator: "", + desc: "" + }, { + mask: "+7(84241)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Инза", + operator: "", + desc: "" + }, { + mask: "+7(84242)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Сурское", + operator: "", + desc: "" + }, { + mask: "+7(84243)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Вешкайма", + operator: "", + desc: "" + }, { + mask: "+7(84244)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Майна", + operator: "", + desc: "" + }, { + mask: "+7(84245)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Большое Нагаткино", + operator: "", + desc: "" + }, { + mask: "+7(84246)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Карсун", + operator: "", + desc: "" + }, { + mask: "+7(84247)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Николаевка", + operator: "", + desc: "" + }, { + mask: "+7(84248)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Павловка", + operator: "", + desc: "" + }, { + mask: "+7(84249)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Старая Кулатка", + operator: "", + desc: "" + }, { + mask: "+7(84253)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Барыш", + operator: "", + desc: "" + }, { + mask: "+7(84254)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Ишеевка", + operator: "", + desc: "" + }, { + mask: "+7(84255)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ульяновская область", + city: "Новоульяновск", + operator: "", + desc: "" + }, { + mask: "+7(843)###-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Казань", + operator: "", + desc: "" + }, { + mask: "+7(84341)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Алексеевское", + operator: "", + desc: "" + }, { + mask: "+7(84342)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Чистополь", + operator: "", + desc: "" + }, { + mask: "+7(84344)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Аксубаево", + operator: "", + desc: "" + }, { + mask: "+7(84345)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Нурлат", + operator: "", + desc: "" + }, { + mask: "+7(84346)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Базарные Матаки", + operator: "", + desc: "" + }, { + mask: "+7(84347)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Болгар", + operator: "", + desc: "" + }, { + mask: "+7(84348)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Новошешминск", + operator: "", + desc: "" + }, { + mask: "+7(84360)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Тюлячи", + operator: "", + desc: "" + }, { + mask: "+7(84361)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Рыбная Слобода", + operator: "", + desc: "" + }, { + mask: "+7(84362)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Богатые Сабы", + operator: "", + desc: "" + }, { + mask: "+7(84364)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Кукмор", + operator: "", + desc: "" + }, { + mask: "+7(84365)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Высокая Гора", + operator: "", + desc: "" + }, { + mask: "+7(84366)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Арск", + operator: "", + desc: "" + }, { + mask: "+7(84367)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Пестрецы", + operator: "", + desc: "" + }, { + mask: "+7(84368)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Балтаси", + operator: "", + desc: "" + }, { + mask: "+7(84369)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Большая Атня", + operator: "", + desc: "" + }, { + mask: "+7(84370)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Большие Кайбицы", + operator: "", + desc: "" + }, { + mask: "+7(84371)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Зеленодольск", + operator: "", + desc: "" + }, { + mask: "+7(84373)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Тетюши", + operator: "", + desc: "" + }, { + mask: "+7(84374)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Буинск", + operator: "", + desc: "" + }, { + mask: "+7(84375)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Старое Дрожжаное", + operator: "", + desc: "" + }, { + mask: "+7(84376)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Апастово", + operator: "", + desc: "" + }, { + mask: "+7(84377)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Камское Устье", + operator: "", + desc: "" + }, { + mask: "+7(84378)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Лаишево", + operator: "", + desc: "" + }, { + mask: "+7(84379)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Верхний Услон", + operator: "", + desc: "" + }, { + mask: "+7(84396)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Черемшан", + operator: "", + desc: "" + }, { + mask: "+7(844)###-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(844)2##-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Волгоград", + operator: "", + desc: "" + }, { + mask: "+7(844)70#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Волгоград", + operator: "", + desc: "" + }, { + mask: "+7(8443)##-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Волжский", + operator: "", + desc: "" + }, { + mask: "+7(84442)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Урюпинск", + operator: "", + desc: "" + }, { + mask: "+7(84443)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Нехаевская", + operator: "", + desc: "" + }, { + mask: "+7(84444)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Новониколаевский", + operator: "", + desc: "" + }, { + mask: "+7(84445)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Преображенская", + operator: "", + desc: "" + }, { + mask: "+7(84446)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Алексеевская", + operator: "", + desc: "" + }, { + mask: "+7(84447)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Новоаннинский", + operator: "", + desc: "" + }, { + mask: "+7(84452)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Елань", + operator: "", + desc: "" + }, { + mask: "+7(84453)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Рудня", + operator: "", + desc: "" + }, { + mask: "+7(84454)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Жирновск", + operator: "", + desc: "" + }, { + mask: "+7(84455)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Котово", + operator: "", + desc: "" + }, { + mask: "+7(84456)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Ольховка", + operator: "", + desc: "" + }, { + mask: "+7(84457)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Камышин", + operator: "", + desc: "" + }, { + mask: "+7(84458)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Дубовка", + operator: "", + desc: "" + }, { + mask: "+7(84461)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Даниловка", + operator: "", + desc: "" + }, { + mask: "+7(84462)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Кумылженская", + operator: "", + desc: "" + }, { + mask: "+7(84463)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Михайловка", + operator: "", + desc: "" + }, { + mask: "+7(84464)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Серафимович", + operator: "", + desc: "" + }, { + mask: "+7(84465)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Фролово", + operator: "", + desc: "" + }, { + mask: "+7(84466)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Клетская", + operator: "", + desc: "" + }, { + mask: "+7(84467)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Иловля", + operator: "", + desc: "" + }, { + mask: "+7(84468)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Городище", + operator: "", + desc: "" + }, { + mask: "+7(84472)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Калач-на-Дону", + operator: "", + desc: "" + }, { + mask: "+7(84473)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Суровикино", + operator: "", + desc: "" + }, { + mask: "+7(84474)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Чернышковский", + operator: "", + desc: "" + }, { + mask: "+7(84475)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Октябрьский", + operator: "", + desc: "" + }, { + mask: "+7(84476)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Котельниково", + operator: "", + desc: "" + }, { + mask: "+7(84477)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Светлый Яр", + operator: "", + desc: "" + }, { + mask: "+7(84478)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Ленинск", + operator: "", + desc: "" + }, { + mask: "+7(84479)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Средняя Ахтуба", + operator: "", + desc: "" + }, { + mask: "+7(84492)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Палласовка", + operator: "", + desc: "" + }, { + mask: "+7(84493)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Старая Полтавка", + operator: "", + desc: "" + }, { + mask: "+7(84494)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Николаевск", + operator: "", + desc: "" + }, { + mask: "+7(84495)#-##-##", + cc: "RU", + cd: "Russia", + region: "Волгоградская область", + city: "Быково", + operator: "", + desc: "" + }, { + mask: "+7(845)###-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8452)##-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Саратов", + operator: "", + desc: "" + }, { + mask: "+7(8453)2#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Балаково", + operator: "", + desc: "" + }, { + mask: "+7(8453)3#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Балаково", + operator: "", + desc: "" + }, { + mask: "+7(8453)4#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Балаково", + operator: "", + desc: "" + }, { + mask: "+7(8453)5#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Энгельс", + operator: "", + desc: "" + }, { + mask: "+7(8453)7#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Энгельс", + operator: "", + desc: "" + }, { + mask: "+7(8453)9#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Энгельс", + operator: "", + desc: "" + }, { + mask: "+7(84540)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Ртищево", + operator: "", + desc: "" + }, { + mask: "+7(84542)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Аркадак", + operator: "", + desc: "" + }, { + mask: "+7(84543)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Турки", + operator: "", + desc: "" + }, { + mask: "+7(84544)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Романовка", + operator: "", + desc: "" + }, { + mask: "+7(84545)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Балашов", + operator: "", + desc: "" + }, { + mask: "+7(84548)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Самойловка", + operator: "", + desc: "" + }, { + mask: "+7(84549)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Калининск", + operator: "", + desc: "" + }, { + mask: "+7(84550)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Красноармейск", + operator: "", + desc: "" + }, { + mask: "+7(84551)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Лысые Горы", + operator: "", + desc: "" + }, { + mask: "+7(84552)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Аткарск", + operator: "", + desc: "" + }, { + mask: "+7(84554)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Екатериновка", + operator: "", + desc: "" + }, { + mask: "+7(84555)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Петровск", + operator: "", + desc: "" + }, { + mask: "+7(84557)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Новые Бурасы", + operator: "", + desc: "" + }, { + mask: "+7(84558)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Татищево", + operator: "", + desc: "" + }, { + mask: "+7(84560)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Красный Кут", + operator: "", + desc: "" + }, { + mask: "+7(84561)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Питерка", + operator: "", + desc: "" + }, { + mask: "+7(84562)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Новоузенск", + operator: "", + desc: "" + }, { + mask: "+7(84563)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Дергачи", + operator: "", + desc: "" + }, { + mask: "+7(84564)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Ершов", + operator: "", + desc: "" + }, { + mask: "+7(84565)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Мокроус", + operator: "", + desc: "" + }, { + mask: "+7(84566)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Степное", + operator: "", + desc: "" + }, { + mask: "+7(84567)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Маркс", + operator: "", + desc: "" + }, { + mask: "+7(84568)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Воскресенское", + operator: "", + desc: "" + }, { + mask: "+7(84573)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Духовницкое", + operator: "", + desc: "" + }, { + mask: "+7(84574)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Пугачёв", + operator: "", + desc: "" + }, { + mask: "+7(84575)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Перелюб", + operator: "", + desc: "" + }, { + mask: "+7(84576)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Озинки", + operator: "", + desc: "" + }, { + mask: "+7(84577)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Горный", + operator: "", + desc: "" + }, { + mask: "+7(84578)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Александров Гай", + operator: "", + desc: "" + }, { + mask: "+7(84579)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Ивантеевка", + operator: "", + desc: "" + }, { + mask: "+7(84591)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Базарный Карабулак", + operator: "", + desc: "" + }, { + mask: "+7(84592)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Балтай", + operator: "", + desc: "" + }, { + mask: "+7(84593)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Вольск", + operator: "", + desc: "" + }, { + mask: "+7(84595)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Хвалынск", + operator: "", + desc: "" + }, { + mask: "+7(84596)#-##-##", + cc: "RU", + cd: "Russia", + region: "Саратовская область", + city: "Ровное", + operator: "", + desc: "" + }, { + mask: "+7(846)###-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(846)2##-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Самара", + operator: "", + desc: "" + }, { + mask: "+7(846)300-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Самара", + operator: "", + desc: "" + }, { + mask: "+7(846)302-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Самара", + operator: "", + desc: "" + }, { + mask: "+7(846)303-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Самара", + operator: "", + desc: "" + }, { + mask: "+7(846)309-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Самара", + operator: "", + desc: "" + }, { + mask: "+7(846)31#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Самара", + operator: "", + desc: "" + }, { + mask: "+7(846)33#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Самара", + operator: "", + desc: "" + }, { + mask: "+7(846)34#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Самара", + operator: "", + desc: "" + }, { + mask: "+7(846)37#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Самара", + operator: "", + desc: "" + }, { + mask: "+7(846)9##-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Самара", + operator: "", + desc: "" + }, { + mask: "+7(84630)5-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Волжский Утёс", + operator: "", + desc: "" + }, { + mask: "+7(84635)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Новокуйбышевск", + operator: "", + desc: "" + }, { + mask: "+7(84639)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Чапаевск", + operator: "", + desc: "" + }, { + mask: "+7(8464)3#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Сызрань", + operator: "", + desc: "" + }, { + mask: "+7(8464)4#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Сызрань", + operator: "", + desc: "" + }, { + mask: "+7(8464)9#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Сызрань", + operator: "", + desc: "" + }, { + mask: "+7(84646)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Октябрьск", + operator: "", + desc: "" + }, { + mask: "+7(84647)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Приволжье", + operator: "", + desc: "" + }, { + mask: "+7(84648)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Шигоны", + operator: "", + desc: "" + }, { + mask: "+7(84650)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Кошки", + operator: "", + desc: "" + }, { + mask: "+7(84651)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Челно-Вершины", + operator: "", + desc: "" + }, { + mask: "+7(84652)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Шентала", + operator: "", + desc: "" + }, { + mask: "+7(84653)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Клявлино", + operator: "", + desc: "" + }, { + mask: "+7(84654)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Исаклы", + operator: "", + desc: "" + }, { + mask: "+7(84655)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Сергиевск", + operator: "", + desc: "" + }, { + mask: "+7(84656)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Похвистнево", + operator: "", + desc: "" + }, { + mask: "+7(84657)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Красный Яр", + operator: "", + desc: "" + }, { + mask: "+7(84658)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Елховка", + operator: "", + desc: "" + }, { + mask: "+7(84660)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Кинель-Черкассы", + operator: "", + desc: "" + }, { + mask: "+7(84661)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Отрадный", + operator: "", + desc: "" + }, { + mask: "+7(84663)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Кинель", + operator: "", + desc: "" + }, { + mask: "+7(84664)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Камышла", + operator: "", + desc: "" + }, { + mask: "+7(84666)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Богатое", + operator: "", + desc: "" + }, { + mask: "+7(84667)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Борское", + operator: "", + desc: "" + }, { + mask: "+7(84670)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Нефтегорск", + operator: "", + desc: "" + }, { + mask: "+7(84671)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Алексеевка", + operator: "", + desc: "" + }, { + mask: "+7(84672)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Большая Черниговка", + operator: "", + desc: "" + }, { + mask: "+7(84673)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Большая Глушица", + operator: "", + desc: "" + }, { + mask: "+7(84674)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Пестравка", + operator: "", + desc: "" + }, { + mask: "+7(84675)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Красноармейское", + operator: "", + desc: "" + }, { + mask: "+7(84676)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Безенчук", + operator: "", + desc: "" + }, { + mask: "+7(84677)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Хворостянка", + operator: "", + desc: "" + }, { + mask: "+7(847)###-##-##", + cc: "RU", + cd: "Russia", + region: "Калмыкия", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(84722)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калмыкия", + city: "Элиста", + operator: "", + desc: "" + }, { + mask: "+7(84731)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калмыкия", + city: "Городовиковск", + operator: "", + desc: "" + }, { + mask: "+7(84732)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калмыкия", + city: "Ики-Бурул", + operator: "", + desc: "" + }, { + mask: "+7(84733)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калмыкия", + city: "Лагань", + operator: "", + desc: "" + }, { + mask: "+7(84734)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калмыкия", + city: "Малые Дербеты", + operator: "", + desc: "" + }, { + mask: "+7(84735)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калмыкия", + city: "Кетченеры", + operator: "", + desc: "" + }, { + mask: "+7(84736)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калмыкия", + city: "Приютное", + operator: "", + desc: "" + }, { + mask: "+7(84741)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калмыкия", + city: "Садовое", + operator: "", + desc: "" + }, { + mask: "+7(84742)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калмыкия", + city: "Троицкое", + operator: "", + desc: "" + }, { + mask: "+7(84743)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калмыкия", + city: "Комсомольский", + operator: "", + desc: "" + }, { + mask: "+7(84744)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калмыкия", + city: "Цаган Аман", + operator: "", + desc: "" + }, { + mask: "+7(84745)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калмыкия", + city: "Яшалта", + operator: "", + desc: "" + }, { + mask: "+7(84746)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калмыкия", + city: "Яшкуль", + operator: "", + desc: "" + }, { + mask: "+7(84747)#-##-##", + cc: "RU", + cd: "Russia", + region: "Калмыкия", + city: "Большой Царын", + operator: "", + desc: "" + }, { + mask: "+7(848)###-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8482)##-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Тольятти", + operator: "", + desc: "" + }, { + mask: "+7(84862)#-##-##", + cc: "RU", + cd: "Russia", + region: "Самарская область", + city: "Жигулевск", + operator: "", + desc: "" + }, { + mask: "+7(851)###-##-##", + cc: "RU", + cd: "Russia", + region: "Астраханская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8512)##-##-##", + cc: "RU", + cd: "Russia", + region: "Астраханская область", + city: "Астрахань", + operator: "", + desc: "" + }, { + mask: "+7(85140)#-##-##", + cc: "RU", + cd: "Russia", + region: "Астраханская область", + city: "Знаменск", + operator: "", + desc: "" + }, { + mask: "+7(85141)#-##-##", + cc: "RU", + cd: "Russia", + region: "Астраханская область", + city: "Ахтубинск", + operator: "", + desc: "" + }, { + mask: "+7(85142)#-##-##", + cc: "RU", + cd: "Russia", + region: "Астраханская область", + city: "Володарский", + operator: "", + desc: "" + }, { + mask: "+7(85143)#-##-##", + cc: "RU", + cd: "Russia", + region: "Астраханская область", + city: "Енотаевка", + operator: "", + desc: "" + }, { + mask: "+7(85144)#-##-##", + cc: "RU", + cd: "Russia", + region: "Астраханская область", + city: "Икряное", + operator: "", + desc: "" + }, { + mask: "+7(85145)#-##-##", + cc: "RU", + cd: "Russia", + region: "Астраханская область", + city: "Камызяк", + operator: "", + desc: "" + }, { + mask: "+7(85146)#-##-##", + cc: "RU", + cd: "Russia", + region: "Астраханская область", + city: "Красный Яр", + operator: "", + desc: "" + }, { + mask: "+7(85147)#-##-##", + cc: "RU", + cd: "Russia", + region: "Астраханская область", + city: "Лиман", + operator: "", + desc: "" + }, { + mask: "+7(85148)#-##-##", + cc: "RU", + cd: "Russia", + region: "Астраханская область", + city: "Харабали", + operator: "", + desc: "" + }, { + mask: "+7(85149)#-##-##", + cc: "RU", + cd: "Russia", + region: "Астраханская область", + city: "Чёрный Яр", + operator: "", + desc: "" + }, { + mask: "+7(85171)#-##-##", + cc: "RU", + cd: "Russia", + region: "Астраханская область", + city: "Нариманов", + operator: "", + desc: "" + }, { + mask: "+7(85172)#-##-##", + cc: "RU", + cd: "Russia", + region: "Астраханская область", + city: "Началово", + operator: "", + desc: "" + }, { + mask: "+7(855)###-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8552)##-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Набережные Челны", + operator: "", + desc: "" + }, { + mask: "+7(8553)##-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Альметьевск", + operator: "", + desc: "" + }, { + mask: "+7(85549)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Менделеевск", + operator: "", + desc: "" + }, { + mask: "+7(8555)3#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Нижнекамск", + operator: "", + desc: "" + }, { + mask: "+7(8555)4#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Нижнекамск", + operator: "", + desc: "" + }, { + mask: "+7(85551)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Агрыз", + operator: "", + desc: "" + }, { + mask: "+7(85552)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Актаныш", + operator: "", + desc: "" + }, { + mask: "+7(85555)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Мензелинск", + operator: "", + desc: "" + }, { + mask: "+7(85556)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Муслюмово", + operator: "", + desc: "" + }, { + mask: "+7(85557)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Елабуга", + operator: "", + desc: "" + }, { + mask: "+7(85558)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Заинск", + operator: "", + desc: "" + }, { + mask: "+7(85559)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Сарманово", + operator: "", + desc: "" + }, { + mask: "+7(85563)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Мамадыш", + operator: "", + desc: "" + }, { + mask: "+7(85569)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Бавлы", + operator: "", + desc: "" + }, { + mask: "+7(8557)2#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Набережные Челны", + operator: "", + desc: "" + }, { + mask: "+7(8557)3#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Набережные Челны", + operator: "", + desc: "" + }, { + mask: "+7(85592)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Азнакаево", + operator: "", + desc: "" + }, { + mask: "+7(85593)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Уруссу", + operator: "", + desc: "" + }, { + mask: "+7(85594)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Бугульма", + operator: "", + desc: "" + }, { + mask: "+7(85595)#-##-##", + cc: "RU", + cd: "Russia", + region: "Татарстан", + city: "Лениногорск", + operator: "", + desc: "" + }, { + mask: "+7(861)###-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Краснодар", + operator: "", + desc: "" + }, { + mask: "+7(86130)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Тимашёвск", + operator: "", + desc: "" + }, { + mask: "+7(86131)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Крымск", + operator: "", + desc: "" + }, { + mask: "+7(86132)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Ейск", + operator: "", + desc: "" + }, { + mask: "+7(86133)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Анапа", + operator: "", + desc: "" + }, { + mask: "+7(86135)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Усть-Лабинск", + operator: "", + desc: "" + }, { + mask: "+7(86137)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Армавир", + operator: "", + desc: "" + }, { + mask: "+7(86138)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Кропоткин", + operator: "", + desc: "" + }, { + mask: "+7(86140)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Успенское", + operator: "", + desc: "" + }, { + mask: "+7(86141)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Геленджик", + operator: "", + desc: "" + }, { + mask: "+7(86142)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Кореновск", + operator: "", + desc: "" + }, { + mask: "+7(86143)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Приморско-Ахтарск", + operator: "", + desc: "" + }, { + mask: "+7(86144)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Отрадная", + operator: "", + desc: "" + }, { + mask: "+7(86145)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Ленинградская", + operator: "", + desc: "" + }, { + mask: "+7(86146)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Славянск-на-Кубани", + operator: "", + desc: "" + }, { + mask: "+7(86147)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Курганинск", + operator: "", + desc: "" + }, { + mask: "+7(86148)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Темрюк", + operator: "", + desc: "" + }, { + mask: "+7(86149)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Новопокровская", + operator: "", + desc: "" + }, { + mask: "+7(86150)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Абинск", + operator: "", + desc: "" + }, { + mask: "+7(86151)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Старощербиновская", + operator: "", + desc: "" + }, { + mask: "+7(86152)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Апшеронск", + operator: "", + desc: "" + }, { + mask: "+7(86153)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Староминская", + operator: "", + desc: "" + }, { + mask: "+7(86154)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Белая Глина", + operator: "", + desc: "" + }, { + mask: "+7(86155)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Белореченск", + operator: "", + desc: "" + }, { + mask: "+7(86156)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Брюховецкая", + operator: "", + desc: "" + }, { + mask: "+7(86157)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Выселки", + operator: "", + desc: "" + }, { + mask: "+7(86158)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Тбилисская", + operator: "", + desc: "" + }, { + mask: "+7(86159)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Горячий Ключ", + operator: "", + desc: "" + }, { + mask: "+7(86160)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Гулькевичи", + operator: "", + desc: "" + }, { + mask: "+7(86161)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Крыловская", + operator: "", + desc: "" + }, { + mask: "+7(86162)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Динская", + operator: "", + desc: "" + }, { + mask: "+7(86163)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Калининская", + operator: "", + desc: "" + }, { + mask: "+7(86164)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Каневская", + operator: "", + desc: "" + }, { + mask: "+7(86165)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Полтавская", + operator: "", + desc: "" + }, { + mask: "+7(86166)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Северская", + operator: "", + desc: "" + }, { + mask: "+7(86167)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Туапсе", + operator: "", + desc: "" + }, { + mask: "+7(86168)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Кущёвская", + operator: "", + desc: "" + }, { + mask: "+7(86169)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Лабинск", + operator: "", + desc: "" + }, { + mask: "+7(8617)##-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Новороссийск", + operator: "", + desc: "" + }, { + mask: "+7(86191)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Павловская", + operator: "", + desc: "" + }, { + mask: "+7(86192)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Мостовской", + operator: "", + desc: "" + }, { + mask: "+7(86193)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Кавказская", + operator: "", + desc: "" + }, { + mask: "+7(86195)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Новокубанск", + operator: "", + desc: "" + }, { + mask: "+7(86196)#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Тихорецк", + operator: "", + desc: "" + }, { + mask: "+7(862)###-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "", + operator: "", + desc: "агломерация Большой Сочи" + }, { + mask: "+7(862)2##-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: [ "Аше", "Вардане", "Головинка", "Головинка", "Сочи", "Хоста" ], + operator: "", + desc: "агломерация Большой Сочи" + }, { + mask: "+7(862)23#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "", + operator: "МТС", + desc: "агломерация Большой Сочи" + }, { + mask: "+7(862)24#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Адлер", + operator: "", + desc: "агломерация Большой Сочи" + }, { + mask: "+7(862)247-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Кудепста", + operator: "", + desc: "агломерация Большой Сочи" + }, { + mask: "+7(862)252-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: [ "Дагомыс", "Лоо" ], + operator: "", + desc: "агломерация Большой Сочи" + }, { + mask: "+7(862)27#-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "Лазаревское", + operator: "", + desc: "агломерация Большой Сочи" + }, { + mask: "+7(862)295-##-##", + cc: "RU", + cd: "Russia", + region: "Краснодарский край", + city: "", + operator: "МегаФон", + desc: "агломерация Большой Сочи" + }, { + mask: "+7(863)###-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(863)2##-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Ростов-на-Дону", + operator: "", + desc: "" + }, { + mask: "+7(863)3##-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Ростов-на-Дону", + operator: "", + desc: "" + }, { + mask: "+7(8634)3#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Таганрог", + operator: "", + desc: "" + }, { + mask: "+7(8634)43-1#-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Таганрог", + operator: "", + desc: "" + }, { + mask: "+7(8634)6#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Таганрог", + operator: "", + desc: "" + }, { + mask: "+7(86340)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Родионово-Несветайская", + operator: "", + desc: "" + }, { + mask: "+7(86341)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Матвеев-Курган", + operator: "", + desc: "" + }, { + mask: "+7(86342)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Азов", + operator: "", + desc: "" + }, { + mask: "+7(86345)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Кагальницкая", + operator: "", + desc: "" + }, { + mask: "+7(86347)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Покровское", + operator: "", + desc: "" + }, { + mask: "+7(86348)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Куйбышево", + operator: "", + desc: "" + }, { + mask: "+7(86349)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Чалтырь", + operator: "", + desc: "" + }, { + mask: "+7(8635)2#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Новочеркасск", + operator: "", + desc: "" + }, { + mask: "+7(86350)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Аксай", + operator: "", + desc: "" + }, { + mask: "+7(86351)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Усть-Донецкий", + operator: "", + desc: "" + }, { + mask: "+7(86353)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Вёшенская", + operator: "", + desc: "" + }, { + mask: "+7(86354)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Батайск", + operator: "", + desc: "" + }, { + mask: "+7(86355)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Зверево", + operator: "", + desc: "" + }, { + mask: "+7(86356)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Семикаракорск", + operator: "", + desc: "" + }, { + mask: "+7(86357)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Багаевская", + operator: "", + desc: "" + }, { + mask: "+7(86358)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Весёлый", + operator: "", + desc: "" + }, { + mask: "+7(86359)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Зерноград", + operator: "", + desc: "" + }, { + mask: "+7(8636)2#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Шахты", + operator: "", + desc: "" + }, { + mask: "+7(86360)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Каменоломни", + operator: "", + desc: "" + }, { + mask: "+7(86361)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Гуково", + operator: "", + desc: "" + }, { + mask: "+7(86363)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Советская", + operator: "", + desc: "" + }, { + mask: "+7(86364)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Казанская", + operator: "", + desc: "" + }, { + mask: "+7(86365)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Каменск-Шахтинский", + operator: "", + desc: "" + }, { + mask: "+7(86367)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Красный Сулин", + operator: "", + desc: "" + }, { + mask: "+7(86368)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Донецк", + operator: "", + desc: "" + }, { + mask: "+7(86369)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Новошахтинск", + operator: "", + desc: "" + }, { + mask: "+7(86370)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Егорлыкская", + operator: "", + desc: "" + }, { + mask: "+7(86371)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Целина", + operator: "", + desc: "" + }, { + mask: "+7(86372)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Сальск", + operator: "", + desc: "" + }, { + mask: "+7(86373)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Песчанокопское", + operator: "", + desc: "" + }, { + mask: "+7(86374)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Пролетарск", + operator: "", + desc: "" + }, { + mask: "+7(86375)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Орловский", + operator: "", + desc: "" + }, { + mask: "+7(86376)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Зимовники", + operator: "", + desc: "" + }, { + mask: "+7(86377)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Дубовское", + operator: "", + desc: "" + }, { + mask: "+7(86378)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Заветное", + operator: "", + desc: "" + }, { + mask: "+7(86379)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Ремонтное", + operator: "", + desc: "" + }, { + mask: "+7(86382)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Боковская", + operator: "", + desc: "" + }, { + mask: "+7(86383)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Белая Калитва", + operator: "", + desc: "" + }, { + mask: "+7(86384)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Морозовск", + operator: "", + desc: "" + }, { + mask: "+7(86385)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Миллерово", + operator: "", + desc: "" + }, { + mask: "+7(86386)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Тарасовский", + operator: "", + desc: "" + }, { + mask: "+7(86387)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Чертково", + operator: "", + desc: "" + }, { + mask: "+7(86388)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Кашары", + operator: "", + desc: "" + }, { + mask: "+7(86389)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Милютинская", + operator: "", + desc: "" + }, { + mask: "+7(8639)2#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Волгодонск", + operator: "", + desc: "" + }, { + mask: "+7(86391)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Цимлянск", + operator: "", + desc: "" + }, { + mask: "+7(86393)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Константиновск", + operator: "", + desc: "" + }, { + mask: "+7(86394)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Романовская", + operator: "", + desc: "" + }, { + mask: "+7(86395)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Большая Мартыновка", + operator: "", + desc: "" + }, { + mask: "+7(86396)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Обливская", + operator: "", + desc: "" + }, { + mask: "+7(86397)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ростовская область", + city: "Тацинская", + operator: "", + desc: "" + }, { + mask: "+7(865)###-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8652)##-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Ставрополь", + operator: "", + desc: "" + }, { + mask: "+7(86540)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Грачёвка", + operator: "", + desc: "" + }, { + mask: "+7(86541)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Красногвардейское", + operator: "", + desc: "" + }, { + mask: "+7(86542)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Ипатово", + operator: "", + desc: "" + }, { + mask: "+7(86543)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Левокумское", + operator: "", + desc: "" + }, { + mask: "+7(86544)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Новоалександровск", + operator: "", + desc: "" + }, { + mask: "+7(86545)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Изобильный", + operator: "", + desc: "" + }, { + mask: "+7(86546)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Донское", + operator: "", + desc: "" + }, { + mask: "+7(86547)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Светлоград", + operator: "", + desc: "" + }, { + mask: "+7(86548)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Новоселицкое", + operator: "", + desc: "" + }, { + mask: "+7(86549)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Благодарный", + operator: "", + desc: "" + }, { + mask: "+7(86550)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Кочубеевское", + operator: "", + desc: "" + }, { + mask: "+7(86552)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Зеленокумск", + operator: "", + desc: "" + }, { + mask: "+7(86553)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Михайловск", + operator: "", + desc: "" + }, { + mask: "+7(86554)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Невинномысск", + operator: "", + desc: "" + }, { + mask: "+7(86555)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Дивное", + operator: "", + desc: "" + }, { + mask: "+7(86556)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Курсавка", + operator: "", + desc: "" + }, { + mask: "+7(86557)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Александровское", + operator: "", + desc: "" + }, { + mask: "+7(86558)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Нефтекумск", + operator: "", + desc: "" + }, { + mask: "+7(86559)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Буденновск", + operator: "", + desc: "" + }, { + mask: "+7(86560)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Арзгир", + operator: "", + desc: "" + }, { + mask: "+7(86563)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Степное", + operator: "", + desc: "" + }, { + mask: "+7(86565)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Летняя Ставка", + operator: "", + desc: "" + }, { + mask: "+7(866)###-##-##", + cc: "RU", + cd: "Russia", + region: "Кабардино-Балкария", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8662)##-##-##", + cc: "RU", + cd: "Russia", + region: "Кабардино-Балкария", + city: "Нальчик", + operator: "", + desc: "" + }, { + mask: "+7(86630)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кабардино-Балкария", + city: "Чегем", + operator: "", + desc: "" + }, { + mask: "+7(86631)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кабардино-Балкария", + city: "Прохладный", + operator: "", + desc: "" + }, { + mask: "+7(86632)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кабардино-Балкария", + city: "Терек", + operator: "", + desc: "" + }, { + mask: "+7(86633)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кабардино-Балкария", + city: "Майский", + operator: "", + desc: "" + }, { + mask: "+7(86634)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кабардино-Балкария", + city: "Баксан", + operator: "", + desc: "" + }, { + mask: "+7(86635)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кабардино-Балкария", + city: "Нарткала", + operator: "", + desc: "" + }, { + mask: "+7(86636)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кабардино-Балкария", + city: "Кашхатау", + operator: "", + desc: "" + }, { + mask: "+7(86637)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кабардино-Балкария", + city: "Залукокоаже", + operator: "", + desc: "" + }, { + mask: "+7(86638)#-##-##", + cc: "RU", + cd: "Russia", + region: "Кабардино-Балкария", + city: "Тырныауз", + operator: "", + desc: "" + }, { + mask: "+7(867)###-##-##", + cc: "RU", + cd: "Russia", + region: "Северная Осетия", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8672)##-##-##", + cc: "RU", + cd: "Russia", + region: "Северная Осетия", + city: "Владикавказ", + operator: "", + desc: "" + }, { + mask: "+7(86731)#-##-##", + cc: "RU", + cd: "Russia", + region: "Северная Осетия", + city: "Алагир", + operator: "", + desc: "" + }, { + mask: "+7(86732)#-##-##", + cc: "RU", + cd: "Russia", + region: "Северная Осетия", + city: "Ардон", + operator: "", + desc: "" + }, { + mask: "+7(86733)#-##-##", + cc: "RU", + cd: "Russia", + region: "Северная Осетия", + city: "Дигора", + operator: "", + desc: "" + }, { + mask: "+7(86734)#-##-##", + cc: "RU", + cd: "Russia", + region: "Северная Осетия", + city: "Чикола", + operator: "", + desc: "" + }, { + mask: "+7(86735)#-##-##", + cc: "RU", + cd: "Russia", + region: "Северная Осетия", + city: "Эльхотово", + operator: "", + desc: "" + }, { + mask: "+7(86736)#-##-##", + cc: "RU", + cd: "Russia", + region: "Северная Осетия", + city: "Моздок", + operator: "", + desc: "" + }, { + mask: "+7(86737)#-##-##", + cc: "RU", + cd: "Russia", + region: "Северная Осетия", + city: "Беслан", + operator: "", + desc: "" + }, { + mask: "+7(86738)#-##-##", + cc: "RU", + cd: "Russia", + region: "Северная Осетия", + city: "Октябрьское", + operator: "", + desc: "" + }, { + mask: "+7(86739)#-##-##", + cc: "RU", + cd: "Russia", + region: "Северная Осетия", + city: "Архонская", + operator: "", + desc: "" + }, { + mask: "+7(871)###-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8712)##-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: "Грозный", + operator: "", + desc: "" + }, { + mask: "+7(87132)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: "Знаменское", + operator: "", + desc: "" + }, { + mask: "+7(87134)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: "Ведено", + operator: "", + desc: "" + }, { + mask: "+7(87135)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: "Шатой", + operator: "", + desc: "" + }, { + mask: "+7(87136)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: "Шелковская", + operator: "", + desc: "" + }, { + mask: "+7(87142)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: "Ачхой-Мартан", + operator: "", + desc: "" + }, { + mask: "+7(87143)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: "Наурская", + operator: "", + desc: "" + }, { + mask: "+7(87145)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: "Урус-Мартан", + operator: "", + desc: "" + }, { + mask: "+7(87146)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: "Шали", + operator: "", + desc: "" + }, { + mask: "+7(87147)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: "Аргун", + operator: "", + desc: "" + }, { + mask: "+7(87148)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: "Ножай-Юрт", + operator: "", + desc: "" + }, { + mask: "+7(87152)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: "Гудермес", + operator: "", + desc: "" + }, { + mask: "+7(87154)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: "Серноводск", + operator: "", + desc: "" + }, { + mask: "+7(87155)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: "Курчалой", + operator: "", + desc: "" + }, { + mask: "+7(87156)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: [ "Толстой-Юрт", "Старые Атаги" ], + operator: "", + desc: "" + }, { + mask: "+7(87164)#-##-##", + cc: "RU", + cd: "Russia", + region: "Чеченская Республика", + city: "Итум-Кале", + operator: "", + desc: "" + }, { + mask: "+7(872)###-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8722)##-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Махачкала", + operator: "", + desc: "" + }, { + mask: "+7(87230)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Сергокала", + operator: "", + desc: "" + }, { + mask: "+7(87231)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Хасавюрт", + operator: "", + desc: "" + }, { + mask: "+7(87232)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Карабудахкент", + operator: "", + desc: "" + }, { + mask: "+7(87233)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Хунзах", + operator: "", + desc: "" + }, { + mask: "+7(87234)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Кизилюрт", + operator: "", + desc: "" + }, { + mask: "+7(87235)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Магарамкент", + operator: "", + desc: "" + }, { + mask: "+7(87236)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Касумкент", + operator: "", + desc: "" + }, { + mask: "+7(87237)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Буйнакск", + operator: "", + desc: "" + }, { + mask: "+7(87238)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Маджалис", + operator: "", + desc: "" + }, { + mask: "+7(87239)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Кизляр", + operator: "", + desc: "" + }, { + mask: "+7(87240)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Дербент", + operator: "", + desc: "" + }, { + mask: "+7(87242)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Новолакское", + operator: "", + desc: "" + }, { + mask: "+7(87243)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: [ "Тпиг", "Агул" ], + operator: "", + desc: "" + }, { + mask: "+7(87244)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Хив", + operator: "", + desc: "" + }, { + mask: "+7(87245)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Избербаш", + operator: "", + desc: "" + }, { + mask: "+7(87246)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Каспийск", + operator: "", + desc: "" + }, { + mask: "+7(87247)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Бабаюрт", + operator: "", + desc: "" + }, { + mask: "+7(87248)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Новокаякент", + operator: "", + desc: "" + }, { + mask: "+7(87249)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Хучни", + operator: "", + desc: "" + }, { + mask: "+7(87252)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Леваши", + operator: "", + desc: "" + }, { + mask: "+7(87254)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Уркарах", + operator: "", + desc: "" + }, { + mask: "+7(87255)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Гергебиль", + operator: "", + desc: "" + }, { + mask: "+7(87256)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Терекли-Мектеб", + operator: "", + desc: "" + }, { + mask: "+7(87257)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Унцукуль", + operator: "", + desc: "" + }, { + mask: "+7(87258)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Гуниб", + operator: "", + desc: "" + }, { + mask: "+7(87259)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Хебда", + operator: "", + desc: "" + }, { + mask: "+7(87260)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Акуша", + operator: "", + desc: "" + }, { + mask: "+7(87261)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Тарумовка", + operator: "", + desc: "" + }, { + mask: "+7(87262)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Курах", + operator: "", + desc: "" + }, { + mask: "+7(87263)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Ахты", + operator: "", + desc: "" + }, { + mask: "+7(87264)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Рутул", + operator: "", + desc: "" + }, { + mask: "+7(87265)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Тлярата", + operator: "", + desc: "" + }, { + mask: "+7(87266)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Цуриб", + operator: "", + desc: "" + }, { + mask: "+7(87267)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Кумух", + operator: "", + desc: "" + }, { + mask: "+7(87268)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Вачи", + operator: "", + desc: "" + }, { + mask: "+7(87271)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Ботлих", + operator: "", + desc: "" + }, { + mask: "+7(87272)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Мехельта", + operator: "", + desc: "" + }, { + mask: "+7(87273)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Агвали", + operator: "", + desc: "" + }, { + mask: "+7(87274)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Бежта", + operator: "", + desc: "" + }, { + mask: "+7(87275)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Дагестанские Огни", + operator: "", + desc: "" + }, { + mask: "+7(87276)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Южно-Сухокумск", + operator: "", + desc: "" + }, { + mask: "+7(87279)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Дагестан", + city: "Дылым", + operator: "", + desc: "" + }, { + mask: "+7(873)###-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Ингушетия", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8732)##-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Ингушетия", + city: "Назрань", + operator: "", + desc: "" + }, { + mask: "+7(87341)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Ингушетия", + city: "Орджоникидзевская", + operator: "", + desc: "" + }, { + mask: "+7(87342)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Ингушетия", + city: "Малгобек", + operator: "", + desc: "" + }, { + mask: "+7(87343)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Ингушетия", + city: "Джейрах", + operator: "", + desc: "" + }, { + mask: "+7(87344)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Ингушетия", + city: "Карабулак", + operator: "", + desc: "" + }, { + mask: "+7(87345)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Ингушетия", + city: "Магас", + operator: "", + desc: "" + }, { + mask: "+7(877)###-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Адыгея", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8772)##-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Адыгея", + city: "Майкоп", + operator: "", + desc: "" + }, { + mask: "+7(87770)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Адыгея", + city: "Кошехабль", + operator: "", + desc: "" + }, { + mask: "+7(87771)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Адыгея", + city: "Тахтамукай", + operator: "", + desc: "" + }, { + mask: "+7(87772)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Адыгея", + city: "Адыгейск", + operator: "", + desc: "" + }, { + mask: "+7(87773)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Адыгея", + city: "Хакуринохабль", + operator: "", + desc: "" + }, { + mask: "+7(87777)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Адыгея", + city: "Тульский", + operator: "", + desc: "" + }, { + mask: "+7(87778)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Адыгея", + city: "Красногвардейское", + operator: "", + desc: "" + }, { + mask: "+7(87779)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Адыгея", + city: "Гиагинская", + operator: "", + desc: "" + }, { + mask: "+7(878)###-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Карачаево-Черкесия", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(8782)##-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Карачаево-Черкесия", + city: "Черкесск", + operator: "", + desc: "" + }, { + mask: "+7(87870)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Карачаево-Черкесия", + city: "Адыге-Хабль", + operator: "", + desc: "" + }, { + mask: "+7(87872)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Карачаево-Черкесия", + city: [ "Теберда", "Домбай" ], + operator: "", + desc: "" + }, { + mask: "+7(87873)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Карачаево-Черкесия", + city: "Хабез", + operator: "", + desc: "" + }, { + mask: "+7(87874)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Карачаево-Черкесия", + city: "Кавказский", + operator: "", + desc: "" + }, { + mask: "+7(87875)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Карачаево-Черкесия", + city: "Усть-Джегута", + operator: "", + desc: "" + }, { + mask: "+7(87876)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Карачаево-Черкесия", + city: "Преградная", + operator: "", + desc: "" + }, { + mask: "+7(87877)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Карачаево-Черкесия", + city: "Учкекен", + operator: "", + desc: "" + }, { + mask: "+7(87878)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Карачаево-Черкесия", + city: "Зеленчукская", + operator: "", + desc: "" + }, { + mask: "+7(87879)#-##-##", + cc: "RU", + cd: "Russia", + region: "Республика Карачаево-Черкесия", + city: "Карачаевск", + operator: "", + desc: "" + }, { + mask: "+7(879)###-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "", + operator: "", + desc: "" + }, { + mask: "+7(87922)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Минеральные Воды", + operator: "", + desc: "" + }, { + mask: "+7(8793)##-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Пятигорск", + operator: "", + desc: "" + }, { + mask: "+7(87932)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Железноводск", + operator: "", + desc: "" + }, { + mask: "+7(87934)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Ессентуки", + operator: "", + desc: "" + }, { + mask: "+7(87935)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Лермонтов", + operator: "", + desc: "" + }, { + mask: "+7(87937)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Кисловодск", + operator: "", + desc: "" + }, { + mask: "+7(87938)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Новопавловск", + operator: "", + desc: "" + }, { + mask: "+7(87951)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Георгиевск", + operator: "", + desc: "" + }, { + mask: "+7(87961)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Ессентукская", + operator: "", + desc: "" + }, { + mask: "+7(87964)#-##-##", + cc: "RU", + cd: "Russia", + region: "Ставропольский край", + city: "Курская", + operator: "", + desc: "" + }, { + mask: "+7(9##)###-##-##", + cc: "RU", + cd: "Russia", + type: "mobile" + } ] + } + }), Inputmask; +});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/phone-codes/phone-uk.js b/public/bower_components/inputmask/dist/inputmask/phone-codes/phone-uk.js new file mode 100644 index 0000000..12fdfd4 --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/phone-codes/phone-uk.js @@ -0,0 +1,1009 @@ +/*! +* phone-codes/phone-uk.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(factory) { + "function" == typeof define && define.amd ? define([ "../inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("../inputmask")) : factory(window.Inputmask); +}(function(Inputmask) { + return Inputmask.extendAliases({ + phoneuk: { + alias: "abstractphone", + countrycode: "44", + phoneCodes: [ { + mask: "+44(113)-###-####", + cc: "UK", + cd: "United Kingdom", + city: "Leeds" + }, { + mask: "+44(114)-###-####", + cc: "UK", + cd: "United Kingdom", + city: "Sheffield" + }, { + mask: "+44(115)-###-####", + cc: "UK", + cd: "United Kingdom", + city: "Nottingham" + }, { + mask: "+44(116)-###-####", + cc: "UK", + cd: "United Kingdom", + city: "Leicester" + }, { + mask: "+44(117)-###-####", + cc: "UK", + cd: "United Kingdom", + city: "Bristol" + }, { + mask: "+44(118)-###-####", + cc: "UK", + cd: "United Kingdom", + city: "Reading" + }, { + mask: "+44(1200)-######", + cc: "UK", + cd: "United Kingdom", + city: "Clitheroe" + }, { + mask: "+44(1202)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bournemouth" + }, { + mask: "+44(1204)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bolton" + }, { + mask: "+44(1205)-######", + cc: "UK", + cd: "United Kingdom", + city: "Boston" + }, { + mask: "+44(1206)-######", + cc: "UK", + cd: "United Kingdom", + city: "Colchester" + }, { + mask: "+44(1207)-######", + cc: "UK", + cd: "United Kingdom", + city: "Consett" + }, { + mask: "+44(1208)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bodmin" + }, { + mask: "+44(1209)-######", + cc: "UK", + cd: "United Kingdom", + city: "Redruth" + }, { + mask: "+44(121)-###-####", + cc: "UK", + cd: "United Kingdom", + city: "Birmingham" + }, { + mask: "+44(1223)-######", + cc: "UK", + cd: "United Kingdom", + city: "Cambridge" + }, { + mask: "+44(1224)-######", + cc: "UK", + cd: "United Kingdom", + city: "Aberdeen" + }, { + mask: "+44(1225)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bath" + }, { + mask: "+44(1226)-######", + cc: "UK", + cd: "United Kingdom", + city: "Barnsley" + }, { + mask: "+44(1227)-######", + cc: "UK", + cd: "United Kingdom", + city: "Canterbury" + }, { + mask: "+44(1228)-######", + cc: "UK", + cd: "United Kingdom", + city: "Carlisle" + }, { + mask: "+44(1229)-######", + cc: "UK", + cd: "United Kingdom", + city: "Barrow-in-Furness(2,4,5,6,8), Millom(3,7,9)" + }, { + mask: "+44(1233)-######", + cc: "UK", + cd: "United Kingdom", + city: "Ashford (Kent)" + }, { + mask: "+44(1234)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bedford" + }, { + mask: "+44(1235)-######", + cc: "UK", + cd: "United Kingdom", + city: "Abingdon" + }, { + mask: "+44(1236)-######", + cc: "UK", + cd: "United Kingdom", + city: "Coatbridge" + }, { + mask: "+44(1237)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bideford" + }, { + mask: "+44(1239)-######", + cc: "UK", + cd: "United Kingdom", + city: "Cardigan" + }, { + mask: "+44(1241)-######", + cc: "UK", + cd: "United Kingdom", + city: "Arbroath" + }, { + mask: "+44(1242)-######", + cc: "UK", + cd: "United Kingdom", + city: "Cheltenham" + }, { + mask: "+44(1243)-######", + cc: "UK", + cd: "United Kingdom", + city: "Chichester" + }, { + mask: "+44(1244)-######", + cc: "UK", + cd: "United Kingdom", + city: "Chester" + }, { + mask: "+44(1245)-######", + cc: "UK", + cd: "United Kingdom", + city: "Chelmsford" + }, { + mask: "+44(1246)-######", + cc: "UK", + cd: "United Kingdom", + city: "Chesterfield" + }, { + mask: "+44(1248)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bangor (Gwynedd)" + }, { + mask: "+44(1249)-######", + cc: "UK", + cd: "United Kingdom", + city: "Chippenham" + }, { + mask: "+44(1250)-######", + cc: "UK", + cd: "United Kingdom", + city: "Blairgowrie" + }, { + mask: "+44(1252)-######", + cc: "UK", + cd: "United Kingdom", + city: "Aldershot" + }, { + mask: "+44(1253)-######", + cc: "UK", + cd: "United Kingdom", + city: "Blackpool" + }, { + mask: "+44(1254)-######", + cc: "UK", + cd: "United Kingdom", + city: "Blackburn" + }, { + mask: "+44(1255)-######", + cc: "UK", + cd: "United Kingdom", + city: "Clacton-on-Sea" + }, { + mask: "+44(1256)-######", + cc: "UK", + cd: "United Kingdom", + city: "Basingstoke" + }, { + mask: "+44(1257)-######", + cc: "UK", + cd: "United Kingdom", + city: "Coppull" + }, { + mask: "+44(1258)-######", + cc: "UK", + cd: "United Kingdom", + city: "Blandford" + }, { + mask: "+44(1259)-######", + cc: "UK", + cd: "United Kingdom", + city: "Alloa" + }, { + mask: "+44(1260)-######", + cc: "UK", + cd: "United Kingdom", + city: "Congleton" + }, { + mask: "+44(1261)-######", + cc: "UK", + cd: "United Kingdom", + city: "Banff" + }, { + mask: "+44(1262)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bridlington" + }, { + mask: "+44(1263)-######", + cc: "UK", + cd: "United Kingdom", + city: "Cromer" + }, { + mask: "+44(1264)-######", + cc: "UK", + cd: "United Kingdom", + city: "Andover" + }, { + mask: "+44(1267)-######", + cc: "UK", + cd: "United Kingdom", + city: "Carmarthen" + }, { + mask: "+44(1268)-######", + cc: "UK", + cd: "United Kingdom", + city: "Basildon" + }, { + mask: "+44(1269)-######", + cc: "UK", + cd: "United Kingdom", + city: "Ammanford" + }, { + mask: "+44(1270)-######", + cc: "UK", + cd: "United Kingdom", + city: "Crewe" + }, { + mask: "+44(1271)-######", + cc: "UK", + cd: "United Kingdom", + city: "Barnstaple" + }, { + mask: "+44(1273)-######", + cc: "UK", + cd: "United Kingdom", + city: "Brighton" + }, { + mask: "+44(1274)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bradford" + }, { + mask: "+44(1275)-######", + cc: "UK", + cd: "United Kingdom", + city: "Clevedon" + }, { + mask: "+44(1276)-######", + cc: "UK", + cd: "United Kingdom", + city: "Camberley" + }, { + mask: "+44(1277)-######", + cc: "UK", + cd: "United Kingdom", + city: "Brentwood" + }, { + mask: "+44(1278)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bridgwater" + }, { + mask: "+44(1279)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bishops Stortford" + }, { + mask: "+44(1280)-######", + cc: "UK", + cd: "United Kingdom", + city: "Buckingham" + }, { + mask: "+44(1282)-######", + cc: "UK", + cd: "United Kingdom", + city: "Burnley" + }, { + mask: "+44(1283)-######", + cc: "UK", + cd: "United Kingdom", + city: "Burton-on-Trent" + }, { + mask: "+44(1284)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bury St Edmunds" + }, { + mask: "+44(1285)-######", + cc: "UK", + cd: "United Kingdom", + city: "Cirencester" + }, { + mask: "+44(1286)-######", + cc: "UK", + cd: "United Kingdom", + city: "Caernarfon" + }, { + mask: "+44(1287)-######", + cc: "UK", + cd: "United Kingdom", + city: "Guisborough" + }, { + mask: "+44(1288)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bude" + }, { + mask: "+44(1289)-######", + cc: "UK", + cd: "United Kingdom", + city: "Berwick-upon-Tweed" + }, { + mask: "+44(1290)-######", + cc: "UK", + cd: "United Kingdom", + city: "Cumnock" + }, { + mask: "+44(1291)-######", + cc: "UK", + cd: "United Kingdom", + city: "Chepstow" + }, { + mask: "+44(1292)-######", + cc: "UK", + cd: "United Kingdom", + city: "Ayr" + }, { + mask: "+44(1293)-######", + cc: "UK", + cd: "United Kingdom", + city: "Crawley" + }, { + mask: "+44(1294)-######", + cc: "UK", + cd: "United Kingdom", + city: "Ardrossan" + }, { + mask: "+44(1295)-######", + cc: "UK", + cd: "United Kingdom", + city: "Banbury" + }, { + mask: "+44(1296)-######", + cc: "UK", + cd: "United Kingdom", + city: "Aylesbury" + }, { + mask: "+44(1297)-######", + cc: "UK", + cd: "United Kingdom", + city: "Axminster" + }, { + mask: "+44(1298)-######", + cc: "UK", + cd: "United Kingdom", + city: "Buxton" + }, { + mask: "+44(1299)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bewdley" + }, { + mask: "+44(1300)-######", + cc: "UK", + cd: "United Kingdom", + city: "Cerne Abbas" + }, { + mask: "+44(1301)-######", + cc: "UK", + cd: "United Kingdom", + city: "Arrochar" + }, { + mask: "+44(1302)-######", + cc: "UK", + cd: "United Kingdom", + city: "Doncaster" + }, { + mask: "+44(1303)-######", + cc: "UK", + cd: "United Kingdom", + city: "Folkestone" + }, { + mask: "+44(1304)-######", + cc: "UK", + cd: "United Kingdom", + city: "Dover" + }, { + mask: "+44(1305)-######", + cc: "UK", + cd: "United Kingdom", + city: "Dorchester" + }, { + mask: "+44(1306)-######", + cc: "UK", + cd: "United Kingdom", + city: "Dorking" + }, { + mask: "+44(1307)-######", + cc: "UK", + cd: "United Kingdom", + city: "Forfar" + }, { + mask: "+44(1308)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bridport" + }, { + mask: "+44(1309)-######", + cc: "UK", + cd: "United Kingdom", + city: "Forres" + }, { + mask: "+44(131)-###-###", + cc: "UK", + cd: "United Kingdom", + city: "Edinburgh" + }, { + mask: "+44(1320)-######", + cc: "UK", + cd: "United Kingdom", + city: "Fort Augustus" + }, { + mask: "+44(1322)-######", + cc: "UK", + cd: "United Kingdom", + city: "Dartford" + }, { + mask: "+44(1323)-######", + cc: "UK", + cd: "United Kingdom", + city: "Eastbourne" + }, { + mask: "+44(1324)-######", + cc: "UK", + cd: "United Kingdom", + city: "Falkirk" + }, { + mask: "+44(1325)-######", + cc: "UK", + cd: "United Kingdom", + city: "Darlington" + }, { + mask: "+44(1326)-######", + cc: "UK", + cd: "United Kingdom", + city: "Falmouth" + }, { + mask: "+44(1327)-######", + cc: "UK", + cd: "United Kingdom", + city: "Daventry" + }, { + mask: "+44(1328)-######", + cc: "UK", + cd: "United Kingdom", + city: "Fakenham" + }, { + mask: "+44(1329)-######", + cc: "UK", + cd: "United Kingdom", + city: "Fareham" + }, { + mask: "+44(1330)-######", + cc: "UK", + cd: "United Kingdom", + city: "Banchory" + }, { + mask: "+44(1332)-######", + cc: "UK", + cd: "United Kingdom", + city: "Derby" + }, { + mask: "+44(1333)-######", + cc: "UK", + cd: "United Kingdom", + city: "Peat Inn" + }, { + mask: "+44(1334)-######", + cc: "UK", + cd: "United Kingdom", + city: "St Andrews" + }, { + mask: "+44(1335)-######", + cc: "UK", + cd: "United Kingdom", + city: "Ashbourne" + }, { + mask: "+44(1337)-######", + cc: "UK", + cd: "United Kingdom", + city: "Ladybank" + }, { + mask: "+44(1339)-######", + cc: "UK", + cd: "United Kingdom", + city: "Aboyne(2,3,5,8), Ballater(4,6,7,9)" + }, { + mask: "+44(1340)-######", + cc: "UK", + cd: "United Kingdom", + city: "Craigellachie" + }, { + mask: "+44(1341)-######", + cc: "UK", + cd: "United Kingdom", + city: "Barmouth" + }, { + mask: "+44(1342)-######", + cc: "UK", + cd: "United Kingdom", + city: "East Grinstead" + }, { + mask: "+44(1343)-######", + cc: "UK", + cd: "United Kingdom", + city: "Elgin" + }, { + mask: "+44(1344)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bracknell" + }, { + mask: "+44(1346)-######", + cc: "UK", + cd: "United Kingdom", + city: "Fraserburgh" + }, { + mask: "+44(1347)-######", + cc: "UK", + cd: "United Kingdom", + city: "Easingwold" + }, { + mask: "+44(1348)-######", + cc: "UK", + cd: "United Kingdom", + city: "Fishguard" + }, { + mask: "+44(1349)-######", + cc: "UK", + cd: "United Kingdom", + city: "Dingwall" + }, { + mask: "+44(1350)-######", + cc: "UK", + cd: "United Kingdom", + city: "Dunkeld" + }, { + mask: "+44(1352)-######", + cc: "UK", + cd: "United Kingdom", + city: "Mold" + }, { + mask: "+44(1353)-######", + cc: "UK", + cd: "United Kingdom", + city: "Ely" + }, { + mask: "+44(1354)-######", + cc: "UK", + cd: "United Kingdom", + city: "Chatteris" + }, { + mask: "+44(1355)-######", + cc: "UK", + cd: "United Kingdom", + city: "East Kilbride" + }, { + mask: "+44(1356)-######", + cc: "UK", + cd: "United Kingdom", + city: "Brechin" + }, { + mask: "+44(1357)-######", + cc: "UK", + cd: "United Kingdom", + city: "Strathaven" + }, { + mask: "+44(1358)-######", + cc: "UK", + cd: "United Kingdom", + city: "Ellon" + }, { + mask: "+44(1359)-######", + cc: "UK", + cd: "United Kingdom", + city: "Pakenham" + }, { + mask: "+44(1360)-######", + cc: "UK", + cd: "United Kingdom", + city: "Killearn" + }, { + mask: "+44(1361)-######", + cc: "UK", + cd: "United Kingdom", + city: "Duns" + }, { + mask: "+44(1362)-######", + cc: "UK", + cd: "United Kingdom", + city: "Dereham" + }, { + mask: "+44(1363)-######", + cc: "UK", + cd: "United Kingdom", + city: "Crediton" + }, { + mask: "+44(1364)-######", + cc: "UK", + cd: "United Kingdom", + city: "Ashburton" + }, { + mask: "+44(1366)-######", + cc: "UK", + cd: "United Kingdom", + city: "Downham Market" + }, { + mask: "+44(1367)-######", + cc: "UK", + cd: "United Kingdom", + city: "Faringdon" + }, { + mask: "+44(1368)-######", + cc: "UK", + cd: "United Kingdom", + city: "Dunbar" + }, { + mask: "+44(1369)-######", + cc: "UK", + cd: "United Kingdom", + city: "Dunoon" + }, { + mask: "+44(1371)-######", + cc: "UK", + cd: "United Kingdom", + city: "Great Dunmow" + }, { + mask: "+44(1372)-######", + cc: "UK", + cd: "United Kingdom", + city: "Esher" + }, { + mask: "+44(1373)-######", + cc: "UK", + cd: "United Kingdom", + city: "Frome" + }, { + mask: "+44(1375)-######", + cc: "UK", + cd: "United Kingdom", + city: "Grays Thurrock" + }, { + mask: "+44(1376)-######", + cc: "UK", + cd: "United Kingdom", + city: "Braintree" + }, { + mask: "+44(1377)-######", + cc: "UK", + cd: "United Kingdom", + city: "Driffield" + }, { + mask: "+44(1379)-######", + cc: "UK", + cd: "United Kingdom", + city: "Diss" + }, { + mask: "+44(1380)-######", + cc: "UK", + cd: "United Kingdom", + city: "Devizes" + }, { + mask: "+44(1381)-######", + cc: "UK", + cd: "United Kingdom", + city: "Fortrose" + }, { + mask: "+44(1382)-######", + cc: "UK", + cd: "United Kingdom", + city: "Dundee" + }, { + mask: "+44(1383)-######", + cc: "UK", + cd: "United Kingdom", + city: "Dunfermline" + }, { + mask: "+44(1384)-######", + cc: "UK", + cd: "United Kingdom", + city: "Dudley" + }, { + mask: "+44(1386)-######", + cc: "UK", + cd: "United Kingdom", + city: "Evesham" + }, { + mask: "+44(1387)-######", + cc: "UK", + cd: "United Kingdom", + city: "Dumfries" + }, { + mask: "+44(13873)-####[#]", + cc: "UK", + cd: "United Kingdom", + city: "Langholm" + }, { + mask: "+44(1388)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bishop Auckland(3,4,6,7,8,9), Stanhope(2,5)" + }, { + mask: "+44(1389)-######", + cc: "UK", + cd: "United Kingdom", + city: "Dumbarton" + }, { + mask: "+44(1392)-######", + cc: "UK", + cd: "United Kingdom", + city: "Exeter" + }, { + mask: "+44(1394)-######", + cc: "UK", + cd: "United Kingdom", + city: "Felixstowe" + }, { + mask: "+44(1395)-######", + cc: "UK", + cd: "United Kingdom", + city: "Budleigh Salterton" + }, { + mask: "+44(1397)-######", + cc: "UK", + cd: "United Kingdom", + city: "Fort William" + }, { + mask: "+44(1398)-######", + cc: "UK", + cd: "United Kingdom", + city: "Dulverton" + }, { + mask: "+44(1400)-######", + cc: "UK", + cd: "United Kingdom", + city: "Honington" + }, { + mask: "+44(1403)-######", + cc: "UK", + cd: "United Kingdom", + city: "Horsham" + }, { + mask: "+44(1404)-######", + cc: "UK", + cd: "United Kingdom", + city: "Honiton" + }, { + mask: "+44(1405)-######", + cc: "UK", + cd: "United Kingdom", + city: "Goole" + }, { + mask: "+44(1406)-######", + cc: "UK", + cd: "United Kingdom", + city: "Holbeach" + }, { + mask: "+44(1407)-######", + cc: "UK", + cd: "United Kingdom", + city: "Holyhead" + }, { + mask: "+44(1408)-######", + cc: "UK", + cd: "United Kingdom", + city: "Golspie" + }, { + mask: "+44(1409)-######", + cc: "UK", + cd: "United Kingdom", + city: "Holsworthy" + }, { + mask: "+44(141)-###-###", + cc: "UK", + cd: "United Kingdom", + city: "Glasgow" + }, { + mask: "+44(1420)-######", + cc: "UK", + cd: "United Kingdom", + city: "Alton" + }, { + mask: "+44(1422)-######", + cc: "UK", + cd: "United Kingdom", + city: "Halifax" + }, { + mask: "+44(1423)-######", + cc: "UK", + cd: "United Kingdom", + city: "Boroughbridge(3,4,9), Harrogate(2,5,6,7,8)" + }, { + mask: "+44(1424)-######", + cc: "UK", + cd: "United Kingdom", + city: "Hastings" + }, { + mask: "+44(1425)-######", + cc: "UK", + cd: "United Kingdom", + city: "Ringwood" + }, { + mask: "+44(1427)-######", + cc: "UK", + cd: "United Kingdom", + city: "Gainsborough" + }, { + mask: "+44(1428)-######", + cc: "UK", + cd: "United Kingdom", + city: "Haslemere" + }, { + mask: "+44(1429)-######", + cc: "UK", + cd: "United Kingdom", + city: "Hartlepool" + }, { + mask: "+44(1430)-######", + cc: "UK", + cd: "United Kingdom", + city: "Market Weighton(6,7,8,9), North Cave(2,3,4,5)" + }, { + mask: "+44(1431)-######", + cc: "UK", + cd: "United Kingdom", + city: "Helmsdale" + }, { + mask: "+44(1432)-######", + cc: "UK", + cd: "United Kingdom", + city: "Hereford" + }, { + mask: "+44(1433)-######", + cc: "UK", + cd: "United Kingdom", + city: "Hathersage" + }, { + mask: "+44(1434)-######", + cc: "UK", + cd: "United Kingdom", + city: "Bellingham(2,4,9), Haltwhistle(3,5), Hexham(6,7,8)" + }, { + mask: "+44(1435)-######", + cc: "UK", + cd: "United Kingdom", + city: "Heathfield" + }, { + mask: "+44(1436)-######", + cc: "UK", + cd: "United Kingdom", + city: "Helensburgh" + }, { + mask: "+44(1437)-######", + cc: "UK", + cd: "United Kingdom", + city: "Clynderwen(2,3,4,5), Haverfordwest(6,7,8,9)" + }, { + mask: "+44(1438)-######", + cc: "UK", + cd: "United Kingdom", + city: "Stevenage" + }, { + mask: "+44(1439)-######", + cc: "UK", + cd: "United Kingdom", + city: "Helmsley" + }, { + mask: "+44(1440)-######", + cc: "UK", + cd: "United Kingdom", + city: "Haverhill" + }, { + mask: "+44(1442)-######", + cc: "UK", + cd: "United Kingdom", + city: "Hemel Hempstead" + }, { + mask: "+44(1443)-######", + cc: "UK", + cd: "United Kingdom", + city: "Pontypridd" + }, { + mask: "+44(1444)-######", + cc: "UK", + cd: "United Kingdom", + city: "Haywards Heath" + }, { + mask: "+44(1445)-######", + cc: "UK", + cd: "United Kingdom", + city: "Gairloch" + }, { + mask: "+44(1446)-######", + cc: "UK", + cd: "United Kingdom", + city: "Barry" + }, { + mask: "+44(1449)-######", + cc: "UK", + cd: "United Kingdom", + city: "Stowmarket" + }, { + mask: "+44(1450)-######", + cc: "UK", + cd: "United Kingdom", + city: "Hawick" + }, { + mask: "+44(1451)-######", + cc: "UK", + cd: "United Kingdom", + city: "Stow-on-the-Wold" + }, { + mask: "+44(1452)-######", + cc: "UK", + cd: "United Kingdom", + city: "Gloucester" + }, { + mask: "+44(1453)-######", + cc: "UK", + cd: "United Kingdom", + city: "Dursley" + }, { + mask: "+44(1454)-######", + cc: "UK", + cd: "United Kingdom", + city: "Chipping Sodbury" + }, { + mask: "+44(1455)-######", + cc: "UK", + cd: "United Kingdom", + city: "Hinckley" + }, { + mask: "+44(1456)-######", + cc: "UK", + cd: "United Kingdom", + city: "Glenurquhart" + } ] + } + }), Inputmask; +});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/inputmask/phone-codes/phone.js b/public/bower_components/inputmask/dist/inputmask/phone-codes/phone.js new file mode 100644 index 0000000..2b11e5c --- /dev/null +++ b/public/bower_components/inputmask/dist/inputmask/phone-codes/phone.js @@ -0,0 +1,2111 @@ +/*! +* phone-codes/phone.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(factory) { + "function" == typeof define && define.amd ? define([ "../inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("../inputmask")) : factory(window.Inputmask); +}(function(Inputmask) { + return Inputmask.extendAliases({ + phone: { + alias: "abstractphone", + phoneCodes: [ { + mask: "+247-####", + cc: "AC", + cd: "Ascension", + desc_en: "", + name_ru: "Остров Вознесения", + desc_ru: "" + }, { + mask: "+376-###-###", + cc: "AD", + cd: "Andorra", + desc_en: "", + name_ru: "Андорра", + desc_ru: "" + }, { + mask: "+971-5#-###-####", + cc: "AE", + cd: "United Arab Emirates", + desc_en: "mobile", + name_ru: "Объединенные Арабские Эмираты", + desc_ru: "мобильные" + }, { + mask: "+971-#-###-####", + cc: "AE", + cd: "United Arab Emirates", + desc_en: "", + name_ru: "Объединенные Арабские Эмираты", + desc_ru: "" + }, { + mask: "+93-##-###-####", + cc: "AF", + cd: "Afghanistan", + desc_en: "", + name_ru: "Афганистан", + desc_ru: "" + }, { + mask: "+1(268)###-####", + cc: "AG", + cd: "Antigua & Barbuda", + desc_en: "", + name_ru: "Антигуа и Барбуда", + desc_ru: "" + }, { + mask: "+1(264)###-####", + cc: "AI", + cd: "Anguilla", + desc_en: "", + name_ru: "Ангилья", + desc_ru: "" + }, { + mask: "+355(###)###-###", + cc: "AL", + cd: "Albania", + desc_en: "", + name_ru: "Албания", + desc_ru: "" + }, { + mask: "+374-##-###-###", + cc: "AM", + cd: "Armenia", + desc_en: "", + name_ru: "Армения", + desc_ru: "" + }, { + mask: "+599-###-####", + cc: "AN", + cd: "Caribbean Netherlands", + desc_en: "", + name_ru: "Карибские Нидерланды", + desc_ru: "" + }, { + mask: "+599-###-####", + cc: "AN", + cd: "Netherlands Antilles", + desc_en: "", + name_ru: "Нидерландские Антильские острова", + desc_ru: "" + }, { + mask: "+599-9###-####", + cc: "AN", + cd: "Netherlands Antilles", + desc_en: "Curacao", + name_ru: "Нидерландские Антильские острова", + desc_ru: "Кюрасао" + }, { + mask: "+244(###)###-###", + cc: "AO", + cd: "Angola", + desc_en: "", + name_ru: "Ангола", + desc_ru: "" + }, { + mask: "+672-1##-###", + cc: "AQ", + cd: "Australian bases in Antarctica", + desc_en: "", + name_ru: "Австралийская антарктическая база", + desc_ru: "" + }, { + mask: "+54(###)###-####", + cc: "AR", + cd: "Argentina", + desc_en: "", + name_ru: "Аргентина", + desc_ru: "" + }, { + mask: "+1(684)###-####", + cc: "AS", + cd: "American Samoa", + desc_en: "", + name_ru: "Американское Самоа", + desc_ru: "" + }, { + mask: "+43(###)###-####", + cc: "AT", + cd: "Austria", + desc_en: "", + name_ru: "Австрия", + desc_ru: "" + }, { + mask: "+61-#-####-####", + cc: "AU", + cd: "Australia", + desc_en: "", + name_ru: "Австралия", + desc_ru: "" + }, { + mask: "+297-###-####", + cc: "AW", + cd: "Aruba", + desc_en: "", + name_ru: "Аруба", + desc_ru: "" + }, { + mask: "+994-##-###-##-##", + cc: "AZ", + cd: "Azerbaijan", + desc_en: "", + name_ru: "Азербайджан", + desc_ru: "" + }, { + mask: "+387-##-#####", + cc: "BA", + cd: "Bosnia and Herzegovina", + desc_en: "", + name_ru: "Босния и Герцеговина", + desc_ru: "" + }, { + mask: "+387-##-####", + cc: "BA", + cd: "Bosnia and Herzegovina", + desc_en: "", + name_ru: "Босния и Герцеговина", + desc_ru: "" + }, { + mask: "+1(246)###-####", + cc: "BB", + cd: "Barbados", + desc_en: "", + name_ru: "Барбадос", + desc_ru: "" + }, { + mask: "+880-##-###-###", + cc: "BD", + cd: "Bangladesh", + desc_en: "", + name_ru: "Бангладеш", + desc_ru: "" + }, { + mask: "+32(###)###-###", + cc: "BE", + cd: "Belgium", + desc_en: "", + name_ru: "Бельгия", + desc_ru: "" + }, { + mask: "+226-##-##-####", + cc: "BF", + cd: "Burkina Faso", + desc_en: "", + name_ru: "Буркина Фасо", + desc_ru: "" + }, { + mask: "+359(###)###-###", + cc: "BG", + cd: "Bulgaria", + desc_en: "", + name_ru: "Болгария", + desc_ru: "" + }, { + mask: "+973-####-####", + cc: "BH", + cd: "Bahrain", + desc_en: "", + name_ru: "Бахрейн", + desc_ru: "" + }, { + mask: "+257-##-##-####", + cc: "BI", + cd: "Burundi", + desc_en: "", + name_ru: "Бурунди", + desc_ru: "" + }, { + mask: "+229-##-##-####", + cc: "BJ", + cd: "Benin", + desc_en: "", + name_ru: "Бенин", + desc_ru: "" + }, { + mask: "+1(441)###-####", + cc: "BM", + cd: "Bermuda", + desc_en: "", + name_ru: "Бермудские острова", + desc_ru: "" + }, { + mask: "+673-###-####", + cc: "BN", + cd: "Brunei Darussalam", + desc_en: "", + name_ru: "Бруней-Даруссалам", + desc_ru: "" + }, { + mask: "+591-#-###-####", + cc: "BO", + cd: "Bolivia", + desc_en: "", + name_ru: "Боливия", + desc_ru: "" + }, { + mask: "+55-##-####-####", + cc: "BR", + cd: "Brazil", + desc_en: "", + name_ru: "Бразилия", + desc_ru: "" + }, { + mask: "+55-##-#####-####", + cc: "BR", + cd: "Brazil", + desc_en: "", + name_ru: "Бразилия", + desc_ru: "" + }, { + mask: "+1(242)###-####", + cc: "BS", + cd: "Bahamas", + desc_en: "", + name_ru: "Багамские Острова", + desc_ru: "" + }, { + mask: "+975-17-###-###", + cc: "BT", + cd: "Bhutan", + desc_en: "", + name_ru: "Бутан", + desc_ru: "" + }, { + mask: "+975-#-###-###", + cc: "BT", + cd: "Bhutan", + desc_en: "", + name_ru: "Бутан", + desc_ru: "" + }, { + mask: "+267-##-###-###", + cc: "BW", + cd: "Botswana", + desc_en: "", + name_ru: "Ботсвана", + desc_ru: "" + }, { + mask: "+375(##)###-##-##", + cc: "BY", + cd: "Belarus", + desc_en: "", + name_ru: "Беларусь (Белоруссия)", + desc_ru: "" + }, { + mask: "+501-###-####", + cc: "BZ", + cd: "Belize", + desc_en: "", + name_ru: "Белиз", + desc_ru: "" + }, { + mask: "+243(###)###-###", + cc: "CD", + cd: "Dem. Rep. Congo", + desc_en: "", + name_ru: "Дем. Респ. Конго (Киншаса)", + desc_ru: "" + }, { + mask: "+236-##-##-####", + cc: "CF", + cd: "Central African Republic", + desc_en: "", + name_ru: "Центральноафриканская Республика", + desc_ru: "" + }, { + mask: "+242-##-###-####", + cc: "CG", + cd: "Congo (Brazzaville)", + desc_en: "", + name_ru: "Конго (Браззавиль)", + desc_ru: "" + }, { + mask: "+41-##-###-####", + cc: "CH", + cd: "Switzerland", + desc_en: "", + name_ru: "Швейцария", + desc_ru: "" + }, { + mask: "+225-##-###-###", + cc: "CI", + cd: "Cote d’Ivoire (Ivory Coast)", + desc_en: "", + name_ru: "Кот-д’Ивуар", + desc_ru: "" + }, { + mask: "+682-##-###", + cc: "CK", + cd: "Cook Islands", + desc_en: "", + name_ru: "Острова Кука", + desc_ru: "" + }, { + mask: "+56-#-####-####", + cc: "CL", + cd: "Chile", + desc_en: "", + name_ru: "Чили", + desc_ru: "" + }, { + mask: "+237-####-####", + cc: "CM", + cd: "Cameroon", + desc_en: "", + name_ru: "Камерун", + desc_ru: "" + }, { + mask: "+86(###)####-####", + cc: "CN", + cd: "China (PRC)", + desc_en: "", + name_ru: "Китайская Н.Р.", + desc_ru: "" + }, { + mask: "+86(###)####-###", + cc: "CN", + cd: "China (PRC)", + desc_en: "", + name_ru: "Китайская Н.Р.", + desc_ru: "" + }, { + mask: "+86-##-#####-#####", + cc: "CN", + cd: "China (PRC)", + desc_en: "", + name_ru: "Китайская Н.Р.", + desc_ru: "" + }, { + mask: "+57(###)###-####", + cc: "CO", + cd: "Colombia", + desc_en: "", + name_ru: "Колумбия", + desc_ru: "" + }, { + mask: "+506-####-####", + cc: "CR", + cd: "Costa Rica", + desc_en: "", + name_ru: "Коста-Рика", + desc_ru: "" + }, { + mask: "+53-#-###-####", + cc: "CU", + cd: "Cuba", + desc_en: "", + name_ru: "Куба", + desc_ru: "" + }, { + mask: "+238(###)##-##", + cc: "CV", + cd: "Cape Verde", + desc_en: "", + name_ru: "Кабо-Верде", + desc_ru: "" + }, { + mask: "+599-###-####", + cc: "CW", + cd: "Curacao", + desc_en: "", + name_ru: "Кюрасао", + desc_ru: "" + }, { + mask: "+357-##-###-###", + cc: "CY", + cd: "Cyprus", + desc_en: "", + name_ru: "Кипр", + desc_ru: "" + }, { + mask: "+420(###)###-###", + cc: "CZ", + cd: "Czech Republic", + desc_en: "", + name_ru: "Чехия", + desc_ru: "" + }, { + mask: "+49(####)###-####", + cc: "DE", + cd: "Germany", + desc_en: "", + name_ru: "Германия", + desc_ru: "" + }, { + mask: "+49(###)###-####", + cc: "DE", + cd: "Germany", + desc_en: "", + name_ru: "Германия", + desc_ru: "" + }, { + mask: "+49(###)##-####", + cc: "DE", + cd: "Germany", + desc_en: "", + name_ru: "Германия", + desc_ru: "" + }, { + mask: "+49(###)##-###", + cc: "DE", + cd: "Germany", + desc_en: "", + name_ru: "Германия", + desc_ru: "" + }, { + mask: "+49(###)##-##", + cc: "DE", + cd: "Germany", + desc_en: "", + name_ru: "Германия", + desc_ru: "" + }, { + mask: "+49-###-###", + cc: "DE", + cd: "Germany", + desc_en: "", + name_ru: "Германия", + desc_ru: "" + }, { + mask: "+253-##-##-##-##", + cc: "DJ", + cd: "Djibouti", + desc_en: "", + name_ru: "Джибути", + desc_ru: "" + }, { + mask: "+45-##-##-##-##", + cc: "DK", + cd: "Denmark", + desc_en: "", + name_ru: "Дания", + desc_ru: "" + }, { + mask: "+1(767)###-####", + cc: "DM", + cd: "Dominica", + desc_en: "", + name_ru: "Доминика", + desc_ru: "" + }, { + mask: "+1(809)###-####", + cc: "DO", + cd: "Dominican Republic", + desc_en: "", + name_ru: "Доминиканская Республика", + desc_ru: "" + }, { + mask: "+1(829)###-####", + cc: "DO", + cd: "Dominican Republic", + desc_en: "", + name_ru: "Доминиканская Республика", + desc_ru: "" + }, { + mask: "+1(849)###-####", + cc: "DO", + cd: "Dominican Republic", + desc_en: "", + name_ru: "Доминиканская Республика", + desc_ru: "" + }, { + mask: "+213-##-###-####", + cc: "DZ", + cd: "Algeria", + desc_en: "", + name_ru: "Алжир", + desc_ru: "" + }, { + mask: "+593-##-###-####", + cc: "EC", + cd: "Ecuador ", + desc_en: "mobile", + name_ru: "Эквадор ", + desc_ru: "мобильные" + }, { + mask: "+593-#-###-####", + cc: "EC", + cd: "Ecuador", + desc_en: "", + name_ru: "Эквадор", + desc_ru: "" + }, { + mask: "+372-####-####", + cc: "EE", + cd: "Estonia ", + desc_en: "mobile", + name_ru: "Эстония ", + desc_ru: "мобильные" + }, { + mask: "+372-###-####", + cc: "EE", + cd: "Estonia", + desc_en: "", + name_ru: "Эстония", + desc_ru: "" + }, { + mask: "+20(###)###-####", + cc: "EG", + cd: "Egypt", + desc_en: "", + name_ru: "Египет", + desc_ru: "" + }, { + mask: "+291-#-###-###", + cc: "ER", + cd: "Eritrea", + desc_en: "", + name_ru: "Эритрея", + desc_ru: "" + }, { + mask: "+34(###)###-###", + cc: "ES", + cd: "Spain", + desc_en: "", + name_ru: "Испания", + desc_ru: "" + }, { + mask: "+251-##-###-####", + cc: "ET", + cd: "Ethiopia", + desc_en: "", + name_ru: "Эфиопия", + desc_ru: "" + }, { + mask: "+358(###)###-##-##", + cc: "FI", + cd: "Finland", + desc_en: "", + name_ru: "Финляндия", + desc_ru: "" + }, { + mask: "+679-##-#####", + cc: "FJ", + cd: "Fiji", + desc_en: "", + name_ru: "Фиджи", + desc_ru: "" + }, { + mask: "+500-#####", + cc: "FK", + cd: "Falkland Islands", + desc_en: "", + name_ru: "Фолклендские острова", + desc_ru: "" + }, { + mask: "+691-###-####", + cc: "FM", + cd: "F.S. Micronesia", + desc_en: "", + name_ru: "Ф.Ш. Микронезии", + desc_ru: "" + }, { + mask: "+298-###-###", + cc: "FO", + cd: "Faroe Islands", + desc_en: "", + name_ru: "Фарерские острова", + desc_ru: "" + }, { + mask: "+262-#####-####", + cc: "FR", + cd: "Mayotte", + desc_en: "", + name_ru: "Майотта", + desc_ru: "" + }, { + mask: "+33(###)###-###", + cc: "FR", + cd: "France", + desc_en: "", + name_ru: "Франция", + desc_ru: "" + }, { + mask: "+508-##-####", + cc: "FR", + cd: "St Pierre & Miquelon", + desc_en: "", + name_ru: "Сен-Пьер и Микелон", + desc_ru: "" + }, { + mask: "+590(###)###-###", + cc: "FR", + cd: "Guadeloupe", + desc_en: "", + name_ru: "Гваделупа", + desc_ru: "" + }, { + mask: "+241-#-##-##-##", + cc: "GA", + cd: "Gabon", + desc_en: "", + name_ru: "Габон", + desc_ru: "" + }, { + mask: "+1(473)###-####", + cc: "GD", + cd: "Grenada", + desc_en: "", + name_ru: "Гренада", + desc_ru: "" + }, { + mask: "+995(###)###-###", + cc: "GE", + cd: "Rep. of Georgia", + desc_en: "", + name_ru: "Грузия", + desc_ru: "" + }, { + mask: "+594-#####-####", + cc: "GF", + cd: "Guiana (French)", + desc_en: "", + name_ru: "Фр. Гвиана", + desc_ru: "" + }, { + mask: "+233(###)###-###", + cc: "GH", + cd: "Ghana", + desc_en: "", + name_ru: "Гана", + desc_ru: "" + }, { + mask: "+350-###-#####", + cc: "GI", + cd: "Gibraltar", + desc_en: "", + name_ru: "Гибралтар", + desc_ru: "" + }, { + mask: "+299-##-##-##", + cc: "GL", + cd: "Greenland", + desc_en: "", + name_ru: "Гренландия", + desc_ru: "" + }, { + mask: "+220(###)##-##", + cc: "GM", + cd: "Gambia", + desc_en: "", + name_ru: "Гамбия", + desc_ru: "" + }, { + mask: "+224-##-###-###", + cc: "GN", + cd: "Guinea", + desc_en: "", + name_ru: "Гвинея", + desc_ru: "" + }, { + mask: "+240-##-###-####", + cc: "GQ", + cd: "Equatorial Guinea", + desc_en: "", + name_ru: "Экваториальная Гвинея", + desc_ru: "" + }, { + mask: "+30(###)###-####", + cc: "GR", + cd: "Greece", + desc_en: "", + name_ru: "Греция", + desc_ru: "" + }, { + mask: "+502-#-###-####", + cc: "GT", + cd: "Guatemala", + desc_en: "", + name_ru: "Гватемала", + desc_ru: "" + }, { + mask: "+1(671)###-####", + cc: "GU", + cd: "Guam", + desc_en: "", + name_ru: "Гуам", + desc_ru: "" + }, { + mask: "+245-#-######", + cc: "GW", + cd: "Guinea-Bissau", + desc_en: "", + name_ru: "Гвинея-Бисау", + desc_ru: "" + }, { + mask: "+592-###-####", + cc: "GY", + cd: "Guyana", + desc_en: "", + name_ru: "Гайана", + desc_ru: "" + }, { + mask: "+852-####-####", + cc: "HK", + cd: "Hong Kong", + desc_en: "", + name_ru: "Гонконг", + desc_ru: "" + }, { + mask: "+504-####-####", + cc: "HN", + cd: "Honduras", + desc_en: "", + name_ru: "Гондурас", + desc_ru: "" + }, { + mask: "+385-(##)-###-###", + cc: "HR", + cd: "Croatia", + desc_en: "", + name_ru: "Хорватия", + desc_ru: "" + }, { + mask: "+385-(##)-###-####", + cc: "HR", + cd: "Croatia", + desc_en: "", + name_ru: "Хорватия", + desc_ru: "" + }, { + mask: "+385-1-####-###", + cc: "HR", + cd: "Croatia", + desc_en: "", + name_ru: "Хорватия", + desc_ru: "" + }, { + mask: "+509-##-##-####", + cc: "HT", + cd: "Haiti", + desc_en: "", + name_ru: "Гаити", + desc_ru: "" + }, { + mask: "+36(###)###-###", + cc: "HU", + cd: "Hungary", + desc_en: "", + name_ru: "Венгрия", + desc_ru: "" + }, { + mask: "+62(8##)###-####", + cc: "ID", + cd: "Indonesia ", + desc_en: "mobile", + name_ru: "Индонезия ", + desc_ru: "мобильные" + }, { + mask: "+62-##-###-##", + cc: "ID", + cd: "Indonesia", + desc_en: "", + name_ru: "Индонезия", + desc_ru: "" + }, { + mask: "+62-##-###-###", + cc: "ID", + cd: "Indonesia", + desc_en: "", + name_ru: "Индонезия", + desc_ru: "" + }, { + mask: "+62-##-###-####", + cc: "ID", + cd: "Indonesia", + desc_en: "", + name_ru: "Индонезия", + desc_ru: "" + }, { + mask: "+62(8##)###-###", + cc: "ID", + cd: "Indonesia ", + desc_en: "mobile", + name_ru: "Индонезия ", + desc_ru: "мобильные" + }, { + mask: "+62(8##)###-##-###", + cc: "ID", + cd: "Indonesia ", + desc_en: "mobile", + name_ru: "Индонезия ", + desc_ru: "мобильные" + }, { + mask: "+353(###)###-###", + cc: "IE", + cd: "Ireland", + desc_en: "", + name_ru: "Ирландия", + desc_ru: "" + }, { + mask: "+972-5#-###-####", + cc: "IL", + cd: "Israel ", + desc_en: "mobile", + name_ru: "Израиль ", + desc_ru: "мобильные" + }, { + mask: "+972-#-###-####", + cc: "IL", + cd: "Israel", + desc_en: "", + name_ru: "Израиль", + desc_ru: "" + }, { + mask: "+91(####)###-###", + cc: "IN", + cd: "India", + desc_en: "", + name_ru: "Индия", + desc_ru: "" + }, { + mask: "+246-###-####", + cc: "IO", + cd: "Diego Garcia", + desc_en: "", + name_ru: "Диего-Гарсия", + desc_ru: "" + }, { + mask: "+964(###)###-####", + cc: "IQ", + cd: "Iraq", + desc_en: "", + name_ru: "Ирак", + desc_ru: "" + }, { + mask: "+98(###)###-####", + cc: "IR", + cd: "Iran", + desc_en: "", + name_ru: "Иран", + desc_ru: "" + }, { + mask: "+354-###-####", + cc: "IS", + cd: "Iceland", + desc_en: "", + name_ru: "Исландия", + desc_ru: "" + }, { + mask: "+39(###)####-###", + cc: "IT", + cd: "Italy", + desc_en: "", + name_ru: "Италия", + desc_ru: "" + }, { + mask: "+1(876)###-####", + cc: "JM", + cd: "Jamaica", + desc_en: "", + name_ru: "Ямайка", + desc_ru: "" + }, { + mask: "+962-#-####-####", + cc: "JO", + cd: "Jordan", + desc_en: "", + name_ru: "Иордания", + desc_ru: "" + }, { + mask: "+81-##-####-####", + cc: "JP", + cd: "Japan ", + desc_en: "mobile", + name_ru: "Япония ", + desc_ru: "мобильные" + }, { + mask: "+81(###)###-###", + cc: "JP", + cd: "Japan", + desc_en: "", + name_ru: "Япония", + desc_ru: "" + }, { + mask: "+254-###-######", + cc: "KE", + cd: "Kenya", + desc_en: "", + name_ru: "Кения", + desc_ru: "" + }, { + mask: "+996(###)###-###", + cc: "KG", + cd: "Kyrgyzstan", + desc_en: "", + name_ru: "Киргизия", + desc_ru: "" + }, { + mask: "+855-##-###-###", + cc: "KH", + cd: "Cambodia", + desc_en: "", + name_ru: "Камбоджа", + desc_ru: "" + }, { + mask: "+686-##-###", + cc: "KI", + cd: "Kiribati", + desc_en: "", + name_ru: "Кирибати", + desc_ru: "" + }, { + mask: "+269-##-#####", + cc: "KM", + cd: "Comoros", + desc_en: "", + name_ru: "Коморы", + desc_ru: "" + }, { + mask: "+1(869)###-####", + cc: "KN", + cd: "Saint Kitts & Nevis", + desc_en: "", + name_ru: "Сент-Китс и Невис", + desc_ru: "" + }, { + mask: "+850-191-###-####", + cc: "KP", + cd: "DPR Korea (North) ", + desc_en: "mobile", + name_ru: "Корейская НДР ", + desc_ru: "мобильные" + }, { + mask: "+850-##-###-###", + cc: "KP", + cd: "DPR Korea (North)", + desc_en: "", + name_ru: "Корейская НДР", + desc_ru: "" + }, { + mask: "+850-###-####-###", + cc: "KP", + cd: "DPR Korea (North)", + desc_en: "", + name_ru: "Корейская НДР", + desc_ru: "" + }, { + mask: "+850-###-###", + cc: "KP", + cd: "DPR Korea (North)", + desc_en: "", + name_ru: "Корейская НДР", + desc_ru: "" + }, { + mask: "+850-####-####", + cc: "KP", + cd: "DPR Korea (North)", + desc_en: "", + name_ru: "Корейская НДР", + desc_ru: "" + }, { + mask: "+850-####-#############", + cc: "KP", + cd: "DPR Korea (North)", + desc_en: "", + name_ru: "Корейская НДР", + desc_ru: "" + }, { + mask: "+82-##-###-####", + cc: "KR", + cd: "Korea (South)", + desc_en: "", + name_ru: "Респ. Корея", + desc_ru: "" + }, { + mask: "+965-####-####", + cc: "KW", + cd: "Kuwait", + desc_en: "", + name_ru: "Кувейт", + desc_ru: "" + }, { + mask: "+1(345)###-####", + cc: "KY", + cd: "Cayman Islands", + desc_en: "", + name_ru: "Каймановы острова", + desc_ru: "" + }, { + mask: "+7(6##)###-##-##", + cc: "KZ", + cd: "Kazakhstan", + desc_en: "", + name_ru: "Казахстан", + desc_ru: "" + }, { + mask: "+7(7##)###-##-##", + cc: "KZ", + cd: "Kazakhstan", + desc_en: "", + name_ru: "Казахстан", + desc_ru: "" + }, { + mask: "+856(20##)###-###", + cc: "LA", + cd: "Laos ", + desc_en: "mobile", + name_ru: "Лаос ", + desc_ru: "мобильные" + }, { + mask: "+856-##-###-###", + cc: "LA", + cd: "Laos", + desc_en: "", + name_ru: "Лаос", + desc_ru: "" + }, { + mask: "+961-##-###-###", + cc: "LB", + cd: "Lebanon ", + desc_en: "mobile", + name_ru: "Ливан ", + desc_ru: "мобильные" + }, { + mask: "+961-#-###-###", + cc: "LB", + cd: "Lebanon", + desc_en: "", + name_ru: "Ливан", + desc_ru: "" + }, { + mask: "+1(758)###-####", + cc: "LC", + cd: "Saint Lucia", + desc_en: "", + name_ru: "Сент-Люсия", + desc_ru: "" + }, { + mask: "+423(###)###-####", + cc: "LI", + cd: "Liechtenstein", + desc_en: "", + name_ru: "Лихтенштейн", + desc_ru: "" + }, { + mask: "+94-##-###-####", + cc: "LK", + cd: "Sri Lanka", + desc_en: "", + name_ru: "Шри-Ланка", + desc_ru: "" + }, { + mask: "+231-##-###-###", + cc: "LR", + cd: "Liberia", + desc_en: "", + name_ru: "Либерия", + desc_ru: "" + }, { + mask: "+266-#-###-####", + cc: "LS", + cd: "Lesotho", + desc_en: "", + name_ru: "Лесото", + desc_ru: "" + }, { + mask: "+370(###)##-###", + cc: "LT", + cd: "Lithuania", + desc_en: "", + name_ru: "Литва", + desc_ru: "" + }, { + mask: "+352-###-###", + cc: "LU", + cd: "Luxembourg", + desc_en: "", + name_ru: "Люксембург", + desc_ru: "" + }, { + mask: "+352-####-###", + cc: "LU", + cd: "Luxembourg", + desc_en: "", + name_ru: "Люксембург", + desc_ru: "" + }, { + mask: "+352-#####-###", + cc: "LU", + cd: "Luxembourg", + desc_en: "", + name_ru: "Люксембург", + desc_ru: "" + }, { + mask: "+352-######-###", + cc: "LU", + cd: "Luxembourg", + desc_en: "", + name_ru: "Люксембург", + desc_ru: "" + }, { + mask: "+371-##-###-###", + cc: "LV", + cd: "Latvia", + desc_en: "", + name_ru: "Латвия", + desc_ru: "" + }, { + mask: "+218-##-###-###", + cc: "LY", + cd: "Libya", + desc_en: "", + name_ru: "Ливия", + desc_ru: "" + }, { + mask: "+218-21-###-####", + cc: "LY", + cd: "Libya", + desc_en: "Tripoli", + name_ru: "Ливия", + desc_ru: "Триполи" + }, { + mask: "+212-##-####-###", + cc: "MA", + cd: "Morocco", + desc_en: "", + name_ru: "Марокко", + desc_ru: "" + }, { + mask: "+377(###)###-###", + cc: "MC", + cd: "Monaco", + desc_en: "", + name_ru: "Монако", + desc_ru: "" + }, { + mask: "+377-##-###-###", + cc: "MC", + cd: "Monaco", + desc_en: "", + name_ru: "Монако", + desc_ru: "" + }, { + mask: "+373-####-####", + cc: "MD", + cd: "Moldova", + desc_en: "", + name_ru: "Молдова", + desc_ru: "" + }, { + mask: "+382-##-###-###", + cc: "ME", + cd: "Montenegro", + desc_en: "", + name_ru: "Черногория", + desc_ru: "" + }, { + mask: "+261-##-##-#####", + cc: "MG", + cd: "Madagascar", + desc_en: "", + name_ru: "Мадагаскар", + desc_ru: "" + }, { + mask: "+692-###-####", + cc: "MH", + cd: "Marshall Islands", + desc_en: "", + name_ru: "Маршалловы Острова", + desc_ru: "" + }, { + mask: "+389-##-###-###", + cc: "MK", + cd: "Republic of Macedonia", + desc_en: "", + name_ru: "Респ. Македония", + desc_ru: "" + }, { + mask: "+223-##-##-####", + cc: "ML", + cd: "Mali", + desc_en: "", + name_ru: "Мали", + desc_ru: "" + }, { + mask: "+95-##-###-###", + cc: "MM", + cd: "Burma (Myanmar)", + desc_en: "", + name_ru: "Бирма (Мьянма)", + desc_ru: "" + }, { + mask: "+95-#-###-###", + cc: "MM", + cd: "Burma (Myanmar)", + desc_en: "", + name_ru: "Бирма (Мьянма)", + desc_ru: "" + }, { + mask: "+95-###-###", + cc: "MM", + cd: "Burma (Myanmar)", + desc_en: "", + name_ru: "Бирма (Мьянма)", + desc_ru: "" + }, { + mask: "+976-##-##-####", + cc: "MN", + cd: "Mongolia", + desc_en: "", + name_ru: "Монголия", + desc_ru: "" + }, { + mask: "+853-####-####", + cc: "MO", + cd: "Macau", + desc_en: "", + name_ru: "Макао", + desc_ru: "" + }, { + mask: "+1(670)###-####", + cc: "MP", + cd: "Northern Mariana Islands", + desc_en: "", + name_ru: "Северные Марианские острова Сайпан", + desc_ru: "" + }, { + mask: "+596(###)##-##-##", + cc: "MQ", + cd: "Martinique", + desc_en: "", + name_ru: "Мартиника", + desc_ru: "" + }, { + mask: "+222-##-##-####", + cc: "MR", + cd: "Mauritania", + desc_en: "", + name_ru: "Мавритания", + desc_ru: "" + }, { + mask: "+1(664)###-####", + cc: "MS", + cd: "Montserrat", + desc_en: "", + name_ru: "Монтсеррат", + desc_ru: "" + }, { + mask: "+356-####-####", + cc: "MT", + cd: "Malta", + desc_en: "", + name_ru: "Мальта", + desc_ru: "" + }, { + mask: "+230-###-####", + cc: "MU", + cd: "Mauritius", + desc_en: "", + name_ru: "Маврикий", + desc_ru: "" + }, { + mask: "+960-###-####", + cc: "MV", + cd: "Maldives", + desc_en: "", + name_ru: "Мальдивские острова", + desc_ru: "" + }, { + mask: "+265-1-###-###", + cc: "MW", + cd: "Malawi", + desc_en: "Telecom Ltd", + name_ru: "Малави", + desc_ru: "Telecom Ltd" + }, { + mask: "+265-#-####-####", + cc: "MW", + cd: "Malawi", + desc_en: "", + name_ru: "Малави", + desc_ru: "" + }, { + mask: "+52(###)###-####", + cc: "MX", + cd: "Mexico", + desc_en: "", + name_ru: "Мексика", + desc_ru: "" + }, { + mask: "+52-##-##-####", + cc: "MX", + cd: "Mexico", + desc_en: "", + name_ru: "Мексика", + desc_ru: "" + }, { + mask: "+60-##-###-####", + cc: "MY", + cd: "Malaysia ", + desc_en: "mobile", + name_ru: "Малайзия ", + desc_ru: "мобильные" + }, { + mask: "+60-11-####-####", + cc: "MY", + cd: "Malaysia ", + desc_en: "mobile", + name_ru: "Малайзия ", + desc_ru: "мобильные" + }, { + mask: "+60(###)###-###", + cc: "MY", + cd: "Malaysia", + desc_en: "", + name_ru: "Малайзия", + desc_ru: "" + }, { + mask: "+60-##-###-###", + cc: "MY", + cd: "Malaysia", + desc_en: "", + name_ru: "Малайзия", + desc_ru: "" + }, { + mask: "+60-#-###-###", + cc: "MY", + cd: "Malaysia", + desc_en: "", + name_ru: "Малайзия", + desc_ru: "" + }, { + mask: "+258-##-###-###", + cc: "MZ", + cd: "Mozambique", + desc_en: "", + name_ru: "Мозамбик", + desc_ru: "" + }, { + mask: "+264-##-###-####", + cc: "NA", + cd: "Namibia", + desc_en: "", + name_ru: "Намибия", + desc_ru: "" + }, { + mask: "+687-##-####", + cc: "NC", + cd: "New Caledonia", + desc_en: "", + name_ru: "Новая Каледония", + desc_ru: "" + }, { + mask: "+227-##-##-####", + cc: "NE", + cd: "Niger", + desc_en: "", + name_ru: "Нигер", + desc_ru: "" + }, { + mask: "+672-3##-###", + cc: "NF", + cd: "Norfolk Island", + desc_en: "", + name_ru: "Норфолк (остров)", + desc_ru: "" + }, { + mask: "+234(###)###-####", + cc: "NG", + cd: "Nigeria", + desc_en: "", + name_ru: "Нигерия", + desc_ru: "" + }, { + mask: "+234-##-###-###", + cc: "NG", + cd: "Nigeria", + desc_en: "", + name_ru: "Нигерия", + desc_ru: "" + }, { + mask: "+234-##-###-##", + cc: "NG", + cd: "Nigeria", + desc_en: "", + name_ru: "Нигерия", + desc_ru: "" + }, { + mask: "+234(###)###-####", + cc: "NG", + cd: "Nigeria ", + desc_en: "mobile", + name_ru: "Нигерия ", + desc_ru: "мобильные" + }, { + mask: "+505-####-####", + cc: "NI", + cd: "Nicaragua", + desc_en: "", + name_ru: "Никарагуа", + desc_ru: "" + }, { + mask: "+31-##-###-####", + cc: "NL", + cd: "Netherlands", + desc_en: "", + name_ru: "Нидерланды", + desc_ru: "" + }, { + mask: "+47(###)##-###", + cc: "NO", + cd: "Norway", + desc_en: "", + name_ru: "Норвегия", + desc_ru: "" + }, { + mask: "+977-##-###-###", + cc: "NP", + cd: "Nepal", + desc_en: "", + name_ru: "Непал", + desc_ru: "" + }, { + mask: "+674-###-####", + cc: "NR", + cd: "Nauru", + desc_en: "", + name_ru: "Науру", + desc_ru: "" + }, { + mask: "+683-####", + cc: "NU", + cd: "Niue", + desc_en: "", + name_ru: "Ниуэ", + desc_ru: "" + }, { + mask: "+64(###)###-###", + cc: "NZ", + cd: "New Zealand", + desc_en: "", + name_ru: "Новая Зеландия", + desc_ru: "" + }, { + mask: "+64-##-###-###", + cc: "NZ", + cd: "New Zealand", + desc_en: "", + name_ru: "Новая Зеландия", + desc_ru: "" + }, { + mask: "+64(###)###-####", + cc: "NZ", + cd: "New Zealand", + desc_en: "", + name_ru: "Новая Зеландия", + desc_ru: "" + }, { + mask: "+968-##-###-###", + cc: "OM", + cd: "Oman", + desc_en: "", + name_ru: "Оман", + desc_ru: "" + }, { + mask: "+507-###-####", + cc: "PA", + cd: "Panama", + desc_en: "", + name_ru: "Панама", + desc_ru: "" + }, { + mask: "+51(###)###-###", + cc: "PE", + cd: "Peru", + desc_en: "", + name_ru: "Перу", + desc_ru: "" + }, { + mask: "+689-##-##-##", + cc: "PF", + cd: "French Polynesia", + desc_en: "", + name_ru: "Французская Полинезия (Таити)", + desc_ru: "" + }, { + mask: "+675(###)##-###", + cc: "PG", + cd: "Papua New Guinea", + desc_en: "", + name_ru: "Папуа-Новая Гвинея", + desc_ru: "" + }, { + mask: "+63(###)###-####", + cc: "PH", + cd: "Philippines", + desc_en: "", + name_ru: "Филиппины", + desc_ru: "" + }, { + mask: "+92(###)###-####", + cc: "PK", + cd: "Pakistan", + desc_en: "", + name_ru: "Пакистан", + desc_ru: "" + }, { + mask: "+48(###)###-###", + cc: "PL", + cd: "Poland", + desc_en: "", + name_ru: "Польша", + desc_ru: "" + }, { + mask: "+970-##-###-####", + cc: "PS", + cd: "Palestine", + desc_en: "", + name_ru: "Палестина", + desc_ru: "" + }, { + mask: "+351-##-###-####", + cc: "PT", + cd: "Portugal", + desc_en: "", + name_ru: "Португалия", + desc_ru: "" + }, { + mask: "+680-###-####", + cc: "PW", + cd: "Palau", + desc_en: "", + name_ru: "Палау", + desc_ru: "" + }, { + mask: "+595(###)###-###", + cc: "PY", + cd: "Paraguay", + desc_en: "", + name_ru: "Парагвай", + desc_ru: "" + }, { + mask: "+974-####-####", + cc: "QA", + cd: "Qatar", + desc_en: "", + name_ru: "Катар", + desc_ru: "" + }, { + mask: "+262-#####-####", + cc: "RE", + cd: "Reunion", + desc_en: "", + name_ru: "Реюньон", + desc_ru: "" + }, { + mask: "+40-##-###-####", + cc: "RO", + cd: "Romania", + desc_en: "", + name_ru: "Румыния", + desc_ru: "" + }, { + mask: "+381-##-###-####", + cc: "RS", + cd: "Serbia", + desc_en: "", + name_ru: "Сербия", + desc_ru: "" + }, { + mask: "+7(###)###-##-##", + cc: "RU", + cd: "Russia", + desc_en: "", + name_ru: "Россия", + desc_ru: "" + }, { + mask: "+250(###)###-###", + cc: "RW", + cd: "Rwanda", + desc_en: "", + name_ru: "Руанда", + desc_ru: "" + }, { + mask: "+966-5-####-####", + cc: "SA", + cd: "Saudi Arabia ", + desc_en: "mobile", + name_ru: "Саудовская Аравия ", + desc_ru: "мобильные" + }, { + mask: "+966-#-###-####", + cc: "SA", + cd: "Saudi Arabia", + desc_en: "", + name_ru: "Саудовская Аравия", + desc_ru: "" + }, { + mask: "+677-###-####", + cc: "SB", + cd: "Solomon Islands ", + desc_en: "mobile", + name_ru: "Соломоновы Острова ", + desc_ru: "мобильные" + }, { + mask: "+677-#####", + cc: "SB", + cd: "Solomon Islands", + desc_en: "", + name_ru: "Соломоновы Острова", + desc_ru: "" + }, { + mask: "+248-#-###-###", + cc: "SC", + cd: "Seychelles", + desc_en: "", + name_ru: "Сейшелы", + desc_ru: "" + }, { + mask: "+249-##-###-####", + cc: "SD", + cd: "Sudan", + desc_en: "", + name_ru: "Судан", + desc_ru: "" + }, { + mask: "+46-##-###-####", + cc: "SE", + cd: "Sweden", + desc_en: "", + name_ru: "Швеция", + desc_ru: "" + }, { + mask: "+65-####-####", + cc: "SG", + cd: "Singapore", + desc_en: "", + name_ru: "Сингапур", + desc_ru: "" + }, { + mask: "+290-####", + cc: "SH", + cd: "Saint Helena", + desc_en: "", + name_ru: "Остров Святой Елены", + desc_ru: "" + }, { + mask: "+290-####", + cc: "SH", + cd: "Tristan da Cunha", + desc_en: "", + name_ru: "Тристан-да-Кунья", + desc_ru: "" + }, { + mask: "+386-##-###-###", + cc: "SI", + cd: "Slovenia", + desc_en: "", + name_ru: "Словения", + desc_ru: "" + }, { + mask: "+421(###)###-###", + cc: "SK", + cd: "Slovakia", + desc_en: "", + name_ru: "Словакия", + desc_ru: "" + }, { + mask: "+232-##-######", + cc: "SL", + cd: "Sierra Leone", + desc_en: "", + name_ru: "Сьерра-Леоне", + desc_ru: "" + }, { + mask: "+378-####-######", + cc: "SM", + cd: "San Marino", + desc_en: "", + name_ru: "Сан-Марино", + desc_ru: "" + }, { + mask: "+221-##-###-####", + cc: "SN", + cd: "Senegal", + desc_en: "", + name_ru: "Сенегал", + desc_ru: "" + }, { + mask: "+252-##-###-###", + cc: "SO", + cd: "Somalia", + desc_en: "", + name_ru: "Сомали", + desc_ru: "" + }, { + mask: "+252-#-###-###", + cc: "SO", + cd: "Somalia", + desc_en: "", + name_ru: "Сомали", + desc_ru: "" + }, { + mask: "+252-#-###-###", + cc: "SO", + cd: "Somalia ", + desc_en: "mobile", + name_ru: "Сомали ", + desc_ru: "мобильные" + }, { + mask: "+597-###-####", + cc: "SR", + cd: "Suriname ", + desc_en: "mobile", + name_ru: "Суринам ", + desc_ru: "мобильные" + }, { + mask: "+597-###-###", + cc: "SR", + cd: "Suriname", + desc_en: "", + name_ru: "Суринам", + desc_ru: "" + }, { + mask: "+211-##-###-####", + cc: "SS", + cd: "South Sudan", + desc_en: "", + name_ru: "Южный Судан", + desc_ru: "" + }, { + mask: "+239-##-#####", + cc: "ST", + cd: "Sao Tome and Principe", + desc_en: "", + name_ru: "Сан-Томе и Принсипи", + desc_ru: "" + }, { + mask: "+503-##-##-####", + cc: "SV", + cd: "El Salvador", + desc_en: "", + name_ru: "Сальвадор", + desc_ru: "" + }, { + mask: "+1(721)###-####", + cc: "SX", + cd: "Sint Maarten", + desc_en: "", + name_ru: "Синт-Маартен", + desc_ru: "" + }, { + mask: "+963-##-####-###", + cc: "SY", + cd: "Syrian Arab Republic", + desc_en: "", + name_ru: "Сирийская арабская республика", + desc_ru: "" + }, { + mask: "+268-##-##-####", + cc: "SZ", + cd: "Swaziland", + desc_en: "", + name_ru: "Свазиленд", + desc_ru: "" + }, { + mask: "+1(649)###-####", + cc: "TC", + cd: "Turks & Caicos", + desc_en: "", + name_ru: "Тёркс и Кайкос", + desc_ru: "" + }, { + mask: "+235-##-##-##-##", + cc: "TD", + cd: "Chad", + desc_en: "", + name_ru: "Чад", + desc_ru: "" + }, { + mask: "+228-##-###-###", + cc: "TG", + cd: "Togo", + desc_en: "", + name_ru: "Того", + desc_ru: "" + }, { + mask: "+66-##-###-####", + cc: "TH", + cd: "Thailand ", + desc_en: "mobile", + name_ru: "Таиланд ", + desc_ru: "мобильные" + }, { + mask: "+66-##-###-###", + cc: "TH", + cd: "Thailand", + desc_en: "", + name_ru: "Таиланд", + desc_ru: "" + }, { + mask: "+992-##-###-####", + cc: "TJ", + cd: "Tajikistan", + desc_en: "", + name_ru: "Таджикистан", + desc_ru: "" + }, { + mask: "+690-####", + cc: "TK", + cd: "Tokelau", + desc_en: "", + name_ru: "Токелау", + desc_ru: "" + }, { + mask: "+670-###-####", + cc: "TL", + cd: "East Timor", + desc_en: "", + name_ru: "Восточный Тимор", + desc_ru: "" + }, { + mask: "+670-77#-#####", + cc: "TL", + cd: "East Timor", + desc_en: "Timor Telecom", + name_ru: "Восточный Тимор", + desc_ru: "Timor Telecom" + }, { + mask: "+670-78#-#####", + cc: "TL", + cd: "East Timor", + desc_en: "Timor Telecom", + name_ru: "Восточный Тимор", + desc_ru: "Timor Telecom" + }, { + mask: "+993-#-###-####", + cc: "TM", + cd: "Turkmenistan", + desc_en: "", + name_ru: "Туркменистан", + desc_ru: "" + }, { + mask: "+216-##-###-###", + cc: "TN", + cd: "Tunisia", + desc_en: "", + name_ru: "Тунис", + desc_ru: "" + }, { + mask: "+676-#####", + cc: "TO", + cd: "Tonga", + desc_en: "", + name_ru: "Тонга", + desc_ru: "" + }, { + mask: "+90(###)###-####", + cc: "TR", + cd: "Turkey", + desc_en: "", + name_ru: "Турция", + desc_ru: "" + }, { + mask: "+1(868)###-####", + cc: "TT", + cd: "Trinidad & Tobago", + desc_en: "", + name_ru: "Тринидад и Тобаго", + desc_ru: "" + }, { + mask: "+688-90####", + cc: "TV", + cd: "Tuvalu ", + desc_en: "mobile", + name_ru: "Тувалу ", + desc_ru: "мобильные" + }, { + mask: "+688-2####", + cc: "TV", + cd: "Tuvalu", + desc_en: "", + name_ru: "Тувалу", + desc_ru: "" + }, { + mask: "+886-#-####-####", + cc: "TW", + cd: "Taiwan", + desc_en: "", + name_ru: "Тайвань", + desc_ru: "" + }, { + mask: "+886-####-####", + cc: "TW", + cd: "Taiwan", + desc_en: "", + name_ru: "Тайвань", + desc_ru: "" + }, { + mask: "+255-##-###-####", + cc: "TZ", + cd: "Tanzania", + desc_en: "", + name_ru: "Танзания", + desc_ru: "" + }, { + mask: "+380(##)###-##-##", + cc: "UA", + cd: "Ukraine", + desc_en: "", + name_ru: "Украина", + desc_ru: "" + }, { + mask: "+256(###)###-###", + cc: "UG", + cd: "Uganda", + desc_en: "", + name_ru: "Уганда", + desc_ru: "" + }, { + mask: "+44-##-####-####", + cc: "UK", + cd: "United Kingdom", + desc_en: "", + name_ru: "Великобритания", + desc_ru: "" + }, { + mask: "+598-#-###-##-##", + cc: "UY", + cd: "Uruguay", + desc_en: "", + name_ru: "Уругвай", + desc_ru: "" + }, { + mask: "+998-##-###-####", + cc: "UZ", + cd: "Uzbekistan", + desc_en: "", + name_ru: "Узбекистан", + desc_ru: "" + }, { + mask: "+39-6-698-#####", + cc: "VA", + cd: "Vatican City", + desc_en: "", + name_ru: "Ватикан", + desc_ru: "" + }, { + mask: "+1(784)###-####", + cc: "VC", + cd: "Saint Vincent & the Grenadines", + desc_en: "", + name_ru: "Сент-Винсент и Гренадины", + desc_ru: "" + }, { + mask: "+58(###)###-####", + cc: "VE", + cd: "Venezuela", + desc_en: "", + name_ru: "Венесуэла", + desc_ru: "" + }, { + mask: "+1(284)###-####", + cc: "VG", + cd: "British Virgin Islands", + desc_en: "", + name_ru: "Британские Виргинские острова", + desc_ru: "" + }, { + mask: "+1(340)###-####", + cc: "VI", + cd: "US Virgin Islands", + desc_en: "", + name_ru: "Американские Виргинские острова", + desc_ru: "" + }, { + mask: "+84-##-####-###", + cc: "VN", + cd: "Vietnam", + desc_en: "", + name_ru: "Вьетнам", + desc_ru: "" + }, { + mask: "+84(###)####-###", + cc: "VN", + cd: "Vietnam", + desc_en: "", + name_ru: "Вьетнам", + desc_ru: "" + }, { + mask: "+678-##-#####", + cc: "VU", + cd: "Vanuatu ", + desc_en: "mobile", + name_ru: "Вануату ", + desc_ru: "мобильные" + }, { + mask: "+678-#####", + cc: "VU", + cd: "Vanuatu", + desc_en: "", + name_ru: "Вануату", + desc_ru: "" + }, { + mask: "+681-##-####", + cc: "WF", + cd: "Wallis and Futuna", + desc_en: "", + name_ru: "Уоллис и Футуна", + desc_ru: "" + }, { + mask: "+685-##-####", + cc: "WS", + cd: "Samoa", + desc_en: "", + name_ru: "Самоа", + desc_ru: "" + }, { + mask: "+967-###-###-###", + cc: "YE", + cd: "Yemen ", + desc_en: "mobile", + name_ru: "Йемен ", + desc_ru: "мобильные" + }, { + mask: "+967-#-###-###", + cc: "YE", + cd: "Yemen", + desc_en: "", + name_ru: "Йемен", + desc_ru: "" + }, { + mask: "+967-##-###-###", + cc: "YE", + cd: "Yemen", + desc_en: "", + name_ru: "Йемен", + desc_ru: "" + }, { + mask: "+27-##-###-####", + cc: "ZA", + cd: "South Africa", + desc_en: "", + name_ru: "Южно-Африканская Респ.", + desc_ru: "" + }, { + mask: "+260-##-###-####", + cc: "ZM", + cd: "Zambia", + desc_en: "", + name_ru: "Замбия", + desc_ru: "" + }, { + mask: "+263-#-######", + cc: "ZW", + cd: "Zimbabwe", + desc_en: "", + name_ru: "Зимбабве", + desc_ru: "" + }, { + mask: "+1(###)###-####", + cc: [ "US", "CA" ], + cd: "USA and Canada", + desc_en: "", + name_ru: "США и Канада", + desc_ru: "" + } ] + } + }), Inputmask; +});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/jquery.inputmask.bundle.js b/public/bower_components/inputmask/dist/jquery.inputmask.bundle.js new file mode 100644 index 0000000..fa10a5f --- /dev/null +++ b/public/bower_components/inputmask/dist/jquery.inputmask.bundle.js @@ -0,0 +1,3055 @@ +/*! +* jquery.inputmask.bundle.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(modules) { + function __webpack_require__(moduleId) { + if (installedModules[moduleId]) return installedModules[moduleId].exports; + var module = installedModules[moduleId] = { + i: moduleId, + l: !1, + exports: {} + }; + return modules[moduleId].call(module.exports, module, module.exports, __webpack_require__), + module.l = !0, module.exports; + } + var installedModules = {}; + __webpack_require__.m = modules, __webpack_require__.c = installedModules, __webpack_require__.d = function(exports, name, getter) { + __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, { + configurable: !1, + enumerable: !0, + get: getter + }); + }, __webpack_require__.n = function(module) { + var getter = module && module.__esModule ? function() { + return module.default; + } : function() { + return module; + }; + return __webpack_require__.d(getter, "a", getter), getter; + }, __webpack_require__.o = function(object, property) { + return Object.prototype.hasOwnProperty.call(object, property); + }, __webpack_require__.p = "", __webpack_require__(__webpack_require__.s = 3); +}([ function(module, exports, __webpack_require__) { + "use strict"; + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + "function" == typeof Symbol && Symbol.iterator; + !function(factory) { + __WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(2) ], void 0 !== (__WEBPACK_AMD_DEFINE_RESULT__ = "function" == typeof (__WEBPACK_AMD_DEFINE_FACTORY__ = factory) ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__) && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__); + }(function($) { + return $; + }); +}, function(module, exports, __webpack_require__) { + "use strict"; + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__, _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { + return typeof obj; + } : function(obj) { + return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + !function(factory) { + __WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(0), __webpack_require__(10), __webpack_require__(11) ], + void 0 !== (__WEBPACK_AMD_DEFINE_RESULT__ = "function" == typeof (__WEBPACK_AMD_DEFINE_FACTORY__ = factory) ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__) && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__); + }(function($, window, document, undefined) { + function Inputmask(alias, options, internal) { + if (!(this instanceof Inputmask)) return new Inputmask(alias, options, internal); + this.el = undefined, this.events = {}, this.maskset = undefined, this.refreshValue = !1, + !0 !== internal && ($.isPlainObject(alias) ? options = alias : (options = options || {}).alias = alias, + this.opts = $.extend(!0, {}, this.defaults, options), this.noMasksCache = options && options.definitions !== undefined, + this.userOptions = options || {}, this.isRTL = this.opts.numericInput, resolveAlias(this.opts.alias, options, this.opts)); + } + function resolveAlias(aliasStr, options, opts) { + var aliasDefinition = Inputmask.prototype.aliases[aliasStr]; + return aliasDefinition ? (aliasDefinition.alias && resolveAlias(aliasDefinition.alias, undefined, opts), + $.extend(!0, opts, aliasDefinition), $.extend(!0, opts, options), !0) : (null === opts.mask && (opts.mask = aliasStr), + !1); + } + function generateMaskSet(opts, nocache) { + function generateMask(mask, metadata, opts) { + var regexMask = !1; + if (null !== mask && "" !== mask || ((regexMask = null !== opts.regex) ? mask = (mask = opts.regex).replace(/^(\^)(.*)(\$)$/, "$2") : (regexMask = !0, + mask = ".*")), 1 === mask.length && !1 === opts.greedy && 0 !== opts.repeat && (opts.placeholder = ""), + opts.repeat > 0 || "*" === opts.repeat || "+" === opts.repeat) { + var repeatStart = "*" === opts.repeat ? 0 : "+" === opts.repeat ? 1 : opts.repeat; + mask = opts.groupmarker.start + mask + opts.groupmarker.end + opts.quantifiermarker.start + repeatStart + "," + opts.repeat + opts.quantifiermarker.end; + } + var masksetDefinition, maskdefKey = regexMask ? "regex_" + opts.regex : opts.numericInput ? mask.split("").reverse().join("") : mask; + return Inputmask.prototype.masksCache[maskdefKey] === undefined || !0 === nocache ? (masksetDefinition = { + mask: mask, + maskToken: Inputmask.prototype.analyseMask(mask, regexMask, opts), + validPositions: {}, + _buffer: undefined, + buffer: undefined, + tests: {}, + metadata: metadata, + maskLength: undefined + }, !0 !== nocache && (Inputmask.prototype.masksCache[maskdefKey] = masksetDefinition, + masksetDefinition = $.extend(!0, {}, Inputmask.prototype.masksCache[maskdefKey]))) : masksetDefinition = $.extend(!0, {}, Inputmask.prototype.masksCache[maskdefKey]), + masksetDefinition; + } + if ($.isFunction(opts.mask) && (opts.mask = opts.mask(opts)), $.isArray(opts.mask)) { + if (opts.mask.length > 1) { + opts.keepStatic = null === opts.keepStatic || opts.keepStatic; + var altMask = opts.groupmarker.start; + return $.each(opts.numericInput ? opts.mask.reverse() : opts.mask, function(ndx, msk) { + altMask.length > 1 && (altMask += opts.groupmarker.end + opts.alternatormarker + opts.groupmarker.start), + msk.mask === undefined || $.isFunction(msk.mask) ? altMask += msk : altMask += msk.mask; + }), altMask += opts.groupmarker.end, generateMask(altMask, opts.mask, opts); + } + opts.mask = opts.mask.pop(); + } + return opts.mask && opts.mask.mask !== undefined && !$.isFunction(opts.mask.mask) ? generateMask(opts.mask.mask, opts.mask, opts) : generateMask(opts.mask, opts.mask, opts); + } + function maskScope(actionObj, maskset, opts) { + function getMaskTemplate(baseOnInput, minimalPos, includeMode) { + minimalPos = minimalPos || 0; + var ndxIntlzr, test, testPos, maskTemplate = [], pos = 0, lvp = getLastValidPosition(); + do { + !0 === baseOnInput && getMaskSet().validPositions[pos] ? (test = (testPos = getMaskSet().validPositions[pos]).match, + ndxIntlzr = testPos.locator.slice(), maskTemplate.push(!0 === includeMode ? testPos.input : !1 === includeMode ? test.nativeDef : getPlaceholder(pos, test))) : (test = (testPos = getTestTemplate(pos, ndxIntlzr, pos - 1)).match, + ndxIntlzr = testPos.locator.slice(), (!1 === opts.jitMasking || pos < lvp || "number" == typeof opts.jitMasking && isFinite(opts.jitMasking) && opts.jitMasking > pos) && maskTemplate.push(!1 === includeMode ? test.nativeDef : getPlaceholder(pos, test))), + pos++; + } while ((maxLength === undefined || pos < maxLength) && (null !== test.fn || "" !== test.def) || minimalPos > pos); + return "" === maskTemplate[maskTemplate.length - 1] && maskTemplate.pop(), getMaskSet().maskLength = pos + 1, + maskTemplate; + } + function getMaskSet() { + return maskset; + } + function resetMaskSet(soft) { + var maskset = getMaskSet(); + maskset.buffer = undefined, !0 !== soft && (maskset.validPositions = {}, maskset.p = 0); + } + function getLastValidPosition(closestTo, strict, validPositions) { + var before = -1, after = -1, valids = validPositions || getMaskSet().validPositions; + closestTo === undefined && (closestTo = -1); + for (var posNdx in valids) { + var psNdx = parseInt(posNdx); + valids[psNdx] && (strict || !0 !== valids[psNdx].generatedInput) && (psNdx <= closestTo && (before = psNdx), + psNdx >= closestTo && (after = psNdx)); + } + return -1 !== before && closestTo - before > 1 || after < closestTo ? before : after; + } + function stripValidPositions(start, end, nocheck, strict) { + var i, startPos = start, positionsClone = $.extend(!0, {}, getMaskSet().validPositions), needsValidation = !1; + for (getMaskSet().p = start, i = end - 1; i >= startPos; i--) getMaskSet().validPositions[i] !== undefined && (!0 !== nocheck && (!getMaskSet().validPositions[i].match.optionality && function(pos) { + var posMatch = getMaskSet().validPositions[pos]; + if (posMatch !== undefined && null === posMatch.match.fn) { + var prevMatch = getMaskSet().validPositions[pos - 1], nextMatch = getMaskSet().validPositions[pos + 1]; + return prevMatch !== undefined && nextMatch !== undefined; + } + return !1; + }(i) || !1 === opts.canClearPosition(getMaskSet(), i, getLastValidPosition(), strict, opts)) || delete getMaskSet().validPositions[i]); + for (resetMaskSet(!0), i = startPos + 1; i <= getLastValidPosition(); ) { + for (;getMaskSet().validPositions[startPos] !== undefined; ) startPos++; + if (i < startPos && (i = startPos + 1), getMaskSet().validPositions[i] === undefined && isMask(i)) i++; else { + var t = getTestTemplate(i); + !1 === needsValidation && positionsClone[startPos] && positionsClone[startPos].match.def === t.match.def ? (getMaskSet().validPositions[startPos] = $.extend(!0, {}, positionsClone[startPos]), + getMaskSet().validPositions[startPos].input = t.input, delete getMaskSet().validPositions[i], + i++) : positionCanMatchDefinition(startPos, t.match.def) ? !1 !== isValid(startPos, t.input || getPlaceholder(i), !0) && (delete getMaskSet().validPositions[i], + i++, needsValidation = !0) : isMask(i) || (i++, startPos--), startPos++; + } + } + resetMaskSet(!0); + } + function determineTestTemplate(tests, guessNextBest) { + for (var testPos, testPositions = tests, lvp = getLastValidPosition(), lvTest = getMaskSet().validPositions[lvp] || getTests(0)[0], lvTestAltArr = lvTest.alternation !== undefined ? lvTest.locator[lvTest.alternation].toString().split(",") : [], ndx = 0; ndx < testPositions.length && (!((testPos = testPositions[ndx]).match && (opts.greedy && !0 !== testPos.match.optionalQuantifier || (!1 === testPos.match.optionality || !1 === testPos.match.newBlockMarker) && !0 !== testPos.match.optionalQuantifier) && (lvTest.alternation === undefined || lvTest.alternation !== testPos.alternation || testPos.locator[lvTest.alternation] !== undefined && checkAlternationMatch(testPos.locator[lvTest.alternation].toString().split(","), lvTestAltArr))) || !0 === guessNextBest && (null !== testPos.match.fn || /[0-9a-bA-Z]/.test(testPos.match.def))); ndx++) ; + return testPos; + } + function getTestTemplate(pos, ndxIntlzr, tstPs) { + return getMaskSet().validPositions[pos] || determineTestTemplate(getTests(pos, ndxIntlzr ? ndxIntlzr.slice() : ndxIntlzr, tstPs)); + } + function getTest(pos) { + return getMaskSet().validPositions[pos] ? getMaskSet().validPositions[pos] : getTests(pos)[0]; + } + function positionCanMatchDefinition(pos, def) { + for (var valid = !1, tests = getTests(pos), tndx = 0; tndx < tests.length; tndx++) if (tests[tndx].match && tests[tndx].match.def === def) { + valid = !0; + break; + } + return valid; + } + function getTests(pos, ndxIntlzr, tstPs) { + function resolveTestFromToken(maskToken, ndxInitializer, loopNdx, quantifierRecurse) { + function handleMatch(match, loopNdx, quantifierRecurse) { + function isFirstMatch(latestMatch, tokenGroup) { + var firstMatch = 0 === $.inArray(latestMatch, tokenGroup.matches); + return firstMatch || $.each(tokenGroup.matches, function(ndx, match) { + if (!0 === match.isQuantifier && (firstMatch = isFirstMatch(latestMatch, tokenGroup.matches[ndx - 1]))) return !1; + }), firstMatch; + } + function resolveNdxInitializer(pos, alternateNdx, targetAlternation) { + var bestMatch, indexPos; + if (getMaskSet().validPositions[pos - 1] && targetAlternation && getMaskSet().tests[pos]) for (var vpAlternation = getMaskSet().validPositions[pos - 1].locator, tpAlternation = getMaskSet().tests[pos][0].locator, i = 0; i < targetAlternation; i++) if (vpAlternation[i] !== tpAlternation[i]) return vpAlternation.slice(targetAlternation + 1); + return (getMaskSet().tests[pos] || getMaskSet().validPositions[pos]) && $.each(getMaskSet().tests[pos] || [ getMaskSet().validPositions[pos] ], function(ndx, lmnt) { + var alternation = targetAlternation !== undefined ? targetAlternation : lmnt.alternation, ndxPos = lmnt.locator[alternation] !== undefined ? lmnt.locator[alternation].toString().indexOf(alternateNdx) : -1; + (indexPos === undefined || ndxPos < indexPos) && -1 !== ndxPos && (bestMatch = lmnt, + indexPos = ndxPos); + }), bestMatch ? bestMatch.locator.slice((targetAlternation !== undefined ? targetAlternation : bestMatch.alternation) + 1) : targetAlternation !== undefined ? resolveNdxInitializer(pos, alternateNdx) : undefined; + } + if (testPos > 1e4) throw "Inputmask: There is probably an error in your mask definition or in the code. Create an issue on github with an example of the mask you are using. " + getMaskSet().mask; + if (testPos === pos && match.matches === undefined) return matches.push({ + match: match, + locator: loopNdx.reverse(), + cd: cacheDependency + }), !0; + if (match.matches !== undefined) { + if (match.isGroup && quantifierRecurse !== match) { + if (match = handleMatch(maskToken.matches[$.inArray(match, maskToken.matches) + 1], loopNdx)) return !0; + } else if (match.isOptional) { + var optionalToken = match; + if (match = resolveTestFromToken(match, ndxInitializer, loopNdx, quantifierRecurse)) { + if (latestMatch = matches[matches.length - 1].match, !isFirstMatch(latestMatch, optionalToken)) return !0; + insertStop = !0, testPos = pos; + } + } else if (match.isAlternator) { + var maltMatches, alternateToken = match, malternateMatches = [], currentMatches = matches.slice(), loopNdxCnt = loopNdx.length, altIndex = ndxInitializer.length > 0 ? ndxInitializer.shift() : -1; + if (-1 === altIndex || "string" == typeof altIndex) { + var amndx, currentPos = testPos, ndxInitializerClone = ndxInitializer.slice(), altIndexArr = []; + if ("string" == typeof altIndex) altIndexArr = altIndex.split(","); else for (amndx = 0; amndx < alternateToken.matches.length; amndx++) altIndexArr.push(amndx); + for (var ndx = 0; ndx < altIndexArr.length; ndx++) { + if (amndx = parseInt(altIndexArr[ndx]), matches = [], ndxInitializer = resolveNdxInitializer(testPos, amndx, loopNdxCnt) || ndxInitializerClone.slice(), + !0 !== (match = handleMatch(alternateToken.matches[amndx] || maskToken.matches[amndx], [ amndx ].concat(loopNdx), quantifierRecurse) || match) && match !== undefined && altIndexArr[altIndexArr.length - 1] < alternateToken.matches.length) { + var ntndx = $.inArray(match, maskToken.matches) + 1; + maskToken.matches.length > ntndx && (match = handleMatch(maskToken.matches[ntndx], [ ntndx ].concat(loopNdx.slice(1, loopNdx.length)), quantifierRecurse)) && (altIndexArr.push(ntndx.toString()), + $.each(matches, function(ndx, lmnt) { + lmnt.alternation = loopNdx.length - 1; + })); + } + maltMatches = matches.slice(), testPos = currentPos, matches = []; + for (var ndx1 = 0; ndx1 < maltMatches.length; ndx1++) { + var altMatch = maltMatches[ndx1], dropMatch = !1; + altMatch.alternation = altMatch.alternation || loopNdxCnt; + for (var ndx2 = 0; ndx2 < malternateMatches.length; ndx2++) { + var altMatch2 = malternateMatches[ndx2]; + if ("string" != typeof altIndex || -1 !== $.inArray(altMatch.locator[altMatch.alternation].toString(), altIndexArr)) { + if (function(source, target) { + return source.match.nativeDef === target.match.nativeDef || source.match.def === target.match.nativeDef || source.match.nativeDef === target.match.def; + }(altMatch, altMatch2)) { + dropMatch = !0, altMatch.alternation === altMatch2.alternation && -1 === altMatch2.locator[altMatch2.alternation].toString().indexOf(altMatch.locator[altMatch.alternation]) && (altMatch2.locator[altMatch2.alternation] = altMatch2.locator[altMatch2.alternation] + "," + altMatch.locator[altMatch.alternation], + altMatch2.alternation = altMatch.alternation), altMatch.match.nativeDef === altMatch2.match.def && (altMatch.locator[altMatch.alternation] = altMatch2.locator[altMatch2.alternation], + malternateMatches.splice(malternateMatches.indexOf(altMatch2), 1, altMatch)); + break; + } + if (altMatch.match.def === altMatch2.match.def) { + dropMatch = !1; + break; + } + if (function(source, target) { + return null === source.match.fn && null !== target.match.fn && target.match.fn.test(source.match.def, getMaskSet(), pos, !1, opts, !1); + }(altMatch, altMatch2) || function(source, target) { + return null !== source.match.fn && null !== target.match.fn && target.match.fn.test(source.match.def.replace(/[\[\]]/g, ""), getMaskSet(), pos, !1, opts, !1); + }(altMatch, altMatch2)) { + altMatch.alternation === altMatch2.alternation && -1 === altMatch.locator[altMatch.alternation].toString().indexOf(altMatch2.locator[altMatch2.alternation].toString().split("")[0]) && (altMatch.na = altMatch.na || altMatch.locator[altMatch.alternation].toString(), + -1 === altMatch.na.indexOf(altMatch.locator[altMatch.alternation].toString().split("")[0]) && (altMatch.na = altMatch.na + "," + altMatch.locator[altMatch2.alternation].toString().split("")[0]), + dropMatch = !0, altMatch.locator[altMatch.alternation] = altMatch2.locator[altMatch2.alternation].toString().split("")[0] + "," + altMatch.locator[altMatch.alternation], + malternateMatches.splice(malternateMatches.indexOf(altMatch2), 0, altMatch)); + break; + } + } + } + dropMatch || malternateMatches.push(altMatch); + } + } + "string" == typeof altIndex && (malternateMatches = $.map(malternateMatches, function(lmnt, ndx) { + if (isFinite(ndx)) { + var alternation = lmnt.alternation, altLocArr = lmnt.locator[alternation].toString().split(","); + lmnt.locator[alternation] = undefined, lmnt.alternation = undefined; + for (var alndx = 0; alndx < altLocArr.length; alndx++) -1 !== $.inArray(altLocArr[alndx], altIndexArr) && (lmnt.locator[alternation] !== undefined ? (lmnt.locator[alternation] += ",", + lmnt.locator[alternation] += altLocArr[alndx]) : lmnt.locator[alternation] = parseInt(altLocArr[alndx]), + lmnt.alternation = alternation); + if (lmnt.locator[alternation] !== undefined) return lmnt; + } + })), matches = currentMatches.concat(malternateMatches), testPos = pos, insertStop = matches.length > 0, + match = malternateMatches.length > 0, ndxInitializer = ndxInitializerClone.slice(); + } else match = handleMatch(alternateToken.matches[altIndex] || maskToken.matches[altIndex], [ altIndex ].concat(loopNdx), quantifierRecurse); + if (match) return !0; + } else if (match.isQuantifier && quantifierRecurse !== maskToken.matches[$.inArray(match, maskToken.matches) - 1]) for (var qt = match, qndx = ndxInitializer.length > 0 ? ndxInitializer.shift() : 0; qndx < (isNaN(qt.quantifier.max) ? qndx + 1 : qt.quantifier.max) && testPos <= pos; qndx++) { + var tokenGroup = maskToken.matches[$.inArray(qt, maskToken.matches) - 1]; + if (match = handleMatch(tokenGroup, [ qndx ].concat(loopNdx), tokenGroup)) { + if (latestMatch = matches[matches.length - 1].match, latestMatch.optionalQuantifier = qndx > qt.quantifier.min - 1, + isFirstMatch(latestMatch, tokenGroup)) { + if (qndx > qt.quantifier.min - 1) { + insertStop = !0, testPos = pos; + break; + } + return !0; + } + return !0; + } + } else if (match = resolveTestFromToken(match, ndxInitializer, loopNdx, quantifierRecurse)) return !0; + } else testPos++; + } + for (var tndx = ndxInitializer.length > 0 ? ndxInitializer.shift() : 0; tndx < maskToken.matches.length; tndx++) if (!0 !== maskToken.matches[tndx].isQuantifier) { + var match = handleMatch(maskToken.matches[tndx], [ tndx ].concat(loopNdx), quantifierRecurse); + if (match && testPos === pos) return match; + if (testPos > pos) break; + } + } + function filterTests(tests) { + if (opts.keepStatic && pos > 0 && tests.length > 1 + ("" === tests[tests.length - 1].match.def ? 1 : 0) && !0 !== tests[0].match.optionality && !0 !== tests[0].match.optionalQuantifier && null === tests[0].match.fn && !/[0-9a-bA-Z]/.test(tests[0].match.def)) { + if (getMaskSet().validPositions[pos - 1] === undefined) return [ determineTestTemplate(tests) ]; + if (getMaskSet().validPositions[pos - 1].alternation === tests[0].alternation) return [ determineTestTemplate(tests) ]; + if (getMaskSet().validPositions[pos - 1]) return [ determineTestTemplate(tests) ]; + } + return tests; + } + var latestMatch, maskTokens = getMaskSet().maskToken, testPos = ndxIntlzr ? tstPs : 0, ndxInitializer = ndxIntlzr ? ndxIntlzr.slice() : [ 0 ], matches = [], insertStop = !1, cacheDependency = ndxIntlzr ? ndxIntlzr.join("") : ""; + if (pos > -1) { + if (ndxIntlzr === undefined) { + for (var test, previousPos = pos - 1; (test = getMaskSet().validPositions[previousPos] || getMaskSet().tests[previousPos]) === undefined && previousPos > -1; ) previousPos--; + test !== undefined && previousPos > -1 && (ndxInitializer = function(tests) { + var locator = []; + return $.isArray(tests) || (tests = [ tests ]), tests.length > 0 && (tests[0].alternation === undefined ? 0 === (locator = determineTestTemplate(tests.slice()).locator.slice()).length && (locator = tests[0].locator.slice()) : $.each(tests, function(ndx, tst) { + if ("" !== tst.def) if (0 === locator.length) locator = tst.locator.slice(); else for (var i = 0; i < locator.length; i++) tst.locator[i] && -1 === locator[i].toString().indexOf(tst.locator[i]) && (locator[i] += "," + tst.locator[i]); + })), locator; + }(test), cacheDependency = ndxInitializer.join(""), testPos = previousPos); + } + if (getMaskSet().tests[pos] && getMaskSet().tests[pos][0].cd === cacheDependency) return filterTests(getMaskSet().tests[pos]); + for (var mtndx = ndxInitializer.shift(); mtndx < maskTokens.length && !(resolveTestFromToken(maskTokens[mtndx], ndxInitializer, [ mtndx ]) && testPos === pos || testPos > pos); mtndx++) ; + } + return (0 === matches.length || insertStop) && matches.push({ + match: { + fn: null, + cardinality: 0, + optionality: !0, + casing: null, + def: "", + placeholder: "" + }, + locator: [], + cd: cacheDependency + }), ndxIntlzr !== undefined && getMaskSet().tests[pos] ? filterTests($.extend(!0, [], matches)) : (getMaskSet().tests[pos] = $.extend(!0, [], matches), + filterTests(getMaskSet().tests[pos])); + } + function getBufferTemplate() { + return getMaskSet()._buffer === undefined && (getMaskSet()._buffer = getMaskTemplate(!1, 1), + getMaskSet().buffer === undefined && (getMaskSet().buffer = getMaskSet()._buffer.slice())), + getMaskSet()._buffer; + } + function getBuffer(noCache) { + return getMaskSet().buffer !== undefined && !0 !== noCache || (getMaskSet().buffer = getMaskTemplate(!0, getLastValidPosition(), !0)), + getMaskSet().buffer; + } + function refreshFromBuffer(start, end, buffer) { + var i, p; + if (!0 === start) resetMaskSet(), start = 0, end = buffer.length; else for (i = start; i < end; i++) delete getMaskSet().validPositions[i]; + for (p = start, i = start; i < end; i++) if (resetMaskSet(!0), buffer[i] !== opts.skipOptionalPartCharacter) { + var valResult = isValid(p, buffer[i], !0, !0); + !1 !== valResult && (resetMaskSet(!0), p = valResult.caret !== undefined ? valResult.caret : valResult.pos + 1); + } + } + function casing(elem, test, pos) { + switch (opts.casing || test.casing) { + case "upper": + elem = elem.toUpperCase(); + break; + + case "lower": + elem = elem.toLowerCase(); + break; + + case "title": + var posBefore = getMaskSet().validPositions[pos - 1]; + elem = 0 === pos || posBefore && posBefore.input === String.fromCharCode(Inputmask.keyCode.SPACE) ? elem.toUpperCase() : elem.toLowerCase(); + break; + + default: + if ($.isFunction(opts.casing)) { + var args = Array.prototype.slice.call(arguments); + args.push(getMaskSet().validPositions), elem = opts.casing.apply(this, args); + } + } + return elem; + } + function checkAlternationMatch(altArr1, altArr2, na) { + for (var naNdx, altArrC = opts.greedy ? altArr2 : altArr2.slice(0, 1), isMatch = !1, naArr = na !== undefined ? na.split(",") : [], i = 0; i < naArr.length; i++) -1 !== (naNdx = altArr1.indexOf(naArr[i])) && altArr1.splice(naNdx, 1); + for (var alndx = 0; alndx < altArr1.length; alndx++) if (-1 !== $.inArray(altArr1[alndx], altArrC)) { + isMatch = !0; + break; + } + return isMatch; + } + function isValid(pos, c, strict, fromSetValid, fromAlternate, validateOnly) { + function isSelection(posObj) { + var selection = isRTL ? posObj.begin - posObj.end > 1 || posObj.begin - posObj.end == 1 : posObj.end - posObj.begin > 1 || posObj.end - posObj.begin == 1; + return selection && 0 === posObj.begin && posObj.end === getMaskSet().maskLength ? "full" : selection; + } + function _isValid(position, c, strict) { + var rslt = !1; + return $.each(getTests(position), function(ndx, tst) { + for (var test = tst.match, loopend = c ? 1 : 0, chrs = "", i = test.cardinality; i > loopend; i--) chrs += getBufferElement(position - (i - 1)); + if (c && (chrs += c), getBuffer(!0), !1 !== (rslt = null != test.fn ? test.fn.test(chrs, getMaskSet(), position, strict, opts, isSelection(pos)) : (c === test.def || c === opts.skipOptionalPartCharacter) && "" !== test.def && { + c: getPlaceholder(position, test, !0) || test.def, + pos: position + })) { + var elem = rslt.c !== undefined ? rslt.c : c; + elem = elem === opts.skipOptionalPartCharacter && null === test.fn ? getPlaceholder(position, test, !0) || test.def : elem; + var validatedPos = position, possibleModifiedBuffer = getBuffer(); + if (rslt.remove !== undefined && ($.isArray(rslt.remove) || (rslt.remove = [ rslt.remove ]), + $.each(rslt.remove.sort(function(a, b) { + return b - a; + }), function(ndx, lmnt) { + stripValidPositions(lmnt, lmnt + 1, !0); + })), rslt.insert !== undefined && ($.isArray(rslt.insert) || (rslt.insert = [ rslt.insert ]), + $.each(rslt.insert.sort(function(a, b) { + return a - b; + }), function(ndx, lmnt) { + isValid(lmnt.pos, lmnt.c, !0, fromSetValid); + })), rslt.refreshFromBuffer) { + var refresh = rslt.refreshFromBuffer; + if (refreshFromBuffer(!0 === refresh ? refresh : refresh.start, refresh.end, possibleModifiedBuffer), + rslt.pos === undefined && rslt.c === undefined) return rslt.pos = getLastValidPosition(), + !1; + if ((validatedPos = rslt.pos !== undefined ? rslt.pos : position) !== position) return rslt = $.extend(rslt, isValid(validatedPos, elem, !0, fromSetValid)), + !1; + } else if (!0 !== rslt && rslt.pos !== undefined && rslt.pos !== position && (validatedPos = rslt.pos, + refreshFromBuffer(position, validatedPos, getBuffer().slice()), validatedPos !== position)) return rslt = $.extend(rslt, isValid(validatedPos, elem, !0)), + !1; + return (!0 === rslt || rslt.pos !== undefined || rslt.c !== undefined) && (ndx > 0 && resetMaskSet(!0), + setValidPosition(validatedPos, $.extend({}, tst, { + input: casing(elem, test, validatedPos) + }), fromSetValid, isSelection(pos)) || (rslt = !1), !1); + } + }), rslt; + } + function setValidPosition(pos, validTest, fromSetValid, isSelection) { + if (isSelection || opts.insertMode && getMaskSet().validPositions[pos] !== undefined && fromSetValid === undefined) { + var i, positionsClone = $.extend(!0, {}, getMaskSet().validPositions), lvp = getLastValidPosition(undefined, !0); + for (i = pos; i <= lvp; i++) delete getMaskSet().validPositions[i]; + getMaskSet().validPositions[pos] = $.extend(!0, {}, validTest); + var j, valid = !0, vps = getMaskSet().validPositions, needsValidation = !1, initialLength = getMaskSet().maskLength; + for (i = j = pos; i <= lvp; i++) { + var t = positionsClone[i]; + if (t !== undefined) for (var posMatch = j; posMatch < getMaskSet().maskLength && (null === t.match.fn && vps[i] && (!0 === vps[i].match.optionalQuantifier || !0 === vps[i].match.optionality) || null != t.match.fn); ) { + if (posMatch++, !1 === needsValidation && positionsClone[posMatch] && positionsClone[posMatch].match.def === t.match.def) getMaskSet().validPositions[posMatch] = $.extend(!0, {}, positionsClone[posMatch]), + getMaskSet().validPositions[posMatch].input = t.input, fillMissingNonMask(posMatch), + j = posMatch, valid = !0; else if (positionCanMatchDefinition(posMatch, t.match.def)) { + var result = isValid(posMatch, t.input, !0, !0); + valid = !1 !== result, j = result.caret || result.insert ? getLastValidPosition() : posMatch, + needsValidation = !0; + } else if (!(valid = !0 === t.generatedInput) && posMatch >= getMaskSet().maskLength - 1) break; + if (getMaskSet().maskLength < initialLength && (getMaskSet().maskLength = initialLength), + valid) break; + } + if (!valid) break; + } + if (!valid) return getMaskSet().validPositions = $.extend(!0, {}, positionsClone), + resetMaskSet(!0), !1; + } else getMaskSet().validPositions[pos] = $.extend(!0, {}, validTest); + return resetMaskSet(!0), !0; + } + function fillMissingNonMask(maskPos) { + for (var pndx = maskPos - 1; pndx > -1 && !getMaskSet().validPositions[pndx]; pndx--) ; + var testTemplate, testsFromPos; + for (pndx++; pndx < maskPos; pndx++) getMaskSet().validPositions[pndx] === undefined && (!1 === opts.jitMasking || opts.jitMasking > pndx) && ("" === (testsFromPos = getTests(pndx, getTestTemplate(pndx - 1).locator, pndx - 1).slice())[testsFromPos.length - 1].match.def && testsFromPos.pop(), + (testTemplate = determineTestTemplate(testsFromPos)) && (testTemplate.match.def === opts.radixPointDefinitionSymbol || !isMask(pndx, !0) || $.inArray(opts.radixPoint, getBuffer()) < pndx && testTemplate.match.fn && testTemplate.match.fn.test(getPlaceholder(pndx), getMaskSet(), pndx, !1, opts)) && !1 !== (result = _isValid(pndx, getPlaceholder(pndx, testTemplate.match, !0) || (null == testTemplate.match.fn ? testTemplate.match.def : "" !== getPlaceholder(pndx) ? getPlaceholder(pndx) : getBuffer()[pndx]), !0)) && (getMaskSet().validPositions[result.pos || pndx].generatedInput = !0)); + } + strict = !0 === strict; + var maskPos = pos; + pos.begin !== undefined && (maskPos = isRTL && !isSelection(pos) ? pos.end : pos.begin); + var result = !0, positionsClone = $.extend(!0, {}, getMaskSet().validPositions); + if ($.isFunction(opts.preValidation) && !strict && !0 !== fromSetValid && !0 !== validateOnly && (result = opts.preValidation(getBuffer(), maskPos, c, isSelection(pos), opts)), + !0 === result) { + if (fillMissingNonMask(maskPos), isSelection(pos) && (handleRemove(undefined, Inputmask.keyCode.DELETE, pos, !0, !0), + maskPos = getMaskSet().p), maskPos < getMaskSet().maskLength && (maxLength === undefined || maskPos < maxLength) && (result = _isValid(maskPos, c, strict), + (!strict || !0 === fromSetValid) && !1 === result && !0 !== validateOnly)) { + var currentPosValid = getMaskSet().validPositions[maskPos]; + if (!currentPosValid || null !== currentPosValid.match.fn || currentPosValid.match.def !== c && c !== opts.skipOptionalPartCharacter) { + if ((opts.insertMode || getMaskSet().validPositions[seekNext(maskPos)] === undefined) && !isMask(maskPos, !0)) for (var nPos = maskPos + 1, snPos = seekNext(maskPos); nPos <= snPos; nPos++) if (!1 !== (result = _isValid(nPos, c, strict))) { + !function(originalPos, newPos) { + var vp = getMaskSet().validPositions[newPos]; + if (vp) for (var targetLocator = vp.locator, tll = targetLocator.length, ps = originalPos; ps < newPos; ps++) if (getMaskSet().validPositions[ps] === undefined && !isMask(ps, !0)) { + var tests = getTests(ps).slice(), bestMatch = determineTestTemplate(tests, !0), equality = -1; + "" === tests[tests.length - 1].match.def && tests.pop(), $.each(tests, function(ndx, tst) { + for (var i = 0; i < tll; i++) { + if (tst.locator[i] === undefined || !checkAlternationMatch(tst.locator[i].toString().split(","), targetLocator[i].toString().split(","), tst.na)) { + var targetAI = targetLocator[i], bestMatchAI = bestMatch.locator[i], tstAI = tst.locator[i]; + targetAI - bestMatchAI > Math.abs(targetAI - tstAI) && (bestMatch = tst); + break; + } + equality < i && (equality = i, bestMatch = tst); + } + }), (bestMatch = $.extend({}, bestMatch, { + input: getPlaceholder(ps, bestMatch.match, !0) || bestMatch.match.def + })).generatedInput = !0, setValidPosition(ps, bestMatch, !0), getMaskSet().validPositions[newPos] = undefined, + _isValid(newPos, vp.input, !0); + } + }(maskPos, result.pos !== undefined ? result.pos : nPos), maskPos = nPos; + break; + } + } else result = { + caret: seekNext(maskPos) + }; + } + !1 === result && opts.keepStatic && !strict && !0 !== fromAlternate && (result = function(pos, c, strict) { + var lastAlt, alternation, altPos, prevAltPos, i, validPos, altNdxs, decisionPos, validPsClone = $.extend(!0, {}, getMaskSet().validPositions), isValidRslt = !1, lAltPos = getLastValidPosition(); + for (prevAltPos = getMaskSet().validPositions[lAltPos]; lAltPos >= 0; lAltPos--) if ((altPos = getMaskSet().validPositions[lAltPos]) && altPos.alternation !== undefined) { + if (lastAlt = lAltPos, alternation = getMaskSet().validPositions[lastAlt].alternation, + prevAltPos.locator[altPos.alternation] !== altPos.locator[altPos.alternation]) break; + prevAltPos = altPos; + } + if (alternation !== undefined) { + decisionPos = parseInt(lastAlt); + var decisionTaker = prevAltPos.locator[prevAltPos.alternation || alternation] !== undefined ? prevAltPos.locator[prevAltPos.alternation || alternation] : altNdxs[0]; + decisionTaker.length > 0 && (decisionTaker = decisionTaker.split(",")[0]); + var possibilityPos = getMaskSet().validPositions[decisionPos], prevPos = getMaskSet().validPositions[decisionPos - 1]; + $.each(getTests(decisionPos, prevPos ? prevPos.locator : undefined, decisionPos - 1), function(ndx, test) { + altNdxs = test.locator[alternation] ? test.locator[alternation].toString().split(",") : []; + for (var mndx = 0; mndx < altNdxs.length; mndx++) { + var validInputs = [], staticInputsBeforePos = 0, staticInputsBeforePosAlternate = 0, verifyValidInput = !1; + if (decisionTaker < altNdxs[mndx] && (test.na === undefined || -1 === $.inArray(altNdxs[mndx], test.na.split(",")) || -1 === $.inArray(decisionTaker.toString(), altNdxs))) { + getMaskSet().validPositions[decisionPos] = $.extend(!0, {}, test); + var possibilities = getMaskSet().validPositions[decisionPos].locator; + for (getMaskSet().validPositions[decisionPos].locator[alternation] = parseInt(altNdxs[mndx]), + null == test.match.fn ? (possibilityPos.input !== test.match.def && (verifyValidInput = !0, + !0 !== possibilityPos.generatedInput && validInputs.push(possibilityPos.input)), + staticInputsBeforePosAlternate++, getMaskSet().validPositions[decisionPos].generatedInput = !/[0-9a-bA-Z]/.test(test.match.def), + getMaskSet().validPositions[decisionPos].input = test.match.def) : getMaskSet().validPositions[decisionPos].input = possibilityPos.input, + i = decisionPos + 1; i < getLastValidPosition(undefined, !0) + 1; i++) (validPos = getMaskSet().validPositions[i]) && !0 !== validPos.generatedInput && /[0-9a-bA-Z]/.test(validPos.input) ? validInputs.push(validPos.input) : i < pos && staticInputsBeforePos++, + delete getMaskSet().validPositions[i]; + for (verifyValidInput && validInputs[0] === test.match.def && validInputs.shift(), + resetMaskSet(!0), isValidRslt = !0; validInputs.length > 0; ) { + var input = validInputs.shift(); + if (input !== opts.skipOptionalPartCharacter && !(isValidRslt = isValid(getLastValidPosition(undefined, !0) + 1, input, !1, fromSetValid, !0))) break; + } + if (isValidRslt) { + getMaskSet().validPositions[decisionPos].locator = possibilities; + var targetLvp = getLastValidPosition(pos) + 1; + for (i = decisionPos + 1; i < getLastValidPosition() + 1; i++) ((validPos = getMaskSet().validPositions[i]) === undefined || null == validPos.match.fn) && i < pos + (staticInputsBeforePosAlternate - staticInputsBeforePos) && staticInputsBeforePosAlternate++; + isValidRslt = isValid((pos += staticInputsBeforePosAlternate - staticInputsBeforePos) > targetLvp ? targetLvp : pos, c, strict, fromSetValid, !0); + } + if (isValidRslt) return !1; + resetMaskSet(), getMaskSet().validPositions = $.extend(!0, {}, validPsClone); + } + } + }); + } + return isValidRslt; + }(maskPos, c, strict)), !0 === result && (result = { + pos: maskPos + }); + } + if ($.isFunction(opts.postValidation) && !1 !== result && !strict && !0 !== fromSetValid && !0 !== validateOnly) { + var postResult = opts.postValidation(getBuffer(!0), result, opts); + if (postResult.refreshFromBuffer && postResult.buffer) { + var refresh = postResult.refreshFromBuffer; + refreshFromBuffer(!0 === refresh ? refresh : refresh.start, refresh.end, postResult.buffer); + } + result = !0 === postResult ? result : postResult; + } + return result && result.pos === undefined && (result.pos = maskPos), !1 !== result && !0 !== validateOnly || (resetMaskSet(!0), + getMaskSet().validPositions = $.extend(!0, {}, positionsClone)), result; + } + function isMask(pos, strict) { + var test = getTestTemplate(pos).match; + if ("" === test.def && (test = getTest(pos).match), null != test.fn) return test.fn; + if (!0 !== strict && pos > -1) { + var tests = getTests(pos); + return tests.length > 1 + ("" === tests[tests.length - 1].match.def ? 1 : 0); + } + return !1; + } + function seekNext(pos, newBlock) { + var maskL = getMaskSet().maskLength; + if (pos >= maskL) return maskL; + var position = pos; + for (getTests(maskL + 1).length > 1 && (getMaskTemplate(!0, maskL + 1, !0), maskL = getMaskSet().maskLength); ++position < maskL && (!0 === newBlock && (!0 !== getTest(position).match.newBlockMarker || !isMask(position)) || !0 !== newBlock && !isMask(position)); ) ; + return position; + } + function seekPrevious(pos, newBlock) { + var tests, position = pos; + if (position <= 0) return 0; + for (;--position > 0 && (!0 === newBlock && !0 !== getTest(position).match.newBlockMarker || !0 !== newBlock && !isMask(position) && ((tests = getTests(position)).length < 2 || 2 === tests.length && "" === tests[1].match.def)); ) ; + return position; + } + function getBufferElement(position) { + return getMaskSet().validPositions[position] === undefined ? getPlaceholder(position) : getMaskSet().validPositions[position].input; + } + function writeBuffer(input, buffer, caretPos, event, triggerInputEvent) { + if (event && $.isFunction(opts.onBeforeWrite)) { + var result = opts.onBeforeWrite.call(inputmask, event, buffer, caretPos, opts); + if (result) { + if (result.refreshFromBuffer) { + var refresh = result.refreshFromBuffer; + refreshFromBuffer(!0 === refresh ? refresh : refresh.start, refresh.end, result.buffer || buffer), + buffer = getBuffer(!0); + } + caretPos !== undefined && (caretPos = result.caret !== undefined ? result.caret : caretPos); + } + } + input !== undefined && (input.inputmask._valueSet(buffer.join("")), caretPos === undefined || event !== undefined && "blur" === event.type ? renderColorMask(input, caretPos, 0 === buffer.length) : android && event && "input" === event.type ? setTimeout(function() { + caret(input, caretPos); + }, 0) : caret(input, caretPos), !0 === triggerInputEvent && (skipInputEvent = !0, + $(input).trigger("input"))); + } + function getPlaceholder(pos, test, returnPL) { + if ((test = test || getTest(pos).match).placeholder !== undefined || !0 === returnPL) return $.isFunction(test.placeholder) ? test.placeholder(opts) : test.placeholder; + if (null === test.fn) { + if (pos > -1 && getMaskSet().validPositions[pos] === undefined) { + var prevTest, tests = getTests(pos), staticAlternations = []; + if (tests.length > 1 + ("" === tests[tests.length - 1].match.def ? 1 : 0)) for (var i = 0; i < tests.length; i++) if (!0 !== tests[i].match.optionality && !0 !== tests[i].match.optionalQuantifier && (null === tests[i].match.fn || prevTest === undefined || !1 !== tests[i].match.fn.test(prevTest.match.def, getMaskSet(), pos, !0, opts)) && (staticAlternations.push(tests[i]), + null === tests[i].match.fn && (prevTest = tests[i]), staticAlternations.length > 1 && /[0-9a-bA-Z]/.test(staticAlternations[0].match.def))) return opts.placeholder.charAt(pos % opts.placeholder.length); + } + return test.def; + } + return opts.placeholder.charAt(pos % opts.placeholder.length); + } + function checkVal(input, writeOut, strict, nptvl, initiatingEvent) { + function isTemplateMatch(ndx, charCodes) { + return -1 !== getBufferTemplate().slice(ndx, seekNext(ndx)).join("").indexOf(charCodes) && !isMask(ndx) && getTest(ndx).match.nativeDef === charCodes.charAt(charCodes.length - 1); + } + var inputValue = nptvl.slice(), charCodes = "", initialNdx = -1, result = undefined; + if (resetMaskSet(), strict || !0 === opts.autoUnmask) initialNdx = seekNext(initialNdx); else { + var staticInput = getBufferTemplate().slice(0, seekNext(-1)).join(""), matches = inputValue.join("").match(new RegExp("^" + Inputmask.escapeRegex(staticInput), "g")); + matches && matches.length > 0 && (inputValue.splice(0, matches.length * staticInput.length), + initialNdx = seekNext(initialNdx)); + } + if (-1 === initialNdx ? (getMaskSet().p = seekNext(initialNdx), initialNdx = 0) : getMaskSet().p = initialNdx, + $.each(inputValue, function(ndx, charCode) { + if (charCode !== undefined) if (getMaskSet().validPositions[ndx] === undefined && inputValue[ndx] === getPlaceholder(ndx) && isMask(ndx, !0) && !1 === isValid(ndx, inputValue[ndx], !0, undefined, undefined, !0)) getMaskSet().p++; else { + var keypress = new $.Event("_checkval"); + keypress.which = charCode.charCodeAt(0), charCodes += charCode; + var lvp = getLastValidPosition(undefined, !0), lvTest = getMaskSet().validPositions[lvp], nextTest = getTestTemplate(lvp + 1, lvTest ? lvTest.locator.slice() : undefined, lvp); + if (!isTemplateMatch(initialNdx, charCodes) || strict || opts.autoUnmask) { + var pos = strict ? ndx : null == nextTest.match.fn && nextTest.match.optionality && lvp + 1 < getMaskSet().p ? lvp + 1 : getMaskSet().p; + result = EventHandlers.keypressEvent.call(input, keypress, !0, !1, strict, pos), + initialNdx = pos + 1, charCodes = ""; + } else result = EventHandlers.keypressEvent.call(input, keypress, !0, !1, !0, lvp + 1); + if (!1 !== result && !strict && $.isFunction(opts.onBeforeWrite)) { + var origResult = result; + if (result = opts.onBeforeWrite.call(inputmask, keypress, getBuffer(), result.forwardPosition, opts), + (result = $.extend(origResult, result)) && result.refreshFromBuffer) { + var refresh = result.refreshFromBuffer; + refreshFromBuffer(!0 === refresh ? refresh : refresh.start, refresh.end, result.buffer), + resetMaskSet(!0), result.caret && (getMaskSet().p = result.caret, result.forwardPosition = result.caret); + } + } + } + }), writeOut) { + var caretPos = undefined; + document.activeElement === input && result && (caretPos = opts.numericInput ? seekPrevious(result.forwardPosition) : result.forwardPosition), + writeBuffer(input, getBuffer(), caretPos, initiatingEvent || new $.Event("checkval"), initiatingEvent && "input" === initiatingEvent.type); + } + } + function unmaskedvalue(input) { + if (input) { + if (input.inputmask === undefined) return input.value; + input.inputmask && input.inputmask.refreshValue && EventHandlers.setValueEvent.call(input); + } + var umValue = [], vps = getMaskSet().validPositions; + for (var pndx in vps) vps[pndx].match && null != vps[pndx].match.fn && umValue.push(vps[pndx].input); + var unmaskedValue = 0 === umValue.length ? "" : (isRTL ? umValue.reverse() : umValue).join(""); + if ($.isFunction(opts.onUnMask)) { + var bufferValue = (isRTL ? getBuffer().slice().reverse() : getBuffer()).join(""); + unmaskedValue = opts.onUnMask.call(inputmask, bufferValue, unmaskedValue, opts); + } + return unmaskedValue; + } + function caret(input, begin, end, notranslate) { + function translatePosition(pos) { + return !0 === notranslate || !isRTL || "number" != typeof pos || opts.greedy && "" === opts.placeholder || (pos = getBuffer().join("").length - pos), + pos; + } + var range; + if (begin === undefined) return input.setSelectionRange ? (begin = input.selectionStart, + end = input.selectionEnd) : window.getSelection ? (range = window.getSelection().getRangeAt(0)).commonAncestorContainer.parentNode !== input && range.commonAncestorContainer !== input || (begin = range.startOffset, + end = range.endOffset) : document.selection && document.selection.createRange && (end = (begin = 0 - (range = document.selection.createRange()).duplicate().moveStart("character", -input.inputmask._valueGet().length)) + range.text.length), + { + begin: translatePosition(begin), + end: translatePosition(end) + }; + if (begin.begin !== undefined && (end = begin.end, begin = begin.begin), "number" == typeof begin) { + begin = translatePosition(begin), end = "number" == typeof (end = translatePosition(end)) ? end : begin; + var scrollCalc = parseInt(((input.ownerDocument.defaultView || window).getComputedStyle ? (input.ownerDocument.defaultView || window).getComputedStyle(input, null) : input.currentStyle).fontSize) * end; + if (input.scrollLeft = scrollCalc > input.scrollWidth ? scrollCalc : 0, mobile || !1 !== opts.insertMode || begin !== end || end++, + input.setSelectionRange) input.selectionStart = begin, input.selectionEnd = end; else if (window.getSelection) { + if (range = document.createRange(), input.firstChild === undefined || null === input.firstChild) { + var textNode = document.createTextNode(""); + input.appendChild(textNode); + } + range.setStart(input.firstChild, begin < input.inputmask._valueGet().length ? begin : input.inputmask._valueGet().length), + range.setEnd(input.firstChild, end < input.inputmask._valueGet().length ? end : input.inputmask._valueGet().length), + range.collapse(!0); + var sel = window.getSelection(); + sel.removeAllRanges(), sel.addRange(range); + } else input.createTextRange && ((range = input.createTextRange()).collapse(!0), + range.moveEnd("character", end), range.moveStart("character", begin), range.select()); + renderColorMask(input, { + begin: begin, + end: end + }); + } + } + function determineLastRequiredPosition(returnDefinition) { + var pos, testPos, buffer = getBuffer(), bl = buffer.length, lvp = getLastValidPosition(), positions = {}, lvTest = getMaskSet().validPositions[lvp], ndxIntlzr = lvTest !== undefined ? lvTest.locator.slice() : undefined; + for (pos = lvp + 1; pos < buffer.length; pos++) ndxIntlzr = (testPos = getTestTemplate(pos, ndxIntlzr, pos - 1)).locator.slice(), + positions[pos] = $.extend(!0, {}, testPos); + var lvTestAlt = lvTest && lvTest.alternation !== undefined ? lvTest.locator[lvTest.alternation] : undefined; + for (pos = bl - 1; pos > lvp && (((testPos = positions[pos]).match.optionality || testPos.match.optionalQuantifier && testPos.match.newBlockMarker || lvTestAlt && (lvTestAlt !== positions[pos].locator[lvTest.alternation] && null != testPos.match.fn || null === testPos.match.fn && testPos.locator[lvTest.alternation] && checkAlternationMatch(testPos.locator[lvTest.alternation].toString().split(","), lvTestAlt.toString().split(",")) && "" !== getTests(pos)[0].def)) && buffer[pos] === getPlaceholder(pos, testPos.match)); pos--) bl--; + return returnDefinition ? { + l: bl, + def: positions[bl] ? positions[bl].match : undefined + } : bl; + } + function clearOptionalTail(buffer) { + for (var validPos, rl = determineLastRequiredPosition(), bl = buffer.length, lv = getMaskSet().validPositions[getLastValidPosition()]; rl < bl && !isMask(rl, !0) && (validPos = lv !== undefined ? getTestTemplate(rl, lv.locator.slice(""), lv) : getTest(rl)) && !0 !== validPos.match.optionality && (!0 !== validPos.match.optionalQuantifier && !0 !== validPos.match.newBlockMarker || rl + 1 === bl && "" === (lv !== undefined ? getTestTemplate(rl + 1, lv.locator.slice(""), lv) : getTest(rl + 1)).match.def); ) rl++; + for (;(validPos = getMaskSet().validPositions[rl - 1]) && validPos && validPos.match.optionality && validPos.input === opts.skipOptionalPartCharacter; ) rl--; + return buffer.splice(rl), buffer; + } + function isComplete(buffer) { + if ($.isFunction(opts.isComplete)) return opts.isComplete(buffer, opts); + if ("*" === opts.repeat) return undefined; + var complete = !1, lrp = determineLastRequiredPosition(!0), aml = seekPrevious(lrp.l); + if (lrp.def === undefined || lrp.def.newBlockMarker || lrp.def.optionality || lrp.def.optionalQuantifier) { + complete = !0; + for (var i = 0; i <= aml; i++) { + var test = getTestTemplate(i).match; + if (null !== test.fn && getMaskSet().validPositions[i] === undefined && !0 !== test.optionality && !0 !== test.optionalQuantifier || null === test.fn && buffer[i] !== getPlaceholder(i, test)) { + complete = !1; + break; + } + } + } + return complete; + } + function handleRemove(input, k, pos, strict, fromIsValid) { + if ((opts.numericInput || isRTL) && (k === Inputmask.keyCode.BACKSPACE ? k = Inputmask.keyCode.DELETE : k === Inputmask.keyCode.DELETE && (k = Inputmask.keyCode.BACKSPACE), + isRTL)) { + var pend = pos.end; + pos.end = pos.begin, pos.begin = pend; + } + k === Inputmask.keyCode.BACKSPACE && (pos.end - pos.begin < 1 || !1 === opts.insertMode) ? (pos.begin = seekPrevious(pos.begin), + getMaskSet().validPositions[pos.begin] !== undefined && getMaskSet().validPositions[pos.begin].input === opts.groupSeparator && pos.begin--) : k === Inputmask.keyCode.DELETE && pos.begin === pos.end && (pos.end = isMask(pos.end, !0) && getMaskSet().validPositions[pos.end] && getMaskSet().validPositions[pos.end].input !== opts.radixPoint ? pos.end + 1 : seekNext(pos.end) + 1, + getMaskSet().validPositions[pos.begin] !== undefined && getMaskSet().validPositions[pos.begin].input === opts.groupSeparator && pos.end++), + stripValidPositions(pos.begin, pos.end, !1, strict), !0 !== strict && function() { + if (opts.keepStatic) { + for (var validInputs = [], lastAlt = getLastValidPosition(-1, !0), positionsClone = $.extend(!0, {}, getMaskSet().validPositions), prevAltPos = getMaskSet().validPositions[lastAlt]; lastAlt >= 0; lastAlt--) { + var altPos = getMaskSet().validPositions[lastAlt]; + if (altPos) { + if (!0 !== altPos.generatedInput && /[0-9a-bA-Z]/.test(altPos.input) && validInputs.push(altPos.input), + delete getMaskSet().validPositions[lastAlt], altPos.alternation !== undefined && altPos.locator[altPos.alternation] !== prevAltPos.locator[altPos.alternation]) break; + prevAltPos = altPos; + } + } + if (lastAlt > -1) for (getMaskSet().p = seekNext(getLastValidPosition(-1, !0)); validInputs.length > 0; ) { + var keypress = new $.Event("keypress"); + keypress.which = validInputs.pop().charCodeAt(0), EventHandlers.keypressEvent.call(input, keypress, !0, !1, !1, getMaskSet().p); + } else getMaskSet().validPositions = $.extend(!0, {}, positionsClone); + } + }(); + var lvp = getLastValidPosition(pos.begin, !0); + if (lvp < pos.begin) getMaskSet().p = seekNext(lvp); else if (!0 !== strict && (getMaskSet().p = pos.begin, + !0 !== fromIsValid)) for (;getMaskSet().p < lvp && getMaskSet().validPositions[getMaskSet().p] === undefined; ) getMaskSet().p++; + } + function initializeColorMask(input) { + function findCaretPos(clientx) { + var caretPos, e = document.createElement("span"); + for (var style in computedStyle) isNaN(style) && -1 !== style.indexOf("font") && (e.style[style] = computedStyle[style]); + e.style.textTransform = computedStyle.textTransform, e.style.letterSpacing = computedStyle.letterSpacing, + e.style.position = "absolute", e.style.height = "auto", e.style.width = "auto", + e.style.visibility = "hidden", e.style.whiteSpace = "nowrap", document.body.appendChild(e); + var itl, inputText = input.inputmask._valueGet(), previousWidth = 0; + for (caretPos = 0, itl = inputText.length; caretPos <= itl; caretPos++) { + if (e.innerHTML += inputText.charAt(caretPos) || "_", e.offsetWidth >= clientx) { + var offset1 = clientx - previousWidth, offset2 = e.offsetWidth - clientx; + e.innerHTML = inputText.charAt(caretPos), caretPos = (offset1 -= e.offsetWidth / 3) < offset2 ? caretPos - 1 : caretPos; + break; + } + previousWidth = e.offsetWidth; + } + return document.body.removeChild(e), caretPos; + } + var computedStyle = (input.ownerDocument.defaultView || window).getComputedStyle(input, null), template = document.createElement("div"); + template.style.width = computedStyle.width, template.style.textAlign = computedStyle.textAlign, + (colorMask = document.createElement("div")).className = "im-colormask", input.parentNode.insertBefore(colorMask, input), + input.parentNode.removeChild(input), colorMask.appendChild(template), colorMask.appendChild(input), + input.style.left = template.offsetLeft + "px", $(input).on("click", function(e) { + return caret(input, findCaretPos(e.clientX)), EventHandlers.clickEvent.call(input, [ e ]); + }), $(input).on("keydown", function(e) { + e.shiftKey || !1 === opts.insertMode || setTimeout(function() { + renderColorMask(input); + }, 0); + }); + } + function renderColorMask(input, caretPos, clear) { + function handleStatic() { + isStatic || null !== test.fn && testPos.input !== undefined ? isStatic && (null !== test.fn && testPos.input !== undefined || "" === test.def) && (isStatic = !1, + maskTemplate += "</span>") : (isStatic = !0, maskTemplate += "<span class='im-static'>"); + } + function handleCaret(force) { + !0 !== force && pos !== caretPos.begin || document.activeElement !== input || (maskTemplate += "<span class='im-caret' style='border-right-width: 1px;border-right-style: solid;'></span>"); + } + var test, testPos, ndxIntlzr, maskTemplate = "", isStatic = !1, pos = 0; + if (colorMask !== undefined) { + var buffer = getBuffer(); + if (caretPos === undefined ? caretPos = caret(input) : caretPos.begin === undefined && (caretPos = { + begin: caretPos, + end: caretPos + }), !0 !== clear) { + var lvp = getLastValidPosition(); + do { + handleCaret(), getMaskSet().validPositions[pos] ? (testPos = getMaskSet().validPositions[pos], + test = testPos.match, ndxIntlzr = testPos.locator.slice(), handleStatic(), maskTemplate += buffer[pos]) : (testPos = getTestTemplate(pos, ndxIntlzr, pos - 1), + test = testPos.match, ndxIntlzr = testPos.locator.slice(), (!1 === opts.jitMasking || pos < lvp || "number" == typeof opts.jitMasking && isFinite(opts.jitMasking) && opts.jitMasking > pos) && (handleStatic(), + maskTemplate += getPlaceholder(pos, test))), pos++; + } while ((maxLength === undefined || pos < maxLength) && (null !== test.fn || "" !== test.def) || lvp > pos || isStatic); + -1 === maskTemplate.indexOf("im-caret") && handleCaret(!0), isStatic && handleStatic(); + } + var template = colorMask.getElementsByTagName("div")[0]; + template.innerHTML = maskTemplate, input.inputmask.positionColorMask(input, template); + } + } + maskset = maskset || this.maskset, opts = opts || this.opts; + var undoValue, $el, maxLength, colorMask, inputmask = this, el = this.el, isRTL = this.isRTL, skipKeyPressEvent = !1, skipInputEvent = !1, ignorable = !1, mouseEnter = !1, EventRuler = { + on: function(input, eventName, eventHandler) { + var ev = function(e) { + if (this.inputmask === undefined && "FORM" !== this.nodeName) { + var imOpts = $.data(this, "_inputmask_opts"); + imOpts ? new Inputmask(imOpts).mask(this) : EventRuler.off(this); + } else { + if ("setvalue" === e.type || "FORM" === this.nodeName || !(this.disabled || this.readOnly && !("keydown" === e.type && e.ctrlKey && 67 === e.keyCode || !1 === opts.tabThrough && e.keyCode === Inputmask.keyCode.TAB))) { + switch (e.type) { + case "input": + if (!0 === skipInputEvent) return skipInputEvent = !1, e.preventDefault(); + break; + + case "keydown": + skipKeyPressEvent = !1, skipInputEvent = !1; + break; + + case "keypress": + if (!0 === skipKeyPressEvent) return e.preventDefault(); + skipKeyPressEvent = !0; + break; + + case "click": + if (iemobile || iphone) { + var that = this, args = arguments; + return setTimeout(function() { + eventHandler.apply(that, args); + }, 0), !1; + } + } + var returnVal = eventHandler.apply(this, arguments); + return !1 === returnVal && (e.preventDefault(), e.stopPropagation()), returnVal; + } + e.preventDefault(); + } + }; + input.inputmask.events[eventName] = input.inputmask.events[eventName] || [], input.inputmask.events[eventName].push(ev), + -1 !== $.inArray(eventName, [ "submit", "reset" ]) ? null !== input.form && $(input.form).on(eventName, ev) : $(input).on(eventName, ev); + }, + off: function(input, event) { + if (input.inputmask && input.inputmask.events) { + var events; + event ? (events = [])[event] = input.inputmask.events[event] : events = input.inputmask.events, + $.each(events, function(eventName, evArr) { + for (;evArr.length > 0; ) { + var ev = evArr.pop(); + -1 !== $.inArray(eventName, [ "submit", "reset" ]) ? null !== input.form && $(input.form).off(eventName, ev) : $(input).off(eventName, ev); + } + delete input.inputmask.events[eventName]; + }); + } + } + }, EventHandlers = { + keydownEvent: function(e) { + var input = this, $input = $(input), k = e.keyCode, pos = caret(input); + if (k === Inputmask.keyCode.BACKSPACE || k === Inputmask.keyCode.DELETE || iphone && k === Inputmask.keyCode.BACKSPACE_SAFARI || e.ctrlKey && k === Inputmask.keyCode.X && !function(eventName) { + var el = document.createElement("input"), evName = "on" + eventName, isSupported = evName in el; + return isSupported || (el.setAttribute(evName, "return;"), isSupported = "function" == typeof el[evName]), + el = null, isSupported; + }("cut")) e.preventDefault(), handleRemove(input, k, pos), writeBuffer(input, getBuffer(!0), getMaskSet().p, e, input.inputmask._valueGet() !== getBuffer().join("")), + input.inputmask._valueGet() === getBufferTemplate().join("") ? $input.trigger("cleared") : !0 === isComplete(getBuffer()) && $input.trigger("complete"); else if (k === Inputmask.keyCode.END || k === Inputmask.keyCode.PAGE_DOWN) { + e.preventDefault(); + var caretPos = seekNext(getLastValidPosition()); + opts.insertMode || caretPos !== getMaskSet().maskLength || e.shiftKey || caretPos--, + caret(input, e.shiftKey ? pos.begin : caretPos, caretPos, !0); + } else k === Inputmask.keyCode.HOME && !e.shiftKey || k === Inputmask.keyCode.PAGE_UP ? (e.preventDefault(), + caret(input, 0, e.shiftKey ? pos.begin : 0, !0)) : (opts.undoOnEscape && k === Inputmask.keyCode.ESCAPE || 90 === k && e.ctrlKey) && !0 !== e.altKey ? (checkVal(input, !0, !1, undoValue.split("")), + $input.trigger("click")) : k !== Inputmask.keyCode.INSERT || e.shiftKey || e.ctrlKey ? !0 === opts.tabThrough && k === Inputmask.keyCode.TAB ? (!0 === e.shiftKey ? (null === getTest(pos.begin).match.fn && (pos.begin = seekNext(pos.begin)), + pos.end = seekPrevious(pos.begin, !0), pos.begin = seekPrevious(pos.end, !0)) : (pos.begin = seekNext(pos.begin, !0), + pos.end = seekNext(pos.begin, !0), pos.end < getMaskSet().maskLength && pos.end--), + pos.begin < getMaskSet().maskLength && (e.preventDefault(), caret(input, pos.begin, pos.end))) : e.shiftKey || !1 === opts.insertMode && (k === Inputmask.keyCode.RIGHT ? setTimeout(function() { + var caretPos = caret(input); + caret(input, caretPos.begin); + }, 0) : k === Inputmask.keyCode.LEFT && setTimeout(function() { + var caretPos = caret(input); + caret(input, isRTL ? caretPos.begin + 1 : caretPos.begin - 1); + }, 0)) : (opts.insertMode = !opts.insertMode, caret(input, opts.insertMode || pos.begin !== getMaskSet().maskLength ? pos.begin : pos.begin - 1)); + opts.onKeyDown.call(this, e, getBuffer(), caret(input).begin, opts), ignorable = -1 !== $.inArray(k, opts.ignorables); + }, + keypressEvent: function(e, checkval, writeOut, strict, ndx) { + var input = this, $input = $(input), k = e.which || e.charCode || e.keyCode; + if (!(!0 === checkval || e.ctrlKey && e.altKey) && (e.ctrlKey || e.metaKey || ignorable)) return k === Inputmask.keyCode.ENTER && undoValue !== getBuffer().join("") && (undoValue = getBuffer().join(""), + setTimeout(function() { + $input.trigger("change"); + }, 0)), !0; + if (k) { + 46 === k && !1 === e.shiftKey && "" !== opts.radixPoint && (k = opts.radixPoint.charCodeAt(0)); + var forwardPosition, pos = checkval ? { + begin: ndx, + end: ndx + } : caret(input), c = String.fromCharCode(k); + getMaskSet().writeOutBuffer = !0; + var valResult = isValid(pos, c, strict); + if (!1 !== valResult && (resetMaskSet(!0), forwardPosition = valResult.caret !== undefined ? valResult.caret : checkval ? valResult.pos + 1 : seekNext(valResult.pos), + getMaskSet().p = forwardPosition), !1 !== writeOut && (setTimeout(function() { + opts.onKeyValidation.call(input, k, valResult, opts); + }, 0), getMaskSet().writeOutBuffer && !1 !== valResult)) { + var buffer = getBuffer(); + writeBuffer(input, buffer, opts.numericInput && valResult.caret === undefined ? seekPrevious(forwardPosition) : forwardPosition, e, !0 !== checkval), + !0 !== checkval && setTimeout(function() { + !0 === isComplete(buffer) && $input.trigger("complete"); + }, 0); + } + if (e.preventDefault(), checkval) return !1 !== valResult && (valResult.forwardPosition = forwardPosition), + valResult; + } + }, + pasteEvent: function(e) { + var tempValue, input = this, ev = e.originalEvent || e, $input = $(input), inputValue = input.inputmask._valueGet(!0), caretPos = caret(input); + isRTL && (tempValue = caretPos.end, caretPos.end = caretPos.begin, caretPos.begin = tempValue); + var valueBeforeCaret = inputValue.substr(0, caretPos.begin), valueAfterCaret = inputValue.substr(caretPos.end, inputValue.length); + if (valueBeforeCaret === (isRTL ? getBufferTemplate().reverse() : getBufferTemplate()).slice(0, caretPos.begin).join("") && (valueBeforeCaret = ""), + valueAfterCaret === (isRTL ? getBufferTemplate().reverse() : getBufferTemplate()).slice(caretPos.end).join("") && (valueAfterCaret = ""), + isRTL && (tempValue = valueBeforeCaret, valueBeforeCaret = valueAfterCaret, valueAfterCaret = tempValue), + window.clipboardData && window.clipboardData.getData) inputValue = valueBeforeCaret + window.clipboardData.getData("Text") + valueAfterCaret; else { + if (!ev.clipboardData || !ev.clipboardData.getData) return !0; + inputValue = valueBeforeCaret + ev.clipboardData.getData("text/plain") + valueAfterCaret; + } + var pasteValue = inputValue; + if ($.isFunction(opts.onBeforePaste)) { + if (!1 === (pasteValue = opts.onBeforePaste.call(inputmask, inputValue, opts))) return e.preventDefault(); + pasteValue || (pasteValue = inputValue); + } + return checkVal(input, !1, !1, isRTL ? pasteValue.split("").reverse() : pasteValue.toString().split("")), + writeBuffer(input, getBuffer(), seekNext(getLastValidPosition()), e, undoValue !== getBuffer().join("")), + !0 === isComplete(getBuffer()) && $input.trigger("complete"), e.preventDefault(); + }, + inputFallBackEvent: function(e) { + var input = this, inputValue = input.inputmask._valueGet(); + if (getBuffer().join("") !== inputValue) { + var caretPos = caret(input); + if (!1 === function(input, inputValue, caretPos) { + if ("." === inputValue.charAt(caretPos.begin - 1) && "" !== opts.radixPoint && ((inputValue = inputValue.split(""))[caretPos.begin - 1] = opts.radixPoint.charAt(0), + inputValue = inputValue.join("")), inputValue.charAt(caretPos.begin - 1) === opts.radixPoint && inputValue.length > getBuffer().length) { + var keypress = new $.Event("keypress"); + return keypress.which = opts.radixPoint.charCodeAt(0), EventHandlers.keypressEvent.call(input, keypress, !0, !0, !1, caretPos.begin - 1), + !1; + } + }(input, inputValue, caretPos)) return !1; + if (inputValue = inputValue.replace(new RegExp("(" + Inputmask.escapeRegex(getBufferTemplate().join("")) + ")*"), ""), + !1 === function(input, inputValue, caretPos) { + if (iemobile) { + var inputChar = inputValue.replace(getBuffer().join(""), ""); + if (1 === inputChar.length) { + var keypress = new $.Event("keypress"); + return keypress.which = inputChar.charCodeAt(0), EventHandlers.keypressEvent.call(input, keypress, !0, !0, !1, getMaskSet().validPositions[caretPos.begin - 1] ? caretPos.begin : caretPos.begin - 1), + !1; + } + } + }(input, inputValue, caretPos)) return !1; + caretPos.begin > inputValue.length && (caret(input, inputValue.length), caretPos = caret(input)); + var buffer = getBuffer().join(""), frontPart = inputValue.substr(0, caretPos.begin), backPart = inputValue.substr(caretPos.begin), frontBufferPart = buffer.substr(0, caretPos.begin), backBufferPart = buffer.substr(caretPos.begin), selection = caretPos, entries = "", isEntry = !1; + if (frontPart !== frontBufferPart) { + selection.begin = 0; + for (var fpl = (isEntry = frontPart.length >= frontBufferPart.length) ? frontPart.length : frontBufferPart.length, i = 0; frontPart.charAt(i) === frontBufferPart.charAt(i) && i < fpl; i++) selection.begin++; + isEntry && (entries += frontPart.slice(selection.begin, selection.end)); + } + backPart !== backBufferPart && (backPart.length > backBufferPart.length ? isEntry && (selection.end = selection.begin) : backPart.length < backBufferPart.length ? selection.end += backBufferPart.length - backPart.length : backPart.charAt(0) !== backBufferPart.charAt(0) && selection.end++), + writeBuffer(input, getBuffer(), selection), entries.length > 0 ? $.each(entries.split(""), function(ndx, entry) { + var keypress = new $.Event("keypress"); + keypress.which = entry.charCodeAt(0), ignorable = !1, EventHandlers.keypressEvent.call(input, keypress); + }) : (selection.begin === selection.end - 1 && caret(input, seekPrevious(selection.begin + 1), selection.end), + e.keyCode = Inputmask.keyCode.DELETE, EventHandlers.keydownEvent.call(input, e)), + e.preventDefault(); + } + }, + setValueEvent: function(e) { + this.inputmask.refreshValue = !1; + var input = this, value = input.inputmask._valueGet(!0); + $.isFunction(opts.onBeforeMask) && (value = opts.onBeforeMask.call(inputmask, value, opts) || value), + value = value.split(""), checkVal(input, !0, !1, isRTL ? value.reverse() : value), + undoValue = getBuffer().join(""), (opts.clearMaskOnLostFocus || opts.clearIncomplete) && input.inputmask._valueGet() === getBufferTemplate().join("") && input.inputmask._valueSet(""); + }, + focusEvent: function(e) { + var input = this, nptValue = input.inputmask._valueGet(); + opts.showMaskOnFocus && (!opts.showMaskOnHover || opts.showMaskOnHover && "" === nptValue) && (input.inputmask._valueGet() !== getBuffer().join("") ? writeBuffer(input, getBuffer(), seekNext(getLastValidPosition())) : !1 === mouseEnter && caret(input, seekNext(getLastValidPosition()))), + !0 === opts.positionCaretOnTab && !1 === mouseEnter && "" !== nptValue && (writeBuffer(input, getBuffer(), caret(input)), + EventHandlers.clickEvent.apply(input, [ e, !0 ])), undoValue = getBuffer().join(""); + }, + mouseleaveEvent: function(e) { + var input = this; + if (mouseEnter = !1, opts.clearMaskOnLostFocus && document.activeElement !== input) { + var buffer = getBuffer().slice(), nptValue = input.inputmask._valueGet(); + nptValue !== input.getAttribute("placeholder") && "" !== nptValue && (-1 === getLastValidPosition() && nptValue === getBufferTemplate().join("") ? buffer = [] : clearOptionalTail(buffer), + writeBuffer(input, buffer)); + } + }, + clickEvent: function(e, tabbed) { + function doRadixFocus(clickPos) { + if ("" !== opts.radixPoint) { + var vps = getMaskSet().validPositions; + if (vps[clickPos] === undefined || vps[clickPos].input === getPlaceholder(clickPos)) { + if (clickPos < seekNext(-1)) return !0; + var radixPos = $.inArray(opts.radixPoint, getBuffer()); + if (-1 !== radixPos) { + for (var vp in vps) if (radixPos < vp && vps[vp].input !== getPlaceholder(vp)) return !1; + return !0; + } + } + } + return !1; + } + var input = this; + setTimeout(function() { + if (document.activeElement === input) { + var selectedCaret = caret(input); + if (tabbed && (isRTL ? selectedCaret.end = selectedCaret.begin : selectedCaret.begin = selectedCaret.end), + selectedCaret.begin === selectedCaret.end) switch (opts.positionCaretOnClick) { + case "none": + break; + + case "radixFocus": + if (doRadixFocus(selectedCaret.begin)) { + var radixPos = getBuffer().join("").indexOf(opts.radixPoint); + caret(input, opts.numericInput ? seekNext(radixPos) : radixPos); + break; + } + + default: + var clickPosition = selectedCaret.begin, lvclickPosition = getLastValidPosition(clickPosition, !0), lastPosition = seekNext(lvclickPosition); + if (clickPosition < lastPosition) caret(input, isMask(clickPosition, !0) || isMask(clickPosition - 1, !0) ? clickPosition : seekNext(clickPosition)); else { + var lvp = getMaskSet().validPositions[lvclickPosition], tt = getTestTemplate(lastPosition, lvp ? lvp.match.locator : undefined, lvp), placeholder = getPlaceholder(lastPosition, tt.match); + if ("" !== placeholder && getBuffer()[lastPosition] !== placeholder && !0 !== tt.match.optionalQuantifier && !0 !== tt.match.newBlockMarker || !isMask(lastPosition, !0) && tt.match.def === placeholder) { + var newPos = seekNext(lastPosition); + (clickPosition >= newPos || clickPosition === lastPosition) && (lastPosition = newPos); + } + caret(input, lastPosition); + } + } + } + }, 0); + }, + dblclickEvent: function(e) { + var input = this; + setTimeout(function() { + caret(input, 0, seekNext(getLastValidPosition())); + }, 0); + }, + cutEvent: function(e) { + var input = this, $input = $(input), pos = caret(input), ev = e.originalEvent || e, clipboardData = window.clipboardData || ev.clipboardData, clipData = isRTL ? getBuffer().slice(pos.end, pos.begin) : getBuffer().slice(pos.begin, pos.end); + clipboardData.setData("text", isRTL ? clipData.reverse().join("") : clipData.join("")), + document.execCommand && document.execCommand("copy"), handleRemove(input, Inputmask.keyCode.DELETE, pos), + writeBuffer(input, getBuffer(), getMaskSet().p, e, undoValue !== getBuffer().join("")), + input.inputmask._valueGet() === getBufferTemplate().join("") && $input.trigger("cleared"); + }, + blurEvent: function(e) { + var $input = $(this), input = this; + if (input.inputmask) { + var nptValue = input.inputmask._valueGet(), buffer = getBuffer().slice(); + "" !== nptValue && (opts.clearMaskOnLostFocus && (-1 === getLastValidPosition() && nptValue === getBufferTemplate().join("") ? buffer = [] : clearOptionalTail(buffer)), + !1 === isComplete(buffer) && (setTimeout(function() { + $input.trigger("incomplete"); + }, 0), opts.clearIncomplete && (resetMaskSet(), buffer = opts.clearMaskOnLostFocus ? [] : getBufferTemplate().slice())), + writeBuffer(input, buffer, undefined, e)), undoValue !== getBuffer().join("") && (undoValue = buffer.join(""), + $input.trigger("change")); + } + }, + mouseenterEvent: function(e) { + var input = this; + mouseEnter = !0, document.activeElement !== input && opts.showMaskOnHover && input.inputmask._valueGet() !== getBuffer().join("") && writeBuffer(input, getBuffer()); + }, + submitEvent: function(e) { + undoValue !== getBuffer().join("") && $el.trigger("change"), opts.clearMaskOnLostFocus && -1 === getLastValidPosition() && el.inputmask._valueGet && el.inputmask._valueGet() === getBufferTemplate().join("") && el.inputmask._valueSet(""), + opts.removeMaskOnSubmit && (el.inputmask._valueSet(el.inputmask.unmaskedvalue(), !0), + setTimeout(function() { + writeBuffer(el, getBuffer()); + }, 0)); + }, + resetEvent: function(e) { + el.inputmask.refreshValue = !0, setTimeout(function() { + $el.trigger("setvalue"); + }, 0); + } + }; + Inputmask.prototype.positionColorMask = function(input, template) { + input.style.left = template.offsetLeft + "px"; + }; + var valueBuffer; + if (actionObj !== undefined) switch (actionObj.action) { + case "isComplete": + return el = actionObj.el, isComplete(getBuffer()); + + case "unmaskedvalue": + return el !== undefined && actionObj.value === undefined || (valueBuffer = actionObj.value, + valueBuffer = ($.isFunction(opts.onBeforeMask) ? opts.onBeforeMask.call(inputmask, valueBuffer, opts) || valueBuffer : valueBuffer).split(""), + checkVal(undefined, !1, !1, isRTL ? valueBuffer.reverse() : valueBuffer), $.isFunction(opts.onBeforeWrite) && opts.onBeforeWrite.call(inputmask, undefined, getBuffer(), 0, opts)), + unmaskedvalue(el); + + case "mask": + !function(elem) { + EventRuler.off(elem); + var isSupported = function(input, opts) { + var elementType = input.getAttribute("type"), isSupported = "INPUT" === input.tagName && -1 !== $.inArray(elementType, opts.supportsInputType) || input.isContentEditable || "TEXTAREA" === input.tagName; + if (!isSupported) if ("INPUT" === input.tagName) { + var el = document.createElement("input"); + el.setAttribute("type", elementType), isSupported = "text" === el.type, el = null; + } else isSupported = "partial"; + return !1 !== isSupported ? function(npt) { + function getter() { + return this.inputmask ? this.inputmask.opts.autoUnmask ? this.inputmask.unmaskedvalue() : -1 !== getLastValidPosition() || !0 !== opts.nullable ? document.activeElement === this && opts.clearMaskOnLostFocus ? (isRTL ? clearOptionalTail(getBuffer().slice()).reverse() : clearOptionalTail(getBuffer().slice())).join("") : valueGet.call(this) : "" : valueGet.call(this); + } + function setter(value) { + valueSet.call(this, value), this.inputmask && $(this).trigger("setvalue"); + } + var valueGet, valueSet; + if (!npt.inputmask.__valueGet) { + if (!0 !== opts.noValuePatching) { + if (Object.getOwnPropertyDescriptor) { + "function" != typeof Object.getPrototypeOf && (Object.getPrototypeOf = "object" === _typeof("test".__proto__) ? function(object) { + return object.__proto__; + } : function(object) { + return object.constructor.prototype; + }); + var valueProperty = Object.getPrototypeOf ? Object.getOwnPropertyDescriptor(Object.getPrototypeOf(npt), "value") : undefined; + valueProperty && valueProperty.get && valueProperty.set ? (valueGet = valueProperty.get, + valueSet = valueProperty.set, Object.defineProperty(npt, "value", { + get: getter, + set: setter, + configurable: !0 + })) : "INPUT" !== npt.tagName && (valueGet = function() { + return this.textContent; + }, valueSet = function(value) { + this.textContent = value; + }, Object.defineProperty(npt, "value", { + get: getter, + set: setter, + configurable: !0 + })); + } else document.__lookupGetter__ && npt.__lookupGetter__("value") && (valueGet = npt.__lookupGetter__("value"), + valueSet = npt.__lookupSetter__("value"), npt.__defineGetter__("value", getter), + npt.__defineSetter__("value", setter)); + npt.inputmask.__valueGet = valueGet, npt.inputmask.__valueSet = valueSet; + } + npt.inputmask._valueGet = function(overruleRTL) { + return isRTL && !0 !== overruleRTL ? valueGet.call(this.el).split("").reverse().join("") : valueGet.call(this.el); + }, npt.inputmask._valueSet = function(value, overruleRTL) { + valueSet.call(this.el, null === value || value === undefined ? "" : !0 !== overruleRTL && isRTL ? value.split("").reverse().join("") : value); + }, valueGet === undefined && (valueGet = function() { + return this.value; + }, valueSet = function(value) { + this.value = value; + }, function(type) { + if ($.valHooks && ($.valHooks[type] === undefined || !0 !== $.valHooks[type].inputmaskpatch)) { + var valhookGet = $.valHooks[type] && $.valHooks[type].get ? $.valHooks[type].get : function(elem) { + return elem.value; + }, valhookSet = $.valHooks[type] && $.valHooks[type].set ? $.valHooks[type].set : function(elem, value) { + return elem.value = value, elem; + }; + $.valHooks[type] = { + get: function(elem) { + if (elem.inputmask) { + if (elem.inputmask.opts.autoUnmask) return elem.inputmask.unmaskedvalue(); + var result = valhookGet(elem); + return -1 !== getLastValidPosition(undefined, undefined, elem.inputmask.maskset.validPositions) || !0 !== opts.nullable ? result : ""; + } + return valhookGet(elem); + }, + set: function(elem, value) { + var result, $elem = $(elem); + return result = valhookSet(elem, value), elem.inputmask && $elem.trigger("setvalue"), + result; + }, + inputmaskpatch: !0 + }; + } + }(npt.type), function(npt) { + EventRuler.on(npt, "mouseenter", function(event) { + var $input = $(this); + this.inputmask._valueGet() !== getBuffer().join("") && $input.trigger("setvalue"); + }); + }(npt)); + } + }(input) : input.inputmask = undefined, isSupported; + }(elem, opts); + if (!1 !== isSupported && (el = elem, $el = $(el), -1 === (maxLength = el !== undefined ? el.maxLength : undefined) && (maxLength = undefined), + !0 === opts.colorMask && initializeColorMask(el), android && (el.hasOwnProperty("inputmode") && (el.inputmode = opts.inputmode, + el.setAttribute("inputmode", opts.inputmode)), "rtfm" === opts.androidHack && (!0 !== opts.colorMask && initializeColorMask(el), + el.type = "password")), !0 === isSupported && (EventRuler.on(el, "submit", EventHandlers.submitEvent), + EventRuler.on(el, "reset", EventHandlers.resetEvent), EventRuler.on(el, "mouseenter", EventHandlers.mouseenterEvent), + EventRuler.on(el, "blur", EventHandlers.blurEvent), EventRuler.on(el, "focus", EventHandlers.focusEvent), + EventRuler.on(el, "mouseleave", EventHandlers.mouseleaveEvent), !0 !== opts.colorMask && EventRuler.on(el, "click", EventHandlers.clickEvent), + EventRuler.on(el, "dblclick", EventHandlers.dblclickEvent), EventRuler.on(el, "paste", EventHandlers.pasteEvent), + EventRuler.on(el, "dragdrop", EventHandlers.pasteEvent), EventRuler.on(el, "drop", EventHandlers.pasteEvent), + EventRuler.on(el, "cut", EventHandlers.cutEvent), EventRuler.on(el, "complete", opts.oncomplete), + EventRuler.on(el, "incomplete", opts.onincomplete), EventRuler.on(el, "cleared", opts.oncleared), + android || !0 === opts.inputEventOnly ? el.removeAttribute("maxLength") : (EventRuler.on(el, "keydown", EventHandlers.keydownEvent), + EventRuler.on(el, "keypress", EventHandlers.keypressEvent)), EventRuler.on(el, "compositionstart", $.noop), + EventRuler.on(el, "compositionupdate", $.noop), EventRuler.on(el, "compositionend", $.noop), + EventRuler.on(el, "keyup", $.noop), EventRuler.on(el, "input", EventHandlers.inputFallBackEvent), + EventRuler.on(el, "beforeinput", $.noop)), EventRuler.on(el, "setvalue", EventHandlers.setValueEvent), + undoValue = getBufferTemplate().join(""), "" !== el.inputmask._valueGet(!0) || !1 === opts.clearMaskOnLostFocus || document.activeElement === el)) { + var initialValue = $.isFunction(opts.onBeforeMask) ? opts.onBeforeMask.call(inputmask, el.inputmask._valueGet(!0), opts) || el.inputmask._valueGet(!0) : el.inputmask._valueGet(!0); + "" !== initialValue && checkVal(el, !0, !1, isRTL ? initialValue.split("").reverse() : initialValue.split("")); + var buffer = getBuffer().slice(); + undoValue = buffer.join(""), !1 === isComplete(buffer) && opts.clearIncomplete && resetMaskSet(), + opts.clearMaskOnLostFocus && document.activeElement !== el && (-1 === getLastValidPosition() ? buffer = [] : clearOptionalTail(buffer)), + writeBuffer(el, buffer), document.activeElement === el && caret(el, seekNext(getLastValidPosition())); + } + }(el); + break; + + case "format": + return valueBuffer = ($.isFunction(opts.onBeforeMask) ? opts.onBeforeMask.call(inputmask, actionObj.value, opts) || actionObj.value : actionObj.value).split(""), + checkVal(undefined, !0, !1, isRTL ? valueBuffer.reverse() : valueBuffer), actionObj.metadata ? { + value: isRTL ? getBuffer().slice().reverse().join("") : getBuffer().join(""), + metadata: maskScope.call(this, { + action: "getmetadata" + }, maskset, opts) + } : isRTL ? getBuffer().slice().reverse().join("") : getBuffer().join(""); + + case "isValid": + actionObj.value ? (valueBuffer = actionObj.value.split(""), checkVal(undefined, !0, !0, isRTL ? valueBuffer.reverse() : valueBuffer)) : actionObj.value = getBuffer().join(""); + for (var buffer = getBuffer(), rl = determineLastRequiredPosition(), lmib = buffer.length - 1; lmib > rl && !isMask(lmib); lmib--) ; + return buffer.splice(rl, lmib + 1 - rl), isComplete(buffer) && actionObj.value === getBuffer().join(""); + + case "getemptymask": + return getBufferTemplate().join(""); + + case "remove": + if (el && el.inputmask) { + $el = $(el), el.inputmask._valueSet(opts.autoUnmask ? unmaskedvalue(el) : el.inputmask._valueGet(!0)), + EventRuler.off(el); + Object.getOwnPropertyDescriptor && Object.getPrototypeOf ? Object.getOwnPropertyDescriptor(Object.getPrototypeOf(el), "value") && el.inputmask.__valueGet && Object.defineProperty(el, "value", { + get: el.inputmask.__valueGet, + set: el.inputmask.__valueSet, + configurable: !0 + }) : document.__lookupGetter__ && el.__lookupGetter__("value") && el.inputmask.__valueGet && (el.__defineGetter__("value", el.inputmask.__valueGet), + el.__defineSetter__("value", el.inputmask.__valueSet)), el.inputmask = undefined; + } + return el; + + case "getmetadata": + if ($.isArray(maskset.metadata)) { + var maskTarget = getMaskTemplate(!0, 0, !1).join(""); + return $.each(maskset.metadata, function(ndx, mtdt) { + if (mtdt.mask === maskTarget) return maskTarget = mtdt, !1; + }), maskTarget; + } + return maskset.metadata; + } + } + var ua = navigator.userAgent, mobile = /mobile/i.test(ua), iemobile = /iemobile/i.test(ua), iphone = /iphone/i.test(ua) && !iemobile, android = /android/i.test(ua) && !iemobile; + return Inputmask.prototype = { + dataAttribute: "data-inputmask", + defaults: { + placeholder: "_", + optionalmarker: { + start: "[", + end: "]" + }, + quantifiermarker: { + start: "{", + end: "}" + }, + groupmarker: { + start: "(", + end: ")" + }, + alternatormarker: "|", + escapeChar: "\\", + mask: null, + regex: null, + oncomplete: $.noop, + onincomplete: $.noop, + oncleared: $.noop, + repeat: 0, + greedy: !0, + autoUnmask: !1, + removeMaskOnSubmit: !1, + clearMaskOnLostFocus: !0, + insertMode: !0, + clearIncomplete: !1, + alias: null, + onKeyDown: $.noop, + onBeforeMask: null, + onBeforePaste: function(pastedValue, opts) { + return $.isFunction(opts.onBeforeMask) ? opts.onBeforeMask.call(this, pastedValue, opts) : pastedValue; + }, + onBeforeWrite: null, + onUnMask: null, + showMaskOnFocus: !0, + showMaskOnHover: !0, + onKeyValidation: $.noop, + skipOptionalPartCharacter: " ", + numericInput: !1, + rightAlign: !1, + undoOnEscape: !0, + radixPoint: "", + radixPointDefinitionSymbol: undefined, + groupSeparator: "", + keepStatic: null, + positionCaretOnTab: !0, + tabThrough: !1, + supportsInputType: [ "text", "tel", "password" ], + ignorables: [ 8, 9, 13, 19, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46, 93, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 229 ], + isComplete: null, + canClearPosition: $.noop, + preValidation: null, + postValidation: null, + staticDefinitionSymbol: undefined, + jitMasking: !1, + nullable: !0, + inputEventOnly: !1, + noValuePatching: !1, + positionCaretOnClick: "lvp", + casing: null, + inputmode: "verbatim", + colorMask: !1, + androidHack: !1, + importDataAttributes: !0 + }, + definitions: { + "9": { + validator: "[0-91-9]", + cardinality: 1, + definitionSymbol: "*" + }, + a: { + validator: "[A-Za-zА-яЁёÀ-ÿµ]", + cardinality: 1, + definitionSymbol: "*" + }, + "*": { + validator: "[0-91-9A-Za-zА-яЁёÀ-ÿµ]", + cardinality: 1 + } + }, + aliases: {}, + masksCache: {}, + mask: function(elems) { + function importAttributeOptions(npt, opts, userOptions, dataAttribute) { + if (!0 === opts.importDataAttributes) { + var option, dataoptions, optionData, p, importOption = function(option, optionData) { + null !== (optionData = optionData !== undefined ? optionData : npt.getAttribute(dataAttribute + "-" + option)) && ("string" == typeof optionData && (0 === option.indexOf("on") ? optionData = window[optionData] : "false" === optionData ? optionData = !1 : "true" === optionData && (optionData = !0)), + userOptions[option] = optionData); + }, attrOptions = npt.getAttribute(dataAttribute); + if (attrOptions && "" !== attrOptions && (attrOptions = attrOptions.replace(new RegExp("'", "g"), '"'), + dataoptions = JSON.parse("{" + attrOptions + "}")), dataoptions) { + optionData = undefined; + for (p in dataoptions) if ("alias" === p.toLowerCase()) { + optionData = dataoptions[p]; + break; + } + } + importOption("alias", optionData), userOptions.alias && resolveAlias(userOptions.alias, userOptions, opts); + for (option in opts) { + if (dataoptions) { + optionData = undefined; + for (p in dataoptions) if (p.toLowerCase() === option.toLowerCase()) { + optionData = dataoptions[p]; + break; + } + } + importOption(option, optionData); + } + } + return $.extend(!0, opts, userOptions), ("rtl" === npt.dir || opts.rightAlign) && (npt.style.textAlign = "right"), + ("rtl" === npt.dir || opts.numericInput) && (npt.dir = "ltr", npt.removeAttribute("dir"), + opts.isRTL = !0), opts; + } + var that = this; + return "string" == typeof elems && (elems = document.getElementById(elems) || document.querySelectorAll(elems)), + elems = elems.nodeName ? [ elems ] : elems, $.each(elems, function(ndx, el) { + var scopedOpts = $.extend(!0, {}, that.opts); + importAttributeOptions(el, scopedOpts, $.extend(!0, {}, that.userOptions), that.dataAttribute); + var maskset = generateMaskSet(scopedOpts, that.noMasksCache); + maskset !== undefined && (el.inputmask !== undefined && (el.inputmask.opts.autoUnmask = !0, + el.inputmask.remove()), el.inputmask = new Inputmask(undefined, undefined, !0), + el.inputmask.opts = scopedOpts, el.inputmask.noMasksCache = that.noMasksCache, el.inputmask.userOptions = $.extend(!0, {}, that.userOptions), + el.inputmask.isRTL = scopedOpts.isRTL || scopedOpts.numericInput, el.inputmask.el = el, + el.inputmask.maskset = maskset, $.data(el, "_inputmask_opts", scopedOpts), maskScope.call(el.inputmask, { + action: "mask" + })); + }), elems && elems[0] ? elems[0].inputmask || this : this; + }, + option: function(options, noremask) { + return "string" == typeof options ? this.opts[options] : "object" === (void 0 === options ? "undefined" : _typeof(options)) ? ($.extend(this.userOptions, options), + this.el && !0 !== noremask && this.mask(this.el), this) : void 0; + }, + unmaskedvalue: function(value) { + return this.maskset = this.maskset || generateMaskSet(this.opts, this.noMasksCache), + maskScope.call(this, { + action: "unmaskedvalue", + value: value + }); + }, + remove: function() { + return maskScope.call(this, { + action: "remove" + }); + }, + getemptymask: function() { + return this.maskset = this.maskset || generateMaskSet(this.opts, this.noMasksCache), + maskScope.call(this, { + action: "getemptymask" + }); + }, + hasMaskedValue: function() { + return !this.opts.autoUnmask; + }, + isComplete: function() { + return this.maskset = this.maskset || generateMaskSet(this.opts, this.noMasksCache), + maskScope.call(this, { + action: "isComplete" + }); + }, + getmetadata: function() { + return this.maskset = this.maskset || generateMaskSet(this.opts, this.noMasksCache), + maskScope.call(this, { + action: "getmetadata" + }); + }, + isValid: function(value) { + return this.maskset = this.maskset || generateMaskSet(this.opts, this.noMasksCache), + maskScope.call(this, { + action: "isValid", + value: value + }); + }, + format: function(value, metadata) { + return this.maskset = this.maskset || generateMaskSet(this.opts, this.noMasksCache), + maskScope.call(this, { + action: "format", + value: value, + metadata: metadata + }); + }, + analyseMask: function(mask, regexMask, opts) { + function MaskToken(isGroup, isOptional, isQuantifier, isAlternator) { + this.matches = [], this.openGroup = isGroup || !1, this.alternatorGroup = !1, this.isGroup = isGroup || !1, + this.isOptional = isOptional || !1, this.isQuantifier = isQuantifier || !1, this.isAlternator = isAlternator || !1, + this.quantifier = { + min: 1, + max: 1 + }; + } + function insertTestDefinition(mtoken, element, position) { + position = position !== undefined ? position : mtoken.matches.length; + var prevMatch = mtoken.matches[position - 1]; + if (regexMask) 0 === element.indexOf("[") || escaped && /\\d|\\s|\\w]/i.test(element) || "." === element ? mtoken.matches.splice(position++, 0, { + fn: new RegExp(element, opts.casing ? "i" : ""), + cardinality: 1, + optionality: mtoken.isOptional, + newBlockMarker: prevMatch === undefined || prevMatch.def !== element, + casing: null, + def: element, + placeholder: undefined, + nativeDef: element + }) : (escaped && (element = element[element.length - 1]), $.each(element.split(""), function(ndx, lmnt) { + prevMatch = mtoken.matches[position - 1], mtoken.matches.splice(position++, 0, { + fn: null, + cardinality: 0, + optionality: mtoken.isOptional, + newBlockMarker: prevMatch === undefined || prevMatch.def !== lmnt && null !== prevMatch.fn, + casing: null, + def: opts.staticDefinitionSymbol || lmnt, + placeholder: opts.staticDefinitionSymbol !== undefined ? lmnt : undefined, + nativeDef: lmnt + }); + })), escaped = !1; else { + var maskdef = (opts.definitions ? opts.definitions[element] : undefined) || Inputmask.prototype.definitions[element]; + if (maskdef && !escaped) { + for (var prevalidators = maskdef.prevalidator, prevalidatorsL = prevalidators ? prevalidators.length : 0, i = 1; i < maskdef.cardinality; i++) { + var prevalidator = prevalidatorsL >= i ? prevalidators[i - 1] : [], validator = prevalidator.validator, cardinality = prevalidator.cardinality; + mtoken.matches.splice(position++, 0, { + fn: validator ? "string" == typeof validator ? new RegExp(validator, opts.casing ? "i" : "") : new function() { + this.test = validator; + }() : new RegExp("."), + cardinality: cardinality || 1, + optionality: mtoken.isOptional, + newBlockMarker: prevMatch === undefined || prevMatch.def !== (maskdef.definitionSymbol || element), + casing: maskdef.casing, + def: maskdef.definitionSymbol || element, + placeholder: maskdef.placeholder, + nativeDef: element + }), prevMatch = mtoken.matches[position - 1]; + } + mtoken.matches.splice(position++, 0, { + fn: maskdef.validator ? "string" == typeof maskdef.validator ? new RegExp(maskdef.validator, opts.casing ? "i" : "") : new function() { + this.test = maskdef.validator; + }() : new RegExp("."), + cardinality: maskdef.cardinality, + optionality: mtoken.isOptional, + newBlockMarker: prevMatch === undefined || prevMatch.def !== (maskdef.definitionSymbol || element), + casing: maskdef.casing, + def: maskdef.definitionSymbol || element, + placeholder: maskdef.placeholder, + nativeDef: element + }); + } else mtoken.matches.splice(position++, 0, { + fn: null, + cardinality: 0, + optionality: mtoken.isOptional, + newBlockMarker: prevMatch === undefined || prevMatch.def !== element && null !== prevMatch.fn, + casing: null, + def: opts.staticDefinitionSymbol || element, + placeholder: opts.staticDefinitionSymbol !== undefined ? element : undefined, + nativeDef: element + }), escaped = !1; + } + } + function verifyGroupMarker(maskToken) { + maskToken && maskToken.matches && $.each(maskToken.matches, function(ndx, token) { + var nextToken = maskToken.matches[ndx + 1]; + (nextToken === undefined || nextToken.matches === undefined || !1 === nextToken.isQuantifier) && token && token.isGroup && (token.isGroup = !1, + regexMask || (insertTestDefinition(token, opts.groupmarker.start, 0), !0 !== token.openGroup && insertTestDefinition(token, opts.groupmarker.end))), + verifyGroupMarker(token); + }); + } + function defaultCase() { + if (openenings.length > 0) { + if (currentOpeningToken = openenings[openenings.length - 1], insertTestDefinition(currentOpeningToken, m), + currentOpeningToken.isAlternator) { + alternator = openenings.pop(); + for (var mndx = 0; mndx < alternator.matches.length; mndx++) alternator.matches[mndx].isGroup = !1; + openenings.length > 0 ? (currentOpeningToken = openenings[openenings.length - 1]).matches.push(alternator) : currentToken.matches.push(alternator); + } + } else insertTestDefinition(currentToken, m); + } + function reverseTokens(maskToken) { + maskToken.matches = maskToken.matches.reverse(); + for (var match in maskToken.matches) if (maskToken.matches.hasOwnProperty(match)) { + var intMatch = parseInt(match); + if (maskToken.matches[match].isQuantifier && maskToken.matches[intMatch + 1] && maskToken.matches[intMatch + 1].isGroup) { + var qt = maskToken.matches[match]; + maskToken.matches.splice(match, 1), maskToken.matches.splice(intMatch + 1, 0, qt); + } + maskToken.matches[match].matches !== undefined ? maskToken.matches[match] = reverseTokens(maskToken.matches[match]) : maskToken.matches[match] = function(st) { + return st === opts.optionalmarker.start ? st = opts.optionalmarker.end : st === opts.optionalmarker.end ? st = opts.optionalmarker.start : st === opts.groupmarker.start ? st = opts.groupmarker.end : st === opts.groupmarker.end && (st = opts.groupmarker.start), + st; + }(maskToken.matches[match]); + } + return maskToken; + } + var match, m, openingToken, currentOpeningToken, alternator, lastMatch, groupToken, tokenizer = /(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})|[^.?*+^${[]()|\\]+|./g, regexTokenizer = /\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g, escaped = !1, currentToken = new MaskToken(), openenings = [], maskTokens = []; + for (regexMask && (opts.optionalmarker.start = undefined, opts.optionalmarker.end = undefined); match = regexMask ? regexTokenizer.exec(mask) : tokenizer.exec(mask); ) { + if (m = match[0], regexMask) switch (m.charAt(0)) { + case "?": + m = "{0,1}"; + break; + + case "+": + case "*": + m = "{" + m + "}"; + } + if (escaped) defaultCase(); else switch (m.charAt(0)) { + case opts.escapeChar: + escaped = !0, regexMask && defaultCase(); + break; + + case opts.optionalmarker.end: + case opts.groupmarker.end: + if (openingToken = openenings.pop(), openingToken.openGroup = !1, openingToken !== undefined) if (openenings.length > 0) { + if ((currentOpeningToken = openenings[openenings.length - 1]).matches.push(openingToken), + currentOpeningToken.isAlternator) { + alternator = openenings.pop(); + for (var mndx = 0; mndx < alternator.matches.length; mndx++) alternator.matches[mndx].isGroup = !1, + alternator.matches[mndx].alternatorGroup = !1; + openenings.length > 0 ? (currentOpeningToken = openenings[openenings.length - 1]).matches.push(alternator) : currentToken.matches.push(alternator); + } + } else currentToken.matches.push(openingToken); else defaultCase(); + break; + + case opts.optionalmarker.start: + openenings.push(new MaskToken(!1, !0)); + break; + + case opts.groupmarker.start: + openenings.push(new MaskToken(!0)); + break; + + case opts.quantifiermarker.start: + var quantifier = new MaskToken(!1, !1, !0), mq = (m = m.replace(/[{}]/g, "")).split(","), mq0 = isNaN(mq[0]) ? mq[0] : parseInt(mq[0]), mq1 = 1 === mq.length ? mq0 : isNaN(mq[1]) ? mq[1] : parseInt(mq[1]); + if ("*" !== mq1 && "+" !== mq1 || (mq0 = "*" === mq1 ? 0 : 1), quantifier.quantifier = { + min: mq0, + max: mq1 + }, openenings.length > 0) { + var matches = openenings[openenings.length - 1].matches; + (match = matches.pop()).isGroup || ((groupToken = new MaskToken(!0)).matches.push(match), + match = groupToken), matches.push(match), matches.push(quantifier); + } else (match = currentToken.matches.pop()).isGroup || (regexMask && null === match.fn && "." === match.def && (match.fn = new RegExp(match.def, opts.casing ? "i" : "")), + (groupToken = new MaskToken(!0)).matches.push(match), match = groupToken), currentToken.matches.push(match), + currentToken.matches.push(quantifier); + break; + + case opts.alternatormarker: + if (openenings.length > 0) { + var subToken = (currentOpeningToken = openenings[openenings.length - 1]).matches[currentOpeningToken.matches.length - 1]; + lastMatch = currentOpeningToken.openGroup && (subToken.matches === undefined || !1 === subToken.isGroup && !1 === subToken.isAlternator) ? openenings.pop() : currentOpeningToken.matches.pop(); + } else lastMatch = currentToken.matches.pop(); + if (lastMatch.isAlternator) openenings.push(lastMatch); else if (lastMatch.alternatorGroup ? (alternator = openenings.pop(), + lastMatch.alternatorGroup = !1) : alternator = new MaskToken(!1, !1, !1, !0), alternator.matches.push(lastMatch), + openenings.push(alternator), lastMatch.openGroup) { + lastMatch.openGroup = !1; + var alternatorGroup = new MaskToken(!0); + alternatorGroup.alternatorGroup = !0, openenings.push(alternatorGroup); + } + break; + + default: + defaultCase(); + } + } + for (;openenings.length > 0; ) openingToken = openenings.pop(), currentToken.matches.push(openingToken); + return currentToken.matches.length > 0 && (verifyGroupMarker(currentToken), maskTokens.push(currentToken)), + (opts.numericInput || opts.isRTL) && reverseTokens(maskTokens[0]), maskTokens; + } + }, Inputmask.extendDefaults = function(options) { + $.extend(!0, Inputmask.prototype.defaults, options); + }, Inputmask.extendDefinitions = function(definition) { + $.extend(!0, Inputmask.prototype.definitions, definition); + }, Inputmask.extendAliases = function(alias) { + $.extend(!0, Inputmask.prototype.aliases, alias); + }, Inputmask.format = function(value, options, metadata) { + return Inputmask(options).format(value, metadata); + }, Inputmask.unmask = function(value, options) { + return Inputmask(options).unmaskedvalue(value); + }, Inputmask.isValid = function(value, options) { + return Inputmask(options).isValid(value); + }, Inputmask.remove = function(elems) { + $.each(elems, function(ndx, el) { + el.inputmask && el.inputmask.remove(); + }); + }, Inputmask.escapeRegex = function(str) { + var specials = [ "/", ".", "*", "+", "?", "|", "(", ")", "[", "]", "{", "}", "\\", "$", "^" ]; + return str.replace(new RegExp("(\\" + specials.join("|\\") + ")", "gim"), "\\$1"); + }, Inputmask.keyCode = { + ALT: 18, + BACKSPACE: 8, + BACKSPACE_SAFARI: 127, + CAPS_LOCK: 20, + COMMA: 188, + COMMAND: 91, + COMMAND_LEFT: 91, + COMMAND_RIGHT: 93, + CONTROL: 17, + DELETE: 46, + DOWN: 40, + END: 35, + ENTER: 13, + ESCAPE: 27, + HOME: 36, + INSERT: 45, + LEFT: 37, + MENU: 93, + NUMPAD_ADD: 107, + NUMPAD_DECIMAL: 110, + NUMPAD_DIVIDE: 111, + NUMPAD_ENTER: 108, + NUMPAD_MULTIPLY: 106, + NUMPAD_SUBTRACT: 109, + PAGE_DOWN: 34, + PAGE_UP: 33, + PERIOD: 190, + RIGHT: 39, + SHIFT: 16, + SPACE: 32, + TAB: 9, + UP: 38, + WINDOWS: 91, + X: 88 + }, Inputmask; + }); +}, function(module, exports) { + module.exports = jQuery; +}, function(module, exports, __webpack_require__) { + "use strict"; + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; + } + __webpack_require__(4), __webpack_require__(9), __webpack_require__(12), __webpack_require__(13), + __webpack_require__(14), __webpack_require__(15); + var _inputmask2 = _interopRequireDefault(__webpack_require__(1)), _inputmask4 = _interopRequireDefault(__webpack_require__(0)), _jquery2 = _interopRequireDefault(__webpack_require__(2)); + _inputmask4.default === _jquery2.default && __webpack_require__(16), window.Inputmask = _inputmask2.default; +}, function(module, exports, __webpack_require__) { + var content = __webpack_require__(5); + "string" == typeof content && (content = [ [ module.i, content, "" ] ]); + var options = { + hmr: !0 + }; + options.transform = void 0; + __webpack_require__(7)(content, options); + content.locals && (module.exports = content.locals); +}, function(module, exports, __webpack_require__) { + (module.exports = __webpack_require__(6)(void 0)).push([ module.i, "span.im-caret {\r\n -webkit-animation: 1s blink step-end infinite;\r\n animation: 1s blink step-end infinite;\r\n}\r\n\r\n@keyframes blink {\r\n from, to {\r\n border-right-color: black;\r\n }\r\n 50% {\r\n border-right-color: transparent;\r\n }\r\n}\r\n\r\n@-webkit-keyframes blink {\r\n from, to {\r\n border-right-color: black;\r\n }\r\n 50% {\r\n border-right-color: transparent;\r\n }\r\n}\r\n\r\nspan.im-static {\r\n color: grey;\r\n}\r\n\r\ndiv.im-colormask {\r\n display: inline-block;\r\n border-style: inset;\r\n border-width: 2px;\r\n -webkit-appearance: textfield;\r\n -moz-appearance: textfield;\r\n appearance: textfield;\r\n}\r\n\r\ndiv.im-colormask > input {\r\n position: absolute;\r\n display: inline-block;\r\n background-color: transparent;\r\n color: transparent;\r\n -webkit-appearance: caret;\r\n -moz-appearance: caret;\r\n appearance: caret;\r\n border-style: none;\r\n left: 0; /*calculated*/\r\n}\r\n\r\ndiv.im-colormask > input:focus {\r\n outline: none;\r\n}\r\n\r\ndiv.im-colormask > input::-moz-selection{\r\n background: none;\r\n}\r\n\r\ndiv.im-colormask > input::selection{\r\n background: none;\r\n}\r\ndiv.im-colormask > input::-moz-selection{\r\n background: none;\r\n}\r\n\r\ndiv.im-colormask > div {\r\n color: black;\r\n display: inline-block;\r\n width: 100px; /*calculated*/\r\n}", "" ]); +}, function(module, exports) { + function cssWithMappingToString(item, useSourceMap) { + var content = item[1] || "", cssMapping = item[3]; + if (!cssMapping) return content; + if (useSourceMap && "function" == typeof btoa) { + var sourceMapping = toComment(cssMapping), sourceURLs = cssMapping.sources.map(function(source) { + return "/*# sourceURL=" + cssMapping.sourceRoot + source + " */"; + }); + return [ content ].concat(sourceURLs).concat([ sourceMapping ]).join("\n"); + } + return [ content ].join("\n"); + } + function toComment(sourceMap) { + return "/*# " + ("sourceMappingURL=data:application/json;charset=utf-8;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))))) + " */"; + } + module.exports = function(useSourceMap) { + var list = []; + return list.toString = function() { + return this.map(function(item) { + var content = cssWithMappingToString(item, useSourceMap); + return item[2] ? "@media " + item[2] + "{" + content + "}" : content; + }).join(""); + }, list.i = function(modules, mediaQuery) { + "string" == typeof modules && (modules = [ [ null, modules, "" ] ]); + for (var alreadyImportedModules = {}, i = 0; i < this.length; i++) { + var id = this[i][0]; + "number" == typeof id && (alreadyImportedModules[id] = !0); + } + for (i = 0; i < modules.length; i++) { + var item = modules[i]; + "number" == typeof item[0] && alreadyImportedModules[item[0]] || (mediaQuery && !item[2] ? item[2] = mediaQuery : mediaQuery && (item[2] = "(" + item[2] + ") and (" + mediaQuery + ")"), + list.push(item)); + } + }, list; + }; +}, function(module, exports, __webpack_require__) { + function addStylesToDom(styles, options) { + for (var i = 0; i < styles.length; i++) { + var item = styles[i], domStyle = stylesInDom[item.id]; + if (domStyle) { + domStyle.refs++; + for (j = 0; j < domStyle.parts.length; j++) domStyle.parts[j](item.parts[j]); + for (;j < item.parts.length; j++) domStyle.parts.push(addStyle(item.parts[j], options)); + } else { + for (var parts = [], j = 0; j < item.parts.length; j++) parts.push(addStyle(item.parts[j], options)); + stylesInDom[item.id] = { + id: item.id, + refs: 1, + parts: parts + }; + } + } + } + function listToStyles(list, options) { + for (var styles = [], newStyles = {}, i = 0; i < list.length; i++) { + var item = list[i], id = options.base ? item[0] + options.base : item[0], part = { + css: item[1], + media: item[2], + sourceMap: item[3] + }; + newStyles[id] ? newStyles[id].parts.push(part) : styles.push(newStyles[id] = { + id: id, + parts: [ part ] + }); + } + return styles; + } + function insertStyleElement(options, style) { + var target = getElement(options.insertInto); + if (!target) throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid."); + var lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1]; + if ("top" === options.insertAt) lastStyleElementInsertedAtTop ? lastStyleElementInsertedAtTop.nextSibling ? target.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling) : target.appendChild(style) : target.insertBefore(style, target.firstChild), + stylesInsertedAtTop.push(style); else if ("bottom" === options.insertAt) target.appendChild(style); else { + if ("object" != typeof options.insertAt || !options.insertAt.before) throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n"); + var nextSibling = getElement(options.insertInto + " " + options.insertAt.before); + target.insertBefore(style, nextSibling); + } + } + function removeStyleElement(style) { + if (null === style.parentNode) return !1; + style.parentNode.removeChild(style); + var idx = stylesInsertedAtTop.indexOf(style); + idx >= 0 && stylesInsertedAtTop.splice(idx, 1); + } + function createStyleElement(options) { + var style = document.createElement("style"); + return options.attrs.type = "text/css", addAttrs(style, options.attrs), insertStyleElement(options, style), + style; + } + function createLinkElement(options) { + var link = document.createElement("link"); + return options.attrs.type = "text/css", options.attrs.rel = "stylesheet", addAttrs(link, options.attrs), + insertStyleElement(options, link), link; + } + function addAttrs(el, attrs) { + Object.keys(attrs).forEach(function(key) { + el.setAttribute(key, attrs[key]); + }); + } + function addStyle(obj, options) { + var style, update, remove, result; + if (options.transform && obj.css) { + if (!(result = options.transform(obj.css))) return function() {}; + obj.css = result; + } + if (options.singleton) { + var styleIndex = singletonCounter++; + style = singleton || (singleton = createStyleElement(options)), update = applyToSingletonTag.bind(null, style, styleIndex, !1), + remove = applyToSingletonTag.bind(null, style, styleIndex, !0); + } else obj.sourceMap && "function" == typeof URL && "function" == typeof URL.createObjectURL && "function" == typeof URL.revokeObjectURL && "function" == typeof Blob && "function" == typeof btoa ? (style = createLinkElement(options), + update = updateLink.bind(null, style, options), remove = function() { + removeStyleElement(style), style.href && URL.revokeObjectURL(style.href); + }) : (style = createStyleElement(options), update = applyToTag.bind(null, style), + remove = function() { + removeStyleElement(style); + }); + return update(obj), function(newObj) { + if (newObj) { + if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) return; + update(obj = newObj); + } else remove(); + }; + } + function applyToSingletonTag(style, index, remove, obj) { + var css = remove ? "" : obj.css; + if (style.styleSheet) style.styleSheet.cssText = replaceText(index, css); else { + var cssNode = document.createTextNode(css), childNodes = style.childNodes; + childNodes[index] && style.removeChild(childNodes[index]), childNodes.length ? style.insertBefore(cssNode, childNodes[index]) : style.appendChild(cssNode); + } + } + function applyToTag(style, obj) { + var css = obj.css, media = obj.media; + if (media && style.setAttribute("media", media), style.styleSheet) style.styleSheet.cssText = css; else { + for (;style.firstChild; ) style.removeChild(style.firstChild); + style.appendChild(document.createTextNode(css)); + } + } + function updateLink(link, options, obj) { + var css = obj.css, sourceMap = obj.sourceMap, autoFixUrls = void 0 === options.convertToAbsoluteUrls && sourceMap; + (options.convertToAbsoluteUrls || autoFixUrls) && (css = fixUrls(css)), sourceMap && (css += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + " */"); + var blob = new Blob([ css ], { + type: "text/css" + }), oldSrc = link.href; + link.href = URL.createObjectURL(blob), oldSrc && URL.revokeObjectURL(oldSrc); + } + var stylesInDom = {}, isOldIE = function(fn) { + var memo; + return function() { + return void 0 === memo && (memo = fn.apply(this, arguments)), memo; + }; + }(function() { + return window && document && document.all && !window.atob; + }), getElement = function(fn) { + var memo = {}; + return function(selector) { + if (void 0 === memo[selector]) { + var styleTarget = fn.call(this, selector); + if (styleTarget instanceof window.HTMLIFrameElement) try { + styleTarget = styleTarget.contentDocument.head; + } catch (e) { + styleTarget = null; + } + memo[selector] = styleTarget; + } + return memo[selector]; + }; + }(function(target) { + return document.querySelector(target); + }), singleton = null, singletonCounter = 0, stylesInsertedAtTop = [], fixUrls = __webpack_require__(8); + module.exports = function(list, options) { + if ("undefined" != typeof DEBUG && DEBUG && "object" != typeof document) throw new Error("The style-loader cannot be used in a non-browser environment"); + (options = options || {}).attrs = "object" == typeof options.attrs ? options.attrs : {}, + options.singleton || (options.singleton = isOldIE()), options.insertInto || (options.insertInto = "head"), + options.insertAt || (options.insertAt = "bottom"); + var styles = listToStyles(list, options); + return addStylesToDom(styles, options), function(newList) { + for (var mayRemove = [], i = 0; i < styles.length; i++) { + var item = styles[i]; + (domStyle = stylesInDom[item.id]).refs--, mayRemove.push(domStyle); + } + newList && addStylesToDom(listToStyles(newList, options), options); + for (i = 0; i < mayRemove.length; i++) { + var domStyle = mayRemove[i]; + if (0 === domStyle.refs) { + for (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j](); + delete stylesInDom[domStyle.id]; + } + } + }; + }; + var replaceText = function() { + var textStore = []; + return function(index, replacement) { + return textStore[index] = replacement, textStore.filter(Boolean).join("\n"); + }; + }(); +}, function(module, exports) { + module.exports = function(css) { + var location = "undefined" != typeof window && window.location; + if (!location) throw new Error("fixUrls requires window.location"); + if (!css || "string" != typeof css) return css; + var baseUrl = location.protocol + "//" + location.host, currentDir = baseUrl + location.pathname.replace(/\/[^\/]*$/, "/"); + return css.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi, function(fullMatch, origUrl) { + var unquotedOrigUrl = origUrl.trim().replace(/^"(.*)"$/, function(o, $1) { + return $1; + }).replace(/^'(.*)'$/, function(o, $1) { + return $1; + }); + if (/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/)/i.test(unquotedOrigUrl)) return fullMatch; + var newUrl; + return newUrl = 0 === unquotedOrigUrl.indexOf("//") ? unquotedOrigUrl : 0 === unquotedOrigUrl.indexOf("/") ? baseUrl + unquotedOrigUrl : currentDir + unquotedOrigUrl.replace(/^\.\//, ""), + "url(" + JSON.stringify(newUrl) + ")"; + }); + }; +}, function(module, exports, __webpack_require__) { + "use strict"; + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + "function" == typeof Symbol && Symbol.iterator; + !function(factory) { + __WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(0), __webpack_require__(1) ], + void 0 !== (__WEBPACK_AMD_DEFINE_RESULT__ = "function" == typeof (__WEBPACK_AMD_DEFINE_FACTORY__ = factory) ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__) && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__); + }(function($, Inputmask) { + function isLeapYear(year) { + return isNaN(year) || 29 === new Date(year, 2, 0).getDate(); + } + return Inputmask.extendAliases({ + "dd/mm/yyyy": { + mask: "1/2/y", + placeholder: "dd/mm/yyyy", + regex: { + val1pre: new RegExp("[0-3]"), + val1: new RegExp("0[1-9]|[12][0-9]|3[01]"), + val2pre: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[1-9]|[12][0-9]|3[01])" + escapedSeparator + "[01])"); + }, + val2: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[1-9]|[12][0-9])" + escapedSeparator + "(0[1-9]|1[012]))|(30" + escapedSeparator + "(0[13-9]|1[012]))|(31" + escapedSeparator + "(0[13578]|1[02]))"); + } + }, + leapday: "29/02/", + separator: "/", + yearrange: { + minyear: 1900, + maxyear: 2099 + }, + isInYearRange: function(chrs, minyear, maxyear) { + if (isNaN(chrs)) return !1; + var enteredyear = parseInt(chrs.concat(minyear.toString().slice(chrs.length))), enteredyear2 = parseInt(chrs.concat(maxyear.toString().slice(chrs.length))); + return !isNaN(enteredyear) && (minyear <= enteredyear && enteredyear <= maxyear) || !isNaN(enteredyear2) && (minyear <= enteredyear2 && enteredyear2 <= maxyear); + }, + determinebaseyear: function(minyear, maxyear, hint) { + var currentyear = new Date().getFullYear(); + if (minyear > currentyear) return minyear; + if (maxyear < currentyear) { + for (var maxYearPrefix = maxyear.toString().slice(0, 2), maxYearPostfix = maxyear.toString().slice(2, 4); maxyear < maxYearPrefix + hint; ) maxYearPrefix--; + var maxxYear = maxYearPrefix + maxYearPostfix; + return minyear > maxxYear ? minyear : maxxYear; + } + if (minyear <= currentyear && currentyear <= maxyear) { + for (var currentYearPrefix = currentyear.toString().slice(0, 2); maxyear < currentYearPrefix + hint; ) currentYearPrefix--; + var currentYearAndHint = currentYearPrefix + hint; + return currentYearAndHint < minyear ? minyear : currentYearAndHint; + } + return currentyear; + }, + onKeyDown: function(e, buffer, caretPos, opts) { + var $input = $(this); + if (e.ctrlKey && e.keyCode === Inputmask.keyCode.RIGHT) { + var today = new Date(); + $input.val(today.getDate().toString() + (today.getMonth() + 1).toString() + today.getFullYear().toString()), + $input.trigger("setvalue"); + } + }, + getFrontValue: function(mask, buffer, opts) { + for (var start = 0, length = 0, i = 0; i < mask.length && "2" !== mask.charAt(i); i++) { + var definition = opts.definitions[mask.charAt(i)]; + definition ? (start += length, length = definition.cardinality) : length++; + } + return buffer.join("").substr(start, length); + }, + postValidation: function(buffer, currentResult, opts) { + var dayMonthValue, year, bufferStr = buffer.join(""); + return 0 === opts.mask.indexOf("y") ? (year = bufferStr.substr(0, 4), dayMonthValue = bufferStr.substring(4, 10)) : (year = bufferStr.substring(6, 10), + dayMonthValue = bufferStr.substr(0, 6)), currentResult && (dayMonthValue !== opts.leapday || isLeapYear(year)); + }, + definitions: { + "1": { + validator: function(chrs, maskset, pos, strict, opts) { + var isValid = opts.regex.val1.test(chrs); + return strict || isValid || chrs.charAt(1) !== opts.separator && -1 === "-./".indexOf(chrs.charAt(1)) || !(isValid = opts.regex.val1.test("0" + chrs.charAt(0))) ? isValid : (maskset.buffer[pos - 1] = "0", + { + refreshFromBuffer: { + start: pos - 1, + end: pos + }, + pos: pos, + c: chrs.charAt(0) + }); + }, + cardinality: 2, + prevalidator: [ { + validator: function(chrs, maskset, pos, strict, opts) { + var pchrs = chrs; + isNaN(maskset.buffer[pos + 1]) || (pchrs += maskset.buffer[pos + 1]); + var isValid = 1 === pchrs.length ? opts.regex.val1pre.test(pchrs) : opts.regex.val1.test(pchrs); + if (isValid && maskset.validPositions[pos] && (opts.regex.val2(opts.separator).test(chrs + maskset.validPositions[pos].input) || (maskset.validPositions[pos].input = "0" === chrs ? "1" : "0")), + !strict && !isValid) { + if (isValid = opts.regex.val1.test(chrs + "0")) return maskset.buffer[pos] = chrs, + maskset.buffer[++pos] = "0", { + pos: pos, + c: "0" + }; + if (isValid = opts.regex.val1.test("0" + chrs)) return maskset.buffer[pos] = "0", + pos++, { + pos: pos + }; + } + return isValid; + }, + cardinality: 1 + } ] + }, + "2": { + validator: function(chrs, maskset, pos, strict, opts) { + var frontValue = opts.getFrontValue(maskset.mask, maskset.buffer, opts); + -1 !== frontValue.indexOf(opts.placeholder[0]) && (frontValue = "01" + opts.separator); + var isValid = opts.regex.val2(opts.separator).test(frontValue + chrs); + return strict || isValid || chrs.charAt(1) !== opts.separator && -1 === "-./".indexOf(chrs.charAt(1)) || !(isValid = opts.regex.val2(opts.separator).test(frontValue + "0" + chrs.charAt(0))) ? isValid : (maskset.buffer[pos - 1] = "0", + { + refreshFromBuffer: { + start: pos - 1, + end: pos + }, + pos: pos, + c: chrs.charAt(0) + }); + }, + cardinality: 2, + prevalidator: [ { + validator: function(chrs, maskset, pos, strict, opts) { + isNaN(maskset.buffer[pos + 1]) || (chrs += maskset.buffer[pos + 1]); + var frontValue = opts.getFrontValue(maskset.mask, maskset.buffer, opts); + -1 !== frontValue.indexOf(opts.placeholder[0]) && (frontValue = "01" + opts.separator); + var isValid = 1 === chrs.length ? opts.regex.val2pre(opts.separator).test(frontValue + chrs) : opts.regex.val2(opts.separator).test(frontValue + chrs); + return isValid && maskset.validPositions[pos] && (opts.regex.val2(opts.separator).test(chrs + maskset.validPositions[pos].input) || (maskset.validPositions[pos].input = "0" === chrs ? "1" : "0")), + strict || isValid || !(isValid = opts.regex.val2(opts.separator).test(frontValue + "0" + chrs)) ? isValid : (maskset.buffer[pos] = "0", + pos++, { + pos: pos + }); + }, + cardinality: 1 + } ] + }, + y: { + validator: function(chrs, maskset, pos, strict, opts) { + return opts.isInYearRange(chrs, opts.yearrange.minyear, opts.yearrange.maxyear); + }, + cardinality: 4, + prevalidator: [ { + validator: function(chrs, maskset, pos, strict, opts) { + var isValid = opts.isInYearRange(chrs, opts.yearrange.minyear, opts.yearrange.maxyear); + if (!strict && !isValid) { + var yearPrefix = opts.determinebaseyear(opts.yearrange.minyear, opts.yearrange.maxyear, chrs + "0").toString().slice(0, 1); + if (isValid = opts.isInYearRange(yearPrefix + chrs, opts.yearrange.minyear, opts.yearrange.maxyear)) return maskset.buffer[pos++] = yearPrefix.charAt(0), + { + pos: pos + }; + if (yearPrefix = opts.determinebaseyear(opts.yearrange.minyear, opts.yearrange.maxyear, chrs + "0").toString().slice(0, 2), + isValid = opts.isInYearRange(yearPrefix + chrs, opts.yearrange.minyear, opts.yearrange.maxyear)) return maskset.buffer[pos++] = yearPrefix.charAt(0), + maskset.buffer[pos++] = yearPrefix.charAt(1), { + pos: pos + }; + } + return isValid; + }, + cardinality: 1 + }, { + validator: function(chrs, maskset, pos, strict, opts) { + var isValid = opts.isInYearRange(chrs, opts.yearrange.minyear, opts.yearrange.maxyear); + if (!strict && !isValid) { + var yearPrefix = opts.determinebaseyear(opts.yearrange.minyear, opts.yearrange.maxyear, chrs).toString().slice(0, 2); + if (isValid = opts.isInYearRange(chrs[0] + yearPrefix[1] + chrs[1], opts.yearrange.minyear, opts.yearrange.maxyear)) return maskset.buffer[pos++] = yearPrefix.charAt(1), + { + pos: pos + }; + if (yearPrefix = opts.determinebaseyear(opts.yearrange.minyear, opts.yearrange.maxyear, chrs).toString().slice(0, 2), + isValid = opts.isInYearRange(yearPrefix + chrs, opts.yearrange.minyear, opts.yearrange.maxyear)) return maskset.buffer[pos - 1] = yearPrefix.charAt(0), + maskset.buffer[pos++] = yearPrefix.charAt(1), maskset.buffer[pos++] = chrs.charAt(0), + { + refreshFromBuffer: { + start: pos - 3, + end: pos + }, + pos: pos + }; + } + return isValid; + }, + cardinality: 2 + }, { + validator: function(chrs, maskset, pos, strict, opts) { + return opts.isInYearRange(chrs, opts.yearrange.minyear, opts.yearrange.maxyear); + }, + cardinality: 3 + } ] + } + }, + insertMode: !1, + autoUnmask: !1 + }, + "mm/dd/yyyy": { + placeholder: "mm/dd/yyyy", + alias: "dd/mm/yyyy", + regex: { + val2pre: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[13-9]|1[012])" + escapedSeparator + "[0-3])|(02" + escapedSeparator + "[0-2])"); + }, + val2: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[1-9]|1[012])" + escapedSeparator + "(0[1-9]|[12][0-9]))|((0[13-9]|1[012])" + escapedSeparator + "30)|((0[13578]|1[02])" + escapedSeparator + "31)"); + }, + val1pre: new RegExp("[01]"), + val1: new RegExp("0[1-9]|1[012]") + }, + leapday: "02/29/", + onKeyDown: function(e, buffer, caretPos, opts) { + var $input = $(this); + if (e.ctrlKey && e.keyCode === Inputmask.keyCode.RIGHT) { + var today = new Date(); + $input.val((today.getMonth() + 1).toString() + today.getDate().toString() + today.getFullYear().toString()), + $input.trigger("setvalue"); + } + } + }, + "yyyy/mm/dd": { + mask: "y/1/2", + placeholder: "yyyy/mm/dd", + alias: "mm/dd/yyyy", + leapday: "/02/29", + onKeyDown: function(e, buffer, caretPos, opts) { + var $input = $(this); + if (e.ctrlKey && e.keyCode === Inputmask.keyCode.RIGHT) { + var today = new Date(); + $input.val(today.getFullYear().toString() + (today.getMonth() + 1).toString() + today.getDate().toString()), + $input.trigger("setvalue"); + } + } + }, + "dd.mm.yyyy": { + mask: "1.2.y", + placeholder: "dd.mm.yyyy", + leapday: "29.02.", + separator: ".", + alias: "dd/mm/yyyy" + }, + "dd-mm-yyyy": { + mask: "1-2-y", + placeholder: "dd-mm-yyyy", + leapday: "29-02-", + separator: "-", + alias: "dd/mm/yyyy" + }, + "mm.dd.yyyy": { + mask: "1.2.y", + placeholder: "mm.dd.yyyy", + leapday: "02.29.", + separator: ".", + alias: "mm/dd/yyyy" + }, + "mm-dd-yyyy": { + mask: "1-2-y", + placeholder: "mm-dd-yyyy", + leapday: "02-29-", + separator: "-", + alias: "mm/dd/yyyy" + }, + "yyyy.mm.dd": { + mask: "y.1.2", + placeholder: "yyyy.mm.dd", + leapday: ".02.29", + separator: ".", + alias: "yyyy/mm/dd" + }, + "yyyy-mm-dd": { + mask: "y-1-2", + placeholder: "yyyy-mm-dd", + leapday: "-02-29", + separator: "-", + alias: "yyyy/mm/dd" + }, + datetime: { + mask: "1/2/y h:s", + placeholder: "dd/mm/yyyy hh:mm", + alias: "dd/mm/yyyy", + regex: { + hrspre: new RegExp("[012]"), + hrs24: new RegExp("2[0-4]|1[3-9]"), + hrs: new RegExp("[01][0-9]|2[0-4]"), + ampm: new RegExp("^[a|p|A|P][m|M]"), + mspre: new RegExp("[0-5]"), + ms: new RegExp("[0-5][0-9]") + }, + timeseparator: ":", + hourFormat: "24", + definitions: { + h: { + validator: function(chrs, maskset, pos, strict, opts) { + if ("24" === opts.hourFormat && 24 === parseInt(chrs, 10)) return maskset.buffer[pos - 1] = "0", + maskset.buffer[pos] = "0", { + refreshFromBuffer: { + start: pos - 1, + end: pos + }, + c: "0" + }; + var isValid = opts.regex.hrs.test(chrs); + if (!strict && !isValid && (chrs.charAt(1) === opts.timeseparator || -1 !== "-.:".indexOf(chrs.charAt(1))) && (isValid = opts.regex.hrs.test("0" + chrs.charAt(0)))) return maskset.buffer[pos - 1] = "0", + maskset.buffer[pos] = chrs.charAt(0), pos++, { + refreshFromBuffer: { + start: pos - 2, + end: pos + }, + pos: pos, + c: opts.timeseparator + }; + if (isValid && "24" !== opts.hourFormat && opts.regex.hrs24.test(chrs)) { + var tmp = parseInt(chrs, 10); + return 24 === tmp ? (maskset.buffer[pos + 5] = "a", maskset.buffer[pos + 6] = "m") : (maskset.buffer[pos + 5] = "p", + maskset.buffer[pos + 6] = "m"), (tmp -= 12) < 10 ? (maskset.buffer[pos] = tmp.toString(), + maskset.buffer[pos - 1] = "0") : (maskset.buffer[pos] = tmp.toString().charAt(1), + maskset.buffer[pos - 1] = tmp.toString().charAt(0)), { + refreshFromBuffer: { + start: pos - 1, + end: pos + 6 + }, + c: maskset.buffer[pos] + }; + } + return isValid; + }, + cardinality: 2, + prevalidator: [ { + validator: function(chrs, maskset, pos, strict, opts) { + var isValid = opts.regex.hrspre.test(chrs); + return strict || isValid || !(isValid = opts.regex.hrs.test("0" + chrs)) ? isValid : (maskset.buffer[pos] = "0", + pos++, { + pos: pos + }); + }, + cardinality: 1 + } ] + }, + s: { + validator: "[0-5][0-9]", + cardinality: 2, + prevalidator: [ { + validator: function(chrs, maskset, pos, strict, opts) { + var isValid = opts.regex.mspre.test(chrs); + return strict || isValid || !(isValid = opts.regex.ms.test("0" + chrs)) ? isValid : (maskset.buffer[pos] = "0", + pos++, { + pos: pos + }); + }, + cardinality: 1 + } ] + }, + t: { + validator: function(chrs, maskset, pos, strict, opts) { + return opts.regex.ampm.test(chrs + "m"); + }, + casing: "lower", + cardinality: 1 + } + }, + insertMode: !1, + autoUnmask: !1 + }, + datetime12: { + mask: "1/2/y h:s t\\m", + placeholder: "dd/mm/yyyy hh:mm xm", + alias: "datetime", + hourFormat: "12" + }, + "mm/dd/yyyy hh:mm xm": { + mask: "1/2/y h:s t\\m", + placeholder: "mm/dd/yyyy hh:mm xm", + alias: "datetime12", + regex: { + val2pre: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[13-9]|1[012])" + escapedSeparator + "[0-3])|(02" + escapedSeparator + "[0-2])"); + }, + val2: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[1-9]|1[012])" + escapedSeparator + "(0[1-9]|[12][0-9]))|((0[13-9]|1[012])" + escapedSeparator + "30)|((0[13578]|1[02])" + escapedSeparator + "31)"); + }, + val1pre: new RegExp("[01]"), + val1: new RegExp("0[1-9]|1[012]") + }, + leapday: "02/29/", + onKeyDown: function(e, buffer, caretPos, opts) { + var $input = $(this); + if (e.ctrlKey && e.keyCode === Inputmask.keyCode.RIGHT) { + var today = new Date(); + $input.val((today.getMonth() + 1).toString() + today.getDate().toString() + today.getFullYear().toString()), + $input.trigger("setvalue"); + } + } + }, + "hh:mm t": { + mask: "h:s t\\m", + placeholder: "hh:mm xm", + alias: "datetime", + hourFormat: "12" + }, + "h:s t": { + mask: "h:s t\\m", + placeholder: "hh:mm xm", + alias: "datetime", + hourFormat: "12" + }, + "hh:mm:ss": { + mask: "h:s:s", + placeholder: "hh:mm:ss", + alias: "datetime", + autoUnmask: !1 + }, + "hh:mm": { + mask: "h:s", + placeholder: "hh:mm", + alias: "datetime", + autoUnmask: !1 + }, + date: { + alias: "dd/mm/yyyy" + }, + "mm/yyyy": { + mask: "1/y", + placeholder: "mm/yyyy", + leapday: "donotuse", + separator: "/", + alias: "mm/dd/yyyy" + }, + shamsi: { + regex: { + val2pre: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[1-9]|1[012])" + escapedSeparator + "[0-3])"); + }, + val2: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[1-9]|1[012])" + escapedSeparator + "(0[1-9]|[12][0-9]))|((0[1-9]|1[012])" + escapedSeparator + "30)|((0[1-6])" + escapedSeparator + "31)"); + }, + val1pre: new RegExp("[01]"), + val1: new RegExp("0[1-9]|1[012]") + }, + yearrange: { + minyear: 1300, + maxyear: 1499 + }, + mask: "y/1/2", + leapday: "/12/30", + placeholder: "yyyy/mm/dd", + alias: "mm/dd/yyyy", + clearIncomplete: !0 + }, + "yyyy-mm-dd hh:mm:ss": { + mask: "y-1-2 h:s:s", + placeholder: "yyyy-mm-dd hh:mm:ss", + alias: "datetime", + separator: "-", + leapday: "-02-29", + regex: { + val2pre: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[13-9]|1[012])" + escapedSeparator + "[0-3])|(02" + escapedSeparator + "[0-2])"); + }, + val2: function(separator) { + var escapedSeparator = Inputmask.escapeRegex.call(this, separator); + return new RegExp("((0[1-9]|1[012])" + escapedSeparator + "(0[1-9]|[12][0-9]))|((0[13-9]|1[012])" + escapedSeparator + "30)|((0[13578]|1[02])" + escapedSeparator + "31)"); + }, + val1pre: new RegExp("[01]"), + val1: new RegExp("0[1-9]|1[012]") + }, + onKeyDown: function(e, buffer, caretPos, opts) {} + } + }), Inputmask; + }); +}, function(module, exports, __webpack_require__) { + "use strict"; + var __WEBPACK_AMD_DEFINE_RESULT__; + "function" == typeof Symbol && Symbol.iterator; + void 0 !== (__WEBPACK_AMD_DEFINE_RESULT__ = function() { + return window; + }.call(exports, __webpack_require__, exports, module)) && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__); +}, function(module, exports, __webpack_require__) { + "use strict"; + var __WEBPACK_AMD_DEFINE_RESULT__; + "function" == typeof Symbol && Symbol.iterator; + void 0 !== (__WEBPACK_AMD_DEFINE_RESULT__ = function() { + return document; + }.call(exports, __webpack_require__, exports, module)) && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__); +}, function(module, exports, __webpack_require__) { + "use strict"; + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + "function" == typeof Symbol && Symbol.iterator; + !function(factory) { + __WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(0), __webpack_require__(1) ], + void 0 !== (__WEBPACK_AMD_DEFINE_RESULT__ = "function" == typeof (__WEBPACK_AMD_DEFINE_FACTORY__ = factory) ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__) && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__); + }(function($, Inputmask) { + return Inputmask.extendDefinitions({ + A: { + validator: "[A-Za-zА-яЁёÀ-ÿµ]", + cardinality: 1, + casing: "upper" + }, + "&": { + validator: "[0-9A-Za-zА-яЁёÀ-ÿµ]", + cardinality: 1, + casing: "upper" + }, + "#": { + validator: "[0-9A-Fa-f]", + cardinality: 1, + casing: "upper" + } + }), Inputmask.extendAliases({ + url: { + definitions: { + i: { + validator: ".", + cardinality: 1 + } + }, + mask: "(\\http://)|(\\http\\s://)|(ftp://)|(ftp\\s://)i{+}", + insertMode: !1, + autoUnmask: !1, + inputmode: "url" + }, + ip: { + mask: "i[i[i]].i[i[i]].i[i[i]].i[i[i]]", + definitions: { + i: { + validator: function(chrs, maskset, pos, strict, opts) { + return pos - 1 > -1 && "." !== maskset.buffer[pos - 1] ? (chrs = maskset.buffer[pos - 1] + chrs, + chrs = pos - 2 > -1 && "." !== maskset.buffer[pos - 2] ? maskset.buffer[pos - 2] + chrs : "0" + chrs) : chrs = "00" + chrs, + new RegExp("25[0-5]|2[0-4][0-9]|[01][0-9][0-9]").test(chrs); + }, + cardinality: 1 + } + }, + onUnMask: function(maskedValue, unmaskedValue, opts) { + return maskedValue; + }, + inputmode: "numeric" + }, + email: { + mask: "*{1,64}[.*{1,64}][.*{1,64}][.*{1,63}]@-{1,63}.-{1,63}[.-{1,63}][.-{1,63}]", + greedy: !1, + onBeforePaste: function(pastedValue, opts) { + return (pastedValue = pastedValue.toLowerCase()).replace("mailto:", ""); + }, + definitions: { + "*": { + validator: "[0-9A-Za-z!#$%&'*+/=?^_`{|}~-]", + cardinality: 1, + casing: "lower" + }, + "-": { + validator: "[0-9A-Za-z-]", + cardinality: 1, + casing: "lower" + } + }, + onUnMask: function(maskedValue, unmaskedValue, opts) { + return maskedValue; + }, + inputmode: "email" + }, + mac: { + mask: "##:##:##:##:##:##" + }, + vin: { + mask: "V{13}9{4}", + definitions: { + V: { + validator: "[A-HJ-NPR-Za-hj-npr-z\\d]", + cardinality: 1, + casing: "upper" + } + }, + clearIncomplete: !0, + autoUnmask: !0 + } + }), Inputmask; + }); +}, function(module, exports, __webpack_require__) { + "use strict"; + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + "function" == typeof Symbol && Symbol.iterator; + !function(factory) { + __WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(0), __webpack_require__(1) ], + void 0 !== (__WEBPACK_AMD_DEFINE_RESULT__ = "function" == typeof (__WEBPACK_AMD_DEFINE_FACTORY__ = factory) ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__) && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__); + }(function($, Inputmask, undefined) { + function autoEscape(txt, opts) { + for (var escapedTxt = "", i = 0; i < txt.length; i++) Inputmask.prototype.definitions[txt.charAt(i)] || opts.definitions[txt.charAt(i)] || opts.optionalmarker.start === txt.charAt(i) || opts.optionalmarker.end === txt.charAt(i) || opts.quantifiermarker.start === txt.charAt(i) || opts.quantifiermarker.end === txt.charAt(i) || opts.groupmarker.start === txt.charAt(i) || opts.groupmarker.end === txt.charAt(i) || opts.alternatormarker === txt.charAt(i) ? escapedTxt += "\\" + txt.charAt(i) : escapedTxt += txt.charAt(i); + return escapedTxt; + } + return Inputmask.extendAliases({ + numeric: { + mask: function(opts) { + if (0 !== opts.repeat && isNaN(opts.integerDigits) && (opts.integerDigits = opts.repeat), + opts.repeat = 0, opts.groupSeparator === opts.radixPoint && ("." === opts.radixPoint ? opts.groupSeparator = "," : "," === opts.radixPoint ? opts.groupSeparator = "." : opts.groupSeparator = ""), + " " === opts.groupSeparator && (opts.skipOptionalPartCharacter = undefined), opts.autoGroup = opts.autoGroup && "" !== opts.groupSeparator, + opts.autoGroup && ("string" == typeof opts.groupSize && isFinite(opts.groupSize) && (opts.groupSize = parseInt(opts.groupSize)), + isFinite(opts.integerDigits))) { + var seps = Math.floor(opts.integerDigits / opts.groupSize), mod = opts.integerDigits % opts.groupSize; + opts.integerDigits = parseInt(opts.integerDigits) + (0 === mod ? seps - 1 : seps), + opts.integerDigits < 1 && (opts.integerDigits = "*"); + } + opts.placeholder.length > 1 && (opts.placeholder = opts.placeholder.charAt(0)), + "radixFocus" === opts.positionCaretOnClick && "" === opts.placeholder && !1 === opts.integerOptional && (opts.positionCaretOnClick = "lvp"), + opts.definitions[";"] = opts.definitions["~"], opts.definitions[";"].definitionSymbol = "~", + !0 === opts.numericInput && (opts.positionCaretOnClick = "radixFocus" === opts.positionCaretOnClick ? "lvp" : opts.positionCaretOnClick, + opts.digitsOptional = !1, isNaN(opts.digits) && (opts.digits = 2), opts.decimalProtect = !1); + var mask = "[+]"; + if (mask += autoEscape(opts.prefix, opts), !0 === opts.integerOptional ? mask += "~{1," + opts.integerDigits + "}" : mask += "~{" + opts.integerDigits + "}", + opts.digits !== undefined) { + opts.radixPointDefinitionSymbol = opts.decimalProtect ? ":" : opts.radixPoint; + var dq = opts.digits.toString().split(","); + isFinite(dq[0] && dq[1] && isFinite(dq[1])) ? mask += opts.radixPointDefinitionSymbol + ";{" + opts.digits + "}" : (isNaN(opts.digits) || parseInt(opts.digits) > 0) && (opts.digitsOptional ? mask += "[" + opts.radixPointDefinitionSymbol + ";{1," + opts.digits + "}]" : mask += opts.radixPointDefinitionSymbol + ";{" + opts.digits + "}"); + } + return mask += autoEscape(opts.suffix, opts), mask += "[-]", opts.greedy = !1, mask; + }, + placeholder: "", + greedy: !1, + digits: "*", + digitsOptional: !0, + enforceDigitsOnBlur: !1, + radixPoint: ".", + positionCaretOnClick: "radixFocus", + groupSize: 3, + groupSeparator: "", + autoGroup: !1, + allowMinus: !0, + negationSymbol: { + front: "-", + back: "" + }, + integerDigits: "+", + integerOptional: !0, + prefix: "", + suffix: "", + rightAlign: !0, + decimalProtect: !0, + min: null, + max: null, + step: 1, + insertMode: !0, + autoUnmask: !1, + unmaskAsNumber: !1, + inputmode: "numeric", + preValidation: function(buffer, pos, c, isSelection, opts) { + if ("-" === c || c === opts.negationSymbol.front) return !0 === opts.allowMinus && (opts.isNegative = opts.isNegative === undefined || !opts.isNegative, + "" === buffer.join("") || { + caret: pos, + dopost: !0 + }); + if (!1 === isSelection && c === opts.radixPoint && opts.digits !== undefined && (isNaN(opts.digits) || parseInt(opts.digits) > 0)) { + var radixPos = $.inArray(opts.radixPoint, buffer); + if (-1 !== radixPos) return !0 === opts.numericInput ? pos === radixPos : { + caret: radixPos + 1 + }; + } + return !0; + }, + postValidation: function(buffer, currentResult, opts) { + var suffix = opts.suffix.split(""), prefix = opts.prefix.split(""); + if (currentResult.pos === undefined && currentResult.caret !== undefined && !0 !== currentResult.dopost) return currentResult; + var caretPos = currentResult.caret !== undefined ? currentResult.caret : currentResult.pos, maskedValue = buffer.slice(); + opts.numericInput && (caretPos = maskedValue.length - caretPos - 1, maskedValue = maskedValue.reverse()); + var charAtPos = maskedValue[caretPos]; + if (charAtPos === opts.groupSeparator && (charAtPos = maskedValue[caretPos += 1]), + caretPos === maskedValue.length - opts.suffix.length - 1 && charAtPos === opts.radixPoint) return currentResult; + charAtPos !== undefined && charAtPos !== opts.radixPoint && charAtPos !== opts.negationSymbol.front && charAtPos !== opts.negationSymbol.back && (maskedValue[caretPos] = "?", + opts.prefix.length > 0 && caretPos >= (!1 === opts.isNegative ? 1 : 0) && caretPos < opts.prefix.length - 1 + (!1 === opts.isNegative ? 1 : 0) ? prefix[caretPos - (!1 === opts.isNegative ? 1 : 0)] = "?" : opts.suffix.length > 0 && caretPos >= maskedValue.length - opts.suffix.length - (!1 === opts.isNegative ? 1 : 0) && (suffix[caretPos - (maskedValue.length - opts.suffix.length - (!1 === opts.isNegative ? 1 : 0))] = "?")), + prefix = prefix.join(""), suffix = suffix.join(""); + var processValue = maskedValue.join("").replace(prefix, ""); + if (processValue = processValue.replace(suffix, ""), processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""), + processValue = processValue.replace(new RegExp("[-" + Inputmask.escapeRegex(opts.negationSymbol.front) + "]", "g"), ""), + processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.negationSymbol.back) + "$"), ""), + isNaN(opts.placeholder) && (processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.placeholder), "g"), "")), + processValue.length > 1 && 1 !== processValue.indexOf(opts.radixPoint) && ("0" === charAtPos && (processValue = processValue.replace(/^\?/g, "")), + processValue = processValue.replace(/^0/g, "")), processValue.charAt(0) === opts.radixPoint && "" !== opts.radixPoint && !0 !== opts.numericInput && (processValue = "0" + processValue), + "" !== processValue) { + if (processValue = processValue.split(""), (!opts.digitsOptional || opts.enforceDigitsOnBlur && "blur" === currentResult.event) && isFinite(opts.digits)) { + var radixPosition = $.inArray(opts.radixPoint, processValue), rpb = $.inArray(opts.radixPoint, maskedValue); + -1 === radixPosition && (processValue.push(opts.radixPoint), radixPosition = processValue.length - 1); + for (var i = 1; i <= opts.digits; i++) opts.digitsOptional && (!opts.enforceDigitsOnBlur || "blur" !== currentResult.event) || processValue[radixPosition + i] !== undefined && processValue[radixPosition + i] !== opts.placeholder.charAt(0) ? -1 !== rpb && maskedValue[rpb + i] !== undefined && (processValue[radixPosition + i] = processValue[radixPosition + i] || maskedValue[rpb + i]) : processValue[radixPosition + i] = currentResult.placeholder || opts.placeholder.charAt(0); + } + if (!0 !== opts.autoGroup || "" === opts.groupSeparator || charAtPos === opts.radixPoint && currentResult.pos === undefined && !currentResult.dopost) processValue = processValue.join(""); else { + var addRadix = processValue[processValue.length - 1] === opts.radixPoint && currentResult.c === opts.radixPoint; + processValue = Inputmask(function(buffer, opts) { + var postMask = ""; + if (postMask += "(" + opts.groupSeparator + "*{" + opts.groupSize + "}){*}", "" !== opts.radixPoint) { + var radixSplit = buffer.join("").split(opts.radixPoint); + radixSplit[1] && (postMask += opts.radixPoint + "*{" + radixSplit[1].match(/^\d*\??\d*/)[0].length + "}"); + } + return postMask; + }(processValue, opts), { + numericInput: !0, + jitMasking: !0, + definitions: { + "*": { + validator: "[0-9?]", + cardinality: 1 + } + } + }).format(processValue.join("")), addRadix && (processValue += opts.radixPoint), + processValue.charAt(0) === opts.groupSeparator && processValue.substr(1); + } + } + if (opts.isNegative && "blur" === currentResult.event && (opts.isNegative = "0" !== processValue), + processValue = prefix + processValue, processValue += suffix, opts.isNegative && (processValue = opts.negationSymbol.front + processValue, + processValue += opts.negationSymbol.back), processValue = processValue.split(""), + charAtPos !== undefined) if (charAtPos !== opts.radixPoint && charAtPos !== opts.negationSymbol.front && charAtPos !== opts.negationSymbol.back) (caretPos = $.inArray("?", processValue)) > -1 ? processValue[caretPos] = charAtPos : caretPos = currentResult.caret || 0; else if (charAtPos === opts.radixPoint || charAtPos === opts.negationSymbol.front || charAtPos === opts.negationSymbol.back) { + var newCaretPos = $.inArray(charAtPos, processValue); + -1 !== newCaretPos && (caretPos = newCaretPos); + } + opts.numericInput && (caretPos = processValue.length - caretPos - 1, processValue = processValue.reverse()); + var rslt = { + caret: charAtPos === undefined || currentResult.pos !== undefined ? caretPos + (opts.numericInput ? -1 : 1) : caretPos, + buffer: processValue, + refreshFromBuffer: currentResult.dopost || buffer.join("") !== processValue.join("") + }; + return rslt.refreshFromBuffer ? rslt : currentResult; + }, + onBeforeWrite: function(e, buffer, caretPos, opts) { + if (e) switch (e.type) { + case "keydown": + return opts.postValidation(buffer, { + caret: caretPos, + dopost: !0 + }, opts); + + case "blur": + case "checkval": + var unmasked; + if (function(opts) { + opts.parseMinMaxOptions === undefined && (null !== opts.min && (opts.min = opts.min.toString().replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""), + "," === opts.radixPoint && (opts.min = opts.min.replace(opts.radixPoint, ".")), + opts.min = isFinite(opts.min) ? parseFloat(opts.min) : NaN, isNaN(opts.min) && (opts.min = Number.MIN_VALUE)), + null !== opts.max && (opts.max = opts.max.toString().replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""), + "," === opts.radixPoint && (opts.max = opts.max.replace(opts.radixPoint, ".")), + opts.max = isFinite(opts.max) ? parseFloat(opts.max) : NaN, isNaN(opts.max) && (opts.max = Number.MAX_VALUE)), + opts.parseMinMaxOptions = "done"); + }(opts), null !== opts.min || null !== opts.max) { + if (unmasked = opts.onUnMask(buffer.join(""), undefined, $.extend({}, opts, { + unmaskAsNumber: !0 + })), null !== opts.min && unmasked < opts.min) return opts.isNegative = opts.min < 0, + opts.postValidation(opts.min.toString().replace(".", opts.radixPoint).split(""), { + caret: caretPos, + dopost: !0, + placeholder: "0" + }, opts); + if (null !== opts.max && unmasked > opts.max) return opts.isNegative = opts.max < 0, + opts.postValidation(opts.max.toString().replace(".", opts.radixPoint).split(""), { + caret: caretPos, + dopost: !0, + placeholder: "0" + }, opts); + } + return opts.postValidation(buffer, { + caret: caretPos, + placeholder: "0", + event: "blur" + }, opts); + + case "_checkval": + return { + caret: caretPos + }; + } + }, + regex: { + integerPart: function(opts, emptyCheck) { + return emptyCheck ? new RegExp("[" + Inputmask.escapeRegex(opts.negationSymbol.front) + "+]?") : new RegExp("[" + Inputmask.escapeRegex(opts.negationSymbol.front) + "+]?\\d+"); + }, + integerNPart: function(opts) { + return new RegExp("[\\d" + Inputmask.escapeRegex(opts.groupSeparator) + Inputmask.escapeRegex(opts.placeholder.charAt(0)) + "]+"); + } + }, + definitions: { + "~": { + validator: function(chrs, maskset, pos, strict, opts, isSelection) { + var isValid = strict ? new RegExp("[0-9" + Inputmask.escapeRegex(opts.groupSeparator) + "]").test(chrs) : new RegExp("[0-9]").test(chrs); + if (!0 === isValid) { + if (!0 !== opts.numericInput && maskset.validPositions[pos] !== undefined && "~" === maskset.validPositions[pos].match.def && !isSelection) { + var processValue = maskset.buffer.join(""), pvRadixSplit = (processValue = (processValue = processValue.replace(new RegExp("[-" + Inputmask.escapeRegex(opts.negationSymbol.front) + "]", "g"), "")).replace(new RegExp(Inputmask.escapeRegex(opts.negationSymbol.back) + "$"), "")).split(opts.radixPoint); + pvRadixSplit.length > 1 && (pvRadixSplit[1] = pvRadixSplit[1].replace(/0/g, opts.placeholder.charAt(0))), + "0" === pvRadixSplit[0] && (pvRadixSplit[0] = pvRadixSplit[0].replace(/0/g, opts.placeholder.charAt(0))), + processValue = pvRadixSplit[0] + opts.radixPoint + pvRadixSplit[1] || ""; + var bufferTemplate = maskset._buffer.join(""); + for (processValue === opts.radixPoint && (processValue = bufferTemplate); null === processValue.match(Inputmask.escapeRegex(bufferTemplate) + "$"); ) bufferTemplate = bufferTemplate.slice(1); + isValid = (processValue = (processValue = processValue.replace(bufferTemplate, "")).split(""))[pos] === undefined ? { + pos: pos, + remove: pos + } : { + pos: pos + }; + } + } else strict || chrs !== opts.radixPoint || maskset.validPositions[pos - 1] !== undefined || (maskset.buffer[pos] = "0", + isValid = { + pos: pos + 1 + }); + return isValid; + }, + cardinality: 1 + }, + "+": { + validator: function(chrs, maskset, pos, strict, opts) { + return opts.allowMinus && ("-" === chrs || chrs === opts.negationSymbol.front); + }, + cardinality: 1, + placeholder: "" + }, + "-": { + validator: function(chrs, maskset, pos, strict, opts) { + return opts.allowMinus && chrs === opts.negationSymbol.back; + }, + cardinality: 1, + placeholder: "" + }, + ":": { + validator: function(chrs, maskset, pos, strict, opts) { + var radix = "[" + Inputmask.escapeRegex(opts.radixPoint) + "]", isValid = new RegExp(radix).test(chrs); + return isValid && maskset.validPositions[pos] && maskset.validPositions[pos].match.placeholder === opts.radixPoint && (isValid = { + caret: pos + 1 + }), isValid; + }, + cardinality: 1, + placeholder: function(opts) { + return opts.radixPoint; + } + } + }, + onUnMask: function(maskedValue, unmaskedValue, opts) { + if ("" === unmaskedValue && !0 === opts.nullable) return unmaskedValue; + var processValue = maskedValue.replace(opts.prefix, ""); + return processValue = processValue.replace(opts.suffix, ""), processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""), + "" !== opts.placeholder.charAt(0) && (processValue = processValue.replace(new RegExp(opts.placeholder.charAt(0), "g"), "0")), + opts.unmaskAsNumber ? ("" !== opts.radixPoint && -1 !== processValue.indexOf(opts.radixPoint) && (processValue = processValue.replace(Inputmask.escapeRegex.call(this, opts.radixPoint), ".")), + processValue = processValue.replace(new RegExp("^" + Inputmask.escapeRegex(opts.negationSymbol.front)), "-"), + processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.negationSymbol.back) + "$"), ""), + Number(processValue)) : processValue; + }, + isComplete: function(buffer, opts) { + var maskedValue = buffer.join(""); + if (buffer.slice().join("") !== maskedValue) return !1; + var processValue = maskedValue.replace(opts.prefix, ""); + return processValue = processValue.replace(opts.suffix, ""), processValue = processValue.replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""), + "," === opts.radixPoint && (processValue = processValue.replace(Inputmask.escapeRegex(opts.radixPoint), ".")), + isFinite(processValue); + }, + onBeforeMask: function(initialValue, opts) { + if (opts.isNegative = undefined, initialValue = initialValue.toString().charAt(initialValue.length - 1) === opts.radixPoint ? initialValue.toString().substr(0, initialValue.length - 1) : initialValue.toString(), + "" !== opts.radixPoint && isFinite(initialValue)) { + var vs = initialValue.split("."), groupSize = "" !== opts.groupSeparator ? parseInt(opts.groupSize) : 0; + 2 === vs.length && (vs[0].length > groupSize || vs[1].length > groupSize || vs[0].length <= groupSize && vs[1].length < groupSize) && (initialValue = initialValue.replace(".", opts.radixPoint)); + } + var kommaMatches = initialValue.match(/,/g), dotMatches = initialValue.match(/\./g); + if (initialValue = dotMatches && kommaMatches ? dotMatches.length > kommaMatches.length ? (initialValue = initialValue.replace(/\./g, "")).replace(",", opts.radixPoint) : kommaMatches.length > dotMatches.length ? (initialValue = initialValue.replace(/,/g, "")).replace(".", opts.radixPoint) : initialValue.indexOf(".") < initialValue.indexOf(",") ? initialValue.replace(/\./g, "") : initialValue.replace(/,/g, "") : initialValue.replace(new RegExp(Inputmask.escapeRegex(opts.groupSeparator), "g"), ""), + 0 === opts.digits && (-1 !== initialValue.indexOf(".") ? initialValue = initialValue.substring(0, initialValue.indexOf(".")) : -1 !== initialValue.indexOf(",") && (initialValue = initialValue.substring(0, initialValue.indexOf(",")))), + "" !== opts.radixPoint && isFinite(opts.digits) && -1 !== initialValue.indexOf(opts.radixPoint)) { + var decPart = initialValue.split(opts.radixPoint)[1].match(new RegExp("\\d*"))[0]; + if (parseInt(opts.digits) < decPart.toString().length) { + var digitsFactor = Math.pow(10, parseInt(opts.digits)); + initialValue = initialValue.replace(Inputmask.escapeRegex(opts.radixPoint), "."), + initialValue = (initialValue = Math.round(parseFloat(initialValue) * digitsFactor) / digitsFactor).toString().replace(".", opts.radixPoint); + } + } + return initialValue; + }, + canClearPosition: function(maskset, position, lvp, strict, opts) { + var vp = maskset.validPositions[position], canClear = vp.input !== opts.radixPoint || null !== maskset.validPositions[position].match.fn && !1 === opts.decimalProtect || vp.input === opts.radixPoint && maskset.validPositions[position + 1] && null === maskset.validPositions[position + 1].match.fn || isFinite(vp.input) || position === lvp || vp.input === opts.groupSeparator || vp.input === opts.negationSymbol.front || vp.input === opts.negationSymbol.back; + return !canClear || "+" !== vp.match.nativeDef && "-" !== vp.match.nativeDef || (opts.isNegative = !1), + canClear; + }, + onKeyDown: function(e, buffer, caretPos, opts) { + var $input = $(this); + if (e.ctrlKey) switch (e.keyCode) { + case Inputmask.keyCode.UP: + $input.val(parseFloat(this.inputmask.unmaskedvalue()) + parseInt(opts.step)), $input.trigger("setvalue"); + break; + + case Inputmask.keyCode.DOWN: + $input.val(parseFloat(this.inputmask.unmaskedvalue()) - parseInt(opts.step)), $input.trigger("setvalue"); + } + } + }, + currency: { + prefix: "$ ", + groupSeparator: ",", + alias: "numeric", + placeholder: "0", + autoGroup: !0, + digits: 2, + digitsOptional: !1, + clearMaskOnLostFocus: !1 + }, + decimal: { + alias: "numeric" + }, + integer: { + alias: "numeric", + digits: 0, + radixPoint: "" + }, + percentage: { + alias: "numeric", + digits: 2, + digitsOptional: !0, + radixPoint: ".", + placeholder: "0", + autoGroup: !1, + min: 0, + max: 100, + suffix: " %", + allowMinus: !1 + } + }), Inputmask; + }); +}, function(module, exports, __webpack_require__) { + "use strict"; + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + "function" == typeof Symbol && Symbol.iterator; + !function(factory) { + __WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(0), __webpack_require__(1) ], + void 0 !== (__WEBPACK_AMD_DEFINE_RESULT__ = "function" == typeof (__WEBPACK_AMD_DEFINE_FACTORY__ = factory) ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__) && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__); + }(function($, Inputmask) { + function maskSort(a, b) { + var maska = (a.mask || a).replace(/#/g, "9").replace(/\)/, "9").replace(/[+()#-]/g, ""), maskb = (b.mask || b).replace(/#/g, "9").replace(/\)/, "9").replace(/[+()#-]/g, ""), maskas = (a.mask || a).split("#")[0], maskbs = (b.mask || b).split("#")[0]; + return 0 === maskbs.indexOf(maskas) ? -1 : 0 === maskas.indexOf(maskbs) ? 1 : maska.localeCompare(maskb); + } + var analyseMaskBase = Inputmask.prototype.analyseMask; + return Inputmask.prototype.analyseMask = function(mask, regexMask, opts) { + function reduceVariations(masks, previousVariation, previousmaskGroup) { + previousVariation = previousVariation || "", previousmaskGroup = previousmaskGroup || maskGroups, + "" !== previousVariation && (previousmaskGroup[previousVariation] = {}); + for (var variation = "", maskGroup = previousmaskGroup[previousVariation] || previousmaskGroup, i = masks.length - 1; i >= 0; i--) maskGroup[variation = (mask = masks[i].mask || masks[i]).substr(0, 1)] = maskGroup[variation] || [], + maskGroup[variation].unshift(mask.substr(1)), masks.splice(i, 1); + for (var ndx in maskGroup) maskGroup[ndx].length > 500 && reduceVariations(maskGroup[ndx].slice(), ndx, maskGroup); + } + function rebuild(maskGroup) { + var mask = "", submasks = []; + for (var ndx in maskGroup) $.isArray(maskGroup[ndx]) ? 1 === maskGroup[ndx].length ? submasks.push(ndx + maskGroup[ndx]) : submasks.push(ndx + opts.groupmarker.start + maskGroup[ndx].join(opts.groupmarker.end + opts.alternatormarker + opts.groupmarker.start) + opts.groupmarker.end) : submasks.push(ndx + rebuild(maskGroup[ndx])); + return 1 === submasks.length ? mask += submasks[0] : mask += opts.groupmarker.start + submasks.join(opts.groupmarker.end + opts.alternatormarker + opts.groupmarker.start) + opts.groupmarker.end, + mask; + } + var maskGroups = {}; + return opts.phoneCodes && (opts.phoneCodes && opts.phoneCodes.length > 1e3 && (reduceVariations((mask = mask.substr(1, mask.length - 2)).split(opts.groupmarker.end + opts.alternatormarker + opts.groupmarker.start)), + mask = rebuild(maskGroups)), mask = mask.replace(/9/g, "\\9")), analyseMaskBase.call(this, mask, regexMask, opts); + }, Inputmask.extendAliases({ + abstractphone: { + groupmarker: { + start: "<", + end: ">" + }, + countrycode: "", + phoneCodes: [], + mask: function(opts) { + return opts.definitions = { + "#": Inputmask.prototype.definitions[9] + }, opts.phoneCodes.sort(maskSort); + }, + keepStatic: !0, + onBeforeMask: function(value, opts) { + var processedValue = value.replace(/^0{1,2}/, "").replace(/[\s]/g, ""); + return (processedValue.indexOf(opts.countrycode) > 1 || -1 === processedValue.indexOf(opts.countrycode)) && (processedValue = "+" + opts.countrycode + processedValue), + processedValue; + }, + onUnMask: function(maskedValue, unmaskedValue, opts) { + return maskedValue.replace(/[()#-]/g, ""); + }, + inputmode: "tel" + } + }), Inputmask; + }); +}, function(module, exports, __webpack_require__) { + "use strict"; + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + "function" == typeof Symbol && Symbol.iterator; + !function(factory) { + __WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(0), __webpack_require__(1) ], + void 0 !== (__WEBPACK_AMD_DEFINE_RESULT__ = "function" == typeof (__WEBPACK_AMD_DEFINE_FACTORY__ = factory) ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__) && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__); + }(function($, Inputmask) { + return Inputmask.extendAliases({ + Regex: { + mask: "r", + greedy: !1, + repeat: "*", + regex: null, + regexTokens: null, + tokenizer: /\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g, + quantifierFilter: /[0-9]+[^,]/, + isComplete: function(buffer, opts) { + return new RegExp(opts.regex, opts.casing ? "i" : "").test(buffer.join("")); + }, + definitions: { + r: { + validator: function(chrs, maskset, pos, strict, opts) { + function RegexToken(isGroup, isQuantifier) { + this.matches = [], this.isGroup = isGroup || !1, this.isQuantifier = isQuantifier || !1, + this.quantifier = { + min: 1, + max: 1 + }, this.repeaterPart = void 0; + } + function validateRegexToken(token, fromGroup) { + var isvalid = !1; + fromGroup && (regexPart += "(", openGroupCount++); + for (var mndx = 0; mndx < token.matches.length; mndx++) { + var matchToken = token.matches[mndx]; + if (!0 === matchToken.isGroup) isvalid = validateRegexToken(matchToken, !0); else if (!0 === matchToken.isQuantifier) { + var crrntndx = $.inArray(matchToken, token.matches), matchGroup = token.matches[crrntndx - 1], regexPartBak = regexPart; + if (isNaN(matchToken.quantifier.max)) { + for (;matchToken.repeaterPart && matchToken.repeaterPart !== regexPart && matchToken.repeaterPart.length > regexPart.length && !(isvalid = validateRegexToken(matchGroup, !0)); ) ; + (isvalid = isvalid || validateRegexToken(matchGroup, !0)) && (matchToken.repeaterPart = regexPart), + regexPart = regexPartBak + matchToken.quantifier.max; + } else { + for (var i = 0, qm = matchToken.quantifier.max - 1; i < qm && !(isvalid = validateRegexToken(matchGroup, !0)); i++) ; + regexPart = regexPartBak + "{" + matchToken.quantifier.min + "," + matchToken.quantifier.max + "}"; + } + } else if (void 0 !== matchToken.matches) for (var k = 0; k < matchToken.length && !(isvalid = validateRegexToken(matchToken[k], fromGroup)); k++) ; else { + var testExp; + if ("[" == matchToken.charAt(0)) { + testExp = regexPart, testExp += matchToken; + for (j = 0; j < openGroupCount; j++) testExp += ")"; + isvalid = (exp = new RegExp("^(" + testExp + ")$", opts.casing ? "i" : "")).test(bufferStr); + } else for (var l = 0, tl = matchToken.length; l < tl; l++) if ("\\" !== matchToken.charAt(l)) { + testExp = regexPart, testExp = (testExp += matchToken.substr(0, l + 1)).replace(/\|$/, ""); + for (var j = 0; j < openGroupCount; j++) testExp += ")"; + var exp = new RegExp("^(" + testExp + ")$", opts.casing ? "i" : ""); + if (isvalid = exp.test(bufferStr)) break; + } + regexPart += matchToken; + } + if (isvalid) break; + } + return fromGroup && (regexPart += ")", openGroupCount--), isvalid; + } + var bufferStr, groupToken, cbuffer = maskset.buffer.slice(), regexPart = "", isValid = !1, openGroupCount = 0; + null === opts.regexTokens && function() { + var match, m, currentToken = new RegexToken(), opengroups = []; + for (opts.regexTokens = []; match = opts.tokenizer.exec(opts.regex); ) switch ((m = match[0]).charAt(0)) { + case "(": + opengroups.push(new RegexToken(!0)); + break; + + case ")": + groupToken = opengroups.pop(), opengroups.length > 0 ? opengroups[opengroups.length - 1].matches.push(groupToken) : currentToken.matches.push(groupToken); + break; + + case "{": + case "+": + case "*": + var quantifierToken = new RegexToken(!1, !0), mq = (m = m.replace(/[{}]/g, "")).split(","), mq0 = isNaN(mq[0]) ? mq[0] : parseInt(mq[0]), mq1 = 1 === mq.length ? mq0 : isNaN(mq[1]) ? mq[1] : parseInt(mq[1]); + if (quantifierToken.quantifier = { + min: mq0, + max: mq1 + }, opengroups.length > 0) { + var matches = opengroups[opengroups.length - 1].matches; + (match = matches.pop()).isGroup || ((groupToken = new RegexToken(!0)).matches.push(match), + match = groupToken), matches.push(match), matches.push(quantifierToken); + } else (match = currentToken.matches.pop()).isGroup || ((groupToken = new RegexToken(!0)).matches.push(match), + match = groupToken), currentToken.matches.push(match), currentToken.matches.push(quantifierToken); + break; + + default: + opengroups.length > 0 ? opengroups[opengroups.length - 1].matches.push(m) : currentToken.matches.push(m); + } + currentToken.matches.length > 0 && opts.regexTokens.push(currentToken); + }(), cbuffer.splice(pos, 0, chrs), bufferStr = cbuffer.join(""); + for (var i = 0; i < opts.regexTokens.length; i++) { + var regexToken = opts.regexTokens[i]; + if (isValid = validateRegexToken(regexToken, regexToken.isGroup)) break; + } + return isValid; + }, + cardinality: 1 + } + } + } + }), Inputmask; + }); +}, function(module, exports, __webpack_require__) { + "use strict"; + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__, _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { + return typeof obj; + } : function(obj) { + return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + !function(factory) { + __WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(2), __webpack_require__(1) ], + void 0 !== (__WEBPACK_AMD_DEFINE_RESULT__ = "function" == typeof (__WEBPACK_AMD_DEFINE_FACTORY__ = factory) ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__) && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__); + }(function($, Inputmask) { + return void 0 === $.fn.inputmask && ($.fn.inputmask = function(fn, options) { + var nptmask, input = this[0]; + if (void 0 === options && (options = {}), "string" == typeof fn) switch (fn) { + case "unmaskedvalue": + return input && input.inputmask ? input.inputmask.unmaskedvalue() : $(input).val(); + + case "remove": + return this.each(function() { + this.inputmask && this.inputmask.remove(); + }); + + case "getemptymask": + return input && input.inputmask ? input.inputmask.getemptymask() : ""; + + case "hasMaskedValue": + return !(!input || !input.inputmask) && input.inputmask.hasMaskedValue(); + + case "isComplete": + return !input || !input.inputmask || input.inputmask.isComplete(); + + case "getmetadata": + return input && input.inputmask ? input.inputmask.getmetadata() : void 0; + + case "setvalue": + $(input).val(options), input && void 0 === input.inputmask && $(input).triggerHandler("setvalue"); + break; + + case "option": + if ("string" != typeof options) return this.each(function() { + if (void 0 !== this.inputmask) return this.inputmask.option(options); + }); + if (input && void 0 !== input.inputmask) return input.inputmask.option(options); + break; + + default: + return options.alias = fn, nptmask = new Inputmask(options), this.each(function() { + nptmask.mask(this); + }); + } else { + if ("object" == (void 0 === fn ? "undefined" : _typeof(fn))) return nptmask = new Inputmask(fn), + void 0 === fn.mask && void 0 === fn.alias ? this.each(function() { + if (void 0 !== this.inputmask) return this.inputmask.option(fn); + nptmask.mask(this); + }) : this.each(function() { + nptmask.mask(this); + }); + if (void 0 === fn) return this.each(function() { + (nptmask = new Inputmask(options)).mask(this); + }); + } + }), $.fn.inputmask; + }); +} ]);
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/min/inputmask/inputmask.date.extensions.min.js b/public/bower_components/inputmask/dist/min/inputmask/inputmask.date.extensions.min.js new file mode 100644 index 0000000..55744a2 --- /dev/null +++ b/public/bower_components/inputmask/dist/min/inputmask/inputmask.date.extensions.min.js @@ -0,0 +1,9 @@ +/*! +* inputmask.date.extensions.min.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(e){"function"==typeof define&&define.amd?define(["./dependencyLibs/inputmask.dependencyLib","./inputmask"],e):"object"==typeof exports?module.exports=e(require("./dependencyLibs/inputmask.dependencyLib"),require("./inputmask")):e(window.dependencyLib||jQuery,window.Inputmask)}(function(e,a){function r(e){return isNaN(e)||29===new Date(e,2,0).getDate()}return a.extendAliases({"dd/mm/yyyy":{mask:"1/2/y",placeholder:"dd/mm/yyyy",regex:{val1pre:new RegExp("[0-3]"),val1:new RegExp("0[1-9]|[12][0-9]|3[01]"),val2pre:function(e){var r=a.escapeRegex.call(this,e);return new RegExp("((0[1-9]|[12][0-9]|3[01])"+r+"[01])")},val2:function(e){var r=a.escapeRegex.call(this,e);return new RegExp("((0[1-9]|[12][0-9])"+r+"(0[1-9]|1[012]))|(30"+r+"(0[13-9]|1[012]))|(31"+r+"(0[13578]|1[02]))")}},leapday:"29/02/",separator:"/",yearrange:{minyear:1900,maxyear:2099},isInYearRange:function(e,a,r){if(isNaN(e))return!1;var t=parseInt(e.concat(a.toString().slice(e.length))),n=parseInt(e.concat(r.toString().slice(e.length)));return!isNaN(t)&&(a<=t&&t<=r)||!isNaN(n)&&(a<=n&&n<=r)},determinebaseyear:function(e,a,r){var t=(new Date).getFullYear();if(e>t)return e;if(a<t){for(var n=a.toString().slice(0,2),y=a.toString().slice(2,4);a<n+r;)n--;var i=n+y;return e>i?e:i}if(e<=t&&t<=a){for(var s=t.toString().slice(0,2);a<s+r;)s--;var o=s+r;return o<e?e:o}return t},onKeyDown:function(r,t,n,y){var i=e(this);if(r.ctrlKey&&r.keyCode===a.keyCode.RIGHT){var s=new Date;i.val(s.getDate().toString()+(s.getMonth()+1).toString()+s.getFullYear().toString()),i.trigger("setvalue")}},getFrontValue:function(e,a,r){for(var t=0,n=0,y=0;y<e.length&&"2"!==e.charAt(y);y++){var i=r.definitions[e.charAt(y)];i?(t+=n,n=i.cardinality):n++}return a.join("").substr(t,n)},postValidation:function(e,a,t){var n,y,i=e.join("");return 0===t.mask.indexOf("y")?(y=i.substr(0,4),n=i.substring(4,10)):(y=i.substring(6,10),n=i.substr(0,6)),a&&(n!==t.leapday||r(y))},definitions:{1:{validator:function(e,a,r,t,n){var y=n.regex.val1.test(e);return t||y||e.charAt(1)!==n.separator&&-1==="-./".indexOf(e.charAt(1))||!(y=n.regex.val1.test("0"+e.charAt(0)))?y:(a.buffer[r-1]="0",{refreshFromBuffer:{start:r-1,end:r},pos:r,c:e.charAt(0)})},cardinality:2,prevalidator:[{validator:function(e,a,r,t,n){var y=e;isNaN(a.buffer[r+1])||(y+=a.buffer[r+1]);var i=1===y.length?n.regex.val1pre.test(y):n.regex.val1.test(y);if(i&&a.validPositions[r]&&(n.regex.val2(n.separator).test(e+a.validPositions[r].input)||(a.validPositions[r].input="0"===e?"1":"0")),!t&&!i){if(i=n.regex.val1.test(e+"0"))return a.buffer[r]=e,a.buffer[++r]="0",{pos:r,c:"0"};if(i=n.regex.val1.test("0"+e))return a.buffer[r]="0",r++,{pos:r}}return i},cardinality:1}]},2:{validator:function(e,a,r,t,n){var y=n.getFrontValue(a.mask,a.buffer,n);-1!==y.indexOf(n.placeholder[0])&&(y="01"+n.separator);var i=n.regex.val2(n.separator).test(y+e);return t||i||e.charAt(1)!==n.separator&&-1==="-./".indexOf(e.charAt(1))||!(i=n.regex.val2(n.separator).test(y+"0"+e.charAt(0)))?i:(a.buffer[r-1]="0",{refreshFromBuffer:{start:r-1,end:r},pos:r,c:e.charAt(0)})},cardinality:2,prevalidator:[{validator:function(e,a,r,t,n){isNaN(a.buffer[r+1])||(e+=a.buffer[r+1]);var y=n.getFrontValue(a.mask,a.buffer,n);-1!==y.indexOf(n.placeholder[0])&&(y="01"+n.separator);var i=1===e.length?n.regex.val2pre(n.separator).test(y+e):n.regex.val2(n.separator).test(y+e);return i&&a.validPositions[r]&&(n.regex.val2(n.separator).test(e+a.validPositions[r].input)||(a.validPositions[r].input="0"===e?"1":"0")),t||i||!(i=n.regex.val2(n.separator).test(y+"0"+e))?i:(a.buffer[r]="0",r++,{pos:r})},cardinality:1}]},y:{validator:function(e,a,r,t,n){return n.isInYearRange(e,n.yearrange.minyear,n.yearrange.maxyear)},cardinality:4,prevalidator:[{validator:function(e,a,r,t,n){var y=n.isInYearRange(e,n.yearrange.minyear,n.yearrange.maxyear);if(!t&&!y){var i=n.determinebaseyear(n.yearrange.minyear,n.yearrange.maxyear,e+"0").toString().slice(0,1);if(y=n.isInYearRange(i+e,n.yearrange.minyear,n.yearrange.maxyear))return a.buffer[r++]=i.charAt(0),{pos:r};if(i=n.determinebaseyear(n.yearrange.minyear,n.yearrange.maxyear,e+"0").toString().slice(0,2),y=n.isInYearRange(i+e,n.yearrange.minyear,n.yearrange.maxyear))return a.buffer[r++]=i.charAt(0),a.buffer[r++]=i.charAt(1),{pos:r}}return y},cardinality:1},{validator:function(e,a,r,t,n){var y=n.isInYearRange(e,n.yearrange.minyear,n.yearrange.maxyear);if(!t&&!y){var i=n.determinebaseyear(n.yearrange.minyear,n.yearrange.maxyear,e).toString().slice(0,2);if(y=n.isInYearRange(e[0]+i[1]+e[1],n.yearrange.minyear,n.yearrange.maxyear))return a.buffer[r++]=i.charAt(1),{pos:r};if(i=n.determinebaseyear(n.yearrange.minyear,n.yearrange.maxyear,e).toString().slice(0,2),y=n.isInYearRange(i+e,n.yearrange.minyear,n.yearrange.maxyear))return a.buffer[r-1]=i.charAt(0),a.buffer[r++]=i.charAt(1),a.buffer[r++]=e.charAt(0),{refreshFromBuffer:{start:r-3,end:r},pos:r}}return y},cardinality:2},{validator:function(e,a,r,t,n){return n.isInYearRange(e,n.yearrange.minyear,n.yearrange.maxyear)},cardinality:3}]}},insertMode:!1,autoUnmask:!1},"mm/dd/yyyy":{placeholder:"mm/dd/yyyy",alias:"dd/mm/yyyy",regex:{val2pre:function(e){var r=a.escapeRegex.call(this,e);return new RegExp("((0[13-9]|1[012])"+r+"[0-3])|(02"+r+"[0-2])")},val2:function(e){var r=a.escapeRegex.call(this,e);return new RegExp("((0[1-9]|1[012])"+r+"(0[1-9]|[12][0-9]))|((0[13-9]|1[012])"+r+"30)|((0[13578]|1[02])"+r+"31)")},val1pre:new RegExp("[01]"),val1:new RegExp("0[1-9]|1[012]")},leapday:"02/29/",onKeyDown:function(r,t,n,y){var i=e(this);if(r.ctrlKey&&r.keyCode===a.keyCode.RIGHT){var s=new Date;i.val((s.getMonth()+1).toString()+s.getDate().toString()+s.getFullYear().toString()),i.trigger("setvalue")}}},"yyyy/mm/dd":{mask:"y/1/2",placeholder:"yyyy/mm/dd",alias:"mm/dd/yyyy",leapday:"/02/29",onKeyDown:function(r,t,n,y){var i=e(this);if(r.ctrlKey&&r.keyCode===a.keyCode.RIGHT){var s=new Date;i.val(s.getFullYear().toString()+(s.getMonth()+1).toString()+s.getDate().toString()),i.trigger("setvalue")}}},"dd.mm.yyyy":{mask:"1.2.y",placeholder:"dd.mm.yyyy",leapday:"29.02.",separator:".",alias:"dd/mm/yyyy"},"dd-mm-yyyy":{mask:"1-2-y",placeholder:"dd-mm-yyyy",leapday:"29-02-",separator:"-",alias:"dd/mm/yyyy"},"mm.dd.yyyy":{mask:"1.2.y",placeholder:"mm.dd.yyyy",leapday:"02.29.",separator:".",alias:"mm/dd/yyyy"},"mm-dd-yyyy":{mask:"1-2-y",placeholder:"mm-dd-yyyy",leapday:"02-29-",separator:"-",alias:"mm/dd/yyyy"},"yyyy.mm.dd":{mask:"y.1.2",placeholder:"yyyy.mm.dd",leapday:".02.29",separator:".",alias:"yyyy/mm/dd"},"yyyy-mm-dd":{mask:"y-1-2",placeholder:"yyyy-mm-dd",leapday:"-02-29",separator:"-",alias:"yyyy/mm/dd"},datetime:{mask:"1/2/y h:s",placeholder:"dd/mm/yyyy hh:mm",alias:"dd/mm/yyyy",regex:{hrspre:new RegExp("[012]"),hrs24:new RegExp("2[0-4]|1[3-9]"),hrs:new RegExp("[01][0-9]|2[0-4]"),ampm:new RegExp("^[a|p|A|P][m|M]"),mspre:new RegExp("[0-5]"),ms:new RegExp("[0-5][0-9]")},timeseparator:":",hourFormat:"24",definitions:{h:{validator:function(e,a,r,t,n){if("24"===n.hourFormat&&24===parseInt(e,10))return a.buffer[r-1]="0",a.buffer[r]="0",{refreshFromBuffer:{start:r-1,end:r},c:"0"};var y=n.regex.hrs.test(e);if(!t&&!y&&(e.charAt(1)===n.timeseparator||-1!=="-.:".indexOf(e.charAt(1)))&&(y=n.regex.hrs.test("0"+e.charAt(0))))return a.buffer[r-1]="0",a.buffer[r]=e.charAt(0),r++,{refreshFromBuffer:{start:r-2,end:r},pos:r,c:n.timeseparator};if(y&&"24"!==n.hourFormat&&n.regex.hrs24.test(e)){var i=parseInt(e,10);return 24===i?(a.buffer[r+5]="a",a.buffer[r+6]="m"):(a.buffer[r+5]="p",a.buffer[r+6]="m"),(i-=12)<10?(a.buffer[r]=i.toString(),a.buffer[r-1]="0"):(a.buffer[r]=i.toString().charAt(1),a.buffer[r-1]=i.toString().charAt(0)),{refreshFromBuffer:{start:r-1,end:r+6},c:a.buffer[r]}}return y},cardinality:2,prevalidator:[{validator:function(e,a,r,t,n){var y=n.regex.hrspre.test(e);return t||y||!(y=n.regex.hrs.test("0"+e))?y:(a.buffer[r]="0",r++,{pos:r})},cardinality:1}]},s:{validator:"[0-5][0-9]",cardinality:2,prevalidator:[{validator:function(e,a,r,t,n){var y=n.regex.mspre.test(e);return t||y||!(y=n.regex.ms.test("0"+e))?y:(a.buffer[r]="0",r++,{pos:r})},cardinality:1}]},t:{validator:function(e,a,r,t,n){return n.regex.ampm.test(e+"m")},casing:"lower",cardinality:1}},insertMode:!1,autoUnmask:!1},datetime12:{mask:"1/2/y h:s t\\m",placeholder:"dd/mm/yyyy hh:mm xm",alias:"datetime",hourFormat:"12"},"mm/dd/yyyy hh:mm xm":{mask:"1/2/y h:s t\\m",placeholder:"mm/dd/yyyy hh:mm xm",alias:"datetime12",regex:{val2pre:function(e){var r=a.escapeRegex.call(this,e);return new RegExp("((0[13-9]|1[012])"+r+"[0-3])|(02"+r+"[0-2])")},val2:function(e){var r=a.escapeRegex.call(this,e);return new RegExp("((0[1-9]|1[012])"+r+"(0[1-9]|[12][0-9]))|((0[13-9]|1[012])"+r+"30)|((0[13578]|1[02])"+r+"31)")},val1pre:new RegExp("[01]"),val1:new RegExp("0[1-9]|1[012]")},leapday:"02/29/",onKeyDown:function(r,t,n,y){var i=e(this);if(r.ctrlKey&&r.keyCode===a.keyCode.RIGHT){var s=new Date;i.val((s.getMonth()+1).toString()+s.getDate().toString()+s.getFullYear().toString()),i.trigger("setvalue")}}},"hh:mm t":{mask:"h:s t\\m",placeholder:"hh:mm xm",alias:"datetime",hourFormat:"12"},"h:s t":{mask:"h:s t\\m",placeholder:"hh:mm xm",alias:"datetime",hourFormat:"12"},"hh:mm:ss":{mask:"h:s:s",placeholder:"hh:mm:ss",alias:"datetime",autoUnmask:!1},"hh:mm":{mask:"h:s",placeholder:"hh:mm",alias:"datetime",autoUnmask:!1},date:{alias:"dd/mm/yyyy"},"mm/yyyy":{mask:"1/y",placeholder:"mm/yyyy",leapday:"donotuse",separator:"/",alias:"mm/dd/yyyy"},shamsi:{regex:{val2pre:function(e){var r=a.escapeRegex.call(this,e);return new RegExp("((0[1-9]|1[012])"+r+"[0-3])")},val2:function(e){var r=a.escapeRegex.call(this,e);return new RegExp("((0[1-9]|1[012])"+r+"(0[1-9]|[12][0-9]))|((0[1-9]|1[012])"+r+"30)|((0[1-6])"+r+"31)")},val1pre:new RegExp("[01]"),val1:new RegExp("0[1-9]|1[012]")},yearrange:{minyear:1300,maxyear:1499},mask:"y/1/2",leapday:"/12/30",placeholder:"yyyy/mm/dd",alias:"mm/dd/yyyy",clearIncomplete:!0},"yyyy-mm-dd hh:mm:ss":{mask:"y-1-2 h:s:s",placeholder:"yyyy-mm-dd hh:mm:ss",alias:"datetime",separator:"-",leapday:"-02-29",regex:{val2pre:function(e){var r=a.escapeRegex.call(this,e);return new RegExp("((0[13-9]|1[012])"+r+"[0-3])|(02"+r+"[0-2])")},val2:function(e){var r=a.escapeRegex.call(this,e);return new RegExp("((0[1-9]|1[012])"+r+"(0[1-9]|[12][0-9]))|((0[13-9]|1[012])"+r+"30)|((0[13578]|1[02])"+r+"31)")},val1pre:new RegExp("[01]"),val1:new RegExp("0[1-9]|1[012]")},onKeyDown:function(e,a,r,t){}}}),a});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/min/inputmask/inputmask.extensions.min.js b/public/bower_components/inputmask/dist/min/inputmask/inputmask.extensions.min.js new file mode 100644 index 0000000..eac064b --- /dev/null +++ b/public/bower_components/inputmask/dist/min/inputmask/inputmask.extensions.min.js @@ -0,0 +1,9 @@ +/*! +* inputmask.extensions.min.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(i){"function"==typeof define&&define.amd?define(["./dependencyLibs/inputmask.dependencyLib","./inputmask"],i):"object"==typeof exports?module.exports=i(require("./dependencyLibs/inputmask.dependencyLib"),require("./inputmask")):i(window.dependencyLib||jQuery,window.Inputmask)}(function(i,n){return n.extendDefinitions({A:{validator:"[A-Za-zА-яЁёÀ-ÿµ]",cardinality:1,casing:"upper"},"&":{validator:"[0-9A-Za-zА-яЁёÀ-ÿµ]",cardinality:1,casing:"upper"},"#":{validator:"[0-9A-Fa-f]",cardinality:1,casing:"upper"}}),n.extendAliases({url:{definitions:{i:{validator:".",cardinality:1}},mask:"(\\http://)|(\\http\\s://)|(ftp://)|(ftp\\s://)i{+}",insertMode:!1,autoUnmask:!1,inputmode:"url"},ip:{mask:"i[i[i]].i[i[i]].i[i[i]].i[i[i]]",definitions:{i:{validator:function(i,n,e,a,t){return e-1>-1&&"."!==n.buffer[e-1]?(i=n.buffer[e-1]+i,i=e-2>-1&&"."!==n.buffer[e-2]?n.buffer[e-2]+i:"0"+i):i="00"+i,new RegExp("25[0-5]|2[0-4][0-9]|[01][0-9][0-9]").test(i)},cardinality:1}},onUnMask:function(i,n,e){return i},inputmode:"numeric"},email:{mask:"*{1,64}[.*{1,64}][.*{1,64}][.*{1,63}]@-{1,63}.-{1,63}[.-{1,63}][.-{1,63}]",greedy:!1,onBeforePaste:function(i,n){return(i=i.toLowerCase()).replace("mailto:","")},definitions:{"*":{validator:"[0-9A-Za-z!#$%&'*+/=?^_`{|}~-]",cardinality:1,casing:"lower"},"-":{validator:"[0-9A-Za-z-]",cardinality:1,casing:"lower"}},onUnMask:function(i,n,e){return i},inputmode:"email"},mac:{mask:"##:##:##:##:##:##"},vin:{mask:"V{13}9{4}",definitions:{V:{validator:"[A-HJ-NPR-Za-hj-npr-z\\d]",cardinality:1,casing:"upper"}},clearIncomplete:!0,autoUnmask:!0}}),n});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/min/inputmask/inputmask.min.js b/public/bower_components/inputmask/dist/min/inputmask/inputmask.min.js new file mode 100644 index 0000000..a5e7a09 --- /dev/null +++ b/public/bower_components/inputmask/dist/min/inputmask/inputmask.min.js @@ -0,0 +1,9 @@ +/*! +* inputmask.min.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(e){"function"==typeof define&&define.amd?define(["./dependencyLibs/inputmask.dependencyLib","./global/window","./global/document"],e):"object"==typeof exports?module.exports=e(require("./dependencyLibs/inputmask.dependencyLib"),require("./global/window"),require("./global/document")):window.Inputmask=e(window.dependencyLib||jQuery,window,document)}(function(e,t,n,i){function a(t,n,o){if(!(this instanceof a))return new a(t,n,o);this.el=i,this.events={},this.maskset=i,this.refreshValue=!1,!0!==o&&(e.isPlainObject(t)?n=t:(n=n||{}).alias=t,this.opts=e.extend(!0,{},this.defaults,n),this.noMasksCache=n&&n.definitions!==i,this.userOptions=n||{},this.isRTL=this.opts.numericInput,r(this.opts.alias,n,this.opts))}function r(t,n,o){var s=a.prototype.aliases[t];return s?(s.alias&&r(s.alias,i,o),e.extend(!0,o,s),e.extend(!0,o,n),!0):(null===o.mask&&(o.mask=t),!1)}function o(t,n){function r(t,r,o){var s=!1;if(null!==t&&""!==t||((s=null!==o.regex)?t=(t=o.regex).replace(/^(\^)(.*)(\$)$/,"$2"):(s=!0,t=".*")),1===t.length&&!1===o.greedy&&0!==o.repeat&&(o.placeholder=""),o.repeat>0||"*"===o.repeat||"+"===o.repeat){var l="*"===o.repeat?0:"+"===o.repeat?1:o.repeat;t=o.groupmarker.start+t+o.groupmarker.end+o.quantifiermarker.start+l+","+o.repeat+o.quantifiermarker.end}var c,u=s?"regex_"+o.regex:o.numericInput?t.split("").reverse().join(""):t;return a.prototype.masksCache[u]===i||!0===n?(c={mask:t,maskToken:a.prototype.analyseMask(t,s,o),validPositions:{},_buffer:i,buffer:i,tests:{},metadata:r,maskLength:i},!0!==n&&(a.prototype.masksCache[u]=c,c=e.extend(!0,{},a.prototype.masksCache[u]))):c=e.extend(!0,{},a.prototype.masksCache[u]),c}if(e.isFunction(t.mask)&&(t.mask=t.mask(t)),e.isArray(t.mask)){if(t.mask.length>1){t.keepStatic=null===t.keepStatic||t.keepStatic;var o=t.groupmarker.start;return e.each(t.numericInput?t.mask.reverse():t.mask,function(n,a){o.length>1&&(o+=t.groupmarker.end+t.alternatormarker+t.groupmarker.start),a.mask===i||e.isFunction(a.mask)?o+=a:o+=a.mask}),o+=t.groupmarker.end,r(o,t.mask,t)}t.mask=t.mask.pop()}return t.mask&&t.mask.mask!==i&&!e.isFunction(t.mask.mask)?r(t.mask.mask,t.mask,t):r(t.mask,t.mask,t)}function s(r,o,l){function h(e,t,n){t=t||0;var a,r,o,s=[],c=0,u=v();do{!0===e&&m().validPositions[c]?(r=(o=m().validPositions[c]).match,a=o.locator.slice(),s.push(!0===n?o.input:!1===n?r.nativeDef:G(c,r))):(r=(o=y(c,a,c-1)).match,a=o.locator.slice(),(!1===l.jitMasking||c<u||"number"==typeof l.jitMasking&&isFinite(l.jitMasking)&&l.jitMasking>c)&&s.push(!1===n?r.nativeDef:G(c,r))),c++}while((W===i||c<W)&&(null!==r.fn||""!==r.def)||t>c);return""===s[s.length-1]&&s.pop(),m().maskLength=c+1,s}function m(){return o}function d(e){var t=m();t.buffer=i,!0!==e&&(t.validPositions={},t.p=0)}function v(e,t,n){var a=-1,r=-1,o=n||m().validPositions;e===i&&(e=-1);for(var s in o){var l=parseInt(s);o[l]&&(t||!0!==o[l].generatedInput)&&(l<=e&&(a=l),l>=e&&(r=l))}return-1!==a&&e-a>1||r<e?a:r}function g(t,n,a,r){var o,s=t,c=e.extend(!0,{},m().validPositions),u=!1;for(m().p=t,o=n-1;o>=s;o--)m().validPositions[o]!==i&&(!0!==a&&(!m().validPositions[o].match.optionality&&function(e){var t=m().validPositions[e];if(t!==i&&null===t.match.fn){var n=m().validPositions[e-1],a=m().validPositions[e+1];return n!==i&&a!==i}return!1}(o)||!1===l.canClearPosition(m(),o,v(),r,l))||delete m().validPositions[o]);for(d(!0),o=s+1;o<=v();){for(;m().validPositions[s]!==i;)s++;if(o<s&&(o=s+1),m().validPositions[o]===i&&O(o))o++;else{var f=y(o);!1===u&&c[s]&&c[s].match.def===f.match.def?(m().validPositions[s]=e.extend(!0,{},c[s]),m().validPositions[s].input=f.input,delete m().validPositions[o],o++):P(s,f.match.def)?!1!==M(s,f.input||G(o),!0)&&(delete m().validPositions[o],o++,u=!0):O(o)||(o++,s--),s++}}d(!0)}function k(e,t){for(var n,a=e,r=v(),o=m().validPositions[r]||E(0)[0],s=o.alternation!==i?o.locator[o.alternation].toString().split(","):[],c=0;c<a.length&&(!((n=a[c]).match&&(l.greedy&&!0!==n.match.optionalQuantifier||(!1===n.match.optionality||!1===n.match.newBlockMarker)&&!0!==n.match.optionalQuantifier)&&(o.alternation===i||o.alternation!==n.alternation||n.locator[o.alternation]!==i&&w(n.locator[o.alternation].toString().split(","),s)))||!0===t&&(null!==n.match.fn||/[0-9a-bA-Z]/.test(n.match.def)));c++);return n}function y(e,t,n){return m().validPositions[e]||k(E(e,t?t.slice():t,n))}function b(e){return m().validPositions[e]?m().validPositions[e]:E(e)[0]}function P(e,t){for(var n=!1,i=E(e),a=0;a<i.length;a++)if(i[a].match&&i[a].match.def===t){n=!0;break}return n}function E(t,n,a){function r(n,a,o,c){function f(o,c,v){function g(t,n){var i=0===e.inArray(t,n.matches);return i||e.each(n.matches,function(e,a){if(!0===a.isQuantifier&&(i=g(t,n.matches[e-1])))return!1}),i}function k(t,n,a){var r,o;if(m().validPositions[t-1]&&a&&m().tests[t])for(var s=m().validPositions[t-1].locator,l=m().tests[t][0].locator,c=0;c<a;c++)if(s[c]!==l[c])return s.slice(a+1);return(m().tests[t]||m().validPositions[t])&&e.each(m().tests[t]||[m().validPositions[t]],function(e,t){var s=a!==i?a:t.alternation,l=t.locator[s]!==i?t.locator[s].toString().indexOf(n):-1;(o===i||l<o)&&-1!==l&&(r=t,o=l)}),r?r.locator.slice((a!==i?a:r.alternation)+1):a!==i?k(t,n):i}if(u>1e4)throw"Inputmask: There is probably an error in your mask definition or in the code. Create an issue on github with an example of the mask you are using. "+m().mask;if(u===t&&o.matches===i)return p.push({match:o,locator:c.reverse(),cd:d}),!0;if(o.matches!==i){if(o.isGroup&&v!==o){if(o=f(n.matches[e.inArray(o,n.matches)+1],c))return!0}else if(o.isOptional){var y=o;if(o=r(o,a,c,v)){if(s=p[p.length-1].match,!g(s,y))return!0;h=!0,u=t}}else if(o.isAlternator){var b,P=o,E=[],C=p.slice(),A=c.length,_=a.length>0?a.shift():-1;if(-1===_||"string"==typeof _){var x,w=u,M=a.slice(),O=[];if("string"==typeof _)O=_.split(",");else for(x=0;x<P.matches.length;x++)O.push(x);for(var S=0;S<O.length;S++){if(x=parseInt(O[S]),p=[],a=k(u,x,A)||M.slice(),!0!==(o=f(P.matches[x]||n.matches[x],[x].concat(c),v)||o)&&o!==i&&O[O.length-1]<P.matches.length){var D=e.inArray(o,n.matches)+1;n.matches.length>D&&(o=f(n.matches[D],[D].concat(c.slice(1,c.length)),v))&&(O.push(D.toString()),e.each(p,function(e,t){t.alternation=c.length-1}))}b=p.slice(),u=w,p=[];for(var j=0;j<b.length;j++){var T=b[j],G=!1;T.alternation=T.alternation||A;for(var L=0;L<E.length;L++){var B=E[L];if("string"!=typeof _||-1!==e.inArray(T.locator[T.alternation].toString(),O)){if(function(e,t){return e.match.nativeDef===t.match.nativeDef||e.match.def===t.match.nativeDef||e.match.nativeDef===t.match.def}(T,B)){G=!0,T.alternation===B.alternation&&-1===B.locator[B.alternation].toString().indexOf(T.locator[T.alternation])&&(B.locator[B.alternation]=B.locator[B.alternation]+","+T.locator[T.alternation],B.alternation=T.alternation),T.match.nativeDef===B.match.def&&(T.locator[T.alternation]=B.locator[B.alternation],E.splice(E.indexOf(B),1,T));break}if(T.match.def===B.match.def){G=!1;break}if(function(e,n){return null===e.match.fn&&null!==n.match.fn&&n.match.fn.test(e.match.def,m(),t,!1,l,!1)}(T,B)||function(e,n){return null!==e.match.fn&&null!==n.match.fn&&n.match.fn.test(e.match.def.replace(/[\[\]]/g,""),m(),t,!1,l,!1)}(T,B)){T.alternation===B.alternation&&-1===T.locator[T.alternation].toString().indexOf(B.locator[B.alternation].toString().split("")[0])&&(T.na=T.na||T.locator[T.alternation].toString(),-1===T.na.indexOf(T.locator[T.alternation].toString().split("")[0])&&(T.na=T.na+","+T.locator[B.alternation].toString().split("")[0]),G=!0,T.locator[T.alternation]=B.locator[B.alternation].toString().split("")[0]+","+T.locator[T.alternation],E.splice(E.indexOf(B),0,T));break}}}G||E.push(T)}}"string"==typeof _&&(E=e.map(E,function(t,n){if(isFinite(n)){var a=t.alternation,r=t.locator[a].toString().split(",");t.locator[a]=i,t.alternation=i;for(var o=0;o<r.length;o++)-1!==e.inArray(r[o],O)&&(t.locator[a]!==i?(t.locator[a]+=",",t.locator[a]+=r[o]):t.locator[a]=parseInt(r[o]),t.alternation=a);if(t.locator[a]!==i)return t}})),p=C.concat(E),u=t,h=p.length>0,o=E.length>0,a=M.slice()}else o=f(P.matches[_]||n.matches[_],[_].concat(c),v);if(o)return!0}else if(o.isQuantifier&&v!==n.matches[e.inArray(o,n.matches)-1])for(var I=o,F=a.length>0?a.shift():0;F<(isNaN(I.quantifier.max)?F+1:I.quantifier.max)&&u<=t;F++){var N=n.matches[e.inArray(I,n.matches)-1];if(o=f(N,[F].concat(c),N)){if(s=p[p.length-1].match,s.optionalQuantifier=F>I.quantifier.min-1,g(s,N)){if(F>I.quantifier.min-1){h=!0,u=t;break}return!0}return!0}}else if(o=r(o,a,c,v))return!0}else u++}for(var v=a.length>0?a.shift():0;v<n.matches.length;v++)if(!0!==n.matches[v].isQuantifier){var g=f(n.matches[v],[v].concat(o),c);if(g&&u===t)return g;if(u>t)break}}function o(e){if(l.keepStatic&&t>0&&e.length>1+(""===e[e.length-1].match.def?1:0)&&!0!==e[0].match.optionality&&!0!==e[0].match.optionalQuantifier&&null===e[0].match.fn&&!/[0-9a-bA-Z]/.test(e[0].match.def)){if(m().validPositions[t-1]===i)return[k(e)];if(m().validPositions[t-1].alternation===e[0].alternation)return[k(e)];if(m().validPositions[t-1])return[k(e)]}return e}var s,c=m().maskToken,u=n?a:0,f=n?n.slice():[0],p=[],h=!1,d=n?n.join(""):"";if(t>-1){if(n===i){for(var v,g=t-1;(v=m().validPositions[g]||m().tests[g])===i&&g>-1;)g--;v!==i&&g>-1&&(f=function(t){var n=[];return e.isArray(t)||(t=[t]),t.length>0&&(t[0].alternation===i?0===(n=k(t.slice()).locator.slice()).length&&(n=t[0].locator.slice()):e.each(t,function(e,t){if(""!==t.def)if(0===n.length)n=t.locator.slice();else for(var i=0;i<n.length;i++)t.locator[i]&&-1===n[i].toString().indexOf(t.locator[i])&&(n[i]+=","+t.locator[i])})),n}(v),d=f.join(""),u=g)}if(m().tests[t]&&m().tests[t][0].cd===d)return o(m().tests[t]);for(var y=f.shift();y<c.length&&!(r(c[y],f,[y])&&u===t||u>t);y++);}return(0===p.length||h)&&p.push({match:{fn:null,cardinality:0,optionality:!0,casing:null,def:"",placeholder:""},locator:[],cd:d}),n!==i&&m().tests[t]?o(e.extend(!0,[],p)):(m().tests[t]=e.extend(!0,[],p),o(m().tests[t]))}function C(){return m()._buffer===i&&(m()._buffer=h(!1,1),m().buffer===i&&(m().buffer=m()._buffer.slice())),m()._buffer}function A(e){return m().buffer!==i&&!0!==e||(m().buffer=h(!0,v(),!0)),m().buffer}function _(e,t,n){var a,r;if(!0===e)d(),e=0,t=n.length;else for(a=e;a<t;a++)delete m().validPositions[a];for(r=e,a=e;a<t;a++)if(d(!0),n[a]!==l.skipOptionalPartCharacter){var o=M(r,n[a],!0,!0);!1!==o&&(d(!0),r=o.caret!==i?o.caret:o.pos+1)}}function x(t,n,i){switch(l.casing||n.casing){case"upper":t=t.toUpperCase();break;case"lower":t=t.toLowerCase();break;case"title":var r=m().validPositions[i-1];t=0===i||r&&r.input===String.fromCharCode(a.keyCode.SPACE)?t.toUpperCase():t.toLowerCase();break;default:if(e.isFunction(l.casing)){var o=Array.prototype.slice.call(arguments);o.push(m().validPositions),t=l.casing.apply(this,o)}}return t}function w(t,n,a){for(var r,o=l.greedy?n:n.slice(0,1),s=!1,c=a!==i?a.split(","):[],u=0;u<c.length;u++)-1!==(r=t.indexOf(c[u]))&&t.splice(r,1);for(var f=0;f<t.length;f++)if(-1!==e.inArray(t[f],o)){s=!0;break}return s}function M(t,n,r,o,s,c){function u(e){var t=z?e.begin-e.end>1||e.begin-e.end==1:e.end-e.begin>1||e.end-e.begin==1;return t&&0===e.begin&&e.end===m().maskLength?"full":t}function f(n,a,r){var s=!1;return e.each(E(n),function(c,f){for(var h=f.match,k=a?1:0,y="",b=h.cardinality;b>k;b--)y+=j(n-(b-1));if(a&&(y+=a),A(!0),!1!==(s=null!=h.fn?h.fn.test(y,m(),n,r,l,u(t)):(a===h.def||a===l.skipOptionalPartCharacter)&&""!==h.def&&{c:G(n,h,!0)||h.def,pos:n})){var P=s.c!==i?s.c:a;P=P===l.skipOptionalPartCharacter&&null===h.fn?G(n,h,!0)||h.def:P;var E=n,C=A();if(s.remove!==i&&(e.isArray(s.remove)||(s.remove=[s.remove]),e.each(s.remove.sort(function(e,t){return t-e}),function(e,t){g(t,t+1,!0)})),s.insert!==i&&(e.isArray(s.insert)||(s.insert=[s.insert]),e.each(s.insert.sort(function(e,t){return e-t}),function(e,t){M(t.pos,t.c,!0,o)})),s.refreshFromBuffer){var w=s.refreshFromBuffer;if(_(!0===w?w:w.start,w.end,C),s.pos===i&&s.c===i)return s.pos=v(),!1;if((E=s.pos!==i?s.pos:n)!==n)return s=e.extend(s,M(E,P,!0,o)),!1}else if(!0!==s&&s.pos!==i&&s.pos!==n&&(E=s.pos,_(n,E,A().slice()),E!==n))return s=e.extend(s,M(E,P,!0)),!1;return(!0===s||s.pos!==i||s.c!==i)&&(c>0&&d(!0),p(E,e.extend({},f,{input:x(P,h,E)}),o,u(t))||(s=!1),!1)}}),s}function p(t,n,a,r){if(r||l.insertMode&&m().validPositions[t]!==i&&a===i){var o,s=e.extend(!0,{},m().validPositions),c=v(i,!0);for(o=t;o<=c;o++)delete m().validPositions[o];m().validPositions[t]=e.extend(!0,{},n);var u,f=!0,p=m().validPositions,g=!1,k=m().maskLength;for(o=u=t;o<=c;o++){var y=s[o];if(y!==i)for(var b=u;b<m().maskLength&&(null===y.match.fn&&p[o]&&(!0===p[o].match.optionalQuantifier||!0===p[o].match.optionality)||null!=y.match.fn);){if(b++,!1===g&&s[b]&&s[b].match.def===y.match.def)m().validPositions[b]=e.extend(!0,{},s[b]),m().validPositions[b].input=y.input,h(b),u=b,f=!0;else if(P(b,y.match.def)){var E=M(b,y.input,!0,!0);f=!1!==E,u=E.caret||E.insert?v():b,g=!0}else if(!(f=!0===y.generatedInput)&&b>=m().maskLength-1)break;if(m().maskLength<k&&(m().maskLength=k),f)break}if(!f)break}if(!f)return m().validPositions=e.extend(!0,{},s),d(!0),!1}else m().validPositions[t]=e.extend(!0,{},n);return d(!0),!0}function h(t){for(var n=t-1;n>-1&&!m().validPositions[n];n--);var a,r;for(n++;n<t;n++)m().validPositions[n]===i&&(!1===l.jitMasking||l.jitMasking>n)&&(""===(r=E(n,y(n-1).locator,n-1).slice())[r.length-1].match.def&&r.pop(),(a=k(r))&&(a.match.def===l.radixPointDefinitionSymbol||!O(n,!0)||e.inArray(l.radixPoint,A())<n&&a.match.fn&&a.match.fn.test(G(n),m(),n,!1,l))&&!1!==(C=f(n,G(n,a.match,!0)||(null==a.match.fn?a.match.def:""!==G(n)?G(n):A()[n]),!0))&&(m().validPositions[C.pos||n].generatedInput=!0))}r=!0===r;var b=t;t.begin!==i&&(b=z&&!u(t)?t.end:t.begin);var C=!0,D=e.extend(!0,{},m().validPositions);if(e.isFunction(l.preValidation)&&!r&&!0!==o&&!0!==c&&(C=l.preValidation(A(),b,n,u(t),l)),!0===C){if(h(b),u(t)&&(K(i,a.keyCode.DELETE,t,!0,!0),b=m().p),b<m().maskLength&&(W===i||b<W)&&(C=f(b,n,r),(!r||!0===o)&&!1===C&&!0!==c)){var T=m().validPositions[b];if(!T||null!==T.match.fn||T.match.def!==n&&n!==l.skipOptionalPartCharacter){if((l.insertMode||m().validPositions[S(b)]===i)&&!O(b,!0))for(var L=b+1,B=S(b);L<=B;L++)if(!1!==(C=f(L,n,r))){!function(t,n){var a=m().validPositions[n];if(a)for(var r=a.locator,o=r.length,s=t;s<n;s++)if(m().validPositions[s]===i&&!O(s,!0)){var l=E(s).slice(),c=k(l,!0),u=-1;""===l[l.length-1].match.def&&l.pop(),e.each(l,function(e,t){for(var n=0;n<o;n++){if(t.locator[n]===i||!w(t.locator[n].toString().split(","),r[n].toString().split(","),t.na)){var a=r[n],s=c.locator[n],l=t.locator[n];a-s>Math.abs(a-l)&&(c=t);break}u<n&&(u=n,c=t)}}),(c=e.extend({},c,{input:G(s,c.match,!0)||c.match.def})).generatedInput=!0,p(s,c,!0),m().validPositions[n]=i,f(n,a.input,!0)}}(b,C.pos!==i?C.pos:L),b=L;break}}else C={caret:S(b)}}!1===C&&l.keepStatic&&!r&&!0!==s&&(C=function(t,n,a){var r,s,c,u,f,p,h,g,k=e.extend(!0,{},m().validPositions),y=!1,b=v();for(u=m().validPositions[b];b>=0;b--)if((c=m().validPositions[b])&&c.alternation!==i){if(r=b,s=m().validPositions[r].alternation,u.locator[c.alternation]!==c.locator[c.alternation])break;u=c}if(s!==i){g=parseInt(r);var P=u.locator[u.alternation||s]!==i?u.locator[u.alternation||s]:h[0];P.length>0&&(P=P.split(",")[0]);var C=m().validPositions[g],A=m().validPositions[g-1];e.each(E(g,A?A.locator:i,g-1),function(r,c){h=c.locator[s]?c.locator[s].toString().split(","):[];for(var u=0;u<h.length;u++){var b=[],E=0,A=0,_=!1;if(P<h[u]&&(c.na===i||-1===e.inArray(h[u],c.na.split(","))||-1===e.inArray(P.toString(),h))){m().validPositions[g]=e.extend(!0,{},c);var x=m().validPositions[g].locator;for(m().validPositions[g].locator[s]=parseInt(h[u]),null==c.match.fn?(C.input!==c.match.def&&(_=!0,!0!==C.generatedInput&&b.push(C.input)),A++,m().validPositions[g].generatedInput=!/[0-9a-bA-Z]/.test(c.match.def),m().validPositions[g].input=c.match.def):m().validPositions[g].input=C.input,f=g+1;f<v(i,!0)+1;f++)(p=m().validPositions[f])&&!0!==p.generatedInput&&/[0-9a-bA-Z]/.test(p.input)?b.push(p.input):f<t&&E++,delete m().validPositions[f];for(_&&b[0]===c.match.def&&b.shift(),d(!0),y=!0;b.length>0;){var w=b.shift();if(w!==l.skipOptionalPartCharacter&&!(y=M(v(i,!0)+1,w,!1,o,!0)))break}if(y){m().validPositions[g].locator=x;var O=v(t)+1;for(f=g+1;f<v()+1;f++)((p=m().validPositions[f])===i||null==p.match.fn)&&f<t+(A-E)&&A++;y=M((t+=A-E)>O?O:t,n,a,o,!0)}if(y)return!1;d(),m().validPositions=e.extend(!0,{},k)}}})}return y}(b,n,r)),!0===C&&(C={pos:b})}if(e.isFunction(l.postValidation)&&!1!==C&&!r&&!0!==o&&!0!==c){var I=l.postValidation(A(!0),C,l);if(I.refreshFromBuffer&&I.buffer){var F=I.refreshFromBuffer;_(!0===F?F:F.start,F.end,I.buffer)}C=!0===I?C:I}return C&&C.pos===i&&(C.pos=b),!1!==C&&!0!==c||(d(!0),m().validPositions=e.extend(!0,{},D)),C}function O(e,t){var n=y(e).match;if(""===n.def&&(n=b(e).match),null!=n.fn)return n.fn;if(!0!==t&&e>-1){var i=E(e);return i.length>1+(""===i[i.length-1].match.def?1:0)}return!1}function S(e,t){var n=m().maskLength;if(e>=n)return n;var i=e;for(E(n+1).length>1&&(h(!0,n+1,!0),n=m().maskLength);++i<n&&(!0===t&&(!0!==b(i).match.newBlockMarker||!O(i))||!0!==t&&!O(i)););return i}function D(e,t){var n,i=e;if(i<=0)return 0;for(;--i>0&&(!0===t&&!0!==b(i).match.newBlockMarker||!0!==t&&!O(i)&&((n=E(i)).length<2||2===n.length&&""===n[1].match.def)););return i}function j(e){return m().validPositions[e]===i?G(e):m().validPositions[e].input}function T(t,n,a,r,o){if(r&&e.isFunction(l.onBeforeWrite)){var s=l.onBeforeWrite.call(Z,r,n,a,l);if(s){if(s.refreshFromBuffer){var c=s.refreshFromBuffer;_(!0===c?c:c.start,c.end,s.buffer||n),n=A(!0)}a!==i&&(a=s.caret!==i?s.caret:a)}}t!==i&&(t.inputmask._valueSet(n.join("")),a===i||r!==i&&"blur"===r.type?V(t,a,0===n.length):p&&r&&"input"===r.type?setTimeout(function(){I(t,a)},0):I(t,a),!0===o&&(J=!0,e(t).trigger("input")))}function G(t,n,a){if((n=n||b(t).match).placeholder!==i||!0===a)return e.isFunction(n.placeholder)?n.placeholder(l):n.placeholder;if(null===n.fn){if(t>-1&&m().validPositions[t]===i){var r,o=E(t),s=[];if(o.length>1+(""===o[o.length-1].match.def?1:0))for(var c=0;c<o.length;c++)if(!0!==o[c].match.optionality&&!0!==o[c].match.optionalQuantifier&&(null===o[c].match.fn||r===i||!1!==o[c].match.fn.test(r.match.def,m(),t,!0,l))&&(s.push(o[c]),null===o[c].match.fn&&(r=o[c]),s.length>1&&/[0-9a-bA-Z]/.test(s[0].match.def)))return l.placeholder.charAt(t%l.placeholder.length)}return n.def}return l.placeholder.charAt(t%l.placeholder.length)}function L(t,r,o,s,c){function u(e,t){return-1!==C().slice(e,S(e)).join("").indexOf(t)&&!O(e)&&b(e).match.nativeDef===t.charAt(t.length-1)}var f=s.slice(),p="",h=-1,g=i;if(d(),o||!0===l.autoUnmask)h=S(h);else{var k=C().slice(0,S(-1)).join(""),P=f.join("").match(new RegExp("^"+a.escapeRegex(k),"g"));P&&P.length>0&&(f.splice(0,P.length*k.length),h=S(h))}if(-1===h?(m().p=S(h),h=0):m().p=h,e.each(f,function(n,a){if(a!==i)if(m().validPositions[n]===i&&f[n]===G(n)&&O(n,!0)&&!1===M(n,f[n],!0,i,i,!0))m().p++;else{var r=new e.Event("_checkval");r.which=a.charCodeAt(0),p+=a;var s=v(i,!0),c=m().validPositions[s],k=y(s+1,c?c.locator.slice():i,s);if(!u(h,p)||o||l.autoUnmask){var b=o?n:null==k.match.fn&&k.match.optionality&&s+1<m().p?s+1:m().p;g=ne.keypressEvent.call(t,r,!0,!1,o,b),h=b+1,p=""}else g=ne.keypressEvent.call(t,r,!0,!1,!0,s+1);if(!1!==g&&!o&&e.isFunction(l.onBeforeWrite)){var P=g;if(g=l.onBeforeWrite.call(Z,r,A(),g.forwardPosition,l),(g=e.extend(P,g))&&g.refreshFromBuffer){var E=g.refreshFromBuffer;_(!0===E?E:E.start,E.end,g.buffer),d(!0),g.caret&&(m().p=g.caret,g.forwardPosition=g.caret)}}}}),r){var E=i;n.activeElement===t&&g&&(E=l.numericInput?D(g.forwardPosition):g.forwardPosition),T(t,A(),E,c||new e.Event("checkval"),c&&"input"===c.type)}}function B(t){if(t){if(t.inputmask===i)return t.value;t.inputmask&&t.inputmask.refreshValue&&ne.setValueEvent.call(t)}var n=[],a=m().validPositions;for(var r in a)a[r].match&&null!=a[r].match.fn&&n.push(a[r].input);var o=0===n.length?"":(z?n.reverse():n).join("");if(e.isFunction(l.onUnMask)){var s=(z?A().slice().reverse():A()).join("");o=l.onUnMask.call(Z,s,o,l)}return o}function I(e,a,r,o){function s(e){return!0===o||!z||"number"!=typeof e||l.greedy&&""===l.placeholder||(e=A().join("").length-e),e}var u;if(a===i)return e.setSelectionRange?(a=e.selectionStart,r=e.selectionEnd):t.getSelection?(u=t.getSelection().getRangeAt(0)).commonAncestorContainer.parentNode!==e&&u.commonAncestorContainer!==e||(a=u.startOffset,r=u.endOffset):n.selection&&n.selection.createRange&&(r=(a=0-(u=n.selection.createRange()).duplicate().moveStart("character",-e.inputmask._valueGet().length))+u.text.length),{begin:s(a),end:s(r)};if(a.begin!==i&&(r=a.end,a=a.begin),"number"==typeof a){a=s(a),r="number"==typeof(r=s(r))?r:a;var f=parseInt(((e.ownerDocument.defaultView||t).getComputedStyle?(e.ownerDocument.defaultView||t).getComputedStyle(e,null):e.currentStyle).fontSize)*r;if(e.scrollLeft=f>e.scrollWidth?f:0,c||!1!==l.insertMode||a!==r||r++,e.setSelectionRange)e.selectionStart=a,e.selectionEnd=r;else if(t.getSelection){if(u=n.createRange(),e.firstChild===i||null===e.firstChild){var p=n.createTextNode("");e.appendChild(p)}u.setStart(e.firstChild,a<e.inputmask._valueGet().length?a:e.inputmask._valueGet().length),u.setEnd(e.firstChild,r<e.inputmask._valueGet().length?r:e.inputmask._valueGet().length),u.collapse(!0);var h=t.getSelection();h.removeAllRanges(),h.addRange(u)}else e.createTextRange&&((u=e.createTextRange()).collapse(!0),u.moveEnd("character",r),u.moveStart("character",a),u.select());V(e,{begin:a,end:r})}}function F(t){var n,a,r=A(),o=r.length,s=v(),l={},c=m().validPositions[s],u=c!==i?c.locator.slice():i;for(n=s+1;n<r.length;n++)u=(a=y(n,u,n-1)).locator.slice(),l[n]=e.extend(!0,{},a);var f=c&&c.alternation!==i?c.locator[c.alternation]:i;for(n=o-1;n>s&&(((a=l[n]).match.optionality||a.match.optionalQuantifier&&a.match.newBlockMarker||f&&(f!==l[n].locator[c.alternation]&&null!=a.match.fn||null===a.match.fn&&a.locator[c.alternation]&&w(a.locator[c.alternation].toString().split(","),f.toString().split(","))&&""!==E(n)[0].def))&&r[n]===G(n,a.match));n--)o--;return t?{l:o,def:l[o]?l[o].match:i}:o}function N(e){for(var t,n=F(),a=e.length,r=m().validPositions[v()];n<a&&!O(n,!0)&&(t=r!==i?y(n,r.locator.slice(""),r):b(n))&&!0!==t.match.optionality&&(!0!==t.match.optionalQuantifier&&!0!==t.match.newBlockMarker||n+1===a&&""===(r!==i?y(n+1,r.locator.slice(""),r):b(n+1)).match.def);)n++;for(;(t=m().validPositions[n-1])&&t&&t.match.optionality&&t.input===l.skipOptionalPartCharacter;)n--;return e.splice(n),e}function R(t){if(e.isFunction(l.isComplete))return l.isComplete(t,l);if("*"===l.repeat)return i;var n=!1,a=F(!0),r=D(a.l);if(a.def===i||a.def.newBlockMarker||a.def.optionality||a.def.optionalQuantifier){n=!0;for(var o=0;o<=r;o++){var s=y(o).match;if(null!==s.fn&&m().validPositions[o]===i&&!0!==s.optionality&&!0!==s.optionalQuantifier||null===s.fn&&t[o]!==G(o,s)){n=!1;break}}}return n}function K(t,n,r,o,s){if((l.numericInput||z)&&(n===a.keyCode.BACKSPACE?n=a.keyCode.DELETE:n===a.keyCode.DELETE&&(n=a.keyCode.BACKSPACE),z)){var c=r.end;r.end=r.begin,r.begin=c}n===a.keyCode.BACKSPACE&&(r.end-r.begin<1||!1===l.insertMode)?(r.begin=D(r.begin),m().validPositions[r.begin]!==i&&m().validPositions[r.begin].input===l.groupSeparator&&r.begin--):n===a.keyCode.DELETE&&r.begin===r.end&&(r.end=O(r.end,!0)&&m().validPositions[r.end]&&m().validPositions[r.end].input!==l.radixPoint?r.end+1:S(r.end)+1,m().validPositions[r.begin]!==i&&m().validPositions[r.begin].input===l.groupSeparator&&r.end++),g(r.begin,r.end,!1,o),!0!==o&&function(){if(l.keepStatic){for(var n=[],a=v(-1,!0),r=e.extend(!0,{},m().validPositions),o=m().validPositions[a];a>=0;a--){var s=m().validPositions[a];if(s){if(!0!==s.generatedInput&&/[0-9a-bA-Z]/.test(s.input)&&n.push(s.input),delete m().validPositions[a],s.alternation!==i&&s.locator[s.alternation]!==o.locator[s.alternation])break;o=s}}if(a>-1)for(m().p=S(v(-1,!0));n.length>0;){var c=new e.Event("keypress");c.which=n.pop().charCodeAt(0),ne.keypressEvent.call(t,c,!0,!1,!1,m().p)}else m().validPositions=e.extend(!0,{},r)}}();var u=v(r.begin,!0);if(u<r.begin)m().p=S(u);else if(!0!==o&&(m().p=r.begin,!0!==s))for(;m().p<u&&m().validPositions[m().p]===i;)m().p++}function U(i){function a(e){var t,a=n.createElement("span");for(var o in r)isNaN(o)&&-1!==o.indexOf("font")&&(a.style[o]=r[o]);a.style.textTransform=r.textTransform,a.style.letterSpacing=r.letterSpacing,a.style.position="absolute",a.style.height="auto",a.style.width="auto",a.style.visibility="hidden",a.style.whiteSpace="nowrap",n.body.appendChild(a);var s,l=i.inputmask._valueGet(),c=0;for(t=0,s=l.length;t<=s;t++){if(a.innerHTML+=l.charAt(t)||"_",a.offsetWidth>=e){var u=e-c,f=a.offsetWidth-e;a.innerHTML=l.charAt(t),t=(u-=a.offsetWidth/3)<f?t-1:t;break}c=a.offsetWidth}return n.body.removeChild(a),t}var r=(i.ownerDocument.defaultView||t).getComputedStyle(i,null),o=n.createElement("div");o.style.width=r.width,o.style.textAlign=r.textAlign,(q=n.createElement("div")).className="im-colormask",i.parentNode.insertBefore(q,i),i.parentNode.removeChild(i),q.appendChild(o),q.appendChild(i),i.style.left=o.offsetLeft+"px",e(i).on("click",function(e){return I(i,a(e.clientX)),ne.clickEvent.call(i,[e])}),e(i).on("keydown",function(e){e.shiftKey||!1===l.insertMode||setTimeout(function(){V(i)},0)})}function V(e,t,a){function r(){p||null!==s.fn&&c.input!==i?p&&(null!==s.fn&&c.input!==i||""===s.def)&&(p=!1,f+="</span>"):(p=!0,f+="<span class='im-static'>")}function o(i){!0!==i&&h!==t.begin||n.activeElement!==e||(f+="<span class='im-caret' style='border-right-width: 1px;border-right-style: solid;'></span>")}var s,c,u,f="",p=!1,h=0;if(q!==i){var d=A();if(t===i?t=I(e):t.begin===i&&(t={begin:t,end:t}),!0!==a){var g=v();do{o(),m().validPositions[h]?(c=m().validPositions[h],s=c.match,u=c.locator.slice(),r(),f+=d[h]):(c=y(h,u,h-1),s=c.match,u=c.locator.slice(),(!1===l.jitMasking||h<g||"number"==typeof l.jitMasking&&isFinite(l.jitMasking)&&l.jitMasking>h)&&(r(),f+=G(h,s))),h++}while((W===i||h<W)&&(null!==s.fn||""!==s.def)||g>h||p);-1===f.indexOf("im-caret")&&o(!0),p&&r()}var k=q.getElementsByTagName("div")[0];k.innerHTML=f,e.inputmask.positionColorMask(e,k)}}o=o||this.maskset,l=l||this.opts;var H,Q,W,q,Z=this,$=this.el,z=this.isRTL,X=!1,J=!1,Y=!1,ee=!1,te={on:function(t,n,r){var o=function(t){if(this.inputmask===i&&"FORM"!==this.nodeName){var n=e.data(this,"_inputmask_opts");n?new a(n).mask(this):te.off(this)}else{if("setvalue"===t.type||"FORM"===this.nodeName||!(this.disabled||this.readOnly&&!("keydown"===t.type&&t.ctrlKey&&67===t.keyCode||!1===l.tabThrough&&t.keyCode===a.keyCode.TAB))){switch(t.type){case"input":if(!0===J)return J=!1,t.preventDefault();break;case"keydown":X=!1,J=!1;break;case"keypress":if(!0===X)return t.preventDefault();X=!0;break;case"click":if(u||f){var o=this,s=arguments;return setTimeout(function(){r.apply(o,s)},0),!1}}var c=r.apply(this,arguments);return!1===c&&(t.preventDefault(),t.stopPropagation()),c}t.preventDefault()}};t.inputmask.events[n]=t.inputmask.events[n]||[],t.inputmask.events[n].push(o),-1!==e.inArray(n,["submit","reset"])?null!==t.form&&e(t.form).on(n,o):e(t).on(n,o)},off:function(t,n){if(t.inputmask&&t.inputmask.events){var i;n?(i=[])[n]=t.inputmask.events[n]:i=t.inputmask.events,e.each(i,function(n,i){for(;i.length>0;){var a=i.pop();-1!==e.inArray(n,["submit","reset"])?null!==t.form&&e(t.form).off(n,a):e(t).off(n,a)}delete t.inputmask.events[n]})}}},ne={keydownEvent:function(t){var i=this,r=e(i),o=t.keyCode,s=I(i);if(o===a.keyCode.BACKSPACE||o===a.keyCode.DELETE||f&&o===a.keyCode.BACKSPACE_SAFARI||t.ctrlKey&&o===a.keyCode.X&&!function(e){var t=n.createElement("input"),i="on"+e,a=i in t;return a||(t.setAttribute(i,"return;"),a="function"==typeof t[i]),t=null,a}("cut"))t.preventDefault(),K(i,o,s),T(i,A(!0),m().p,t,i.inputmask._valueGet()!==A().join("")),i.inputmask._valueGet()===C().join("")?r.trigger("cleared"):!0===R(A())&&r.trigger("complete");else if(o===a.keyCode.END||o===a.keyCode.PAGE_DOWN){t.preventDefault();var c=S(v());l.insertMode||c!==m().maskLength||t.shiftKey||c--,I(i,t.shiftKey?s.begin:c,c,!0)}else o===a.keyCode.HOME&&!t.shiftKey||o===a.keyCode.PAGE_UP?(t.preventDefault(),I(i,0,t.shiftKey?s.begin:0,!0)):(l.undoOnEscape&&o===a.keyCode.ESCAPE||90===o&&t.ctrlKey)&&!0!==t.altKey?(L(i,!0,!1,H.split("")),r.trigger("click")):o!==a.keyCode.INSERT||t.shiftKey||t.ctrlKey?!0===l.tabThrough&&o===a.keyCode.TAB?(!0===t.shiftKey?(null===b(s.begin).match.fn&&(s.begin=S(s.begin)),s.end=D(s.begin,!0),s.begin=D(s.end,!0)):(s.begin=S(s.begin,!0),s.end=S(s.begin,!0),s.end<m().maskLength&&s.end--),s.begin<m().maskLength&&(t.preventDefault(),I(i,s.begin,s.end))):t.shiftKey||!1===l.insertMode&&(o===a.keyCode.RIGHT?setTimeout(function(){var e=I(i);I(i,e.begin)},0):o===a.keyCode.LEFT&&setTimeout(function(){var e=I(i);I(i,z?e.begin+1:e.begin-1)},0)):(l.insertMode=!l.insertMode,I(i,l.insertMode||s.begin!==m().maskLength?s.begin:s.begin-1));l.onKeyDown.call(this,t,A(),I(i).begin,l),Y=-1!==e.inArray(o,l.ignorables)},keypressEvent:function(t,n,r,o,s){var c=this,u=e(c),f=t.which||t.charCode||t.keyCode;if(!(!0===n||t.ctrlKey&&t.altKey)&&(t.ctrlKey||t.metaKey||Y))return f===a.keyCode.ENTER&&H!==A().join("")&&(H=A().join(""),setTimeout(function(){u.trigger("change")},0)),!0;if(f){46===f&&!1===t.shiftKey&&""!==l.radixPoint&&(f=l.radixPoint.charCodeAt(0));var p,h=n?{begin:s,end:s}:I(c),v=String.fromCharCode(f);m().writeOutBuffer=!0;var g=M(h,v,o);if(!1!==g&&(d(!0),p=g.caret!==i?g.caret:n?g.pos+1:S(g.pos),m().p=p),!1!==r&&(setTimeout(function(){l.onKeyValidation.call(c,f,g,l)},0),m().writeOutBuffer&&!1!==g)){var k=A();T(c,k,l.numericInput&&g.caret===i?D(p):p,t,!0!==n),!0!==n&&setTimeout(function(){!0===R(k)&&u.trigger("complete")},0)}if(t.preventDefault(),n)return!1!==g&&(g.forwardPosition=p),g}},pasteEvent:function(n){var i,a=this,r=n.originalEvent||n,o=e(a),s=a.inputmask._valueGet(!0),c=I(a);z&&(i=c.end,c.end=c.begin,c.begin=i);var u=s.substr(0,c.begin),f=s.substr(c.end,s.length);if(u===(z?C().reverse():C()).slice(0,c.begin).join("")&&(u=""),f===(z?C().reverse():C()).slice(c.end).join("")&&(f=""),z&&(i=u,u=f,f=i),t.clipboardData&&t.clipboardData.getData)s=u+t.clipboardData.getData("Text")+f;else{if(!r.clipboardData||!r.clipboardData.getData)return!0;s=u+r.clipboardData.getData("text/plain")+f}var p=s;if(e.isFunction(l.onBeforePaste)){if(!1===(p=l.onBeforePaste.call(Z,s,l)))return n.preventDefault();p||(p=s)}return L(a,!1,!1,z?p.split("").reverse():p.toString().split("")),T(a,A(),S(v()),n,H!==A().join("")),!0===R(A())&&o.trigger("complete"),n.preventDefault()},inputFallBackEvent:function(t){var n=this,i=n.inputmask._valueGet();if(A().join("")!==i){var r=I(n);if(!1===function(t,n,i){if("."===n.charAt(i.begin-1)&&""!==l.radixPoint&&((n=n.split(""))[i.begin-1]=l.radixPoint.charAt(0),n=n.join("")),n.charAt(i.begin-1)===l.radixPoint&&n.length>A().length){var a=new e.Event("keypress");return a.which=l.radixPoint.charCodeAt(0),ne.keypressEvent.call(t,a,!0,!0,!1,i.begin-1),!1}}(n,i,r))return!1;if(i=i.replace(new RegExp("("+a.escapeRegex(C().join(""))+")*"),""),!1===function(t,n,i){if(u){var a=n.replace(A().join(""),"");if(1===a.length){var r=new e.Event("keypress");return r.which=a.charCodeAt(0),ne.keypressEvent.call(t,r,!0,!0,!1,m().validPositions[i.begin-1]?i.begin:i.begin-1),!1}}}(n,i,r))return!1;r.begin>i.length&&(I(n,i.length),r=I(n));var o=A().join(""),s=i.substr(0,r.begin),c=i.substr(r.begin),f=o.substr(0,r.begin),p=o.substr(r.begin),h=r,d="",v=!1;if(s!==f){h.begin=0;for(var g=(v=s.length>=f.length)?s.length:f.length,k=0;s.charAt(k)===f.charAt(k)&&k<g;k++)h.begin++;v&&(d+=s.slice(h.begin,h.end))}c!==p&&(c.length>p.length?v&&(h.end=h.begin):c.length<p.length?h.end+=p.length-c.length:c.charAt(0)!==p.charAt(0)&&h.end++),T(n,A(),h),d.length>0?e.each(d.split(""),function(t,i){var a=new e.Event("keypress");a.which=i.charCodeAt(0),Y=!1,ne.keypressEvent.call(n,a)}):(h.begin===h.end-1&&I(n,D(h.begin+1),h.end),t.keyCode=a.keyCode.DELETE,ne.keydownEvent.call(n,t)),t.preventDefault()}},setValueEvent:function(t){this.inputmask.refreshValue=!1;var n=this,i=n.inputmask._valueGet(!0);e.isFunction(l.onBeforeMask)&&(i=l.onBeforeMask.call(Z,i,l)||i),i=i.split(""),L(n,!0,!1,z?i.reverse():i),H=A().join(""),(l.clearMaskOnLostFocus||l.clearIncomplete)&&n.inputmask._valueGet()===C().join("")&&n.inputmask._valueSet("")},focusEvent:function(e){var t=this,n=t.inputmask._valueGet();l.showMaskOnFocus&&(!l.showMaskOnHover||l.showMaskOnHover&&""===n)&&(t.inputmask._valueGet()!==A().join("")?T(t,A(),S(v())):!1===ee&&I(t,S(v()))),!0===l.positionCaretOnTab&&!1===ee&&""!==n&&(T(t,A(),I(t)),ne.clickEvent.apply(t,[e,!0])),H=A().join("")},mouseleaveEvent:function(e){var t=this;if(ee=!1,l.clearMaskOnLostFocus&&n.activeElement!==t){var i=A().slice(),a=t.inputmask._valueGet();a!==t.getAttribute("placeholder")&&""!==a&&(-1===v()&&a===C().join("")?i=[]:N(i),T(t,i))}},clickEvent:function(t,a){function r(t){if(""!==l.radixPoint){var n=m().validPositions;if(n[t]===i||n[t].input===G(t)){if(t<S(-1))return!0;var a=e.inArray(l.radixPoint,A());if(-1!==a){for(var r in n)if(a<r&&n[r].input!==G(r))return!1;return!0}}}return!1}var o=this;setTimeout(function(){if(n.activeElement===o){var e=I(o);if(a&&(z?e.end=e.begin:e.begin=e.end),e.begin===e.end)switch(l.positionCaretOnClick){case"none":break;case"radixFocus":if(r(e.begin)){var t=A().join("").indexOf(l.radixPoint);I(o,l.numericInput?S(t):t);break}default:var s=e.begin,c=v(s,!0),u=S(c);if(s<u)I(o,O(s,!0)||O(s-1,!0)?s:S(s));else{var f=m().validPositions[c],p=y(u,f?f.match.locator:i,f),h=G(u,p.match);if(""!==h&&A()[u]!==h&&!0!==p.match.optionalQuantifier&&!0!==p.match.newBlockMarker||!O(u,!0)&&p.match.def===h){var d=S(u);(s>=d||s===u)&&(u=d)}I(o,u)}}}},0)},dblclickEvent:function(e){var t=this;setTimeout(function(){I(t,0,S(v()))},0)},cutEvent:function(i){var r=this,o=e(r),s=I(r),l=i.originalEvent||i,c=t.clipboardData||l.clipboardData,u=z?A().slice(s.end,s.begin):A().slice(s.begin,s.end);c.setData("text",z?u.reverse().join(""):u.join("")),n.execCommand&&n.execCommand("copy"),K(r,a.keyCode.DELETE,s),T(r,A(),m().p,i,H!==A().join("")),r.inputmask._valueGet()===C().join("")&&o.trigger("cleared")},blurEvent:function(t){var n=e(this),a=this;if(a.inputmask){var r=a.inputmask._valueGet(),o=A().slice();""!==r&&(l.clearMaskOnLostFocus&&(-1===v()&&r===C().join("")?o=[]:N(o)),!1===R(o)&&(setTimeout(function(){n.trigger("incomplete")},0),l.clearIncomplete&&(d(),o=l.clearMaskOnLostFocus?[]:C().slice())),T(a,o,i,t)),H!==A().join("")&&(H=o.join(""),n.trigger("change"))}},mouseenterEvent:function(e){var t=this;ee=!0,n.activeElement!==t&&l.showMaskOnHover&&t.inputmask._valueGet()!==A().join("")&&T(t,A())},submitEvent:function(e){H!==A().join("")&&Q.trigger("change"),l.clearMaskOnLostFocus&&-1===v()&&$.inputmask._valueGet&&$.inputmask._valueGet()===C().join("")&&$.inputmask._valueSet(""),l.removeMaskOnSubmit&&($.inputmask._valueSet($.inputmask.unmaskedvalue(),!0),setTimeout(function(){T($,A())},0))},resetEvent:function(e){$.inputmask.refreshValue=!0,setTimeout(function(){Q.trigger("setvalue")},0)}};a.prototype.positionColorMask=function(e,t){e.style.left=t.offsetLeft+"px"};var ie;if(r!==i)switch(r.action){case"isComplete":return $=r.el,R(A());case"unmaskedvalue":return $!==i&&r.value===i||(ie=r.value,ie=(e.isFunction(l.onBeforeMask)?l.onBeforeMask.call(Z,ie,l)||ie:ie).split(""),L(i,!1,!1,z?ie.reverse():ie),e.isFunction(l.onBeforeWrite)&&l.onBeforeWrite.call(Z,i,A(),0,l)),B($);case"mask":!function(t){te.off(t);var a=function(t,a){var r=t.getAttribute("type"),o="INPUT"===t.tagName&&-1!==e.inArray(r,a.supportsInputType)||t.isContentEditable||"TEXTAREA"===t.tagName;if(!o)if("INPUT"===t.tagName){var s=n.createElement("input");s.setAttribute("type",r),o="text"===s.type,s=null}else o="partial";return!1!==o?function(t){function r(){return this.inputmask?this.inputmask.opts.autoUnmask?this.inputmask.unmaskedvalue():-1!==v()||!0!==a.nullable?n.activeElement===this&&a.clearMaskOnLostFocus?(z?N(A().slice()).reverse():N(A().slice())).join(""):s.call(this):"":s.call(this)}function o(t){l.call(this,t),this.inputmask&&e(this).trigger("setvalue")}var s,l;if(!t.inputmask.__valueGet){if(!0!==a.noValuePatching){if(Object.getOwnPropertyDescriptor){"function"!=typeof Object.getPrototypeOf&&(Object.getPrototypeOf="object"==typeof"test".__proto__?function(e){return e.__proto__}:function(e){return e.constructor.prototype});var c=Object.getPrototypeOf?Object.getOwnPropertyDescriptor(Object.getPrototypeOf(t),"value"):i;c&&c.get&&c.set?(s=c.get,l=c.set,Object.defineProperty(t,"value",{get:r,set:o,configurable:!0})):"INPUT"!==t.tagName&&(s=function(){return this.textContent},l=function(e){this.textContent=e},Object.defineProperty(t,"value",{get:r,set:o,configurable:!0}))}else n.__lookupGetter__&&t.__lookupGetter__("value")&&(s=t.__lookupGetter__("value"),l=t.__lookupSetter__("value"),t.__defineGetter__("value",r),t.__defineSetter__("value",o));t.inputmask.__valueGet=s,t.inputmask.__valueSet=l}t.inputmask._valueGet=function(e){return z&&!0!==e?s.call(this.el).split("").reverse().join(""):s.call(this.el)},t.inputmask._valueSet=function(e,t){l.call(this.el,null===e||e===i?"":!0!==t&&z?e.split("").reverse().join(""):e)},s===i&&(s=function(){return this.value},l=function(e){this.value=e},function(t){if(e.valHooks&&(e.valHooks[t]===i||!0!==e.valHooks[t].inputmaskpatch)){var n=e.valHooks[t]&&e.valHooks[t].get?e.valHooks[t].get:function(e){return e.value},r=e.valHooks[t]&&e.valHooks[t].set?e.valHooks[t].set:function(e,t){return e.value=t,e};e.valHooks[t]={get:function(e){if(e.inputmask){if(e.inputmask.opts.autoUnmask)return e.inputmask.unmaskedvalue();var t=n(e);return-1!==v(i,i,e.inputmask.maskset.validPositions)||!0!==a.nullable?t:""}return n(e)},set:function(t,n){var i,a=e(t);return i=r(t,n),t.inputmask&&a.trigger("setvalue"),i},inputmaskpatch:!0}}}(t.type),function(t){te.on(t,"mouseenter",function(t){var n=e(this);this.inputmask._valueGet()!==A().join("")&&n.trigger("setvalue")})}(t))}}(t):t.inputmask=i,o}(t,l);if(!1!==a&&($=t,Q=e($),-1===(W=$!==i?$.maxLength:i)&&(W=i),!0===l.colorMask&&U($),p&&($.hasOwnProperty("inputmode")&&($.inputmode=l.inputmode,$.setAttribute("inputmode",l.inputmode)),"rtfm"===l.androidHack&&(!0!==l.colorMask&&U($),$.type="password")),!0===a&&(te.on($,"submit",ne.submitEvent),te.on($,"reset",ne.resetEvent),te.on($,"mouseenter",ne.mouseenterEvent),te.on($,"blur",ne.blurEvent),te.on($,"focus",ne.focusEvent),te.on($,"mouseleave",ne.mouseleaveEvent),!0!==l.colorMask&&te.on($,"click",ne.clickEvent),te.on($,"dblclick",ne.dblclickEvent),te.on($,"paste",ne.pasteEvent),te.on($,"dragdrop",ne.pasteEvent),te.on($,"drop",ne.pasteEvent),te.on($,"cut",ne.cutEvent),te.on($,"complete",l.oncomplete),te.on($,"incomplete",l.onincomplete),te.on($,"cleared",l.oncleared),p||!0===l.inputEventOnly?$.removeAttribute("maxLength"):(te.on($,"keydown",ne.keydownEvent),te.on($,"keypress",ne.keypressEvent)),te.on($,"compositionstart",e.noop),te.on($,"compositionupdate",e.noop),te.on($,"compositionend",e.noop),te.on($,"keyup",e.noop),te.on($,"input",ne.inputFallBackEvent),te.on($,"beforeinput",e.noop)),te.on($,"setvalue",ne.setValueEvent),H=C().join(""),""!==$.inputmask._valueGet(!0)||!1===l.clearMaskOnLostFocus||n.activeElement===$)){var r=e.isFunction(l.onBeforeMask)?l.onBeforeMask.call(Z,$.inputmask._valueGet(!0),l)||$.inputmask._valueGet(!0):$.inputmask._valueGet(!0);""!==r&&L($,!0,!1,z?r.split("").reverse():r.split(""));var o=A().slice();H=o.join(""),!1===R(o)&&l.clearIncomplete&&d(),l.clearMaskOnLostFocus&&n.activeElement!==$&&(-1===v()?o=[]:N(o)),T($,o),n.activeElement===$&&I($,S(v()))}}($);break;case"format":return ie=(e.isFunction(l.onBeforeMask)?l.onBeforeMask.call(Z,r.value,l)||r.value:r.value).split(""),L(i,!0,!1,z?ie.reverse():ie),r.metadata?{value:z?A().slice().reverse().join(""):A().join(""),metadata:s.call(this,{action:"getmetadata"},o,l)}:z?A().slice().reverse().join(""):A().join("");case"isValid":r.value?(ie=r.value.split(""),L(i,!0,!0,z?ie.reverse():ie)):r.value=A().join("");for(var ae=A(),re=F(),oe=ae.length-1;oe>re&&!O(oe);oe--);return ae.splice(re,oe+1-re),R(ae)&&r.value===A().join("");case"getemptymask":return C().join("");case"remove":if($&&$.inputmask){Q=e($),$.inputmask._valueSet(l.autoUnmask?B($):$.inputmask._valueGet(!0)),te.off($);Object.getOwnPropertyDescriptor&&Object.getPrototypeOf?Object.getOwnPropertyDescriptor(Object.getPrototypeOf($),"value")&&$.inputmask.__valueGet&&Object.defineProperty($,"value",{get:$.inputmask.__valueGet,set:$.inputmask.__valueSet,configurable:!0}):n.__lookupGetter__&&$.__lookupGetter__("value")&&$.inputmask.__valueGet&&($.__defineGetter__("value",$.inputmask.__valueGet),$.__defineSetter__("value",$.inputmask.__valueSet)),$.inputmask=i}return $;case"getmetadata":if(e.isArray(o.metadata)){var se=h(!0,0,!1).join("");return e.each(o.metadata,function(e,t){if(t.mask===se)return se=t,!1}),se}return o.metadata}}var l=navigator.userAgent,c=/mobile/i.test(l),u=/iemobile/i.test(l),f=/iphone/i.test(l)&&!u,p=/android/i.test(l)&&!u;return a.prototype={dataAttribute:"data-inputmask",defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},quantifiermarker:{start:"{",end:"}"},groupmarker:{start:"(",end:")"},alternatormarker:"|",escapeChar:"\\",mask:null,regex:null,oncomplete:e.noop,onincomplete:e.noop,oncleared:e.noop,repeat:0,greedy:!0,autoUnmask:!1,removeMaskOnSubmit:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,alias:null,onKeyDown:e.noop,onBeforeMask:null,onBeforePaste:function(t,n){return e.isFunction(n.onBeforeMask)?n.onBeforeMask.call(this,t,n):t},onBeforeWrite:null,onUnMask:null,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:e.noop,skipOptionalPartCharacter:" ",numericInput:!1,rightAlign:!1,undoOnEscape:!0,radixPoint:"",radixPointDefinitionSymbol:i,groupSeparator:"",keepStatic:null,positionCaretOnTab:!0,tabThrough:!1,supportsInputType:["text","tel","password"],ignorables:[8,9,13,19,27,33,34,35,36,37,38,39,40,45,46,93,112,113,114,115,116,117,118,119,120,121,122,123,0,229],isComplete:null,canClearPosition:e.noop,preValidation:null,postValidation:null,staticDefinitionSymbol:i,jitMasking:!1,nullable:!0,inputEventOnly:!1,noValuePatching:!1,positionCaretOnClick:"lvp",casing:null,inputmode:"verbatim",colorMask:!1,androidHack:!1,importDataAttributes:!0},definitions:{9:{validator:"[0-91-9]",cardinality:1,definitionSymbol:"*"},a:{validator:"[A-Za-zА-яЁёÀ-ÿµ]",cardinality:1,definitionSymbol:"*"},"*":{validator:"[0-91-9A-Za-zА-яЁёÀ-ÿµ]",cardinality:1}},aliases:{},masksCache:{},mask:function(l){function c(n,a,o,s){function l(e,a){null!==(a=a!==i?a:n.getAttribute(s+"-"+e))&&("string"==typeof a&&(0===e.indexOf("on")?a=t[a]:"false"===a?a=!1:"true"===a&&(a=!0)),o[e]=a)}if(!0===a.importDataAttributes){var c,u,f,p,h=n.getAttribute(s);if(h&&""!==h&&(h=h.replace(new RegExp("'","g"),'"'),u=JSON.parse("{"+h+"}")),u){f=i;for(p in u)if("alias"===p.toLowerCase()){f=u[p];break}}l("alias",f),o.alias&&r(o.alias,o,a);for(c in a){if(u){f=i;for(p in u)if(p.toLowerCase()===c.toLowerCase()){f=u[p];break}}l(c,f)}}return e.extend(!0,a,o),("rtl"===n.dir||a.rightAlign)&&(n.style.textAlign="right"),("rtl"===n.dir||a.numericInput)&&(n.dir="ltr",n.removeAttribute("dir"),a.isRTL=!0),a}var u=this;return"string"==typeof l&&(l=n.getElementById(l)||n.querySelectorAll(l)),l=l.nodeName?[l]:l,e.each(l,function(t,n){var r=e.extend(!0,{},u.opts);c(n,r,e.extend(!0,{},u.userOptions),u.dataAttribute);var l=o(r,u.noMasksCache);l!==i&&(n.inputmask!==i&&(n.inputmask.opts.autoUnmask=!0,n.inputmask.remove()),n.inputmask=new a(i,i,!0),n.inputmask.opts=r,n.inputmask.noMasksCache=u.noMasksCache,n.inputmask.userOptions=e.extend(!0,{},u.userOptions),n.inputmask.isRTL=r.isRTL||r.numericInput,n.inputmask.el=n,n.inputmask.maskset=l,e.data(n,"_inputmask_opts",r),s.call(n.inputmask,{action:"mask"}))}),l&&l[0]?l[0].inputmask||this:this},option:function(t,n){return"string"==typeof t?this.opts[t]:"object"==typeof t?(e.extend(this.userOptions,t),this.el&&!0!==n&&this.mask(this.el),this):void 0},unmaskedvalue:function(e){return this.maskset=this.maskset||o(this.opts,this.noMasksCache),s.call(this,{action:"unmaskedvalue",value:e})},remove:function(){return s.call(this,{action:"remove"})},getemptymask:function(){return this.maskset=this.maskset||o(this.opts,this.noMasksCache),s.call(this,{action:"getemptymask"})},hasMaskedValue:function(){return!this.opts.autoUnmask},isComplete:function(){return this.maskset=this.maskset||o(this.opts,this.noMasksCache),s.call(this,{action:"isComplete"})},getmetadata:function(){return this.maskset=this.maskset||o(this.opts,this.noMasksCache),s.call(this,{action:"getmetadata"})},isValid:function(e){return this.maskset=this.maskset||o(this.opts,this.noMasksCache),s.call(this,{action:"isValid",value:e})},format:function(e,t){return this.maskset=this.maskset||o(this.opts,this.noMasksCache),s.call(this,{action:"format",value:e,metadata:t})},analyseMask:function(t,n,r){function o(e,t,n,i){this.matches=[],this.openGroup=e||!1,this.alternatorGroup=!1,this.isGroup=e||!1,this.isOptional=t||!1,this.isQuantifier=n||!1,this.isAlternator=i||!1,this.quantifier={min:1,max:1}}function s(t,o,s){s=s!==i?s:t.matches.length;var l=t.matches[s-1];if(n)0===o.indexOf("[")||b&&/\\d|\\s|\\w]/i.test(o)||"."===o?t.matches.splice(s++,0,{fn:new RegExp(o,r.casing?"i":""),cardinality:1,optionality:t.isOptional,newBlockMarker:l===i||l.def!==o,casing:null,def:o,placeholder:i,nativeDef:o}):(b&&(o=o[o.length-1]),e.each(o.split(""),function(e,n){l=t.matches[s-1],t.matches.splice(s++,0,{fn:null,cardinality:0,optionality:t.isOptional,newBlockMarker:l===i||l.def!==n&&null!==l.fn,casing:null,def:r.staticDefinitionSymbol||n,placeholder:r.staticDefinitionSymbol!==i?n:i,nativeDef:n})})),b=!1;else{var c=(r.definitions?r.definitions[o]:i)||a.prototype.definitions[o];if(c&&!b){for(var u=c.prevalidator,f=u?u.length:0,p=1;p<c.cardinality;p++){var h=f>=p?u[p-1]:[],m=h.validator,d=h.cardinality;t.matches.splice(s++,0,{fn:m?"string"==typeof m?new RegExp(m,r.casing?"i":""):new function(){this.test=m}:new RegExp("."),cardinality:d||1,optionality:t.isOptional,newBlockMarker:l===i||l.def!==(c.definitionSymbol||o),casing:c.casing,def:c.definitionSymbol||o,placeholder:c.placeholder,nativeDef:o}),l=t.matches[s-1]}t.matches.splice(s++,0,{fn:c.validator?"string"==typeof c.validator?new RegExp(c.validator,r.casing?"i":""):new function(){this.test=c.validator}:new RegExp("."),cardinality:c.cardinality,optionality:t.isOptional,newBlockMarker:l===i||l.def!==(c.definitionSymbol||o),casing:c.casing,def:c.definitionSymbol||o,placeholder:c.placeholder,nativeDef:o})}else t.matches.splice(s++,0,{fn:null,cardinality:0,optionality:t.isOptional,newBlockMarker:l===i||l.def!==o&&null!==l.fn,casing:null,def:r.staticDefinitionSymbol||o,placeholder:r.staticDefinitionSymbol!==i?o:i,nativeDef:o}),b=!1}}function l(t){t&&t.matches&&e.each(t.matches,function(e,a){var o=t.matches[e+1];(o===i||o.matches===i||!1===o.isQuantifier)&&a&&a.isGroup&&(a.isGroup=!1,n||(s(a,r.groupmarker.start,0),!0!==a.openGroup&&s(a,r.groupmarker.end))),l(a)})}function c(){if(E.length>0){if(m=E[E.length-1],s(m,p),m.isAlternator){d=E.pop();for(var e=0;e<d.matches.length;e++)d.matches[e].isGroup=!1;E.length>0?(m=E[E.length-1]).matches.push(d):P.matches.push(d)}}else s(P,p)}function u(e){e.matches=e.matches.reverse();for(var t in e.matches)if(e.matches.hasOwnProperty(t)){var n=parseInt(t);if(e.matches[t].isQuantifier&&e.matches[n+1]&&e.matches[n+1].isGroup){var a=e.matches[t];e.matches.splice(t,1),e.matches.splice(n+1,0,a)}e.matches[t].matches!==i?e.matches[t]=u(e.matches[t]):e.matches[t]=function(e){return e===r.optionalmarker.start?e=r.optionalmarker.end:e===r.optionalmarker.end?e=r.optionalmarker.start:e===r.groupmarker.start?e=r.groupmarker.end:e===r.groupmarker.end&&(e=r.groupmarker.start),e}(e.matches[t])}return e}var f,p,h,m,d,v,g,k=/(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})|[^.?*+^${[]()|\\]+|./g,y=/\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g,b=!1,P=new o,E=[],C=[];for(n&&(r.optionalmarker.start=i,r.optionalmarker.end=i);f=n?y.exec(t):k.exec(t);){if(p=f[0],n)switch(p.charAt(0)){case"?":p="{0,1}";break;case"+":case"*":p="{"+p+"}"}if(b)c();else switch(p.charAt(0)){case r.escapeChar:b=!0,n&&c();break;case r.optionalmarker.end:case r.groupmarker.end:if(h=E.pop(),h.openGroup=!1,h!==i)if(E.length>0){if((m=E[E.length-1]).matches.push(h),m.isAlternator){d=E.pop();for(var A=0;A<d.matches.length;A++)d.matches[A].isGroup=!1,d.matches[A].alternatorGroup=!1;E.length>0?(m=E[E.length-1]).matches.push(d):P.matches.push(d)}}else P.matches.push(h);else c();break;case r.optionalmarker.start:E.push(new o(!1,!0));break;case r.groupmarker.start:E.push(new o(!0));break;case r.quantifiermarker.start:var _=new o(!1,!1,!0),x=(p=p.replace(/[{}]/g,"")).split(","),w=isNaN(x[0])?x[0]:parseInt(x[0]),M=1===x.length?w:isNaN(x[1])?x[1]:parseInt(x[1]);if("*"!==M&&"+"!==M||(w="*"===M?0:1),_.quantifier={min:w,max:M},E.length>0){var O=E[E.length-1].matches;(f=O.pop()).isGroup||((g=new o(!0)).matches.push(f),f=g),O.push(f),O.push(_)}else(f=P.matches.pop()).isGroup||(n&&null===f.fn&&"."===f.def&&(f.fn=new RegExp(f.def,r.casing?"i":"")),(g=new o(!0)).matches.push(f),f=g),P.matches.push(f),P.matches.push(_);break;case r.alternatormarker:if(E.length>0){var S=(m=E[E.length-1]).matches[m.matches.length-1];v=m.openGroup&&(S.matches===i||!1===S.isGroup&&!1===S.isAlternator)?E.pop():m.matches.pop()}else v=P.matches.pop();if(v.isAlternator)E.push(v);else if(v.alternatorGroup?(d=E.pop(),v.alternatorGroup=!1):d=new o(!1,!1,!1,!0),d.matches.push(v),E.push(d),v.openGroup){v.openGroup=!1;var D=new o(!0);D.alternatorGroup=!0,E.push(D)}break;default:c()}}for(;E.length>0;)h=E.pop(),P.matches.push(h);return P.matches.length>0&&(l(P),C.push(P)),(r.numericInput||r.isRTL)&&u(C[0]),C}},a.extendDefaults=function(t){e.extend(!0,a.prototype.defaults,t)},a.extendDefinitions=function(t){e.extend(!0,a.prototype.definitions,t)},a.extendAliases=function(t){e.extend(!0,a.prototype.aliases,t)},a.format=function(e,t,n){return a(t).format(e,n)},a.unmask=function(e,t){return a(t).unmaskedvalue(e)},a.isValid=function(e,t){return a(t).isValid(e)},a.remove=function(t){e.each(t,function(e,t){t.inputmask&&t.inputmask.remove()})},a.escapeRegex=function(e){var t=["/",".","*","+","?","|","(",")","[","]","{","}","\\","$","^"];return e.replace(new RegExp("(\\"+t.join("|\\")+")","gim"),"\\$1")},a.keyCode={ALT:18,BACKSPACE:8,BACKSPACE_SAFARI:127,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91,X:88},a});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/min/inputmask/inputmask.numeric.extensions.min.js b/public/bower_components/inputmask/dist/min/inputmask/inputmask.numeric.extensions.min.js new file mode 100644 index 0000000..e31b684 --- /dev/null +++ b/public/bower_components/inputmask/dist/min/inputmask/inputmask.numeric.extensions.min.js @@ -0,0 +1,9 @@ +/*! +* inputmask.numeric.extensions.min.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(e){"function"==typeof define&&define.amd?define(["./dependencyLibs/inputmask.dependencyLib","./inputmask"],e):"object"==typeof exports?module.exports=e(require("./dependencyLibs/inputmask.dependencyLib"),require("./inputmask")):e(window.dependencyLib||jQuery,window.Inputmask)}(function(e,i,t){function r(e,t){for(var r="",a=0;a<e.length;a++)i.prototype.definitions[e.charAt(a)]||t.definitions[e.charAt(a)]||t.optionalmarker.start===e.charAt(a)||t.optionalmarker.end===e.charAt(a)||t.quantifiermarker.start===e.charAt(a)||t.quantifiermarker.end===e.charAt(a)||t.groupmarker.start===e.charAt(a)||t.groupmarker.end===e.charAt(a)||t.alternatormarker===e.charAt(a)?r+="\\"+e.charAt(a):r+=e.charAt(a);return r}return i.extendAliases({numeric:{mask:function(e){if(0!==e.repeat&&isNaN(e.integerDigits)&&(e.integerDigits=e.repeat),e.repeat=0,e.groupSeparator===e.radixPoint&&("."===e.radixPoint?e.groupSeparator=",":","===e.radixPoint?e.groupSeparator=".":e.groupSeparator="")," "===e.groupSeparator&&(e.skipOptionalPartCharacter=t),e.autoGroup=e.autoGroup&&""!==e.groupSeparator,e.autoGroup&&("string"==typeof e.groupSize&&isFinite(e.groupSize)&&(e.groupSize=parseInt(e.groupSize)),isFinite(e.integerDigits))){var i=Math.floor(e.integerDigits/e.groupSize),a=e.integerDigits%e.groupSize;e.integerDigits=parseInt(e.integerDigits)+(0===a?i-1:i),e.integerDigits<1&&(e.integerDigits="*")}e.placeholder.length>1&&(e.placeholder=e.placeholder.charAt(0)),"radixFocus"===e.positionCaretOnClick&&""===e.placeholder&&!1===e.integerOptional&&(e.positionCaretOnClick="lvp"),e.definitions[";"]=e.definitions["~"],e.definitions[";"].definitionSymbol="~",!0===e.numericInput&&(e.positionCaretOnClick="radixFocus"===e.positionCaretOnClick?"lvp":e.positionCaretOnClick,e.digitsOptional=!1,isNaN(e.digits)&&(e.digits=2),e.decimalProtect=!1);var n="[+]";if(n+=r(e.prefix,e),!0===e.integerOptional?n+="~{1,"+e.integerDigits+"}":n+="~{"+e.integerDigits+"}",e.digits!==t){e.radixPointDefinitionSymbol=e.decimalProtect?":":e.radixPoint;var o=e.digits.toString().split(",");isFinite(o[0]&&o[1]&&isFinite(o[1]))?n+=e.radixPointDefinitionSymbol+";{"+e.digits+"}":(isNaN(e.digits)||parseInt(e.digits)>0)&&(e.digitsOptional?n+="["+e.radixPointDefinitionSymbol+";{1,"+e.digits+"}]":n+=e.radixPointDefinitionSymbol+";{"+e.digits+"}")}return n+=r(e.suffix,e),n+="[-]",e.greedy=!1,n},placeholder:"",greedy:!1,digits:"*",digitsOptional:!0,enforceDigitsOnBlur:!1,radixPoint:".",positionCaretOnClick:"radixFocus",groupSize:3,groupSeparator:"",autoGroup:!1,allowMinus:!0,negationSymbol:{front:"-",back:""},integerDigits:"+",integerOptional:!0,prefix:"",suffix:"",rightAlign:!0,decimalProtect:!0,min:null,max:null,step:1,insertMode:!0,autoUnmask:!1,unmaskAsNumber:!1,inputmode:"numeric",preValidation:function(i,r,a,n,o){if("-"===a||a===o.negationSymbol.front)return!0===o.allowMinus&&(o.isNegative=o.isNegative===t||!o.isNegative,""===i.join("")||{caret:r,dopost:!0});if(!1===n&&a===o.radixPoint&&o.digits!==t&&(isNaN(o.digits)||parseInt(o.digits)>0)){var p=e.inArray(o.radixPoint,i);if(-1!==p)return!0===o.numericInput?r===p:{caret:p+1}}return!0},postValidation:function(r,a,n){var o=n.suffix.split(""),p=n.prefix.split("");if(a.pos===t&&a.caret!==t&&!0!==a.dopost)return a;var l=a.caret!==t?a.caret:a.pos,s=r.slice();n.numericInput&&(l=s.length-l-1,s=s.reverse());var g=s[l];if(g===n.groupSeparator&&(g=s[l+=1]),l===s.length-n.suffix.length-1&&g===n.radixPoint)return a;g!==t&&g!==n.radixPoint&&g!==n.negationSymbol.front&&g!==n.negationSymbol.back&&(s[l]="?",n.prefix.length>0&&l>=(!1===n.isNegative?1:0)&&l<n.prefix.length-1+(!1===n.isNegative?1:0)?p[l-(!1===n.isNegative?1:0)]="?":n.suffix.length>0&&l>=s.length-n.suffix.length-(!1===n.isNegative?1:0)&&(o[l-(s.length-n.suffix.length-(!1===n.isNegative?1:0))]="?")),p=p.join(""),o=o.join("");var c=s.join("").replace(p,"");if(c=c.replace(o,""),c=c.replace(new RegExp(i.escapeRegex(n.groupSeparator),"g"),""),c=c.replace(new RegExp("[-"+i.escapeRegex(n.negationSymbol.front)+"]","g"),""),c=c.replace(new RegExp(i.escapeRegex(n.negationSymbol.back)+"$"),""),isNaN(n.placeholder)&&(c=c.replace(new RegExp(i.escapeRegex(n.placeholder),"g"),"")),c.length>1&&1!==c.indexOf(n.radixPoint)&&("0"===g&&(c=c.replace(/^\?/g,"")),c=c.replace(/^0/g,"")),c.charAt(0)===n.radixPoint&&""!==n.radixPoint&&!0!==n.numericInput&&(c="0"+c),""!==c){if(c=c.split(""),(!n.digitsOptional||n.enforceDigitsOnBlur&&"blur"===a.event)&&isFinite(n.digits)){var d=e.inArray(n.radixPoint,c),u=e.inArray(n.radixPoint,s);-1===d&&(c.push(n.radixPoint),d=c.length-1);for(var x=1;x<=n.digits;x++)n.digitsOptional&&(!n.enforceDigitsOnBlur||"blur"!==a.event)||c[d+x]!==t&&c[d+x]!==n.placeholder.charAt(0)?-1!==u&&s[u+x]!==t&&(c[d+x]=c[d+x]||s[u+x]):c[d+x]=a.placeholder||n.placeholder.charAt(0)}if(!0!==n.autoGroup||""===n.groupSeparator||g===n.radixPoint&&a.pos===t&&!a.dopost)c=c.join("");else{var f=c[c.length-1]===n.radixPoint&&a.c===n.radixPoint;c=i(function(e,i){var t="";if(t+="("+i.groupSeparator+"*{"+i.groupSize+"}){*}",""!==i.radixPoint){var r=e.join("").split(i.radixPoint);r[1]&&(t+=i.radixPoint+"*{"+r[1].match(/^\d*\??\d*/)[0].length+"}")}return t}(c,n),{numericInput:!0,jitMasking:!0,definitions:{"*":{validator:"[0-9?]",cardinality:1}}}).format(c.join("")),f&&(c+=n.radixPoint),c.charAt(0)===n.groupSeparator&&c.substr(1)}}if(n.isNegative&&"blur"===a.event&&(n.isNegative="0"!==c),c=p+c,c+=o,n.isNegative&&(c=n.negationSymbol.front+c,c+=n.negationSymbol.back),c=c.split(""),g!==t)if(g!==n.radixPoint&&g!==n.negationSymbol.front&&g!==n.negationSymbol.back)(l=e.inArray("?",c))>-1?c[l]=g:l=a.caret||0;else if(g===n.radixPoint||g===n.negationSymbol.front||g===n.negationSymbol.back){var m=e.inArray(g,c);-1!==m&&(l=m)}n.numericInput&&(l=c.length-l-1,c=c.reverse());var h={caret:g===t||a.pos!==t?l+(n.numericInput?-1:1):l,buffer:c,refreshFromBuffer:a.dopost||r.join("")!==c.join("")};return h.refreshFromBuffer?h:a},onBeforeWrite:function(r,a,n,o){if(r)switch(r.type){case"keydown":return o.postValidation(a,{caret:n,dopost:!0},o);case"blur":case"checkval":var p;if(function(e){e.parseMinMaxOptions===t&&(null!==e.min&&(e.min=e.min.toString().replace(new RegExp(i.escapeRegex(e.groupSeparator),"g"),""),","===e.radixPoint&&(e.min=e.min.replace(e.radixPoint,".")),e.min=isFinite(e.min)?parseFloat(e.min):NaN,isNaN(e.min)&&(e.min=Number.MIN_VALUE)),null!==e.max&&(e.max=e.max.toString().replace(new RegExp(i.escapeRegex(e.groupSeparator),"g"),""),","===e.radixPoint&&(e.max=e.max.replace(e.radixPoint,".")),e.max=isFinite(e.max)?parseFloat(e.max):NaN,isNaN(e.max)&&(e.max=Number.MAX_VALUE)),e.parseMinMaxOptions="done")}(o),null!==o.min||null!==o.max){if(p=o.onUnMask(a.join(""),t,e.extend({},o,{unmaskAsNumber:!0})),null!==o.min&&p<o.min)return o.isNegative=o.min<0,o.postValidation(o.min.toString().replace(".",o.radixPoint).split(""),{caret:n,dopost:!0,placeholder:"0"},o);if(null!==o.max&&p>o.max)return o.isNegative=o.max<0,o.postValidation(o.max.toString().replace(".",o.radixPoint).split(""),{caret:n,dopost:!0,placeholder:"0"},o)}return o.postValidation(a,{caret:n,placeholder:"0",event:"blur"},o);case"_checkval":return{caret:n}}},regex:{integerPart:function(e,t){return t?new RegExp("["+i.escapeRegex(e.negationSymbol.front)+"+]?"):new RegExp("["+i.escapeRegex(e.negationSymbol.front)+"+]?\\d+")},integerNPart:function(e){return new RegExp("[\\d"+i.escapeRegex(e.groupSeparator)+i.escapeRegex(e.placeholder.charAt(0))+"]+")}},definitions:{"~":{validator:function(e,r,a,n,o,p){var l=n?new RegExp("[0-9"+i.escapeRegex(o.groupSeparator)+"]").test(e):new RegExp("[0-9]").test(e);if(!0===l){if(!0!==o.numericInput&&r.validPositions[a]!==t&&"~"===r.validPositions[a].match.def&&!p){var s=r.buffer.join(""),g=(s=(s=s.replace(new RegExp("[-"+i.escapeRegex(o.negationSymbol.front)+"]","g"),"")).replace(new RegExp(i.escapeRegex(o.negationSymbol.back)+"$"),"")).split(o.radixPoint);g.length>1&&(g[1]=g[1].replace(/0/g,o.placeholder.charAt(0))),"0"===g[0]&&(g[0]=g[0].replace(/0/g,o.placeholder.charAt(0))),s=g[0]+o.radixPoint+g[1]||"";var c=r._buffer.join("");for(s===o.radixPoint&&(s=c);null===s.match(i.escapeRegex(c)+"$");)c=c.slice(1);l=(s=(s=s.replace(c,"")).split(""))[a]===t?{pos:a,remove:a}:{pos:a}}}else n||e!==o.radixPoint||r.validPositions[a-1]!==t||(r.buffer[a]="0",l={pos:a+1});return l},cardinality:1},"+":{validator:function(e,i,t,r,a){return a.allowMinus&&("-"===e||e===a.negationSymbol.front)},cardinality:1,placeholder:""},"-":{validator:function(e,i,t,r,a){return a.allowMinus&&e===a.negationSymbol.back},cardinality:1,placeholder:""},":":{validator:function(e,t,r,a,n){var o="["+i.escapeRegex(n.radixPoint)+"]",p=new RegExp(o).test(e);return p&&t.validPositions[r]&&t.validPositions[r].match.placeholder===n.radixPoint&&(p={caret:r+1}),p},cardinality:1,placeholder:function(e){return e.radixPoint}}},onUnMask:function(e,t,r){if(""===t&&!0===r.nullable)return t;var a=e.replace(r.prefix,"");return a=a.replace(r.suffix,""),a=a.replace(new RegExp(i.escapeRegex(r.groupSeparator),"g"),""),""!==r.placeholder.charAt(0)&&(a=a.replace(new RegExp(r.placeholder.charAt(0),"g"),"0")),r.unmaskAsNumber?(""!==r.radixPoint&&-1!==a.indexOf(r.radixPoint)&&(a=a.replace(i.escapeRegex.call(this,r.radixPoint),".")),a=a.replace(new RegExp("^"+i.escapeRegex(r.negationSymbol.front)),"-"),a=a.replace(new RegExp(i.escapeRegex(r.negationSymbol.back)+"$"),""),Number(a)):a},isComplete:function(e,t){var r=e.join("");if(e.slice().join("")!==r)return!1;var a=r.replace(t.prefix,"");return a=a.replace(t.suffix,""),a=a.replace(new RegExp(i.escapeRegex(t.groupSeparator),"g"),""),","===t.radixPoint&&(a=a.replace(i.escapeRegex(t.radixPoint),".")),isFinite(a)},onBeforeMask:function(e,r){if(r.isNegative=t,e=e.toString().charAt(e.length-1)===r.radixPoint?e.toString().substr(0,e.length-1):e.toString(),""!==r.radixPoint&&isFinite(e)){var a=e.split("."),n=""!==r.groupSeparator?parseInt(r.groupSize):0;2===a.length&&(a[0].length>n||a[1].length>n||a[0].length<=n&&a[1].length<n)&&(e=e.replace(".",r.radixPoint))}var o=e.match(/,/g),p=e.match(/\./g);if(e=p&&o?p.length>o.length?(e=e.replace(/\./g,"")).replace(",",r.radixPoint):o.length>p.length?(e=e.replace(/,/g,"")).replace(".",r.radixPoint):e.indexOf(".")<e.indexOf(",")?e.replace(/\./g,""):e.replace(/,/g,""):e.replace(new RegExp(i.escapeRegex(r.groupSeparator),"g"),""),0===r.digits&&(-1!==e.indexOf(".")?e=e.substring(0,e.indexOf(".")):-1!==e.indexOf(",")&&(e=e.substring(0,e.indexOf(",")))),""!==r.radixPoint&&isFinite(r.digits)&&-1!==e.indexOf(r.radixPoint)){var l=e.split(r.radixPoint)[1].match(new RegExp("\\d*"))[0];if(parseInt(r.digits)<l.toString().length){var s=Math.pow(10,parseInt(r.digits));e=e.replace(i.escapeRegex(r.radixPoint),"."),e=(e=Math.round(parseFloat(e)*s)/s).toString().replace(".",r.radixPoint)}}return e},canClearPosition:function(e,i,t,r,a){var n=e.validPositions[i],o=n.input!==a.radixPoint||null!==e.validPositions[i].match.fn&&!1===a.decimalProtect||n.input===a.radixPoint&&e.validPositions[i+1]&&null===e.validPositions[i+1].match.fn||isFinite(n.input)||i===t||n.input===a.groupSeparator||n.input===a.negationSymbol.front||n.input===a.negationSymbol.back;return!o||"+"!==n.match.nativeDef&&"-"!==n.match.nativeDef||(a.isNegative=!1),o},onKeyDown:function(t,r,a,n){var o=e(this);if(t.ctrlKey)switch(t.keyCode){case i.keyCode.UP:o.val(parseFloat(this.inputmask.unmaskedvalue())+parseInt(n.step)),o.trigger("setvalue");break;case i.keyCode.DOWN:o.val(parseFloat(this.inputmask.unmaskedvalue())-parseInt(n.step)),o.trigger("setvalue")}}},currency:{prefix:"$ ",groupSeparator:",",alias:"numeric",placeholder:"0",autoGroup:!0,digits:2,digitsOptional:!1,clearMaskOnLostFocus:!1},decimal:{alias:"numeric"},integer:{alias:"numeric",digits:0,radixPoint:""},percentage:{alias:"numeric",digits:2,digitsOptional:!0,radixPoint:".",placeholder:"0",autoGroup:!1,min:0,max:100,suffix:" %",allowMinus:!1}}),i});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/min/inputmask/inputmask.phone.extensions.min.js b/public/bower_components/inputmask/dist/min/inputmask/inputmask.phone.extensions.min.js new file mode 100644 index 0000000..7b8d2aa --- /dev/null +++ b/public/bower_components/inputmask/dist/min/inputmask/inputmask.phone.extensions.min.js @@ -0,0 +1,9 @@ +/*! +* inputmask.phone.extensions.min.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(e){"function"==typeof define&&define.amd?define(["./dependencyLibs/inputmask.dependencyLib","./inputmask"],e):"object"==typeof exports?module.exports=e(require("./dependencyLibs/inputmask.dependencyLib"),require("./inputmask")):e(window.dependencyLib||jQuery,window.Inputmask)}(function(e,r){function n(e,r){var n=(e.mask||e).replace(/#/g,"9").replace(/\)/,"9").replace(/[+()#-]/g,""),t=(r.mask||r).replace(/#/g,"9").replace(/\)/,"9").replace(/[+()#-]/g,""),a=(e.mask||e).split("#")[0],o=(r.mask||r).split("#")[0];return 0===o.indexOf(a)?-1:0===a.indexOf(o)?1:n.localeCompare(t)}var t=r.prototype.analyseMask;return r.prototype.analyseMask=function(r,n,a){function o(e,n,t){n=n||"",t=t||s,""!==n&&(t[n]={});for(var a="",p=t[n]||t,i=e.length-1;i>=0;i--)p[a=(r=e[i].mask||e[i]).substr(0,1)]=p[a]||[],p[a].unshift(r.substr(1)),e.splice(i,1);for(var u in p)p[u].length>500&&o(p[u].slice(),u,p)}function p(r){var n="",t=[];for(var o in r)e.isArray(r[o])?1===r[o].length?t.push(o+r[o]):t.push(o+a.groupmarker.start+r[o].join(a.groupmarker.end+a.alternatormarker+a.groupmarker.start)+a.groupmarker.end):t.push(o+p(r[o]));return 1===t.length?n+=t[0]:n+=a.groupmarker.start+t.join(a.groupmarker.end+a.alternatormarker+a.groupmarker.start)+a.groupmarker.end,n}var s={};return a.phoneCodes&&(a.phoneCodes&&a.phoneCodes.length>1e3&&(o((r=r.substr(1,r.length-2)).split(a.groupmarker.end+a.alternatormarker+a.groupmarker.start)),r=p(s)),r=r.replace(/9/g,"\\9")),t.call(this,r,n,a)},r.extendAliases({abstractphone:{groupmarker:{start:"<",end:">"},countrycode:"",phoneCodes:[],mask:function(e){return e.definitions={"#":r.prototype.definitions[9]},e.phoneCodes.sort(n)},keepStatic:!0,onBeforeMask:function(e,r){var n=e.replace(/^0{1,2}/,"").replace(/[\s]/g,"");return(n.indexOf(r.countrycode)>1||-1===n.indexOf(r.countrycode))&&(n="+"+r.countrycode+n),n},onUnMask:function(e,r,n){return e.replace(/[()#-]/g,"")},inputmode:"tel"}}),r});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/min/inputmask/inputmask.regex.extensions.min.js b/public/bower_components/inputmask/dist/min/inputmask/inputmask.regex.extensions.min.js new file mode 100644 index 0000000..0da3303 --- /dev/null +++ b/public/bower_components/inputmask/dist/min/inputmask/inputmask.regex.extensions.min.js @@ -0,0 +1,9 @@ +/*! +* inputmask.regex.extensions.min.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(e){"function"==typeof define&&define.amd?define(["./dependencyLibs/inputmask.dependencyLib","./inputmask"],e):"object"==typeof exports?module.exports=e(require("./dependencyLibs/inputmask.dependencyLib"),require("./inputmask")):e(window.dependencyLib||jQuery,window.Inputmask)}(function(e,r){return r.extendAliases({Regex:{mask:"r",greedy:!1,repeat:"*",regex:null,regexTokens:null,tokenizer:/\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g,quantifierFilter:/[0-9]+[^,]/,isComplete:function(e,r){return new RegExp(r.regex,r.casing?"i":"").test(e.join(""))},definitions:{r:{validator:function(r,t,a,i,n){function s(e,r){this.matches=[],this.isGroup=e||!1,this.isQuantifier=r||!1,this.quantifier={min:1,max:1},this.repeaterPart=void 0}function u(r,t){var a=!1;t&&(f+="(",l++);for(var i=0;i<r.matches.length;i++){var s=r.matches[i];if(!0===s.isGroup)a=u(s,!0);else if(!0===s.isQuantifier){var h=e.inArray(s,r.matches),c=r.matches[h-1],o=f;if(isNaN(s.quantifier.max)){for(;s.repeaterPart&&s.repeaterPart!==f&&s.repeaterPart.length>f.length&&!(a=u(c,!0)););(a=a||u(c,!0))&&(s.repeaterPart=f),f=o+s.quantifier.max}else{for(var m=0,g=s.quantifier.max-1;m<g&&!(a=u(c,!0));m++);f=o+"{"+s.quantifier.min+","+s.quantifier.max+"}"}}else if(void 0!==s.matches)for(var d=0;d<s.length&&!(a=u(s[d],t));d++);else{var x;if("["==s.charAt(0)){x=f,x+=s;for(b=0;b<l;b++)x+=")";a=(w=new RegExp("^("+x+")$",n.casing?"i":"")).test(p)}else for(var k=0,v=s.length;k<v;k++)if("\\"!==s.charAt(k)){x=f,x=(x+=s.substr(0,k+1)).replace(/\|$/,"");for(var b=0;b<l;b++)x+=")";var w=new RegExp("^("+x+")$",n.casing?"i":"");if(a=w.test(p))break}f+=s}if(a)break}return t&&(f+=")",l--),a}var p,h,c=t.buffer.slice(),f="",o=!1,l=0;null===n.regexTokens&&function(){var e,r,t=new s,a=[];for(n.regexTokens=[];e=n.tokenizer.exec(n.regex);)switch((r=e[0]).charAt(0)){case"(":a.push(new s(!0));break;case")":h=a.pop(),a.length>0?a[a.length-1].matches.push(h):t.matches.push(h);break;case"{":case"+":case"*":var i=new s(!1,!0),u=(r=r.replace(/[{}]/g,"")).split(","),p=isNaN(u[0])?u[0]:parseInt(u[0]),c=1===u.length?p:isNaN(u[1])?u[1]:parseInt(u[1]);if(i.quantifier={min:p,max:c},a.length>0){var f=a[a.length-1].matches;(e=f.pop()).isGroup||((h=new s(!0)).matches.push(e),e=h),f.push(e),f.push(i)}else(e=t.matches.pop()).isGroup||((h=new s(!0)).matches.push(e),e=h),t.matches.push(e),t.matches.push(i);break;default:a.length>0?a[a.length-1].matches.push(r):t.matches.push(r)}t.matches.length>0&&n.regexTokens.push(t)}(),c.splice(a,0,r),p=c.join("");for(var m=0;m<n.regexTokens.length;m++){var g=n.regexTokens[m];if(o=u(g,g.isGroup))break}return o},cardinality:1}}}}),r});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/min/inputmask/jquery.inputmask.min.js b/public/bower_components/inputmask/dist/min/inputmask/jquery.inputmask.min.js new file mode 100644 index 0000000..651bdcb --- /dev/null +++ b/public/bower_components/inputmask/dist/min/inputmask/jquery.inputmask.min.js @@ -0,0 +1,9 @@ +/*! +* jquery.inputmask.min.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(t){"function"==typeof define&&define.amd?define(["jquery","./inputmask"],t):"object"==typeof exports?module.exports=t(require("jquery"),require("./inputmask")):t(jQuery,window.Inputmask)}(function(t,e){return void 0===t.fn.inputmask&&(t.fn.inputmask=function(i,n){var a,s=this[0];if(void 0===n&&(n={}),"string"==typeof i)switch(i){case"unmaskedvalue":return s&&s.inputmask?s.inputmask.unmaskedvalue():t(s).val();case"remove":return this.each(function(){this.inputmask&&this.inputmask.remove()});case"getemptymask":return s&&s.inputmask?s.inputmask.getemptymask():"";case"hasMaskedValue":return!(!s||!s.inputmask)&&s.inputmask.hasMaskedValue();case"isComplete":return!s||!s.inputmask||s.inputmask.isComplete();case"getmetadata":return s&&s.inputmask?s.inputmask.getmetadata():void 0;case"setvalue":t(s).val(n),s&&void 0===s.inputmask&&t(s).triggerHandler("setvalue");break;case"option":if("string"!=typeof n)return this.each(function(){if(void 0!==this.inputmask)return this.inputmask.option(n)});if(s&&void 0!==s.inputmask)return s.inputmask.option(n);break;default:return n.alias=i,a=new e(n),this.each(function(){a.mask(this)})}else{if("object"==typeof i)return a=new e(i),void 0===i.mask&&void 0===i.alias?this.each(function(){if(void 0!==this.inputmask)return this.inputmask.option(i);a.mask(this)}):this.each(function(){a.mask(this)});if(void 0===i)return this.each(function(){(a=new e(n)).mask(this)})}}),t.fn.inputmask});
\ No newline at end of file diff --git a/public/bower_components/inputmask/dist/min/jquery.inputmask.bundle.min.js b/public/bower_components/inputmask/dist/min/jquery.inputmask.bundle.min.js new file mode 100644 index 0000000..7e6a8a3 --- /dev/null +++ b/public/bower_components/inputmask/dist/min/jquery.inputmask.bundle.min.js @@ -0,0 +1,9 @@ +/*! +* jquery.inputmask.bundle.js +* https://github.com/RobinHerbots/Inputmask +* Copyright (c) 2010 - 2017 Robin Herbots +* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +* Version: 3.3.11 +*/ + +!function(e){function t(a){if(n[a])return n[a].exports;var i=n[a]={i:a,l:!1,exports:{}};return e[a].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,a){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:a})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=3)}([function(e,t,n){"use strict";var a,i,r;"function"==typeof Symbol&&Symbol.iterator;!function(o){i=[n(2)],void 0!==(r="function"==typeof(a=o)?a.apply(t,i):a)&&(e.exports=r)}(function(e){return e})},function(e,t,n){"use strict";var a,i,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(o){i=[n(0),n(10),n(11)],void 0!==(r="function"==typeof(a=o)?a.apply(t,i):a)&&(e.exports=r)}(function(e,t,n,a){function i(t,n,o){if(!(this instanceof i))return new i(t,n,o);this.el=a,this.events={},this.maskset=a,this.refreshValue=!1,!0!==o&&(e.isPlainObject(t)?n=t:(n=n||{}).alias=t,this.opts=e.extend(!0,{},this.defaults,n),this.noMasksCache=n&&n.definitions!==a,this.userOptions=n||{},this.isRTL=this.opts.numericInput,r(this.opts.alias,n,this.opts))}function r(t,n,o){var s=i.prototype.aliases[t];return s?(s.alias&&r(s.alias,a,o),e.extend(!0,o,s),e.extend(!0,o,n),!0):(null===o.mask&&(o.mask=t),!1)}function s(t,n){function r(t,r,o){var s=!1;if(null!==t&&""!==t||((s=null!==o.regex)?t=(t=o.regex).replace(/^(\^)(.*)(\$)$/,"$2"):(s=!0,t=".*")),1===t.length&&!1===o.greedy&&0!==o.repeat&&(o.placeholder=""),o.repeat>0||"*"===o.repeat||"+"===o.repeat){var l="*"===o.repeat?0:"+"===o.repeat?1:o.repeat;t=o.groupmarker.start+t+o.groupmarker.end+o.quantifiermarker.start+l+","+o.repeat+o.quantifiermarker.end}var c,u=s?"regex_"+o.regex:o.numericInput?t.split("").reverse().join(""):t;return i.prototype.masksCache[u]===a||!0===n?(c={mask:t,maskToken:i.prototype.analyseMask(t,s,o),validPositions:{},_buffer:a,buffer:a,tests:{},metadata:r,maskLength:a},!0!==n&&(i.prototype.masksCache[u]=c,c=e.extend(!0,{},i.prototype.masksCache[u]))):c=e.extend(!0,{},i.prototype.masksCache[u]),c}if(e.isFunction(t.mask)&&(t.mask=t.mask(t)),e.isArray(t.mask)){if(t.mask.length>1){t.keepStatic=null===t.keepStatic||t.keepStatic;var o=t.groupmarker.start;return e.each(t.numericInput?t.mask.reverse():t.mask,function(n,i){o.length>1&&(o+=t.groupmarker.end+t.alternatormarker+t.groupmarker.start),i.mask===a||e.isFunction(i.mask)?o+=i:o+=i.mask}),o+=t.groupmarker.end,r(o,t.mask,t)}t.mask=t.mask.pop()}return t.mask&&t.mask.mask!==a&&!e.isFunction(t.mask.mask)?r(t.mask.mask,t.mask,t):r(t.mask,t.mask,t)}function l(r,s,c){function m(e,t,n){t=t||0;var i,r,o,s=[],l=0,u=v();do{!0===e&&h().validPositions[l]?(r=(o=h().validPositions[l]).match,i=o.locator.slice(),s.push(!0===n?o.input:!1===n?r.nativeDef:I(l,r))):(r=(o=b(l,i,l-1)).match,i=o.locator.slice(),(!1===c.jitMasking||l<u||"number"==typeof c.jitMasking&&isFinite(c.jitMasking)&&c.jitMasking>l)&&s.push(!1===n?r.nativeDef:I(l,r))),l++}while((Q===a||l<Q)&&(null!==r.fn||""!==r.def)||t>l);return""===s[s.length-1]&&s.pop(),h().maskLength=l+1,s}function h(){return s}function g(e){var t=h();t.buffer=a,!0!==e&&(t.validPositions={},t.p=0)}function v(e,t,n){var i=-1,r=-1,o=n||h().validPositions;e===a&&(e=-1);for(var s in o){var l=parseInt(s);o[l]&&(t||!0!==o[l].generatedInput)&&(l<=e&&(i=l),l>=e&&(r=l))}return-1!==i&&e-i>1||r<e?i:r}function y(t,n,i,r){var o,s=t,l=e.extend(!0,{},h().validPositions),u=!1;for(h().p=t,o=n-1;o>=s;o--)h().validPositions[o]!==a&&(!0!==i&&(!h().validPositions[o].match.optionality&&function(e){var t=h().validPositions[e];if(t!==a&&null===t.match.fn){var n=h().validPositions[e-1],i=h().validPositions[e+1];return n!==a&&i!==a}return!1}(o)||!1===c.canClearPosition(h(),o,v(),r,c))||delete h().validPositions[o]);for(g(!0),o=s+1;o<=v();){for(;h().validPositions[s]!==a;)s++;if(o<s&&(o=s+1),h().validPositions[o]===a&&M(o))o++;else{var p=b(o);!1===u&&l[s]&&l[s].match.def===p.match.def?(h().validPositions[s]=e.extend(!0,{},l[s]),h().validPositions[s].input=p.input,delete h().validPositions[o],o++):P(s,p.match.def)?!1!==R(s,p.input||I(o),!0)&&(delete h().validPositions[o],o++,u=!0):M(o)||(o++,s--),s++}}g(!0)}function k(e,t){for(var n,i=e,r=v(),o=h().validPositions[r]||S(0)[0],s=o.alternation!==a?o.locator[o.alternation].toString().split(","):[],l=0;l<i.length&&(!((n=i[l]).match&&(c.greedy&&!0!==n.match.optionalQuantifier||(!1===n.match.optionality||!1===n.match.newBlockMarker)&&!0!==n.match.optionalQuantifier)&&(o.alternation===a||o.alternation!==n.alternation||n.locator[o.alternation]!==a&&O(n.locator[o.alternation].toString().split(","),s)))||!0===t&&(null!==n.match.fn||/[0-9a-bA-Z]/.test(n.match.def)));l++);return n}function b(e,t,n){return h().validPositions[e]||k(S(e,t?t.slice():t,n))}function x(e){return h().validPositions[e]?h().validPositions[e]:S(e)[0]}function P(e,t){for(var n=!1,a=S(e),i=0;i<a.length;i++)if(a[i].match&&a[i].match.def===t){n=!0;break}return n}function S(t,n,i){function r(n,i,o,l){function p(o,l,g){function v(t,n){var a=0===e.inArray(t,n.matches);return a||e.each(n.matches,function(e,i){if(!0===i.isQuantifier&&(a=v(t,n.matches[e-1])))return!1}),a}function y(t,n,i){var r,o;if(h().validPositions[t-1]&&i&&h().tests[t])for(var s=h().validPositions[t-1].locator,l=h().tests[t][0].locator,c=0;c<i;c++)if(s[c]!==l[c])return s.slice(i+1);return(h().tests[t]||h().validPositions[t])&&e.each(h().tests[t]||[h().validPositions[t]],function(e,t){var s=i!==a?i:t.alternation,l=t.locator[s]!==a?t.locator[s].toString().indexOf(n):-1;(o===a||l<o)&&-1!==l&&(r=t,o=l)}),r?r.locator.slice((i!==a?i:r.alternation)+1):i!==a?y(t,n):a}if(u>1e4)throw"Inputmask: There is probably an error in your mask definition or in the code. Create an issue on github with an example of the mask you are using. "+h().mask;if(u===t&&o.matches===a)return f.push({match:o,locator:l.reverse(),cd:m}),!0;if(o.matches!==a){if(o.isGroup&&g!==o){if(o=p(n.matches[e.inArray(o,n.matches)+1],l))return!0}else if(o.isOptional){var k=o;if(o=r(o,i,l,g)){if(s=f[f.length-1].match,!v(s,k))return!0;d=!0,u=t}}else if(o.isAlternator){var b,x=o,P=[],S=f.slice(),w=l.length,A=i.length>0?i.shift():-1;if(-1===A||"string"==typeof A){var E,C=u,O=i.slice(),R=[];if("string"==typeof A)R=A.split(",");else for(E=0;E<x.matches.length;E++)R.push(E);for(var M=0;M<R.length;M++){if(E=parseInt(R[M]),f=[],i=y(u,E,w)||O.slice(),!0!==(o=p(x.matches[E]||n.matches[E],[E].concat(l),g)||o)&&o!==a&&R[R.length-1]<x.matches.length){var _=e.inArray(o,n.matches)+1;n.matches.length>_&&(o=p(n.matches[_],[_].concat(l.slice(1,l.length)),g))&&(R.push(_.toString()),e.each(f,function(e,t){t.alternation=l.length-1}))}b=f.slice(),u=C,f=[];for(var D=0;D<b.length;D++){var j=b[D],N=!1;j.alternation=j.alternation||w;for(var I=0;I<P.length;I++){var F=P[I];if("string"!=typeof A||-1!==e.inArray(j.locator[j.alternation].toString(),R)){if(function(e,t){return e.match.nativeDef===t.match.nativeDef||e.match.def===t.match.nativeDef||e.match.nativeDef===t.match.def}(j,F)){N=!0,j.alternation===F.alternation&&-1===F.locator[F.alternation].toString().indexOf(j.locator[j.alternation])&&(F.locator[F.alternation]=F.locator[F.alternation]+","+j.locator[j.alternation],F.alternation=j.alternation),j.match.nativeDef===F.match.def&&(j.locator[j.alternation]=F.locator[F.alternation],P.splice(P.indexOf(F),1,j));break}if(j.match.def===F.match.def){N=!1;break}if(function(e,n){return null===e.match.fn&&null!==n.match.fn&&n.match.fn.test(e.match.def,h(),t,!1,c,!1)}(j,F)||function(e,n){return null!==e.match.fn&&null!==n.match.fn&&n.match.fn.test(e.match.def.replace(/[\[\]]/g,""),h(),t,!1,c,!1)}(j,F)){j.alternation===F.alternation&&-1===j.locator[j.alternation].toString().indexOf(F.locator[F.alternation].toString().split("")[0])&&(j.na=j.na||j.locator[j.alternation].toString(),-1===j.na.indexOf(j.locator[j.alternation].toString().split("")[0])&&(j.na=j.na+","+j.locator[F.alternation].toString().split("")[0]),N=!0,j.locator[j.alternation]=F.locator[F.alternation].toString().split("")[0]+","+j.locator[j.alternation],P.splice(P.indexOf(F),0,j));break}}}N||P.push(j)}}"string"==typeof A&&(P=e.map(P,function(t,n){if(isFinite(n)){var i=t.alternation,r=t.locator[i].toString().split(",");t.locator[i]=a,t.alternation=a;for(var o=0;o<r.length;o++)-1!==e.inArray(r[o],R)&&(t.locator[i]!==a?(t.locator[i]+=",",t.locator[i]+=r[o]):t.locator[i]=parseInt(r[o]),t.alternation=i);if(t.locator[i]!==a)return t}})),f=S.concat(P),u=t,d=f.length>0,o=P.length>0,i=O.slice()}else o=p(x.matches[A]||n.matches[A],[A].concat(l),g);if(o)return!0}else if(o.isQuantifier&&g!==n.matches[e.inArray(o,n.matches)-1])for(var T=o,G=i.length>0?i.shift():0;G<(isNaN(T.quantifier.max)?G+1:T.quantifier.max)&&u<=t;G++){var B=n.matches[e.inArray(T,n.matches)-1];if(o=p(B,[G].concat(l),B)){if(s=f[f.length-1].match,s.optionalQuantifier=G>T.quantifier.min-1,v(s,B)){if(G>T.quantifier.min-1){d=!0,u=t;break}return!0}return!0}}else if(o=r(o,i,l,g))return!0}else u++}for(var g=i.length>0?i.shift():0;g<n.matches.length;g++)if(!0!==n.matches[g].isQuantifier){var v=p(n.matches[g],[g].concat(o),l);if(v&&u===t)return v;if(u>t)break}}function o(e){if(c.keepStatic&&t>0&&e.length>1+(""===e[e.length-1].match.def?1:0)&&!0!==e[0].match.optionality&&!0!==e[0].match.optionalQuantifier&&null===e[0].match.fn&&!/[0-9a-bA-Z]/.test(e[0].match.def)){if(h().validPositions[t-1]===a)return[k(e)];if(h().validPositions[t-1].alternation===e[0].alternation)return[k(e)];if(h().validPositions[t-1])return[k(e)]}return e}var s,l=h().maskToken,u=n?i:0,p=n?n.slice():[0],f=[],d=!1,m=n?n.join(""):"";if(t>-1){if(n===a){for(var g,v=t-1;(g=h().validPositions[v]||h().tests[v])===a&&v>-1;)v--;g!==a&&v>-1&&(p=function(t){var n=[];return e.isArray(t)||(t=[t]),t.length>0&&(t[0].alternation===a?0===(n=k(t.slice()).locator.slice()).length&&(n=t[0].locator.slice()):e.each(t,function(e,t){if(""!==t.def)if(0===n.length)n=t.locator.slice();else for(var a=0;a<n.length;a++)t.locator[a]&&-1===n[a].toString().indexOf(t.locator[a])&&(n[a]+=","+t.locator[a])})),n}(g),m=p.join(""),u=v)}if(h().tests[t]&&h().tests[t][0].cd===m)return o(h().tests[t]);for(var y=p.shift();y<l.length&&!(r(l[y],p,[y])&&u===t||u>t);y++);}return(0===f.length||d)&&f.push({match:{fn:null,cardinality:0,optionality:!0,casing:null,def:"",placeholder:""},locator:[],cd:m}),n!==a&&h().tests[t]?o(e.extend(!0,[],f)):(h().tests[t]=e.extend(!0,[],f),o(h().tests[t]))}function w(){return h()._buffer===a&&(h()._buffer=m(!1,1),h().buffer===a&&(h().buffer=h()._buffer.slice())),h()._buffer}function A(e){return h().buffer!==a&&!0!==e||(h().buffer=m(!0,v(),!0)),h().buffer}function E(e,t,n){var i,r;if(!0===e)g(),e=0,t=n.length;else for(i=e;i<t;i++)delete h().validPositions[i];for(r=e,i=e;i<t;i++)if(g(!0),n[i]!==c.skipOptionalPartCharacter){var o=R(r,n[i],!0,!0);!1!==o&&(g(!0),r=o.caret!==a?o.caret:o.pos+1)}}function C(t,n,a){switch(c.casing||n.casing){case"upper":t=t.toUpperCase();break;case"lower":t=t.toLowerCase();break;case"title":var r=h().validPositions[a-1];t=0===a||r&&r.input===String.fromCharCode(i.keyCode.SPACE)?t.toUpperCase():t.toLowerCase();break;default:if(e.isFunction(c.casing)){var o=Array.prototype.slice.call(arguments);o.push(h().validPositions),t=c.casing.apply(this,o)}}return t}function O(t,n,i){for(var r,o=c.greedy?n:n.slice(0,1),s=!1,l=i!==a?i.split(","):[],u=0;u<l.length;u++)-1!==(r=t.indexOf(l[u]))&&t.splice(r,1);for(var p=0;p<t.length;p++)if(-1!==e.inArray(t[p],o)){s=!0;break}return s}function R(t,n,r,o,s,l){function u(e){var t=Z?e.begin-e.end>1||e.begin-e.end==1:e.end-e.begin>1||e.end-e.begin==1;return t&&0===e.begin&&e.end===h().maskLength?"full":t}function p(n,i,r){var s=!1;return e.each(S(n),function(l,p){for(var d=p.match,m=i?1:0,k="",b=d.cardinality;b>m;b--)k+=j(n-(b-1));if(i&&(k+=i),A(!0),!1!==(s=null!=d.fn?d.fn.test(k,h(),n,r,c,u(t)):(i===d.def||i===c.skipOptionalPartCharacter)&&""!==d.def&&{c:I(n,d,!0)||d.def,pos:n})){var x=s.c!==a?s.c:i;x=x===c.skipOptionalPartCharacter&&null===d.fn?I(n,d,!0)||d.def:x;var P=n,S=A();if(s.remove!==a&&(e.isArray(s.remove)||(s.remove=[s.remove]),e.each(s.remove.sort(function(e,t){return t-e}),function(e,t){y(t,t+1,!0)})),s.insert!==a&&(e.isArray(s.insert)||(s.insert=[s.insert]),e.each(s.insert.sort(function(e,t){return e-t}),function(e,t){R(t.pos,t.c,!0,o)})),s.refreshFromBuffer){var w=s.refreshFromBuffer;if(E(!0===w?w:w.start,w.end,S),s.pos===a&&s.c===a)return s.pos=v(),!1;if((P=s.pos!==a?s.pos:n)!==n)return s=e.extend(s,R(P,x,!0,o)),!1}else if(!0!==s&&s.pos!==a&&s.pos!==n&&(P=s.pos,E(n,P,A().slice()),P!==n))return s=e.extend(s,R(P,x,!0)),!1;return(!0===s||s.pos!==a||s.c!==a)&&(l>0&&g(!0),f(P,e.extend({},p,{input:C(x,d,P)}),o,u(t))||(s=!1),!1)}}),s}function f(t,n,i,r){if(r||c.insertMode&&h().validPositions[t]!==a&&i===a){var o,s=e.extend(!0,{},h().validPositions),l=v(a,!0);for(o=t;o<=l;o++)delete h().validPositions[o];h().validPositions[t]=e.extend(!0,{},n);var u,p=!0,f=h().validPositions,m=!1,y=h().maskLength;for(o=u=t;o<=l;o++){var k=s[o];if(k!==a)for(var b=u;b<h().maskLength&&(null===k.match.fn&&f[o]&&(!0===f[o].match.optionalQuantifier||!0===f[o].match.optionality)||null!=k.match.fn);){if(b++,!1===m&&s[b]&&s[b].match.def===k.match.def)h().validPositions[b]=e.extend(!0,{},s[b]),h().validPositions[b].input=k.input,d(b),u=b,p=!0;else if(P(b,k.match.def)){var x=R(b,k.input,!0,!0);p=!1!==x,u=x.caret||x.insert?v():b,m=!0}else if(!(p=!0===k.generatedInput)&&b>=h().maskLength-1)break;if(h().maskLength<y&&(h().maskLength=y),p)break}if(!p)break}if(!p)return h().validPositions=e.extend(!0,{},s),g(!0),!1}else h().validPositions[t]=e.extend(!0,{},n);return g(!0),!0}function d(t){for(var n=t-1;n>-1&&!h().validPositions[n];n--);var i,r;for(n++;n<t;n++)h().validPositions[n]===a&&(!1===c.jitMasking||c.jitMasking>n)&&(""===(r=S(n,b(n-1).locator,n-1).slice())[r.length-1].match.def&&r.pop(),(i=k(r))&&(i.match.def===c.radixPointDefinitionSymbol||!M(n,!0)||e.inArray(c.radixPoint,A())<n&&i.match.fn&&i.match.fn.test(I(n),h(),n,!1,c))&&!1!==(x=p(n,I(n,i.match,!0)||(null==i.match.fn?i.match.def:""!==I(n)?I(n):A()[n]),!0))&&(h().validPositions[x.pos||n].generatedInput=!0))}r=!0===r;var m=t;t.begin!==a&&(m=Z&&!u(t)?t.end:t.begin);var x=!0,w=e.extend(!0,{},h().validPositions);if(e.isFunction(c.preValidation)&&!r&&!0!==o&&!0!==l&&(x=c.preValidation(A(),m,n,u(t),c)),!0===x){if(d(m),u(t)&&(V(a,i.keyCode.DELETE,t,!0,!0),m=h().p),m<h().maskLength&&(Q===a||m<Q)&&(x=p(m,n,r),(!r||!0===o)&&!1===x&&!0!==l)){var D=h().validPositions[m];if(!D||null!==D.match.fn||D.match.def!==n&&n!==c.skipOptionalPartCharacter){if((c.insertMode||h().validPositions[_(m)]===a)&&!M(m,!0))for(var N=m+1,F=_(m);N<=F;N++)if(!1!==(x=p(N,n,r))){!function(t,n){var i=h().validPositions[n];if(i)for(var r=i.locator,o=r.length,s=t;s<n;s++)if(h().validPositions[s]===a&&!M(s,!0)){var l=S(s).slice(),c=k(l,!0),u=-1;""===l[l.length-1].match.def&&l.pop(),e.each(l,function(e,t){for(var n=0;n<o;n++){if(t.locator[n]===a||!O(t.locator[n].toString().split(","),r[n].toString().split(","),t.na)){var i=r[n],s=c.locator[n],l=t.locator[n];i-s>Math.abs(i-l)&&(c=t);break}u<n&&(u=n,c=t)}}),(c=e.extend({},c,{input:I(s,c.match,!0)||c.match.def})).generatedInput=!0,f(s,c,!0),h().validPositions[n]=a,p(n,i.input,!0)}}(m,x.pos!==a?x.pos:N),m=N;break}}else x={caret:_(m)}}!1===x&&c.keepStatic&&!r&&!0!==s&&(x=function(t,n,i){var r,s,l,u,p,f,d,m,y=e.extend(!0,{},h().validPositions),k=!1,b=v();for(u=h().validPositions[b];b>=0;b--)if((l=h().validPositions[b])&&l.alternation!==a){if(r=b,s=h().validPositions[r].alternation,u.locator[l.alternation]!==l.locator[l.alternation])break;u=l}if(s!==a){m=parseInt(r);var x=u.locator[u.alternation||s]!==a?u.locator[u.alternation||s]:d[0];x.length>0&&(x=x.split(",")[0]);var P=h().validPositions[m],w=h().validPositions[m-1];e.each(S(m,w?w.locator:a,m-1),function(r,l){d=l.locator[s]?l.locator[s].toString().split(","):[];for(var u=0;u<d.length;u++){var b=[],S=0,w=0,A=!1;if(x<d[u]&&(l.na===a||-1===e.inArray(d[u],l.na.split(","))||-1===e.inArray(x.toString(),d))){h().validPositions[m]=e.extend(!0,{},l);var E=h().validPositions[m].locator;for(h().validPositions[m].locator[s]=parseInt(d[u]),null==l.match.fn?(P.input!==l.match.def&&(A=!0,!0!==P.generatedInput&&b.push(P.input)),w++,h().validPositions[m].generatedInput=!/[0-9a-bA-Z]/.test(l.match.def),h().validPositions[m].input=l.match.def):h().validPositions[m].input=P.input,p=m+1;p<v(a,!0)+1;p++)(f=h().validPositions[p])&&!0!==f.generatedInput&&/[0-9a-bA-Z]/.test(f.input)?b.push(f.input):p<t&&S++,delete h().validPositions[p];for(A&&b[0]===l.match.def&&b.shift(),g(!0),k=!0;b.length>0;){var C=b.shift();if(C!==c.skipOptionalPartCharacter&&!(k=R(v(a,!0)+1,C,!1,o,!0)))break}if(k){h().validPositions[m].locator=E;var O=v(t)+1;for(p=m+1;p<v()+1;p++)((f=h().validPositions[p])===a||null==f.match.fn)&&p<t+(w-S)&&w++;k=R((t+=w-S)>O?O:t,n,i,o,!0)}if(k)return!1;g(),h().validPositions=e.extend(!0,{},y)}}})}return k}(m,n,r)),!0===x&&(x={pos:m})}if(e.isFunction(c.postValidation)&&!1!==x&&!r&&!0!==o&&!0!==l){var T=c.postValidation(A(!0),x,c);if(T.refreshFromBuffer&&T.buffer){var G=T.refreshFromBuffer;E(!0===G?G:G.start,G.end,T.buffer)}x=!0===T?x:T}return x&&x.pos===a&&(x.pos=m),!1!==x&&!0!==l||(g(!0),h().validPositions=e.extend(!0,{},w)),x}function M(e,t){var n=b(e).match;if(""===n.def&&(n=x(e).match),null!=n.fn)return n.fn;if(!0!==t&&e>-1){var a=S(e);return a.length>1+(""===a[a.length-1].match.def?1:0)}return!1}function _(e,t){var n=h().maskLength;if(e>=n)return n;var a=e;for(S(n+1).length>1&&(m(!0,n+1,!0),n=h().maskLength);++a<n&&(!0===t&&(!0!==x(a).match.newBlockMarker||!M(a))||!0!==t&&!M(a)););return a}function D(e,t){var n,a=e;if(a<=0)return 0;for(;--a>0&&(!0===t&&!0!==x(a).match.newBlockMarker||!0!==t&&!M(a)&&((n=S(a)).length<2||2===n.length&&""===n[1].match.def)););return a}function j(e){return h().validPositions[e]===a?I(e):h().validPositions[e].input}function N(t,n,i,r,o){if(r&&e.isFunction(c.onBeforeWrite)){var s=c.onBeforeWrite.call(W,r,n,i,c);if(s){if(s.refreshFromBuffer){var l=s.refreshFromBuffer;E(!0===l?l:l.start,l.end,s.buffer||n),n=A(!0)}i!==a&&(i=s.caret!==a?s.caret:i)}}t!==a&&(t.inputmask._valueSet(n.join("")),i===a||r!==a&&"blur"===r.type?H(t,i,0===n.length):d&&r&&"input"===r.type?setTimeout(function(){G(t,i)},0):G(t,i),!0===o&&(X=!0,e(t).trigger("input")))}function I(t,n,i){if((n=n||x(t).match).placeholder!==a||!0===i)return e.isFunction(n.placeholder)?n.placeholder(c):n.placeholder;if(null===n.fn){if(t>-1&&h().validPositions[t]===a){var r,o=S(t),s=[];if(o.length>1+(""===o[o.length-1].match.def?1:0))for(var l=0;l<o.length;l++)if(!0!==o[l].match.optionality&&!0!==o[l].match.optionalQuantifier&&(null===o[l].match.fn||r===a||!1!==o[l].match.fn.test(r.match.def,h(),t,!0,c))&&(s.push(o[l]),null===o[l].match.fn&&(r=o[l]),s.length>1&&/[0-9a-bA-Z]/.test(s[0].match.def)))return c.placeholder.charAt(t%c.placeholder.length)}return n.def}return c.placeholder.charAt(t%c.placeholder.length)}function F(t,r,o,s,l){function u(e,t){return-1!==w().slice(e,_(e)).join("").indexOf(t)&&!M(e)&&x(e).match.nativeDef===t.charAt(t.length-1)}var p=s.slice(),f="",d=-1,m=a;if(g(),o||!0===c.autoUnmask)d=_(d);else{var y=w().slice(0,_(-1)).join(""),k=p.join("").match(new RegExp("^"+i.escapeRegex(y),"g"));k&&k.length>0&&(p.splice(0,k.length*y.length),d=_(d))}if(-1===d?(h().p=_(d),d=0):h().p=d,e.each(p,function(n,i){if(i!==a)if(h().validPositions[n]===a&&p[n]===I(n)&&M(n,!0)&&!1===R(n,p[n],!0,a,a,!0))h().p++;else{var r=new e.Event("_checkval");r.which=i.charCodeAt(0),f+=i;var s=v(a,!0),l=h().validPositions[s],y=b(s+1,l?l.locator.slice():a,s);if(!u(d,f)||o||c.autoUnmask){var k=o?n:null==y.match.fn&&y.match.optionality&&s+1<h().p?s+1:h().p;m=ae.keypressEvent.call(t,r,!0,!1,o,k),d=k+1,f=""}else m=ae.keypressEvent.call(t,r,!0,!1,!0,s+1);if(!1!==m&&!o&&e.isFunction(c.onBeforeWrite)){var x=m;if(m=c.onBeforeWrite.call(W,r,A(),m.forwardPosition,c),(m=e.extend(x,m))&&m.refreshFromBuffer){var P=m.refreshFromBuffer;E(!0===P?P:P.start,P.end,m.buffer),g(!0),m.caret&&(h().p=m.caret,m.forwardPosition=m.caret)}}}}),r){var P=a;n.activeElement===t&&m&&(P=c.numericInput?D(m.forwardPosition):m.forwardPosition),N(t,A(),P,l||new e.Event("checkval"),l&&"input"===l.type)}}function T(t){if(t){if(t.inputmask===a)return t.value;t.inputmask&&t.inputmask.refreshValue&&ae.setValueEvent.call(t)}var n=[],i=h().validPositions;for(var r in i)i[r].match&&null!=i[r].match.fn&&n.push(i[r].input);var o=0===n.length?"":(Z?n.reverse():n).join("");if(e.isFunction(c.onUnMask)){var s=(Z?A().slice().reverse():A()).join("");o=c.onUnMask.call(W,s,o,c)}return o}function G(e,i,r,o){function s(e){return!0===o||!Z||"number"!=typeof e||c.greedy&&""===c.placeholder||(e=A().join("").length-e),e}var l;if(i===a)return e.setSelectionRange?(i=e.selectionStart,r=e.selectionEnd):t.getSelection?(l=t.getSelection().getRangeAt(0)).commonAncestorContainer.parentNode!==e&&l.commonAncestorContainer!==e||(i=l.startOffset,r=l.endOffset):n.selection&&n.selection.createRange&&(r=(i=0-(l=n.selection.createRange()).duplicate().moveStart("character",-e.inputmask._valueGet().length))+l.text.length),{begin:s(i),end:s(r)};if(i.begin!==a&&(r=i.end,i=i.begin),"number"==typeof i){i=s(i),r="number"==typeof(r=s(r))?r:i;var p=parseInt(((e.ownerDocument.defaultView||t).getComputedStyle?(e.ownerDocument.defaultView||t).getComputedStyle(e,null):e.currentStyle).fontSize)*r;if(e.scrollLeft=p>e.scrollWidth?p:0,u||!1!==c.insertMode||i!==r||r++,e.setSelectionRange)e.selectionStart=i,e.selectionEnd=r;else if(t.getSelection){if(l=n.createRange(),e.firstChild===a||null===e.firstChild){var f=n.createTextNode("");e.appendChild(f)}l.setStart(e.firstChild,i<e.inputmask._valueGet().length?i:e.inputmask._valueGet().length),l.setEnd(e.firstChild,r<e.inputmask._valueGet().length?r:e.inputmask._valueGet().length),l.collapse(!0);var d=t.getSelection();d.removeAllRanges(),d.addRange(l)}else e.createTextRange&&((l=e.createTextRange()).collapse(!0),l.moveEnd("character",r),l.moveStart("character",i),l.select());H(e,{begin:i,end:r})}}function B(t){var n,i,r=A(),o=r.length,s=v(),l={},c=h().validPositions[s],u=c!==a?c.locator.slice():a;for(n=s+1;n<r.length;n++)u=(i=b(n,u,n-1)).locator.slice(),l[n]=e.extend(!0,{},i);var p=c&&c.alternation!==a?c.locator[c.alternation]:a;for(n=o-1;n>s&&(((i=l[n]).match.optionality||i.match.optionalQuantifier&&i.match.newBlockMarker||p&&(p!==l[n].locator[c.alternation]&&null!=i.match.fn||null===i.match.fn&&i.locator[c.alternation]&&O(i.locator[c.alternation].toString().split(","),p.toString().split(","))&&""!==S(n)[0].def))&&r[n]===I(n,i.match));n--)o--;return t?{l:o,def:l[o]?l[o].match:a}:o}function L(e){for(var t,n=B(),i=e.length,r=h().validPositions[v()];n<i&&!M(n,!0)&&(t=r!==a?b(n,r.locator.slice(""),r):x(n))&&!0!==t.match.optionality&&(!0!==t.match.optionalQuantifier&&!0!==t.match.newBlockMarker||n+1===i&&""===(r!==a?b(n+1,r.locator.slice(""),r):x(n+1)).match.def);)n++;for(;(t=h().validPositions[n-1])&&t&&t.match.optionality&&t.input===c.skipOptionalPartCharacter;)n--;return e.splice(n),e}function U(t){if(e.isFunction(c.isComplete))return c.isComplete(t,c);if("*"===c.repeat)return a;var n=!1,i=B(!0),r=D(i.l);if(i.def===a||i.def.newBlockMarker||i.def.optionality||i.def.optionalQuantifier){n=!0;for(var o=0;o<=r;o++){var s=b(o).match;if(null!==s.fn&&h().validPositions[o]===a&&!0!==s.optionality&&!0!==s.optionalQuantifier||null===s.fn&&t[o]!==I(o,s)){n=!1;break}}}return n}function V(t,n,r,o,s){if((c.numericInput||Z)&&(n===i.keyCode.BACKSPACE?n=i.keyCode.DELETE:n===i.keyCode.DELETE&&(n=i.keyCode.BACKSPACE),Z)){var l=r.end;r.end=r.begin,r.begin=l}n===i.keyCode.BACKSPACE&&(r.end-r.begin<1||!1===c.insertMode)?(r.begin=D(r.begin),h().validPositions[r.begin]!==a&&h().validPositions[r.begin].input===c.groupSeparator&&r.begin--):n===i.keyCode.DELETE&&r.begin===r.end&&(r.end=M(r.end,!0)&&h().validPositions[r.end]&&h().validPositions[r.end].input!==c.radixPoint?r.end+1:_(r.end)+1,h().validPositions[r.begin]!==a&&h().validPositions[r.begin].input===c.groupSeparator&&r.end++),y(r.begin,r.end,!1,o),!0!==o&&function(){if(c.keepStatic){for(var n=[],i=v(-1,!0),r=e.extend(!0,{},h().validPositions),o=h().validPositions[i];i>=0;i--){var s=h().validPositions[i];if(s){if(!0!==s.generatedInput&&/[0-9a-bA-Z]/.test(s.input)&&n.push(s.input),delete h().validPositions[i],s.alternation!==a&&s.locator[s.alternation]!==o.locator[s.alternation])break;o=s}}if(i>-1)for(h().p=_(v(-1,!0));n.length>0;){var l=new e.Event("keypress");l.which=n.pop().charCodeAt(0),ae.keypressEvent.call(t,l,!0,!1,!1,h().p)}else h().validPositions=e.extend(!0,{},r)}}();var u=v(r.begin,!0);if(u<r.begin)h().p=_(u);else if(!0!==o&&(h().p=r.begin,!0!==s))for(;h().p<u&&h().validPositions[h().p]===a;)h().p++}function K(a){function i(e){var t,i=n.createElement("span");for(var o in r)isNaN(o)&&-1!==o.indexOf("font")&&(i.style[o]=r[o]);i.style.textTransform=r.textTransform,i.style.letterSpacing=r.letterSpacing,i.style.position="absolute",i.style.height="auto",i.style.width="auto",i.style.visibility="hidden",i.style.whiteSpace="nowrap",n.body.appendChild(i);var s,l=a.inputmask._valueGet(),c=0;for(t=0,s=l.length;t<=s;t++){if(i.innerHTML+=l.charAt(t)||"_",i.offsetWidth>=e){var u=e-c,p=i.offsetWidth-e;i.innerHTML=l.charAt(t),t=(u-=i.offsetWidth/3)<p?t-1:t;break}c=i.offsetWidth}return n.body.removeChild(i),t}var r=(a.ownerDocument.defaultView||t).getComputedStyle(a,null),o=n.createElement("div");o.style.width=r.width,o.style.textAlign=r.textAlign,($=n.createElement("div")).className="im-colormask",a.parentNode.insertBefore($,a),a.parentNode.removeChild(a),$.appendChild(o),$.appendChild(a),a.style.left=o.offsetLeft+"px",e(a).on("click",function(e){return G(a,i(e.clientX)),ae.clickEvent.call(a,[e])}),e(a).on("keydown",function(e){e.shiftKey||!1===c.insertMode||setTimeout(function(){H(a)},0)})}function H(e,t,i){function r(){f||null!==s.fn&&l.input!==a?f&&(null!==s.fn&&l.input!==a||""===s.def)&&(f=!1,p+="</span>"):(f=!0,p+="<span class='im-static'>")}function o(a){!0!==a&&d!==t.begin||n.activeElement!==e||(p+="<span class='im-caret' style='border-right-width: 1px;border-right-style: solid;'></span>")}var s,l,u,p="",f=!1,d=0;if($!==a){var m=A();if(t===a?t=G(e):t.begin===a&&(t={begin:t,end:t}),!0!==i){var g=v();do{o(),h().validPositions[d]?(l=h().validPositions[d],s=l.match,u=l.locator.slice(),r(),p+=m[d]):(l=b(d,u,d-1),s=l.match,u=l.locator.slice(),(!1===c.jitMasking||d<g||"number"==typeof c.jitMasking&&isFinite(c.jitMasking)&&c.jitMasking>d)&&(r(),p+=I(d,s))),d++}while((Q===a||d<Q)&&(null!==s.fn||""!==s.def)||g>d||f);-1===p.indexOf("im-caret")&&o(!0),f&&r()}var y=$.getElementsByTagName("div")[0];y.innerHTML=p,e.inputmask.positionColorMask(e,y)}}s=s||this.maskset,c=c||this.opts;var z,q,Q,$,W=this,Y=this.el,Z=this.isRTL,J=!1,X=!1,ee=!1,te=!1,ne={on:function(t,n,r){var o=function(t){if(this.inputmask===a&&"FORM"!==this.nodeName){var n=e.data(this,"_inputmask_opts");n?new i(n).mask(this):ne.off(this)}else{if("setvalue"===t.type||"FORM"===this.nodeName||!(this.disabled||this.readOnly&&!("keydown"===t.type&&t.ctrlKey&&67===t.keyCode||!1===c.tabThrough&&t.keyCode===i.keyCode.TAB))){switch(t.type){case"input":if(!0===X)return X=!1,t.preventDefault();break;case"keydown":J=!1,X=!1;break;case"keypress":if(!0===J)return t.preventDefault();J=!0;break;case"click":if(p||f){var o=this,s=arguments;return setTimeout(function(){r.apply(o,s)},0),!1}}var l=r.apply(this,arguments);return!1===l&&(t.preventDefault(),t.stopPropagation()),l}t.preventDefault()}};t.inputmask.events[n]=t.inputmask.events[n]||[],t.inputmask.events[n].push(o),-1!==e.inArray(n,["submit","reset"])?null!==t.form&&e(t.form).on(n,o):e(t).on(n,o)},off:function(t,n){if(t.inputmask&&t.inputmask.events){var a;n?(a=[])[n]=t.inputmask.events[n]:a=t.inputmask.events,e.each(a,function(n,a){for(;a.length>0;){var i=a.pop();-1!==e.inArray(n,["submit","reset"])?null!==t.form&&e(t.form).off(n,i):e(t).off(n,i)}delete t.inputmask.events[n]})}}},ae={keydownEvent:function(t){var a=this,r=e(a),o=t.keyCode,s=G(a);if(o===i.keyCode.BACKSPACE||o===i.keyCode.DELETE||f&&o===i.keyCode.BACKSPACE_SAFARI||t.ctrlKey&&o===i.keyCode.X&&!function(e){var t=n.createElement("input"),a="on"+e,i=a in t;return i||(t.setAttribute(a,"return;"),i="function"==typeof t[a]),t=null,i}("cut"))t.preventDefault(),V(a,o,s),N(a,A(!0),h().p,t,a.inputmask._valueGet()!==A().join("")),a.inputmask._valueGet()===w().join("")?r.trigger("cleared"):!0===U(A())&&r.trigger("complete");else if(o===i.keyCode.END||o===i.keyCode.PAGE_DOWN){t.preventDefault();var l=_(v());c.insertMode||l!==h().maskLength||t.shiftKey||l--,G(a,t.shiftKey?s.begin:l,l,!0)}else o===i.keyCode.HOME&&!t.shiftKey||o===i.keyCode.PAGE_UP?(t.preventDefault(),G(a,0,t.shiftKey?s.begin:0,!0)):(c.undoOnEscape&&o===i.keyCode.ESCAPE||90===o&&t.ctrlKey)&&!0!==t.altKey?(F(a,!0,!1,z.split("")),r.trigger("click")):o!==i.keyCode.INSERT||t.shiftKey||t.ctrlKey?!0===c.tabThrough&&o===i.keyCode.TAB?(!0===t.shiftKey?(null===x(s.begin).match.fn&&(s.begin=_(s.begin)),s.end=D(s.begin,!0),s.begin=D(s.end,!0)):(s.begin=_(s.begin,!0),s.end=_(s.begin,!0),s.end<h().maskLength&&s.end--),s.begin<h().maskLength&&(t.preventDefault(),G(a,s.begin,s.end))):t.shiftKey||!1===c.insertMode&&(o===i.keyCode.RIGHT?setTimeout(function(){var e=G(a);G(a,e.begin)},0):o===i.keyCode.LEFT&&setTimeout(function(){var e=G(a);G(a,Z?e.begin+1:e.begin-1)},0)):(c.insertMode=!c.insertMode,G(a,c.insertMode||s.begin!==h().maskLength?s.begin:s.begin-1));c.onKeyDown.call(this,t,A(),G(a).begin,c),ee=-1!==e.inArray(o,c.ignorables)},keypressEvent:function(t,n,r,o,s){var l=this,u=e(l),p=t.which||t.charCode||t.keyCode;if(!(!0===n||t.ctrlKey&&t.altKey)&&(t.ctrlKey||t.metaKey||ee))return p===i.keyCode.ENTER&&z!==A().join("")&&(z=A().join(""),setTimeout(function(){u.trigger("change")},0)),!0;if(p){46===p&&!1===t.shiftKey&&""!==c.radixPoint&&(p=c.radixPoint.charCodeAt(0));var f,d=n?{begin:s,end:s}:G(l),m=String.fromCharCode(p);h().writeOutBuffer=!0;var v=R(d,m,o);if(!1!==v&&(g(!0),f=v.caret!==a?v.caret:n?v.pos+1:_(v.pos),h().p=f),!1!==r&&(setTimeout(function(){c.onKeyValidation.call(l,p,v,c)},0),h().writeOutBuffer&&!1!==v)){var y=A();N(l,y,c.numericInput&&v.caret===a?D(f):f,t,!0!==n),!0!==n&&setTimeout(function(){!0===U(y)&&u.trigger("complete")},0)}if(t.preventDefault(),n)return!1!==v&&(v.forwardPosition=f),v}},pasteEvent:function(n){var a,i=this,r=n.originalEvent||n,o=e(i),s=i.inputmask._valueGet(!0),l=G(i);Z&&(a=l.end,l.end=l.begin,l.begin=a);var u=s.substr(0,l.begin),p=s.substr(l.end,s.length);if(u===(Z?w().reverse():w()).slice(0,l.begin).join("")&&(u=""),p===(Z?w().reverse():w()).slice(l.end).join("")&&(p=""),Z&&(a=u,u=p,p=a),t.clipboardData&&t.clipboardData.getData)s=u+t.clipboardData.getData("Text")+p;else{if(!r.clipboardData||!r.clipboardData.getData)return!0;s=u+r.clipboardData.getData("text/plain")+p}var f=s;if(e.isFunction(c.onBeforePaste)){if(!1===(f=c.onBeforePaste.call(W,s,c)))return n.preventDefault();f||(f=s)}return F(i,!1,!1,Z?f.split("").reverse():f.toString().split("")),N(i,A(),_(v()),n,z!==A().join("")),!0===U(A())&&o.trigger("complete"),n.preventDefault()},inputFallBackEvent:function(t){var n=this,a=n.inputmask._valueGet();if(A().join("")!==a){var r=G(n);if(!1===function(t,n,a){if("."===n.charAt(a.begin-1)&&""!==c.radixPoint&&((n=n.split(""))[a.begin-1]=c.radixPoint.charAt(0),n=n.join("")),n.charAt(a.begin-1)===c.radixPoint&&n.length>A().length){var i=new e.Event("keypress");return i.which=c.radixPoint.charCodeAt(0),ae.keypressEvent.call(t,i,!0,!0,!1,a.begin-1),!1}}(n,a,r))return!1;if(a=a.replace(new RegExp("("+i.escapeRegex(w().join(""))+")*"),""),!1===function(t,n,a){if(p){var i=n.replace(A().join(""),"");if(1===i.length){var r=new e.Event("keypress");return r.which=i.charCodeAt(0),ae.keypressEvent.call(t,r,!0,!0,!1,h().validPositions[a.begin-1]?a.begin:a.begin-1),!1}}}(n,a,r))return!1;r.begin>a.length&&(G(n,a.length),r=G(n));var o=A().join(""),s=a.substr(0,r.begin),l=a.substr(r.begin),u=o.substr(0,r.begin),f=o.substr(r.begin),d=r,m="",g=!1;if(s!==u){d.begin=0;for(var v=(g=s.length>=u.length)?s.length:u.length,y=0;s.charAt(y)===u.charAt(y)&&y<v;y++)d.begin++;g&&(m+=s.slice(d.begin,d.end))}l!==f&&(l.length>f.length?g&&(d.end=d.begin):l.length<f.length?d.end+=f.length-l.length:l.charAt(0)!==f.charAt(0)&&d.end++),N(n,A(),d),m.length>0?e.each(m.split(""),function(t,a){var i=new e.Event("keypress");i.which=a.charCodeAt(0),ee=!1,ae.keypressEvent.call(n,i)}):(d.begin===d.end-1&&G(n,D(d.begin+1),d.end),t.keyCode=i.keyCode.DELETE,ae.keydownEvent.call(n,t)),t.preventDefault()}},setValueEvent:function(t){this.inputmask.refreshValue=!1;var n=this,a=n.inputmask._valueGet(!0);e.isFunction(c.onBeforeMask)&&(a=c.onBeforeMask.call(W,a,c)||a),a=a.split(""),F(n,!0,!1,Z?a.reverse():a),z=A().join(""),(c.clearMaskOnLostFocus||c.clearIncomplete)&&n.inputmask._valueGet()===w().join("")&&n.inputmask._valueSet("")},focusEvent:function(e){var t=this,n=t.inputmask._valueGet();c.showMaskOnFocus&&(!c.showMaskOnHover||c.showMaskOnHover&&""===n)&&(t.inputmask._valueGet()!==A().join("")?N(t,A(),_(v())):!1===te&&G(t,_(v()))),!0===c.positionCaretOnTab&&!1===te&&""!==n&&(N(t,A(),G(t)),ae.clickEvent.apply(t,[e,!0])),z=A().join("")},mouseleaveEvent:function(e){var t=this;if(te=!1,c.clearMaskOnLostFocus&&n.activeElement!==t){var a=A().slice(),i=t.inputmask._valueGet();i!==t.getAttribute("placeholder")&&""!==i&&(-1===v()&&i===w().join("")?a=[]:L(a),N(t,a))}},clickEvent:function(t,i){function r(t){if(""!==c.radixPoint){var n=h().validPositions;if(n[t]===a||n[t].input===I(t)){if(t<_(-1))return!0;var i=e.inArray(c.radixPoint,A());if(-1!==i){for(var r in n)if(i<r&&n[r].input!==I(r))return!1;return!0}}}return!1}var o=this;setTimeout(function(){if(n.activeElement===o){var e=G(o);if(i&&(Z?e.end=e.begin:e.begin=e.end),e.begin===e.end)switch(c.positionCaretOnClick){case"none":break;case"radixFocus":if(r(e.begin)){var t=A().join("").indexOf(c.radixPoint);G(o,c.numericInput?_(t):t);break}default:var s=e.begin,l=v(s,!0),u=_(l);if(s<u)G(o,M(s,!0)||M(s-1,!0)?s:_(s));else{var p=h().validPositions[l],f=b(u,p?p.match.locator:a,p),d=I(u,f.match);if(""!==d&&A()[u]!==d&&!0!==f.match.optionalQuantifier&&!0!==f.match.newBlockMarker||!M(u,!0)&&f.match.def===d){var m=_(u);(s>=m||s===u)&&(u=m)}G(o,u)}}}},0)},dblclickEvent:function(e){var t=this;setTimeout(function(){G(t,0,_(v()))},0)},cutEvent:function(a){var r=this,o=e(r),s=G(r),l=a.originalEvent||a,c=t.clipboardData||l.clipboardData,u=Z?A().slice(s.end,s.begin):A().slice(s.begin,s.end);c.setData("text",Z?u.reverse().join(""):u.join("")),n.execCommand&&n.execCommand("copy"),V(r,i.keyCode.DELETE,s),N(r,A(),h().p,a,z!==A().join("")),r.inputmask._valueGet()===w().join("")&&o.trigger("cleared")},blurEvent:function(t){var n=e(this),i=this;if(i.inputmask){var r=i.inputmask._valueGet(),o=A().slice();""!==r&&(c.clearMaskOnLostFocus&&(-1===v()&&r===w().join("")?o=[]:L(o)),!1===U(o)&&(setTimeout(function(){n.trigger("incomplete")},0),c.clearIncomplete&&(g(),o=c.clearMaskOnLostFocus?[]:w().slice())),N(i,o,a,t)),z!==A().join("")&&(z=o.join(""),n.trigger("change"))}},mouseenterEvent:function(e){var t=this;te=!0,n.activeElement!==t&&c.showMaskOnHover&&t.inputmask._valueGet()!==A().join("")&&N(t,A())},submitEvent:function(e){z!==A().join("")&&q.trigger("change"),c.clearMaskOnLostFocus&&-1===v()&&Y.inputmask._valueGet&&Y.inputmask._valueGet()===w().join("")&&Y.inputmask._valueSet(""),c.removeMaskOnSubmit&&(Y.inputmask._valueSet(Y.inputmask.unmaskedvalue(),!0),setTimeout(function(){N(Y,A())},0))},resetEvent:function(e){Y.inputmask.refreshValue=!0,setTimeout(function(){q.trigger("setvalue")},0)}};i.prototype.positionColorMask=function(e,t){e.style.left=t.offsetLeft+"px"};var ie;if(r!==a)switch(r.action){case"isComplete":return Y=r.el,U(A());case"unmaskedvalue":return Y!==a&&r.value===a||(ie=r.value,ie=(e.isFunction(c.onBeforeMask)?c.onBeforeMask.call(W,ie,c)||ie:ie).split(""),F(a,!1,!1,Z?ie.reverse():ie),e.isFunction(c.onBeforeWrite)&&c.onBeforeWrite.call(W,a,A(),0,c)),T(Y);case"mask":!function(t){ne.off(t);var i=function(t,i){var r=t.getAttribute("type"),s="INPUT"===t.tagName&&-1!==e.inArray(r,i.supportsInputType)||t.isContentEditable||"TEXTAREA"===t.tagName;if(!s)if("INPUT"===t.tagName){var l=n.createElement("input");l.setAttribute("type",r),s="text"===l.type,l=null}else s="partial";return!1!==s?function(t){function r(){return this.inputmask?this.inputmask.opts.autoUnmask?this.inputmask.unmaskedvalue():-1!==v()||!0!==i.nullable?n.activeElement===this&&i.clearMaskOnLostFocus?(Z?L(A().slice()).reverse():L(A().slice())).join(""):l.call(this):"":l.call(this)}function s(t){c.call(this,t),this.inputmask&&e(this).trigger("setvalue")}var l,c;if(!t.inputmask.__valueGet){if(!0!==i.noValuePatching){if(Object.getOwnPropertyDescriptor){"function"!=typeof Object.getPrototypeOf&&(Object.getPrototypeOf="object"===o("test".__proto__)?function(e){return e.__proto__}:function(e){return e.constructor.prototype});var u=Object.getPrototypeOf?Object.getOwnPropertyDescriptor(Object.getPrototypeOf(t),"value"):a;u&&u.get&&u.set?(l=u.get,c=u.set,Object.defineProperty(t,"value",{get:r,set:s,configurable:!0})):"INPUT"!==t.tagName&&(l=function(){return this.textContent},c=function(e){this.textContent=e},Object.defineProperty(t,"value",{get:r,set:s,configurable:!0}))}else n.__lookupGetter__&&t.__lookupGetter__("value")&&(l=t.__lookupGetter__("value"),c=t.__lookupSetter__("value"),t.__defineGetter__("value",r),t.__defineSetter__("value",s));t.inputmask.__valueGet=l,t.inputmask.__valueSet=c}t.inputmask._valueGet=function(e){return Z&&!0!==e?l.call(this.el).split("").reverse().join(""):l.call(this.el)},t.inputmask._valueSet=function(e,t){c.call(this.el,null===e||e===a?"":!0!==t&&Z?e.split("").reverse().join(""):e)},l===a&&(l=function(){return this.value},c=function(e){this.value=e},function(t){if(e.valHooks&&(e.valHooks[t]===a||!0!==e.valHooks[t].inputmaskpatch)){var n=e.valHooks[t]&&e.valHooks[t].get?e.valHooks[t].get:function(e){return e.value},r=e.valHooks[t]&&e.valHooks[t].set?e.valHooks[t].set:function(e,t){return e.value=t,e};e.valHooks[t]={get:function(e){if(e.inputmask){if(e.inputmask.opts.autoUnmask)return e.inputmask.unmaskedvalue();var t=n(e);return-1!==v(a,a,e.inputmask.maskset.validPositions)||!0!==i.nullable?t:""}return n(e)},set:function(t,n){var a,i=e(t);return a=r(t,n),t.inputmask&&i.trigger("setvalue"),a},inputmaskpatch:!0}}}(t.type),function(t){ne.on(t,"mouseenter",function(t){var n=e(this);this.inputmask._valueGet()!==A().join("")&&n.trigger("setvalue")})}(t))}}(t):t.inputmask=a,s}(t,c);if(!1!==i&&(Y=t,q=e(Y),-1===(Q=Y!==a?Y.maxLength:a)&&(Q=a),!0===c.colorMask&&K(Y),d&&(Y.hasOwnProperty("inputmode")&&(Y.inputmode=c.inputmode,Y.setAttribute("inputmode",c.inputmode)),"rtfm"===c.androidHack&&(!0!==c.colorMask&&K(Y),Y.type="password")),!0===i&&(ne.on(Y,"submit",ae.submitEvent),ne.on(Y,"reset",ae.resetEvent),ne.on(Y,"mouseenter",ae.mouseenterEvent),ne.on(Y,"blur",ae.blurEvent),ne.on(Y,"focus",ae.focusEvent),ne.on(Y,"mouseleave",ae.mouseleaveEvent),!0!==c.colorMask&&ne.on(Y,"click",ae.clickEvent),ne.on(Y,"dblclick",ae.dblclickEvent),ne.on(Y,"paste",ae.pasteEvent),ne.on(Y,"dragdrop",ae.pasteEvent),ne.on(Y,"drop",ae.pasteEvent),ne.on(Y,"cut",ae.cutEvent),ne.on(Y,"complete",c.oncomplete),ne.on(Y,"incomplete",c.onincomplete),ne.on(Y,"cleared",c.oncleared),d||!0===c.inputEventOnly?Y.removeAttribute("maxLength"):(ne.on(Y,"keydown",ae.keydownEvent),ne.on(Y,"keypress",ae.keypressEvent)),ne.on(Y,"compositionstart",e.noop),ne.on(Y,"compositionupdate",e.noop),ne.on(Y,"compositionend",e.noop),ne.on(Y,"keyup",e.noop),ne.on(Y,"input",ae.inputFallBackEvent),ne.on(Y,"beforeinput",e.noop)),ne.on(Y,"setvalue",ae.setValueEvent),z=w().join(""),""!==Y.inputmask._valueGet(!0)||!1===c.clearMaskOnLostFocus||n.activeElement===Y)){var r=e.isFunction(c.onBeforeMask)?c.onBeforeMask.call(W,Y.inputmask._valueGet(!0),c)||Y.inputmask._valueGet(!0):Y.inputmask._valueGet(!0);""!==r&&F(Y,!0,!1,Z?r.split("").reverse():r.split(""));var s=A().slice();z=s.join(""),!1===U(s)&&c.clearIncomplete&&g(),c.clearMaskOnLostFocus&&n.activeElement!==Y&&(-1===v()?s=[]:L(s)),N(Y,s),n.activeElement===Y&&G(Y,_(v()))}}(Y);break;case"format":return ie=(e.isFunction(c.onBeforeMask)?c.onBeforeMask.call(W,r.value,c)||r.value:r.value).split(""),F(a,!0,!1,Z?ie.reverse():ie),r.metadata?{value:Z?A().slice().reverse().join(""):A().join(""),metadata:l.call(this,{action:"getmetadata"},s,c)}:Z?A().slice().reverse().join(""):A().join("");case"isValid":r.value?(ie=r.value.split(""),F(a,!0,!0,Z?ie.reverse():ie)):r.value=A().join("");for(var re=A(),oe=B(),se=re.length-1;se>oe&&!M(se);se--);return re.splice(oe,se+1-oe),U(re)&&r.value===A().join("");case"getemptymask":return w().join("");case"remove":if(Y&&Y.inputmask){q=e(Y),Y.inputmask._valueSet(c.autoUnmask?T(Y):Y.inputmask._valueGet(!0)),ne.off(Y);Object.getOwnPropertyDescriptor&&Object.getPrototypeOf?Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Y),"value")&&Y.inputmask.__valueGet&&Object.defineProperty(Y,"value",{get:Y.inputmask.__valueGet,set:Y.inputmask.__valueSet,configurable:!0}):n.__lookupGetter__&&Y.__lookupGetter__("value")&&Y.inputmask.__valueGet&&(Y.__defineGetter__("value",Y.inputmask.__valueGet),Y.__defineSetter__("value",Y.inputmask.__valueSet)),Y.inputmask=a}return Y;case"getmetadata":if(e.isArray(s.metadata)){var le=m(!0,0,!1).join("");return e.each(s.metadata,function(e,t){if(t.mask===le)return le=t,!1}),le}return s.metadata}}var c=navigator.userAgent,u=/mobile/i.test(c),p=/iemobile/i.test(c),f=/iphone/i.test(c)&&!p,d=/android/i.test(c)&&!p;return i.prototype={dataAttribute:"data-inputmask",defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},quantifiermarker:{start:"{",end:"}"},groupmarker:{start:"(",end:")"},alternatormarker:"|",escapeChar:"\\",mask:null,regex:null,oncomplete:e.noop,onincomplete:e.noop,oncleared:e.noop,repeat:0,greedy:!0,autoUnmask:!1,removeMaskOnSubmit:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,alias:null,onKeyDown:e.noop,onBeforeMask:null,onBeforePaste:function(t,n){return e.isFunction(n.onBeforeMask)?n.onBeforeMask.call(this,t,n):t},onBeforeWrite:null,onUnMask:null,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:e.noop,skipOptionalPartCharacter:" ",numericInput:!1,rightAlign:!1,undoOnEscape:!0,radixPoint:"",radixPointDefinitionSymbol:a,groupSeparator:"",keepStatic:null,positionCaretOnTab:!0,tabThrough:!1,supportsInputType:["text","tel","password"],ignorables:[8,9,13,19,27,33,34,35,36,37,38,39,40,45,46,93,112,113,114,115,116,117,118,119,120,121,122,123,0,229],isComplete:null,canClearPosition:e.noop,preValidation:null,postValidation:null,staticDefinitionSymbol:a,jitMasking:!1,nullable:!0,inputEventOnly:!1,noValuePatching:!1,positionCaretOnClick:"lvp",casing:null,inputmode:"verbatim",colorMask:!1,androidHack:!1,importDataAttributes:!0},definitions:{9:{validator:"[0-91-9]",cardinality:1,definitionSymbol:"*"},a:{validator:"[A-Za-zА-яЁёÀ-ÿµ]",cardinality:1,definitionSymbol:"*"},"*":{validator:"[0-91-9A-Za-zА-яЁёÀ-ÿµ]",cardinality:1}},aliases:{},masksCache:{},mask:function(o){function c(n,i,o,s){if(!0===i.importDataAttributes){var l,c,u,p,f=function(e,i){null!==(i=i!==a?i:n.getAttribute(s+"-"+e))&&("string"==typeof i&&(0===e.indexOf("on")?i=t[i]:"false"===i?i=!1:"true"===i&&(i=!0)),o[e]=i)},d=n.getAttribute(s);if(d&&""!==d&&(d=d.replace(new RegExp("'","g"),'"'),c=JSON.parse("{"+d+"}")),c){u=a;for(p in c)if("alias"===p.toLowerCase()){u=c[p];break}}f("alias",u),o.alias&&r(o.alias,o,i);for(l in i){if(c){u=a;for(p in c)if(p.toLowerCase()===l.toLowerCase()){u=c[p];break}}f(l,u)}}return e.extend(!0,i,o),("rtl"===n.dir||i.rightAlign)&&(n.style.textAlign="right"),("rtl"===n.dir||i.numericInput)&&(n.dir="ltr",n.removeAttribute("dir"),i.isRTL=!0),i}var u=this;return"string"==typeof o&&(o=n.getElementById(o)||n.querySelectorAll(o)),o=o.nodeName?[o]:o,e.each(o,function(t,n){var r=e.extend(!0,{},u.opts);c(n,r,e.extend(!0,{},u.userOptions),u.dataAttribute);var o=s(r,u.noMasksCache);o!==a&&(n.inputmask!==a&&(n.inputmask.opts.autoUnmask=!0,n.inputmask.remove()),n.inputmask=new i(a,a,!0),n.inputmask.opts=r,n.inputmask.noMasksCache=u.noMasksCache,n.inputmask.userOptions=e.extend(!0,{},u.userOptions),n.inputmask.isRTL=r.isRTL||r.numericInput,n.inputmask.el=n,n.inputmask.maskset=o,e.data(n,"_inputmask_opts",r),l.call(n.inputmask,{action:"mask"}))}),o&&o[0]?o[0].inputmask||this:this},option:function(t,n){return"string"==typeof t?this.opts[t]:"object"===(void 0===t?"undefined":o(t))?(e.extend(this.userOptions,t),this.el&&!0!==n&&this.mask(this.el),this):void 0},unmaskedvalue:function(e){return this.maskset=this.maskset||s(this.opts,this.noMasksCache),l.call(this,{action:"unmaskedvalue",value:e})},remove:function(){return l.call(this,{action:"remove"})},getemptymask:function(){return this.maskset=this.maskset||s(this.opts,this.noMasksCache),l.call(this,{action:"getemptymask"})},hasMaskedValue:function(){return!this.opts.autoUnmask},isComplete:function(){return this.maskset=this.maskset||s(this.opts,this.noMasksCache),l.call(this,{action:"isComplete"})},getmetadata:function(){return this.maskset=this.maskset||s(this.opts,this.noMasksCache),l.call(this,{action:"getmetadata"})},isValid:function(e){return this.maskset=this.maskset||s(this.opts,this.noMasksCache),l.call(this,{action:"isValid",value:e})},format:function(e,t){return this.maskset=this.maskset||s(this.opts,this.noMasksCache),l.call(this,{action:"format",value:e,metadata:t})},analyseMask:function(t,n,r){function o(e,t,n,a){this.matches=[],this.openGroup=e||!1,this.alternatorGroup=!1,this.isGroup=e||!1,this.isOptional=t||!1,this.isQuantifier=n||!1,this.isAlternator=a||!1,this.quantifier={min:1,max:1}}function s(t,o,s){s=s!==a?s:t.matches.length;var l=t.matches[s-1];if(n)0===o.indexOf("[")||b&&/\\d|\\s|\\w]/i.test(o)||"."===o?t.matches.splice(s++,0,{fn:new RegExp(o,r.casing?"i":""),cardinality:1,optionality:t.isOptional,newBlockMarker:l===a||l.def!==o,casing:null,def:o,placeholder:a,nativeDef:o}):(b&&(o=o[o.length-1]),e.each(o.split(""),function(e,n){l=t.matches[s-1],t.matches.splice(s++,0,{fn:null,cardinality:0,optionality:t.isOptional,newBlockMarker:l===a||l.def!==n&&null!==l.fn,casing:null,def:r.staticDefinitionSymbol||n,placeholder:r.staticDefinitionSymbol!==a?n:a,nativeDef:n})})),b=!1;else{var c=(r.definitions?r.definitions[o]:a)||i.prototype.definitions[o];if(c&&!b){for(var u=c.prevalidator,p=u?u.length:0,f=1;f<c.cardinality;f++){var d=p>=f?u[f-1]:[],m=d.validator,h=d.cardinality;t.matches.splice(s++,0,{fn:m?"string"==typeof m?new RegExp(m,r.casing?"i":""):new function(){this.test=m}:new RegExp("."),cardinality:h||1,optionality:t.isOptional,newBlockMarker:l===a||l.def!==(c.definitionSymbol||o),casing:c.casing,def:c.definitionSymbol||o,placeholder:c.placeholder,nativeDef:o}),l=t.matches[s-1]}t.matches.splice(s++,0,{fn:c.validator?"string"==typeof c.validator?new RegExp(c.validator,r.casing?"i":""):new function(){this.test=c.validator}:new RegExp("."),cardinality:c.cardinality,optionality:t.isOptional,newBlockMarker:l===a||l.def!==(c.definitionSymbol||o),casing:c.casing,def:c.definitionSymbol||o,placeholder:c.placeholder,nativeDef:o})}else t.matches.splice(s++,0,{fn:null,cardinality:0,optionality:t.isOptional,newBlockMarker:l===a||l.def!==o&&null!==l.fn,casing:null,def:r.staticDefinitionSymbol||o,placeholder:r.staticDefinitionSymbol!==a?o:a,nativeDef:o}),b=!1}}function l(t){t&&t.matches&&e.each(t.matches,function(e,i){var o=t.matches[e+1];(o===a||o.matches===a||!1===o.isQuantifier)&&i&&i.isGroup&&(i.isGroup=!1,n||(s(i,r.groupmarker.start,0),!0!==i.openGroup&&s(i,r.groupmarker.end))),l(i)})}function c(){if(P.length>0){if(m=P[P.length-1],s(m,f),m.isAlternator){h=P.pop();for(var e=0;e<h.matches.length;e++)h.matches[e].isGroup=!1;P.length>0?(m=P[P.length-1]).matches.push(h):x.matches.push(h)}}else s(x,f)}function u(e){e.matches=e.matches.reverse();for(var t in e.matches)if(e.matches.hasOwnProperty(t)){var n=parseInt(t);if(e.matches[t].isQuantifier&&e.matches[n+1]&&e.matches[n+1].isGroup){var i=e.matches[t];e.matches.splice(t,1),e.matches.splice(n+1,0,i)}e.matches[t].matches!==a?e.matches[t]=u(e.matches[t]):e.matches[t]=function(e){return e===r.optionalmarker.start?e=r.optionalmarker.end:e===r.optionalmarker.end?e=r.optionalmarker.start:e===r.groupmarker.start?e=r.groupmarker.end:e===r.groupmarker.end&&(e=r.groupmarker.start),e}(e.matches[t])}return e}var p,f,d,m,h,g,v,y=/(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})|[^.?*+^${[]()|\\]+|./g,k=/\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g,b=!1,x=new o,P=[],S=[];for(n&&(r.optionalmarker.start=a,r.optionalmarker.end=a);p=n?k.exec(t):y.exec(t);){if(f=p[0],n)switch(f.charAt(0)){case"?":f="{0,1}";break;case"+":case"*":f="{"+f+"}"}if(b)c();else switch(f.charAt(0)){case r.escapeChar:b=!0,n&&c();break;case r.optionalmarker.end:case r.groupmarker.end:if(d=P.pop(),d.openGroup=!1,d!==a)if(P.length>0){if((m=P[P.length-1]).matches.push(d),m.isAlternator){h=P.pop();for(var w=0;w<h.matches.length;w++)h.matches[w].isGroup=!1,h.matches[w].alternatorGroup=!1;P.length>0?(m=P[P.length-1]).matches.push(h):x.matches.push(h)}}else x.matches.push(d);else c();break;case r.optionalmarker.start:P.push(new o(!1,!0));break;case r.groupmarker.start:P.push(new o(!0));break;case r.quantifiermarker.start:var A=new o(!1,!1,!0),E=(f=f.replace(/[{}]/g,"")).split(","),C=isNaN(E[0])?E[0]:parseInt(E[0]),O=1===E.length?C:isNaN(E[1])?E[1]:parseInt(E[1]);if("*"!==O&&"+"!==O||(C="*"===O?0:1),A.quantifier={min:C,max:O},P.length>0){var R=P[P.length-1].matches;(p=R.pop()).isGroup||((v=new o(!0)).matches.push(p),p=v),R.push(p),R.push(A)}else(p=x.matches.pop()).isGroup||(n&&null===p.fn&&"."===p.def&&(p.fn=new RegExp(p.def,r.casing?"i":"")),(v=new o(!0)).matches.push(p),p=v),x.matches.push(p),x.matches.push(A);break;case r.alternatormarker:if(P.length>0){var M=(m=P[P.length-1]).matches[m.matches.length-1];g=m.openGroup&&(M.matches===a||!1===M.isGroup&&!1===M.isAlternator)?P.pop():m.matches.pop()}else g=x.matches.pop();if(g.isAlternator)P.push(g);else if(g.alternatorGroup?(h=P.pop(),g.alternatorGroup=!1):h=new o(!1,!1,!1,!0),h.matches.push(g),P.push(h),g.openGroup){g.openGroup=!1;var _=new o(!0);_.alternatorGroup=!0,P.push(_)}break;default:c()}}for(;P.length>0;)d=P.pop(),x.matches.push(d);return x.matches.length>0&&(l(x),S.push(x)),(r.numericInput||r.isRTL)&&u(S[0]),S}},i.extendDefaults=function(t){e.extend(!0,i.prototype.defaults,t)},i.extendDefinitions=function(t){e.extend(!0,i.prototype.definitions,t)},i.extendAliases=function(t){e.extend(!0,i.prototype.aliases,t)},i.format=function(e,t,n){return i(t).format(e,n)},i.unmask=function(e,t){return i(t).unmaskedvalue(e)},i.isValid=function(e,t){return i(t).isValid(e)},i.remove=function(t){e.each(t,function(e,t){t.inputmask&&t.inputmask.remove()})},i.escapeRegex=function(e){var t=["/",".","*","+","?","|","(",")","[","]","{","}","\\","$","^"];return e.replace(new RegExp("(\\"+t.join("|\\")+")","gim"),"\\$1")},i.keyCode={ALT:18,BACKSPACE:8,BACKSPACE_SAFARI:127,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91,X:88},i})},function(e,t){e.exports=jQuery},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}n(4),n(9),n(12),n(13),n(14),n(15);var i=a(n(1)),r=a(n(0)),o=a(n(2));r.default===o.default&&n(16),window.Inputmask=i.default},function(e,t,n){var a=n(5);"string"==typeof a&&(a=[[e.i,a,""]]);var i={hmr:!0};i.transform=void 0;n(7)(a,i);a.locals&&(e.exports=a.locals)},function(e,t,n){(e.exports=n(6)(void 0)).push([e.i,"span.im-caret {\r\n -webkit-animation: 1s blink step-end infinite;\r\n animation: 1s blink step-end infinite;\r\n}\r\n\r\n@keyframes blink {\r\n from, to {\r\n border-right-color: black;\r\n }\r\n 50% {\r\n border-right-color: transparent;\r\n }\r\n}\r\n\r\n@-webkit-keyframes blink {\r\n from, to {\r\n border-right-color: black;\r\n }\r\n 50% {\r\n border-right-color: transparent;\r\n }\r\n}\r\n\r\nspan.im-static {\r\n color: grey;\r\n}\r\n\r\ndiv.im-colormask {\r\n display: inline-block;\r\n border-style: inset;\r\n border-width: 2px;\r\n -webkit-appearance: textfield;\r\n -moz-appearance: textfield;\r\n appearance: textfield;\r\n}\r\n\r\ndiv.im-colormask > input {\r\n position: absolute;\r\n display: inline-block;\r\n background-color: transparent;\r\n color: transparent;\r\n -webkit-appearance: caret;\r\n -moz-appearance: caret;\r\n appearance: caret;\r\n border-style: none;\r\n left: 0; /*calculated*/\r\n}\r\n\r\ndiv.im-colormask > input:focus {\r\n outline: none;\r\n}\r\n\r\ndiv.im-colormask > input::-moz-selection{\r\n background: none;\r\n}\r\n\r\ndiv.im-colormask > input::selection{\r\n background: none;\r\n}\r\ndiv.im-colormask > input::-moz-selection{\r\n background: none;\r\n}\r\n\r\ndiv.im-colormask > div {\r\n color: black;\r\n display: inline-block;\r\n width: 100px; /*calculated*/\r\n}",""])},function(e,t){function n(e,t){var n=e[1]||"",i=e[3];if(!i)return n;if(t&&"function"==typeof btoa){var r=a(i),o=i.sources.map(function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"});return[n].concat(o).concat([r]).join("\n")}return[n].join("\n")}function a(e){return"/*# "+("sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e)))))+" */"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var a=n(t,e);return t[2]?"@media "+t[2]+"{"+a+"}":a}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var a={},i=0;i<this.length;i++){var r=this[i][0];"number"==typeof r&&(a[r]=!0)}for(i=0;i<e.length;i++){var o=e[i];"number"==typeof o[0]&&a[o[0]]||(n&&!o[2]?o[2]=n:n&&(o[2]="("+o[2]+") and ("+n+")"),t.push(o))}},t}},function(e,t,n){function a(e,t){for(var n=0;n<e.length;n++){var a=e[n],i=m[a.id];if(i){i.refs++;for(o=0;o<i.parts.length;o++)i.parts[o](a.parts[o]);for(;o<a.parts.length;o++)i.parts.push(u(a.parts[o],t))}else{for(var r=[],o=0;o<a.parts.length;o++)r.push(u(a.parts[o],t));m[a.id]={id:a.id,refs:1,parts:r}}}}function i(e,t){for(var n=[],a={},i=0;i<e.length;i++){var r=e[i],o=t.base?r[0]+t.base:r[0],s={css:r[1],media:r[2],sourceMap:r[3]};a[o]?a[o].parts.push(s):n.push(a[o]={id:o,parts:[s]})}return n}function r(e,t){var n=g(e.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var a=k[k.length-1];if("top"===e.insertAt)a?a.nextSibling?n.insertBefore(t,a.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),k.push(t);else if("bottom"===e.insertAt)n.appendChild(t);else{if("object"!=typeof e.insertAt||!e.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var i=g(e.insertInto+" "+e.insertAt.before);n.insertBefore(t,i)}}function o(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=k.indexOf(e);t>=0&&k.splice(t,1)}function s(e){var t=document.createElement("style");return e.attrs.type="text/css",c(t,e.attrs),r(e,t),t}function l(e){var t=document.createElement("link");return e.attrs.type="text/css",e.attrs.rel="stylesheet",c(t,e.attrs),r(e,t),t}function c(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function u(e,t){var n,a,i,r;if(t.transform&&e.css){if(!(r=t.transform(e.css)))return function(){};e.css=r}if(t.singleton){var c=y++;n=v||(v=s(t)),a=p.bind(null,n,c,!1),i=p.bind(null,n,c,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=l(t),a=d.bind(null,n,t),i=function(){o(n),n.href&&URL.revokeObjectURL(n.href)}):(n=s(t),a=f.bind(null,n),i=function(){o(n)});return a(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;a(e=t)}else i()}}function p(e,t,n,a){var i=n?"":a.css;if(e.styleSheet)e.styleSheet.cssText=x(t,i);else{var r=document.createTextNode(i),o=e.childNodes;o[t]&&e.removeChild(o[t]),o.length?e.insertBefore(r,o[t]):e.appendChild(r)}}function f(e,t){var n=t.css,a=t.media;if(a&&e.setAttribute("media",a),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function d(e,t,n){var a=n.css,i=n.sourceMap,r=void 0===t.convertToAbsoluteUrls&&i;(t.convertToAbsoluteUrls||r)&&(a=b(a)),i&&(a+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var o=new Blob([a],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(o),s&&URL.revokeObjectURL(s)}var m={},h=function(e){var t;return function(){return void 0===t&&(t=e.apply(this,arguments)),t}}(function(){return window&&document&&document.all&&!window.atob}),g=function(e){var t={};return function(n){if(void 0===t[n]){var a=e.call(this,n);if(a instanceof window.HTMLIFrameElement)try{a=a.contentDocument.head}catch(e){a=null}t[n]=a}return t[n]}}(function(e){return document.querySelector(e)}),v=null,y=0,k=[],b=n(8);e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||(t.singleton=h()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=i(e,t);return a(n,t),function(e){for(var r=[],o=0;o<n.length;o++){var s=n[o];(l=m[s.id]).refs--,r.push(l)}e&&a(i(e,t),t);for(o=0;o<r.length;o++){var l=r[o];if(0===l.refs){for(var c=0;c<l.parts.length;c++)l.parts[c]();delete m[l.id]}}}};var x=function(){var e=[];return function(t,n){return e[t]=n,e.filter(Boolean).join("\n")}}()},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,a=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var i=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});if(/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/)/i.test(i))return e;var r;return r=0===i.indexOf("//")?i:0===i.indexOf("/")?n+i:a+i.replace(/^\.\//,""),"url("+JSON.stringify(r)+")"})}},function(e,t,n){"use strict";var a,i,r;"function"==typeof Symbol&&Symbol.iterator;!function(o){i=[n(0),n(1)],void 0!==(r="function"==typeof(a=o)?a.apply(t,i):a)&&(e.exports=r)}(function(e,t){function n(e){return isNaN(e)||29===new Date(e,2,0).getDate()}return t.extendAliases({"dd/mm/yyyy":{mask:"1/2/y",placeholder:"dd/mm/yyyy",regex:{val1pre:new RegExp("[0-3]"),val1:new RegExp("0[1-9]|[12][0-9]|3[01]"),val2pre:function(e){var n=t.escapeRegex.call(this,e);return new RegExp("((0[1-9]|[12][0-9]|3[01])"+n+"[01])")},val2:function(e){var n=t.escapeRegex.call(this,e);return new RegExp("((0[1-9]|[12][0-9])"+n+"(0[1-9]|1[012]))|(30"+n+"(0[13-9]|1[012]))|(31"+n+"(0[13578]|1[02]))")}},leapday:"29/02/",separator:"/",yearrange:{minyear:1900,maxyear:2099},isInYearRange:function(e,t,n){if(isNaN(e))return!1;var a=parseInt(e.concat(t.toString().slice(e.length))),i=parseInt(e.concat(n.toString().slice(e.length)));return!isNaN(a)&&(t<=a&&a<=n)||!isNaN(i)&&(t<=i&&i<=n)},determinebaseyear:function(e,t,n){var a=(new Date).getFullYear();if(e>a)return e;if(t<a){for(var i=t.toString().slice(0,2),r=t.toString().slice(2,4);t<i+n;)i--;var o=i+r;return e>o?e:o}if(e<=a&&a<=t){for(var s=a.toString().slice(0,2);t<s+n;)s--;var l=s+n;return l<e?e:l}return a},onKeyDown:function(n,a,i,r){var o=e(this);if(n.ctrlKey&&n.keyCode===t.keyCode.RIGHT){var s=new Date;o.val(s.getDate().toString()+(s.getMonth()+1).toString()+s.getFullYear().toString()),o.trigger("setvalue")}},getFrontValue:function(e,t,n){for(var a=0,i=0,r=0;r<e.length&&"2"!==e.charAt(r);r++){var o=n.definitions[e.charAt(r)];o?(a+=i,i=o.cardinality):i++}return t.join("").substr(a,i)},postValidation:function(e,t,a){var i,r,o=e.join("");return 0===a.mask.indexOf("y")?(r=o.substr(0,4),i=o.substring(4,10)):(r=o.substring(6,10),i=o.substr(0,6)),t&&(i!==a.leapday||n(r))},definitions:{1:{validator:function(e,t,n,a,i){var r=i.regex.val1.test(e);return a||r||e.charAt(1)!==i.separator&&-1==="-./".indexOf(e.charAt(1))||!(r=i.regex.val1.test("0"+e.charAt(0)))?r:(t.buffer[n-1]="0",{refreshFromBuffer:{start:n-1,end:n},pos:n,c:e.charAt(0)})},cardinality:2,prevalidator:[{validator:function(e,t,n,a,i){var r=e;isNaN(t.buffer[n+1])||(r+=t.buffer[n+1]);var o=1===r.length?i.regex.val1pre.test(r):i.regex.val1.test(r);if(o&&t.validPositions[n]&&(i.regex.val2(i.separator).test(e+t.validPositions[n].input)||(t.validPositions[n].input="0"===e?"1":"0")),!a&&!o){if(o=i.regex.val1.test(e+"0"))return t.buffer[n]=e,t.buffer[++n]="0",{pos:n,c:"0"};if(o=i.regex.val1.test("0"+e))return t.buffer[n]="0",n++,{pos:n}}return o},cardinality:1}]},2:{validator:function(e,t,n,a,i){var r=i.getFrontValue(t.mask,t.buffer,i);-1!==r.indexOf(i.placeholder[0])&&(r="01"+i.separator);var o=i.regex.val2(i.separator).test(r+e);return a||o||e.charAt(1)!==i.separator&&-1==="-./".indexOf(e.charAt(1))||!(o=i.regex.val2(i.separator).test(r+"0"+e.charAt(0)))?o:(t.buffer[n-1]="0",{refreshFromBuffer:{start:n-1,end:n},pos:n,c:e.charAt(0)})},cardinality:2,prevalidator:[{validator:function(e,t,n,a,i){isNaN(t.buffer[n+1])||(e+=t.buffer[n+1]);var r=i.getFrontValue(t.mask,t.buffer,i);-1!==r.indexOf(i.placeholder[0])&&(r="01"+i.separator);var o=1===e.length?i.regex.val2pre(i.separator).test(r+e):i.regex.val2(i.separator).test(r+e);return o&&t.validPositions[n]&&(i.regex.val2(i.separator).test(e+t.validPositions[n].input)||(t.validPositions[n].input="0"===e?"1":"0")),a||o||!(o=i.regex.val2(i.separator).test(r+"0"+e))?o:(t.buffer[n]="0",n++,{pos:n})},cardinality:1}]},y:{validator:function(e,t,n,a,i){return i.isInYearRange(e,i.yearrange.minyear,i.yearrange.maxyear)},cardinality:4,prevalidator:[{validator:function(e,t,n,a,i){var r=i.isInYearRange(e,i.yearrange.minyear,i.yearrange.maxyear);if(!a&&!r){var o=i.determinebaseyear(i.yearrange.minyear,i.yearrange.maxyear,e+"0").toString().slice(0,1);if(r=i.isInYearRange(o+e,i.yearrange.minyear,i.yearrange.maxyear))return t.buffer[n++]=o.charAt(0),{pos:n};if(o=i.determinebaseyear(i.yearrange.minyear,i.yearrange.maxyear,e+"0").toString().slice(0,2),r=i.isInYearRange(o+e,i.yearrange.minyear,i.yearrange.maxyear))return t.buffer[n++]=o.charAt(0),t.buffer[n++]=o.charAt(1),{pos:n}}return r},cardinality:1},{validator:function(e,t,n,a,i){var r=i.isInYearRange(e,i.yearrange.minyear,i.yearrange.maxyear);if(!a&&!r){var o=i.determinebaseyear(i.yearrange.minyear,i.yearrange.maxyear,e).toString().slice(0,2);if(r=i.isInYearRange(e[0]+o[1]+e[1],i.yearrange.minyear,i.yearrange.maxyear))return t.buffer[n++]=o.charAt(1),{pos:n};if(o=i.determinebaseyear(i.yearrange.minyear,i.yearrange.maxyear,e).toString().slice(0,2),r=i.isInYearRange(o+e,i.yearrange.minyear,i.yearrange.maxyear))return t.buffer[n-1]=o.charAt(0),t.buffer[n++]=o.charAt(1),t.buffer[n++]=e.charAt(0),{refreshFromBuffer:{start:n-3,end:n},pos:n}}return r},cardinality:2},{validator:function(e,t,n,a,i){return i.isInYearRange(e,i.yearrange.minyear,i.yearrange.maxyear)},cardinality:3}]}},insertMode:!1,autoUnmask:!1},"mm/dd/yyyy":{placeholder:"mm/dd/yyyy",alias:"dd/mm/yyyy",regex:{val2pre:function(e){var n=t.escapeRegex.call(this,e);return new RegExp("((0[13-9]|1[012])"+n+"[0-3])|(02"+n+"[0-2])")},val2:function(e){var n=t.escapeRegex.call(this,e);return new RegExp("((0[1-9]|1[012])"+n+"(0[1-9]|[12][0-9]))|((0[13-9]|1[012])"+n+"30)|((0[13578]|1[02])"+n+"31)")},val1pre:new RegExp("[01]"),val1:new RegExp("0[1-9]|1[012]")},leapday:"02/29/",onKeyDown:function(n,a,i,r){var o=e(this);if(n.ctrlKey&&n.keyCode===t.keyCode.RIGHT){var s=new Date;o.val((s.getMonth()+1).toString()+s.getDate().toString()+s.getFullYear().toString()),o.trigger("setvalue")}}},"yyyy/mm/dd":{mask:"y/1/2",placeholder:"yyyy/mm/dd",alias:"mm/dd/yyyy",leapday:"/02/29",onKeyDown:function(n,a,i,r){var o=e(this);if(n.ctrlKey&&n.keyCode===t.keyCode.RIGHT){var s=new Date;o.val(s.getFullYear().toString()+(s.getMonth()+1).toString()+s.getDate().toString()),o.trigger("setvalue")}}},"dd.mm.yyyy":{mask:"1.2.y",placeholder:"dd.mm.yyyy",leapday:"29.02.",separator:".",alias:"dd/mm/yyyy"},"dd-mm-yyyy":{mask:"1-2-y",placeholder:"dd-mm-yyyy",leapday:"29-02-",separator:"-",alias:"dd/mm/yyyy"},"mm.dd.yyyy":{mask:"1.2.y",placeholder:"mm.dd.yyyy",leapday:"02.29.",separator:".",alias:"mm/dd/yyyy"},"mm-dd-yyyy":{mask:"1-2-y",placeholder:"mm-dd-yyyy",leapday:"02-29-",separator:"-",alias:"mm/dd/yyyy"},"yyyy.mm.dd":{mask:"y.1.2",placeholder:"yyyy.mm.dd",leapday:".02.29",separator:".",alias:"yyyy/mm/dd"},"yyyy-mm-dd":{mask:"y-1-2",placeholder:"yyyy-mm-dd",leapday:"-02-29",separator:"-",alias:"yyyy/mm/dd"},datetime:{mask:"1/2/y h:s",placeholder:"dd/mm/yyyy hh:mm",alias:"dd/mm/yyyy",regex:{hrspre:new RegExp("[012]"),hrs24:new RegExp("2[0-4]|1[3-9]"),hrs:new RegExp("[01][0-9]|2[0-4]"),ampm:new RegExp("^[a|p|A|P][m|M]"),mspre:new RegExp("[0-5]"),ms:new RegExp("[0-5][0-9]")},timeseparator:":",hourFormat:"24",definitions:{h:{validator:function(e,t,n,a,i){if("24"===i.hourFormat&&24===parseInt(e,10))return t.buffer[n-1]="0",t.buffer[n]="0",{refreshFromBuffer:{start:n-1,end:n},c:"0"};var r=i.regex.hrs.test(e);if(!a&&!r&&(e.charAt(1)===i.timeseparator||-1!=="-.:".indexOf(e.charAt(1)))&&(r=i.regex.hrs.test("0"+e.charAt(0))))return t.buffer[n-1]="0",t.buffer[n]=e.charAt(0),n++,{refreshFromBuffer:{start:n-2,end:n},pos:n,c:i.timeseparator};if(r&&"24"!==i.hourFormat&&i.regex.hrs24.test(e)){var o=parseInt(e,10);return 24===o?(t.buffer[n+5]="a",t.buffer[n+6]="m"):(t.buffer[n+5]="p",t.buffer[n+6]="m"),(o-=12)<10?(t.buffer[n]=o.toString(),t.buffer[n-1]="0"):(t.buffer[n]=o.toString().charAt(1),t.buffer[n-1]=o.toString().charAt(0)),{refreshFromBuffer:{start:n-1,end:n+6},c:t.buffer[n]}}return r},cardinality:2,prevalidator:[{validator:function(e,t,n,a,i){var r=i.regex.hrspre.test(e);return a||r||!(r=i.regex.hrs.test("0"+e))?r:(t.buffer[n]="0",n++,{pos:n})},cardinality:1}]},s:{validator:"[0-5][0-9]",cardinality:2,prevalidator:[{validator:function(e,t,n,a,i){var r=i.regex.mspre.test(e);return a||r||!(r=i.regex.ms.test("0"+e))?r:(t.buffer[n]="0",n++,{pos:n})},cardinality:1}]},t:{validator:function(e,t,n,a,i){return i.regex.ampm.test(e+"m")},casing:"lower",cardinality:1}},insertMode:!1,autoUnmask:!1},datetime12:{mask:"1/2/y h:s t\\m",placeholder:"dd/mm/yyyy hh:mm xm",alias:"datetime",hourFormat:"12"},"mm/dd/yyyy hh:mm xm":{mask:"1/2/y h:s t\\m",placeholder:"mm/dd/yyyy hh:mm xm",alias:"datetime12",regex:{val2pre:function(e){var n=t.escapeRegex.call(this,e);return new RegExp("((0[13-9]|1[012])"+n+"[0-3])|(02"+n+"[0-2])")},val2:function(e){var n=t.escapeRegex.call(this,e);return new RegExp("((0[1-9]|1[012])"+n+"(0[1-9]|[12][0-9]))|((0[13-9]|1[012])"+n+"30)|((0[13578]|1[02])"+n+"31)")},val1pre:new RegExp("[01]"),val1:new RegExp("0[1-9]|1[012]")},leapday:"02/29/",onKeyDown:function(n,a,i,r){var o=e(this);if(n.ctrlKey&&n.keyCode===t.keyCode.RIGHT){var s=new Date;o.val((s.getMonth()+1).toString()+s.getDate().toString()+s.getFullYear().toString()),o.trigger("setvalue")}}},"hh:mm t":{mask:"h:s t\\m",placeholder:"hh:mm xm",alias:"datetime",hourFormat:"12"},"h:s t":{mask:"h:s t\\m",placeholder:"hh:mm xm",alias:"datetime",hourFormat:"12"},"hh:mm:ss":{mask:"h:s:s",placeholder:"hh:mm:ss",alias:"datetime",autoUnmask:!1},"hh:mm":{mask:"h:s",placeholder:"hh:mm",alias:"datetime",autoUnmask:!1},date:{alias:"dd/mm/yyyy"},"mm/yyyy":{mask:"1/y",placeholder:"mm/yyyy",leapday:"donotuse",separator:"/",alias:"mm/dd/yyyy"},shamsi:{regex:{val2pre:function(e){var n=t.escapeRegex.call(this,e);return new RegExp("((0[1-9]|1[012])"+n+"[0-3])")},val2:function(e){var n=t.escapeRegex.call(this,e);return new RegExp("((0[1-9]|1[012])"+n+"(0[1-9]|[12][0-9]))|((0[1-9]|1[012])"+n+"30)|((0[1-6])"+n+"31)")},val1pre:new RegExp("[01]"),val1:new RegExp("0[1-9]|1[012]")},yearrange:{minyear:1300,maxyear:1499},mask:"y/1/2",leapday:"/12/30",placeholder:"yyyy/mm/dd",alias:"mm/dd/yyyy",clearIncomplete:!0},"yyyy-mm-dd hh:mm:ss":{mask:"y-1-2 h:s:s",placeholder:"yyyy-mm-dd hh:mm:ss",alias:"datetime",separator:"-",leapday:"-02-29",regex:{val2pre:function(e){var n=t.escapeRegex.call(this,e);return new RegExp("((0[13-9]|1[012])"+n+"[0-3])|(02"+n+"[0-2])")},val2:function(e){var n=t.escapeRegex.call(this,e);return new RegExp("((0[1-9]|1[012])"+n+"(0[1-9]|[12][0-9]))|((0[13-9]|1[012])"+n+"30)|((0[13578]|1[02])"+n+"31)")},val1pre:new RegExp("[01]"),val1:new RegExp("0[1-9]|1[012]")},onKeyDown:function(e,t,n,a){}}}),t})},function(e,t,n){"use strict";var a;"function"==typeof Symbol&&Symbol.iterator;void 0!==(a=function(){return window}.call(t,n,t,e))&&(e.exports=a)},function(e,t,n){"use strict";var a;"function"==typeof Symbol&&Symbol.iterator;void 0!==(a=function(){return document}.call(t,n,t,e))&&(e.exports=a)},function(e,t,n){"use strict";var a,i,r;"function"==typeof Symbol&&Symbol.iterator;!function(o){i=[n(0),n(1)],void 0!==(r="function"==typeof(a=o)?a.apply(t,i):a)&&(e.exports=r)}(function(e,t){return t.extendDefinitions({A:{validator:"[A-Za-zА-яЁёÀ-ÿµ]",cardinality:1,casing:"upper"},"&":{validator:"[0-9A-Za-zА-яЁёÀ-ÿµ]",cardinality:1,casing:"upper"},"#":{validator:"[0-9A-Fa-f]",cardinality:1,casing:"upper"}}),t.extendAliases({url:{definitions:{i:{validator:".",cardinality:1}},mask:"(\\http://)|(\\http\\s://)|(ftp://)|(ftp\\s://)i{+}",insertMode:!1,autoUnmask:!1,inputmode:"url"},ip:{mask:"i[i[i]].i[i[i]].i[i[i]].i[i[i]]",definitions:{i:{validator:function(e,t,n,a,i){return n-1>-1&&"."!==t.buffer[n-1]?(e=t.buffer[n-1]+e,e=n-2>-1&&"."!==t.buffer[n-2]?t.buffer[n-2]+e:"0"+e):e="00"+e,new RegExp("25[0-5]|2[0-4][0-9]|[01][0-9][0-9]").test(e)},cardinality:1}},onUnMask:function(e,t,n){return e},inputmode:"numeric"},email:{mask:"*{1,64}[.*{1,64}][.*{1,64}][.*{1,63}]@-{1,63}.-{1,63}[.-{1,63}][.-{1,63}]",greedy:!1,onBeforePaste:function(e,t){return(e=e.toLowerCase()).replace("mailto:","")},definitions:{"*":{validator:"[0-9A-Za-z!#$%&'*+/=?^_`{|}~-]",cardinality:1,casing:"lower"},"-":{validator:"[0-9A-Za-z-]",cardinality:1,casing:"lower"}},onUnMask:function(e,t,n){return e},inputmode:"email"},mac:{mask:"##:##:##:##:##:##"},vin:{mask:"V{13}9{4}",definitions:{V:{validator:"[A-HJ-NPR-Za-hj-npr-z\\d]",cardinality:1,casing:"upper"}},clearIncomplete:!0,autoUnmask:!0}}),t})},function(e,t,n){"use strict";var a,i,r;"function"==typeof Symbol&&Symbol.iterator;!function(o){i=[n(0),n(1)],void 0!==(r="function"==typeof(a=o)?a.apply(t,i):a)&&(e.exports=r)}(function(e,t,n){function a(e,n){for(var a="",i=0;i<e.length;i++)t.prototype.definitions[e.charAt(i)]||n.definitions[e.charAt(i)]||n.optionalmarker.start===e.charAt(i)||n.optionalmarker.end===e.charAt(i)||n.quantifiermarker.start===e.charAt(i)||n.quantifiermarker.end===e.charAt(i)||n.groupmarker.start===e.charAt(i)||n.groupmarker.end===e.charAt(i)||n.alternatormarker===e.charAt(i)?a+="\\"+e.charAt(i):a+=e.charAt(i);return a}return t.extendAliases({numeric:{mask:function(e){if(0!==e.repeat&&isNaN(e.integerDigits)&&(e.integerDigits=e.repeat),e.repeat=0,e.groupSeparator===e.radixPoint&&("."===e.radixPoint?e.groupSeparator=",":","===e.radixPoint?e.groupSeparator=".":e.groupSeparator="")," "===e.groupSeparator&&(e.skipOptionalPartCharacter=n),e.autoGroup=e.autoGroup&&""!==e.groupSeparator,e.autoGroup&&("string"==typeof e.groupSize&&isFinite(e.groupSize)&&(e.groupSize=parseInt(e.groupSize)),isFinite(e.integerDigits))){var t=Math.floor(e.integerDigits/e.groupSize),i=e.integerDigits%e.groupSize;e.integerDigits=parseInt(e.integerDigits)+(0===i?t-1:t),e.integerDigits<1&&(e.integerDigits="*")}e.placeholder.length>1&&(e.placeholder=e.placeholder.charAt(0)),"radixFocus"===e.positionCaretOnClick&&""===e.placeholder&&!1===e.integerOptional&&(e.positionCaretOnClick="lvp"),e.definitions[";"]=e.definitions["~"],e.definitions[";"].definitionSymbol="~",!0===e.numericInput&&(e.positionCaretOnClick="radixFocus"===e.positionCaretOnClick?"lvp":e.positionCaretOnClick,e.digitsOptional=!1,isNaN(e.digits)&&(e.digits=2),e.decimalProtect=!1);var r="[+]";if(r+=a(e.prefix,e),!0===e.integerOptional?r+="~{1,"+e.integerDigits+"}":r+="~{"+e.integerDigits+"}",e.digits!==n){e.radixPointDefinitionSymbol=e.decimalProtect?":":e.radixPoint;var o=e.digits.toString().split(",");isFinite(o[0]&&o[1]&&isFinite(o[1]))?r+=e.radixPointDefinitionSymbol+";{"+e.digits+"}":(isNaN(e.digits)||parseInt(e.digits)>0)&&(e.digitsOptional?r+="["+e.radixPointDefinitionSymbol+";{1,"+e.digits+"}]":r+=e.radixPointDefinitionSymbol+";{"+e.digits+"}")}return r+=a(e.suffix,e),r+="[-]",e.greedy=!1,r},placeholder:"",greedy:!1,digits:"*",digitsOptional:!0,enforceDigitsOnBlur:!1,radixPoint:".",positionCaretOnClick:"radixFocus",groupSize:3,groupSeparator:"",autoGroup:!1,allowMinus:!0,negationSymbol:{front:"-",back:""},integerDigits:"+",integerOptional:!0,prefix:"",suffix:"",rightAlign:!0,decimalProtect:!0,min:null,max:null,step:1,insertMode:!0,autoUnmask:!1,unmaskAsNumber:!1,inputmode:"numeric",preValidation:function(t,a,i,r,o){if("-"===i||i===o.negationSymbol.front)return!0===o.allowMinus&&(o.isNegative=o.isNegative===n||!o.isNegative,""===t.join("")||{caret:a,dopost:!0});if(!1===r&&i===o.radixPoint&&o.digits!==n&&(isNaN(o.digits)||parseInt(o.digits)>0)){var s=e.inArray(o.radixPoint,t);if(-1!==s)return!0===o.numericInput?a===s:{caret:s+1}}return!0},postValidation:function(a,i,r){var o=r.suffix.split(""),s=r.prefix.split("");if(i.pos===n&&i.caret!==n&&!0!==i.dopost)return i;var l=i.caret!==n?i.caret:i.pos,c=a.slice();r.numericInput&&(l=c.length-l-1,c=c.reverse());var u=c[l];if(u===r.groupSeparator&&(u=c[l+=1]),l===c.length-r.suffix.length-1&&u===r.radixPoint)return i;u!==n&&u!==r.radixPoint&&u!==r.negationSymbol.front&&u!==r.negationSymbol.back&&(c[l]="?",r.prefix.length>0&&l>=(!1===r.isNegative?1:0)&&l<r.prefix.length-1+(!1===r.isNegative?1:0)?s[l-(!1===r.isNegative?1:0)]="?":r.suffix.length>0&&l>=c.length-r.suffix.length-(!1===r.isNegative?1:0)&&(o[l-(c.length-r.suffix.length-(!1===r.isNegative?1:0))]="?")),s=s.join(""),o=o.join("");var p=c.join("").replace(s,"");if(p=p.replace(o,""),p=p.replace(new RegExp(t.escapeRegex(r.groupSeparator),"g"),""),p=p.replace(new RegExp("[-"+t.escapeRegex(r.negationSymbol.front)+"]","g"),""),p=p.replace(new RegExp(t.escapeRegex(r.negationSymbol.back)+"$"),""),isNaN(r.placeholder)&&(p=p.replace(new RegExp(t.escapeRegex(r.placeholder),"g"),"")),p.length>1&&1!==p.indexOf(r.radixPoint)&&("0"===u&&(p=p.replace(/^\?/g,"")),p=p.replace(/^0/g,"")),p.charAt(0)===r.radixPoint&&""!==r.radixPoint&&!0!==r.numericInput&&(p="0"+p),""!==p){if(p=p.split(""),(!r.digitsOptional||r.enforceDigitsOnBlur&&"blur"===i.event)&&isFinite(r.digits)){var f=e.inArray(r.radixPoint,p),d=e.inArray(r.radixPoint,c);-1===f&&(p.push(r.radixPoint),f=p.length-1);for(var m=1;m<=r.digits;m++)r.digitsOptional&&(!r.enforceDigitsOnBlur||"blur"!==i.event)||p[f+m]!==n&&p[f+m]!==r.placeholder.charAt(0)?-1!==d&&c[d+m]!==n&&(p[f+m]=p[f+m]||c[d+m]):p[f+m]=i.placeholder||r.placeholder.charAt(0)}if(!0!==r.autoGroup||""===r.groupSeparator||u===r.radixPoint&&i.pos===n&&!i.dopost)p=p.join("");else{var h=p[p.length-1]===r.radixPoint&&i.c===r.radixPoint;p=t(function(e,t){var n="";if(n+="("+t.groupSeparator+"*{"+t.groupSize+"}){*}",""!==t.radixPoint){var a=e.join("").split(t.radixPoint);a[1]&&(n+=t.radixPoint+"*{"+a[1].match(/^\d*\??\d*/)[0].length+"}")}return n}(p,r),{numericInput:!0,jitMasking:!0,definitions:{"*":{validator:"[0-9?]",cardinality:1}}}).format(p.join("")),h&&(p+=r.radixPoint),p.charAt(0)===r.groupSeparator&&p.substr(1)}}if(r.isNegative&&"blur"===i.event&&(r.isNegative="0"!==p),p=s+p,p+=o,r.isNegative&&(p=r.negationSymbol.front+p,p+=r.negationSymbol.back),p=p.split(""),u!==n)if(u!==r.radixPoint&&u!==r.negationSymbol.front&&u!==r.negationSymbol.back)(l=e.inArray("?",p))>-1?p[l]=u:l=i.caret||0;else if(u===r.radixPoint||u===r.negationSymbol.front||u===r.negationSymbol.back){var g=e.inArray(u,p);-1!==g&&(l=g)}r.numericInput&&(l=p.length-l-1,p=p.reverse());var v={caret:u===n||i.pos!==n?l+(r.numericInput?-1:1):l,buffer:p,refreshFromBuffer:i.dopost||a.join("")!==p.join("")};return v.refreshFromBuffer?v:i},onBeforeWrite:function(a,i,r,o){if(a)switch(a.type){case"keydown":return o.postValidation(i,{caret:r,dopost:!0},o);case"blur":case"checkval":var s;if(function(e){e.parseMinMaxOptions===n&&(null!==e.min&&(e.min=e.min.toString().replace(new RegExp(t.escapeRegex(e.groupSeparator),"g"),""),","===e.radixPoint&&(e.min=e.min.replace(e.radixPoint,".")),e.min=isFinite(e.min)?parseFloat(e.min):NaN,isNaN(e.min)&&(e.min=Number.MIN_VALUE)),null!==e.max&&(e.max=e.max.toString().replace(new RegExp(t.escapeRegex(e.groupSeparator),"g"),""),","===e.radixPoint&&(e.max=e.max.replace(e.radixPoint,".")),e.max=isFinite(e.max)?parseFloat(e.max):NaN,isNaN(e.max)&&(e.max=Number.MAX_VALUE)),e.parseMinMaxOptions="done")}(o),null!==o.min||null!==o.max){if(s=o.onUnMask(i.join(""),n,e.extend({},o,{unmaskAsNumber:!0})),null!==o.min&&s<o.min)return o.isNegative=o.min<0,o.postValidation(o.min.toString().replace(".",o.radixPoint).split(""),{caret:r,dopost:!0,placeholder:"0"},o);if(null!==o.max&&s>o.max)return o.isNegative=o.max<0,o.postValidation(o.max.toString().replace(".",o.radixPoint).split(""),{caret:r,dopost:!0,placeholder:"0"},o)}return o.postValidation(i,{caret:r,placeholder:"0",event:"blur"},o);case"_checkval":return{caret:r}}},regex:{integerPart:function(e,n){return n?new RegExp("["+t.escapeRegex(e.negationSymbol.front)+"+]?"):new RegExp("["+t.escapeRegex(e.negationSymbol.front)+"+]?\\d+")},integerNPart:function(e){return new RegExp("[\\d"+t.escapeRegex(e.groupSeparator)+t.escapeRegex(e.placeholder.charAt(0))+"]+")}},definitions:{"~":{validator:function(e,a,i,r,o,s){var l=r?new RegExp("[0-9"+t.escapeRegex(o.groupSeparator)+"]").test(e):new RegExp("[0-9]").test(e);if(!0===l){if(!0!==o.numericInput&&a.validPositions[i]!==n&&"~"===a.validPositions[i].match.def&&!s){var c=a.buffer.join(""),u=(c=(c=c.replace(new RegExp("[-"+t.escapeRegex(o.negationSymbol.front)+"]","g"),"")).replace(new RegExp(t.escapeRegex(o.negationSymbol.back)+"$"),"")).split(o.radixPoint);u.length>1&&(u[1]=u[1].replace(/0/g,o.placeholder.charAt(0))),"0"===u[0]&&(u[0]=u[0].replace(/0/g,o.placeholder.charAt(0))),c=u[0]+o.radixPoint+u[1]||"";var p=a._buffer.join("");for(c===o.radixPoint&&(c=p);null===c.match(t.escapeRegex(p)+"$");)p=p.slice(1);l=(c=(c=c.replace(p,"")).split(""))[i]===n?{pos:i,remove:i}:{pos:i}}}else r||e!==o.radixPoint||a.validPositions[i-1]!==n||(a.buffer[i]="0",l={pos:i+1});return l},cardinality:1},"+":{validator:function(e,t,n,a,i){return i.allowMinus&&("-"===e||e===i.negationSymbol.front)},cardinality:1,placeholder:""},"-":{validator:function(e,t,n,a,i){return i.allowMinus&&e===i.negationSymbol.back},cardinality:1,placeholder:""},":":{validator:function(e,n,a,i,r){var o="["+t.escapeRegex(r.radixPoint)+"]",s=new RegExp(o).test(e);return s&&n.validPositions[a]&&n.validPositions[a].match.placeholder===r.radixPoint&&(s={caret:a+1}),s},cardinality:1,placeholder:function(e){return e.radixPoint}}},onUnMask:function(e,n,a){if(""===n&&!0===a.nullable)return n;var i=e.replace(a.prefix,"");return i=i.replace(a.suffix,""),i=i.replace(new RegExp(t.escapeRegex(a.groupSeparator),"g"),""),""!==a.placeholder.charAt(0)&&(i=i.replace(new RegExp(a.placeholder.charAt(0),"g"),"0")),a.unmaskAsNumber?(""!==a.radixPoint&&-1!==i.indexOf(a.radixPoint)&&(i=i.replace(t.escapeRegex.call(this,a.radixPoint),".")),i=i.replace(new RegExp("^"+t.escapeRegex(a.negationSymbol.front)),"-"),i=i.replace(new RegExp(t.escapeRegex(a.negationSymbol.back)+"$"),""),Number(i)):i},isComplete:function(e,n){var a=e.join("");if(e.slice().join("")!==a)return!1;var i=a.replace(n.prefix,"");return i=i.replace(n.suffix,""),i=i.replace(new RegExp(t.escapeRegex(n.groupSeparator),"g"),""),","===n.radixPoint&&(i=i.replace(t.escapeRegex(n.radixPoint),".")),isFinite(i)},onBeforeMask:function(e,a){if(a.isNegative=n,e=e.toString().charAt(e.length-1)===a.radixPoint?e.toString().substr(0,e.length-1):e.toString(),""!==a.radixPoint&&isFinite(e)){var i=e.split("."),r=""!==a.groupSeparator?parseInt(a.groupSize):0;2===i.length&&(i[0].length>r||i[1].length>r||i[0].length<=r&&i[1].length<r)&&(e=e.replace(".",a.radixPoint))}var o=e.match(/,/g),s=e.match(/\./g);if(e=s&&o?s.length>o.length?(e=e.replace(/\./g,"")).replace(",",a.radixPoint):o.length>s.length?(e=e.replace(/,/g,"")).replace(".",a.radixPoint):e.indexOf(".")<e.indexOf(",")?e.replace(/\./g,""):e.replace(/,/g,""):e.replace(new RegExp(t.escapeRegex(a.groupSeparator),"g"),""),0===a.digits&&(-1!==e.indexOf(".")?e=e.substring(0,e.indexOf(".")):-1!==e.indexOf(",")&&(e=e.substring(0,e.indexOf(",")))),""!==a.radixPoint&&isFinite(a.digits)&&-1!==e.indexOf(a.radixPoint)){var l=e.split(a.radixPoint)[1].match(new RegExp("\\d*"))[0];if(parseInt(a.digits)<l.toString().length){var c=Math.pow(10,parseInt(a.digits));e=e.replace(t.escapeRegex(a.radixPoint),"."),e=(e=Math.round(parseFloat(e)*c)/c).toString().replace(".",a.radixPoint)}}return e},canClearPosition:function(e,t,n,a,i){var r=e.validPositions[t],o=r.input!==i.radixPoint||null!==e.validPositions[t].match.fn&&!1===i.decimalProtect||r.input===i.radixPoint&&e.validPositions[t+1]&&null===e.validPositions[t+1].match.fn||isFinite(r.input)||t===n||r.input===i.groupSeparator||r.input===i.negationSymbol.front||r.input===i.negationSymbol.back;return!o||"+"!==r.match.nativeDef&&"-"!==r.match.nativeDef||(i.isNegative=!1),o},onKeyDown:function(n,a,i,r){var o=e(this);if(n.ctrlKey)switch(n.keyCode){case t.keyCode.UP:o.val(parseFloat(this.inputmask.unmaskedvalue())+parseInt(r.step)),o.trigger("setvalue");break;case t.keyCode.DOWN:o.val(parseFloat(this.inputmask.unmaskedvalue())-parseInt(r.step)),o.trigger("setvalue")}}},currency:{prefix:"$ ",groupSeparator:",",alias:"numeric",placeholder:"0",autoGroup:!0,digits:2,digitsOptional:!1,clearMaskOnLostFocus:!1},decimal:{alias:"numeric"},integer:{alias:"numeric",digits:0,radixPoint:""},percentage:{alias:"numeric",digits:2,digitsOptional:!0,radixPoint:".",placeholder:"0",autoGroup:!1,min:0,max:100,suffix:" %",allowMinus:!1}}),t})},function(e,t,n){"use strict";var a,i,r;"function"==typeof Symbol&&Symbol.iterator;!function(o){i=[n(0),n(1)],void 0!==(r="function"==typeof(a=o)?a.apply(t,i):a)&&(e.exports=r)}(function(e,t){function n(e,t){var n=(e.mask||e).replace(/#/g,"9").replace(/\)/,"9").replace(/[+()#-]/g,""),a=(t.mask||t).replace(/#/g,"9").replace(/\)/,"9").replace(/[+()#-]/g,""),i=(e.mask||e).split("#")[0],r=(t.mask||t).split("#")[0];return 0===r.indexOf(i)?-1:0===i.indexOf(r)?1:n.localeCompare(a)}var a=t.prototype.analyseMask;return t.prototype.analyseMask=function(t,n,i){function r(e,n,a){n=n||"",a=a||s,""!==n&&(a[n]={});for(var i="",o=a[n]||a,l=e.length-1;l>=0;l--)o[i=(t=e[l].mask||e[l]).substr(0,1)]=o[i]||[],o[i].unshift(t.substr(1)),e.splice(l,1);for(var c in o)o[c].length>500&&r(o[c].slice(),c,o)}function o(t){var n="",a=[];for(var r in t)e.isArray(t[r])?1===t[r].length?a.push(r+t[r]):a.push(r+i.groupmarker.start+t[r].join(i.groupmarker.end+i.alternatormarker+i.groupmarker.start)+i.groupmarker.end):a.push(r+o(t[r]));return 1===a.length?n+=a[0]:n+=i.groupmarker.start+a.join(i.groupmarker.end+i.alternatormarker+i.groupmarker.start)+i.groupmarker.end,n}var s={};return i.phoneCodes&&(i.phoneCodes&&i.phoneCodes.length>1e3&&(r((t=t.substr(1,t.length-2)).split(i.groupmarker.end+i.alternatormarker+i.groupmarker.start)),t=o(s)),t=t.replace(/9/g,"\\9")),a.call(this,t,n,i)},t.extendAliases({abstractphone:{groupmarker:{start:"<",end:">"},countrycode:"",phoneCodes:[],mask:function(e){return e.definitions={"#":t.prototype.definitions[9]},e.phoneCodes.sort(n)},keepStatic:!0,onBeforeMask:function(e,t){var n=e.replace(/^0{1,2}/,"").replace(/[\s]/g,"");return(n.indexOf(t.countrycode)>1||-1===n.indexOf(t.countrycode))&&(n="+"+t.countrycode+n),n},onUnMask:function(e,t,n){return e.replace(/[()#-]/g,"")},inputmode:"tel"}}),t})},function(e,t,n){"use strict";var a,i,r;"function"==typeof Symbol&&Symbol.iterator;!function(o){i=[n(0),n(1)],void 0!==(r="function"==typeof(a=o)?a.apply(t,i):a)&&(e.exports=r)}(function(e,t){return t.extendAliases({Regex:{mask:"r",greedy:!1,repeat:"*",regex:null,regexTokens:null,tokenizer:/\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g,quantifierFilter:/[0-9]+[^,]/,isComplete:function(e,t){return new RegExp(t.regex,t.casing?"i":"").test(e.join(""))},definitions:{r:{validator:function(t,n,a,i,r){function o(e,t){this.matches=[],this.isGroup=e||!1,this.isQuantifier=t||!1,this.quantifier={min:1,max:1},this.repeaterPart=void 0}function s(t,n){var a=!1;n&&(p+="(",d++);for(var i=0;i<t.matches.length;i++){var o=t.matches[i];if(!0===o.isGroup)a=s(o,!0);else if(!0===o.isQuantifier){var c=e.inArray(o,t.matches),u=t.matches[c-1],f=p;if(isNaN(o.quantifier.max)){for(;o.repeaterPart&&o.repeaterPart!==p&&o.repeaterPart.length>p.length&&!(a=s(u,!0)););(a=a||s(u,!0))&&(o.repeaterPart=p),p=f+o.quantifier.max}else{for(var m=0,h=o.quantifier.max-1;m<h&&!(a=s(u,!0));m++);p=f+"{"+o.quantifier.min+","+o.quantifier.max+"}"}}else if(void 0!==o.matches)for(var g=0;g<o.length&&!(a=s(o[g],n));g++);else{var v;if("["==o.charAt(0)){v=p,v+=o;for(b=0;b<d;b++)v+=")";a=(x=new RegExp("^("+v+")$",r.casing?"i":"")).test(l)}else for(var y=0,k=o.length;y<k;y++)if("\\"!==o.charAt(y)){v=p,v=(v+=o.substr(0,y+1)).replace(/\|$/,"");for(var b=0;b<d;b++)v+=")";var x=new RegExp("^("+v+")$",r.casing?"i":"");if(a=x.test(l))break}p+=o}if(a)break}return n&&(p+=")",d--),a}var l,c,u=n.buffer.slice(),p="",f=!1,d=0;null===r.regexTokens&&function(){var e,t,n=new o,a=[];for(r.regexTokens=[];e=r.tokenizer.exec(r.regex);)switch((t=e[0]).charAt(0)){case"(":a.push(new o(!0));break;case")":c=a.pop(),a.length>0?a[a.length-1].matches.push(c):n.matches.push(c);break;case"{":case"+":case"*":var i=new o(!1,!0),s=(t=t.replace(/[{}]/g,"")).split(","),l=isNaN(s[0])?s[0]:parseInt(s[0]),u=1===s.length?l:isNaN(s[1])?s[1]:parseInt(s[1]);if(i.quantifier={min:l,max:u},a.length>0){var p=a[a.length-1].matches;(e=p.pop()).isGroup||((c=new o(!0)).matches.push(e),e=c),p.push(e),p.push(i)}else(e=n.matches.pop()).isGroup||((c=new o(!0)).matches.push(e),e=c),n.matches.push(e),n.matches.push(i);break;default:a.length>0?a[a.length-1].matches.push(t):n.matches.push(t)}n.matches.length>0&&r.regexTokens.push(n)}(),u.splice(a,0,t),l=u.join("");for(var m=0;m<r.regexTokens.length;m++){var h=r.regexTokens[m];if(f=s(h,h.isGroup))break}return f},cardinality:1}}}}),t})},function(e,t,n){"use strict";var a,i,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(o){i=[n(2),n(1)],void 0!==(r="function"==typeof(a=o)?a.apply(t,i):a)&&(e.exports=r)}(function(e,t){return void 0===e.fn.inputmask&&(e.fn.inputmask=function(n,a){var i,r=this[0];if(void 0===a&&(a={}),"string"==typeof n)switch(n){case"unmaskedvalue":return r&&r.inputmask?r.inputmask.unmaskedvalue():e(r).val();case"remove":return this.each(function(){this.inputmask&&this.inputmask.remove()});case"getemptymask":return r&&r.inputmask?r.inputmask.getemptymask():"";case"hasMaskedValue":return!(!r||!r.inputmask)&&r.inputmask.hasMaskedValue();case"isComplete":return!r||!r.inputmask||r.inputmask.isComplete();case"getmetadata":return r&&r.inputmask?r.inputmask.getmetadata():void 0;case"setvalue":e(r).val(a),r&&void 0===r.inputmask&&e(r).triggerHandler("setvalue");break;case"option":if("string"!=typeof a)return this.each(function(){if(void 0!==this.inputmask)return this.inputmask.option(a)});if(r&&void 0!==r.inputmask)return r.inputmask.option(a);break;default:return a.alias=n,i=new t(a),this.each(function(){i.mask(this)})}else{if("object"==(void 0===n?"undefined":o(n)))return i=new t(n),void 0===n.mask&&void 0===n.alias?this.each(function(){if(void 0!==this.inputmask)return this.inputmask.option(n);i.mask(this)}):this.each(function(){i.mask(this)});if(void 0===n)return this.each(function(){(i=new t(a)).mask(this)})}}),e.fn.inputmask})}]);
\ No newline at end of file |