Created
September 1, 2018 08:52
-
-
Save 667bdrm/8d7a333c0c5cf754b7de2345600ed99c to your computer and use it in GitHub Desktop.
Russian governors wants the following obfuscated script to be inserted to the all government organizations website pages //esir.gov.spb.ru/static/widget/js/widget.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! Widget hash: 1a02fc6429bccf93b9c99ec7050744ac */ | |
!function(t) { | |
function e(i) { | |
if (n[i]) | |
return n[i].exports; | |
var o = n[i] = { | |
exports: {}, | |
id: i, | |
loaded: !1 | |
}; | |
return t[i].call(o.exports, o, o.exports, e), | |
o.loaded = !0, | |
o.exports | |
} | |
var n = {}; | |
return e.m = t, | |
e.c = n, | |
e.p = "/", | |
e(0) | |
}([function(t, e, n) { | |
var i, o; | |
o = {}, | |
n(23)(o), | |
n(21)(o), | |
n(18)(o), | |
n(22)(o), | |
n(11)(o), | |
n(15)(o), | |
n(12)(o), | |
n(17)(o), | |
n(19)(o), | |
n(20)(o), | |
n(13)(o), | |
n(16)(o), | |
n(14)(o), | |
n(35)(o), | |
n(36)(o), | |
i = n(10)(o), | |
n(9)(o, i), | |
n(2)(o, i), | |
n(1)(o, i), | |
n(7)(o, i), | |
n(8)(o, i), | |
n(4)(o, i), | |
n(5)(o, i), | |
n(6)(o, i), | |
n(3)(o, i), | |
o.domReady(function() { | |
return new o.BarView | |
}) | |
} | |
, function(t, e) { | |
var n = {}.hasOwnProperty | |
, i = function(t, e) { | |
function i() { | |
this.constructor = t | |
} | |
for (var o in e) | |
n.call(e, o) && (t[o] = e[o]); | |
return i.prototype = e.prototype, | |
t.prototype = new i, | |
t.__super__ = e.prototype, | |
t | |
}; | |
t.exports = function(t) { | |
var e; | |
return t.BarModel = function(t) { | |
function n() { | |
return e = n.__super__.constructor.apply(this, arguments) | |
} | |
return i(n, t), | |
n.prototype.defaults = { | |
bar_height: 50, | |
underlay: !1, | |
fullscreen: !1, | |
view: "bar", | |
windowSizeArr: [0, 0], | |
bodySizeArr: [0, 0], | |
scrollBarWidth: 0, | |
not_static: void 0, | |
message: {} | |
}, | |
n | |
}(t.Model) | |
} | |
} | |
, function(t, e) { | |
var n = {}.hasOwnProperty | |
, i = function(t, e) { | |
function i() { | |
this.constructor = t | |
} | |
for (var o in e) | |
n.call(e, o) && (t[o] = e[o]); | |
return i.prototype = e.prototype, | |
t.prototype = new i, | |
t.__super__ = e.prototype, | |
t | |
}; | |
t.exports = function(t) { | |
var e; | |
return t.CatalogModel = function(n) { | |
function o() { | |
return e = o.__super__.constructor.apply(this, arguments) | |
} | |
return i(o, n), | |
o.prototype.defaults = { | |
url: "/", | |
segments: [] | |
}, | |
o.prototype._clean = function(e) { | |
return t.isString(e) && (e = t.trim(e).replace(/^(\s+)?#/, "")), | |
e | |
} | |
, | |
o.prototype._segments = function(e) { | |
if (t.isString(e)) | |
return e = this._clean(e), | |
e = e.replace(/(^\/)?(\/$)?/g, ""), | |
"" === e ? [] : e.split("/"); | |
throw Error("invalid url param") | |
} | |
, | |
o.prototype.isEqual = function(t) { | |
return this.get("url") === this._clean(t) | |
} | |
, | |
o.prototype._set = function(e, n) { | |
var i = this; | |
return e.url && (e = t.reduce(e, function(t, e, n) { | |
return "url" === n && e !== i.get("url") ? (t.url = i._clean(e), | |
t.segments = i._segments(t.url)) : t[n] = e, | |
t | |
}, {})), | |
o.__super__._set.call(this, e, n) | |
} | |
, | |
o | |
}(t.Model) | |
} | |
} | |
, function(t, e, n) { | |
var i = function(t, e) { | |
return function() { | |
return t.apply(e, arguments) | |
} | |
} | |
, o = {}.hasOwnProperty | |
, r = function(t, e) { | |
function n() { | |
this.constructor = t | |
} | |
for (var i in e) | |
o.call(e, i) && (t[i] = e[i]); | |
return n.prototype = e.prototype, | |
t.prototype = new n, | |
t.__super__ = e.prototype, | |
t | |
}; | |
t.exports = function(t, e) { | |
var n; | |
return n = function() { | |
function e(e, n) { | |
null == n && (n = {}), | |
this.options = t.extend({}, n), | |
this.el = e, | |
this.sum_width = Math.abs(this.options.end_pos - this.options.start_pos), | |
this.duration = this.sum_width / .06, | |
this.time_start = Date.now(), | |
this.timer_indent = 0, | |
this.stopped = !1, | |
this.requestId = 0 | |
} | |
return e.prototype.render = function() { | |
var t, e, n = this; | |
if (!this.stopped) | |
return t = this.options.start_pos - (Date.now() - this.time_start) / this.duration * this.sum_width, | |
this.el[0].style.textIndent = "" + t + "px", | |
t < this.options.end_pos && (("function" == typeof (e = this.options).runAgain ? e.runAgain() : void 0) ? this.time_start = Date.now() : this.stop()), | |
this.requestId = window.requestAnimationFrame(function() { | |
return n.render() | |
}) | |
} | |
, | |
e.prototype.start = function() { | |
var t = this; | |
return this.stopped = !1, | |
this.time_start = Date.now() - this.timer_indent, | |
this.requestId = window.requestAnimationFrame(function() { | |
return t.render() | |
}) | |
} | |
, | |
e.prototype.stop = function() { | |
if (this.stopped = !0, | |
this.timer_indent = (Date.now() - this.time_start) % this.duration, | |
this.requestId) | |
return window.cancelAnimationFrame(this.requestId) | |
} | |
, | |
e | |
}(), | |
t.BarView = function(o) { | |
function s() { | |
this.positionRecounter = i(this.positionRecounter, this), | |
t.globalVars = t.extend({ | |
onSiteCheckbox: !0, | |
searchIsDisabled: !1 | |
}, null != t.winObj.eSi ? t.winObj.eSi : void 0), | |
null != t.globalVars.theme && t.globalVars.theme !== t.escapeAttrs(t.globalVars.theme) && (t.globalVars.theme = void 0), | |
this.testAndRun() | |
} | |
return r(s, o), | |
s.prototype.iframeStyle = t.extend({}, t.IframeView.prototype.iframeStyle, { | |
width: "100%", | |
height: "" + e.INITIAL_BAR_HEIGHT + "px", | |
position: "absolute", | |
"z-index": "1000000" | |
}), | |
s.prototype.iframeStyleFullscreen = t.extend({}, t.IframeView.prototype.iframeStyle, { | |
left: "0", | |
top: "0", | |
position: "fixed", | |
height: "100%", | |
"z-index": "123123123123" | |
}), | |
s.prototype._blockIds = ["catalog", "siteinfo", "underlay", "dynamic_css", "message", "full_message"], | |
s.prototype.getBodySize = function() { | |
return { | |
width: document.body.clientWidth, | |
height: document.body.clientHeight | |
} | |
} | |
, | |
s.prototype.getWindowSize = function() { | |
var t, e; | |
return "Microsoft Internet Explorer" === navigator.appName ? (t = document.documentElement.clientHeight, | |
e = document.documentElement.clientWidth) : (t = window.innerHeight, | |
e = window.innerWidth), | |
{ | |
width: e, | |
height: t | |
} | |
} | |
, | |
s.prototype.getBodyAndWindowSize = function() { | |
var t; | |
return this.setIframeStyle(this.iframeNeutralStyle), | |
t = { | |
bodySize: this.getBodySize(), | |
windowSize: this.getWindowSize() | |
}, | |
this.setIframeStyle(this.model.get("fullscreen") === !0 ? this.iframeStyleFullscreen : this.iframeStyle), | |
t | |
} | |
, | |
s.prototype.testAndRun = function() { | |
var n, i = this; | |
return n = t.getCookie("eSi_state"), | |
"on" === n && t.setStyle(document.body, { | |
"margin-top": "50px" | |
}), | |
t.JSONP({ | |
url: "" + e.WIDGET_HOSTNAME + e.CHECK_URL + e.SITE_HOSTNAME, | |
success: function() { | |
return t.setCookie("eSi_state", "on", { | |
expires: 31536e3, | |
path: "/" | |
}), | |
t.BarView.__super__.constructor.call(i) | |
}, | |
error: function() { | |
t.removeCookie("eSi_state") | |
} | |
}) | |
} | |
, | |
s.prototype.initialize = function() { | |
return this.createModel(), | |
this._cache = {}, | |
this.iframeNeutralStyle = t.extend({}, this.iframeStyle, { | |
width: "100%", | |
"max-width": "100%" | |
}), | |
this.noSiteinfo = "gov.spb.ru" === e.SITE_HOSTNAME, | |
t.globalVars.searchIsDisabled || this._blockIds.push("search", "search_placeholder", "search_query"), | |
this.data = void 0, | |
this.render(), | |
this.collectDomElements(), | |
this.domReadyFixes(), | |
this.createChildren(), | |
this.createPushstream(), | |
this.setStatBlock(), | |
this.initMetrika() | |
} | |
, | |
s.prototype.resizeTimer = void 0, | |
s.prototype.setStatBlock = function() { | |
var t; | |
if (e.STATISTIC_URL) | |
return t = new Image, | |
t.src = e.STATISTIC_URL | |
} | |
, | |
s.prototype.createPushstream = function() { | |
var n, i = this; | |
return !(!t.winObj.WebSocket && !t.winObj.MozWebSocket) && (n = new t.PushStream({ | |
host: e.WS_HOSTNAME, | |
useSSL: "https" === e.WIDGET_PROTOCOL, | |
modes: "websocket", | |
messagesPublishedAfter: 172800, | |
messagesControlByArgument: !0, | |
reconnectOnTimeoutInterval: 3e4 | |
}), | |
n.onmessage = function(e) { | |
var n; | |
return n = t.extend({}, e, { | |
msg: t.encodeHTML(e.msg) | |
}), | |
i.messageReceived(n) | |
} | |
, | |
n.addChannel("notification"), | |
n.connect()) | |
} | |
, | |
s.prototype.isValidMessage = function(t) { | |
return Date.parse(t.date_end) - 5e3 > Date.now() | |
} | |
, | |
s.prototype.setMessage = function(t) { | |
var e, n; | |
return n = this.model.get("message"), | |
this.model.set("message", t), | |
e = this.model.get("bar_height"), | |
!n.msg && t.msg ? e += 30 : n.msg && !t.msg && (e -= 30), | |
this.model.set("bar_height", e) | |
} | |
, | |
s.prototype.messageReceived = function(t) { | |
var e, n; | |
return null != (n = this.message_ticker) && n.stop(), | |
e = this.model.get("message"), | |
this.isValidMessage(t) ? this.setMessage(t) : (e.id !== t.id && this.setMessage({}), | |
this) | |
} | |
, | |
s.prototype.tickerInit = function() { | |
var t, e, i, o, r, s = this; | |
return t = this.block.message.byClass("content"), | |
i = this.block.message.byClass("msg"), | |
e = t[0].clientWidth, | |
o = i[0].clientWidth, | |
this.message_ticker = new n(t,{ | |
start_pos: e, | |
end_pos: -o, | |
runAgain: function() { | |
var t; | |
return t = s.model.get("message"), | |
!!s.isValidMessage(t) || (s.setMessage({}), | |
!1) | |
} | |
}), | |
i.on("mouseenter", function() { | |
var t; | |
return null != (t = s.message_ticker) ? t.stop() : void 0 | |
}), | |
i.on("mouseleave", function() { | |
var t; | |
return null != (t = s.message_ticker) ? t.start() : void 0 | |
}), | |
null != (r = this.message_ticker) ? r.start() : void 0 | |
} | |
, | |
s.prototype.createChildren = function() { | |
return this.createFullMessage(), | |
t.globalVars.searchIsDisabled || this.createSearch(), | |
this.createCatalog(), | |
this.noSiteinfo || this.createSiteInfo(), | |
this | |
} | |
, | |
s.prototype.collectDomElements = function() { | |
var t, e, n, i, o; | |
for (this.block = {}, | |
i = this._blockIds, | |
o = [], | |
e = 0, | |
n = i.length; e < n; e++) | |
t = i[e], | |
o.push(this.block[t] = this.el.byId(t)); | |
return o | |
} | |
, | |
s.prototype.getContainer = function() { | |
return t.docObj.body | |
} | |
, | |
s.prototype.createModel = function() { | |
var e = this; | |
return this.model = new t.BarModel, | |
this.model.on("change:fullscreen", this.toggleFullscreen, this), | |
this.model.on("change:view", function(t) { | |
if (void 0 !== t && (e.iframeBody.attr("class", "view-" + t), | |
e.model.set("fullscreen", "bar" !== t)), | |
"full_message" !== t) | |
return e.block.message.setStyle({ | |
opacity: "1" | |
}) | |
}), | |
this.model.on("change:scrollBarWidth", function() { | |
return e.block.dynamic_css.html(t.render("dynamic_css", { | |
scrollBarWidth: e.model.get("scrollBarWidth") | |
})), | |
e.trigger("changeSize") | |
}), | |
this.model.on("change:bar_height", function(n) { | |
return e.iframeStyle.height = "" + n + "px", | |
t.setStyle(e.body, { | |
"margin-top": "" + n + "px" | |
}), | |
e.positionRecounter(), | |
e.trigger("changeSize") | |
}), | |
this.model.on("change:message", function(n) { | |
if (e.block.message.html(t.render("message", n)), | |
n.msg) | |
return e.tickerInit() | |
}), | |
this.model.on("change:windowSizeArr", function(n) { | |
return e.iframeStyleFullscreen = t.extend({}, e.iframeStyleFullscreen, { | |
width: n[0] + "px", | |
height: n[1] + "px" | |
}), | |
e.calculationIframeStyle(), | |
e.trigger("changeSize") | |
}), | |
this.model.on("change:bodySizeArr", function() { | |
e.calculationIframeStyle() | |
}), | |
this.model.on("change:not_static", function() { | |
return e.positionRecounter() | |
}) | |
} | |
, | |
s.prototype.getFrameWidth = function() { | |
var t, e, n, i; | |
return i = this.model.get("windowSizeArr"), | |
e = this.model.get("bodySizeArr"), | |
n = this.model.get("scrollBarWidth"), | |
t = [this.body.scrollWidth, this.body.scrollHeight], | |
"Microsoft Internet Explorer" === navigator.appName ? Math.max(i[0], e[0]) : i[0] < e[0] ? e[0] : i[1] < e[1] || i[1] < t[1] ? i[0] - n : i[0] | |
} | |
, | |
s.prototype.calculationIframeStyle = function() { | |
this.iframeStyle = t.extend({}, this.iframeStyle, { | |
width: this.getFrameWidth() + "px" | |
}), | |
this.positionRecounter() | |
} | |
, | |
s.prototype.notStaticBody = function() { | |
var e; | |
return e = t.getStyle(this.body, "position"), | |
"relative" === e || "fixed" === e || "absolute" === e || "flex" === e | |
} | |
, | |
s.prototype.domReadyFixes = function() { | |
var e, n, i = this; | |
return this.updateWindowParams({ | |
type: "resize" | |
}), | |
e = this.notStaticBody(), | |
(null != this._not_static ? this._not_static : void 0) !== e && (this._not_static = e, | |
t.on(t.winObj, "resize", function(t) { | |
return clearTimeout(i.resizeTimer), | |
i.resizeTimer = setTimeout(function() { | |
return i.updateWindowParams(t) | |
}, 50) | |
}), | |
n = function() { | |
setTimeout(function() { | |
return i.updateWindowParams(), | |
n() | |
}, 2e3) | |
} | |
, | |
this) | |
} | |
, | |
s.prototype.resizeTimer = void 0, | |
s.prototype.positionRecounter = function(e) { | |
var n, i, o, r; | |
return null == e && (e = !0), | |
o = t.offset(this.body) || {}, | |
i = this.model.get("not_static"), | |
r = i ? -Math.max(o.top || 0, 0) : 0, | |
n = i ? -Math.max(o.left || 0, 0) : 0, | |
this.iframeStyle = t.extend({}, this.iframeStyle, { | |
left: n + "px", | |
top: r + "px" | |
}), | |
this.setIframeStyle(this.model.get("fullscreen") === !0 ? this.iframeStyleFullscreen : this.iframeStyle) | |
} | |
, | |
s.prototype.updateWindowParams = function(e) { | |
var n, i, o, r, s, a, l; | |
return l = this.getBodyAndWindowSize(), | |
n = l.bodySize, | |
s = l.windowSize, | |
r = e && "resize" === e.type ? t.getScrollBarWidth(this.iframeBody) : this.model.get("scrollBarWidth"), | |
i = [n.width, n.height], | |
a = [s.width, s.height], | |
o = { | |
not_static: this.notStaticBody(), | |
scrollBarWidth: r | |
}, | |
this.model.get("bodySizeArr").join("") !== i.join("") && (o.bodySizeArr = i), | |
this.model.get("windowSizeArr").join("") !== a.join("") && (o.windowSizeArr = a), | |
this.model.set(o), | |
this | |
} | |
, | |
s.prototype.render = function() { | |
var n, i, o = this; | |
if (this.html = document.documentElement, | |
this.body = document.body, | |
t.setStyle(this.body, { | |
"margin-top": "" + this.model.get("bar_height") + "px" | |
}), | |
this.iframeBody.attr("class", "view-" + this.model.get("view")), | |
this.iframeBody.html(t.render("bar", { | |
action: t.globalVars.formAction || "" + e.WIDGET_HOSTNAME + "/search/", | |
searchField: t.globalVars.formAction && t.globalVars.searchField || "q", | |
site: e.SITE_HOSTNAME, | |
noSiteinfo: this.noSiteinfo, | |
check: !t.globalVars.onSiteCheckbox, | |
searchIsDisabled: !!t.globalVars.searchIsDisabled, | |
theme: t.globalVars.theme, | |
message: this.model.get("message") | |
})), | |
i = void 0, | |
n = function(e) { | |
return e && t.hasClass(e, "content") ? e : !!e.parentNode && n(e.parentNode) | |
} | |
, | |
this.iframeDoc.on("touchstart", function(t) { | |
return i = t.original.touches[0].pageY | |
}), | |
this.iframeDoc.on("touchmove", function(t) { | |
var e, r; | |
return e = n(t.target), | |
e && (r = i - t.original.touches[0].pageY, | |
i = t.original.touches[0].pageY, | |
o.scrollColumn(e, r / 30)), | |
t.preventDefault() | |
}), | |
this.iframeDoc.on("mousewheel", function(t) { | |
var e; | |
return e = n(t.target), | |
o.scrollColumn(e, t.delta), | |
t.preventDefault(), | |
t.stopPropagation() | |
}), | |
this.iframeDoc.on("click", function(e) { | |
var n; | |
if ((n = function(e) { | |
return (!e || !t.hasClass(e, "column") && "bar" !== e.id) && (!e.parentNode || n(e.parentNode)) | |
} | |
)(e.target)) | |
return o.closeAll() | |
}), | |
this.el.byId("message").on("click", function() { | |
return o.toggleFullmessage.apply(o, arguments) | |
}), | |
this.el.byId("full_message-toggle").on("click", function() { | |
return o.toggleFullmessage.apply(o, arguments) | |
}), | |
this.el.byId("catalog-toggle").on("click", function() { | |
return o.toggleCatalog.apply(o, arguments) | |
}), | |
!this.noSiteinfo) | |
return this.el.byId("siteinfo-toggle").on("click", function() { | |
return o.toggleSiteinfo.apply(o, arguments) | |
}) | |
} | |
, | |
s.prototype.scrollColumn = function(e, n) { | |
var i; | |
return i = (e.scrollTop || e.clientTop) + 30 * n, | |
t.isNumber(e.scrollTop) ? e.scrollTop = i : e.clientTop = i | |
} | |
, | |
s.prototype.getData = function(t) { | |
var n = this; | |
return this.wget("" + e.WIDGET_HOSTNAME + e.DATA_URL, function(e) { | |
return n.parseData(e), | |
"function" == typeof t ? t() : void 0 | |
}, this) | |
} | |
, | |
s.prototype.closeAll = function() { | |
return this.model.set("view", "bar") | |
} | |
, | |
s.prototype.toggleSiteinfo = function() { | |
return "siteinfo" === this.model.get("view") ? this.model.set("view", "bar") : this.model.set("view", "siteinfo"), | |
!1 | |
} | |
, | |
s.prototype.toggleCatalog = function() { | |
return "catalog" === this.model.get("view") ? this.model.set("view", "bar") : this.model.set("view", "catalog"), | |
!1 | |
} | |
, | |
s.prototype.toggleFullmessage = function() { | |
return "full_message" === this.model.get("view") ? this.model.set("view", "bar") : (this.model.set("view", "full_message"), | |
this.block.message.setStyle({ | |
opacity: "0" | |
})), | |
!1 | |
} | |
, | |
s.prototype.toggleFullscreen = function(e) { | |
var n, i, o = this; | |
return i = t.docObj.getElementsByTagName("html")[0], | |
n = t.docObj.getElementsByTagName("body")[0], | |
e === !0 ? (i.originStyles = t.attr(i, "style") || "", | |
n.originStyles = t.attr(n, "style") || "", | |
t.setStyle(i, { | |
overflow: "hidden", | |
height: this.iframeStyleFullscreen.height, | |
width: this.iframeStyle.width | |
}), | |
this.setIframeStyle(this.iframeStyleFullscreen), | |
this.block.underlay.setStyle({ | |
opacity: "0.6" | |
})) : (this.block.underlay.setStyle({ | |
opacity: "0" | |
}), | |
setTimeout(function() { | |
return i.removeAttribute("style"), | |
t.attr(i, "style", i.originStyles), | |
o.updateWindowParams(), | |
o.setIframeStyle(o.iframeStyle) | |
}, 200)) | |
} | |
, | |
s.prototype.parseData = function(n) { | |
var i, o, r, s, a, l, c, h, u, d, p, m, g, C, f, b, v, w, A, D, y, E = this; | |
if (this.data) | |
return this.data; | |
for (this.data = {}, | |
o = this.data.categories = { | |
0: [] | |
}, | |
u = this.data.sites = {}, | |
a = this.data.orgs = {}, | |
this.data.site = void 0, | |
w = n.categories, | |
d = 0, | |
C = w.length; d < C; d++) | |
i = w[d], | |
o[i.id] = t.extend({}, null != o[i.id] ? o[i.id] : void 0, { | |
item: i | |
}), | |
i.parent ? (l = o[i.parent] || (o[i.parent] = {}), | |
l.children || (l.children = []), | |
l.children.push(o[i.id])) : o[0].push(o[i.id]); | |
for (r = function(t) { | |
var n; | |
if ((n = e.SITE_HOSTNAME_UNICODE) === t.host || n === t.esir_host) | |
return E.data.site = t | |
} | |
, | |
A = n.sites, | |
p = 0, | |
f = A.length; p < f; p++) { | |
for (h = A[p], | |
u[h.id] = h, | |
D = h.categories, | |
m = 0, | |
b = D.length; m < b; m++) | |
c = D[m], | |
o[c].sites || (o[c].sites = []), | |
o[c].sites.push(h); | |
r(h) | |
} | |
for (y = n.organizations, | |
g = 0, | |
v = y.length; g < v; g++) | |
s = y[g], | |
a[s.id] = s; | |
return this.data | |
} | |
, | |
s.prototype.createSearch = function() { | |
return this.search = new t.SearchView({ | |
el: this.block.search, | |
parent: this | |
}) | |
} | |
, | |
s.prototype.createCatalog = function() { | |
return this.catalog = new t.CatalogView({ | |
el: this.block.catalog, | |
parent: this | |
}) | |
} | |
, | |
s.prototype.createFullMessage = function() { | |
return this.full_message = new t.FullMessageView({ | |
el: this.block.full_message, | |
parent: this | |
}) | |
} | |
, | |
s.prototype.createSiteInfo = function() { | |
return this.siteinfo = new t.SiteInfoView({ | |
el: this.block.siteinfo, | |
parent: this | |
}) | |
} | |
, | |
s.prototype._wgetCallbacks = {}, | |
s.prototype.wget = function(e, n, i) { | |
var o = this; | |
return this._cache[e] ? this._cache[e] === !0 ? (this._wgetCallbacks[e].push(arguments), | |
!1) : setTimeout(function() { | |
return n.apply(i, [o._cache[e]]) | |
}, 0) : (this._cache[e] = !0, | |
this._wgetCallbacks[e] = [], | |
this._wgetCallbacks[e].push(arguments), | |
t.JSONP({ | |
url: e, | |
success: function(t) { | |
var n, i, r, s, a, l, c; | |
for (o._cache[e] = t, | |
c = o._wgetCallbacks[e], | |
a = 0, | |
l = c.length; a < l; a++) | |
n = c[a], | |
s = n[0], | |
i = n[1], | |
r = n[2], | |
i.apply(r, [t]); | |
return delete o._wgetCallbacks[e] | |
} | |
})) | |
} | |
, | |
s.prototype.initMetrika = function() { | |
return function(t, e, n) { | |
(e[n] = e[n] || []).push(function() { | |
try { | |
e.yaCounter25567901 = new Ya.Metrika({ | |
id: 25567901, | |
webvisor: !0, | |
clickmap: !0, | |
trackLinks: !0, | |
accurateTrackBounce: !0 | |
}) | |
} catch (t) {} | |
}); | |
var i = t.getElementsByTagName("script")[0] | |
, o = t.createElement("script") | |
, r = function() { | |
i.parentNode.insertBefore(o, i) | |
}; | |
o.type = "text/javascript", | |
o.async = !0, | |
o.src = ("https:" == t.location.protocol ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js", | |
"[object Opera]" == e.opera ? t.addEventListener("DOMContentLoaded", r, !1) : r() | |
}(document, window, "yandex_metrika_callbacks"), | |
this | |
} | |
, | |
s | |
}(t.IframeView) | |
} | |
} | |
, function(t, e) { | |
var n = {}.hasOwnProperty | |
, i = function(t, e) { | |
function i() { | |
this.constructor = t | |
} | |
for (var o in e) | |
n.call(e, o) && (t[o] = e[o]); | |
return i.prototype = e.prototype, | |
t.prototype = new i, | |
t.__super__ = e.prototype, | |
t | |
} | |
, o = [].slice; | |
t.exports = function(t, e) { | |
return t.CatalogView = function(n) { | |
function r(e) { | |
null == e && (e = {}), | |
this.options = t.extend({}, null != this.options ? this.options : void 0, e), | |
this.columns = [], | |
this.options.parent && (this.parent = this.options.parent), | |
this.catalog = {}, | |
r.__super__.constructor.call(this, e) | |
} | |
return i(r, n), | |
r.prototype.zPos = 5e3, | |
r.prototype.maxColumns = 2, | |
r.prototype.initialize = function() { | |
var e = this; | |
return this.columnWrapper = this.el.byClass("column-wrapper"), | |
this.createModel(), | |
this.calculateVisible(), | |
this.model.set("level", 0), | |
this.parent.model.on("change:view", this.checkView, this), | |
this.parent.on("changeSize", this.changeFrameSize, this), | |
this.parent.model.on("change:bar_height", function(t) { | |
return e.model.set("top", t) | |
}, this), | |
this.model.on("change:top", this.changePosition, this), | |
this.model.on("change:show", this.toggleView, this), | |
this.model.on("change:level", this.changeLevel, this), | |
this.catalog = this.parent.data || void 0, | |
this.el_trans = new t.Transition(this.el,{ | |
duration: 200 | |
}), | |
this.el.setStyle({ | |
left: "-" + this.columnWidth + "px", | |
opacity: 1 | |
}) | |
} | |
, | |
r.prototype.createModel = function() { | |
return this.model = new t.CatalogModel({ | |
show: !1, | |
top: this.parent.model.get("bar_height") | |
}) | |
} | |
, | |
r.prototype.checkView = function(t) { | |
var e = this; | |
return this.catalog ? this.model.set("show", "catalog" === t) : this.parent.getData(function() { | |
if (e.catalog = e.parent.data, | |
e.addColumn(0, 0), | |
"catalog" === e.parent.model.get("view")) | |
return e.model.set("show", !0) | |
}) | |
} | |
, | |
r.prototype.changePosition = function(t) { | |
return this.el_trans.animate({ | |
top: "" + t + "px" | |
}) | |
} | |
, | |
r.prototype.toggleView = function(e) { | |
var n, i = this; | |
return n = this.model.get("top"), | |
e === !0 ? (t.removeClass(this.el[0], "hiddenBlock"), | |
this.el_trans.animate({ | |
left: "0px", | |
top: "" + n + "px" | |
})) : this.el_trans.animate({ | |
left: "-" + (this.columnWidth + 50) + "px", | |
top: "" + n + "px" | |
}, function() { | |
return i.model.set("level", 0), | |
t.addClass(i.el[0], "hiddenBlock") | |
}) | |
} | |
, | |
r.prototype.changeFrameSize = function() { | |
var e, n, i, o, r, s, a; | |
for (i = this.calculateVisible(), | |
this.animateColumns(), | |
e = this.model.get("level") - i + 1, | |
s = this.columns.slice(1), | |
a = [], | |
o = 0, | |
r = s.length; o < r; o++) | |
n = s[o], | |
e === n.lvl ? a.push(t.addClass(n.header[0], "show_back")) : a.push(t.removeClass(n.header[0], "show_back")); | |
return a | |
} | |
, | |
r.prototype.createColumn = function() { | |
var e; | |
return e = t.create("<div class='column'></div>") | |
} | |
, | |
r.prototype.drawColumn = function() { | |
var n, i, r, s, a, l; | |
return n = 1 <= arguments.length ? o.call(arguments, 0) : [], | |
r = n[0], | |
s = n[1], | |
s = t.extend({}, s, { | |
catalogUrl: "" + e.WIDGET_HOSTNAME | |
}), | |
i = this.model.get("level"), | |
l = this.model.get("visibleColumns"), | |
r.html(t.render("catalog_" + s._tmpl, s)), | |
a = 0, | |
0 !== r.lvl && (a = (r.lvl - i + l - 1) * this.columnWidth, | |
r.lvl < l && r.lvl !== i && (a = -this.columnWidth)), | |
r.setStyle({ | |
left: "" + a + "px" | |
}), | |
r.trans = new t.Transition(r,{ | |
duration: 200 | |
}), | |
this.addHanlers(r, s) | |
} | |
, | |
r.prototype.animateColumns = function(t) { | |
if (null == t && (t = this.model.get("level")), | |
!(this.columns.length <= 0)) | |
return this.toggleColumns(this.columns.slice(0, +t + 1 || 9e9)), | |
this.removeColumns(t + 1), | |
this.columns[t].currentItem ? (this.columns[t].currentItem.className = "", | |
this.columns[t].currentItem = void 0) : void 0 | |
} | |
, | |
r.prototype.calculateVisible = function() { | |
var t, e; | |
return this.columns.length > 0 ? t = this.columns[0] : (t = this.createColumn(), | |
this.columnWrapper.append(t), | |
setTimeout(function() { | |
return t.remove() | |
}, 0)), | |
this.columnWidth = t[0].offsetWidth, | |
e = Math.min(Math.floor(this.el[0].offsetWidth / this.columnWidth), this.maxColumns), | |
this.model.set("visibleColumns", e), | |
e | |
} | |
, | |
r.prototype.changeLevel = function(t) { | |
return this.animateColumns(t) | |
} | |
, | |
r.prototype.addColumn = function(t, e) { | |
var n; | |
return n = this.createColumn(), | |
n.lvl = e, | |
n.setStyle({ | |
"z-index": this.zPos - 10 * e | |
}), | |
this.columns.push(n), | |
this.columnWrapper.append(n), | |
this.drawColumn(n, this.getColumnData(t)) | |
} | |
, | |
r.prototype.sortCat = function(t, e) { | |
return t.item.name.toLowerCase() > e.item.name.toLowerCase() ? 1 : -1 | |
} | |
, | |
r.prototype.sortSites = function(t, e) { | |
return t.name.toLowerCase().replace(/<\/?nobr>/gim, "") > e.name.toLowerCase().replace(/<\/?nobr>/gim, "") ? 1 : -1 | |
} | |
, | |
r.prototype.getColumnData = function(e) { | |
var n, i, o; | |
return t.isString(e) && 0 === e.indexOf("all_") ? (i = this.catalog.categories[parseInt(e.slice(4), 10)], | |
n = !0) : i = this.catalog.categories[e], | |
o = {}, | |
0 === e ? (o.items = i.sort(this.sortCat), | |
o._tmpl = "categories", | |
o.correctImageExtantion = t.hasClass(this.parent.el[0], "lt-ie9") ? "png" : "svg", | |
o) : (o.title = i.item.name, | |
i.item.parent ? o.parent_title = this.catalog.categories[i.item.parent].item.name : o.parent_title = "Каталог", | |
n ? (o.items = this.collectSites(i), | |
o._tmpl = "sites", | |
o) : (i.children ? (i.children.sort(this.sortCat), | |
o.items = i.children.slice(), | |
o.items.unshift({ | |
item: { | |
name: "Вся категория", | |
id: "all_" + i.item.id, | |
parent: i.item.id | |
} | |
}), | |
o._tmpl = "subcategories") : (o.items = i.sites.sort(this.sortSites), | |
o._tmpl = "sites"), | |
o)) | |
} | |
, | |
r.prototype.collectSites = function(e) { | |
var n, i, o, r, s; | |
for (i = [], | |
s = e.children, | |
o = 0, | |
r = s.length; o < r; o++) | |
n = s[o], | |
n.sites && (i = t.union(i, n.sites || [])); | |
return e.sites && (i = t.union(i, e.sites || [])), | |
i = this.uniq(i), | |
i.sort(this.sortSites) | |
} | |
, | |
r.prototype.uniq = function(t) { | |
var e, n, i, o, r, s; | |
for (o = {}, | |
i = [], | |
e = r = 0, | |
s = t.length; r < s; e = ++r) | |
n = t[e], | |
o[n.id] || i.push(n), | |
o[n.id] = !0; | |
return i | |
} | |
, | |
r.prototype.addHanlers = function(t, e) { | |
return this.eventHandlers[e._tmpl].apply(this, [t, e]) | |
} | |
, | |
r.prototype.eventHandlers = { | |
categories: function(e, n) { | |
var i, o = this; | |
return i = e.lvl, | |
t.each(e[0].getElementsByTagName("li"), function(n) { | |
return t.on(n, "click", function(t) { | |
var r; | |
if (t.preventDefault(), | |
r = n.getAttribute("data-id"), | |
r.indexOf("all_") < 0 && (r = parseInt(r, 10)), | |
e.currentItem) { | |
if (e.currentItem === n) | |
return void o.model.set("level", o.model.get("level") - 1); | |
e.currentItem.className = "", | |
o.removeColumns(i + 1, !1), | |
o.addColumn(r, i + 1) | |
} else | |
o.addColumn(r, i + 1), | |
setTimeout(function() { | |
return o.model.set("level", i + 1) | |
}, 0); | |
return e.currentItem = n, | |
e.currentItem.className = "current" | |
}) | |
}), | |
this.eventHandlers.addDefaultHandler.apply(this, [e]) | |
}, | |
subcategories: function(t, e) { | |
return this.eventHandlers.categories.apply(this, arguments), | |
this.eventHandlers.addHeaderHandler.apply(this, [t]) | |
}, | |
sites: function(e, n, i) { | |
return this.eventHandlers.addHeaderHandler.apply(this, [e]), | |
this.eventHandlers.addDefaultHandler.apply(this, [e]), | |
t.each(e[0].getElementsByTagName("li"), function(n) { | |
return t.on(n, "click", function(i) { | |
var o; | |
if ((o = function(e) { | |
return e && t.hasClass(e, "site-toggle") ? e : !!e.parentNode && o(e.parentNode) | |
} | |
)(i.target)) | |
return e.currentItem && e.currentItem !== n && t.removeClass(e.currentItem, "open"), | |
t.hasClass(n, "open") ? (t.removeClass(n, "open"), | |
e.currentItem = void 0) : (e.currentItem = n, | |
t.addClass(n, "open")) | |
}) | |
}) | |
}, | |
addDefaultHandler: function(e) { | |
var n; | |
return n = e.byClass("content")[0], | |
e.byClass("content").on("mouseenter", function() { | |
return n.scrollHeight !== n.clientHeight ? t.addClass(n, "scrolled") : t.removeClass(n, "scrolled") | |
}), | |
e.byClass("content").on("click", function() { | |
return setTimeout(function() { | |
return n.scrollHeight !== n.clientHeight ? t.addClass(n, "scrolled") : t.removeClass(n, "scrolled") | |
}, 10) | |
}) | |
}, | |
addHeaderHandler: function(e) { | |
var n, i = this; | |
return !e.events && (e.events = {}), | |
n = e.header || (e.header = e.byClass("extra-head")), | |
e.events["change:level"] = this.model.on("change:level", function(t) { | |
var o; | |
return t < 0 ? (i.model.set("level", 0), | |
!1) : (o = i.model.get("visibleColumns"), | |
t - o + 1 === e.lvl ? n.addClass("show_back") : n.removeClass("show_back")) | |
}), | |
n.on("click", function() { | |
if (t.hasClass(n[0], "show_back")) | |
return i.model.set("level", i.model.get("level") - 1) | |
}) | |
} | |
}, | |
r.prototype.setCurrent = function(t) { | |
var e, n; | |
return e = t.lvl, | |
n = this.model, | |
header.on("click", function() { | |
return n.set("level", e) | |
}) | |
} | |
, | |
r.prototype.removeColumns = function(t) { | |
var e, n, i, o, r; | |
for (n = this.columns.slice(t), | |
this.columns = this.columns.slice(0, t), | |
r = [], | |
i = 0, | |
o = n.length; i < o; i++) | |
e = n[i], | |
r.push(e.trans.animate({ | |
opacity: "0" | |
}, function() { | |
return e.remove() | |
})); | |
return r | |
} | |
, | |
r.prototype.toggleColumns = function(t) { | |
var e, n, i, o, r, s, a; | |
for (e = this.model.get("level"), | |
o = this.model.get("visibleColumns"), | |
a = [], | |
r = 0, | |
s = t.length; r < s; r++) | |
n = t[r], | |
i = n.lvl + (-e + o - 1), | |
i = e < o - 1 ? 0 : i, | |
a.push(n.trans.animate({ | |
left: "" + i * this.columnWidth + "px" | |
})); | |
return a | |
} | |
, | |
r | |
}(t.View) | |
} | |
} | |
, function(t, e) { | |
var n = {}.hasOwnProperty | |
, i = function(t, e) { | |
function i() { | |
this.constructor = t | |
} | |
for (var o in e) | |
n.call(e, o) && (t[o] = e[o]); | |
return i.prototype = e.prototype, | |
t.prototype = new i, | |
t.__super__ = e.prototype, | |
t | |
}; | |
t.exports = function(t, e) { | |
return t.FullMessageView = function(n) { | |
function o(e) { | |
null == e && (e = {}), | |
this.options = t.extend({}, null != this.options ? this.options : void 0, e), | |
this.options.parent && (this.parent = this.options.parent), | |
o.__super__.constructor.call(this, e) | |
} | |
return i(o, n), | |
o.prototype.initialize = function() { | |
var e = this; | |
return this.createModel(), | |
this.parent.model.on("change:view", this.checkView, this), | |
this.model.on("change:top", this.changePosition, this), | |
this.model.on("change:show", this.toggleView, this), | |
this.parent.model.on("change:message", function(t) { | |
return e.el.trigger("click"), | |
!t.msg && e.model.get("message") ? e.model.set("message", !1) : e.model.set("message", t) | |
}, this), | |
this.model.on("change:message", function(t) { | |
if (t) | |
return e.draw(t) | |
}, this), | |
this.content = this.el.byId("full_message_content"), | |
this.data = this.parent.data || void 0, | |
this.el_trans = new t.Transition(this.el,{ | |
duration: 200 | |
}) | |
} | |
, | |
o.prototype.createModel = function() { | |
return this.model = new t.Model({ | |
show: !1, | |
top: e.INITIAL_BAR_HEIGHT | |
}) | |
} | |
, | |
o.prototype.checkView = function(t) { | |
return this.model.set("show", "full_message" === t) | |
} | |
, | |
o.prototype.changePosition = function(t) { | |
return this.el_trans.animate({ | |
top: "" + t + "px" | |
}) | |
} | |
, | |
o.prototype.getFullMessage = function() { | |
var n, i = this; | |
return n = this.model.get("message"), | |
t.JSONP({ | |
url: "//" + e.NOTIFICATION_HOSTNAME + "/messages/" + n.id + "/", | |
success: function(e) { | |
var o; | |
return o = t.extend({}, null != e ? e : void 0), | |
o.text = t.encodeHTML(o.text), | |
o.title = t.encodeHTML(o.title), | |
i.model.set("message", t.extend({}, n, o)) | |
} | |
}) | |
} | |
, | |
o.prototype.toggleView = function(e) { | |
var n, i, o, r = this; | |
return i = this.model.get("top"), | |
e === !0 ? (n = this.model.get("message"), | |
n.text || this.getFullMessage(), | |
t.removeClass(this.el[0], "hiddenBlock"), | |
this.el_trans.animate({ | |
left: "0px", | |
top: "" + i + "px" | |
})) : (this.el_trans.animate({ | |
left: "-100%", | |
top: "" + i + "px" | |
}, function() { | |
return t.addClass(r.el[0], "hiddenBlock") | |
}), | |
null != (o = this.el.byTag("audio")[0]) && "function" == typeof o.pause ? o.pause() : void 0) | |
} | |
, | |
o.prototype.draw = function(n) { | |
return this.content.html(t.render("full_message", t.extend({}, { | |
NOTIFICATION_HOSTNAME: e.NOTIFICATION_HOSTNAME | |
}, n))), | |
this.addHandlers(this.content) | |
} | |
, | |
o.prototype.addHandlers = function(e) { | |
var n; | |
return n = e.byClass("content")[0], | |
e.byClass("content").on("mouseenter", function(i) { | |
var o; | |
return e = function(n) { | |
return n && t.hasClass(n, "content") ? n : !!n.parentNode && e(n.parentNode) | |
} | |
, | |
o = e(i.target), | |
n.scrollHeight !== n.clientHeight ? t.addClass(o, "scrolled") : t.removeClass(o, "scrolled") | |
}) | |
} | |
, | |
o | |
}(t.View) | |
} | |
} | |
, function(t, e) { | |
var n = {}.hasOwnProperty | |
, i = function(t, e) { | |
function i() { | |
this.constructor = t | |
} | |
for (var o in e) | |
n.call(e, o) && (t[o] = e[o]); | |
return i.prototype = e.prototype, | |
t.prototype = new i, | |
t.__super__ = e.prototype, | |
t | |
}; | |
t.exports = function(t, e) { | |
return t.IframeView = function(n) { | |
function o(t) { | |
var e = this; | |
null == t && (t = {}), | |
this.container = t.container, | |
this.createIframe(function() { | |
return o.__super__.constructor.call(e, t) | |
}) | |
} | |
return i(o, n), | |
o.prototype.iframeAttributes = { | |
scrolling: "no", | |
frameBorder: "0", | |
allowtransparency: "true", | |
marginWidth: "0", | |
marginHeight: "0", | |
vspace: "0", | |
hspace: "0" | |
}, | |
o.prototype.hiddenStyle = { | |
position: "absolute", | |
top: "-9999em", | |
left: "-9999em", | |
"z-index": "-1", | |
visibility: "hidden" | |
}, | |
o.prototype.iframeStyle = { | |
background: "transparent none repeat scroll 0 0", | |
"border-width": "0", | |
"border-style": "none", | |
"border-image": "none", | |
display: "block", | |
"border-radius": "0", | |
bottom: "0", | |
"box-shadow": "none", | |
"box-sizing": "content-box", | |
cursor: "auto", | |
filer: "none", | |
"float": "none", | |
margin: "0", | |
"max-height": "none", | |
"max-width": "none", | |
"min-height": "0", | |
"min-width": "0", | |
opacity: "1", | |
overflow: "hidden", | |
outline: "none", | |
padding: "0", | |
right: "auto", | |
transform: "none", | |
visibility: "visible", | |
zoom: "normal", | |
"z-index": "1", | |
top: "0", | |
left: "0", | |
height: "auto", | |
width: "auto", | |
position: "static", | |
"writing-mode:": "none", | |
"-moz-transform": "none", | |
"-ms-transform": "none", | |
"-webkit-transform": "none", | |
"-o-transform": "none", | |
transform: "none" | |
}, | |
o.prototype.events = { | |
"click a": "linkHandler", | |
mousewheel: "scrollHandler" | |
}, | |
o.prototype.prepareContainer = function() {} | |
, | |
o.prototype.initialize = function() {} | |
, | |
o.prototype.getContainer = function() { | |
var e; | |
if (t.isString(this.container) && (e = t.byId(this.container))) | |
return e; | |
if (t.isElement(this.container)) | |
return this.container; | |
if (this.container.length && t.isElement(this.container[0])) | |
return this.container[0]; | |
throw Error("invalid container element") | |
} | |
, | |
o.prototype.createIframe = function(e) { | |
var n, i = this; | |
return this.iframe = t.create(t.docObj.createElement("iframe")), | |
this.iframe.attr("id", "widgetEsirGovSpbRu"), | |
n = function() { | |
return i.iframe.off("load", n), | |
i.iframeReady(), | |
e() | |
} | |
, | |
this.iframe.on("load", n), | |
t.domReady(function() { | |
return i.hideIframe(), | |
i.iframe.prependTo(i.getContainer()) | |
}) | |
} | |
, | |
o.prototype.hideIframe = function() { | |
return this.iframe.setStyleAttr(this.hiddenStyle, !0) | |
} | |
, | |
o.prototype.setIframeAttributes = function() { | |
var e = this; | |
return t.each(this.iframeAttributes, function(t, n) { | |
return e.iframe.attr(n, t) | |
}), | |
this.setIframeStyle(this.iframeStyle) | |
} | |
, | |
o.prototype.setIframeStyle = function(t) { | |
return this.iframe.setStyleAttr(t, !0) | |
} | |
, | |
o.prototype.collectElements = function() { | |
return this.el = t.create(this.iframeDoc[0].documentElement), | |
this.iframeBody = t.create(this.iframeDoc[0].body), | |
this.html = t.create(t.docObj.documentElement), | |
this.body = t.create(t.docObj.body) | |
} | |
, | |
o.prototype.renderIframe = function() { | |
return this.iframeDoc.each(function(n) { | |
return n.open(), | |
n.write(t.render("iframe", { | |
widgetUrl: e.WIDGET_HOSTNAME | |
})), | |
n.close() | |
}) | |
} | |
, | |
o.prototype.iframeReady = function() { | |
return this.iframeDoc = t.create(this.iframe[0].contentDocument || this.iframe[0].contentWindow.document), | |
this.renderIframe(), | |
this.collectElements(), | |
this.prepareContainer(), | |
this.setIframeAttributes(), | |
this.trigger("ready") | |
} | |
, | |
o.prototype.scrollHandler = function(t) { | |
var e; | |
if (null != (e = this.model) ? e.get("fullscreen") : void 0) | |
return t.preventDefault(), | |
t.stopPropagation() | |
} | |
, | |
o.prototype.linkHandler = function(e) { | |
var n, i, o; | |
if (i = t.create(e.target), | |
o = t.trim(i.attr("target")), | |
"_blank" !== o && (e.preventDefault(), | |
e.stopPropagation(), | |
n = t.trim(i.attr("href")), | |
n && "#" !== n[0])) | |
return t.redirect(n) | |
} | |
, | |
o | |
}(t.View) | |
} | |
} | |
, function(t, e) { | |
var n = function(t, e) { | |
return function() { | |
return t.apply(e, arguments) | |
} | |
} | |
, i = {}.hasOwnProperty | |
, o = function(t, e) { | |
function n() { | |
this.constructor = t | |
} | |
for (var o in e) | |
i.call(e, o) && (t[o] = e[o]); | |
return n.prototype = e.prototype, | |
t.prototype = new n, | |
t.__super__ = e.prototype, | |
t | |
}; | |
t.exports = function(t, e) { | |
return t.SearchView = function(i) { | |
function r(e) { | |
this.outerClick = n(this.outerClick, this), | |
this.options = t.extend({}, null != this.options && this.options || {}, e), | |
this.options.parent && (this.parent = this.options.parent), | |
r.__super__.constructor.call(this, e) | |
} | |
return o(r, i), | |
r.prototype.initialize = function() { | |
var e = this; | |
return this.collectChildren(["search_query", "site", "on_all", "searchResult"]), | |
this.setHandlers(), | |
this.parent.model.on("change:view", function(n) { | |
if ("search" !== n) | |
return e.children.searchResult.empty(), | |
t.removeClass(e.el[0], "focus") | |
}) | |
} | |
, | |
r.prototype.collectChildren = function(e) { | |
var n, i, o, r; | |
for (this.children = {}, | |
r = [], | |
i = 0, | |
o = e.length; i < o; i++) | |
n = e[i], | |
r.push(this.children[n] = t.byId(n, this.el)); | |
return r | |
} | |
, | |
r.prototype.outerClick = function(e) { | |
if (!(e.pageX <= 0 && e.pageY <= 0)) | |
return this.resetSearch(), | |
t.removeClass(this.el[0], "focus") | |
} | |
, | |
r.prototype.setHandlers = function() { | |
var n = this; | |
return t.on(this.parent.el[0], "click", this.outerClick, this), | |
t.on(t.docObj, "click", this.outerClick, this), | |
this.el.on("click", function(e) { | |
return e.stopPropagation(), | |
setTimeout(function() { | |
return t.addClass(n.el[0], "focus"), | |
n.parent.model.set("view", "search"), | |
n.children.search_query[0].focus() | |
}, 0) | |
}), | |
this.children.searchResult.on("mouseup", function(e) { | |
var i; | |
if (i = t.closest(e.target, "li")) | |
return n.resetSearch(i.getAttribute("data-value")) | |
}), | |
this.el.on("keyup", function(t) { | |
return n.searchHandler(t) | |
}), | |
this.el.on("submit", function(i) { | |
var o, r, s; | |
if (i.preventDefault(), | |
i.stopPropagation(), | |
!t.hasClass(n.el[0], "focus")) | |
return !1; | |
if (n.children.site[0].disabled = !n.children.on_all[0].checked, | |
n.children.on_all[0].checked ? n.el.append(t.create("<input type='hidden' name='all' value='1' />")) : n.children.site[0].disabled = !1, | |
t.globalVars.formAction) | |
if (n.children.on_all[0].checked) | |
n.el.attr("action", "" + e.WIDGET_HOSTNAME + "/search/"), | |
n.children.search_query.attr("name", "q"), | |
n.children.site[0].disabled = !0; | |
else if (t.globalVars.additionalFields) { | |
s = t.globalVars.additionalFields; | |
for (o in s) | |
r = s[o], | |
n.el.append(t.create("<input type='hidden' name='" + o + "' value='" + r + "' />")) | |
} | |
return n.el[0].submit() | |
}) | |
} | |
, | |
r.prototype.selectSearchItem = function(t) { | |
var e, n, i; | |
return i = this.children.searchResult.byClass("selected"), | |
i.length > 0 ? (i.removeClass("selected"), | |
n = i[t]()) : (e = this.children.searchResult.byClass("search-suggest"), | |
n = "prev" === t ? e.last() : e.first()), | |
n.length > 0 ? (this.children.search_query[0].value = n[0].getAttribute("data-value"), | |
n.addClass("selected")) : this.children.search_query[0].value = this.defaultValue || "" | |
} | |
, | |
r.prototype.submitHandler = function(t) { | |
return this.el.trigger("submit") | |
} | |
, | |
r.prototype.searchHandler = function(t) { | |
var e, n; | |
return e = t.keyCode, | |
38 === e || 40 === e ? this.selectSearchItem(40 === e ? "next" : "prev") : 27 === e ? this.resetSearch() : 13 === e ? this.submitHandler(t) : (n = this.getSearchValue(), | |
n ? (this.defaultValue = n, | |
this.loadSuggest(n)) : this.resetSearch()) | |
} | |
, | |
r.prototype.getSearchValue = function() { | |
return this.children.search_query[0].value || "" | |
} | |
, | |
r.prototype.renderSearchSuggest = function(e) { | |
var n; | |
return null == e && (e = {}), | |
n = t.render("search", e), | |
this.children.searchResult.html(n) | |
} | |
, | |
r.prototype.renderSelected = function(t) { | |
var e, n, i, o, r, s; | |
for (e = t, | |
o = this._prevRenderedSelected || [], | |
o && o.length > e.length && (e = o), | |
n = r = 0, | |
s = e.length; r < s; n = ++r) | |
i = e[n], | |
t[n] !== o[n] && (this.iframeDoc.byId(t[n]).addClass("selected"), | |
o[n] && this.iframeDoc.byId(o[n]).removeClass("selected")); | |
return this._prevRenderedSelected = t | |
} | |
, | |
r.prototype.loadSuggest = function(n) { | |
var i, o = this; | |
return !!n && (i = t.extend({ | |
_: (new Date).getTime(), | |
part: n | |
}, e.YANDEX_DATA), | |
this.defLoad && clearTimeout(this.defLoad), | |
this.defLoad = setTimeout(function() { | |
return t.JSONP({ | |
url: e.YANDEX_URL, | |
data: i, | |
success: function(t) { | |
var e, n; | |
return e = t[0], | |
n = t[1], | |
e === o.getSearchValue() && o.renderSearchSuggest({ | |
search: e, | |
suggests: n | |
}) | |
}, | |
complete: function() { | |
return o.defLoad = null | |
} | |
}) | |
}, 300)) | |
} | |
, | |
r.prototype.resetSearch = function(t) { | |
if (this.children.searchResult.empty(), | |
this.children.search_query[0].value = t || "", | |
t) | |
return this.el.trigger("submit") | |
} | |
, | |
r | |
}(t.View) | |
} | |
} | |
, function(t, e) { | |
var n = {}.hasOwnProperty | |
, i = function(t, e) { | |
function i() { | |
this.constructor = t | |
} | |
for (var o in e) | |
n.call(e, o) && (t[o] = e[o]); | |
return i.prototype = e.prototype, | |
t.prototype = new i, | |
t.__super__ = e.prototype, | |
t | |
}; | |
t.exports = function(t, e) { | |
return t.SiteInfoView = function(e) { | |
function n(e) { | |
null == e && (e = {}), | |
this.options = t.extend({}, null != this.options ? this.options : void 0, e), | |
this.options.parent && (this.parent = this.options.parent), | |
n.__super__.constructor.call(this, e) | |
} | |
return i(n, e), | |
n.prototype.initialize = function() { | |
var e = this; | |
return this.createModel(), | |
this.parent.model.on("change:view", this.checkView, this), | |
this.parent.model.on("change:bar_height", function(t) { | |
return e.model.set("top", t) | |
}, this), | |
this.model.on("change:top", this.changePosition, this), | |
this.model.on("change:show", this.toggleView, this), | |
this.information = this.el.byId("information"), | |
this.data = this.parent.data || void 0, | |
this.el_trans = new t.Transition(this.el,{ | |
duration: 200 | |
}) | |
} | |
, | |
n.prototype.createModel = function() { | |
return this.model = new t.Model({ | |
show: !1, | |
top: this.parent.model.get("bar_height") | |
}) | |
} | |
, | |
n.prototype.checkView = function(t) { | |
var e = this; | |
return this.data ? this.model.set("show", "siteinfo" === t) : this.parent.getData(function() { | |
if (e.data = e.parent.data, | |
e.drawSiteInfo(e.getSiteInfo()), | |
"siteinfo" === e.parent.model.get("view")) | |
return e.model.set("show", !0) | |
}) | |
} | |
, | |
n.prototype.changePosition = function(t) { | |
return this.el_trans.animate({ | |
top: "" + t + "px" | |
}) | |
} | |
, | |
n.prototype.toggleView = function(e) { | |
var n, i = this; | |
return n = this.model.get("top"), | |
e === !0 ? (t.removeClass(this.el[0], "hiddenBlock"), | |
this.el_trans.animate({ | |
right: "0px", | |
top: "" + n + "px" | |
})) : this.el_trans.animate({ | |
right: "-100%", | |
top: "" + n + "px" | |
}, function() { | |
return t.addClass(i.el[0], "hiddenBlock") | |
}) | |
} | |
, | |
n.prototype.drawSiteInfo = function(e) { | |
return this.information.html(t.render("siteinfo", e)), | |
this.addHandlers(this.information) | |
} | |
, | |
n.prototype.getSiteInfo = function() { | |
var t, e; | |
return e = this.data.site, | |
t = { | |
site: e, | |
organization: this.data.orgs[e.organization], | |
organization_parent: this.data.orgs[e.organization_parent] | |
} | |
} | |
, | |
n.prototype.addHandlers = function(e) { | |
var n, i; | |
return n = e.byClass("accordion"), | |
n.current = void 0, | |
i = e.byClass("content")[0], | |
t.each(n[0].getElementsByTagName("dt"), function(e) { | |
return t.on(e, "click", function(e) { | |
var o, r, s; | |
return s = function(t) { | |
var e; | |
return t && "dt" === (null != (e = t.tagName) ? e.toLowerCase() : void 0) ? t : !!t.parentNode && arguments.callee(t.parentNode) | |
}(e.target), | |
!(!s || t.hasClass(s, "open")) && (o = t.next(s), | |
r = n.current && t.next(n.current) || void 0, | |
n.current && t.removeClass(n.current, "open"), | |
n.current = s, | |
t.addClass(s, "open"), | |
o.trans || (o.trans = new t.Transition(new t.DomObj(o),{ | |
duration: 200 | |
})), | |
r && !r.trans && (r.trans = new t.Transition(new t.DomObj(r),{ | |
duration: 200 | |
})), | |
o.trans.animate({ | |
height: "" + (o.scrollTop || o.scrollHeight) + "px" | |
}), | |
null != r ? r.trans.animate({ | |
height: "0px" | |
}, function() { | |
return i.scrollHeight !== i.clientHeight ? t.addClass(i, "scrolled") : t.removeClass(i, "scrolled") | |
}) : void 0) | |
}) | |
}), | |
e.byClass("content").on("mouseenter", function(n) { | |
var o; | |
return e = function(n) { | |
return n && t.hasClass(n, "content") ? n : !!n.parentNode && e(n.parentNode) | |
} | |
, | |
o = e(n.target), | |
i.scrollHeight !== i.clientHeight ? t.addClass(o, "scrolled") : t.removeClass(o, "scrolled") | |
}), | |
n.byClass("default")[0].click() | |
} | |
, | |
n | |
}(t.View) | |
} | |
} | |
, function(t, e, n) { | |
t.exports = function(t, e) { | |
var i, o, r, s; | |
r = { | |
css: n(25), | |
dynamic_css: n(24), | |
iframe: n(31), | |
bar: n(26), | |
siteinfo: n(34), | |
full_message: n(30), | |
catalog_categories: n(27), | |
catalog_subcategories: n(29), | |
catalog_sites: n(28), | |
search: n(33), | |
message: n(32) | |
}, | |
s = []; | |
for (i in r) | |
o = r[i], | |
s.push(t.defineTemplate(i, o)); | |
return s | |
} | |
} | |
, function(t, e) { | |
t.exports = function(t) { | |
var e, n; | |
return n = { | |
WIDGET_HOSTNAME: "esir.gov.spb.ru", | |
WIDGET_PROTOCOL: "https", | |
SITE_HOSTNAME: function() { | |
var t; | |
return t = window.location.hostname, | |
0 === t.indexOf("www.") && (t = t.substring(4)), | |
t | |
}(window) | |
}, | |
e = { | |
WIDGET_HOSTNAME: "" + n.WIDGET_PROTOCOL + "://" + n.WIDGET_HOSTNAME, | |
WIDGET_PROTOCOL: n.WIDGET_PROTOCOL, | |
DATA_URL: "/json/data.json", | |
CHECK_URL: "/sites/", | |
INITIAL_BAR_HEIGHT: 50, | |
SITE_HOSTNAME: n.SITE_HOSTNAME, | |
SITE_HOSTNAME_UNICODE: t.punycode.toUnicode(n.SITE_HOSTNAME), | |
WS_HOSTNAME: "" + n.WIDGET_HOSTNAME, | |
NOTIFICATION_HOSTNAME: "" + n.WIDGET_HOSTNAME, | |
STATISTIC_HTML: !1, | |
STATISTIC_URL: "" + n.WIDGET_PROTOCOL + "://" + n.WIDGET_HOSTNAME + "/counter", | |
YANDEX_URL: "https://sitesuggest.yandex.ru/suggest-ya.cgi", | |
YANDEX_DATA: { | |
v: 2, | |
site: "#2211610", | |
usebigdictionary: 1, | |
lang: "ru" | |
} | |
} | |
} | |
} | |
, function(t, e) { | |
var n = [].slice; | |
t.exports = function(t) { | |
return t.Abstract = function() { | |
function t() {} | |
return t.prototype.on = function(t, e, n) { | |
var i; | |
return null == this._events && (this._events = {}), | |
i = this._events[t] || (this._events[t] = []), | |
i.push({ | |
name: t, | |
cb: e, | |
ctx: n || this | |
}), | |
this | |
} | |
, | |
t.prototype.off = function(t, e, n) { | |
var i, o, r, s, a; | |
if (null == this._events) | |
return this; | |
if (null == t && null == e && null == n) | |
return this._events = {}, | |
this; | |
if (o = this._events[t]) { | |
if (e || n) | |
for (this._events[t] = r = [], | |
s = 0, | |
a = o.length; s < a; s++) | |
i = o[s], | |
(e && e !== i.cb || n && n !== i.ctx) && r.push(i); | |
else | |
this._events[t] = []; | |
0 === this._events[t].length && delete this._events[t] | |
} | |
return this | |
} | |
, | |
t.prototype.trigger = function() { | |
var t, e, i, o, r, s, a, l, c; | |
if (r = arguments[0], | |
e = 2 <= arguments.length ? n.call(arguments, 1) : [], | |
null == this._events) | |
return this; | |
if (null != (o = this._events[r]) && "all" !== r) | |
for (s = 0, | |
l = o.length; s < l; s++) | |
i = o[s], | |
i.cb.apply(i.ctx, e); | |
if (null != (t = this._events.all)) | |
for (a = 0, | |
c = t.length; a < c; a++) | |
i = t[a], | |
i.cb.apply(i.ctx, arguments); | |
return this | |
} | |
, | |
t | |
}() | |
} | |
} | |
, function(t, e) { | |
var n = {}.hasOwnProperty | |
, i = function(t, e) { | |
function i() { | |
this.constructor = t | |
} | |
for (var o in e) | |
n.call(e, o) && (t[o] = e[o]); | |
return i.prototype = e.prototype, | |
t.prototype = new i, | |
t.__super__ = e.prototype, | |
t | |
} | |
, o = [].slice; | |
t.exports = function(t) { | |
return t.Collection = function(e) { | |
function n(e) { | |
t.isArray(e) && t.each(e, this.add, this) | |
} | |
return i(n, e), | |
n.prototype._add = function(e) { | |
var n, i, o = this; | |
return n = this.model || t.Model, | |
e.items && (e.items = t.map(e.items, function(t) { | |
return null != e.id && (t.parent = e.id), | |
o._add(t) | |
})), | |
e && e.id && this.get(e.id) ? this.get(e.id).set(e) : (e = new n(e), | |
e.collection = this, | |
i = e.get("id"), | |
e.on("all", function(t, n) { | |
return o._proxyTrigger(e, t, n) | |
}, this), | |
null != i && (this._byId[i] = e), | |
this.models.push(e), | |
this.trigger("add", e)), | |
e | |
} | |
, | |
n.prototype.add = function(e) { | |
var n, i, o; | |
for (null == this.models && (this.models = []), | |
null == this._byId && (this._byId = {}), | |
t.isArray(e) || (e = [e]), | |
i = 0, | |
o = e.length; i < o; i++) | |
n = e[i], | |
this._add(n); | |
return this | |
} | |
, | |
n.prototype.get = function(t) { | |
if (this._byId) | |
return this._byId[t] | |
} | |
, | |
n.prototype._proxyTrigger = function(t, e, n) { | |
return this.trigger(e, t, n) | |
} | |
, | |
n.prototype.toJSON = function() { | |
return t.map(this.models, function(t) { | |
return t.toJSON() | |
}) | |
} | |
, | |
n.prototype.each = function() { | |
var e; | |
return e = 1 <= arguments.length ? o.call(arguments, 0) : [], | |
e.unshift(this), | |
t.each.apply(t, e), | |
this | |
} | |
, | |
n | |
}(t.Abstract) | |
} | |
} | |
, function(t, e) { | |
var n = [].slice; | |
t.exports = function(t) { | |
return t.DomObj = function() { | |
function e(e) { | |
var n = this; | |
null == e && (e = []), | |
(t.isElement(e) || t.isWindow(e) || t.isDocument(e)) && (e = [e]), | |
t.each(e, function(t, e) { | |
return n[e] = t | |
}), | |
this.length = e.length | |
} | |
return e.prototype.first = function() { | |
return this.nth(0) | |
} | |
, | |
e.prototype.last = function() { | |
return this.nth(this.length - 1) | |
} | |
, | |
e.prototype.nth = function(e) { | |
var n; | |
return n = this[e], | |
new t.DomObj(n ? n : []) | |
} | |
, | |
e.prototype.toArray = function() { | |
return t.map(this, function(t) { | |
return t | |
}) | |
} | |
, | |
e.prototype.each = function(e, n) { | |
return t.each.call(t, this, e, n), | |
this | |
} | |
, | |
e | |
}(), | |
t.each(["html", "remove", "empty", "setStyle", "setStyleAttr", "on", "off", "trigger", "addClass", "removeClass", "hasClass"], function(e) { | |
return t.DomObj.prototype[e] = function() { | |
var i; | |
return i = 1 <= arguments.length ? n.call(arguments, 0) : [], | |
this.each(function(n) { | |
return i.unshift(n), | |
t[e].apply(t, i) | |
}), | |
this | |
} | |
}), | |
t.DomObj.prototype.attr = function(e, n) { | |
return null == n ? t.attr.call(t, this[0], e) : (this.each(function(i) { | |
return t.attr.call(t, i, e, n) | |
}), | |
this) | |
} | |
, | |
t.each(["getStyle", "offset"], function(e) { | |
return t.DomObj.prototype[e] = function() { | |
var i; | |
return i = 1 <= arguments.length ? n.call(arguments, 0) : [], | |
i.unshift(this[0]), | |
t[e].apply(t, i) | |
} | |
}), | |
t.each(["append", "prepend"], function(e) { | |
return t.DomObj.prototype[e] = function(n) { | |
return t[e](n, this[0]), | |
this | |
} | |
, | |
t.DomObj.prototype["" + e + "To"] = function(n) { | |
return t[e](this, n), | |
this | |
} | |
}), | |
t.each(["closest", "next", "prev"], function(e) { | |
return t.DomObj.prototype[e] = function() { | |
var i; | |
return i = 1 <= arguments.length ? n.call(arguments, 0) : [], | |
i.unshift(this[0]), | |
new t.DomObj(t[e].apply(t, i)) | |
} | |
}), | |
t.each(["byId", "byClass", "byTag"], function(e) { | |
return t.DomObj.prototype[e] = function(n) { | |
var i; | |
return i = t.map(this, function(i) { | |
return t[e](n, i).toArray() | |
}), | |
new t.DomObj(t.union.apply(t, i)) | |
} | |
}) | |
} | |
} | |
, function(t, e) { | |
var n = {}.hasOwnProperty | |
, i = function(t, e) { | |
function i() { | |
this.constructor = t | |
} | |
for (var o in e) | |
n.call(e, o) && (t[o] = e[o]); | |
return i.prototype = e.prototype, | |
t.prototype = new i, | |
t.__super__ = e.prototype, | |
t | |
}; | |
t.exports = function(t) { | |
return t.JSONP = function(e) { | |
function o(e) { | |
if (!(this instanceof t.JSONP)) | |
return new t.JSONP(e); | |
if (null == e || null == e.url) | |
throw Error("Invalid url param: " + e.url); | |
this._ensureOptions(e), | |
this.send() | |
} | |
return i(o, e), | |
o.prototype.UNIQ_ID = 0, | |
o.prototype.GLOBAL = t.winObj, | |
o.prototype.defaults = { | |
timeout: 15 | |
}, | |
o.prototype._ensureOptions = function(e) { | |
return this.options = t.extend({}, this.defaults, e), | |
null == this.options.callback && (this.options.callback = this.uniq()), | |
null == this.options.data && (this.options.data = {}), | |
this.options.data.callback = this.options.callback, | |
this.options | |
} | |
, | |
o.prototype.send = function() { | |
var e, n, i, o = this; | |
return n = this.createScript(), | |
this.createCallback(), | |
e = this.param(this.options.data), | |
i = this.options.url, | |
"" !== e && (i += "?" + e), | |
this._errorHandler = function() { | |
return o.errorHandler("Error while trying to access the URL") | |
} | |
, | |
this._timeoutHandler = function() { | |
return o.errorHandler("Timeout error") | |
} | |
, | |
t.on(n, "error", this._errorHandler), | |
this.timer = setTimeout(this._timeoutHandler, 1e3 * this.options.timeout), | |
n.setAttribute("src", i), | |
this | |
} | |
, | |
o.prototype.createCallback = function() { | |
var t = this; | |
return this.GLOBAL[this.options.callback] = function(e) { | |
return null == e ? t.errorHandler("Invalid data returned") : t.successHandler(e) | |
} | |
, | |
this | |
} | |
, | |
o.prototype.createScript = function() { | |
var t, e; | |
return t = this.GLOBAL.document, | |
e = t.documentElement || t.body || t.getElementsByTagName("head")[0], | |
this.script = t.createElement("script"), | |
e.appendChild(this.script), | |
this.script | |
} | |
, | |
o.prototype.cleanGarbage = function() { | |
var e; | |
e = this.options.callback, | |
clearTimeout(this.timer), | |
t.off(this.script, "error", this._errorHandler), | |
this.script.parentNode.removeChild(this.script), | |
this.GLOBAL[e] = void 0, | |
this.script = void 0, | |
this.options = void 0; | |
try { | |
delete this.GLOBAL[e], | |
delete this.script, | |
delete this.options | |
} catch (n) {} | |
return this.trigger("cleaned"), | |
!0 | |
} | |
, | |
o.prototype.uniq = function() { | |
return ++this.UNIQ_ID, | |
"jsonp_" + this.UNIQ_ID + (new Date).getTime() | |
} | |
, | |
o.prototype.param = function(t, e) { | |
var i, o, r, s; | |
return null == e && (e = !0), | |
null == t ? "" : (r = function() { | |
var r; | |
r = []; | |
for (i in t) | |
n.call(t, i) && (s = t[i], | |
o = e ? "" + encodeURIComponent(i) + "=" + encodeURIComponent(s) : "" + i + "=" + s, | |
r.push(o)); | |
return r | |
}(), | |
r.join("&").replace(/#/g, "%23")) | |
} | |
, | |
o.prototype.completeHandler = function(t, e) { | |
return this.trigger("complete", t, e), | |
this.options.complete && this.options.complete(t, e), | |
this.cleanGarbage(), | |
this | |
} | |
, | |
o.prototype.errorHandler = function(t) { | |
return this.trigger("error", t), | |
this.options.error && this.options.error(t), | |
this.completeHandler("error", t) | |
} | |
, | |
o.prototype.successHandler = function(t) { | |
return this.trigger("success", t), | |
this.options.success && this.options.success(t), | |
this.completeHandler("success", t) | |
} | |
, | |
o | |
}(t.Abstract) | |
} | |
} | |
, function(t, e) { | |
var n = {}.hasOwnProperty | |
, i = function(t, e) { | |
function i() { | |
this.constructor = t | |
} | |
for (var o in e) | |
n.call(e, o) && (t[o] = e[o]); | |
return i.prototype = e.prototype, | |
t.prototype = new i, | |
t.__super__ = e.prototype, | |
t | |
}; | |
t.exports = function(t) { | |
return t.Model = function(e) { | |
function n(e) { | |
var n; | |
this._previous = {}, | |
n = this.defaults ? t.extend({}, this.defaults, e) : t.extend({}, e), | |
this._attributes = {}, | |
this.set(n, { | |
silent: !0 | |
}) | |
} | |
return i(n, e), | |
n.prototype.set = function(e, n, i) { | |
var o; | |
return null == n && (n = {}), | |
null == i && (i = {}), | |
o = {}, | |
t.isObject(e) ? (i = n, | |
o = e) : o[e] = n, | |
this._set(o, i) | |
} | |
, | |
n.prototype._set = function(e, n) { | |
var i, o, r = this; | |
return i = {}, | |
o = t.reduce(e, function(t, e, n) { | |
return r._attributes[n] !== e && (t = !0, | |
i[n] = e, | |
r._previous[n] = r._attributes[n], | |
r._attributes[n] = e), | |
t | |
}, !1), | |
n.silent !== !0 && o && (t.each(i, function(t, e) { | |
return r.trigger("change:" + e, t) | |
}), | |
o && this.trigger("change", i)), | |
this | |
} | |
, | |
n.prototype.get = function(t) { | |
return this._attributes[t] | |
} | |
, | |
n.prototype.previous = function(t) { | |
return this._previous[t] | |
} | |
, | |
n.prototype.toJSON = function() { | |
var e; | |
return e = t.extend({}, this._attributes), | |
e.items && (e.items = t.map(e.items, function(t) { | |
return t.toJSON() | |
})), | |
e | |
} | |
, | |
n | |
}(t.Abstract) | |
} | |
} | |
, function(t, e) { | |
var n = {}.hasOwnProperty | |
, i = function(t, e) { | |
function i() { | |
this.constructor = t | |
} | |
for (var o in e) | |
n.call(e, o) && (t[o] = e[o]); | |
return i.prototype = e.prototype, | |
t.prototype = new i, | |
t.__super__ = e.prototype, | |
t | |
}; | |
t.exports = function(t) { | |
return t.Transition = function(e) { | |
function n(e, n) { | |
if (null == e) | |
throw Error("invalid elements"); | |
null == e.length && (e = [e]), | |
this.is_animating = !1, | |
this.elements = e, | |
this.options = t.extend({}, this.defaults, n) | |
} | |
return i(n, e), | |
n.prototype.needFallback = !t.support.transitionCss, | |
n.prototype.defaults = { | |
delay: 10, | |
duration: 500 | |
}, | |
n.prototype._valueRE = /(\-?\d+(\.\d+)?)(px|em|%|pt|ex)?/, | |
n.prototype.animate = function(t, e) { | |
return this.needFallback ? this._animateFallback(t, e) : this._animateTransition(t, e), | |
this | |
} | |
, | |
n.prototype.stop = function() { | |
return this.needFallback ? this._stopFallback() : this._stopTransition(), | |
this | |
} | |
, | |
n.prototype._parseValue = function(e, n) { | |
var i, o, r; | |
return "=" === (null != e ? e[1] : void 0) ? (o = "-" === rule[0] || "+" === rule[0], | |
e = e.substring(2)) : o = !1, | |
i = this._valueRE.exec(e), | |
i ? (e = i[1], | |
r = i[3] || null) : r = null, | |
t.isString(e) && (e = parseFloat(e)), | |
{ | |
relative: o, | |
value: e, | |
type: r | |
} | |
} | |
, | |
n.prototype._parseRule = function(e, n) { | |
var i; | |
return n = t.camelCase(n), | |
i = this._parseValue(e, n), | |
{ | |
name: n, | |
value: i.value, | |
type: i.type, | |
relative: i.relative | |
} | |
} | |
, | |
n.prototype._parseCssRules = function(e) { | |
return t.map(e, function(t, e) { | |
return this._parseRule(t, e) | |
}, this) | |
} | |
, | |
n.prototype._getStartRules = function(e) { | |
var n = this; | |
return t.map(this.elements, function(i) { | |
var o; | |
return o = {}, | |
t.each(e, function(e) { | |
return o[e.name] = n._parseRule(t.getStyle(i, e.name), e.name) | |
}), | |
o | |
}) | |
} | |
, | |
n.prototype._setRules = function(e, n, i) { | |
return t.each(this.elements, function(o, r) { | |
var s; | |
return s = n[r], | |
t.each(e, function(e) { | |
var n, r, a; | |
return r = s[e.name], | |
n = e.relative ? e.value * i : -(r.value - e.value) * i, | |
a = r.value + n, | |
t.setStyle(o, e.name, a + (e.type || r.type || "")) | |
}) | |
}), | |
!0 | |
} | |
, | |
n.prototype._stopFallback = function(t) { | |
if (null == t && (t = !1), | |
this.callback) | |
return this.callback(!t) | |
} | |
, | |
n.prototype._animateFallback = function(t, e) { | |
var n, i, o, r, s, a = this; | |
return this._stopFallback(), | |
this.is_animating = !0, | |
this.callback = function(t) { | |
if (clearInterval(s), | |
a.callback = null, | |
a.is_animating = !1, | |
a.trigger("end"), | |
e) | |
return e.call(a, t) | |
} | |
, | |
i = this.options, | |
o = new Date, | |
n = i.duration, | |
t = this._parseCssRules(t), | |
r = this._getStartRules(t), | |
s = setInterval(function() { | |
var e; | |
if (e = (new Date - o) / n, | |
e > 1 && (e = 1), | |
a._setRules(t, r, e), | |
1 === e) | |
return a._stopFallback(!0) | |
}, i.delay), | |
this.trigger("start"), | |
!0 | |
} | |
, | |
n.prototype._addEvent = function() { | |
var e = this; | |
if (null == this.transitionEnd) | |
return this.elements.on(t.support.transitionendEvent, this.transitionEnd = function() { | |
return e._removeEvent(), | |
e._stopTransition(!0) | |
} | |
) | |
} | |
, | |
n.prototype._removeEvent = function() { | |
if (this.transitionEnd) | |
return this.elements.off(t.support.transitionendEvent, this.transitionEnd), | |
this.transitionEnd = null | |
} | |
, | |
n.prototype._stopTransition = function(t) { | |
if (null == t && (t = !1), | |
this.callback) | |
return this.callback(!t) | |
} | |
, | |
n.prototype._animateTransition = function(e, n) { | |
var i, o, r, s = this; | |
return this.is_animating && this._stopTransition(), | |
this.is_animating = !0, | |
i = this.options.duration / 1e3, | |
r = t.map(e, function(t, e) { | |
return "" + e + " " + i + "s linear" | |
}).join(", "), | |
this.callback = function() { | |
return s.callback = null, | |
t.each(s.elements, function(n) { | |
return t.each(e, function(e) { | |
return t.setStyle(n, e.name, t.getStyle(n, e.name)) | |
}), | |
s._removeEvent(), | |
t.setStyle(n, { | |
transition: "none", | |
"-webkit-transition": "none" | |
}) | |
}), | |
n && n.apply(s.elements), | |
s.trigger("end") | |
} | |
, | |
this._addEvent(), | |
e = this._parseCssRules(e), | |
o = this._getStartRules(e), | |
t.each(this.elements, function(e) { | |
return t.setStyle(e, { | |
transition: r, | |
"-webkit-transition": r | |
}) | |
}), | |
this._setRules(e, o, 1), | |
this.trigger("start"), | |
!0 | |
} | |
, | |
n | |
}(t.Abstract) | |
} | |
} | |
, function(t, e) { | |
var n = {}.hasOwnProperty | |
, i = function(t, e) { | |
function i() { | |
this.constructor = t | |
} | |
for (var o in e) | |
n.call(e, o) && (t[o] = e[o]); | |
return i.prototype = e.prototype, | |
t.prototype = new i, | |
t.__super__ = e.prototype, | |
t | |
}; | |
t.exports = function(t) { | |
return t.View = function(e) { | |
function n(e) { | |
null == e && (e = {}), | |
null != e.el && (this.el = e.el instanceof t.DomObj ? e.el : t.DomObj(e.el)), | |
this.delegateEvents(), | |
this.initialize() | |
} | |
return i(n, e), | |
n.prototype.initialize = function() {} | |
, | |
n.prototype.destroy = function() { | |
return this.undelegateEvents(), | |
this.el.remove() | |
} | |
, | |
n.prototype.byId = function(t) { | |
return this.el.byId(t) | |
} | |
, | |
n.prototype.byClass = function(t) { | |
return this.el.byClass(t) | |
} | |
, | |
n.prototype._parseEvent = function(t) { | |
var e; | |
return e = t.split(" "), | |
{ | |
event: e[0], | |
selector: e[1] | |
} | |
} | |
, | |
n.prototype.undelegateEvents = function() { | |
var e, n = this; | |
return null == this._handlers ? this : (e = this._handlers, | |
this._handlers = [], | |
t.each(e, function(e) { | |
var i, o; | |
return o = e, | |
i = o.event, | |
e = o.handler, | |
"mousewheel" === i ? n.el.each(function(n) { | |
return t.off(n.ownerDocument, i, e) | |
}) : n.el.off(i, e) | |
}), | |
this) | |
} | |
, | |
n.prototype.delegateEvents = function(e) { | |
var n = this; | |
return null == e && (e = this.events), | |
null == e ? this : (this._handlers = this._handlers || [], | |
t.each(e, function(e, i) { | |
var o, r, s; | |
return t.isString(e) && (e = n[e]), | |
s = n._parseEvent(i), | |
r = s.selector, | |
i = s.event, | |
o = r ? function(i) { | |
var o; | |
if (o = t.closest(i.target, r, i.currentTarget)) | |
return i.target = o, | |
e.call(n, i) | |
} | |
: function(t) { | |
return e.call(n, t) | |
} | |
, | |
n._handlers.push({ | |
handler: o, | |
event: i | |
}), | |
"mousewheel" === i ? n.el.each(function(e) { | |
return t.on(e.ownerDocument, i, o) | |
}) : n.el.on(i, o) | |
}), | |
this) | |
} | |
, | |
n | |
}(t.Abstract) | |
} | |
} | |
, function(t, e) { | |
t.exports = function(t) { | |
var e, n; | |
return e = t.docObj, | |
n = /([\.$?*|{}\(\)\[\]\\\/\+^])/g, | |
t.setCookie = function(t, e, n) { | |
var i, o, r, s, a; | |
null == n && (n = {}), | |
o = n.expires, | |
"number" == typeof o && o && (i = new Date, | |
i.setTime(i.getTime() + 1e3 * o), | |
o = n.expires = i), | |
o && o.toUTCString && (n.expires = o.toUTCString()), | |
e = encodeURIComponent(e), | |
a = t + "=" + e; | |
for (r in n) | |
a += "; " + r, | |
s = n[r], | |
s && (a += "=" + s); | |
return document.cookie = a, | |
this | |
} | |
, | |
t.getCookie = function(t) { | |
var e; | |
return e = document.cookie.match(new RegExp("(?:^|; )" + t.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, "\\$1") + "=([^;]*)")), | |
e ? decodeURIComponent(e[1]) : void 0 | |
} | |
, | |
t.removeCookie = function(e) { | |
return t.setCookie(e, null, { | |
expires: -1 | |
}) | |
} | |
} | |
} | |
, function(t, e) { | |
t.exports = function(t) { | |
var e, n; | |
return n = t.winObj, | |
e = t.docObj, | |
t.byId = function(n, i) { | |
var o, r, s, a, l; | |
if (null == i && (i = e), | |
null != i.length && (i = i[0]), | |
this.isDocument(i)) | |
r = i.getElementById(n), | |
s = r ? [r] : []; | |
else if (this.isFunction(i.querySelector)) | |
s = [i.querySelector("#" + n)]; | |
else | |
for (o = i.getElementsByTagName("*"), | |
a = 0, | |
l = o.length; a < l; a++) | |
if (r = o[a], | |
r.getAttribute("id") === n) | |
return new t.DomObj([r]); | |
return new t.DomObj(s) | |
} | |
, | |
t.byClass = function(n, i) { | |
var o; | |
return null == i && (i = e), | |
null == i.length && (i = [i]), | |
o = [], | |
t.each(i, function(e) { | |
var i, r, s, a, l, c, h, u, d, p; | |
if (t.isFunction(e.getElementsByClassName)) { | |
for (u = e.getElementsByClassName(n), | |
d = [], | |
a = 0, | |
c = u.length; a < c; a++) | |
r = u[a], | |
d.push(o.push(r)); | |
return d | |
} | |
for (s = new RegExp("(^| )" + n + "( |$)"), | |
i = e.getElementsByTagName("*"), | |
p = [], | |
l = 0, | |
h = i.length; l < h; l++) | |
r = i[l], | |
s.test(r.className) ? p.push(o.push(r)) : p.push(void 0); | |
return p | |
}), | |
new t.DomObj(o) | |
} | |
, | |
t.byTag = function(n, i) { | |
var o; | |
return null == i && (i = e), | |
i.length || (i = [i]), | |
o = [], | |
t.each(i, function(e) { | |
var i, r, s, a, l; | |
if (t.isFunction(e.getElementsByTagName)) { | |
for (a = e.getElementsByTagName(n), | |
l = [], | |
r = 0, | |
s = a.length; r < s; r++) | |
i = a[r], | |
l.push(o.push(i)); | |
return l | |
} | |
}), | |
new t.DomObj(o) | |
} | |
, | |
t.create = function(n) { | |
var i, o, r = this; | |
return o = e.createElement("div"), | |
this.isElement(n) || this.isWindow(n) || this.isDocument(n) ? new t.DomObj(null != n.length ? n : [n]) : (this.isArray(n) ? this.each(n, function(t) { | |
var e; | |
return e = r.create(t), | |
r.append(e, o) | |
}) : this.html(o, "" + n), | |
i = t.map(o.childNodes, function(t) { | |
return r.remove(t), | |
t | |
}), | |
new t.DomObj(i)) | |
} | |
, | |
t.html = function(t, e) { | |
return null != t && (t.innerHTML = e), | |
t | |
} | |
, | |
t.remove = function(t) { | |
return (null != t ? t.parentNode : void 0) && t.parentNode.removeChild(t), | |
t | |
} | |
, | |
t.append = function(e, n) { | |
var i; | |
return null == e ? e : (i = null != e.length ? e : [e], | |
t.each(i, function(t) { | |
return n.appendChild(t) | |
}), | |
e) | |
} | |
, | |
t.prepend = function(t, e) { | |
var n, i, o, r; | |
if (null == t) | |
return t; | |
for (o = null != t.length ? t : [t], | |
i = e.firstChild, | |
r = o.length - 1; r >= 0; r += -1) | |
n = o[r], | |
i ? e.insertBefore(n, i) : (this.append([n], e), | |
i = n); | |
return t | |
} | |
, | |
t.empty = function(e) { | |
var n; | |
return null == e ? e : (n = t.map(e.childNodes, function(t) { | |
return t | |
}), | |
t.each(n, function(t) { | |
return this.remove(t) | |
}, t), | |
e) | |
} | |
, | |
t.next = function(e) { | |
var n; | |
return null == e ? null : (n = e.nextSibling, | |
n && t.isElement(n) ? n : null != n && n.nextSibling ? this.next(n) : null) | |
} | |
, | |
t.prev = function(e) { | |
var n; | |
return null == e ? null : (n = e.previousSibling, | |
n && t.isElement(n) ? n : null != n && n.previousSibling ? this.prev(n) : null) | |
} | |
, | |
t._getFilter = function(e) { | |
var n = this; | |
return e = t.trim(e), | |
"." === e[0] ? (e = e.substr(1), | |
function(t) { | |
return n.hasClass(t, e) | |
} | |
) : "#" === e[0] ? (e = e.substr(1), | |
function(t) { | |
return t.getAttribute("id") === e | |
} | |
) : (e = e.toLowerCase(), | |
function(t) { | |
return t.tagName.toLowerCase() === e | |
} | |
) | |
} | |
, | |
t.closest = function(e, n, i) { | |
return t.isElement(e) ? (t.isString(n) && (n = this._getFilter(n)), | |
n(e) ? e : e === i ? null : null != e.parentNode ? this.closest(e.parentNode, n, i) : null) : null | |
} | |
, | |
t.getStyle = function(n, i) { | |
var o, r, s, a; | |
if (t.isArray(i)) { | |
for (r = {}, | |
s = 0, | |
a = i.length; s < a; s++) | |
o = i[s], | |
r[o] = t.getStyle(n, o); | |
return r | |
} | |
return i = this.support[i] || i, | |
n.style[i] ? n.style[i] : e.defaultView && e.defaultView.getComputedStyle ? e.defaultView.getComputedStyle(n, "").getPropertyValue(i) : n.currentStyle ? (i = i.replace(/\-(\w)/g, function(t, e) { | |
return e.toUpperCase() | |
}), | |
n.currentStyle[i]) : void 0 | |
} | |
, | |
t._setStyle = function(e, n, i) { | |
var o; | |
return o = t.camelCase(n), | |
o = this.support["" + o] || o, | |
e.style[o] = i, | |
!0 | |
} | |
, | |
t.setStyle = function(e, n, i) { | |
return t.isString(n) && null != i ? t._setStyle(e, n, i) : t.each(n, function(n, i) { | |
return t._setStyle(e, i, n) | |
}), | |
e | |
} | |
, | |
t.attr = function(t, e, n) { | |
return null != n ? (t.setAttribute(e, "" + n), | |
this) : t.getAttribute(e) | |
} | |
, | |
t.setStyleAttr = function(e, n, i) { | |
var o; | |
return o = t.map(n, function(t, e) { | |
return "" + e + ":" + t + (i && "display" !== e ? " !important" : "") | |
}).join(";"), | |
null != e.style.cssText ? e.style.cssText = o : e.setAttribute("style", o), | |
e | |
} | |
, | |
t.offset = function(t) { | |
var n, i, o, r, s, a, l, c, h; | |
if (h = 0, | |
a = 0, | |
t.getBoundingClientRect) | |
i = t.getBoundingClientRect(), | |
n = e.body, | |
s = e.documentElement, | |
c = window.pageYOffset || s.scrollTop || n.scrollTop, | |
l = window.pageXOffset || s.scrollLeft || n.scrollLeft, | |
r = s.clientTop || n.clientTop || 0, | |
o = s.clientLeft || n.clientLeft || 0, | |
h = i.top + c - r, | |
a = i.left + l - o; | |
else | |
for (; t; ) | |
h += parseFloat(t.offsetTop, 10), | |
a += parseInt(t.offsetLeft, 10), | |
t = t.offsetParent; | |
return { | |
top: h, | |
left: a | |
} | |
} | |
, | |
t.hasClass = function(e, n) { | |
var i, o; | |
return null != e && (t.isFunction(null != (o = e.classList) ? o.contains : void 0) ? e.classList.contains(n) : (i = new RegExp("(^|\\s)" + n + "(\\s|$)","g"), | |
i.test(e.className))) | |
} | |
, | |
t.addClass = function(e, n) { | |
var i; | |
return null == e ? e : (t.isFunction(null != e && null != (i = e.classList) ? i.add : void 0) ? e.classList.add(n) : this.hasClass(e, n) || (e.className = t.trim(("" + e.className + " " + n).replace(/\s+/g, " "))), | |
e) | |
} | |
, | |
t.removeClass = function(e, n) { | |
var i, o; | |
return null == e ? e : (t.isFunction(null != e && null != (o = e.classList) ? o.remove : void 0) ? e.classList.remove(n) : (i = new RegExp("(^|\\s)" + n + "(\\s|$)","g"), | |
e.className = e.className.replace(i, "$1").replace(/\s+/g, " ").replace(/(^ | $)/g, "")), | |
e) | |
} | |
, | |
t.getScrollBarWidth = function(n) { | |
var i, o, r; | |
return n ? (i = function(i) { | |
var o, r; | |
return null == i && (i = "hidden"), | |
r = t.create(e.createElement("div")), | |
o = t.create(e.createElement("div")), | |
o[0].innerText = "TEXT inner: " + i, | |
r.setStyle({ | |
position: "fixed", | |
top: "-1000px", | |
left: "-1000px", | |
width: "200px", | |
height: "150px", | |
overflow: i, | |
padding: "0px", | |
margin: "0px" | |
}), | |
o.setStyle({ | |
width: "100%", | |
height: "200px", | |
position: "relative", | |
padding: "0px", | |
margin: "0px", | |
display: "block" | |
}), | |
r.append(o), | |
n.append ? n.append(r) : r.appendTo(n), | |
o | |
} | |
, | |
this.__scrollBarWidth || (this.__scrollBarWidth = {}, | |
this.__scrollBarWidth.hidden = i(), | |
this.__scrollBarWidth.scroll = i("scroll")), | |
o = this.__scrollBarWidth.hidden[0].offsetWidth, | |
r = this.__scrollBarWidth.scroll[0].offsetWidth, | |
o - r) : -1 | |
} | |
} | |
} | |
, function(t, e) { | |
var n = {}.hasOwnProperty; | |
t.exports = function(t) { | |
var e, i, o, r; | |
return r = t.winObj, | |
i = t.docObj, | |
o = 0, | |
e = function(e) { | |
var n; | |
return e = new t.Event(e,e.currentTarget || this), | |
n = this._widgetEvents[e.type], | |
t.each(n, function(t) { | |
var n; | |
if (n = t.call(this, e), | |
n === !1) | |
return e.preventDefault(), | |
e.stopPropagation() | |
}) | |
} | |
, | |
t.on = function(n, i, r) { | |
return i = t.support["" + i + "Event"] || i, | |
n.setInterval && n !== window && !n.frameElement && (n = window), | |
r.guid || (r.guid = ++o), | |
n._widgetEvents || (n._widgetEvents = {}, | |
n._widgetHandle = function(t) { | |
return e.call(n, t) | |
} | |
), | |
n._widgetEvents[i] || (n._widgetEvents[i] = {}, | |
n.addEventListener ? n.addEventListener(i, n._widgetHandle, !1) : n.attachEvent ? n.attachEvent("on" + i, n._widgetHandle) : n["on" + i] = n._widgetHandle), | |
n._widgetEvents[i][r.guid] = r, | |
this | |
} | |
, | |
t.off = function(e, i, o) { | |
var r, s, a, l; | |
if (i = t.support["" + i + "Event"] || i, | |
a = e._widgetEvents && e._widgetEvents[i], | |
!a) | |
return this; | |
delete a[o.guid]; | |
for (r in a) | |
if (n.call(a, r)) | |
return this; | |
e.removeEventListener ? e.removeEventListener(i, e._widgetHandle, !1) : e.detachEvent && e.detachEvent("on" + i, e._widgetHandle), | |
delete e._widgetEvents[i], | |
l = e._widgetEvents; | |
for (r in l) | |
if (n.call(l, r)) | |
return this; | |
try { | |
delete e._widgetHandle, | |
delete e._widgetEvents | |
} catch (c) { | |
s = c; | |
try { | |
e.removeAttribute("_widgetHandle"), | |
e.removeAttribute("_widgetEvents") | |
} catch (c) { | |
s = c, | |
e._widgetHandle = null, | |
e._widgetEvents = null | |
} | |
} | |
return this | |
} | |
, | |
t.trigger = function(t, e) { | |
var n; | |
return i.createEvent ? (n = document.createEvent("HTMLEvents"), | |
n.initEvent(e, !0, !0)) : (n = document.createEventObject(), | |
n.eventType = e), | |
n.eventName = e, | |
i.createEvent ? t.dispatchEvent(n) : t.fireEvent("on" + e, n), | |
this | |
} | |
, | |
t.domReady = function() { | |
var e, n, o, s, a, l, c; | |
if (e = [], | |
o = !1, | |
n = null, | |
l = function() { | |
return t.each(e, function(t) { | |
return t(i) | |
}), | |
e = [] | |
} | |
, | |
a = function() { | |
if (!o) | |
return o = !0, | |
n && clearInterval(n), | |
l(), | |
t.off(r, "load", a), | |
t.off(i, "DOMContentLoaded", a) | |
} | |
, | |
i.addEventListener) | |
t.on(i, "DOMContentLoaded", a); | |
else { | |
c = document.createElement("div"); | |
try { | |
s = null === r.frameElement | |
} catch (h) {} | |
c.doScroll && s && r.external && (n = setInterval(function() { | |
try { | |
return c.doScroll(), | |
a() | |
} catch (t) {} | |
}, 30)) | |
} | |
return t.on(r, "load", a), | |
"complete" === i.readyState && (o = !0), | |
function(t) { | |
return o ? t(i) : e.push(t), | |
this | |
} | |
}(), | |
t.Event = function() { | |
function e(t, e) { | |
this.original = t || window.event, | |
this.ensureEvent(this.original, e) | |
} | |
return e.prototype.preventDefault = function() { | |
return this.original.preventDefault ? this.original.preventDefault() : this.original.returnValue = !1 | |
} | |
, | |
e.prototype.stopPropagation = function() { | |
return this.original.stopPropagation ? this.original.stopPropagation() : this.original.cancelBubble = !0 | |
} | |
, | |
e.prototype.ensureEvent = function(e, n) { | |
var i, o, r; | |
if (o = t.docObj.documentElement, | |
i = t.docObj.body, | |
n && (this.currentTarget = n), | |
this.type = e.type, | |
this.target = e.target || e.srcElement, | |
this.keyCode = e.keyCode, | |
null != e.pageX && null != e.clientX ? (r = null != (null != o ? o.scrollLeft : void 0) ? o : i, | |
this.pageX = e.clientX + r.scrollLeft || 0 - ((null != o ? o.clientLeft : void 0) || 0), | |
this.pageY = e.clientY + r.scrollTop || 0 - ((null != o ? o.clientTop : void 0) || 0)) : (this.pageX = e.pageX, | |
this.pageY = e.pageY), | |
this.delta = (e.detail || -e.wheelDelta) > 0 ? 1 : -1, | |
e.which || !e.button) | |
return this.which = e.which; | |
switch (e.button) { | |
case 1: | |
return this.which = 1; | |
case 2: | |
return this.which = 3; | |
case 4: | |
return this.which = 2; | |
default: | |
return this.which = 0 | |
} | |
} | |
, | |
e | |
}() | |
} | |
} | |
, function(t, e) { | |
t.exports = function(t) { | |
var e, n, i, o, r, s, a, l, c, h, u; | |
for (l = t.winObj, | |
i = t.docObj, | |
e = i.body || i.documentElement, | |
r = e.style, | |
s = t.support = {}, | |
a = ["Moz", "Webkit", "Khtml", "O", "ms"], | |
n = function(e) { | |
var n, i, s; | |
if (t.isString(r[e])) | |
return e; | |
for (n = t.camelCase(o, !1), | |
n = n.charAt(0).toUpperCase() + n.substr(1), | |
s = a.length - 1; s >= 0; s += -1) | |
if (i = a[s], | |
e = i + n, | |
t.isString(r[e])) | |
return e; | |
return !1 | |
} | |
, | |
u = ["transition", "opacity", "filter", "border-radius", "box-shadow", "box-sizing", "transform"], | |
c = 0, | |
h = u.length; c < h; c++) | |
o = u[c], | |
s["" + t.camelCase(o) + "Css"] = n(o); | |
return s.transitionendEvent = function() { | |
var t; | |
return t = { | |
transition: "transitionend", | |
OTransition: "oTransitionEnd", | |
MozTransition: "transitionend", | |
KhtmlTransition: "webkitTransitionEnd", | |
WebkitTransition: "webkitTransitionEnd" | |
}, | |
i.addEventListener ? t[s.transitionCss] || null : null | |
}(), | |
s.mousewheelEvent = function() { | |
return i.addEventListener ? void 0 !== i.wheel ? "onwheel" : void 0 !== i.onmousewheel ? "mousewheel" : "MozMousePixelScroll" : "mousewheel" | |
}() | |
} | |
} | |
, function(t, e) { | |
t.exports = function(t) { | |
return t.render = function(t, e) { | |
if (null == e && (e = {}), | |
null == this._templates) | |
throw Error("Templates register is empty"); | |
if (null == this._templates[t]) | |
throw Error("Template not found: " + t); | |
return this._templates[t].call(this, e) | |
} | |
, | |
t.defineTemplate = function(t, e) { | |
return null == this._templates && (this._templates = {}), | |
this._templates[t] = e, | |
this | |
} | |
} | |
} | |
, function(t, e, n) { | |
var i = {}.hasOwnProperty | |
, o = [].slice; | |
t.exports = function(t) { | |
var e, n, r, s, a, l, c, h, u, d, p, m, g, C, f, b, v, w, A, D, y, E, x, F, k; | |
return s = {}, | |
f = t.winObj = window, | |
t.docObj = t.winObj.document, | |
e = f.Array.prototype, | |
n = f.Object.prototype, | |
r = f.String.prototype, | |
C = r.trim, | |
h = n.hasOwnProperty, | |
g = n.toString, | |
m = e.slice, | |
u = e.forEach, | |
d = e.indexOf, | |
p = e.isArray, | |
v = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, | |
E = /^[\],:{}\s]*$/, | |
x = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, | |
F = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, | |
y = /(?:^|:|,)(?:\s*\[)+/g, | |
c = function(t, e) { | |
return e.toUpperCase() | |
} | |
, | |
A = /^-ms-/, | |
w = /-([\da-z])/gi, | |
a = t.each = function(t, e, n) { | |
var o, r, s, a; | |
if (null == t) | |
return !1; | |
if (u && t.forEach === u) | |
t.forEach(e, n); | |
else if (t.length === +t.length) | |
for (o = s = 0, | |
a = t.length; s < a; o = ++s) | |
r = t[o], | |
e.call(n, r, o, t); | |
else | |
for (o in t) | |
i.call(t, o) && (r = t[o], | |
e.call(n, r, o, t)); | |
return !0 | |
} | |
, | |
b = function(t) { | |
var e; | |
for (e in t) | |
this[e] = t[e]; | |
return this | |
} | |
, | |
l = t.extend = function() { | |
var t, e; | |
return e = arguments[0], | |
t = 2 <= arguments.length ? o.call(arguments, 1) : [], | |
a(t, b, e), | |
e | |
} | |
, | |
t.parseData = function(t) { | |
try { | |
switch (t) { | |
case "true" === t: | |
return !0; | |
case "false" === t: | |
return !1; | |
case "null" === t: | |
return null; | |
case t = +t + "": | |
return +t; | |
case v.test(t): | |
return this.parseJSON(t); | |
default: | |
return t | |
} | |
} catch (e) {} | |
} | |
, | |
null == C || C.call("\ufeff ") ? (k = "[\\x20\\t\\r\\n\\f]", | |
D = new RegExp("^" + k + "+|((?:^|[^\\\\])(?:\\\\.)*)" + k + "+$","g"), | |
t.trim = function(t) { | |
return null == t ? "" : (t + "").replace(D, "") | |
} | |
) : t.trim = function(t) { | |
return null == t ? "" : C.call(t) | |
} | |
, | |
null != f.JSON ? t.parseJSON = function(t) { | |
return f.JSON.parse(t) | |
} | |
: t.parseJSON = function(t) { | |
if (!this.isString(t)) | |
return null; | |
if (t = this.trim(t), | |
E.test(t.replace(x, "@").replace(F, "]").replace(y, ""))) | |
return new Function("return " + t)(); | |
throw "Invalid JSON: " + t | |
} | |
, | |
a(["Arguments", "Function", "String", "Number", "Date", "RegExp"], function(e) { | |
return t["is" + e] = function(t) { | |
return g.call(t) === "[object " + e + "]" | |
} | |
}), | |
t.isFunction = function(t) { | |
return "function" == typeof t | |
} | |
, | |
function() { | |
if (!t.isArguments(arguments)) | |
return t.isArguments = function(t) { | |
return !(!t || !h.call(t, "callee")) | |
} | |
}(), | |
t.isArray = p || function(t) { | |
return "[object Array]" === g.call(t) | |
} | |
, | |
l(t, { | |
redirect: function(e) { | |
return t.winObj.location = e, | |
!0 | |
}, | |
map: function(e, n, i) { | |
var o; | |
return t.isFunction(e.map) ? o = e.map(n, i) : (o = [], | |
this.each(e, function() { | |
return o.push(n.apply(i, arguments)) | |
}, i)), | |
o | |
}, | |
reduce: function(e, n, i) { | |
return null == i && (i = []), | |
t.isFunction(e.reduce) ? i = e.reduce(n, i) : this.each(e, function(t, e) { | |
return i = n.call(i, i, t, e) | |
}), | |
i | |
}, | |
escapeAttrs: function(t, e) { | |
return e = null != e ? e : { | |
" ": "\n" | |
}, | |
("" + t).replace(/&/g, "&").replace(/'/g, "'").replace(/"/g, """).replace(/</g, "<").replace(/>/g, ">").replace(/\r\n/g, e).replace(/[\r\n]/g, e) | |
}, | |
union: function() { | |
var t, n; | |
return n = arguments[0], | |
t = 2 <= arguments.length ? o.call(arguments, 1) : [], | |
null != n ? e.concat.apply(n, t) : [] | |
}, | |
indexOf: function(t, e) { | |
var n, i, o, r; | |
if (null == t) | |
return -1; | |
if (d && t.indexOf === d) | |
return t.indexOf(e); | |
for (n = i = 0, | |
r = t.length; i < r; n = ++i) | |
if (o = t[n], | |
o === e) | |
return n; | |
return -1 | |
}, | |
camelCase: function(t, e) { | |
var n; | |
return null == e && (e = !0), | |
s[t] && e ? s[t] : this.isString(t) ? (n = t.replace(A, "ms-").replace(w, c), | |
e && (s[t] = n), | |
n) : "" | |
}, | |
isWindow: function(t) { | |
return null != t && t === t.window | |
}, | |
isDocument: function(t) { | |
return null != t && "undefined" != typeof t.nodeType && 9 === t.nodeType | |
}, | |
isObject: function(t) { | |
return t === Object(t) | |
}, | |
isElement: function(t) { | |
return null != t && "undefined" != typeof t.nodeType && 1 === t.nodeType | |
}, | |
isNan: function(t) { | |
return this.isNumber(t) && t !== +t | |
}, | |
isBoolean: function(t) { | |
return t === !0 || t === !1 | |
}, | |
isNativeFunction: function(t) { | |
return !(!this.isFunction(t) || !this.isFunction(t.toString)) && t.toString().indexOf("[native code]") > -1 | |
}, | |
btoa: function(t) { | |
var e; | |
if (e = "function" == typeof window.btoa ? window.btoa(t) : void 0) | |
return e; | |
var n, i, o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", r = String(t), s = 0; | |
for (e = "", | |
map = o; r.charAt(0 | s) || (map = "=", | |
s % 1); e += map.charAt(63 & n >> 8 - s % 1 * 8)) { | |
if (i = r.charCodeAt(s += .75), | |
i > 255) | |
throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range."); | |
n = n << 8 | i | |
} | |
return e | |
}, | |
atob: function(t) { | |
var e; | |
if (e = "function" == typeof window.atob ? window.atob(t) : void 0) | |
return e; | |
var n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" | |
, i = String(t).replace(/=+$/, ""); | |
if (i.length % 4 == 1) | |
throw new Error("'atob' failed: The string to be decoded is not correctly encoded."); | |
for (var o, r, s = 0, a = 0, e = ""; r = i.charAt(a++); ~r && (o = s % 4 ? 64 * o + r : r, | |
s++ % 4) ? e += String.fromCharCode(255 & o >> (-2 * s & 6)) : 0) | |
r = n.indexOf(r); | |
return e | |
}, | |
encodeHTML: function(t) { | |
var e, n; | |
return e = { | |
"&": "&", | |
"<": "<", | |
">": ">", | |
'"': """, | |
"'": "'", | |
"/": "/" | |
}, | |
n = /&(?!#?\w+;)|<|>|"|'|\//g, | |
t ? t.toString().replace(n, function(t) { | |
return e[t] || t | |
}) : "" | |
} | |
}) | |
} | |
} | |
, function(t, e) { | |
t.exports = function() { | |
var t = function(t) { | |
var e = ".column .content{overflow-y:" + (t.scrollBarWidth <= 0 ? "scroll" : "hidden") + "}.column .content .header,.column .content .body{padding-right:40px}.column .content.scrolled:hover .header,.column .content.scrolled:hover .body{padding-right:" + Math.max(40 - t.scrollBarWidth, 0) + "px}"; | |
return e | |
}; | |
return t.render = t, | |
t | |
}() | |
} | |
, function(t, e) { | |
t.exports = function() { | |
var t = function(t) { | |
var e = '*{margin:0;padding:0;border:0;font-weight:normal;font-style:normal;line-height:inherit;font-family:inherit}table,tr,th,td{border-collapse:collapse;border-spacing:0}ol,ul{list-style:none}q:before,q:after,blockquote:before,blockquote:after{content:""}html{-webkit-text-size-adjust:none;-ms-text-size-adjust:none}html,body{height:100%;background:transparent;line-height:1;margin:0;padding:0;border:0 none}body{overflow:hidden;position:relative;color:#333;font:15px/20px Verdana,"DejaVu Sans",sans-serif}* ::-webkit-input-placeholder{color:#bcbcbc}* :-moz-placeholder{color:#bcbcbc}* ::-moz-placeholder{color:#bcbcbc}* :-ms-input-placeholder{color:#bcbcbc}#underlay{background:#333333;opacity:0;position:absolute;left:0;top:0;z-index:1;width:100%;height:100%;-webkit-transition:.2s ease-in-out;-moz-transition:.2s ease-in-out;transition:.2s ease-in-out}h1{font:28px/35px Verdana,"DejaVu Sans",sans-serif}h2{font:18px/25px Verdana,"DejaVu Sans",sans-serif}h3{font:16px/22px Verdana,"DejaVu Sans",sans-serif}h4{font:13px/15px Verdana,"DejaVu Sans",sans-serif}h1,h2,h3,p{margin:0 0 20px 0}#main{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;min-width:300px;z-index:10}#message{position:relative;z-index:2;clear:both}#message .messageColumn{height:30px;background:#d1351a;color:#fff;cursor:pointer;overflow:hidden;text-align:left}#message .messageColumn:hover{background:#9D2A23}#message .messageColumn:hover .msg-helper{background-color:#d1351a}#message .messageColumn .content{position:relative;overflow:hidden;white-space:nowrap;font-size:13px;line-height:13px;height:13px;top:8px;text-indent:100%}#message .messageColumn .msg-helper{float:left;height:30px;background:#9d2a23;color:#fff;padding:0 15px;line-height:30px;text-indent:0;font-size:13px}#message .messageColumn .msg-helper--audio{background:#9d2a23 url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%20standalone%3D%22no%22%3F%3E%0A%3Csvg%0A%20%20%20xmlns%3Adc%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%22%0A%20%20%20xmlns%3Acc%3D%22http%3A%2F%2Fcreativecommons.org%2Fns%23%22%0A%20%20%20xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22%0A%20%20%20xmlns%3Asvg%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20%20height%3D%22100%25%22%0A%20%20%20width%3D%22100%25%22%0A%20%20%20version%3D%221.1%22%0A%20%20%20id%3D%22svg2%22%0A%20%20%20viewBox%3D%220%20-256%201792%201792%22%3E%0A%20%20%3Cmetadata%0A%20%20%20%20%20id%3D%22metadata12%22%3E%0A%20%20%20%20%3Crdf%3ARDF%3E%0A%20%20%20%20%20%20%3Ccc%3AWork%0A%20%20%20%20%20%20%20%20%20rdf%3Aabout%3D%22%22%3E%0A%20%20%20%20%20%20%20%20%3Cdc%3Aformat%3Eimage%2Fsvg%2Bxml%3C%2Fdc%3Aformat%3E%0A%20%20%20%20%20%20%20%20%3Cdc%3Atype%0A%20%20%20%20%20%20%20%20%20%20%20rdf%3Aresource%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Fdcmitype%2FStillImage%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3Cdc%3Atitle%3E%3C%2Fdc%3Atitle%3E%0A%20%20%20%20%20%20%3C%2Fcc%3AWork%3E%0A%20%20%20%20%3C%2Frdf%3ARDF%3E%0A%20%20%3C%2Fmetadata%3E%0A%20%20%3Cdefs%0A%20%20%20%20%20id%3D%22defs10%22%20%2F%3E%0A%20%20%3Cg%0A%20%20%20%20%20id%3D%22g4%22%0A%20%20%20%20%20transform%3D%22matrix(1%2C0%2C0%2C-1%2C53.152542%2C1285.4237)%22%3E%0A%20%20%20%20%3Cpath%0A%20%20%20%20%20%20%20style%3D%22fill%3A%23ffffff%22%0A%20%20%20%20%20%20%20id%3D%22path6%22%0A%20%20%20%20%20%20%20d%3D%22M%20768%2C1184%20V%2096%20Q%20768%2C70%20749%2C51%20730%2C32%20704%2C32%20678%2C32%20659%2C51%20L%20326%2C384%20H%2064%20Q%2038%2C384%2019%2C403%200%2C422%200%2C448%20v%20384%20q%200%2C26%2019%2C45%2019%2C19%2045%2C19%20h%20262%20l%20333%2C333%20q%2019%2C19%2045%2C19%2026%2C0%2045%2C-19%2019%2C-19%2019%2C-45%20z%20m%20384%2C-544%20q%200%2C-76%20-42.5%2C-141.5%20Q%201067%2C433%20997%2C405%20q%20-10%2C-5%20-25%2C-5%20-26%2C0%20-45%2C18.5%20-19%2C18.5%20-19%2C45.5%200%2C21%2012%2C35.5%2012%2C14.5%2029%2C25%2017%2C10.5%2034%2C23%2017%2C12.5%2029%2C35.5%2012%2C23%2012%2C57%200%2C34%20-12%2C57%20-12%2C23%20-29%2C35.5%20-17%2C12.5%20-34%2C23%20-17%2C10.5%20-29%2C25%20-12%2C14.5%20-12%2C35.5%200%2C27%2019%2C45.5%2019%2C18.5%2045%2C18.5%2015%2C0%2025%2C-5%2070%2C-27%20112.5%2C-93%2042.5%2C-66%2042.5%2C-142%20z%20m%20256%2C0%20Q%201408%2C487%201323%2C357.5%201238%2C228%201098%2C169%20q%20-13%2C-5%20-25%2C-5%20-27%2C0%20-46%2C19%20-19%2C19%20-19%2C45%200%2C39%2039%2C59%2056%2C29%2076%2C44%2074%2C54%20115.5%2C135.5%2041.5%2C81.5%2041.5%2C173.5%200%2C92%20-41.5%2C173.5%20Q%201197%2C895%201123%2C949%20q%20-20%2C15%20-76%2C44%20-39%2C20%20-39%2C59%200%2C26%2019%2C45%2019%2C19%2045%2C19%2013%2C0%2026%2C-5%20140%2C-59%20225%2C-188.5%2085%2C-129.5%2085%2C-282.5%20z%20m%20256%2C0%20Q%201664%2C410%201537%2C217.5%201410%2C25%201199%2C-66%20q%20-13%2C-5%20-26%2C-5%20-26%2C0%20-45%2C19%20-19%2C19%20-19%2C45%200%2C36%2039%2C59%207%2C4%2022.5%2C10.5%2015.5%2C6.5%2022.5%2C10.5%2046%2C25%2082%2C51%20123%2C91%20192%2C227%2069%2C136%2069%2C289%200%2C153%20-69%2C289%20-69%2C136%20-192%2C227%20-36%2C26%20-82%2C51%20-7%2C4%20-22.5%2C10.5%20-15.5%2C6.5%20-22.5%2C10.5%20-39%2C23%20-39%2C59%200%2C26%2019%2C45%2019%2C19%2045%2C19%2013%2C0%2026%2C-5%20211%2C-91%20338%2C-283.5%20Q%201664%2C870%201664%2C640%20z%22%20%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") no-repeat 15px center;background-size:16px;padding-left:35px}#message .messageColumn .msg{display:inline-block;line-height:13px;text-indent:0}#bar{z-index:1000;position:relative;border-bottom:1px solid #d3dae0;color:#4A5C6A;background:#E1E6EB;background-image:-moz-linear-gradient(top, #EDF1F5 0, #E6EBF0 45%, #E1E6EB 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #EDF1F5), color-stop(45%, #E6EBF0), color-stop(100%, #E1E6EB));background-image:-webkit-linear-gradient(top, #EDF1F5 0, #E6EBF0 45%, #E1E6EB 100%);background-image:-o-linear-gradient(top, #EDF1F5 0, #E6EBF0 45%, #E1E6EB 100%);background-image:-ms-linear-gradient(top, #EDF1F5 0, #E6EBF0 45%, #E1E6EB 100%);background-image:linear-gradient(to bottom, #EDF1F5 0, #E6EBF0 55%, #E1E6EB 100%)}#bar:after{display:block;clear:both;content:""}#bar .centerColumn .content,#bar .leftColumn .content,#bar .rightColumn .content{height:49px}#bar .centerWrapper{float:left;width:100%}@media (min-width:1400px){#bar .centerWrapper{width:980px;position:relative;z-index:1500;float:none;margin:0 auto;background:#E1E6EB;background-image:-moz-linear-gradient(top, #EDF1F5 0, #E6EBF0 45%, #E1E6EB 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #EDF1F5), color-stop(45%, #E6EBF0), color-stop(100%, #E1E6EB));background-image:-webkit-linear-gradient(top, #EDF1F5 0, #E6EBF0 45%, #E1E6EB 100%);background-image:-o-linear-gradient(top, #EDF1F5 0, #E6EBF0 45%, #E1E6EB 100%);background-image:-ms-linear-gradient(top, #EDF1F5 0, #E6EBF0 45%, #E1E6EB 100%);background-image:linear-gradient(to bottom, #EDF1F5 0, #E6EBF0 55%, #E1E6EB 100%)}}#bar .centerWrapper .centerColumn{color:white;border-style:solid;border-color:#d3dae0;border-width:0 1px;margin:0 210px 0 210px}@media (max-width:1000px){#bar .centerWrapper .centerColumn{margin:0 120px 0 49px}}@media (min-width:1400px){#bar .centerWrapper .centerColumn{margin:0 auto;max-width:978px}}#bar .centerWrapper .centerColumn #search *{outline:0 none}#bar .centerWrapper .centerColumn #search .search-input{display:block;margin:0 118px 0 39px;padding-right:10px;position:relative}#bar .centerWrapper .centerColumn #search .search-input input{width:100%;height:49px;background:transparent;border:0 none;font:15px/20px Verdana,"DejaVu Sans",sans-serif;position:relative;z-index:10}#bar .centerWrapper .centerColumn #search .search-input input#search_placeholder{position:absolute;z-index:5;color:#cccccc;left:0;top:0}@media (max-width:1000px){#bar .centerWrapper .centerColumn #search .search-input{margin-right:0}}#bar .centerWrapper .centerColumn #search .search-input .search-input-icon{display:block;width:39px;font-size:18px;color:#4F555D;text-align:center;vertical-align:middle;line-height:49px;float:left;height:49px;margin-left:-39px}#bar .centerWrapper .centerColumn #search .search-input .search-input-icon>*{display:inline-block;vertical-align:middle}#bar .centerWrapper .centerColumn #search .checkbox{display:none}#bar .centerWrapper .centerColumn #search button{float:right;margin-right:7px;margin-top:-42px;text-align:center;font-size:15px;color:#ffffff;vertical-align:middle;line-height:35px;height:35px;width:111px;background:#b5b9c0}@media (max-width:1000px){#bar .centerWrapper .centerColumn #search button{display:none}}#bar .centerWrapper .centerColumn #search.focus{cursor:default;background-color:#FFFFFF}#bar .centerWrapper .centerColumn #search.focus .search-input{margin-right:300px}#bar .centerWrapper .centerColumn #search.focus .search-input .search-input-icon{color:#D12A18}#bar .centerWrapper .centerColumn #search.focus .checkbox{display:block;float:right;vertical-align:middle;line-height:35px;height:35px;width:180px;margin-top:-42px;margin-right:120px;font-size:11px;color:#868686}#bar .centerWrapper .centerColumn #search.focus .checkbox input{position:relative;top:2px;margin-right:3px}#bar .centerWrapper .centerColumn #search.focus button{background:#4f555d;display:block;cursor:pointer}@media (max-width:600px){#bar .centerWrapper .centerColumn #search.focus button,#bar .centerWrapper .centerColumn #search.focus .checkbox{display:none}#bar .centerWrapper .centerColumn #search.focus .search-input{margin-right:0}}#bar .centerWrapper .centerColumn #search .search-result{background:#fff;color:#000}#bar .centerWrapper .centerColumn #search .search-result ul li{margin:0;padding:5px 10px;cursor:pointer}#bar .centerWrapper .centerColumn #search .search-result ul li:hover,#bar .centerWrapper .centerColumn #search .search-result ul li.selected{background:#EDF1F5}#bar .rightColumn .content,#bar .leftColumn .content{font:11px/13px Verdana,"DejaVu Sans",sans-serif;cursor:pointer}#bar .rightColumn .content span,#bar .leftColumn .content span{display:block;padding:4px 10px 0;letter-spacing:-0.03em}#bar .leftColumn{float:left;margin-left:-100%;overflow:hidden;width:210px}#bar .leftColumn .content{background:transparent no-repeat 10px center}#bar .leftColumn .content span{display:block;padding-left:50px;padding-right:0}@media (max-width:1000px){#bar .leftColumn{width:49px}#bar .leftColumn .content{background-position:center center}#bar .leftColumn span{display:none}}#bar .rightColumn{float:left;margin-left:-210px;width:210px}#bar .rightColumn .content .alt{display:none}@media (max-width:1000px){#bar .rightColumn{width:120px;margin-left:-120px}#bar .rightColumn .content .alt{display:block;font:13px/49px Verdana,"DejaVu Sans",sans-serif;vertical-align:middle;padding:0 10px;text-align:center}#bar .rightColumn .content .main{display:none}}#bar .leftColumn:hover,#bar .rightColumn:hover,#bar #search:hover{background-color:#edf1f5;cursor:pointer}@media (min-width:1400px){#bar .leftColumn,#bar .rightColumn{position:absolute;top:0;width:40%;z-index:500;margin:0;float:none}#bar .leftColumn .content,#bar .rightColumn .content{width:210px}}@media (min-width:1400px){#bar .leftColumn{left:0}}@media (min-width:1400px){#bar .rightColumn{right:0}#bar .rightColumn .content{float:right}}.column{width:479px;overflow:hidden;height:100%;position:absolute;background:#FFFFFF;float:left;border:0 solid #646A71;border-right-width:1px;margin:0 0 0 50px;z-index:5000}@media (max-width:1000px){.column{margin-left:0}}.column .extra-head{padding:0 40px;height:70px;font-size:0;line-height:70px;vertical-align:middle;background:#4F555D no-repeat right center;color:#FFFFFF;overflow:hidden;position:relative;z-index:1}.column .extra-head .extra-head-content{vertical-align:middle;display:inline-block;margin-right:20px}.column .extra-head h2{margin:0;padding:0;line-height:25px}@media (max-width:600px){.column .extra-head h2{font-size:15px;line-height:20px}}@media (max-width:350px){.column .extra-head h2{font-size:11px;line-height:18px}}.column .extra-head h2 a{color:#FFFFFF;text-decoration:none}.column .extra-head .about-catalog{font-size:15px;line-height:70px;color:#B4BAC2;position:absolute;top:0;right:40px}@media (max-width:600px){.column .extra-head .about-catalog{font-size:11px}}.column .extra-head svg{display:none;top:50%;margin-top:-10px;right:30px;width:40px;position:absolute}.column .extra-head.show_back{cursor:pointer}.column .extra-head.show_back svg{display:block}.column .content{position:absolute;top:0;left:0;width:100%;bottom:0;overflow:hidden}.column .content.extra-head-on{top:70px}.column .content .header,.column .content .body{padding:20px 40px}.column .content.scrolled:hover{overflow-y:scroll;overflow-x:hidden}.column .content.scrolled:hover .header,.column .content.scrolled:hover .body{padding:20px 40px}.column .content .header{background:#4F555D;color:#FFFFFF}.column .content .header:after{display:block;content:"";clear:both}.column .content .body{font:13px/15px Verdana,"DejaVu Sans",sans-serif}.column .content .body a{color:#3D75DB}.column .content .body a:hover{color:#D12A18}.column .content .body .accordion dt{padding:0 20px;height:50px;vertical-align:middle;line-height:50px;background:#edf1f5;cursor:pointer;margin-top:-1px;border-style:solid;border-color:#E1E6EB;border-width:1px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column .content .body .accordion dt:hover{color:#D12A18}.column .content .body .accordion dt.open{padding-left:18px;color:#333333;cursor:default;border-left:2px solid #D12A18}.column .content .body .accordion dd{font:15px/20px Verdana,"DejaVu Sans",sans-serif;overflow:hidden;height:0;padding:0}.column .content .body .accordion dd .slide-content{padding:20px 0}.column .content .body ul{font:15px/20px Verdana,"DejaVu Sans",sans-serif}.column .content .body ul.information li{margin:10px 0}.column .content .body ul[class^="list-of"] li{display:block;cursor:pointer;padding:0 40px;margin:0 -40px;border-bottom:1px solid #ebeff2;vertical-align:middle}.column .content .body ul[class^="list-of"] li:first-child{border-top:1px solid #ebeff2}.column .content .body ul[class^="list-of"] li:hover{background-color:#edf1f5}.column .content .body ul[class^="list-of"] li:hover span.item-name{color:#D12A18}.column .content .body ul[class^="list-of"] li.current{background-color:#edf1f5;border-left:2px solid #D12A18;padding:0 40px 0 38px}.column .content .body ul[class^="list-of"] li.current span.item-name{color:#363636}.column .content .body ul[class^="list-of"] li span.item-name{color:#3D75DB}.column .content .body ul[class^="list-of"] li span.summary{font-size:13px;color:#868686}.column .content .body ul[class^="list-of-categories"] li{display:block;min-height:69px;line-height:69px;font-size:0;position:relative}.column .content .body ul[class^="list-of-categories"] li>span{display:inline-block;vertical-align:middle;font:15px/20px Verdana,"DejaVu Sans",sans-serif;margin-right:50px}.column .content .body ul[class^="list-of-categories"] li>span span{display:block}.column .content .body ul[class^="list-of-categories"] li>span[class^="item-icon-"]{margin:0;display:block;width:40px;height:100%;background:transparent no-repeat center center;background-size:40px auto;position:absolute;right:40px;top:0}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-4{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m39%2C39%200-10.5-1-1.5-14-4-8%2C0-14%2C4-1%2C1.5%200%2C10.5z%22%2F%3E%0A%3Ccircle%20cx%3D%2220%22%20cy%3D%2216%22%20r%3D%228%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22%2360666d%22%3E%0A%3Cpath%20d%3D%22m25%2C32h9v2h-9z%22%2F%3E%0A%3Cpath%20d%3D%22m6%2C32h9v2h-9z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m20%2C27%200%2C11%22%2F%3E%0A%3Cellipse%20cx%3D%2220%22%20cy%3D%228%22%20rx%3D%2213%22%20ry%3D%225%22%2F%3E%0A%3C%2Fg%3E%0A%3Ccircle%20fill%3D%22%2360666d%22%20cx%3D%2220%22%20cy%3D%228%22%20r%3D%222%22%2F%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11%2C12h18v4h-18z%22%2F%3E%0A%3Cpath%20fill%3D%22%2360666d%22%20d%3D%22m28%2C13v2h-16v-2h16m2-2h-2-16-2v2%202%202h2%2016%202v-2-2-2z%22%2F%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-6{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22M39%2C15%20%20%20c0-5.523-4.477-10-10-10c-3.967%2C0-7.384%2C2.315-9%2C5.663C18.384%2C7.315%2C14.967%2C5%2C11%2C5C5.478%2C5%2C1%2C9.477%2C1%2C15%20%20%20c0%2C2.671%2C1.054%2C5.091%2C2.76%2C6.885H3.747C10.248%2C28.731%2C20%2C39%2C20%2C39s9.752-10.269%2C16.253-17.115H36.24C37.946%2C20.091%2C39%2C17.671%2C39%2C15%20%20%20z%22%2F%3E%0A%3Cpath%20d%3D%22m28%2C17-5%2C0%200-5-6%2C0%200%2C5-5%2C0%200%2C6%205%2C0%200%2C5%206%2C0%200-5%205%2C0z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-11{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m2%2C39c-.552%2C0-1-.448-1-1v-30c0-.552%20.448-1%201-1h36c.552%2C0%201%2C.448%201%2C1v30c0%2C.552-.448%2C1-1%2C1h-36z%22%2F%3E%0A%3Cpath%20fill%3D%22%2360666d%22%20d%3D%22m38%2C8v30h-36v-30h36m0-2h-36c-1.104%2C0-2%2C.896-2%2C2v30c0%2C1.104%20.896%2C2%202%2C2h36c1.104%2C0%202-.896%202-2v-30c0-1.104-.896-2-2-2z%22%2F%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m6%2C35c-.552%2C0-1-.448-1-1v-28c0-.552%20.448-1%201-1h28c.552%2C0%201%2C.448%201%2C1v28c0%2C.552-.448%2C1-1%2C1h-28z%22%2F%3E%0A%3Cpath%20fill%3D%22%2360666d%22%20d%3D%22m34%2C6v28h-28v-28h28m0-2h-28c-1.104%2C0-2%2C.896-2%2C2v28c0%2C1.104%20.896%2C2%202%2C2h28c1.104%2C0%202-.896%202-2v-28c0-1.104-.896-2-2-2z%22%2F%3E%0A%3Cg%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cg%20fill%3D%22none%22%3E%0A%3Cpath%20d%3D%22m20%2C5%200%2C35%22%2F%3E%0A%3Cpath%20d%3D%22m8%2C14%209%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m8%2C26%209%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m8%2C20%209%2C0%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cpath%20d%3D%22m23%2C14%209%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m23%2C26%209%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m23%2C20%209%2C0%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-27{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20fill%3D%22none%22%20d%3D%22m1%2C6%200%2C33%2039%2C0%22%2F%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cpath%20d%3D%22m16%2C11h8v28h-8z%22%2F%3E%0A%3Cpath%20d%3D%22m24%2C16h8v23h-8z%22%2F%3E%0A%3Cpath%20d%3D%22m8%2C26h8v13h-8z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-29{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cpath%20d%3D%22m39%2C35-4.999%2C0-4.001-1-5%2C1-5-1-5%2C1-5-1-4%2C1-5%2C0%200-5%201-5-1-5%201-5-1-5%200-5%204.999%2C0%204.001%2C1%205-1%205%2C1%205-1%205%2C1%204-1%205%2C0%200%2C5-1%2C5%201%2C5-1%2C5%201%2C5z%22%2F%3E%0A%3Cpath%20d%3D%22m7%2C11h26v18h-26z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20fill%3D%22none%22%20d%3D%22m12%2C19%2014%2C5%22%2F%3E%0A%3C%2Fg%3E%0A%3Ccircle%20fill%3D%22%2360666d%22%20cx%3D%2226%22%20cy%3D%2217%22%20r%3D%222%22%2F%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-35{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Ccircle%20fill%3D%22none%22%20cx%3D%2220%22%20cy%3D%2214%22%20stroke%3D%22%2360666d%22%20r%3D%229%22%2F%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cg%20stroke%3D%22%2360666d%22%3E%0A%3Cpath%20d%3D%22m1%2C11h38v17h-38z%22%2F%3E%0A%3Cpath%20d%3D%22m1%2C28h38v11h-38z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20stroke%3D%22%23656565%22%20d%3D%22m40%2C28-1%2C0%22%2F%3E%0A%3Cg%20stroke%3D%22%2360666d%22%3E%0A%3Cpath%20d%3D%22m12%2C31-5%2C0%200-5%205%2C0%200%2C3z%22%2F%3E%0A%3Cpath%20d%3D%22m28%2C26h5v5h-5z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-67{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m24%2C39c-.552%2C0-1-.448-1-1v-12h-3c-.552%2C0-1-.448-1-1v-13c0-.552%20.448-1%201-1h14c.466%2C0%20.87%2C.321%20.975%2C.775l3%2C13c.068%2C.297-.002%2C.609-.192%2C.848-.19%2C.238-.478%2C.377-.783%2C.377h-6v12c0%2C.552-.448%2C1-1%2C1h-6z%22%2F%3E%0A%3Cpath%20fill%3D%22%2360666d%22%20d%3D%22m34%2C12l3%2C13h-7v13h-2-2-2v-13h-4v-13h2%205%205%202m0-2h-2-5-5-2c-1.104%2C0-2%2C.896-2%2C2v13c0%2C1.104%20.896%2C2%202%2C2h2v11c0%2C1.104%20.896%2C2%202%2C2h2%202%202c1.104%2C0%202-.896%202-2v-11h5c.609%2C0%201.186-.278%201.565-.755%20.38-.477%20.521-1.101%20.384-1.695l-3-13c-.21-.907-1.018-1.55-1.949-1.55z%22%2F%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cg%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cg%20stroke-linecap%3D%22round%22%3E%0A%3Cpath%20d%3D%22m27%2C28%200%2C10%22%2F%3E%0A%3Cpath%20d%3D%22m31%2C10-7%2C0-7%2C6%202%2C15%2016%2C0z%22%2F%3E%0A%3C%2Fg%3E%0A%3Ccircle%20cx%3D%2227%22%20cy%3D%226%22%20r%3D%225%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20d%3D%22m8%2C39c-.552%2C0-1-.448-1-1v-12h-4c-.552%2C0-1-.448-1-1v-12c0-.431%20.275-.813%20.684-.949l6-2%204.074-1.021c.079-.02%20.16-.03%20.242-.03s.163%2C.01%20.243%2C.03l4%2C1%206.074%2C2.021c.408%2C.137%20.683%2C.518%20.683%2C.949v12c0%2C.552-.448%2C1-1%2C1h-4v12c0%2C.552-.448%2C1-1%2C1h-10z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20fill%3D%22%2360666d%22%20d%3D%22m13%2C10l4%2C1%206%2C2v12h-5v13h-4-2-4v-13h-5v-12l6-2%204-1m0-2c-.163%2C0-.326%2C.02-.485%2C.06l-4%2C1c-.05%2C.013-.099%2C.027-.147%2C.043l-6%2C2c-.817%2C.272-1.368%2C1.036-1.368%2C1.897v12c0%2C1.104%20.896%2C2%202%2C2h3v11c0%2C1.104%20.896%2C2%202%2C2h4%202%204c1.104%2C0%202-.896%202-2v-11h3c1.104%2C0%202-.896%202-2v-12c0-.861-.551-1.625-1.368-1.897l-6-2c-.048-.016-.098-.03-.147-.043l-4-1c-.159-.04-.322-.06-.485-.06z%22%2F%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m13%2C25%200%2C13%22%2F%3E%0A%3Cpath%20d%3D%22m19%2C15%200%2C16%22%2F%3E%0A%3Cpath%20d%3D%22m7%2C15%200%2C16%22%2F%3E%0A%3Ccircle%20cx%3D%2213%22%20cy%3D%226%22%20r%3D%225%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-69{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m17%2C28c-.553%2C0-1-.448-1-1v-8h-3c-.553%2C0-1-.448-1-1v-8c0-.431%20.275-.813%20.684-.949l6-2c.102-.034%20.209-.051%20.316-.051h2c.107%2C0%20.214%2C.017%20.316%2C.051l6%2C2c.409%2C.137%20.684%2C.518%20.684%2C.949v8c0%2C.552-.447%2C1-1%2C1h-3v8c0%2C.552-.447%2C1-1%2C1h-6z%22%2F%3E%0A%3Cpath%20fill%3D%22%2360666d%22%20d%3D%22m21%2C8l6%2C2v8h-4v9h-2-2-2v-9h-4v-8l6-2h1%201m0-2h-1-1c-.215%2C0-.429%2C.035-.633%2C.103l-6%2C2c-.816%2C.272-1.367%2C1.036-1.367%2C1.897v8c0%2C1.104%20.896%2C2%202%2C2h2v7c0%2C1.104%20.896%2C2%202%2C2h2%202%202c1.104%2C0%202-.896%202-2v-7h2c1.104%2C0%202-.896%202-2v-8c0-.861-.551-1.625-1.367-1.897l-6-2c-.204-.068-.418-.103-.633-.103z%22%2F%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m20%2C18%200%2C9%22%2F%3E%0A%3Cpath%20d%3D%22m24%2C13%200%2C10%22%2F%3E%0A%3Cpath%20d%3D%22m16%2C13%200%2C10%22%2F%3E%0A%3Ccircle%20cx%3D%2220%22%20cy%3D%225%22%20r%3D%224%22%2F%3E%0A%3Cpath%20d%3D%22m10%2C31h10c1.381%2C0%202.5-1.119%202.5-2.5s-1.119-2.5-2.5-2.5h-12l-7%2C7%205%2C5%203-3h19l9.887-9.887c.583-.521%20.957-1.27%20.957-2.113%200-1.57-1.273-2.844-2.844-2.844-.845%2C0-1.594%2C.375-2.115%2C.959l-6.885%2C6.885h-6%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-70{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m1%2C29h38v4h-38z%22%2F%3E%0A%3Cpath%20d%3D%22m1%2C7h38v22h-38z%22%2F%3E%0A%3Cpath%20d%3D%22m16%2C33h8v6h-8z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22%2360666d%22%3E%0A%3Cpath%20d%3D%22m13%2C38h14v2h-14z%22%2F%3E%0A%3Cpath%20d%3D%22m15%2C23h2v2h-2z%22%2F%3E%0A%3Cpath%20d%3D%22m19%2C23h2v2h-2z%22%2F%3E%0A%3Cpath%20d%3D%22m23%2C23h2v2h-2z%22%2F%3E%0A%3Cpath%20d%3D%22m27%2C23h2v2h-2z%22%2F%3E%0A%3Cpath%20d%3D%22m11%2C23h2v2h-2z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-71{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m4.885%2C18.5c0%2C5.77%203.05%2C10.814%207.615%2C13.651%204.565-2.837%207.614-7.882%207.615-13.651-.001-5.77-3.05-10.816-7.615-13.651-4.565%2C2.835-7.615%2C7.881-7.615%2C13.651z%22%2F%3E%0A%3Cpath%20d%3D%22m17.079%2C13.078c-5.245%2C5.244-7.059%2C12.604-5.487%2C19.33%206.728%2C1.572%2014.085-.242%2019.33-5.486%205.244-5.244%207.059-12.603%205.486-19.33-6.727-1.572-14.085%2C.242-19.329%2C5.486z%22%2F%3E%0A%3Cpath%20d%3D%22m31.045%2C13-26%2C26%22%2F%3E%0A%3Cpath%20d%3D%22M%2024%2C20.103%2024%2C15%22%2F%3E%0A%3Cpath%20d%3D%22m24.045%2C19%205.904%2C0%22%2F%3E%0A%3Cpath%20d%3D%22M%2017.045%2C26%2025%2C26%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-73{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cpath%20d%3D%22m29.834%2C14.445c-1.217-.862-4.574-2.411-4.574-2.411-2.135-1.285-1.338-4.707-1.338-4.707l-7.922%2C.013%20.604%2C4.38c0%2C0-.33-2.276%200%2C.05%20.334%2C2.355%201.352%2C4.86%203.361%2C6.18l2.68%2C1.77c.01%2C.01%20.029%2C.02%20.039%2C.03%201.221%2C.82%202.07%2C2.16%202.24%2C3.7%20.02%2C.18%20.031%2C.36%20.031%2C.55%200%2C2.83-2.301%2C5.13-5.121%2C5.13-1.57%2C0-2.98-.71-3.92-1.82l-.09-.11-.02-.03-6.49-7.66-.109-.14c-.182-.22-.41-.38-.682-.48-.18-.07-.369-.11-.58-.11-.908%2C0-1.648%2C.74-1.648%2C1.65%200%2C.09%20.01%2C.17%20.02%2C.25l.02%2C.12%20.881%2C5.93%20.059%2C.37c1%2C6.73%206.811%2C11.9%2013.83%2C11.9%207.721%2C0%2013.98-6.26%2013.98-13.98-.001-3.45-1.468-7.895-5.251-10.575z%22%2F%3E%0A%3Cpath%20d%3D%22m28%2C10-15%2C0-1-9%2017%2C0z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20fill%3D%22none%22%20d%3D%22m13%2C5%2015%2C0%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-75{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m16%2C1.43c-1.69%2C1.891-3.12%2C4.021-4.24%2C6.33-1.56-.48-3.069-1.1-4.51-1.84%202.42-2.199%205.43-3.779%208.75-4.49z%22%2F%3E%0A%3Cpath%20d%3D%22m11.76%2C7.76c-1.8%2C3.7-2.81%2C7.85-2.81%2C12.24h-7.95c0-5.58%202.41-10.59%206.24-14.08h.01c1.44%2C.74%202.95%2C1.359%204.51%2C1.84z%22%2F%3E%0A%3Cpath%20d%3D%22m11.77%2C32.23c-1.569%2C.49-3.079%2C1.109-4.52%2C1.85h-.01c-3.83-3.49-6.24-8.5-6.24-14.08h7.95c0%2C4.391%201.01%2C8.54%202.82%2C12.23z%22%2F%3E%0A%3Cpath%20d%3D%22m16%2C38.57c-3.32-.711-6.33-2.291-8.75-4.49%201.44-.74%202.95-1.359%204.52-1.85%201.11%2C2.31%202.54%2C4.45%204.23%2C6.34z%22%2F%3E%0A%3Cpath%20d%3D%22m20%2C31v8c-1.37%2C0-2.71-.15-4-.43-1.69-1.891-3.12-4.03-4.23-6.34%202.6-.8%205.36-1.23%208.23-1.23z%22%2F%3E%0A%3Cpath%20d%3D%22m20%2C1v8c-2.87%2C0-5.64-.439-8.24-1.24%201.12-2.31%202.55-4.44%204.24-6.33%201.29-.28%202.63-.43%204-.43z%22%2F%3E%0A%3Cpath%20d%3D%22m28.24%2C7.76c-2.6%2C.81-5.37%2C1.24-8.24%2C1.24v-8c1.37%2C0%202.71%2C.15%204%2C.43%201.69%2C1.89%203.12%2C4.02%204.24%2C6.33z%22%2F%3E%0A%3Cpath%20d%3D%22m28.23%2C32.23c-1.11%2C2.31-2.54%2C4.449-4.23%2C6.34-1.29%2C.28-2.63%2C.43-4%2C.43v-8c2.87%2C0%205.63%2C.43%208.23%2C1.23z%22%2F%3E%0A%3Cpath%20d%3D%22m32.75%2C34.08c-2.42%2C2.199-5.43%2C3.779-8.75%2C4.49%201.69-1.891%203.12-4.03%204.23-6.34%201.57%2C.491%203.08%2C1.11%204.52%2C1.85z%22%2F%3E%0A%3Cpath%20d%3D%22m39%2C20c0%2C5.58-2.41%2C10.59-6.24%2C14.08h-.01c-1.44-.74-2.95-1.359-4.52-1.85%201.81-3.69%202.819-7.84%202.819-12.23h7.951z%22%2F%3E%0A%3Cpath%20d%3D%22m39%2C20h-7.95c0-4.391-1.01-8.54-2.81-12.24%201.56-.48%203.069-1.1%204.51-1.84h.01c3.83%2C3.49%206.24%2C8.5%206.24%2C14.08z%22%2F%3E%0A%3Cpath%20d%3D%22m32.75%2C5.92c-1.44%2C.74-2.95%2C1.359-4.51%2C1.84-1.12-2.31-2.55-4.44-4.24-6.33%203.32%2C.711%206.33%2C2.291%208.75%2C4.49z%22%2F%3E%0A%3Cpath%20d%3D%22m31.05%2C20h-11.05v-11c2.87%2C0%205.64-.43%208.24-1.24%201.8%2C3.7%202.81%2C7.849%202.81%2C12.24z%22%2F%3E%0A%3Cpath%20d%3D%22M31.05%2C20%20%20%20%20c0%2C4.391-1.01%2C8.54-2.819%2C12.23C25.63%2C31.43%2C22.87%2C31%2C20%2C31V20H31.05z%22%2F%3E%0A%3Cpath%20d%3D%22M20%2C9v11H8.95%20%20%20%20c0-4.391%2C1.01-8.54%2C2.81-12.24C14.36%2C8.561%2C17.13%2C9%2C20%2C9z%22%2F%3E%0A%3Cpath%20d%3D%22m20%2C20v11c-2.87%2C0-5.63%2C.43-8.23%2C1.23-1.81-3.69-2.82-7.839-2.82-12.23h11.05z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-77{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m38%2C27%200%2C8-10%2C0-16%2C0-10%2C0%200-8%202-7%2032%2C0z%22%2F%3E%0A%3Cpath%20d%3D%22m36%2C20-32%2C0%207-9%2018%2C0z%22%2F%3E%0A%3Cpath%20d%3D%22m33%2C35h5v4h-5z%22%2F%3E%0A%3Cpath%20d%3D%22m2%2C35h5v4h-5z%22%2F%3E%0A%3Cpath%20d%3D%22m40%2C20-4%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m4%2C20-4%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m12%2C26h16v9h-16z%22%2F%3E%0A%3Cpath%20d%3D%22m28%2C26h6v4h-6z%22%2F%3E%0A%3Cpath%20d%3D%22m6%2C26h6v4h-6z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-81{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cpath%20d%3D%22M%201%2C7.028%20H32.972%20V39%20H1%20z%22%2F%3E%0A%3Cpath%20d%3D%22m5%2C5h30v30h-30z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22none%22%3E%0A%3Cpath%20d%3D%22m5%2C14%2031%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m16%2C5%200%2C9%22%2F%3E%0A%3Cpath%20d%3D%22m16%2C14-5%2C21%22%2F%3E%0A%3Cpath%20d%3D%22m17%2C10%2018%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m28%2C34%200-29%22%2F%3E%0A%3Cpath%20d%3D%22m15%2C20%2020%2C6%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-83{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22M39%2C5v26%20%20%20c0%2C2.21-1.79%2C4-4%2C4H7l0.4-0.811l0.01-0.01L9%2C31V5H39z%22%2F%3E%0A%3Cpath%20d%3D%22m26%2C11h7v8h-7z%22%2F%3E%0A%3Cpath%20d%3D%22m13%2C19%2010%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m13%2C15%2010%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m13%2C11%2010%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m13%2C24%2021%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m13%2C29%2021%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m1%2C14v17c0%2C2.21%201.79%2C4%204%2C4%20.9%2C0%201.73-.3%202.4-.811%20.97-.718%201.6-1.878%201.6-3.189v-13.6-3.4h-8z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-84{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cg%20stroke-linejoin%3D%22round%22%3E%0A%3Cpath%20d%3D%22m34%2C11h-3v6h3c1.657%2C0%203-1.344%203-3s-1.343-3-3-3z%22%2F%3E%0A%3Cpath%20d%3D%22m6%2C11h3v6h-3c-1.657%2C0-3-1.344-3-3s1.343-3%203-3z%22%2F%3E%0A%3Cpath%20d%3D%22m10%2C3-1%2C0%200%2C10%205-6z%22%2F%3E%0A%3Cpath%20d%3D%22m30%2C3%201%2C0%200%2C10-5-6z%22%2F%3E%0A%3Cpath%20d%3D%22m28%2C29%200%2C6-16-1%200-5%201%2C0%202-5%201-5%200-12%208%2C0%200%2C12%201%2C5%202%2C5z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20stroke-linejoin%3D%22bevel%22%20d%3D%22M28.979%2C31.792%20%20%20C28.87%2C30.234%2C27.585%2C29%2C26%2C29H14c-1.585%2C0-2.87%2C1.234-2.979%2C2.792H11V36c0%2C1.656%2C1.343%2C3%2C3%2C3h12c1.657%2C0%2C3-1.344%2C3-3v-4.208%20%20%20H28.979z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22%2360666d%22%3E%0A%3Ccircle%20cx%3D%2224%22%20cy%3D%2234%22%20r%3D%222%22%2F%3E%0A%3Ccircle%20cx%3D%2216%22%20cy%3D%2234%22%20r%3D%222%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m13%2C7l-4%2C3c0%2C0%200%2C4%200%2C8s3%2C11%203%2C11h1l2-5%201-5v-12h-3z%22%2F%3E%0A%3Cpath%20d%3D%22m27%2C7h-3v12l1%2C5%202%2C5h1c0%2C0%203-7%203-11%200-3%200-8%200-8l-4-3z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-86{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cg%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m5%2C11h30v28h-30z%22%2F%3E%0A%3Cpath%20d%3D%22m34%2C5-28%2C0-3%2C6%2034%2C0z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20d%3D%22m26%2C7c-.552%2C0-1-.448-1-1v-4c0-.552%20.448-1%201-1h2c.552%2C0%201%2C.448%201%2C1v4c0%2C.552-.448%2C1-1%2C1h-2z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20fill%3D%22%2360666d%22%20d%3D%22m28%2C2v4h-2v-4h2m0-2h-2c-1.104%2C0-2%2C.896-2%2C2v4c0%2C1.104%20.896%2C2%202%2C2h2c1.104%2C0%202-.896%202-2v-4c0-1.104-.896-2-2-2z%22%2F%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m11%2C24%2018%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m11%2C31%2018%2C0%22%2F%3E%0A%3Cpath%20d%3D%22m20%2C17%200%2C22%22%2F%3E%0A%3Cpath%20d%3D%22m11%2C16h18v23h-18z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-88{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m20%2C20%208-8%206%2C21-3%2C3z%22%2F%3E%0A%3Cpath%20d%3D%22m28%2C12-8%2C8-16-11%203-3z%22%2F%3E%0A%3Cpath%20d%3D%22m10%2C26l23.963-23.963c.521-.584%201.271-.959%202.115-.959%201.57%2C0%202.844%2C1.273%202.844%2C2.844%200%2C.844-.374%2C1.592-.957%2C2.113l-23.965%2C23.965v9h-4l-2-7-7-2v-4h9z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-148{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cg%20fill%3D%22%23fff%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m6%2C18.083h29v4h-29z%22%2F%3E%0A%3Cpath%20d%3D%22m5%2C11h4v18h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m9%2C8h5v24h-5z%22%2F%3E%0A%3Cpath%20d%3D%22m31%2C11h4v18h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m35%2C14h4v12h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m1%2C14h4v12h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m26%2C8h5v24h-5z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-154{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M39%2C20c0-2.271-3.994-4.245-9.882-5.264C31.18%2C9.127%2C31.466%2C4.681%2C29.5%2C3.545S23.827%2C4.882%2C20%2C9.471%20%20%20c-3.827-4.589-7.534-7.061-9.5-5.926s-1.68%2C5.582%2C0.382%2C11.19C4.994%2C15.755%2C1%2C17.729%2C1%2C20s3.994%2C4.245%2C9.882%2C5.264%20%20%20C8.82%2C30.873%2C8.534%2C35.319%2C10.5%2C36.455s5.673-1.336%2C9.5-5.926c3.827%2C4.589%2C7.534%2C7.061%2C9.5%2C5.926s1.68-5.582-0.382-11.19%20%20%20C35.006%2C24.245%2C39%2C22.271%2C39%2C20z%22%2F%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%2360666d%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cellipse%20cx%3D%2220%22%20cy%3D%2220%22%20rx%3D%2219%22%20ry%3D%226%22%2F%3E%0A%3Cellipse%20cx%3D%2220%22%20cy%3D%2220%22%20rx%3D%226%22%20ry%3D%2219%22%20transform%3D%22matrix(.866%20.5%20-.5%20.866%2012.6792%20-7.3204)%22%2F%3E%0A%3Cellipse%20cx%3D%2220%22%20cy%3D%2220%22%20rx%3D%226%22%20ry%3D%2219%22%20transform%3D%22matrix(-.866%20.5%20-.5%20-.866%2047.3204%2027.3208)%22%2F%3E%0A%3C%2Fg%3E%0A%3Ccircle%20fill%3D%22%2360666d%22%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%222%22%2F%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-svg-156{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2040%2040%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m6%2C29h28v11h-28z%22%2F%3E%0A%3Cg%20stroke%3D%22%2360666d%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m26.6%2C2.334c-1.5%2C0-2.1-1.334-4.2-1.334-1.799%2C0-2.4%2C.533-2.4%2C.533v4.999c0%2C0%20.601-.532%202.4-.532%20.78%2C0%201.392%2C.25%201.956%2C.532%20.738%2C.374%201.396%2C.8%202.245%2C.8%201.5%2C0%202.4-.666%202.4-.666v-4.666c-.001%2C0-.901%2C.334-2.401%2C.334z%22%2F%3E%0A%3Cg%20stroke-linejoin%3D%22round%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M1%2C16%2019.885%2C9%2039%2C16z%22%2F%3E%0A%3Cpath%20fill%3D%22none%22%20d%3D%22m20%2C9%200-8%22%2F%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m2%2C28v11h4v-5c0-1.104%20.896-2%202-2s2%2C.896%202%2C2v5h4v-5c0-1.104%20.896-2%202-2s2%2C.896%202%2C2v5h4v-5c0-1.104%20.896-2%202-2s2%2C.896%202%2C2v5h4v-5c0-1.104%20.896-2%202-2s2%2C.896%202%2C2v5h4v-11h-36z%22%2F%3E%0A%3Cpath%20fill%3D%22none%22%20d%3D%22m6.092%2C39%2028.273%2C0%22%2F%3E%0A%3Cg%20fill%3D%22%23fff%22%3E%0A%3Cpath%20d%3D%22m3%2C16h4v12h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m33%2C16h4v12h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m23%2C16h4v12h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m13%2C16h4v12h-4z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .content .body ul[class^="list-of-categories"] li>span.item-icon-png-4{background-image:url(\'' + t.widgetUrl + "/static/img/catalog-icons/4.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-6{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/6.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-11{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/11.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-27{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/27.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-29{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/29.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-35{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/35.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-67{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/67.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-69{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/69.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-70{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/70.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-71{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/71.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-73{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/73.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-75{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/75.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-77{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/77.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-81{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/81.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-83{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/83.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-84{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/84.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-86{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/86.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-88{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/88.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-148{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/148.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-154{background-image:url('" + t.widgetUrl + "/static/img/catalog-icons/154.png')}.column .content .body ul[class^=\"list-of-categories\"] li>span.item-icon-png-156{background-image:url('" + t.widgetUrl + '/static/img/catalog-icons/156.png\')}.column .content .body ul[class^="list-of-subcategories"] li{display:block;min-height:49px;line-height:49px;font-size:0}.column .content .body ul[class^="list-of-subcategories"] li>span{display:inline-block;vertical-align:middle;font:15px/20px Verdana,"DejaVu Sans",sans-serif;width:100%}.column .content .body ul[class^="list-of-subcategories"] li>span span{display:block}.column .content .body ul[class^="list-of-subcategories"] li>span span.summary{float:right}.column .content .body ul[class^="list-of-sites"] li{cursor:default;display:block;background:#EDF1F5;overflow:hidden;border-color:#e1e6eb}.column .content .body ul[class^="list-of-sites"] li:hover{background-color:#FFFFFF}.column .content .body ul[class^="list-of-sites"] li .icon-site_lightgrey{font:13px/15px Verdana,"DejaVu Sans",sans-serif;text-decoration:none}.column .content .body ul[class^="list-of-sites"] li .icon-site_lightgrey:hover{color:#D12A18}.column .content .body ul[class^="list-of-sites"] li>span{display:block;font:15px/20px Verdana,"DejaVu Sans",sans-serif;padding:5px 20px 5px 0;position:relative}.column .content .body ul[class^="list-of-sites"] li>span span{display:block;margin:10px 0}.column .content .body ul[class^="list-of-sites"] li>span span.toggle{display:none;position:absolute;right:40px;top:0;bottom:0;color:#3d75db;width:10px;background-repeat:no-repeat;background-position:center center;overflow:hidden}.column .content .body ul[class^="list-of-sites"] li>span span.toggle svg{position:absolute;left:-5px;top:50%;margin-top:-10px}.column .content .body ul[class^="list-of-sites"] li>span span.toggle .arrow-top{display:none}.column .content .body ul[class^="list-of-sites"] li>span span.toggle .arrow-bottom{display:inline-block}.column .content .body ul[class^="list-of-sites"] li>span.site-toggle{cursor:pointer;margin:0 -40px;padding:5px 60px 5px 40px}.column .content .body ul[class^="list-of-sites"] li>span.site-toggle .toggle{display:block}.column .content .body ul[class^="list-of-sites"] li>span.site-description{display:none;font:13px/15px Verdana,"DejaVu Sans",sans-serif;line-height:20px;border-top:1px solid #EBEFF2;margin:0 -40px;padding:20px 40px;color:#868686;cursor:auto}.column .content .body ul[class^="list-of-sites"] li>span.site-description span{margin:0}.column .content .body ul[class^="list-of-sites"] li>span.site-description .arr-down{display:block;width:0;height:0;border:15px solid transparent;border-top-color:#EBEFF2;border-bottom:0 none;position:relative;margin:0 0 -15px 0;top:-21px}.column .content .body ul[class^="list-of-sites"] li>span.site-description .arr-down i{display:block;width:0;height:0;border:14px solid transparent;border-top-color:#FFFFFF;border-bottom:0 none;position:relative;top:-15px;left:-14px}.column .content .body ul[class^="list-of-sites"] li>span.site-description .icon-outer-link{font:15px/20px Verdana,"DejaVu Sans",sans-serif;margin-bottom:0;color:#3D75DB}.column .content .body ul[class^="list-of-sites"] li>span.site-description .icon-outer-link:hover{color:#D12A18}.column .content .body ul[class^="list-of-sites"] li.open{background-color:#FFFFFF}.column .content .body ul[class^="list-of-sites"] li.open span.toggle .arrow-top{display:inline-block}.column .content .body ul[class^="list-of-sites"] li.open span.toggle .arrow-bottom{display:none}.column .content .body ul[class^="list-of-sites"] li.open .site-toggle{padding-left:38px;border-left:2px solid #D12A18}.column .content .body ul[class^="list-of-sites"] li.open .site-description{display:block}.block-close{overflow:hidden;height:100%;position:relative;float:left;width:49px;background:#e4e9ed url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%234f555d%22%20stroke-width%3D%221.5%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m1%2C1%2018%2C18%22%2F%3E%0A%3Cpath%20d%3D%22m19%2C1-18%2C18%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") no-repeat center 20px;cursor:pointer;border:0 solid #d3dae0;border-right-width:1px;z-index:5500}.block-close:hover{background-color:#edf1f5}@media (max-width:1000px){.block-close{display:none}}.column-wrapper{width:300%;min-height:100%;height:100%}.column.hiddenColumn{position:absolute;left:-10000px;top:-10000px;opacity:0;visibility:hidden}.column [class^="icon-"]{padding-left:25px;background:transparent no-repeat left top}.column .icon-phone{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22%234f555d%22%3E%0A%3Cpath%20d%3D%22m7%2C7%200-4-2%2C0-2%2C0%200%2C14%202%2C0%202%2C0%200-4-2%2C0%200-6z%22%2F%3E%0A%3Cpath%20d%3D%22m8%2C3v14h9v-14h-9zm3%2C12h-1v-1h1v1zm0-2h-1v-1h1v1zm0-2h-1v-1h1v1zm2%2C4h-1v-1h1v1zm0-2h-1v-1h1v1zm0-2h-1v-1h1v1zm2%2C4h-1v-1h1v1zm0-2h-1v-1h1v1zm0-2h-1v-1h1v1zm0-3h-5v-3h5v3z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .icon-e-mail{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cpath%20fill%3D%22%234f555d%22%20d%3D%22M3%2C5v10h14V5H3z%20M10%2C12L4%2C7V6h1l5.012%2C4L15%2C6h1v1L10%2C12z%22%2F%3E%0A%3C%2Fsvg%3E%0A")}.column .icon-address{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cpath%20fill%3D%22%234f555d%22%20d%3D%22m10%2C3c-2.76%2C0-5%2C2.24-5%2C5%200%2C1.03%20.31%2C1.98%20.84%2C2.78%20.01%2C.02%204.17%2C6.22%204.17%2C6.22s4.12-6.19%204.15-6.23c.53-.8%20.84-1.75%20.84-2.77%200-2.76-2.24-5-5-5zm0%2C7c-1.104%2C0-2-.896-2-2s.896-2%202-2%202%2C.896%202%2C2-.896%2C2-2%2C2z%22%2F%3E%0A%3C%2Fsvg%3E%0A")}.column .icon-site{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22%234f555d%22%3E%0A%3Cpath%20d%3D%22m3%2C3h14v4h-14z%22%2F%3E%0A%3Cpath%20d%3D%22m13%2C9h4v8h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m3%2C15h8v2h-8z%22%2F%3E%0A%3Cpath%20d%3D%22m3%2C12h7v2h-7z%22%2F%3E%0A%3Cpath%20d%3D%22m3%2C9h9v2h-9z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .icon-bookmark{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22%234f555d%22%3E%0A%3Cpath%20d%3D%22m5%2C3h10v3h-10z%22%2F%3E%0A%3Cpath%20d%3D%22m5%2C17%205-4%205%2C4%200-10-10%2C0z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .icon-home-site{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cpath%20fill%3D%22%23b4bac2%22%20d%3D%22m10.063%2C5-7.063%2C5%202%2C0%200%2C7%204%2C0%200-3%203%2C0%200%2C3%203%2C0%200-7%202%2C0z%22%2F%3E%0A%3C%2Fsvg%3E%0A")}.column .icon-outer-link{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22%234f555d%22%3E%0A%3Cpath%20d%3D%22m11%2C9v6h-6v-6h6m2-2h-10v10h10v-10z%22%2F%3E%0A%3Cpath%20d%3D%22m12%2C3%205%2C0%200%2C5z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}.column .icon-site_lightgrey{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22%23868686%22%3E%0A%3Cpath%20d%3D%22m3%2C3h14v4h-14z%22%2F%3E%0A%3Cpath%20d%3D%22m13%2C9h4v8h-4z%22%2F%3E%0A%3Cpath%20d%3D%22m3%2C15h8v2h-8z%22%2F%3E%0A%3Cpath%20d%3D%22m3%2C12h7v2h-7z%22%2F%3E%0A%3Cpath%20d%3D%22m3%2C9h9v2h-9z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}@media (max-width:1000px){.column{position:absolute;top:0;width:100%;left:0;border:0 none}}.hiddenBlock{top:-10000px;left:-100%;visibility:hidden;opacity:0}#siteinfo{position:fixed;overflow:auto;top:49px;bottom:0;left:auto;right:-100%;width:100%;z-index:500}#siteinfo .block-close{float:right;border-width:0 0 0 1px}#siteinfo .column{float:right;right:50px;border-width:0 0 0 1px}@media (max-width:1000px){#siteinfo .column{right:0}}#siteinfo .column .responsible_org{margin-bottom:2px;color:#868686}#siteinfo .header h1{margin-bottom:0;padding-top:10px}#siteinfo .header .icon-home-site{padding-left:20px;background-position:-2px -3px;font:13px/15px Verdana,"DejaVu Sans",sans-serif;color:#B4BAC2;text-decoration:none}#siteinfo .header .icon-home-site:hover{text-decoration:underline}#full_message{position:fixed;overflow:hidden;top:49px;bottom:0;left:-100%;width:100%;z-index:500}#full_message .column{background:#d1351a}#full_message audio{max-width:100%;width:100%}#full_message .content{background:#fff;top:18px;bottom:18px;left:20px;right:20px;width:auto}@media (max-width:1000px){#full_message .content{left:0;right:0}}#full_message .content .body{padding-top:0;padding-bottom:0}#full_message .body{font-size:15px;line-height:18px}#full_message .body h2{font-size:18px;line-height:25px;text-align:center}#full_message .body .full_text{margin-bottom:20px}#full_message .body .logo{background:transparent no-repeat top center;background-size:110px auto;height:130px;margin:40px 0}#bar .leftColumn .content,#full_message .body .logo{background-image:url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generator%3A%20Adobe%20Illustrator%2016.0.0%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%206.00%20Build%200)%20%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20width%3D%2229px%22%20height%3D%2234px%22%20viewBox%3D%22-485.005%20517.5%2029%2034%22%20enable-background%3D%22new%20-485.005%20517.5%2029%2034%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cg%3E%0A%09%0A%09%09%3CradialGradient%20id%3D%22SVGID_1_%22%20cx%3D%22-892.0098%22%20cy%3D%22517.1348%22%20r%3D%2215.1938%22%20gradientTransform%3D%22matrix(1%200%200%203%20421.5%20-1017.1035)%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%0A%09%09%3Cstop%20%20offset%3D%220%22%20style%3D%22stop-color%3A%23DA461F%22%2F%3E%0A%09%09%3Cstop%20%20offset%3D%221%22%20style%3D%22stop-color%3A%23D02617%22%2F%3E%0A%09%3C%2FradialGradient%3E%0A%09%3Cpath%20fill%3D%22url(%23SVGID_1_)%22%20d%3D%22M-470.527%2C550.604c-0.5-0.678-1.47-1.605-3.041-1.605l-7.729%2C0.004c-0.333%2C0-1.19-0.027-1.957-0.289%0A%09%09c-1.251-0.426-1.251-1.141-1.251-1.373V518h27.99l-0.008%2C29.035c0%2C1.869-2.309%2C1.963-2.771%2C1.963h-8.274%0A%09%09C-468.929%2C548.998-469.965%2C549.939-470.527%2C550.604L-470.527%2C550.604z%22%2F%3E%0A%09%3Cpath%20fill%3D%22%23BE2B1E%22%20d%3D%22M-457.015%2C518.5c-0.002%2C5.088-0.008%2C27.889-0.008%2C28.535c0%2C1.391-1.887%2C1.463-2.295%2C1.463%0A%09%09c-0.002%2C0-0.002%2C0-0.002%2C0h-8.25c-1.264%2C0-2.271%2C0.697-2.938%2C1.354c-0.626-0.668-1.621-1.354-3.061-1.354h-7.621l-0.108%2C0.002%0A%09%09c-0.11%2C0-2.708-0.014-2.708-1.162V518.5H-457.015%20M-456.015%2C517.5h-28.99c0%2C0%2C0%2C28.527%2C0%2C29.838c0%2C2.043%2C3.007%2C2.162%2C3.708%2C2.162%0A%09%09c0.093%2C0%2C0.146-0.002%2C0.146-0.002s4.497%2C0%2C7.583%2C0c2.123%2C0%2C3%2C2.002%2C3%2C2.002s1.204-2.002%2C3-2.002c2.401%2C0%2C8.25%2C0%2C8.25%2C0%0A%09%09s0.008%2C0%2C0.025%2C0c0.313%2C0%2C3.271-0.063%2C3.271-2.463C-456.021%2C546.307-456.015%2C517.5-456.015%2C517.5L-456.015%2C517.5z%22%2F%3E%0A%09%3Cg%3E%0A%09%09%3Cpath%20fill%3D%22%23B8361B%22%20d%3D%22M-469.005%2C521.5v1l-1-2h-1l-1%2C2v-1h-1v1l1%2C1v1l1%2C1v14l-1%2C1v3l1%2C1v2h-1v1h1v1h1v-1h1v-1h-1v-2l1-1v-3l-1-1%0A%09%09%09v-14l1-1v-1l1-1v-1H-469.005z%22%2F%3E%0A%09%09%3Cpath%20fill%3D%22%23B8361B%22%20d%3D%22M-461.979%2C540.693c-0.396%2C0-0.851%2C0.125-1.183%2C0.289l-0.231-0.229l0%2C0c0%2C0%2C0.752-0.953%2C2.83-1.785%0A%09%09%09c-0.24-0.521-0.252-0.529-0.252-0.529s-1.215%2C0.184-2.795%2C0.836c-0.168%2C0.063-0.856%2C0.264-1.123%2C0.121%0A%09%09%09c0.01-0.025%2C0.021-0.049%2C0.025-0.072l-0.052%2C0.055c-0.011-0.008-0.021-0.012-0.027-0.02c-0.071-0.072-4.868-4.844-4.868-4.844%0A%09%09%09l6.211-6.473c0%2C0%2C0.909-0.803%2C1.564-0.754c0.654%2C0.051%2C0.951%2C0.252%2C0.951%2C0.252s0.002%2C0.641-0.645%2C1.229%0A%09%09%09c-0.135-0.264-0.168-0.309-0.168-0.309s-1.254%2C1.652-1.648%2C1.924l0%2C0c0.8-0.236%2C1.756-0.533%2C2.601-1.143%0A%09%09%09c-0.315-0.125-0.362-0.141-0.362-0.141s0.541-0.543%2C0.728-0.809l0%2C0c0.106%2C0.342%2C0.13%2C1.158-0.503%2C1.791l0%2C0%0A%09%09%09c-0.1-0.133-0.225-0.313-0.225-0.313s-0.979%2C1.428-1.649%2C2.063l0%2C0c0.719-0.162%2C1.687-0.521%2C2.739-1.311%0A%09%09%09c-0.43-0.066-0.477-0.082-0.477-0.082s0.979-0.947%2C0.979-2.287c0-0.75-0.782-1.309-0.782-1.309s-0.372-0.582-1.229-0.586%0A%09%09%09c-0.688%2C0-0.896%2C0.223-0.896%2C0.223s0.349-1.229%2C0.083-1.672c-0.362-0.607-0.896-0.641-0.896-0.641l0%2C0%0A%09%09%09c0%2C0-0.455-0.613-1.537-0.613c-1.084%2C0-1.957%2C0.977-1.957%2C0.977l-0.141-0.195c0%2C0-0.464%2C0.443-0.922%2C2.424%0A%09%09%09c0.521-0.549%2C1.068-1.154%2C1.816-1.645c-0.33-0.146-0.334-0.139-0.334-0.139s0.572-0.725%2C1.371-0.725%0A%09%09%09c0.158%2C0%2C0.477%2C0.08%2C0.477%2C0.08s-0.376%2C0.217-0.786%2C0.811c-0.187-0.268-0.196-0.277-0.196-0.277s-0.668%2C0.818-0.979%2C2.535l0%2C0%0A%09%09%09c0.484-0.447%2C1.419-1.244%2C2.041-1.643c-0.48-0.168-0.503-0.168-0.503-0.168s0.514-0.686%2C1.034-0.67%0A%09%09%09c0.185%2C0.006%2C0.437%2C0.109%2C0.496%2C0.383c0.059%2C0.27%2C0.109%2C1.057-0.383%2C1.625c-0.141%2C0.16-6.688%2C6.779-6.688%2C6.779l-7.906-7.867%0A%09%09%09c0%2C0-0.224-0.451%2C0.196-0.727c0.42-0.271%2C0.779-0.469%2C1.482-0.334c0.527%2C0.102%2C0.846%2C0.285%2C0.972%2C0.371l-0.274%2C0.408l0%2C0%0A%09%09%09c0%2C0%2C1.139%2C0.387%2C2.237%2C1.197c-0.286-0.76-0.83-1.809-1.398-2.453l0%2C0l-0.276%2C0.414c-0.233-0.18-0.829-0.578-1.597-0.635%0A%09%09%09c-0.536%2C0-1.274%2C0.111-2.069%2C0.111s-1.761-0.195-1.761-0.195s0.196%2C0.822%2C0.196%2C1.449c0%2C0.625-0.191%2C1.959-0.084%2C2.48%0A%09%09%09c0.115%2C0.66%2C0.418%2C1.145%2C0.551%2C1.336l-0.316%2C0.25c-0.004%2C0-0.008%2C0.002-0.012%2C0.002c0.001%2C0%2C0.002-0.018%2C0.003-0.016l-0.01-0.008%0A%09%09%09h0.02c0.128%2C0%2C0.965%2C0.9%2C2.365%2C1.482c-0.285-0.422-0.956-1.436-1.314-2.305l-0.363%2C0.291c-0.092-0.182-0.267-0.584-0.281-1.039%0A%09%09%09c-0.018-0.615%2C0.235-1.117%2C0.419-1.334c0.184-0.219%2C0.325-0.303%2C0.503-0.279c0.172%2C0.021%2C7.909%2C8.211%2C7.909%2C8.211l-6.369%2C6.42%0A%09%09%09c0%2C0-0.704-0.254-1.099-0.254c-1.38%2C0-2.499%2C1.119-2.499%2C2.5c0%2C1.379%2C1.119%2C2.498%2C2.499%2C2.498c1.38%2C0%2C2.499-1.119%2C2.499-2.498%0A%09%09%09c0-0.521-0.434-1.406-0.434-1.406l-0.004-0.004l6.216-6.402l4.813%2C4.93c0%2C0%2C0.002%2C0.002%2C0.004%2C0.008l-0.052%2C0.053%0A%09%09%09c0%2C0%2C0.022-0.014%2C0.062-0.039c0.033%2C0.066%2C0.123%2C0.256%2C0.098%2C0.422c-0.031%2C0.205-0.686%2C1.834-0.949%2C2.482%0A%09%09%09c-0.265%2C0.645-0.365%2C1.143-0.365%2C1.143l0.645%2C0.223c0%2C0%2C0.332-1.295%2C1.836-2.943c0.004%2C0.008%2C0.007%2C0.014%2C0.007%2C0.014l0.013-0.012%0A%09%09%09c0.039%2C0.045%2C0.129%2C0.137%2C0.235%2C0.244c-0.229%2C0.377-0.358%2C0.818-0.358%2C1.291c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5%0A%09%09%09c1.379%2C0%2C2.498-1.119%2C2.498-2.5C-459.481%2C541.813-460.603%2C540.693-461.979%2C540.693L-461.979%2C540.693z%20M-478.743%2C544.732%0A%09%09%09c-0.85%2C0-1.539-0.689-1.539-1.539s0.689-1.539%2C1.539-1.539c0.147%2C0%2C0.29%2C0.021%2C0.425%2C0.059c-0.02%2C0.146-0.016%2C0.418%2C0.207%2C0.641%0A%09%09%09c0.303%2C0.303%2C0.69%2C0.158%2C0.739%2C0.139c0.108%2C0.209%2C0.169%2C0.447%2C0.169%2C0.699C-477.203%2C544.043-477.893%2C544.732-478.743%2C544.732z%0A%09%09%09%20M-461.979%2C544.732c-0.852%2C0-1.539-0.689-1.539-1.539c0-0.211%2C0.041-0.412%2C0.119-0.594c0.092%2C0.041%2C0.418%2C0.156%2C0.73-0.145%0A%09%09%09c0.296-0.283%2C0.284-0.568%2C0.221-0.729c0.163-0.063%2C0.281-0.072%2C0.469-0.072c0.85%2C0%2C1.539%2C0.689%2C1.539%2C1.539%0A%09%09%09S-461.131%2C544.732-461.979%2C544.732z%22%2F%3E%0A%09%3C%2Fg%3E%0A%09%3Cpath%20fill%3D%22%23C4E4F8%22%20d%3D%22M-461.979%2C539.693c-0.396%2C0-0.851%2C0.125-1.183%2C0.289l-0.231-0.229l0%2C0c0%2C0%2C0.752-0.953%2C2.83-1.785%0A%09%09c-0.24-0.521-0.252-0.529-0.252-0.529s-1.215%2C0.184-2.795%2C0.836c-0.168%2C0.063-0.856%2C0.264-1.123%2C0.121%0A%09%09c0.01-0.025%2C0.021-0.049%2C0.025-0.072l-0.052%2C0.055c-0.011-0.008-0.021-0.012-0.027-0.02c-0.071-0.072-4.868-4.844-4.868-4.844%0A%09%09l6.211-6.473c0%2C0%2C0.909-0.803%2C1.564-0.754c0.654%2C0.051%2C0.951%2C0.252%2C0.951%2C0.252s0.002%2C0.641-0.645%2C1.229%0A%09%09c-0.135-0.264-0.168-0.309-0.168-0.309s-1.254%2C1.652-1.648%2C1.924l0%2C0c0.8-0.236%2C1.756-0.533%2C2.601-1.143%0A%09%09c-0.315-0.125-0.362-0.141-0.362-0.141s0.541-0.543%2C0.728-0.809l0%2C0c0.106%2C0.342%2C0.13%2C1.158-0.503%2C1.791l0%2C0%0A%09%09c-0.1-0.133-0.225-0.313-0.225-0.313s-0.979%2C1.428-1.649%2C2.063l0%2C0c0.719-0.162%2C1.687-0.521%2C2.739-1.311%0A%09%09c-0.43-0.066-0.477-0.082-0.477-0.082s0.979-0.947%2C0.979-2.287c0-0.75-0.782-1.309-0.782-1.309s-0.372-0.582-1.229-0.586%0A%09%09c-0.688%2C0-0.896%2C0.223-0.896%2C0.223s0.349-1.229%2C0.083-1.672c-0.362-0.607-0.896-0.641-0.896-0.641l0%2C0c0%2C0-0.455-0.613-1.537-0.613%0A%09%09c-1.084%2C0-1.957%2C0.977-1.957%2C0.977l-0.141-0.195c0%2C0-0.464%2C0.443-0.922%2C2.424c0.521-0.549%2C1.068-1.154%2C1.816-1.645%0A%09%09c-0.33-0.146-0.334-0.139-0.334-0.139s0.572-0.725%2C1.371-0.725c0.158%2C0%2C0.477%2C0.08%2C0.477%2C0.08s-0.376%2C0.217-0.786%2C0.811%0A%09%09c-0.187-0.268-0.196-0.277-0.196-0.277s-0.668%2C0.818-0.979%2C2.535l0%2C0c0.484-0.447%2C1.419-1.244%2C2.041-1.643%0A%09%09c-0.48-0.168-0.503-0.168-0.503-0.168s0.514-0.686%2C1.034-0.67c0.185%2C0.006%2C0.437%2C0.109%2C0.496%2C0.383%0A%09%09c0.059%2C0.27%2C0.109%2C1.057-0.383%2C1.625c-0.141%2C0.16-6.688%2C6.779-6.688%2C6.779l-7.906-7.867c0%2C0-0.224-0.451%2C0.196-0.727%0A%09%09c0.42-0.271%2C0.779-0.469%2C1.482-0.334c0.527%2C0.102%2C0.846%2C0.285%2C0.972%2C0.371l-0.274%2C0.408l0%2C0c0%2C0%2C1.139%2C0.387%2C2.237%2C1.197%0A%09%09c-0.286-0.76-0.83-1.809-1.398-2.453l0%2C0l-0.276%2C0.414c-0.233-0.18-0.829-0.578-1.597-0.635c-0.536%2C0-1.274%2C0.111-2.069%2C0.111%0A%09%09s-1.761-0.195-1.761-0.195s0.196%2C0.822%2C0.196%2C1.449c0%2C0.625-0.191%2C1.959-0.084%2C2.48c0.115%2C0.66%2C0.418%2C1.145%2C0.551%2C1.336%0A%09%09l-0.316%2C0.25c-0.004%2C0-0.008%2C0.002-0.012%2C0.002c0.001%2C0%2C0.002-0.018%2C0.003-0.016l-0.01-0.008h0.02c0.128%2C0%2C0.965%2C0.9%2C2.365%2C1.482%0A%09%09c-0.285-0.422-0.956-1.436-1.314-2.305l-0.363%2C0.291c-0.092-0.182-0.267-0.584-0.281-1.039c-0.018-0.615%2C0.235-1.117%2C0.419-1.334%0A%09%09c0.184-0.219%2C0.325-0.303%2C0.503-0.279c0.172%2C0.021%2C7.909%2C8.211%2C7.909%2C8.211l-6.369%2C6.42c0%2C0-0.704-0.254-1.099-0.254%0A%09%09c-1.38%2C0-2.499%2C1.119-2.499%2C2.5c0%2C1.379%2C1.119%2C2.498%2C2.499%2C2.498c1.38%2C0%2C2.499-1.119%2C2.499-2.498c0-0.521-0.434-1.406-0.434-1.406%0A%09%09l-0.004-0.004l6.216-6.402l4.813%2C4.93c0%2C0%2C0.002%2C0.002%2C0.004%2C0.008l-0.052%2C0.053c0%2C0%2C0.022-0.014%2C0.062-0.039%0A%09%09c0.033%2C0.066%2C0.123%2C0.256%2C0.098%2C0.422c-0.031%2C0.205-0.686%2C1.834-0.949%2C2.482c-0.265%2C0.645-0.365%2C1.143-0.365%2C1.143l0.645%2C0.223%0A%09%09c0%2C0%2C0.332-1.295%2C1.836-2.943c0.004%2C0.008%2C0.007%2C0.014%2C0.007%2C0.014l0.013-0.012c0.039%2C0.045%2C0.129%2C0.137%2C0.235%2C0.244%0A%09%09c-0.229%2C0.377-0.358%2C0.818-0.358%2C1.291c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5c1.379%2C0%2C2.498-1.119%2C2.498-2.5%0A%09%09C-459.481%2C540.813-460.603%2C539.693-461.979%2C539.693L-461.979%2C539.693z%20M-478.743%2C543.732c-0.85%2C0-1.539-0.689-1.539-1.539%0A%09%09s0.689-1.539%2C1.539-1.539c0.147%2C0%2C0.29%2C0.021%2C0.425%2C0.059c-0.02%2C0.146-0.016%2C0.418%2C0.207%2C0.641c0.303%2C0.303%2C0.69%2C0.158%2C0.739%2C0.139%0A%09%09c0.108%2C0.209%2C0.169%2C0.447%2C0.169%2C0.699C-477.203%2C543.043-477.893%2C543.732-478.743%2C543.732z%20M-461.979%2C543.732%0A%09%09c-0.852%2C0-1.539-0.689-1.539-1.539c0-0.211%2C0.041-0.412%2C0.119-0.594c0.092%2C0.041%2C0.418%2C0.156%2C0.73-0.145%0A%09%09c0.296-0.283%2C0.284-0.568%2C0.221-0.729c0.163-0.063%2C0.281-0.072%2C0.469-0.072c0.85%2C0%2C1.539%2C0.689%2C1.539%2C1.539%0A%09%09S-461.131%2C543.732-461.979%2C543.732z%22%2F%3E%0A%09%3Cpath%20fill%3D%22%23D9D59F%22%20d%3D%22M-469.005%2C520.5v2l-1-3h-1l-1%2C3v-2h-1v1l1%2C1v1l1%2C0.949v5l-1%2C1.051v2v1l1%2C2v3l-1%2C2l1%2C3v2h-1v1h1v1h1v-1h1v-1%0A%09%09h-1v-2l1-3l-1-2v-3l1-2v-1v-2l-1-1v-5l1-1v-1l1-1v-1H-469.005z%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}#catalog{position:fixed;overflow:hidden;top:49px;bottom:0;left:-100%;width:100%;z-index:500}#catalog .content .body{padding-top:0;padding-bottom:0}#catalog .catalog-header .extra-head-content{margin-right:0;width:100%}#catalog .catalog-header .extra-head-content h2{margin-right:100px}@media (max-width:600px){#catalog .catalog-header .extra-head-content h2{margin-right:80px}}@media (max-width:350px){#catalog .catalog-header .extra-head-content h2{margin-right:70px}}#full_message-toggle{display:none}@media (max-width:1000px){.view-catalog #bar .leftColumn .content,.view-full_message #bar .leftColumn .content{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%234f555d%22%20stroke-width%3D%221.5%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m1%2C1%2018%2C18%22%2F%3E%0A%3Cpath%20d%3D%22m19%2C1-18%2C18%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A")}}@media (max-width:1000px){.view-full_message #catalog-toggle{display:none}.view-full_message #full_message-toggle{display:block}}@media (max-width:1000px){.view-siteinfo #bar .centerWrapper .centerColumn{margin-right:50px}.view-siteinfo #bar .rightColumn{width:50px;margin-left:-50px}.view-siteinfo #bar .rightColumn .content{background:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%234f555d%22%20stroke-width%3D%221.5%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m1%2C1%2018%2C18%22%2F%3E%0A%3Cpath%20d%3D%22m19%2C1-18%2C18%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center}.view-siteinfo #bar .rightColumn .content span{display:none}}.lt-ie9 #full_message .body .logo,.lt-ie9 #bar .leftColumn .content{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAiCAYAAACjv9J3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTQtMDQtMjVUMTc6MzI6MDcrMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE0LTA0LTI1VDE3OjMyOjE1KzA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE0LTA0LTI1VDE3OjMyOjE1KzA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowM0E3NEFBOENDN0UxMUUzQUY4MEJGMThBQjcwMjdDNCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowM0E3NEFBOUNDN0UxMUUzQUY4MEJGMThBQjcwMjdDNCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjAzQTc0QUE2Q0M3RTExRTNBRjgwQkYxOEFCNzAyN0M0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAzQTc0QUE3Q0M3RTExRTNBRjgwQkYxOEFCNzAyN0M0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+6aGqrwAABt9JREFUeNq8V31sHcUR/+3enX1+z8bfdj5qh4SElJCqVUhjJGgVDCmBtkJtBcItFU0VRBFqaWuahABJyAeqTEtEEwHBf5TEkRDQQpQ/UpCdAGlLE1LUggxVIKLBcUMxcfD7vs9dZu/O9p1jp1igrt69eTdvZ34zu7Mzs+zQpa0S/+ehq69a3wZjDIzTC49RhoAP9c5CXkDVa0TlqMmKChlRxZfhf8STIqRCMHzMjUBdqJPFnjiPh5TzEFM92txZ0Lu3gM9vgRbjcz5BJrJ1XHdoIY/sTvrPJrBY9KUACUxcuTRg+0suBX9iC1jaTMyZUk80+EQ0FjciLhTRzIHD4EsWhcKXLUbupdcgLDtpewJsgs7RPY0P57oOcsELlkOmK8EzZ1DW/yqQHwl43nO94Nd/PZir1VXDeb4XaVLoXLYc1vWr4M+YA+O1PphP7wAbOTtpIPGEZfRYy7+N0s+7UPphJ5x8BnZFGiM7+mCvuDmYWquzwFs1lJfVrkOA7civ3gz7H4fhnf437NaLUbxjW0Jv3Hs+0QohBKRVhF/IQj92EPzgM7B2rkWpbSVkuRnuJXkXrMq+XmgUrta8L8F+pBP8xp9CPr8L4vWX4VTXwlu0FLLMnHpPx1Zc12Gt/Q7ksUPwNu1GKlWFmr8fhLPtx5CaHkysNcLZNXoYOGLfLlxgmrDuuxmVA8ehXdsBNm8xCmt2Iv/wPsjK6gTGOZ7KfA4NJ09A7+mC038UuQ27Yaar0MzosFmFsSAdM5U+1V4J/I3DaMh8CGfTXnjvH0fxtitQWvs9iNYFsK/+7vmil8bbR+H+4mFU02HW93bBfe8tZO9/EpI85vHjE/utzqhJ3pQ27oU7dArYfhcaaV8rHnkBLm2P+/HQ+UGNV1+A0zwb7rKrUUMphXdvgDvwLjIPPAVRXRdJsfGspKKcDMqu/z3cs0OQD92JeloZp20FnN6nYDTMhn60dwrQSEHFfwfh3tsBNxuGex0FCnt8PQGfQPbengCY3fTNUOSGawACyKx7Em6pCNH1EzRIDyBZ7+CzML56DcSf98N0nET0MpXw66WTyLuMqEO0PHgP89kw5Ux5904YM1pQV/X6mK0jw1+EIzj8B25Fk1sI86/a/tkX4ezpk6hyXaS8MP9K+m9Ylk2yp9Eom5C/6kEe/PZncCcceFcz4G3+EZr8QkKCnzqBZtdDWvzPNDj1UAobmQPx69sSfK/rDjSLwjmKjMnT7vRARwOnqZzDdcMD7/kpMsQN44p9ej3TApVlFch17kKBzQ/eC/ZMZNftgaiqm7RYfWZQWV6B7K+egDtjLvIb7wp4xa2dtNMcmfUEfEFdWMA/L1AFmFsTAlr3d6B5ZDDgN3hZuFtuhaebBNwTAif2g9Rr2nRA5Tjgum64rQthb10VABqRlEr2zcWP4GzogGeYlLl64NNRcZatQKHzd8g+2kdJf9kUoPI8Ht7TDa9lIawNP0DjB+/CUC3HonBP2YILoXJ+c2EoBK6sQWb7i8iveQx2ZhjFzm/B7//b5I1ZHNifewnsVWsp89QHS+M3txDgLWg6/Q4MLYwUb+VVgaC/cjn0N48TMHmcG8LwO/+E1vYNyJEzYHMWIr1xN9j+3cAr+xMYPOlZCoUtPbDfPga772n4F14C98Aeqjr9CKqZjJ7KVCiQTsGPeLyqFtrSdnjUNbCaBggCtvd1o3j7JniLL0+sZqJd8ecvhp8dhvHso8HZy1HnYF53C2WnCCw6EoVj/aimlkXRShFqs668Ad6RF8FP/gueY4FT4U9bJeQv/grstnak3jgyeSD5w6fBG2Yh1diCNOlKL/gyxJkPzokvBTYKHjS39CktaYe250EYQ4PQv3ARasnCCr0MxsIl8D4cmGJP1QtVmNxzjyG/4wBYbgTCdwFK5GOOKv2qdg6GhpR/dCZYEYXrbluNemra7SN/gnv5SmS7/xI0eII8L+v7w+SgSqlGX+YzBHroj9CohElK2o3SD/NfDFU1Z0G7ogLLCYWbZNiGpnwfBaqpxZlz6Jhq0AbfQ8oRiUMSljbhBAvNotLmE5VEDTZa6savGYryxzePN3K/fJBSkxVeH2LXCFeEdw5NjPME0bMoi53T2KM8NuSENCFHqcT7d24N+Kfu/g1EyQ54iTnREuryXN2jnp40pd9qQjBtzKvQa8QvUNEqKLYg3n8oSGbSnusKUF2OZOwSFV2gAiOid58uTyXJBcX1m8qga22mbbehfY3mVcJXYXyeZM1hpculOcu0YVkMwzaz6DZmfooUTrPxMtHbE8WIvGbtbw1MWSvof5UV2sjRXSQ4jyYOkKGrifdXkrOn0xBMexB4LZG99HyfwDLTlf9EgAEADgPlsIU1XNYAAAAASUVORK5CYII=")}.lt-ie9 #bar .centerWrapper .centerColumn #search .search-input:before{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTQtMDQtMjVUMTY6NTY6NTMrMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE0LTA0LTI1VDE3OjI3OjMyKzA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE0LTA0LTI1VDE3OjI3OjMyKzA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1QjIwOTBCMkNDN0QxMUUzQjY2Q0Q1QUIyMDlFQjZGMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1QjIwOTBCM0NDN0QxMUUzQjY2Q0Q1QUIyMDlFQjZGMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjVCMjA5MEIwQ0M3RDExRTNCNjZDRDVBQjIwOUVCNkYwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjVCMjA5MEIxQ0M3RDExRTNCNjZDRDVBQjIwOUVCNkYwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+xIu3GgAAAW9JREFUeNrklMErBFEYwPfh4ICDOElJSeJASvbAjQMHm7JLWf+Agxzl4sAJOTu4rBulRYrbtodtHVDi4KY9uEnKbKzD+D19U9M0M2/K3Lz69c3Oe99v33zvm1G2bSfiHHWJmEfswgbnQin1G2fmsk2EZViAPllTgTPYPT0+rHgl7rIp54cWIuuXxG4oQRG+YAim4RMWkeaNwlR6qZVwD3qH8yRdupP4s17CCfTAOPNlP6G7hmvQARmvTA/uPREmoAp7UQ4lDdckXgUtZu6FcACj7LjTJNQL7iIc5K3ELpPQgvYIQmfNh0lYgEkepS3IxJySdnqDB5NwG5ohR2JjgHMDRmCHen77LfD24TqXm/AIW9KHNRiEFenFC8jqEiGthTa2PFZGdus9RUvu78M5vMIs0mqoUKT1ujVgQF69Z11jki3mklzrPm2Rt2kqf5R7DxWaBtJhkeoDLCNM/ulrw05vCGNS61XfQ/k/H9gfAQYABpiK8tOO/IQAAAAASUVORK5CYII=")}.lt-ie9 #bar .centerWrapper .centerColumn #search.focus .search-input:before{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTQtMDQtMjVUMTY6NTY6NTMrMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE0LTA0LTI1VDE3OjI4OjQ1KzA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE0LTA0LTI1VDE3OjI4OjQ1KzA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4NkMyMkUwRUNDN0QxMUUzQkUzRDlEQjVGNjkxRDM2MiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4NkMyMkUwRkNDN0QxMUUzQkUzRDlEQjVGNjkxRDM2MiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjg2QzIyRTBDQ0M3RDExRTNCRTNEOURCNUY2OTFEMzYyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjg2QzIyRTBEQ0M3RDExRTNCRTNEOURCNUY2OTFEMzYyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ATmZuwAAAW9JREFUeNrklM8rBFEcwPexBwcctIqkpCRWfqRkD+vGgZuDpfgLHOQoFwdOyNnBxR8g2ZS9yUHrgMgqN+0BF0mZjXUYn6fv1DTNzJsyN68+fWfnve9n33zfd0bZtp2Ic9QkYh6xC5POhVLqN970ttQTFmEOemRNGY5ge+D+peyVuMumnB9aiCwtiZ1wDmfwBUMwBZ8wj/TQKLxNtzbpAHqHsySduJP4s27CAXTBGPNFP6G7hivQBjmvTA/uPRDGoQI7UQ5lBi5ILAQtZu6JsAej7LjdJNQLriMc5JXEDpPQguYIQmfNh0l4ChM8SirIxJySdnqDO5NwExpgn8S6AOcajMAW9fz2W+Dtw1Uu16EEG9KHVRiEJenFY1jQJUJaDW1seayc7NZ7ipbc34U8vMI00kqoUKS1ujWgT169R11jki3mMlzrPm2Ut2myv/T8Hio0DaTDItUHWESY+dPXhp1eErJS62XfQ/k/H9gfAQYAj6GKzr551WQAAAAASUVORK5CYII=")}.lt-ie9 #underlay{filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60)}.lt-ie9 .column .icon-phone{background-image:url(\'' + t.widgetUrl + "/static/img/icons/little_icons-02.png')}.lt-ie9 .column .icon-e-mail{background-image:url('" + t.widgetUrl + "/static/img/icons/little_icons-03.png')}.lt-ie9 .column .icon-address{background-image:url('" + t.widgetUrl + "/static/img/icons/little_icons-04.png')}.lt-ie9 .column .icon-site{background-image:url('" + t.widgetUrl + "/static/img/icons/little_icons-01.png')}.lt-ie9 .column .icon-bookmark{background-image:url('" + t.widgetUrl + "/static/img/icons/little_icons-05.png')}.lt-ie9 .column .icon-home-site{background-image:url('" + t.widgetUrl + "/static/img/icons/little_icons-07.png')}.lt-ie9 .column .icon-outer-link{background-image:url('" + t.widgetUrl + "/static/img/icons/little_icons-06.png')}.lt-ie9 .column .icon-site_lightgrey{background-image:url('" + t.widgetUrl + '/static/img/icons/little_icons-08.png\')}.lt-ie9 .column .extra-head.show_back:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTQtMDQtMjVUMTY6NTY6NTMrMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE0LTA0LTI1VDE3OjI4OjI2KzA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE0LTA0LTI1VDE3OjI4OjI2KzA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3QjQ4NjNDQUNDN0QxMUUzODlBQkM0QTJCNjZFNDk1NCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3QjQ4NjNDQkNDN0QxMUUzODlBQkM0QTJCNjZFNDk1NCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjdCNDg2M0M4Q0M3RDExRTM4OUFCQzRBMkI2NkU0OTU0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjdCNDg2M0M5Q0M3RDExRTM4OUFCQzRBMkI2NkU0OTU0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+OWstzwAAAKVJREFUeNq8lUEOQDAQRTuE41m5kY24gL2w64bjsajfaBOhg9L6yYtEpi8tY5BSSoRM4rpJRCxIDkZQPRZywWm0TIICZFzRCaYuBVJtqdm1T4RGNhhZc7mZO+FB1gJ6LdSLQeeSeQuNrOVkXsKDrHfJfIVWpp9detFGJxIROr8cOfhLidI2URo7yqcXZTjsxxeYrPRzH2LAzriUYAKLsyb0L2AVYACl848hhuxdHgAAAABJRU5ErkJggg==")}.lt-ie9 .column .content .body ul[class^="list-of-sites"] li>span span.toggle{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTQtMDQtMjVUMTY6NTY6NTMrMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE0LTA0LTI1VDE3OjI3OjU3KzA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE0LTA0LTI1VDE3OjI3OjU3KzA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2QTY1MDVCQ0NDN0QxMUUzOTlEOEZDNTQ3NjQ0QjVGNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2QTY1MDVCRENDN0QxMUUzOTlEOEZDNTQ3NjQ0QjVGNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjZBNjUwNUJBQ0M3RDExRTM5OUQ4RkM1NDc2NDRCNUY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjZBNjUwNUJCQ0M3RDExRTM5OUQ4RkM1NDc2NDRCNUY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Q8QzBgAAAKBJREFUeNpi/P//PwM1ARMDlcGogYPQQBZsgnZld7qAlA0Qux/uVv2MLGdbepsXSO0E4iOHulTKiHXhfSC2BOKNQAO4kAwDsTdC5e5j08iILWEzMjKCNFcAme1AvB+IvaFSW4HYEYgrgS7vwKoXl4FQF8EM3QyV8oUZBuKQbCDUUJDmcii3E2hYBUyOLAORDGVANowkA0dzyqiB+AFAgAEAFBNE08QpnGMAAAAASUVORK5CYII=")}.lt-ie9 .column .content .body ul[class^="list-of-sites"] li.open span.toggle{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTQtMDQtMjVUMTY6NTY6NTMrMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE0LTA0LTI1VDE3OjI4OjEwKzA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE0LTA0LTI1VDE3OjI4OjEwKzA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3MjFCMkEzNENDN0QxMUUzOTFBMkM0RjVCNjc5NTFBNSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3MjFCMkEzNUNDN0QxMUUzOTFBMkM0RjVCNjc5NTFBNSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjcyMUIyQTMyQ0M3RDExRTM5MUEyQzRGNUI2Nzk1MUE1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjcyMUIyQTMzQ0M3RDExRTM5MUEyQzRGNUI2Nzk1MUE1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/b5rcgAAAJ5JREFUeNpi/P//PwM1ARMDlcGogYPQQBZsgoyMjCh829LbHSD6cLdqBbI4tiRH0IVQw8pBGGYw2V4GGlABNWwzFJdDxXACRmzOBnkZqrEdiPcDsTdUaisQOwJxJdD7HVj1YhO0K7uTCaSmQQ3zAWr+BnUxF5DaAjU061CXynRivawIxMeB2B9mGDRSQGx/qJwi0V4ezSmjBuIHAAEGAHptOtEsPVu4AAAAAElFTkSuQmCC")}.lt-ie9 .block-close{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTQtMDQtMjVUMTY6NTY6NTMrMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE0LTA0LTI1VDE3OjI3OjQ1KzA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE0LTA0LTI1VDE3OjI3OjQ1KzA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2MzI3QkM4QUNDN0QxMUUzOTkxNEE5QUQ1N0Q2QUY2QiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2MzI3QkM4QkNDN0QxMUUzOTkxNEE5QUQ1N0Q2QUY2QiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjYzMjdCQzg4Q0M3RDExRTM5OTE0QTlBRDU3RDZBRjZCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjYzMjdCQzg5Q0M3RDExRTM5OTE0QTlBRDU3RDZBRjZCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+LF0CVgAAAcVJREFUeNqslE8ow2EYx3+/rZCLAzlISjkoB7k47IBEaodNIgdJuaidREsuxAW5rzmaHObPsh1WSv5cHamVElpLDpNJU1zm8+hZrdkfv7W3Pr/n7Xmf59v7e5/3eU33xPSyYRi9MBk+3Ps2Khho1GCCcG3j0wajEGGhvgIxyYmoRpsIemAbRiBKQIMFMYmNaq5oeMycxRXMmmwbnPz+axmxRhWT41olfl389mzAXezmqrOr+4PprAgyP8aXLiLWjLmAHlhEbDO7ZhYInsP44BEGCE7krbdiLqFdfpH1ndx1s8gOpjC78AyDJN2rvwNzDi0wg38/P9cscUYuzBEk9dBlnEITjCMWKZRnljn4Ib0SX+qqBRdiZ8Vy7KUEKcoDxXljOgZ1MI9YsFRO1XdoK3OGcs9S0Kek9PK7LAlqlUPwIkLs6FZQUfGFNKa8oN7DADyBI3tlZOjcoWsBjS0uSMACxg8xFUvkJ6jPoTF+zflbZe3lDe3lYRKTJaqfpvoH0knSqswz0rq/VUZIKr0FXhCnG7F3C69NGPr1tVmyad96tQuc/xXT35dYp+aKhk8E43Ci9+vT6gOrOS7ViJuZTMao5vgRYADuIbdSxzeX1wAAAABJRU5ErkJggg==")}@media (max-width:1400px){.no-siteinfo #bar .centerWrapper .centerColumn{margin-right:0 !important}}.no-siteinfo #bar .rightColumn{display:none !important}@media print{*{display:none !important}}.light-theme{color:#868686}.light-theme #bar{border-bottom:1px solid #c8c8c8;color:#868686;background:#fefefe}@media (min-width:1400px){.light-theme #bar .centerWrapper{background:#fefefe}}.light-theme #bar .centerWrapper .centerColumn{border-color:#c8c8c8}.light-theme #bar .leftColumn:hover,.light-theme #bar .rightColumn:hover,.light-theme #bar #search:hover{background:#f9f9f9;cursor:pointer}.light-theme .block-close{background-color:#dfdfdf;border-color:#e0e5ea}.light-theme .column{border:0 none;background-color:#fefefe}.light-theme .column::after,.light-theme .column::before{position:absolute;top:0;bottom:0;content:\'\';box-shadow:0 0 0 1px #e0e5ea;display:block;z-index:2}.light-theme .column::before{left:0}.light-theme .column::after{right:0}.light-theme .column .content .header,.light-theme .column .extra-head{background-color:#f4f4f4;color:#333333;border-bottom:1px solid #e0e5ea}.light-theme .column .content .header h2 a,.light-theme .column .extra-head h2 a{color:#333333}.light-theme #siteinfo{color:#363636}.light-theme #siteinfo .column:after{display:none}.light-theme #siteinfo .content .body .accordion dt{color:#868686;background:#f9f9f9}.light-theme #siteinfo .content .body .accordion dt:hover{color:#D12A18;background:#f9f9f9}.light-theme #siteinfo .content .body .accordion dt.open{color:#363636;background:#f9f9f9}.light-theme #siteinfo .header .icon-home-site{color:#868686}.light-theme #catalog .column::before{display:none}.light-theme #catalog .column .content .body a{color:#868686}.light-theme #catalog .column .content .body a:hover{color:#D12A18}.light-theme #catalog .column .content .body ul[class^="list-of"] li{background-color:#fefefe;border-bottom-color:#e0e5ea}.light-theme #catalog .column .content .body ul[class^="list-of"] li:hover{background-color:#f9f9f9}.light-theme #catalog .column .content .body ul[class^="list-of"] li:hover span.item-name{color:#D12A18}.light-theme #catalog .column .content .body ul[class^="list-of"] li.current{background-color:#f9f9f9}.light-theme #catalog .column .content .body ul[class^="list-of"] li.current span.item-name{color:#333333}.light-theme #catalog .column .content .body ul[class^="list-of"] li span.item-name{color:#928E89}.light-theme #catalog .column .content .body ul[class^="list-of-sites"] li{background-color:#f9f9f9;color:#333333}.light-theme #catalog .column .content .body ul[class^="list-of-sites"] li:hover{background-color:#fefefe}.light-theme #catalog .column .content .body ul[class^="list-of-sites"] li.open{color:#333333;background-color:#fefefe}.light-theme #catalog .column .content .body ul[class^="list-of-sites"] li span.toggle{color:#928E89}.light-theme #catalog .column .content .body ul[class^="list-of-sites"] li span.site-description{border-top-color:#e0e5ea}.light-theme #catalog .column .content .body ul[class^="list-of-sites"] li span.site-description .arr-down{border-top-color:#e0e5ea}.light-theme #catalog .column .content .body ul[class^="list-of-sites"] li span.site-description .arr-down i{border-top-color:#fefefe}.light-theme * ::-webkit-input-placeholder{color:#BCBCBC}.light-theme * :-moz-placeholder{color:#BCBCBC}.light-theme * ::-moz-placeholder{color:#BCBCBC}.light-theme * :-ms-input-placeholder{color:#BCBCBC}.light-theme #bar .centerWrapper .centerColumn #search button{color:#878B8E;background:#ededed}.light-theme #bar .centerWrapper .centerColumn #search .search-input-icon{color:#b4bbc0}.light-theme #bar .centerWrapper .centerColumn #search.focus{background-color:#f1f1f1}.light-theme #bar .centerWrapper .centerColumn #search.focus button{color:#878B8E;background:#dfdfdf}.light-theme #bar .centerWrapper .centerColumn #search.focus button:hover{color:#878B8E;background:#dfdfdf}.light-theme #bar .centerWrapper .centerColumn #search.focus .search-input-icon{color:#D12A18}.light-theme #bar .centerWrapper .centerColumn #search .search-result{margin:0 -1px;background:#f1f1f1}.light-theme #bar .centerWrapper .centerColumn #search .search-result ul{border:1px solid #c8c8c8;border-top:0 none}.light-theme #bar .centerWrapper .centerColumn #search .search-result ul li:hover{background:#f9f9f9}.light-theme #bar .centerWrapper .centerColumn #search .search-result ul li.selected{background:#f9f9f9}.dark-theme{color:#333333}.dark-theme #bar{border-bottom:1px solid #727983;color:#B4BAC2;background:#4f555d}@media (min-width:1400px){.dark-theme #bar .centerWrapper{background:#4f555d}}.dark-theme #bar .centerWrapper .centerColumn{border-color:#727983}.dark-theme #bar .leftColumn:hover,.dark-theme #bar .rightColumn:hover,.dark-theme #bar #search:hover{background:#67707a;cursor:pointer}.dark-theme .block-close{background-color:#E4E9ED;border-color:#d3d5d8}.dark-theme .column{border:0 none;background-color:#ecf0f4}.dark-theme .column::after,.dark-theme .column::before{position:absolute;top:0;bottom:0;content:\'\';box-shadow:0 0 0 1px rgba(184,189,194,0.5);display:block;z-index:2}.dark-theme .column::before{left:0}.dark-theme .column::after{right:0}.dark-theme .column .content .header,.dark-theme .column .extra-head{background-color:#4f555d;color:#fff;border-bottom:1px solid #727983}.dark-theme .column .content .header h2 a,.dark-theme .column .extra-head h2 a{color:#fff}.dark-theme #catalog .column::before{display:none}.dark-theme #catalog .column .content .body a{color:#868686}.dark-theme #catalog .column .content .body a:hover{color:#D12A18}.dark-theme #catalog .column .content .body ul[class^="list-of"] li{background-color:#EDF1F5;border-bottom-color:#E1E6EB}.dark-theme #catalog .column .content .body ul[class^="list-of"] li:hover{background-color:#FAFAFA}.dark-theme #catalog .column .content .body ul[class^="list-of"] li:hover span.item-name{color:#D12A18}.dark-theme #catalog .column .content .body ul[class^="list-of"] li.current{background-color:#FAFAFA}.dark-theme #catalog .column .content .body ul[class^="list-of"] li.current span.item-name{color:#333333}.dark-theme #catalog .column .content .body ul[class^="list-of"] li span.item-name{color:#868686}.dark-theme #catalog .column .content .body ul[class^="list-of-sites"] li{background-color:#fafafa;color:#333333}.dark-theme #catalog .column .content .body ul[class^="list-of-sites"] li:hover{background-color:#edf1f5}.dark-theme #catalog .column .content .body ul[class^="list-of-sites"] li.open{color:#333333;background-color:#edf1f5}.dark-theme #catalog .column .content .body ul[class^="list-of-sites"] li span.toggle{color:#868686}.dark-theme #catalog .column .content .body ul[class^="list-of-sites"] li span.site-description{border-top-color:#E1E6EB}.dark-theme #catalog .column .content .body ul[class^="list-of-sites"] li span.site-description .arr-down{border-top-color:#E1E6EB}.dark-theme #catalog .column .content .body ul[class^="list-of-sites"] li span.site-description .arr-down i{border-top-color:#edf1f5}.dark-theme #siteinfo{color:#363636}.dark-theme #siteinfo .column:after{display:none}.dark-theme #siteinfo .content .body .accordion dt{color:#868686;background:#FAFAFA}.dark-theme #siteinfo .content .body .accordion dt:hover{color:#D12A18;background:#FAFAFA}.dark-theme #siteinfo .content .body .accordion dt.open{color:#363636;background:#FAFAFA}.dark-theme #siteinfo .header .icon-home-site{color:#B4BAC2}.dark-theme * ::-webkit-input-placeholder{color:#BCBCBC}.dark-theme * :-moz-placeholder{color:#BCBCBC}.dark-theme * ::-moz-placeholder{color:#BCBCBC}.dark-theme * :-ms-input-placeholder{color:#BCBCBC}.dark-theme #bar .centerWrapper .centerColumn #search button{color:#B4BAC2;background:#60656C}.dark-theme #bar .centerWrapper .centerColumn #search .search-input-icon{color:#f9f9fa}.dark-theme #bar .centerWrapper .centerColumn #search.focus{background-color:#fafafa}.dark-theme #bar .centerWrapper .centerColumn #search.focus button{color:#B4BAC2;background:#60666D}.dark-theme #bar .centerWrapper .centerColumn #search.focus button:hover{color:#B4BAC2;background:#60666D}.dark-theme #bar .centerWrapper .centerColumn #search.focus .search-input-icon{color:#D12A18}.dark-theme #bar .centerWrapper .centerColumn #search .search-result{margin:0 -1px;background:#fafafa}.dark-theme #bar .centerWrapper .centerColumn #search .search-result ul{border:1px solid #727983;border-top:0 none}.dark-theme #bar .centerWrapper .centerColumn #search .search-result ul li:hover{background:#ecf0f4}.dark-theme #bar .centerWrapper .centerColumn #search .search-result ul li.selected{background:#ecf0f4}@media (max-width:1000px){.view-siteinfo .dark-theme #bar .rightColumn .content,.view-catalog .dark-theme #bar .leftColumn .content,.view-full_message .dark-theme #bar .leftColumn .content{background:url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20enable-background%3D%22new%200%200%2020%2020%22%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%23f9f9fa%22%20stroke-width%3D%221.5%22%20stroke-miterlimit%3D%2210%22%3E%0A%3Cpath%20d%3D%22m1%2C1%2018%2C18%22%2F%3E%0A%3Cpath%20d%3D%22m19%2C1-18%2C18%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center}}'; | |
return e | |
}; | |
return t.render = t, | |
t | |
}() | |
} | |
, function(t, e, n) { | |
t.exports = function() { | |
var t = function(t) { | |
var e = '<style id="dynamic_css"></style><div id="main" class="' + (t.theme || "default") + "-theme "; | |
return t.noSiteinfo && (e += "no-siteinfo"), | |
e += '"> <div id="underlay"></div> ', | |
t.noSiteinfo || (e += ' <div id="siteinfo" class="hiddenBlock siteinfo"> <div class="block-close"></div> <div class="column" id="information"></div> </div> '), | |
e += ' <div id="full_message" class="hiddenBlock"> <div class="block-close"></div> <div class="column" id="full_message_content"></div> </div> <div id="catalog" class="hiddenBlock catalog"> <div class="column-wrapper"> <div class="block-close"></div> </div> </div> <div id="bar"> <div class="centerWrapper"> <div class="centerColumn"> <div class="content"> ', | |
t.searchIsDisabled || (e += ' <form id="search" action="' + t.action + '" method="get" target="_top" accept-charset="UTF-8"> <div class="search-input"> <span class="search-input-icon"><svg width="20" xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 0 20 20" xmlns:xlink="http://www.w3.org/1999/xlink" enable-background="new 0 0 20 20"><path fill="currentColor" d="m9,4.5c2.481,0 4.5,2.019 4.5,4.5s-2.019,4.5-4.5,4.5-4.5-2.019-4.5-4.5 2.019-4.5 4.5-4.5m0-1.5c-3.313,0-6,2.687-6,6s2.687,6 6,6 6-2.687 6-6-2.687-6-6-6z"/><path fill="none" stroke="currentColor" stroke-width="2" d="m14,14 3,3" stroke-miterlimit="10"/></svg></span> <input type="text" id="search_query" name="' + t.searchField + '" placeholder="Поиск по сайту" value="" autocomplete="off" ', | |
e += ' /><input type="text" id="search_placeholder" tabIndex="-1" value="" /></div> <input id="site" name="site" type="hidden" value="' + t.site + '" disabled="" /> <button type="submit" ', | |
e += '>Найти</button> <div class="checkbox"> <label><input type="checkbox" id="on_all" ', | |
t.check && (e += 'checked="checked"'), | |
e += ' />По всем сайтам каталога</label></div> <div class="search-result" id="searchResult"></div> </form> '), | |
e += ' </div> </div> </div> <div class="leftColumn"> <div id="catalog-toggle"> <div class="content logo"> <span>Навигатор по государственным <br/>сайтам Санкт-Петербурга</span> </div> </div> <div id="full_message-toggle"> <div class="content"> <span></span> </div> </div> </div> ', | |
t.noSiteinfo || (e += ' <div class="rightColumn" id="siteinfo-toggle"> <div class="content"> <span class="main"> Этот сайт включен <br/> в каталог государственных сайтов Санкт-Петербурга </span> <span class="alt"> О сайте </span> </div> </div> '), | |
e += ' </div> <div id="message"></div></div>' | |
}; | |
return t.render = t, | |
t | |
}() | |
} | |
, function(t, e) { | |
t.exports = function() { | |
var t = function(t) { | |
var e = '<div class="extra-head catalog-header"> <div class="extra-head-content"> <h2><a href="' + t.catalogUrl + '/" target="_blank">Каталог государственных сайтов <nobr>Санкт-Петербурга</nobr></a></h2> </div></div><div class="content extra-head-on"> <div class="body"> <ul class="list-of-categories"> ' | |
, n = t.items; | |
if (n) | |
for (var i, o = -1, r = n.length - 1; o < r; ) | |
i = n[o += 1], | |
e += " ", | |
i.item && i.item.name && (e += ' <li id="cat_' + i.item.id + '" data-id="' + i.item.id + '"> <span> <span class="item-name">' + i.item.name + '</span> </span> <span class="item-icon-' + t.correctImageExtantion + "-" + i.item.id + '"></span> </li> '), | |
e += " "; | |
return e += " </ul> </div></div>" | |
}; | |
return t.render = t, | |
t | |
}() | |
} | |
, function(t, e) { | |
t.exports = function() { | |
var t = function(t) { | |
var e = '<div class="extra-head"> <svg width="20" xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 0 20 20" xmlns:xlink="http://www.w3.org/1999/xlink" enable-background="new 0 0 20 20"> <path fill="none" stroke="currentColor" stroke-width="1.5" d="m14,1-8,9 8,9" stroke-miterlimit="10"/> </svg> <div class="extra-head-content"> <h2>' + t.title + '</h2> </div></div><div class="content extra-head-on"> <div class="body"> <ul class="list-of-sites"> ' | |
, n = t.items; | |
if (n) | |
for (var i, o = -1, r = n.length - 1; o < r; ) | |
i = n[o += 1], | |
e += ' <li id="site_' + (i.id || "IDD") + '"> <span ', | |
i.description && (e += 'class="site-toggle"'), | |
e += "> ", | |
i.description && (e += ' <span class="toggle"> <svg class="arrow-bottom" width="20" xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 0 20 20" xmlns:xlink="http://www.w3.org/1999/xlink" enable-background="new 0 0 20 20"> <path fill="none" stroke="currentColor" stroke-width="1.5" d="m14,8-4,5-4-5" stroke-miterlimit="10"/> </svg> <svg class="arrow-top" width="20" xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 0 20 20" xmlns:xlink="http://www.w3.org/1999/xlink" enable-background="new 0 0 20 20"> <path fill="none" stroke="currentColor" stroke-width="1.5" d="m14,13-4-5-4,5" stroke-miterlimit="10"/> </svg> </span> '), | |
e += ' <span><a href="http://' + i.host + '" target="_blank" class="icon-site_lightgrey">' + i.host + "</a></span> <span>" + i.name + "</span> </span> ", | |
i.description && (e += ' <span class="site-description"> <i class="arr-down"> <i></i> </i> <span>' + i.description + "</span> </span> "), | |
e += " </li> "; | |
return e += " </ul> </div></div>" | |
}; | |
return t.render = t, | |
t | |
}() | |
} | |
, function(t, e) { | |
t.exports = function() { | |
var t = function(t) { | |
var e = '<div class="extra-head"> <svg width="20" xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 0 20 20" xmlns:xlink="http://www.w3.org/1999/xlink" enable-background="new 0 0 20 20"> <path fill="none" stroke="currentColor" stroke-width="1.5" d="m14,1-8,9 8,9" stroke-miterlimit="10"/> </svg> <div class="extra-head-content"> <h2>' + t.title + '</h2> </div></div><div class="content extra-head-on"> <div class="body"> <ul class="list-of-subcategories"> ' | |
, n = t.items; | |
if (n) | |
for (var i, o = -1, r = n.length - 1; o < r; ) | |
i = n[o += 1], | |
e += " ", | |
i.item && i.item.name && (e += ' <li id="subcat_' + i.item.id + '" data-id="' + i.item.id + '"> <span> <span class="item-name">' + i.item.name + "</span> </span> </li> "), | |
e += " "; | |
return e += " </ul> </div></div>" | |
}; | |
return t.render = t, | |
t | |
}() | |
} | |
, function(t, e) { | |
t.exports = function() { | |
var t = function(t) { | |
var e = '<div class="content"> <div class="body"> <div class="logo"></div> '; | |
return t.text ? (e += " ", | |
t.title && (e += " <h2>" + t.title + "</h2> "), | |
e += ' <div class="full_text"> ' + t.text.replace(/\n/gim, "<br />") + " </div> ", | |
t.link && (e += ' <div class="audio"> <audio src="//' + t.NOTIFICATION_HOSTNAME + t.link + '" controls="controls" preload="none"> Ваш браузер не поддерживает аудио элементы. </audio> </div> '), | |
e += " ") : e += " идет загрузка... ", | |
e += " </div></div>" | |
}; | |
return t.render = t, | |
t | |
}() | |
} | |
, function(t, e) { | |
t.exports = function() { | |
var t = function(t) { | |
var e = '<!DOCTYPE html><!--[if lt IE 7]><html class="lt-ie9 lt-ie8 lt-ie7" lang="ru"><![endif]--><!--[if IE 7]><html class="lt-ie9 lt-ie8" lang="ru"><![endif]--><!--[if IE 8]><html class="lt-ie9" lang="ru"><![endif]--><!--[if IE 9]><html class="lt-ie10" lang="ru"><![endif]--><!--[if gt IE 9]><!--><html lang="ru"><!--<![endif]--><head> <meta charset="utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <style type="text/css">' + this.render("css", t) + "</style></head><body></body></html>"; | |
return e | |
}; | |
return t.render = t, | |
t | |
}() | |
} | |
, function(t, e) { | |
t.exports = function() { | |
var t = function(t) { | |
var e = ""; | |
return t.msg && (e += '<div class="messageColumn" id="message-toggle"> <span class="msg-helper ', | |
t.link && (e += "msg-helper--audio"), | |
e += '"> Полный текст </span> <div class="content"> <span class="msg"> ' + t.msg + " </span> </div></div>"), | |
e | |
}; | |
return t.render = t, | |
t | |
}() | |
} | |
, function(t, e) { | |
t.exports = function() { | |
var t = function(t) { | |
var e = ""; | |
if (t.suggests && t.suggests.length > 0) { | |
e += "<ul> "; | |
var n; | |
e += " "; | |
for (var i = 0, o = t.suggests.length; i < o; i++) | |
e += " ", | |
n = t.suggests[i], | |
e += ' <li class="search-suggest" data-value="' + this.escapeAttrs(n) + '">' + n + "</li> "; | |
e += "</ul>" | |
} | |
return e | |
}; | |
return t.render = t, | |
t | |
}() | |
} | |
, function(t, e) { | |
t.exports = function() { | |
var t = function(t) { | |
var e = ' <div class="content"> <div class="header"> <a class="icon-home-site" href="http://' + t.site.host + '" target="_blank">' + t.site.host + "</a> <h1>" + t.site.name + '</h1> </div> <div class="body"> <p class="responsible_org">Ответственная организация</p> <h2>' + t.organization.full_name + '</h2> <dl class="accordion"> '; | |
return t.organization && (e += ' <dt class="default">Контактная информация</dt> <dd> <div class="slide-content"> <ul class="information"> ', | |
t.organization.phone && (e += ' <li class="icon-phone">' + t.organization.phone + "</li> "), | |
e += " ", | |
t.organization.email && (e += ' <li class="icon-e-mail"><a href="mailto:' + t.organization.email + '">' + t.organization.email + "</a></li> "), | |
e += " ", | |
t.organization.address && (e += ' <li class="icon-address">' + t.organization.address + "</li> "), | |
e += " ", | |
!t.site.is_official && t.organization.website_url && (e += ' <li class="icon-site"> <a href="' + t.organization.website_url + '" target="_blank">' + t.organization.website_url + "</a> </li> "), | |
e += " ", | |
t.organization.gov_url && (e += ' <li class="icon-outer-link"><a href="' + t.organization.gov_url + '" target="_blank">Раздел на официальном сайте Администрации Санкт-Петербурга</a></li> '), | |
e += " </ul> </div> </dd> "), | |
e += " ", | |
t.organization.description && (e += ' <dt>Об организации</dt> <dd> <div class="slide-content"> ' + t.organization.description + " </div> </dd> "), | |
e += " ", | |
t.organization_parent && (e += ' <dt>Курирующая организация</dt> <dd> <div class="slide-content"> ', | |
t.organization_parent && (e += " <h2>" + t.organization_parent.full_name + "</h2> "), | |
e += ' <ul class="information"> ', | |
t.organization_parent.phone && (e += ' <li class="icon-phone">' + t.organization_parent.phone + "</li> "), | |
e += " ", | |
t.organization_parent.email && (e += ' <li class="icon-e-mail"><a href="mailto:' + t.organization_parent.email + '">' + t.organization_parent.email + "</a></li> "), | |
e += " ", | |
t.organization_parent.address && (e += ' <li class="icon-address">' + t.organization_parent.address + "</li> "), | |
e += " ", | |
t.organization_parent.website_url && (e += ' <li class="icon-site"> <a href="' + t.organization_parent.website_url + '" target="_blank">' + t.organization_parent.website_url + "</a> </li> "), | |
e += " ", | |
t.organization_parent.gov_url && (e += ' <li class="icon-outer-link"><a href="' + t.organization_parent.gov_url + '" target="_blank">Раздел на официальном сайте Администрации Санкт-Петербурга</a></li> '), | |
e += " </ul> </div> </dd> "), | |
e += " </dl> </div> </div>" | |
}; | |
return t.render = t, | |
t | |
}() | |
} | |
, function(t, e) { | |
t.exports = function(t, e) { | |
"use strict"; | |
function n(t) { | |
throw RangeError(k[t]) | |
} | |
function i(t, e) { | |
for (var n = t.length; n--; ) | |
t[n] = e(t[n]); | |
return t | |
} | |
function o(t, e) { | |
return i(t.split(F), e).join(".") | |
} | |
function r(t) { | |
for (var e, n, i = [], o = 0, r = t.length; o < r; ) | |
e = t.charCodeAt(o++), | |
e >= 55296 && e <= 56319 && o < r ? (n = t.charCodeAt(o++), | |
56320 == (64512 & n) ? i.push(((1023 & e) << 10) + (1023 & n) + 65536) : (i.push(e), | |
o--)) : i.push(e); | |
return i | |
} | |
function s(t) { | |
return i(t, function(t) { | |
var e = ""; | |
return t > 65535 && (t -= 65536, | |
e += I(t >>> 10 & 1023 | 55296), | |
t = 56320 | 1023 & t), | |
e += I(t) | |
}).join("") | |
} | |
function a(t) { | |
return t - 48 < 10 ? t - 22 : t - 65 < 26 ? t - 65 : t - 97 < 26 ? t - 97 : C | |
} | |
function l(t, e) { | |
return t + 22 + 75 * (t < 26) - ((0 != e) << 5) | |
} | |
function c(t, e, n) { | |
var i = 0; | |
for (t = n ? S(t / w) : t >> 1, | |
t += S(t / e); t > _ * b >> 1; i += C) | |
t = S(t / _); | |
return S(i + (_ + 1) * t / (t + v)) | |
} | |
function h(t) { | |
var e, i, o, r, l, h, u, d, p, m, v = [], w = t.length, E = 0, x = D, F = A; | |
for (i = t.lastIndexOf(y), | |
i < 0 && (i = 0), | |
o = 0; o < i; ++o) | |
t.charCodeAt(o) >= 128 && n("not-basic"), | |
v.push(t.charCodeAt(o)); | |
for (r = i > 0 ? i + 1 : 0; r < w; ) { | |
for (l = E, | |
h = 1, | |
u = C; r >= w && n("invalid-input"), | |
d = a(t.charCodeAt(r++)), | |
(d >= C || d > S((g - E) / h)) && n("overflow"), | |
E += d * h, | |
p = u <= F ? f : u >= F + b ? b : u - F, | |
!(d < p); u += C) | |
m = C - p, | |
h > S(g / m) && n("overflow"), | |
h *= m; | |
e = v.length + 1, | |
F = c(E - l, e, 0 == l), | |
S(E / e) > g - x && n("overflow"), | |
x += S(E / e), | |
E %= e, | |
v.splice(E++, 0, x) | |
} | |
return s(v) | |
} | |
function u(t) { | |
var e, i, o, s, a, h, u, d, p, m, v, w, E, x, F, k = []; | |
for (t = r(t), | |
w = t.length, | |
e = D, | |
i = 0, | |
a = A, | |
h = 0; h < w; ++h) | |
v = t[h], | |
v < 128 && k.push(I(v)); | |
for (o = s = k.length, | |
s && k.push(y); o < w; ) { | |
for (u = g, | |
h = 0; h < w; ++h) | |
v = t[h], | |
v >= e && v < u && (u = v); | |
for (E = o + 1, | |
u - e > S((g - i) / E) && n("overflow"), | |
i += (u - e) * E, | |
e = u, | |
h = 0; h < w; ++h) | |
if (v = t[h], | |
v < e && ++i > g && n("overflow"), | |
v == e) { | |
for (d = i, | |
p = C; m = p <= a ? f : p >= a + b ? b : p - a, | |
!(d < m); p += C) | |
F = d - m, | |
x = C - m, | |
k.push(I(l(m + F % x, 0))), | |
d = S(F / x); | |
k.push(I(l(d, 0))), | |
a = c(i, E, o == s), | |
i = 0, | |
++o | |
} | |
++i, | |
++e | |
} | |
return k.join("") | |
} | |
function d(t) { | |
return o(t, function(t) { | |
return E.test(t) ? h(t.slice(4).toLowerCase()) : t | |
}) | |
} | |
function p(t) { | |
return o(t, function(t) { | |
return x.test(t) ? "xn--" + u(t) : t | |
}) | |
} | |
var m, g = 2147483647, C = 36, f = 1, b = 26, v = 38, w = 700, A = 72, D = 128, y = "-", E = /^xn--/, x = /[^ -~]/, F = /\x2E|\u3002|\uFF0E|\uFF61/g, k = { | |
overflow: "Overflow: input needs wider integers to process", | |
"not-basic": "Illegal input >= 0x80 (not a basic code point)", | |
"invalid-input": "Invalid input" | |
}, _ = C - f, S = Math.floor, I = String.fromCharCode; | |
m = { | |
version: "1.2.4", | |
ucs2: { | |
decode: r, | |
encode: s | |
}, | |
decode: h, | |
encode: u, | |
toASCII: p, | |
toUnicode: d | |
}, | |
t.punycode = m | |
} | |
} | |
, function(t, e) { | |
t.exports = function(t, e) { | |
"use strict"; | |
if (!t.PushStream) { | |
var n = {} | |
, i = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] | |
, o = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] | |
, r = function(t) { | |
return (t < 10 ? "0" : "") + t | |
}; | |
n.dateToUTCString = function(t) { | |
var e = r(t.getUTCHours()) + ":" + r(t.getUTCMinutes()) + ":" + r(t.getUTCSeconds()); | |
return i[t.getUTCDay()] + ", " + r(t.getUTCDate()) + " " + o[t.getUTCMonth()] + " " + t.getUTCFullYear() + " " + e + " GMT" | |
} | |
; | |
var s = function() { | |
for (var t = arguments[0] || {}, e = 0; e < arguments.length; e++) { | |
var n = arguments[e]; | |
for (var i in n) | |
n.hasOwnProperty && !n.hasOwnProperty(i) || (t[i] = n[i]) | |
} | |
return t | |
} | |
, a = /^[\],:{}\s]*$/ | |
, l = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g | |
, c = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g | |
, h = /(?:^|:|,)(?:\s*\[)+/g | |
, u = function(t) { | |
return t.replace(/^\s*/, "").replace(/\s*$/, "") | |
}; | |
n.parseJSON = function(t) { | |
if (!t || !b(t)) | |
return null; | |
if (t = u(t), | |
window.JSON && window.JSON.parse) | |
try { | |
return window.JSON.parse(t) | |
} catch (e) { | |
throw "Invalid JSON: " + t | |
} | |
if (a.test(t.replace(l, "@").replace(c, "]").replace(h, ""))) | |
return new Function("return " + t)(); | |
throw "Invalid JSON: " + t | |
} | |
; | |
var d = function(t) { | |
var e = {}; | |
return e[t.tagArgument] = "", | |
e[t.timeArgument] = "", | |
e[t.eventIdArgument] = "", | |
t.messagesControlByArgument && (e[t.tagArgument] = Number(t._etag), | |
t._lastModified ? e[t.timeArgument] = t._lastModified : t._lastEventId && (e[t.eventIdArgument] = t._lastEventId)), | |
e | |
} | |
, p = function() { | |
return (new Date).getTime() | |
} | |
, m = function() { | |
return { | |
_: p() | |
} | |
} | |
, g = function(t) { | |
var e = t; | |
if ("object" == typeof t) { | |
e = ""; | |
for (var n in t) | |
t.hasOwnProperty && !t.hasOwnProperty(n) || (e += "&" + n + "=" + window.escape(t[n])); | |
e = e.substring(1) | |
} | |
return e || "" | |
} | |
, C = function(t, e) { | |
return t + (t.indexOf("?") < 0 ? "?" : "&") + g(e) | |
} | |
, f = Array.isArray || function(t) { | |
return "[object Array]" === Object.prototype.toString.call(t) | |
} | |
, b = function(t) { | |
return "[object String]" === Object.prototype.toString.call(t) | |
} | |
, v = function(t) { | |
return "[object Date]" === Object.prototype.toString.call(t) | |
} | |
, w = { | |
logger: null, | |
debug: function() { | |
"debug" === L.LOG_LEVEL && w._log.apply(w._log, arguments) | |
}, | |
info: function() { | |
"info" !== L.LOG_LEVEL && "debug" !== L.LOG_LEVEL || w._log.apply(w._log, arguments) | |
}, | |
error: function() { | |
w._log.apply(w._log, arguments) | |
}, | |
_initLogger: function() { | |
var t = window.console; | |
t && t.log && (t.log.apply ? w.logger = t.log : "object" == typeof t.log && Function.prototype.bind ? w.logger = Function.prototype.bind.call(t.log, t) : "object" == typeof t.log && Function.prototype.call && (w.logger = function() { | |
Function.prototype.call.call(t.log, t, Array.prototype.slice.call(arguments)) | |
} | |
)) | |
}, | |
_log: function() { | |
if (w.logger || w._initLogger(), | |
w.logger) | |
try { | |
w.logger.apply(window.console, arguments) | |
} catch (t) { | |
w._initLogger(), | |
w.logger && w.logger.apply(window.console, arguments) | |
} | |
var e = document.getElementById(L.LOG_OUTPUT_ELEMENT_ID); | |
if (e) { | |
for (var n = "", i = 0; i < arguments.length; i++) | |
n += arguments[i] + " "; | |
e.innerHTML += n + "\n"; | |
var o = e.innerHTML.split("\n"); | |
o.length > 100 && (e.innerHTML = o.slice(-100).join("\n")) | |
} | |
} | |
} | |
, A = { | |
_getXHRObject: function(t) { | |
var e = !1; | |
if (t) { | |
try { | |
e = new window.XDomainRequest | |
} catch (n) {} | |
if (e) | |
return e | |
} | |
try { | |
e = new window.XMLHttpRequest | |
} catch (i) { | |
try { | |
e = new window.ActiveXObject("Msxml2.XMLHTTP") | |
} catch (o) { | |
try { | |
e = new window.ActiveXObject("Microsoft.XMLHTTP") | |
} catch (r) { | |
e = !1 | |
} | |
} | |
} | |
return e | |
}, | |
_send: function(t, e) { | |
t = t || {}, | |
t.timeout = t.timeout || 3e4; | |
var n = A._getXHRObject(t.crossDomain); | |
if (n && t.url) { | |
A.clear(t), | |
t.xhr = n, | |
window.XDomainRequest && n instanceof window.XDomainRequest ? (n.onload = function() { | |
t.afterReceive && t.afterReceive(n), | |
t.success && t.success(n.responseText) | |
} | |
, | |
n.onerror = n.ontimeout = function() { | |
t.afterReceive && t.afterReceive(n), | |
t.error && t.error(n.status) | |
} | |
) : n.onreadystatechange = function() { | |
4 === n.readyState && (A.clear(t), | |
t.afterReceive && t.afterReceive(n), | |
200 === n.status ? t.success && t.success(n.responseText) : t.error && t.error(n.status)) | |
} | |
, | |
t.beforeOpen && t.beforeOpen(n); | |
var i = {} | |
, o = null | |
, r = "GET"; | |
e ? (o = g(t.data), | |
r = "POST") : i = t.data || {}, | |
n.open(r, C(t.url, s({}, i, m())), !0), | |
t.beforeSend && t.beforeSend(n); | |
var a = function() { | |
A.clear(t); | |
try { | |
n.abort() | |
} catch (e) {} | |
t.error(304) | |
}; | |
return e ? n.setRequestHeader && (n.setRequestHeader("Accept", "application/json"), | |
n.setRequestHeader("Content-type", "application/x-www-form-urlencoded")) : t.timeoutId = window.setTimeout(a, t.timeout + 2e3), | |
n.send(o), | |
n | |
} | |
}, | |
_clear_xhr: function(t) { | |
t && (t.onreadystatechange = null) | |
}, | |
_clear_script: function(t) { | |
t && (t.onerror = t.onload = t.onreadystatechange = null, | |
t.parentNode && t.parentNode.removeChild(t)) | |
}, | |
_clear_timeout: function(t) { | |
t.timeoutId = I(t.timeoutId) | |
}, | |
_clear_jsonp: function(t) { | |
var e = t.data.callback; | |
e && (window[e] = function() { | |
window[e] = null | |
} | |
) | |
}, | |
clear: function(t) { | |
A._clear_timeout(t), | |
A._clear_jsonp(t), | |
A._clear_script(document.getElementById(t.scriptId)), | |
A._clear_xhr(t.xhr) | |
}, | |
jsonp: function(t) { | |
t.timeout = t.timeout || 3e4, | |
A.clear(t); | |
var e = document.head || document.getElementsByTagName("head")[0] | |
, n = document.createElement("script") | |
, i = p() | |
, o = function() { | |
A.clear(t); | |
var e = p(); | |
t.error(e - i > t.timeout / 2 ? 304 : 403) | |
} | |
, r = function() { | |
A.clear(t), | |
t.load() | |
} | |
, a = function() { | |
t.afterSuccess = !0, | |
t.success.apply(null, arguments) | |
}; | |
return n.onerror = o, | |
n.onload = n.onreadystatechange = function(e) { | |
n.readyState && !/loaded|complete/.test(n.readyState) || (t.afterSuccess ? r() : o()) | |
} | |
, | |
t.beforeOpen && t.beforeOpen({}), | |
t.beforeSend && t.beforeSend({}), | |
t.timeoutId = window.setTimeout(o, t.timeout + 2e3), | |
t.scriptId = t.scriptId || p(), | |
t.afterSuccess = null, | |
t.data.callback = t.scriptId + "_onmessage_" + p(), | |
window[t.data.callback] = a, | |
n.setAttribute("src", C(t.url, s({}, t.data, m()))), | |
n.setAttribute("async", "async"), | |
n.setAttribute("id", t.scriptId), | |
e.insertBefore(n, e.firstChild), | |
t | |
}, | |
load: function(t) { | |
return A._send(t, !1) | |
}, | |
post: function(t) { | |
return A._send(t, !0) | |
} | |
} | |
, D = function(t) { | |
return t ? window.escape(t) : "" | |
} | |
, y = function(t) { | |
return t ? window.unescape(t) : "" | |
}; | |
n.parseMessage = function(t, e) { | |
var i = t; | |
b(t) && (i = n.parseJSON(t)); | |
var o = { | |
id: i[e.jsonIdKey], | |
channel: i[e.jsonChannelKey], | |
text: b(i[e.jsonTextKey]) ? y(i[e.jsonTextKey]) : i[e.jsonTextKey], | |
tag: i[e.jsonTagKey], | |
time: i[e.jsonTimeKey], | |
eventid: i[e.jsonEventIdKey] || "" | |
}; | |
return o | |
} | |
; | |
var E = function(t) { | |
return t.backtrack ? ".b" + Number(t.backtrack) : "" | |
} | |
, x = function(t, e) { | |
var n = ""; | |
for (var i in t) | |
t.hasOwnProperty && !t.hasOwnProperty(i) || (n += "/" + i + (e ? E(t[i]) : "")); | |
return n | |
} | |
, F = function(t, e, n, i) { | |
var o = t.wrapper.type === T.TYPE | |
, r = t.useSSL | |
, a = _(r, t.port) | |
, l = o ? r ? "wss://" : "ws://" : r ? "https://" : "http://"; | |
l += t.host, | |
l += a ? ":" + a : "", | |
l += e; | |
var c = x(t.channels, i); | |
if (t.channelsByArgument) { | |
var h = {}; | |
h[t.channelsArgument] = c.substring(1), | |
n = s({}, n, h) | |
} else | |
l += c; | |
return C(l, n) | |
} | |
, k = function(t) { | |
var e = _(t.useSSL, t.port) | |
, n = t.useSSL ? "https://" : "http://"; | |
return n += t.host, | |
n += e ? ":" + e : "", | |
n += t.urlPrefixPublisher, | |
n += "?id=" + x(t.channels, !1) | |
}; | |
n.extract_xss_domain = function(t) { | |
if (t.match(/^(\d{1,3}\.){3}\d{1,3}$/)) | |
return t; | |
var e = t.split(".") | |
, n = Math.max(e.length - 1, t.match(/(\w{4,}\.\w{2}|\.\w{3,})$/) ? 2 : 3); | |
return e.slice(-1 * n).join(".") | |
} | |
; | |
var _ = function(t, e) { | |
return e = Number(e || (t ? 443 : 80)), | |
!t && 80 === e || t && 443 === e ? "" : e | |
}; | |
n.isCrossDomainUrl = function(t) { | |
if (!t) | |
return !1; | |
var e = document.createElement("a"); | |
e.href = t; | |
var n = _("https:" === window.location.protocol, window.location.port) | |
, i = _("https:" === e.protocol, e.port); | |
return window.location.protocol !== e.protocol || window.location.hostname !== e.hostname || n !== i | |
} | |
; | |
var S = function(t, e) { | |
return function() { | |
return t.apply(e, arguments) | |
} | |
} | |
, I = function(t) { | |
return t && window.clearTimeout(t), | |
null | |
} | |
, z = function(t) { | |
w.info("[" + this.type + "] message received", arguments); | |
var e = n.parseMessage(t.data, this.pushstream); | |
e.tag && (this.pushstream._etag = e.tag), | |
e.time && (this.pushstream._lastModified = e.time), | |
e.eventid && (this.pushstream._lastEventId = e.eventid), | |
this.pushstream._onmessage(e.text, e.id, e.channel, e.eventid, !0, e.time) | |
} | |
, N = function() { | |
this.pushstream._onopen(), | |
w.info("[" + this.type + "] connection opened") | |
} | |
, M = function(t) { | |
w.info("[" + this.type + "] error (disconnected by server):", t), | |
this.pushstream.readyState === L.OPEN && this.type === B.TYPE && "error" === t.type && this.connection.readyState === window.EventSource.CONNECTING || (this._closeCurrentConnection(), | |
this.pushstream._onerror({ | |
type: t && ("load" === t.type || "close" === t.type && 1006 === t.code) || this.pushstream.readyState === L.CONNECTING ? "load" : "timeout" | |
})) | |
} | |
, T = function(t) { | |
if (!window.WebSocket && !window.MozWebSocket) | |
throw "WebSocket not supported"; | |
this.type = T.TYPE, | |
this.pushstream = t, | |
this.connection = null | |
}; | |
T.TYPE = "WebSocket", | |
T.prototype = { | |
connect: function() { | |
this._closeCurrentConnection(); | |
var t = s({}, this.pushstream.extraParams(), m(), d(this.pushstream)) | |
, e = F(this.pushstream, this.pushstream.urlPrefixWebsocket, t, !this.pushstream._useControlArguments()); | |
this.connection = window.WebSocket ? new window.WebSocket(e) : new window.MozWebSocket(e), | |
this.connection.onerror = S(M, this), | |
this.connection.onclose = S(M, this), | |
this.connection.onopen = S(N, this), | |
this.connection.onmessage = S(z, this), | |
w.info("[WebSocket] connecting to:", e) | |
}, | |
disconnect: function() { | |
this.connection && (w.debug("[WebSocket] closing connection to:", this.connection.url), | |
this.connection.onclose = null, | |
this._closeCurrentConnection(), | |
this.pushstream._onclose()) | |
}, | |
_closeCurrentConnection: function() { | |
if (this.connection) { | |
try { | |
this.connection.close() | |
} catch (t) {} | |
this.connection = null | |
} | |
}, | |
sendMessage: function(t) { | |
this.connection && this.connection.send(t) | |
} | |
}; | |
var B = function(t) { | |
if (!window.EventSource) | |
throw "EventSource not supported"; | |
this.type = B.TYPE, | |
this.pushstream = t, | |
this.connection = null | |
}; | |
B.TYPE = "EventSource", | |
B.prototype = { | |
connect: function() { | |
this._closeCurrentConnection(); | |
var t = s({}, this.pushstream.extraParams(), m(), d(this.pushstream)) | |
, e = F(this.pushstream, this.pushstream.urlPrefixEventsource, t, !this.pushstream._useControlArguments()); | |
this.connection = new window.EventSource(e), | |
this.connection.onerror = S(M, this), | |
this.connection.onopen = S(N, this), | |
this.connection.onmessage = S(z, this), | |
w.info("[EventSource] connecting to:", e) | |
}, | |
disconnect: function() { | |
this.connection && (w.debug("[EventSource] closing connection to:", this.connection.url), | |
this.connection.onclose = null, | |
this._closeCurrentConnection(), | |
this.pushstream._onclose()) | |
}, | |
_closeCurrentConnection: function() { | |
if (this.connection) { | |
try { | |
this.connection.close() | |
} catch (t) {} | |
this.connection = null | |
} | |
} | |
}; | |
var j = function(t) { | |
this.type = j.TYPE, | |
this.pushstream = t, | |
this.connection = null, | |
this.url = null, | |
this.frameloadtimer = null, | |
this.pingtimer = null, | |
this.iframeId = "PushStreamManager_" + t.id | |
}; | |
j.TYPE = "Stream", | |
j.prototype = { | |
connect: function() { | |
this._closeCurrentConnection(); | |
var t = n.extract_xss_domain(this.pushstream.host); | |
try { | |
document.domain = t | |
} catch (e) { | |
w.error("[Stream] (warning) problem setting document.domain = " + t + " (OBS: IE8 does not support set IP numbers as domain)") | |
} | |
var i = s({}, this.pushstream.extraParams(), m(), { | |
streamid: this.pushstream.id | |
}, d(this.pushstream)); | |
this.url = F(this.pushstream, this.pushstream.urlPrefixStream, i, !this.pushstream._useControlArguments()), | |
w.debug("[Stream] connecting to:", this.url), | |
this.loadFrame(this.url) | |
}, | |
disconnect: function() { | |
this.connection && (w.debug("[Stream] closing connection to:", this.url), | |
this._closeCurrentConnection(), | |
this.pushstream._onclose()) | |
}, | |
_clear_iframe: function() { | |
var t = document.getElementById(this.iframeId); | |
t && (t.onload = null, | |
t.src = "about:blank", | |
t.parentNode && t.parentNode.removeChild(t)) | |
}, | |
_closeCurrentConnection: function() { | |
this._clear_iframe(), | |
this.connection && (this.pingtimer = I(this.pingtimer), | |
this.frameloadtimer = I(this.frameloadtimer), | |
this.connection = null, | |
this.transferDoc = null, | |
"function" == typeof window.CollectGarbage && window.CollectGarbage()) | |
}, | |
loadFrame: function(t) { | |
this._clear_iframe(); | |
var e = null; | |
if ("ActiveXObject"in window) { | |
var n = new window.ActiveXObject("htmlfile"); | |
n.open(), | |
n.write("<html><script>document.domain='" + document.domain + "';</script>"), | |
n.write("<body><iframe id='" + this.iframeId + "' src='" + t + "'></iframe></body></html>"), | |
n.parentWindow.PushStream = L, | |
n.close(), | |
e = n.getElementById(this.iframeId), | |
this.transferDoc = n | |
} else | |
e = document.createElement("IFRAME"), | |
e.style.width = "1px", | |
e.style.height = "1px", | |
e.style.border = "none", | |
e.style.position = "absolute", | |
e.style.top = "-10px", | |
e.style.marginTop = "-10px", | |
e.style.zIndex = "-20", | |
e.PushStream = L, | |
document.body.appendChild(e), | |
e.setAttribute("src", t), | |
e.setAttribute("id", this.iframeId); | |
e.onload = S(M, this), | |
this.connection = e, | |
this.frameloadtimer = window.setTimeout(S(M, this), this.pushstream.timeout) | |
}, | |
register: function(t) { | |
this.frameloadtimer = I(this.frameloadtimer), | |
t.p = S(this.process, this), | |
this.connection.onload = S(this._onframeloaded, this), | |
this.pushstream._onopen(), | |
this.setPingTimer(), | |
w.info("[Stream] frame registered") | |
}, | |
process: function(t, e, n, i, o, r) { | |
this.pingtimer = I(this.pingtimer), | |
w.info("[Stream] message received", arguments), | |
t !== -1 && (r && (this.pushstream._etag = r), | |
o && (this.pushstream._lastModified = o), | |
i && (this.pushstream._lastEventId = i)), | |
this.pushstream._onmessage(y(n), t, e, i || "", !0, o), | |
this.setPingTimer() | |
}, | |
_onframeloaded: function() { | |
w.info("[Stream] frame loaded (disconnected by server)"), | |
this.pushstream._onerror({ | |
type: "timeout" | |
}), | |
this.connection.onload = null, | |
this.disconnect() | |
}, | |
setPingTimer: function() { | |
this.pingtimer && I(this.pingtimer), | |
this.pingtimer = window.setTimeout(S(M, this), this.pushstream.pingtimeout) | |
} | |
}; | |
var R = function(t) { | |
this.type = R.TYPE, | |
this.pushstream = t, | |
this.connection = null, | |
this.opentimer = null, | |
this.messagesQueue = [], | |
this._linkedInternalListen = S(this._internalListen, this), | |
this.xhrSettings = { | |
timeout: this.pushstream.timeout, | |
data: {}, | |
url: null, | |
success: S(this.onmessage, this), | |
error: S(this.onerror, this), | |
load: S(this.onload, this), | |
beforeSend: S(this.beforeSend, this), | |
afterReceive: S(this.afterReceive, this) | |
} | |
}; | |
R.TYPE = "LongPolling", | |
R.prototype = { | |
connect: function() { | |
this.messagesQueue = [], | |
this._closeCurrentConnection(), | |
this.urlWithBacktrack = F(this.pushstream, this.pushstream.urlPrefixLongpolling, {}, !0), | |
this.urlWithoutBacktrack = F(this.pushstream, this.pushstream.urlPrefixLongpolling, {}, !1), | |
this.xhrSettings.url = this.urlWithBacktrack, | |
this.useJSONP = this.pushstream._crossDomain || this.pushstream.useJSONP, | |
this.xhrSettings.scriptId = "PushStreamManager_" + this.pushstream.id, | |
this.useJSONP && (this.pushstream.messagesControlByArgument = !0), | |
this._listen(), | |
this.opentimer = window.setTimeout(S(N, this), 150), | |
w.info("[LongPolling] connecting to:", this.xhrSettings.url) | |
}, | |
_listen: function() { | |
this._internalListenTimeout && I(this._internalListenTimeout), | |
this._internalListenTimeout = window.setTimeout(this._linkedInternalListen, 100) | |
}, | |
_internalListen: function() { | |
this.pushstream._keepConnected && (this.xhrSettings.url = this.pushstream._useControlArguments() ? this.urlWithoutBacktrack : this.urlWithBacktrack, | |
this.xhrSettings.data = s({}, this.pushstream.extraParams(), this.xhrSettings.data, d(this.pushstream)), | |
this.useJSONP ? this.connection = A.jsonp(this.xhrSettings) : this.connection || (this.connection = A.load(this.xhrSettings))) | |
}, | |
disconnect: function() { | |
this.connection && (w.debug("[LongPolling] closing connection to:", this.xhrSettings.url), | |
this._closeCurrentConnection(), | |
this.pushstream._onclose()) | |
}, | |
_closeCurrentConnection: function() { | |
if (this.opentimer = I(this.opentimer), | |
this.connection) { | |
try { | |
this.connection.abort() | |
} catch (t) { | |
try { | |
A.clear(this.connection) | |
} catch (e) {} | |
} | |
this.connection = null, | |
this.xhrSettings.url = null | |
} | |
}, | |
beforeSend: function(t) { | |
this.pushstream.messagesControlByArgument || (t.setRequestHeader("If-None-Match", this.pushstream._etag), | |
t.setRequestHeader("If-Modified-Since", this.pushstream._lastModified)) | |
}, | |
afterReceive: function(t) { | |
this.pushstream.messagesControlByArgument || (this.pushstream._etag = t.getResponseHeader("Etag"), | |
this.pushstream._lastModified = t.getResponseHeader("Last-Modified")), | |
this.connection = null | |
}, | |
onerror: function(t) { | |
this._closeCurrentConnection(), | |
this.pushstream._keepConnected && (304 === t ? this._listen() : (w.info("[LongPolling] error (disconnected by server):", t), | |
this.pushstream._onerror({ | |
type: 403 === t || this.pushstream.readyState === L.CONNECTING ? "load" : "timeout" | |
}))) | |
}, | |
onload: function() { | |
this._listen() | |
}, | |
onmessage: function(t) { | |
this._internalListenTimeout && I(this._internalListenTimeout), | |
w.info("[LongPolling] message received", t); | |
for (var e = null, i = f(t) ? t : t.replace(/\}\{/g, "}\r\n{").split("\r\n"), o = 0; o < i.length; o++) | |
i[o] && (e = n.parseMessage(i[o], this.pushstream), | |
this.messagesQueue.push(e), | |
this.pushstream.messagesControlByArgument && e.time && (this.pushstream._etag = e.tag, | |
this.pushstream._lastModified = e.time)); | |
for (this._listen(); this.messagesQueue.length > 0; ) { | |
var r = this.messagesQueue.shift(); | |
this.pushstream._onmessage(r.text, r.id, r.channel, r.eventid, 0 === this.messagesQueue.length, r.time) | |
} | |
} | |
}; | |
var O = [] | |
, L = function(t) { | |
t = t || {}, | |
this.id = O.push(this) - 1, | |
this.useSSL = t.useSSL || !1, | |
this.host = t.host || window.location.hostname, | |
this.port = Number(t.port || (this.useSSL ? 443 : 80)), | |
this.timeout = t.timeout || 3e4, | |
this.pingtimeout = t.pingtimeout || 3e4, | |
this.reconnectOnTimeoutInterval = t.reconnectOnTimeoutInterval || 3e3, | |
this.reconnectOnChannelUnavailableInterval = t.reconnectOnChannelUnavailableInterval || 6e4, | |
this.autoReconnect = t.autoReconnect !== !1, | |
this.lastEventId = t.lastEventId || null, | |
this.messagesPublishedAfter = t.messagesPublishedAfter, | |
this.messagesControlByArgument = t.messagesControlByArgument || !1, | |
this.tagArgument = t.tagArgument || "tag", | |
this.timeArgument = t.timeArgument || "time", | |
this.eventIdArgument = t.eventIdArgument || "eventid", | |
this.useJSONP = t.useJSONP || !1, | |
this._reconnecttimer = null, | |
this._etag = 0, | |
this._lastModified = null, | |
this._lastEventId = null, | |
this.urlPrefixPublisher = t.urlPrefixPublisher || "/pub", | |
this.urlPrefixStream = t.urlPrefixStream || "/sub", | |
this.urlPrefixEventsource = t.urlPrefixEventsource || "/ev", | |
this.urlPrefixLongpolling = t.urlPrefixLongpolling || "/lp", | |
this.urlPrefixWebsocket = t.urlPrefixWebsocket || "/ws", | |
this.jsonIdKey = t.jsonIdKey || "id", | |
this.jsonChannelKey = t.jsonChannelKey || "channel", | |
this.jsonTextKey = t.jsonTextKey || "text", | |
this.jsonTagKey = t.jsonTagKey || "tag", | |
this.jsonTimeKey = t.jsonTimeKey || "time", | |
this.jsonEventIdKey = t.jsonEventIdKey || "eventid", | |
this.modes = (t.modes || "eventsource|websocket|stream|longpolling").split("|"), | |
this.wrappers = [], | |
this.wrapper = null, | |
this.onchanneldeleted = t.onchanneldeleted || null, | |
this.onmessage = t.onmessage || null, | |
this.onerror = t.onerror || null, | |
this.onstatuschange = t.onstatuschange || null, | |
this.extraParams = t.extraParams || function() { | |
return {} | |
} | |
, | |
this.channels = {}, | |
this.channelsCount = 0, | |
this.channelsByArgument = t.channelsByArgument || !1, | |
this.channelsArgument = t.channelsArgument || "channels", | |
this._crossDomain = n.isCrossDomainUrl(k(this)); | |
for (var e = 0; e < this.modes.length; e++) | |
try { | |
var i = null; | |
switch (this.modes[e]) { | |
case "websocket": | |
i = new T(this); | |
break; | |
case "eventsource": | |
i = new B(this); | |
break; | |
case "longpolling": | |
i = new R(this); | |
break; | |
case "stream": | |
i = new j(this) | |
} | |
this.wrappers[this.wrappers.length] = i | |
} catch (o) { | |
w.info(o) | |
} | |
this.readyState = 0 | |
}; | |
L.LOG_LEVEL = "error", | |
L.LOG_OUTPUT_ELEMENT_ID = "Log4jsLogOutput", | |
L.CLOSED = 0, | |
L.CONNECTING = 1, | |
L.OPEN = 2, | |
L.prototype = { | |
addChannel: function(t, e) { | |
if (D(t) !== t) | |
throw "Invalid channel name! Channel has to be a set of [a-zA-Z0-9]"; | |
if (w.debug("entering addChannel"), | |
"undefined" != typeof this.channels[t]) | |
throw "Cannot add channel " + t + ": already subscribed"; | |
e = e || {}, | |
w.info("adding channel", t, e), | |
this.channels[t] = e, | |
this.channelsCount++, | |
this.readyState !== L.CLOSED && this.connect(), | |
w.debug("leaving addChannel") | |
}, | |
removeChannel: function(t) { | |
this.channels[t] && (w.info("removing channel", t), | |
delete this.channels[t], | |
this.channelsCount--) | |
}, | |
removeAllChannels: function() { | |
w.info("removing all channels"), | |
this.channels = {}, | |
this.channelsCount = 0 | |
}, | |
_setState: function(t) { | |
this.readyState !== t && (w.info("status changed", t), | |
this.readyState = t, | |
this.onstatuschange && this.onstatuschange(this.readyState)) | |
}, | |
connect: function() { | |
if (w.debug("entering connect"), | |
!this.host) | |
throw "PushStream host not specified"; | |
if (isNaN(this.port)) | |
throw "PushStream port not specified"; | |
if (!this.channelsCount) | |
throw "No channels specified"; | |
if (0 === this.wrappers.length) | |
throw "No available support for this browser"; | |
this._keepConnected = !0, | |
this._lastUsedMode = 0, | |
this._connect(), | |
w.debug("leaving connect") | |
}, | |
disconnect: function() { | |
w.debug("entering disconnect"), | |
this._keepConnected = !1, | |
this._disconnect(), | |
this._setState(L.CLOSED), | |
w.info("disconnected"), | |
w.debug("leaving disconnect") | |
}, | |
_useControlArguments: function() { | |
return this.messagesControlByArgument && (null !== this._lastModified || null !== this._lastEventId) | |
}, | |
_connect: function() { | |
if (null === this._lastEventId && (this._lastEventId = this.lastEventId), | |
null === this._lastModified) { | |
var t = this.messagesPublishedAfter; | |
if (!v(t)) { | |
var e = Number(this.messagesPublishedAfter); | |
e > 0 ? (t = new Date, | |
t.setTime(t.getTime() - 1e3 * e)) : e < 0 && (t = new Date(0)) | |
} | |
v(t) && (this._lastModified = n.dateToUTCString(t)); | |
} | |
this._disconnect(), | |
this._setState(L.CONNECTING), | |
this.wrapper = this.wrappers[this._lastUsedMode++ % this.wrappers.length]; | |
try { | |
this.wrapper.connect() | |
} catch (i) { | |
this.wrapper && this.wrapper.disconnect() | |
} | |
}, | |
_disconnect: function() { | |
this._reconnecttimer = I(this._reconnecttimer), | |
this.wrapper && this.wrapper.disconnect() | |
}, | |
_onopen: function() { | |
this._reconnecttimer = I(this._reconnecttimer), | |
this._setState(L.OPEN), | |
this._lastUsedMode > 0 && this._lastUsedMode-- | |
}, | |
_onclose: function() { | |
this._reconnecttimer = I(this._reconnecttimer), | |
this._setState(L.CLOSED), | |
this._reconnect(this.reconnectOnTimeoutInterval) | |
}, | |
_onmessage: function(t, e, n, i, o, r) { | |
w.debug("message", t, e, n, i, o, r), | |
e === -2 ? this.onchanneldeleted && this.onchanneldeleted(n) : e > 0 && this.onmessage && this.onmessage(t, e, n, i, o, r) | |
}, | |
_onerror: function(t) { | |
this._setState(L.CLOSED), | |
this._reconnect("timeout" === t.type ? this.reconnectOnTimeoutInterval : this.reconnectOnChannelUnavailableInterval), | |
this.onerror && this.onerror(t) | |
}, | |
_reconnect: function(t) { | |
this.autoReconnect && this._keepConnected && !this._reconnecttimer && this.readyState !== L.CONNECTING && (w.info("trying to reconnect in", t), | |
this._reconnecttimer = window.setTimeout(S(this._connect, this), t)) | |
}, | |
sendMessage: function(t, e, n) { | |
t = D(t), | |
this.wrapper.type === T.TYPE ? (this.wrapper.sendMessage(t), | |
e && e()) : A.post({ | |
url: k(this), | |
data: t, | |
success: e, | |
error: n, | |
crossDomain: this._crossDomain | |
}) | |
} | |
}, | |
L.sendMessage = function(t, e, n, i) { | |
A.post({ | |
url: t, | |
data: D(e), | |
success: n, | |
error: i | |
}) | |
} | |
, | |
L.register = function(t) { | |
var e = t.window.location.href.match(/streamid=([0-9]*)&?/); | |
e[1] && O[e[1]] && O[e[1]].wrapper.register(t) | |
} | |
, | |
L.unload = function() { | |
for (var t = 0; t < O.length; t++) | |
try { | |
O[t].disconnect() | |
} catch (e) {} | |
} | |
, | |
t.PushStream = L, | |
t.PushStreamManager = O, | |
window.attachEvent && window.attachEvent("onunload", L.unload), | |
window.addEventListener && window.addEventListener.call(window, "unload", L.unload, !1) | |
} | |
} | |
} | |
]); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment