PageSourceSearch

https://www.consulta.tse.go.cr/AppCDI/Scripts/CDI/notify.js

js tse.go.cr collected 2026-09-24 18:30:34 UTC 22,129 bytes, 625 lines download raw bytes

vendor: 16,419 bytes, lines 1-577
1/* Notify.js - http://notifyjs.com/ Copyright (c) 2015 MIT */
2(function (factory) {
3	// UMD start
4	// https://github.com/umdjs/umd/blob/master/jqueryPluginCommonjs.js
5	if (typeof define === 'function' && define.amd) {
6		// AMD. Register as an anonymous module.
7		define(['jquery'], factory);
8	} else if (typeof module === 'object' && module.exports) {
9		// Node/CommonJS
10		module.exports = function( root, jQuery ) {
11			if ( jQuery === undefined ) {
12				// require('jQuery') returns a factory that requires window to
13				// build a jQuery instance, we normalize how we use modules
14				// that require this pattern but the window provided is a noop
15				// if it's defined (how jquery works)
16				if ( typeof window !== 'undefined' ) {
17					jQuery = require('jquery');
18				}
19				else {
20					jQuery = require('jquery')(root);
21				}
22			}
23			factory(jQuery);
24			return jQuery;
25		};
26	} else {
27		// Browser globals
28		factory(jQuery);
29	}
30}(function ($) {
31	//IE8 indexOf polyfill
32	var indexOf = [].indexOf || function(item) {
33		for (var i = 0, l = this.length; i < l; i++) {
34			if (i in this && this[i] === item) {
35				return i;
36			}
37		}
38		return -1;
39	};
40
41	var pluginName = "notify";
42	var pluginClassName = pluginName + "js";
43	var blankFieldName = pluginName + "!blank";
44
45	var positions = {
46		t: "top",
47		m: "middle",
48		b: "bottom",
49		l: "left",
50		c: "center",
51		r: "right"
52	};
53	var hAligns = ["l", "c", "r"];
54	var vAligns = ["t", "m", "b"];
55	var mainPositions = ["t", "b", "l", "r"];
56	var opposites = {
57		t: "b",
58		m: null,
59		b: "t",
60		l: "r",
61		c: null,
62		r: "l"
63	};
64
65	var parsePosition = function(str) {
66		var pos;
67		pos = [];
68		$.each(str.split(/\W+/), function(i, word) {
69			var w;
70			w = word.toLowerCase().charAt(0);
71			if (positions[w]) {
72				return pos.push(w);
73			}
74		});
75		return pos;
76	};
77
78	var styles = {};
79
80	var coreStyle = {
81		name: "core",
82		html: "<div class=\"" + pluginClassName + "-wrapper\">\n	<div class=\"" + pluginClassName + "-arrow\"></div>\n	<div class=\"" + pluginClassName + "-container\"></div>\n</div>",
83		css: "." + pluginClassName + "-corner {\n	position: fixed;\n	margin: 5px;\n	z-index: 1050;\n}\n\n." + pluginClassName + "-corner ." + pluginClassName + "-wrapper,\n." + pluginClassName + "-corner ." + pluginClassName + "-container {\n	position: relative;\n	display: block;\n	height: inherit;\n	width: inherit;\n	margin: 3px;\n}\n\n." + pluginClassName + "-wrapper {\n	z-index: 1;\n	position: absolute;\n	display: inline-block;\n	height: 0;\n	width: 0;\n}\n\n." + pluginClassName + "-container {\n	display: none;\n	z-index: 1;\n	position: absolute;\n}\n\n." + pluginClassName + "-hidable {\n	cursor: pointer;\n}\n\n[data-notify-text],[data-notify-html] {\n	position: relative;\n}\n\n." + pluginClassName + "-arrow {\n	position: absolute;\n	z-index: 2;\n	width: 0;\n	height: 0;\n}"
84	};
85
86	var stylePrefixes = {
87		"border-radius": ["-webkit-", "-moz-"]
88	};
89
90	var getStyle = function(name) {
91		return styles[name];
92	};
93
94	var removeStyle = function(name) {
95		if (!name) {
96			throw "Missing Style name";
97		}
98		if (styles[name]) {
99			delete styles[name];
100		}
101	};
102
103	var addStyle = function(name, def) {
104		if (!name) {
105			throw "Missing Style name";
106		}
107		if (!def) {
108			throw "Missing Style definition";
109		}
110		if (!def.html) {
111			throw "Missing Style HTML";
112		}
113		//remove existing style
114		var existing = styles[name];
115		if (existing && existing.cssElem) {
116			if (window.console) {
117				console.warn(pluginName + ": overwriting style '" + name + "'");
118			}
119			styles[name].cssElem.remove();
120		}
121		def.name = name;
122		styles[name] = def;
123		var cssText = "";
124		if (def.classes) {
125			$.each(def.classes, function(className, props) {
126				cssText += "." + pluginClassName + "-" + def.name + "-" + className + " {\n";
127				$.each(props, function(name, val) {
128					if (stylePrefixes[name]) {
129						$.each(stylePrefixes[name], function(i, prefix) {
130							return cssText += "	" + prefix + name + ": " + val + ";\n";
131						});
132					}
133					return cssText += "	" + name + ": " + val + ";\n";
134				});
135				return cssText += "}\n";
136			});
137		}
138		if (def.css) {
139			cssText += "/* styles for " + def.name + " */\n" + def.css;
140		}
141		if (cssText) {
142			def.cssElem = insertCSS(cssText);
143			def.cssElem.attr("id", "notify-" + def.name);
144		}
145		var fields = {};
146		var elem = $(def.html);
147		findFields("html", elem, fields);
148		findFields("text", elem, fields);
149		def.fields = fields;
150	};
151
152	var insertCSS = function(cssText) {
153		var e, elem, error;
154		elem = createElem("style");
155		elem.attr("type", 'text/css');
156		$("head").append(elem);
157		try {
158			elem.html(cssText);
159		} catch (_) {
160			elem[0].styleSheet.cssText = cssText;
161		}
162		return elem;
163	};
164
165	var findFields = function(type, elem, fields) {
166		var attr;
167		if (type !== "html") {
168			type = "text";
169		}
170		attr = "data-notify-" + type;
171		return find(elem, "[" + attr + "]").each(function() {
172			var name;
173			name = $(this).attr(attr);
174			if (!name) {
175				name = blankFieldName;
176			}
177			fields[name] = type;
178		});
179	};
180
181	var find = function(elem, selector) {
182		if (elem.is(selector)) {
183			return elem;
184		} else {
185			return elem.find(selector);
186		}
187	};
188
189	var pluginOptions = {
190		clickToHide: true,
191		autoHide: true,
192		autoHideDelay: 5000,
193		arrowShow: true,
194		arrowSize: 5,
195		breakNewLines: true,
196		elementPosition: "bottom",
197		globalPosition: "top right",
198		style: "bootstrap",
199		className: "error",
200		showAnimation: "slideDown",
201		showDuration: 400,
202		hideAnimation: "slideUp",
203		hideDuration: 200,
204		gap: 5
205	};
206
207	var inherit = function(a, b) {
208		var F;
209		F = function() {};
210		F.prototype = a;
211		return $.extend(true, new F(), b);
212	};
213
214	var defaults = function(opts) {
215		return $.extend(pluginOptions, opts);
216	};
217
218	var createElem = function(tag) {
219		return $("<" + tag + "></" + tag + ">");
220	};
221
222	var globalAnchors = {};
223
224	var getAnchorElement = function(element) {
225		var radios;
226		if (element.is('[type=radio]')) {
227			radios = element.parents('form:first').find('[type=radio]').filter(function(i, e) {
228				return $(e).attr("name") === element.attr("name");
229			});
230			element = radios.first();
231		}
232		return element;
233	};
234
235	var incr = function(obj, pos, val) {
236		var opp, temp;
237		if (typeof val === "string") {
238			val = parseInt(val, 10);
239		} else if (typeof val !== "number") {
240			return;
241		}
242		if (isNaN(val)) {
243			return;
244		}
245		opp = positions[opposites[pos.charAt(0)]];
246		temp = pos;
247		if (obj[opp] !== undefined) {
248			pos = positions[opp.charAt(0)];
249			val = -val;
250		}
251		if (obj[pos] === undefined) {
252			obj[pos] = val;
253		} else {
254			obj[pos] += val;
255		}
256		return null;
257	};
258
259	var realign = function(alignment, inner, outer) {
260		if (alignment === "l" || alignment === "t") {
261			return 0;
262		} else if (alignment === "c" || alignment === "m") {
263			return outer / 2 - inner / 2;
264		} else if (alignment === "r" || alignment === "b") {
265			return outer - inner;
266		}
267		throw "Invalid alignment";
268	};
269
270	var encode = function(text) {
271		encode.e = encode.e || createElem("div");
272		return encode.e.text(text).html();
273	};
274
275	function Notification(elem, data, options) {
276		if (typeof options === "string") {
277			options = {
278				className: options
279			};
280		}
281		this.options = inherit(pluginOptions, $.isPlainObject(options) ? options : {});
282		this.loadHTML();
283		this.wrapper = $(coreStyle.html);
284		if (this.options.clickToHide) {
285			this.wrapper.addClass(pluginClassName + "-hidable");
286		}
287		this.wrapper.data(pluginClassName, this);
288		this.arrow = this.wrapper.find("." + pluginClassName + "-arrow");
289		this.container = this.wrapper.find("." + pluginClassName + "-container");
290		this.container.append(this.userContainer);
291		if (elem && elem.length) {
292			this.elementType = elem.attr("type");
293			this.originalElement = elem;
294			this.elem = getAnchorElement(elem);
295			this.elem.data(pluginClassName, this);
296			this.elem.before(this.wrapper);
297		}
298		this.container.hide();
299		this.run(data);
300	}
301
302	Notification.prototype.loadHTML = function() {
303		var style;
304		style = this.getStyle();
305		this.userContainer = $(style.html);
306		this.userFields = style.fields;
307	};
308
309	Notification.prototype.show = function(show, userCallback) {
310		var args, callback, elems, fn, hidden;
311		callback = (function(_this) {
312			return function() {
313				if (!show && !_this.elem) {
314					_this.destroy();
315				}
316				if (userCallback) {
317					return userCallback();
318				}
319			};
320		})(this);
321		hidden = this.container.parent().parents(':hidden').length > 0;
322		elems = this.container.add(this.arrow);
323		args = [];
324		if (hidden && show) {
325			fn = "show";
326		} else if (hidden && !show) {
327			fn = "hide";
328		} else if (!hidden && show) {
329			fn = this.options.showAnimation;
330			args.push(this.options.showDuration);
331		} else if (!hidden && !show) {
332			fn = this.options.hideAnimation;
333			args.push(this.options.hideDuration);
334		} else {
335			return callback();
336		}
337		args.push(callback);
338		return elems[fn].apply(elems, args);
339	};
340
341	Notification.prototype.setGlobalPosition = function() {
342		var p = this.getPosition();
343		var pMain = p[0];
344		var pAlign = p[1];
345		var main = positions[pMain];
346		var align = positions[pAlign];
347		var key = pMain + "|" + pAlign;
348		var anchor = globalAnchors[key];
349		if (!anchor || !document.contains(anchor[0])) {
350			anchor = globalAnchors[key] = createElem("div");
351			var css = {};
352			css[main] = 0;
353			if (align === "middle") {
354				css.top = '45%';
355			} else if (align === "center") {
356				css.left = '45%';
357			} else {
358				css[align] = 0;
359			}
360			anchor.css(css).addClass(pluginClassName + "-corner");
361			$("body").append(anchor);
362		}
363		return anchor.prepend(this.wrapper);
364	};
365
366	Notification.prototype.setElementPosition = function() {
367		var arrowColor, arrowCss, arrowSize, color, contH, contW, css, elemH, elemIH, elemIW, elemPos, elemW, gap, j, k, len, len1, mainFull, margin, opp, oppFull, pAlign, pArrow, pMain, pos, posFull, position, ref, wrapPos;
368		position = this.getPosition();
369		pMain = position[0];
370		pAlign = position[1];
371		pArrow = position[2];
372		elemPos = this.elem.position();
373		elemH = this.elem.outerHeight();
374		elemW = this.elem.outerWidth();
375		elemIH = this.elem.innerHeight();
376		elemIW = this.elem.innerWidth();
377		wrapPos = this.wrapper.position();
378		contH = this.container.height();
379		contW = this.container.width();
380		mainFull = positions[pMain];
381		opp = opposites[pMain];
382		oppFull = positions[opp];
383		css = {};
384		css[oppFull] = pMain === "b" ? elemH : pMain === "r" ? elemW : 0;
385		incr(css, "top", elemPos.top - wrapPos.top);
386		incr(css, "left", elemPos.left - wrapPos.left);
387		ref = ["top", "left"];
388		for (j = 0, len = ref.length; j < len; j++) {
389			pos = ref[j];
390			margin = parseInt(this.elem.css("margin-" + pos), 10);
391			if (margin) {
392				incr(css, pos, margin);
393			}
394		}
395		gap = Math.max(0, this.options.gap - (this.options.arrowShow ? arrowSize : 0));
396		incr(css, oppFull, gap);
397		if (!this.options.arrowShow) {
398			this.arrow.hide();
399		} else {
400			arrowSize = this.options.arrowSize;
401			arrowCss = $.extend({}, css);
402			arrowColor = this.userContainer.css("border-color") || this.userContainer.css("border-top-color") || this.userContainer.css("background-color") || "white";
403			for (k = 0, len1 = mainPositions.length; k < len1; k++) {
404				pos = mainPositions[k];
405				posFull = positions[pos];
406				if (pos === opp) {
407					continue;
408				}
409				color = posFull === mainFull ? arrowColor : "transparent";
410				arrowCss["border-" + posFull] = arrowSize + "px solid " + color;
411			}
412			incr(css, positions[opp], arrowSize);
413			if (indexOf.call(mainPositions, pAlign) >= 0) {
414				incr(arrowCss, positions[pAlign], arrowSize * 2);
415			}
416		}
417		if (indexOf.call(vAligns, pMain) >= 0) {
418			incr(css, "left", realign(pAlign, contW, elemW));
419			if (arrowCss) {
420				incr(arrowCss, "left", realign(pAlign, arrowSize, elemIW));
421			}
422		} else if (indexOf.call(hAligns, pMain) >= 0) {
423			incr(css, "top", realign(pAlign, contH, elemH));
424			if (arrowCss) {
425				incr(arrowCss, "top", realign(pAlign, arrowSize, elemIH));
426			}
427		}
428		if (this.container.is(":visible")) {
429			css.display = "block";
430		}
431		this.container.removeAttr("style").css(css);
432		if (arrowCss) {
433			return this.arrow.removeAttr("style").css(arrowCss);
434		}
435	};
436
437	Notification.prototype.getPosition = function() {
438		var pos, ref, ref1, ref2, ref3, ref4, ref5, text;
439		text = this.options.position || (this.elem ? this.options.elementPosition : this.options.globalPosition);
440		pos = parsePosition(text);
441		if (pos.length === 0) {
442			pos[0] = "b";
443		}
444		if (ref = pos[0], indexOf.call(mainPositions, ref) < 0) {
445			throw "Must be one of [" + mainPositions + "]";
446		}
447		if (pos.length === 1 || ((ref1 = pos[0], indexOf.call(vAligns, ref1) >= 0) && (ref2 = pos[1], indexOf.call(hAligns, ref2) < 0)) || ((ref3 = pos[0], indexOf.call(hAligns, ref3) >= 0) && (ref4 = pos[1], indexOf.call(vAligns, ref4) < 0))) {
448			pos[1] = (ref5 = pos[0], indexOf.call(hAligns, ref5) >= 0) ? "m" : "l";
449		}
450		if (pos.length === 2) {
451			pos[2] = pos[1];
452		}
453		return pos;
454	};
455
456	Notification.prototype.getStyle = function(name) {
457		var style;
458		if (!name) {
459			name = this.options.style;
460		}
461		if (!name) {
462			name = "default";
463		}
464		style = styles[name];
465		if (!style) {
466			throw "Missing style: " + name;
467		}
468		return style;
469	};
470
471	Notification.prototype.updateClasses = function() {
472		var classes, style;
473		classes = ["base"];
474		if ($.isArray(this.options.className)) {
475			classes = classes.concat(this.options.className);
476		} else if (this.options.className) {
477			classes.push(this.options.className);
478		}
479		style = this.getStyle();
480		classes = $.map(classes, function(n) {
481			return pluginClassName + "-" + style.name + "-" + n;
482		}).join(" ");
483		return this.userContainer.attr("class", classes);
484	};
485
486	Notification.prototype.run = function(data, options) {
487		var d, datas, name, type, value;
488		if ($.isPlainObject(options)) {
489			$.extend(this.options, options);
490		} else if ($.type(options) === "string") {
491			this.options.className = options;
492		}
493		if (this.container && !data) {
494			this.show(false);
495			return;
496		} else if (!this.container && !data) {
497			return;
498		}
499		datas = {};
500		if ($.isPlainObject(data)) {
501			datas = data;
502		} else {
503			datas[blankFieldName] = data;
504		}
505		for (name in datas) {
506			d = datas[name];
507			type = this.userFields[name];
508			if (!type) {
509				continue;
510			}
511			if (type === "text") {
512				d = encode(d);
513				if (this.options.breakNewLines) {
514					d = d.replace(/\n/g, '<br/>');
515				}
516			}
517			value = name === blankFieldName ? '' : '=' + name;
518			find(this.userContainer, "[data-notify-" + type + value + "]").html(d);
519		}
520		this.updateClasses();
521		if (this.elem) {
522			this.setElementPosition();
523		} else {
524			this.setGlobalPosition();
525		}
526		this.show(true);
527		if (this.options.autoHide) {
528			clearTimeout(this.autohideTimer);
529			this.autohideTimer = setTimeout(this.show.bind(this, false), this.options.autoHideDelay);
530		}
531	};
532
533	Notification.prototype.destroy = function() {
534		this.wrapper.data(pluginClassName, null);
535		this.wrapper.remove();
536	};
537
538	$[pluginName] = function(elem, data, options) {
539		if ((elem && elem.nodeName) || elem.jquery) {
540			$(elem)[pluginName](data, options);
541		} else {
542			options = data;
543			data = elem;
544			new Notification(null, data, options);
545		}
546		return elem;
547	};
548
549	$.fn[pluginName] = function(data, options) {
550		$(this).each(function() {
551			var prev = getAnchorElement($(this)).data(pluginClassName);
552			if (prev) {
553				prev.destroy();
554			}
555			var curr = new Notification($(this), data, options);
556		});
557		return this;
558	};
559
560	$.extend($[pluginName], {
561		defaults: defaults,
562		addStyle: addStyle,
563		removeStyle: removeStyle,
564		pluginOptions: pluginOptions,
565		getStyle: getStyle,
566		insertCSS: insertCSS
567	});
568
569	//always include the default bootstrap style
570	addStyle("bootstrap", {
571		html: "<div>\n<span data-notify-text></span>\n</div>",
572		classes: {
573			base: {
574				"font-weight": "bold",
575				"padding": "8px 15px 8px 14px",
576				"text-shadow": "0 1px 0 rgba(255, 255, 255, 0.5)",
577				"background-color": "#fcf8e3",
578				"border": "1px solid #fbeed5",
579				"border-radius": "4px",
580				"white-space": "nowrap",
581				"padding-left": "25px",
582				"background-repeat": "no-repeat",
583				"background-position": "3px 7px"
584			},
585			error: {
586				"color": "#B94A48",
587				"background-color": "#F2DEDE",
588				"border-color": "#EED3D7",
589				"background-image": "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtRJREFUeNqkVc1u00AQHq+dOD+0poIQfkIjalW0SEGqRMuRnHos3DjwAH0ArlyQeANOOSMeAA5VjyBxKBQhgSpVUKKQNGloFdw4cWw2jtfMOna6JOUArDTazXi/b3dm55socPqQhFka++aHBsI8GsopRJERNFlY88FCEk9Yiwf8RhgRyaHFQpPHCDmZG5oX2ui2yilkcTT1AcDsbYC1NMAyOi7zTX2Agx7A9luAl88BauiiQ/cJaZQfIpAlngDcvZZMrl8vFPK5+XktrWlx3/ehZ5r9+t6e+WVnp1pxnNIjgBe4/6dAysQc8dsmHwPcW9C0h3fW1hans1ltwJhy0GxK7XZbUlMp5Ww2eyan6+ft/f2FAqXGK4CvQk5HueFz7D6GOZtIrK+srupdx1GRBBqNBtzc2AiMr7nPplRdKhb1q6q6zjFhrklEFOUutoQ50xcX86ZlqaZpQrfbBdu2R6/G19zX6XSgh6RX5ubyHCM8nqSID6ICrGiZjGYYxojEsiw4PDwMSL5VKsC8Yf4VRYFzMzMaxwjlJSlCyAQ9l0CW44PBADzXhe7xMdi9HtTrdYjFYkDQL0cn4Xdq2/EAE+InCnvADTf2eah4Sx9vExQjkqXT6aAERICMewd/UAp/IeYANM2joxt+q5VI+ieq2i0Wg3l6DNzHwTERPgo1ko7XBXj3vdlsT2F+UuhIhYkp7u7CarkcrFOCtR3H5JiwbAIeImjT/YQKKBtGjRFCU5IUgFRe7fF4cCNVIPMYo3VKqxwjyNAXNepuopyqnld602qVsfRpEkkz+GFL1wPj6ySXBpJtWVa5xlhpcyhBNwpZHmtX8AGgfIExo0ZpzkWVTBGiXCSEaHh62/PoR0p/vHaczxXGnj4bSo+G78lELU80h1uogBwWLf5YlsPmgDEd4M236xjm+8nm4IuE/9u+/PH2JXZfbwz4zw1WbO+SQPpXfwG/BBgAhCNZiSb/pOQAAAAASUVORK5CYII=)"
590			},
591			success: {
592				"color": "#468847",
593				"background-color": "#DFF0D8",
594				"border-color": "#D6E9C6",
595				"background-image": "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAutJREFUeNq0lctPE0Ecx38zu/RFS1EryqtgJFA08YCiMZIAQQ4eRG8eDGdPJiYeTIwHTfwPiAcvXIwXLwoXPaDxkWgQ6islKlJLSQWLUraPLTv7Gme32zoF9KSTfLO7v53vZ3d/M7/fIth+IO6INt2jjoA7bjHCJoAlzCRw59YwHYjBnfMPqAKWQYKjGkfCJqAF0xwZjipQtA3MxeSG87VhOOYegVrUCy7UZM9S6TLIdAamySTclZdYhFhRHloGYg7mgZv1Zzztvgud7V1tbQ2twYA34LJmF4p5dXF1KTufnE+SxeJtuCZNsLDCQU0+RyKTF27Unw101l8e6hns3u0PBalORVVVkcaEKBJDgV3+cGM4tKKmI+ohlIGnygKX00rSBfszz/n2uXv81wd6+rt1orsZCHRdr1Imk2F2Kob3hutSxW8thsd8AXNaln9D7CTfA6O+0UgkMuwVvEFFUbbAcrkcTA8+AtOk8E6KiQiDmMFSDqZItAzEVQviRkdDdaFgPp8HSZKAEAL5Qh7Sq2lIJBJwv2scUqkUnKoZgNhcDKhKg5aH+1IkcouCAdFGAQsuWZYhOjwFHQ96oagWgRoUov1T9kRBEODAwxM2QtEUl+Wp+Ln9VRo6BcMw4ErHRYjH4/B26AlQoQQTRdHWwcd9AH57+UAXddvDD37DmrBBV34WfqiXPl61g+vr6xA9zsGeM9gOdsNXkgpEtTwVvwOklXLKm6+/p5ezwk4B+j6droBs2CsGa/gNs6RIxazl4Tc25mpTgw/apPR1LYlNRFAzgsOxkyXYLIM1V8NMwyAkJSctD1eGVKiq5wWjSPdjmeTkiKvVW4f2YPHWl3GAVq6ymcyCTgovM3FzyRiDe2TaKcEKsLpJvNHjZgPNqEtyi6mZIm4SRFyLMUsONSSdkPeFtY1n0mczoY3BHTLhwPRy9/lzcziCw9ACI+yql0VLzcGAZbYSM5CCSZg1/9oc/nn7+i8N9p/8An4JMADxhH+xHfuiKwAAAABJRU5ErkJggg==)"
596			},
597			info: {
598				"color": "#3A87AD",
599				"background-color": "#D9EDF7",
600				"border-color": "#BCE8F1",
601				"background-image": "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QYFAhkSsdes/QAAA8dJREFUOMvVlGtMW2UYx//POaWHXg6lLaW0ypAtw1UCgbniNOLcVOLmAjHZolOYlxmTGXVZdAnRfXQm+7SoU4mXaOaiZsEpC9FkiQs6Z6bdCnNYruM6KNBw6YWewzl9z+sHImEWv+vz7XmT95f/+3/+7wP814v+efDOV3/SoX3lHAA+6ODeUFfMfjOWMADgdk+eEKz0pF7aQdMAcOKLLjrcVMVX3xdWN29/GhYP7SvnP0cWfS8caSkfHZsPE9Fgnt02JNutQ0QYHB2dDz9/pKX8QjjuO9xUxd/66HdxTeCHZ3rojQObGQBcuNjfplkD3b19Y/6MrimSaKgSMmpGU5WevmE/swa6Oy73tQHA0Rdr2Mmv/6A1n9w9suQ7097Z9lM4FlTgTDrzZTu4StXVfpiI48rVcUDM5cmEksrFnHxfpTtU/3BFQzCQF/2bYVoNbH7zmItbSoMj40JSzmMyX5qDvriA7QdrIIpA+3cdsMpu0nXI8cV0MtKXCPZev+gCEM1S2NHPvWfP/hL+7FSr3+0p5RBEyhEN5JCKYr8XnASMT0xBNyzQGQeI8fjsGD39RMPk7se2bd5ZtTyoFYXftF6y37gx7NeUtJJOTFlAHDZLDuILU3j3+H5oOrD3yWbIztugaAzg
601nBKJuBLpGfQrS8wO4FZgV+c1IxaLgWVU0tMLEETCos4xMzEIv9cJXQcyagIwigDGwJgOAtHAwAhisQUjy0ORGERiELgG4iakkzo4MYAxcM5hAMi1WWG1yYCJIcMUaBkVRLdGeSU2995TLWzcUAzONJ7J6FBVBYIggMzmFbvdBV44Corg8vjhzC+EJEl8U1kJtgYrhCzgc/vvTwXKSib1paRFVRVORDAJAsw5FuTaJEhWM2SHB3mOAlhkNxwuLzeJsGwqWzf5TFNdKgtY5qHp6ZFf67Y/sAVadCaVY5YACDDb3Oi4NIjLnWMw2QthCBIsVhsUTU9tvXsjeq9+X1d75/KEs4LNOfcdf/+HthMnvwxOD0wmHaXr7ZItn2wuH2SnBzbZAbPJwpPx+VQuzcm7dgRCB57a1uBzUDRL4bfnI0RE0eaXd9W89mpjqHZnUI5Hh2l2dkZZUhOqpi2qSmpOmZ64Tuu9qlz/SEXo6MEHa3wOip46F1n7633eekV8ds8Wxjn37Wl63VVa+ej5oeEZ/82ZBETJjpJ1Rbij2D3Z/1trXUvLsblCK0XfOx0SX2kMsn9dX+d+7Kf6h8o4AIykuffjT8L20LU+w4AZd5VvEPY+XpWqLV327HR7DzXuDnD8r+ovkBehJ8i+y8YAAAAASUVORK5CYII=)"
602			},
603			warn: {
604				"color": "#C09853",
605				"background-color": "#FCF8E3",
606				"border-color": "#FBEED5",
607				"background-image": "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAABJlBMVEXr6eb/2oD/wi7/xjr/0mP/ykf/tQD/vBj/3o7/uQ//vyL/twebhgD/4pzX1K3z8e349vK6tHCilCWbiQymn0jGworr6dXQza3HxcKkn1vWvV/5uRfk4dXZ1bD18+/52YebiAmyr5S9mhCzrWq5t6ufjRH54aLs0oS+qD751XqPhAybhwXsujG3sm+Zk0PTwG6Shg+PhhObhwOPgQL4zV2nlyrf27uLfgCPhRHu7OmLgAafkyiWkD3l49ibiAfTs0C+lgCniwD4sgDJxqOilzDWowWFfAH08uebig6qpFHBvH/aw26FfQTQzsvy8OyEfz20r3jAvaKbhgG9q0nc2LbZxXanoUu/u5WSggCtp1anpJKdmFz/zlX/1nGJiYmuq5Dx7+sAAADoPUZSAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfdBgUBGhh4aah5AAAAlklEQVQY02NgoBIIE8EUcwn1FkIXM1Tj5dDUQhPU502Mi7XXQxGz5uVIjGOJUUUW81HnYEyMi2HVcUOICQZzMMYmxrEyMylJwgUt5BljWRLjmJm4pI1hYp5SQLGYxDgmLnZOVxuooClIDKgXKMbN5ggV1ACLJcaBxNgcoiGCBiZwdWxOETBDrTyEFey0jYJ4eHjMGWgEAIpRFRCUt08qAAAAAElFTkSuQmCC)"
608			}
609		}
610	});
611
612	$(function() {
613		insertCSS(coreStyle.css).attr("id", "core-notify");
614		$(document).on("click", "." + pluginClassName + "-hidable", function(e) {
615			$(this).trigger("notify-hide");
616		});
617		$(document).on("notify-hide", "." + pluginClassName + "-wrapper", function(e) {
618			var elem = $(this).data(pluginClassName);
619			if(elem) {
620				elem.show(false);
621			}
622		});
623	});
624
625}));

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