/* >>> file start: js/node_modules/angular-route/angular-route.js */
!function(e,r){"use strict";function t(e,r){if(c(e)){r=r||[];for(var t=0,n=e.length;n>t;t++)r[t]=e[t]}else if(u(e)){r=r||{};for(var a in e)"$"===a.charAt(0)&&"$"===a.charAt(1)||(r[a]=e[a])}return r||e}function n(){function e(e,t){return r.extend(Object.create(e),t)}function n(e,r){var t=r.caseInsensitiveMatch,n={originalPath:e,regexp:e},a=n.keys=[];return e=e.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)(\*\?|[\?\*])?/g,function(e,r,t,n){var o="?"===n||"*?"===n?"?":null,i="*"===n||"*?"===n?"*":null;return a.push({name:t,optional:!!o}),r=r||"",""+(o?"":r)+"(?:"+(o?r:"")+(i&&"(.+?)"||"([^/]+)")+(o||"")+")"+(o||"")}).replace(/([\/$\*])/g,"\\$1"),n.regexp=new RegExp("^"+e+"$",t?"i":""),n}c=r.isArray,u=r.isObject;var a={};this.when=function(e,o){var i=t(o);if(r.isUndefined(i.reloadOnSearch)&&(i.reloadOnSearch=!0),r.isUndefined(i.caseInsensitiveMatch)&&(i.caseInsensitiveMatch=this.caseInsensitiveMatch),a[e]=r.extend(i,e&&n(e,i)),e){var c="/"==e[e.length-1]?e.substr(0,e.length-1):e+"/";a[c]=r.extend({redirectTo:e},n(c,i))}return this},this.caseInsensitiveMatch=!1,this.otherwise=function(e){return"string"==typeof e&&(e={redirectTo:e}),this.when(null,e),this},this.$get=["$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce",function(t,n,o,i,c,u,l){function h(e,r){var t=r.keys,n={};if(!r.regexp)return null;var a=r.regexp.exec(e);if(!a)return null;for(var o=1,i=a.length;i>o;++o){var c=t[o-1],u=a[o];c&&u&&(n[c.name]=u)}return n}function f(e){var n=C.current;g=v(),w=g&&n&&g.$$route===n.$$route&&r.equals(g.pathParams,n.pathParams)&&!g.reloadOnSearch&&!P,w||!n&&!g||t.$broadcast("$routeChangeStart",g,n).defaultPrevented&&e&&e.preventDefault()}function $(){var e=C.current,a=g;w?(e.params=a.params,r.copy(e.params,o),t.$broadcast("$routeUpdate",e)):(a||e)&&(P=!1,C.current=a,a&&a.redirectTo&&(r.isString(a.redirectTo)?n.path(m(a.redirectTo,a.params)).search(a.params).replace():n.url(a.redirectTo(a.pathParams,n.path(),n.search())).replace()),i.when(a).then(d).then(function(n){a==C.current&&(a&&(a.locals=n,r.copy(a.params,o)),t.$broadcast("$routeChangeSuccess",a,e))},function(r){a==C.current&&t.$broadcast("$routeChangeError",a,e,r)}))}function d(e){if(e){var t=r.extend({},e.resolve);r.forEach(t,function(e,n){t[n]=r.isString(e)?c.get(e):c.invoke(e,null,null,n)});var n=p(e);return r.isDefined(n)&&(t.$template=n),i.all(t)}}function p(e){var t,n;return r.isDefined(t=e.template)?r.isFunction(t)&&(t=t(e.params)):r.isDefined(n=e.templateUrl)&&(r.isFunction(n)&&(n=n(e.params)),r.isDefined(n)&&(e.loadedTemplateUrl=l.valueOf(n),t=u(n))),t}function v(){var t,o;return r.forEach(a,function(a,i){!o&&(t=h(n.path(),a))&&(o=e(a,{params:r.extend({},n.search(),t),pathParams:t}),o.$$route=a)}),o||a[null]&&e(a[null],{params:{},pathParams:{}})}function m(e,t){var n=[];return r.forEach((e||"").split(":"),function(e,r){if(0===r)n.push(e);else{var a=e.match(/(\w+)(?:[?*])?(.*)/),o=a[1];n.push(t[o]),n.push(a[2]||""),delete t[o]}}),n.join("")}var g,w,P=!1,C={routes:a,reload:function(){P=!0;var e={defaultPrevented:!1,preventDefault:function(){this.defaultPrevented=!0,P=!1}};t.$evalAsync(function(){f(e),e.defaultPrevented||$()})},updateParams:function(e){if(!this.current||!this.current.$$route)throw s("norout","Tried updating route when with no current route");e=r.extend({},this.current.params,e),n.path(m(this.current.$$route.originalPath,e)),n.search(e)}};return t.$on("$locationChangeStart",f),t.$on("$locationChangeSuccess",$),C}]}function a(){this.$get=function(){return{}}}function o(e,t,n){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,o,i,c,u){function l(){$&&(n.cancel($),$=null),h&&(h.$destroy(),h=null),f&&($=n.leave(f),$.then(function(){$=null}),f=null)}function s(){var i=e.current&&e.current.locals,c=i&&i.$template;if(r.isDefined(c)){var s=a.$new(),$=e.current,v=u(s,function(e){n.enter(e,null,f||o).then(function(){!r.isDefined(d)||d&&!a.$eval(d)||t()}),l()});f=v,h=$.scope=s,h.$emit("$viewContentLoaded"),h.$eval(p)}else l()}var h,f,$,d=i.autoscroll,p=i.onload||"";a.$on("$routeChangeSuccess",s),s()}}}function i(e,r,t){return{restrict:"ECA",priority:-400,link:function n(a,o){var i=t.current,c=i.locals;o.html(c.$template);var n=e(o.contents());if(i.controller){c.$scope=a;var u=r(i.controller,c);i.controllerAs&&(a[i.controllerAs]=u),o.data("$ngControllerController",u),o.children().data("$ngControllerController",u)}a[i.resolveAs||"$resolve"]=c,n(a)}}}var c,u,l=r.module("ngRoute",["ng"]).provider("$route",n),s=r.$$minErr("ngRoute");l.provider("$routeParams",a),l.directive("ngView",o),l.directive("ngView",i),o.$inject=["$route","$anchorScroll","$animate"],i.$inject=["$compile","$controller","$route"]}(window,window.angular);
/* <<< file end: js/node_modules/angular-route/angular-route.js */

//# map link was there [angular-route.js.map]
/* >>> file start: js/core/angular/pills.js */
!function(i){return i}(),function(){"use strict";angular.module("LJ.Pills",[]).factory("Pills",function(){var i={};return{group:function(n,t){return"undefined"==typeof t?i[n]:void(i[n]=t)}}}).directive("ljPillsGroup",["Pills",function(i){return{restrict:"A",link:function(n,t,l){var r=l.ljPillsGroupActive||"b-menu-item-active";n.$watch(function(){return i.group(l.ljPillsGroup)},function(i){t.find("[data-pill]").removeClass(r).filter('[data-pill="'+i+'"]').addClass(r)})}}}])}();
/* <<< file end: js/core/angular/pills.js */

//# map link was there [pills.js.map]
/* >>> file start: js/core/angular/activity.js */
!function(){"use strict";function t(t,n){function c(){return u}function e(t){u=t}function i(){n.cancel(o),e(!0),o=n(e.bind(this,!1),9e5)}var u,o;return i(),t.on("click touchstart touchend keydown mousemove mousewheel",LJ.Function.debounce(i,100,!0)),{isActive:c}}angular.module("LJ.Activity",[]),angular.module("LJ.Activity").factory("Activity",t),t.$inject=["$document","$timeout"]}();
/* <<< file end: js/core/angular/activity.js */

//# map link was there [activity.js.map]
/* >>> file start: js/core/angular/api.js */
//!= require js/core/angular/messages.js
//= require js/core/angular/activity.js
!function(){"use strict";function e(e,t,n,c,r,i){function s(e,t){return"undefined"==typeof t?e:e+angular.toJson(a(t))}function a(e){var t;return angular.isObject(e)?(t={},Object.keys(e).sort().forEach(function(n){t[n]=a(e[n])}),t):e}function o(e,t){f.remove(s(e,t))}function u(t,a,o,u){var g,l,p=c.defer(),d={cache:!1,silent:!1,meta:!1},m=!1;return i.isActive()?(angular.isObject(a)&&null!==a||(a={}),angular.isObject(o)&&(u=o,o=null),u=angular.extend(d,u||{}),l=s(t,a),u.cache&&(g=f.get(l),g&&(m=!0)),m||(g=p.promise,LJ.Api.call(t,a,function(t){e(function(){t.error?p.reject(t.error):p.resolve(t),n.$apply()},0)}),u.cache&&f.put(l,g)),LJ.Event.trigger("api:request:change",t,!0),g.then(function(){LJ.Event.trigger("api:request:change",t,!1)}),u.silent||g.then(function(e){if(!u.silentSuccess){var t={};"undefined"!=typeof e.message&&(angular.isString(e.message)?(t.body=e.message,t.type="success"):(t.body=e.message.content,t.type="success"),r.add(t))}},function(e){"undefined"!=typeof e.message&&1!==e.code&&r.error({body:e.message})}),u.meta&&(g=g.then(function(e){return{response:e,fromCache:m}})),angular.isFunction(o)&&g.then(o),g):(p.reject(),p.promise)}var g={call:u,invalidate:o},f=t("LJApiPromises");return g}e.$inject=["$timeout","$cacheFactory","$rootScope","$q","Messages","Activity"],angular.module("LJ.Api",["LJ.Messages","LJ.Activity"]).factory("Api",e),e.$inject=["$timeout","$cacheFactory","$rootScope","$q","Messages","Activity"]}();
/* <<< file end: js/core/angular/api.js */

//# map link was there [api.js.map]
/* >>> file start: js/core/angular/linkTarget.js */
angular.module("LJ.LinkTarget",[]).directive("linkTarget",["$timeout",function(t){return{restrict:"A",link:function(n,i,r){t(function(){i.find("a:not([target])").attr("target",r.linkTarget)})}}}]);
/* <<< file end: js/core/angular/linkTarget.js */

//# map link was there [linkTarget.js.map]
/* >>> file start: js/core/angular/ljMediaStorage.js */
//= require js/core/angular/api.js
Site.page.template['angular/storage.ng.tmpl'] = '<div class=\"flatmedia-storage\"\n     ng-class=\"{\n       \'flatmedia-storage-light\': directive.usage <= 30,\n       \'flatmedia-storage-normal\': directive.usage > 30 && directive.usage <= 50,\n       \'flatmedia-storage-medium\': directive.usage > 50 && directive.usage <= 80,\n       \'flatmedia-storage-full\': directive.usage > 80 && directive.usage <= 100\n     }\"\n     ng-if=\"directive.storage\">\n    <div class=\"flatmedia-storage-item\">\n        <span class=\"flatmedia-storage-info\">\n            <span class=\"flatmedia-storage-percent\" ng-bind=\"directive.usage\"></span>\n            <span class=\"flatmedia-storage-size\">\n                <span ng-bind=\"directive.storage.occupied | dimension\"></span>\n            </span>\n        </span>\n        <span class=\"flatmedia-storage-progressbox\">\n            <span class=\"flatmedia-storage-progress\" ng-style=\"{ width: directive.usage + \'%\' }\"></span>\n        </span>\n    </div>\n    <div class=\"flatmedia-storage-item\" ng-if=\"!directive.isPermanent\">\n        <a ng-href=\"{{directive.siteroot}}/shop/diskquota.bml\"\n           target=\"_blank\"\n           class=\"flatmedia-storage-buymore\"\n           lj-ml=\"flatmedia.storage.buy.more\"></a>\n    </div>\n</div>\n';
LJ.injectStyle('/* >>> file start: stc/widgets/storage.css */\n.flatmedia-storage{position:relative;padding:0 0 0 46px}.flatmedia-storage:before{display:block;position:absolute;left:0;top:0;content:\"\";width:30px;height:30px;background-image:url(/img/icons/flatmedia.svg?v=47481);background-repeat:no-repeat;background-position:-10px -1028px}.flatmedia-storage.flatmedia-storage-full:before{background-position:-10px -1078px}.flatmedia-storage-item{margin:0 0 4px;line-height:1.05}.flatmedia-storage-info{display:inline-block;margin:0 0 6px;font-size:13px}.flatmedia-storage-percent{font-family:ProximaNovaBold,Helvetica,sans-serif;color:#49595E}.flatmedia-storage-percent:after{content:\"%\"}.flatmedia-storage-size{color:#7A9199}.flatmedia-storage-progressbox{display:block;position:relative;z-index:10;height:4px;width:100%;border-top:1px solid #DFDFDF;border-left:1px solid #DFDFDF;box-sizing:border-box;background:#FFF;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(223,223,223,1)),color-stop(33%,rgba(244,244,244,1)),color-stop(67%,rgba(255,255,255,1)),color-stop(100%,rgba(255,255,255,1)));background:-webkit-linear-gradient(top,rgba(223,223,223,1) 0,rgba(244,244,244,1) 33%,rgba(255,255,255,1) 67%,rgba(255,255,255,1) 100%);background:linear-gradient(to bottom,rgba(223,223,223,1) 0,rgba(244,244,244,1) 33%,rgba(255,255,255,1) 67%,rgba(255,255,255,1) 100%)}.flatmedia-storage-progress{display:block;overflow:hidden;z-index:1;position:absolute;top:-1px;left:-1px;height:4px;-webkit-transition:all .6s;transition:all .6s}.flatmedia-storage-light .flatmedia-storage-progress{background-color:#8DC73F}.flatmedia-storage-normal .flatmedia-storage-progress{background-color:#FFF12A}.flatmedia-storage-medium .flatmedia-storage-progress{background-color:#F8941F}.flatmedia-storage-full .flatmedia-storage-progress{background-color:#EE1C25}.flatmedia-storage-buymore{font-size:13px}.flatmedia-storage-max .flatmedia-storage-buymore{display:none}\n/* <<< file end: stc/widgets/storage.css */\n\n/*# map link was there [storage.css.map] */\n');
//= require_ml flatmedia.storage.buy.more
angular.module("LJ.MediaStorage",["LJ.Api"]).factory("MediaStorage",["Api",function(e){function t(){return e.call("user.get_available_space",{user:LJ.get("remote")}).then(function(e){return{occupied:e.occupied_space,available:e.available_space}})}return{getAvailableSpace:t}}]).filter("dimension",[function(){return function(e){var t;return e>Math.pow(1024,3)?(e=(e/Math.pow(1024,3)).toFixed(2),t="Gb"):(e=(e/Math.pow(1024,2)).toFixed(2),t="Mb"),e+t}}]).directive("ljMediaStorage",[function(){return{templateUrl:"storage.ng.tmpl",controllerAs:"directive",controller:["$scope","MediaStorage",function(e,t){function a(){t.getAvailableSpace().then(function(e){r.storage=e})}var r=this;LJ.get("remote")&&LJ.get("currentJournal")===LJ.get("remote.username")&&(r.isPermanent=LJ.get("remote.is_permanent"),e.$watch(function(){return r.storage},function(){r.storage&&(r.usage=Math.floor(100*Math.min(r.storage.occupied/r.storage.available,1)))}),this.siteroot=LJ.get("siteroot"),LJ.Event.on("storage:update",a),a())}]}}]);
/* <<< file end: js/core/angular/ljMediaStorage.js */

//# map link was there [ljMediaStorage.js.map]
/* >>> file start: js/core/angular/ljYandexContext.js */
angular.module("LJ.YandexContext",[]).factory("YandexContext",function(){function e(){return window.yandex_context_callbacks=window.yandex_context_callbacks||[],LJ.injectScript("//an.yandex.ru/system/context.js")}function n(e){return LJ.get("yandex_context")[e]}function t(t,d){return e().then(function(){var e=n(d);Ya.Direct.insertInto(e.id,t,e)})}return{init:e,getContext:n,addAdBlock:t}}).directive("ljYandexContext",["YandexContext",function(e){return{scope:{type:"@ljYandexContext"},link:function(n,t){var d=Date.now(),a=t.parent();return!e.getContext(n.type)&&a.hasClass("yadirect")?void a.hide():(t.prepend('<div id="'+d+'"/>'),void e.addAdBlock(d,n.type))}}}]).directive("ljRamblerAds",function(){return{link:function(e,n){var t=Date.now(),d=LJ.get("page.ramblerNews");n.append('<div id="'+t+'"/>'),n.append(d.replace(/document.write\(([^\)]+)\)/g,"document.getElementById("+t+").innerHTML += $1"))}}});
/* <<< file end: js/core/angular/ljYandexContext.js */

//# map link was there [ljYandexContext.js.map]
/* >>> file start: js/core/angular/options.js */
var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};angular.module("LJ.Options",[]).factory("Options",[function(){return{create:function(t){function n(n,o){"undefined"==typeof o?angular.extend(t,n):t[n]=o}function o(n){return t[n]}function e(){return t}if("undefined"==typeof t&&(t={}),"object"!==("undefined"==typeof t?"undefined":_typeof(t)))throw new TypeError("Options should be an object.");return{set:n,get:o,raw:e}}}}]);
/* <<< file end: js/core/angular/options.js */

//# map link was there [options.js.map]
/* >>> file start: js/core/angular/pagination.js */
//= require js/core/angular/options.js
Site.page.template['angular/ljPagination.ng.tmpl'] = '\n\n<div\n    class=\"\n        b-pager\n        \"\n    ng-class=\"{\n        \'b-pager-first\': isFirst(),\n        \'b-pager-last\': isLast(),\n        \'b-pager-mac\': isMac,\n        \'b-pager-pages200\': pages().length > 200,\n        \'b-pager-pages150\': pages().length > 150 && pages().length <= 200,\n        \'b-pager-pages100\': pages().length > 100 && pages().length <= 150,\n        \'b-pager-pages50\': pages().length > 50 && pages().length <= 100,\n        \'b-pager-pages10\': pages().length > 10 && pages().length <= 50,\n    }\"\n    ng-show=\"isEnabled()\"\n    ><!--\n\n    --><div\n        class=\"b-pager-prev js-elem-bordercolor\"\n        ng-click=\"prev()\"\n        ><!--\n        --><a\n            href=\"javascript:void(0);\"\n            class=\"\n                b-pager-link\n                b-pager-link--prev\n                js-elem-bgcolor--before\n                \"><!--\n            --><span\n                class=\"b-pager-link-icon\"\n                lj-svg-icon=\"flaticon--arrow-left-bold\"\n                ></span><!--\n            --><span\n                class=\"b-pager-link-text\"\n                lj-ml=\"talk.prev\"\n                ></span>\n            </a><!--\n        --><br><!--\n        --><span class=\"b-pager-shortcut\"><!--\n            --><span\n                    class=\"b-pager-shortcut-win\"\n                    lj-ml=\"talk.prevshortcut\"\n                    ></span><!--\n            --><span\n                    class=\"b-pager-shortcut-mac\"\n                    lj-ml=\"talk.prevshortcutmac\"\n                    ></span><!--\n        --></span><!--\n    --></div><!--\n\n    --><ul class=\"b-pager-pages\"><!--\n        --><li\n            class=\"b-pager-page\"\n            ng-class=\"{\'b-pager-page-active\': isActive(page)}\"\n            ng-repeat=\"page in pages() track by page\"\n            ><!--\n            --><a\n                href=\"javascript:void(0);\"\n                ng-click=\"setPage(page)\"\n                >{{page||\'..\'}}</a><!--\n        --></li><!--\n    --></ul><!--\n\n    --><div\n        class=\"b-pager-next\"\n        ng-click=\"next()\"\n        ><!--\n        --><a\n            href=\"javascript:void(0);\"\n            class=\"\n                b-pager-link\n                b-pager-link--next\n                \"\n            ><!--\n                --><span\n                    class=\"b-pager-link-text\"\n                    lj-ml=\"talk.next\"\n                    ></span><!--\n                --><span\n                        class=\"b-pager-link-icon\"\n                        lj-svg-icon=\"flaticon--arrow-right-bold\"\n                        ></span><!--\n            --></a><!--\n        --><br><!--\n        --><span class=\"b-pager-shortcut\"><!--\n            --><span\n                    class=\"b-pager-shortcut-win\"\n                    lj-ml=\"talk.nextshortcut\"\n                    ></span><!--\n            --><span\n                    class=\"b-pager-shortcut-mac\"\n                    lj-ml=\"talk.nextshortcutmac\"\n                    ></span><!--\n        --></span>\n    </div><!--\n\n--></div>\n';
//= require_ml talk.next
//= require_ml talk.nextshortcut
//= require_ml talk.nextshortcutmac
//= require_ml talk.prev
//= require_ml talk.prevshortcut
//= require_ml talk.prevshortcutmac
!function(e){return e}(),function(){"use strict";function e(e,t){return{replace:!0,scope:!0,templateUrl:"ljPagination.ng.tmpl",link:function(n){function a(e){var a=i?e.altKey:e.ctrlKey,r=e.which;a&&(37===r&&(e.preventDefault(),n.$apply(t.prev)),39===r&&(e.preventDefault(),n.$apply(t.next)))}var i=n.isMac=LJ.Support.isMac;n.isFirst=t.isFirst,n.isLast=t.isLast,n.isActive=t.isActive,n.isEnabled=t.isEnabled,n.next=t.next,n.prev=t.prev,n.pages=t.pages,n.setPage=function(e){t.set({page:e})},e.on("keydown",a),n.$on("$destroy",function(){e.off("keydown",a)})}}}function t(e,t){function n(){var e,t=d("first")+Math.ceil(d("itemsTotal")/d("itemsPerPage"))-1,n=[];for(e=d("first");t>=e;e+=1)n.push(e);c=n,f.set("last",t)}function a(){s()||(f.set("page",d("page")+1),l())}function i(){r()||(f.set("page",d("page")-1),l())}function r(){return Number(d("page"))===d("first")}function s(){return Number(d("page"))===d("last")}function g(e){return Number(d("page"))===e}function p(){return c.length>1}function o(){var e,t=2,n=Number(d("page"));return c.length>9&&(e=angular.fromJson(angular.toJson(c))),c.length<=9?c:(10===c.length?5>=n?e.splice(7,t,0):e.splice(1,t,0):5>=n?(t=c.length-8,e.splice(7,t,0)):n>=c.length-4?(t=c.length-8,e.splice(1,t,0)):(t=c.indexOf(n-3),e.splice(1,t,0),t=e.indexOf(n+3),e.splice(t,e.length-1-t,!1)),e)}function u(e,t){"undefined"!=typeof e.page&&!Number(e.page)||"page"===e&&!Number(t)||(f.set.apply(null,arguments),n(),d("page")>d("last")&&f.set("page",d("last")),d("page")<1&&f.set("page",1),("page"===e||e.page)&&l())}function l(){e.$broadcast("pagination:pageChanged",f.get("page"))}var c=[],f=t.create({first:1,last:1,itemsPerPage:20,itemsTotal:0,page:1}),d=f.get;return{set:u,get:d,isLast:s,isFirst:r,isActive:g,isEnabled:p,prev:i,next:a,pages:o}}function n(e){return function(t){var n=e.get("itemsPerPage"),a=(e.get("page")-1)*n;return t.slice(a,a+n)}}angular.module("LJ.Pagination",["LJ.Directives","LJ.Options"]),angular.module("LJ.Pagination").filter("paged",n).factory("Pagination",t).directive("ljPagination",e),e.$inject=["$document","Pagination"],t.$inject=["$rootScope","Options"],n.$inject=["Pagination"]}();
/* <<< file end: js/core/angular/pagination.js */

//# map link was there [pagination.js.map]
/* >>> file start: js/profile/userpicker.js */
//= require js/core/angular/pagination.js
Site.page.template['angular/profile/upic.ng.tmpl'] = '<div\n    class=\"b-ljuserpic\"\n    ng-class=\"{\n        \'b-ljuserpic-nopics\'    : !userpics.hasUserpics,\n        \'b-ljuserpic-disabled\'  : state.disabledInput\n    }\">\n\n    <!-- current userpic -->\n    <div\n        class=\"b-myuserpic\"\n        ng-class=\"{\n             \'b-myuserpics-nouserpics\' : state.isRemoteExists && !userpics.hasUserpics,\n             \'b-myuserpics-anonymous\'  : state.isRemoteExists && userpics.hasUserpics\n        }\"\n        ng-click=\"togglePicker()\"\n        lj-switch-off=\"state.showPicker\"\n        lj-switch-off-action=\"togglePicker()\">\n\n        <!-- current upic image -->\n        <a\n                ng-href=\"{{ userpics.hasUserpics ? \'\' : siteroot + \'/editpics.bml\' }}\"\n                href=\"javascript:void(0)\"\n                class=\"b-myuserpic-current\"\n                lj-ml=\"talk.default.userpic\"\n                lj-ml-attr=\"label\"\n                ng-style=\"{ backgroundImage: \'url(\' + defaultPic() + \')\' }\"\n                tabindex=\"30\"><!--\n        --></a>\n    </div>\n\n    <div profile-userpicker ng-if=\"state.isRemoteExist && userpics.hasUserpics\"></div>\n\n</div>\n';
Site.page.template['angular/profile/upicSelect.ng.tmpl'] = '<div\n        class=\"b-userpicselector-inner\"\n        ng-class=\"{\n            \'b-userpicselector-tiny3\': userpics().hasUserpics === 3,\n            \'b-userpicselector-tiny2\': userpics().hasUserpics === 2,\n            \'b-userpicselector-tiny1\': userpics().hasUserpics === 1,\n            \'b-userpicselector-tiny\': userpics().hasUserpics <= 3,\n            \'b-userpicselector-open\': state.showPicker\n        }\">\n\n    <div class=\"b-userpicselector-wrapper\">\n        <span\n                class=\"b-userpicselector-control b-userpicselector-control-back\"\n                ng-click=\"prev()\"\n                lj-switch-off-skip\n                ></span>\n        <span\n                class=\"b-userpicselector-control b-userpicselector-control-forward\"\n                ng-click=\"next()\"\n                lj-switch-off-skip\n                ></span>\n        <ul class=\"b-userpicselector-items\">\n            <li\n                    class=\"b-userpicselector-item b-userpicselector-item-nodefault\"\n                    ng-if=\"state.hasDefault\"><!--\n                --><label for=\"u{{remote.id}}\"><!--\n                    --><span\n                    class=\"b-userpicselector-pic\"\n                    style=\"background: url({{statprefix}}/img/userpics/userpic-user.png?v=15821);\"\n                    lj-ml=\"talk.no.default.userpic\"\n                    lj-ml-attr=\"title\"><!--\n                        -->&nbsp;<!--\n                    --></span>\n            </label>\n            </li>\n\n            <li\n                ng-repeat=\"userpic in userpics().all | paged\"\n                class=\"b-userpicselector-item b-userpicselector-visible\"\n                ng-class=\"{\'b-userpicselector-active\': userpic.active === 1,\n                           \'b-userpicselector-center\': $index === 1,\n                           \'b-userpicselector-right\': $index === 2 }\"\n                data-name=\"{{ userpic.keyword}}\"><!--\n            --><label for=\"{{ userpic.id}}\"><!--\n                --><span\n                class=\"b-userpicselector-pic\"\n                ng-style=\"{ backgroundImage: \'url(\' + userpic.src + \')\' }\"\n                title=\"{{ userpic.title }}\"\n                ng-click=\"setDefault(userpic)\"><!--\n                    -->&nbsp;<!--\n                --></span><!--\n            --></label>\n            </li>\n\n        </ul>\n    </div>\n</div>\n';
LJ.injectStyle('/* >>> file start: stc/userpicselector_v2.css */\n.b-ljuserpic{position:relative;margin:0}.b-myuserpic{display:none;position:relative;width:130px;height:100px;border-radius:3px;border-collapse:collapse;cursor:pointer;background-color:#7A9199}#js .b-myuserpic{display:inline-block}.b-ljuserpic-selector{display:inline}#js .b-ljuserpic-selector,.b-ljuserpic-default{display:none}.b-myuserpic:after{display:block;position:absolute;right:5px;top:50%;width:20px;height:8px;margin-top:-3px;content:\" \";background:url(/img/schemius/s-icons.svg?v=40651) -230px 0 no-repeat}.b-myuserpic:hover{border-color:#C00;cursor:pointer}.b-myuserpic-current,.b-myuserpic-current:active,.b-myuserpic-current:hover,.b-myuserpic-current:visited{display:inline-block;width:100px;height:100px;margin:0;padding:0;border:0;border-radius:3px 0 0 3px;background-repeat:no-repeat;background-position:50% 50%;background-size:cover;text-decoration:none;font:0/0 serif}.b-myuserpic-current:focus{outline:0}.b-myuserpic-unfocus:focus{outline:0!important}.b-myuserpic-current .user_pic{display:inline-block;border-radius:3px}.b-myuserpic-options{display:block;margin:0}.b-myuserpic-title{position:relative;display:inline-block;margin:0;padding:5px 0 0;font-size:11px;color:#369}.b-myuserpic-anonymous,.b-myuserpic-nouserpics{padding:8px;cursor:default}.b-myuserpic-title I{overflow:hidden;position:absolute;top:6px;right:-16px;display:block;width:16px;height:16px;background:url(/img/icons/popup-expand.png?v=15718) no-repeat}.b-myuserpic:hover .b-myuserpic-title I{background-position:0 -16px}.b-myuserpic:focus .b-myuserpic-title I{background-position:0 -32px}.b-myuserpic-title .b-pseudo{overflow:hidden;margin:0;display:inline-block;max-width:80px;white-space:nowrap;text-overflow:ellipsis;font-size:11px}.b-ljuserpic-disabled .b-myuserpic-title,.b-ljuserpic-off .b-myuserpic-options,.b-ljuserpic-off .b-userpicselector,.b-userpicselector .i-popup-close{display:none}.b-userpicselector,.b-userpicselector-wrapper{overflow:hidden;font:14px/1.2 Arial,sans-serif}.b-myuserpic:hover .b-myuserpic-title .b-pseudo{color:#C00}.b-myuserpic-anonymous:hover{border-color:#59D;cursor:default}.b-myuserpic-anonymous .b-myuserpic-current:active,.b-myuserpic-anonymous .b-myuserpic-current:focus,.b-myuserpic-anonymous .b-myuserpic-current:hover,.b-myuserpic-anonymous .b-myuserpic-current:link,.b-myuserpic-anonymous .b-myuserpic-current:visited{outline:0;cursor:default}.b-myuserpic-nouserpics:hover{border-color:#59D;cursor:default}.b-myuserpic-nouserpics .b-myuserpic-current:active,.b-myuserpic-nouserpics .b-myuserpic-current:focus,.b-myuserpic-nouserpics .b-myuserpic-current:hover,.b-myuserpic-nouserpics .b-myuserpic-current:link,.b-myuserpic-nouserpics .b-myuserpic-current:visited{outline:0;cursor:default}.b-ljuserpic-disabled .b-myuserpic{opacity:.5;cursor:default}.b-ljuserpic-disabled .b-myuserpic:hover{border-color:#59D;cursor:default}.b-ljuserpic-disabled .b-myuserpic-current:active,.b-ljuserpic-disabled .b-myuserpic-current:focus,.b-ljuserpic-disabled .b-myuserpic-current:hover,.b-ljuserpic-disabled .b-myuserpic-current:link,.b-ljuserpic-disabled .b-myuserpic-current:visited{outline:0;cursor:default}.b-ljuserpic-off{margin:0;padding:0;cursor:default}.b-ljuserpic-off .b-myuserpic{width:100px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;border-collapse:collapse;background:#FFF;cursor:default}.b-ljuserpic-off .b-myuserpic-current:active,.b-ljuserpic-off .b-myuserpic-current:focus,.b-ljuserpic-off .b-myuserpic-current:hover,.b-ljuserpic-off .b-myuserpic-current:link,.b-ljuserpic-off .b-myuserpic-current:visited{outline:0!important;cursor:default}.b-userpicselector{position:absolute;z-index:100;clear:both;border-radius:5px;box-shadow:0 0 5px #a0aaad;background:#FAFAFA}.b-userpicselector .b-popup-inner,.b-userpicselector .b-popup-outer{position:relative;z-index:100;margin:0;padding:0;border-radius:0;border:0;background:0 0}.b-userpicselector .i-popup-arr{visibility:hidden}.b-userpicselector-inner{position:absolute;z-index:-1;left:30px;bottom:-100px;width:480px;height:130px;opacity:0;visibility:hidden;border-radius:5px;box-shadow:0 0 5px #a0aaad;background:#FAFAFA}.b-userpicselector-tiny1{width:200px}.b-userpicselector-tiny1 .b-userpicselector-item:after{width:0}.b-userpicselector-tiny2{width:340px}.b-userpicselector-tiny2 .b-userpicselector-item.b-userpicselector-center:after{width:0}.b-userpicselector-tiny .b-userpicselector-control:after{opacity:.2;cursor:default}.b-userpicselector-tiny .b-userpicselector-control{cursor:default}.b-ljuserpic-nopics .b-myuserpic:after{display:none;background:0 0}.b-ljuserpic-nopics .b-myuserpic{width:100px;background:0 0}.b-ljuserpic-nopics .b-myuserpic-current{border-radius:3px}.b-userpicselector-wrapper{position:relative;margin:0;padding:15px 30px}.b-userpicselector-loaded .b-userpicselector-wrapper{background:0 0}.b-userpicselector-items{position:relative;width:420px;height:100px;margin:0;padding:0;list-style:none}.b-userpicselector-items:after,.b-userpicselector-items:before{display:table;border-collapse:collapse;content:\"\"}.b-userpicselector-items:after{clear:both}.b-userpicselector-item{position:absolute;left:0;top:0;width:100px;height:100px;padding:0 20px;opacity:0;visibility:hidden;text-align:left}.b-userpicselector-item.b-userpicselector-center{left:140px}.b-userpicselector-item.b-userpicselector-right{left:280px}.b-userpicselector-item.b-userpicselector-center:after,.b-userpicselector-item:after{display:block;position:absolute;width:1px;top:0;bottom:0;right:0;content:\"\";background-color:#dae3e6}.b-userpicselector-right:after{display:none}.b-userpicselector-tiny3 .b-userpicselector-item,.b-userpicselector-tiny4 .b-userpicselector-item{margin-bottom:0}.b-userpicselector-item LABEL{display:block;text-align:center;font-size:11px}#js .b-userpicselector-checkbox{position:absolute;left:-199px}.b-userpicselector-pic{position:relative;display:block;width:100px;height:100px;margin:0;padding:0;cursor:pointer;box-sizing:border-box;color:#0051B7;background-repeat:no-repeat!important;background-position:50% 50%!important;background-color:#FFF;font:0/0 serif}.b-userpicselector-control{display:block;position:absolute;top:0;z-index:2;width:30px;height:100%;box-sizing:border-box;cursor:pointer;background:#FFF}.b-userpicselector-control-back{left:0;border-radius:5px 0 0 5px;border-right:1px solid #DAE3E6}.b-userpicselector-control-forward{right:0;border-radius:0 5px 5px 0;border-left:1px solid #DAE3E6}.b-userpicselector-control:after{display:block;position:absolute;z-index:3;left:50%;top:50%;width:8px;height:14px;margin-top:-7px;margin-left:-4px;content:\"\";background-image:url(/img/profile_icons/profile-icons.svg?ver=1);background-repeat:no-repeat}.b-userpicselector-control-back:after{background-position:-56px 0}.b-userpicselector-control-forward:after{background-position:-80px 0}.b-userpicselector-controls{margin:15px -15px 0;padding:20px;-moz-border-radius-bottomleft:7px;-moz-border-radius-bottomright:7px;border-bottom-left-radius:7px;border-bottom-right-radius:7px;background:#CDE;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#CDE),color-stop(100%,#FFF)) #CDE;background:-webkit-linear-gradient(top,#CDE 0,#FFF 100%) #CDE;background:linear-gradient(top,#CDE 0,#FFF 100%) #CDE;filter:progid:DXImageTransform.Microsoft.gradient( startColorstr=\'#CCDDEE\', endColorstr=\'#FFFFFF\', GradientType=0 );font:14px/1.2 Arial,sans-serif}.b-userpicselector-keywords{display:none;width:16em;margin:0 20px 0 0}#js .b-userpicselector-keywords{display:inline-block}#js .b-userpicselector-tiny .b-userpicselector-keywords,.b-userpicselector-tiny .placeholder-wrapper{display:none}BODY .b-userpicselector-showall,BODY .b-userpicselector-showall:link,BODY .b-userpicselector-showall:visited{margin:0;border:0;color:#0051B7!important;text-decoration:underline}BODY .b-userpicselector-showall:active,BODY .b-userpicselector-showall:hover{color:#C00!important;border:0;text-decoration:underline}BODY .b-userpicselector-close:active,BODY .b-userpicselector-close:hover,BODY .b-userpicselector-close:link,BODY .b-userpicselector-close:visited{display:none;position:absolute;bottom:21px;right:4px;z-index:3;margin:0 16px 0 0;border-bottom:1px dotted;cursor:pointer;color:#000!important;text-decoration:none}BODY .b-userpicselector-close:active,BODY .b-userpicselector-close:hover{color:#C00!important}BODY .b-userpicselector-close:after{content:\" \";position:absolute;top:2px;right:-18px;width:16px;height:16px;margin:0;padding:0;background:url(/img/icons/popup-close.png?v=15718) no-repeat;font:0/0 serif;cursor:pointer}BODY .b-userpicselector-close:hover:after{background-position:0 -16px}#js .b-userpicselector-close:active,#js .b-userpicselector-close:hover,#js .b-userpicselector-close:link,#js .b-userpicselector-close:visited{display:block}.b-userpicselector-inner.b-userpicselector-open{z-index:3002;opacity:1;visibility:visible;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-duration:.2s;transition-duration:.2s}.b-userpicselector-visible{opacity:1;visibility:visible;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-duration:.2s;transition-duration:.2s}.ie8 .b-userpicselector-inner{width:420px}@media (max-width:480px){.b-userpicselector-inner{left:0;bottom:-70px;width:300px;height:90px}.b-userpicselector-items{height:60px}.b-userpicselector-item{max-width:60px;height:60px;padding:0 10px}.b-userpicselector-item.b-userpicselector-center{left:80px}.b-userpicselector-item.b-userpicselector-right{left:160px}.b-userpicselector-pic{width:60px;height:60px}.b-userpicselector-item.b-userpicselector-center:after,.b-userpicselector-item:after{display:none;width:0}}\n/* <<< file end: stc/userpicselector_v2.css */\n\n/*# map link was there [userpicselector_v2.css.map] */\n');
!function(e){return e}(),function(){angular.module("Profile.Userpicker",["LJ.Templates","LJ.Directives","LJ.Pills","LJ.Pagination","LJ.Api"]).factory("Userpics",["Api",function(e){var t={};return t.isRemoteExist=LJ.get("remote_exists"),t.disabledInput=LJ.get("disabled_input"),t.statPrefix=LJ.get("statprefix"),t.siteroot=LJ.get("siteroot"),t.userpics={all:LJ.get("userpics"),hasUserpics:LJ.get("hasuserpics"),hasActive:LJ.get("hasactiveuserpic"),hasDefault:LJ.get("hasdefaultuserpic"),current:LJ.get("currentuserpic"),statPrefix:LJ.get("statprefix")},t.setDefault=function(s){t.userpics.current.active=0,s.active=1,t.userpics.current=s,e.call("userpic.set_default_userpic",{user:LJ.get("remoteUser"),defaultpic:s.id},function(e){"ok"===e.result&&LJ.Event.trigger("userpic.changed",s.src)})},t}]).directive("profileUserpic",["Userpics",function(e){return{restrict:"A",templateUrl:"upic.ng.tmpl",scope:!0,replace:!0,link:function(t){t.state={showPicker:!1,isRemoteExist:e.isRemoteExist,disabledInput:e.disabledInput},t.siteroot=e.siteroot,t.userpics=e.userpics,t.current=function(){return e.userpics.current},t.defaultPic=function(){return t.state.isRemoteExist?t.userpics.hasDefault?t.current().src:e.statPrefix+"/img/userpics/userpic-user.png?v=15821":e.statPrefix+"/img/userpics/userpic-anonymous.png?v=15821"},t.togglePicker=function(){t.state.showPicker=!t.state.showPicker}}}}]).directive("profileUserpicker",["Userpics","Pagination",function(e,t){return{restrict:"A",templateUrl:"upicSelect.ng.tmpl",replace:!0,link:function(s){var i=3;s.userpics=function(){return e.userpics},s.setDefault=e.setDefault,t.set({itemsPerPage:i,itemsTotal:s.userpics().all.length,page:1}),s.isFirst=t.isFirst,s.isLast=t.isLast,s.isActive=t.isActive,s.isEnabled=t.isEnabled,s.next=function(){return s.isLast()?void t.set({page:1}):void t.next()},s.prev=function(){return s.isFirst()?void t.set({page:s.userpics().all.length}):void t.prev()},s.pages=t.pages}}}])}();
/* <<< file end: js/profile/userpicker.js */

//# map link was there [userpicker.js.map]
/* >>> file start: js/profile/main.js */
//= require js/node_modules/angular-route/angular-route.js
//= require js/core/angular/pills.js
//= require js/core/angular/api.js
//= require js/core/angular/linkTarget.js
//= require js/core/angular/ljMediaStorage.js
//= require js/core/angular/ljYandexContext.js
//= require js/profile/userpicker.js
Site.page.template['angular/profile/profileFriends.ng.tmpl'] = '<section class=\"b-profile-group b-profile-friends lj-widget\"\n        ng-if=\"tabs.length\"\n        ng-class=\"{\n            \'b-profile-group-friends\': blockName === \'socconns\',\n            \'b-profile-group-community\': blockName === \'comms\'\n        }\"\n        >\n    <div class=\'b-profile-group-header\'>\n        <h2 class=\"b-profile-header\" lj-ml=\"{{\'ljcom.userinfo.\'+ titleMl}}\"></h2>\n    </div>\n    <div class=\'b-profile-group-body\'>\n        <div class=\"b-menu-wrapper\">\n            <ul class=\"b-service-menu b-menu b-menu-tabs b-menu-hrz b-menu-flat b-menu-flat-tiny b-menu-screen\"\n                ng-mouseover=\"menuMouseOver()\"\n                ng-mouseleave=\"state.opened=false\"\n                ng-class=\"{\n                    \'b-menu-opened\': state.opened === true\n                }\"\n                >\n                <li ng-repeat=\"tab in tabs\"\n                    class=\"b-menu-item\"\n                    ng-if=\"isViewable(tab)\"\n                    ng-click=\"currentTab(tab)\"\n                    ng-class=\"{ \'b-menu-item-active\' : currentTab() === tab.list_name || (!currentTab() && $first) }\"\n                    data-block-name=\"{{ blockName }}\"\n                    data-tab-name=\"{{ tab.list_name }}\"\n                    >\n                    <a class=\"b-menu-item-link\"\n                        ng-href=\"{{ getLink(tab) }}\">\n                        <span ng-bind=\"tab.ml_list_name\"></span>\n                        <span class=\"b-profile-count\"\n                              ng-bind=\"tab.commafy_count\"></span>\n                    </a>\n                </li>\n            </ul>\n        </div>\n\n        <div\n            ng-repeat=\"tab in tabs\"\n            class=\"b-tabs-content b-tabs-content-tab b-tabs-content-{{ tab.list_name }}\"\n            ng-class=\"{\n                \'b-tabs-content-tab-open\' : currentTab() === tab.list_name || (!currentTab() && $first),\n                \'b-tabs-content-loading\' : tab.loading\n            }\">\n            <span ng-repeat=\"item in currentList(tab)\">\n                <a\n                    ng-href=\"{{ item.profile_url }}\"\n                    rel=\"group\"\n                    class=\"b-profile-username\"\n                    ng-class=\"{ \'b-profile-username-deleted\' : item.is_invisible }\"\n                    ng-bind=\"item.display_name\"\n                    ></a><!--\n                --><span ng-if=\"!$last\">, </span>\n            </span>\n            <span ng-if=\"tab.pages && (currentPage(tab) < tab.pages)\"\n                    class=\"b-profile-list-next\"\n                    ng-click=\"addPage(tab)\" lj-ml=\"ljcom.userinfo.more\"></span>\n        </div>\n    </div>\n</section>\n';
angular.module("Profile",["ngRoute","LJ.Templates","LJ.Directives","LJ.Pills","LJ.Api","Profile.Userpicker","LJ.LinkTarget","LJ.MediaStorage","LJ.YandexContext"]).config(["$locationProvider","$sceDelegateProvider",function(e,t){angular.element("a:not([target])").attr("target","_self"),e.html5Mode({enabled:!0,requireBase:!1}),t.resourceUrlWhitelist(["self","**.ng.tmpl"])}]).directive("profileSocialConnections",["$location","Api",function(e,t){return{restrict:"A",scope:{blockName:"@profileSocialConnections",titleMl:"@profileSocialTitle"},templateUrl:"profileFriends.ng.tmpl",link:function(n){var o=50;n.tabs=LJ.get(n.blockName),n.isOwnProfile=LJ.get("can_manage")&&LJ.get("journal.is_personal"),n.state={opened:!1},n.currentPage=function(t,n){return!t.pages&&t.count>o&&(t.pages=Math.ceil(t.count/o)),"undefined"!=typeof n?e.search(t.mode_full_name,n):Number(e.search()[t.mode_full_name]||1)},n.loadMore=function(e){var t=e.count<o&&e.list&&e.list.length;t||e.loading||e.mode_full||(e.loading=!0,n.getFullList(e).then(function(t){e.loading=!1,t.error||(e.mode_full=!0,e.list=t.list,n.currentList(e))}))},n.currentList=function(e){var t=n.currentPage(e)||1;if(e.list||n.isRemote)return e.list&&e.list.length>o?e.list.slice(0,t*o):e.list},n.addPage=function(e){var t=n.currentPage(e);n.loadMore(e),n.currentPage(e,++t)},n.getFullList=function(e){var n={user:LJ.get("journal.username"),get_list:e.list_name,mode_full:!0};return t.call("profile.get_friends",n)},n.isMobile=function(){return document.documentElement.classList.contains("html-mobile")},n.menuMouseOver=function(){n.isMobile()||(n.state.opened=!0)},n.currentTab=function(t){if(t){if(n.state.opened)return n.state.opened=!1,n.currentPage(t,null),n.loadMore(t),e.search(n.blockName,t.list_name);n.state.opened=!0}return e.search()[n.blockName]},n.getLink=function(t){var o=angular.copy(e.search()),i="?";return o[n.blockName]=t.list_name,angular.forEach(o,function(e,t){i+=[t,e].join("=")+"&"}),i},n.isViewable=function(e){return"friendof"!==e.list_name||LJ.get("remote")?0!==Number(e.count):!1}}}}]).controller("aboutCtrl",["$scope","Pills",function(e,t){e.state={opened:!1},e.switchTo=function(n){t.group("aboutMenu",n),e.activeTab=n},e.currentTab=function(t){t&&(e.state.opened?e.state.opened=!1:e.state.opened=!0,e.switchTo(t))},e.isMobile=function(){return document.documentElement.classList.contains("html-mobile")},e.menuMouseOver=function(){e.isMobile()||(e.state.opened=!0)}}]);
/* <<< file end: js/profile/main.js */

//# map link was there [main.js.map]
/* >>> file start: js/jquery/jquery.details.js */
!function(a){return a}(),function(a,e){"use strict";e.fn.details=function(a){return 0===this.length?this:(a=e.extend({},e.fn.details.defaults,a||{}),a.init.call(this,{className:a.className}),this.each(function(){var s=e(this);s.find(a.selector).on("click",function(){return s.toggleClass(a.className),a[s.hasClass(a.className)?"expand":"collapse"].call(s,{selector:e(this),className:a.className}),!1})}))},e.fn.details.defaults={selector:"a.b-updatepage-accordion-expand, a.b-updatepage-accordion-collapse",className:"b-updatepage-accordion-open",init:e.noop,expand:e.noop,collapse:e.noop}}(window,jQuery);
/* <<< file end: js/jquery/jquery.details.js */

//# map link was there [jquery.details.js.map]
/* >>> file start: js/core/angular/ref.js */
!function(e){return e}(),function(){"use strict";angular.module("LJ.Ref",[]).factory("Ref",function(){function e(e,n){return f[e]?void console.error("Ref element with id `%s` has been registered before.",e):void(f[e]=n)}function n(e){f[e]&&delete f[e]}function o(e){var n=f[e];return n||console.error("Ref `%s` not found.",e),n}function r(e,n){"undefined"==typeof n&&(n={});var r=o(e),f=angular.element("html, body");if(!r)return void console.error("Could not scroll to the ref `%s` that has not been already defined.",e);var l=r.offset().top;n.onlyUp&&angular.element(window).scrollTop()<=l||n.onlyOutOfScreen&&!t(r)||(n.toParent&&(f=r.parent(),l=0),f.animate({scrollTop:l}))}function t(e){var n=angular.element(window),o=n.scrollTop(),r=o+n.height(),t=e.offset().top;return t>r-100||o>t}var f={};return{add:e,remove:n,get:o,scrollTo:r}}).directive("ljRef",["Ref",function(e){return{restrict:"A",scope:!0,link:function(n,o,r){var t=r.ljRef;e.add(t,o),n.$on("$destroy",function(){e.remove(t)})}}}])}();
/* <<< file end: js/core/angular/ref.js */

//# map link was there [ref.js.map]
/* >>> file start: js/core/angular/bubble.js */
//= require js/core/angular/ref.js
Site.page.template['Widgets/ljBubble.tmpl'] = '<div\n    class=\"\n        b-popup\n        bubble-node\n        b-popup-withclosecontrol\n        b-bubble-{{bubble.name}}\n        \"\n    ng-show=\"show\"\n    lj-switch-off=\"show\"\n    lj-switch-off-action=\"bubble.close()\"\n    lj-switch-off-ignore-sticky=true\n    ng-style=\"{ left: position.x, top: position.y, visibility: visibility }\"\n    ng-class=\"{\n        \'b-popup-noclosecontrol\': !bubble.options.closeControl\n    }\"\n    lj-switch-off-skip>\n    <div class=\"b-popup-outer\">\n        <div class=\"b-popup-inner\">\n            <i\n                class=\"i-popup-arr\"\n                ng-class=\"arrowClass()\"\n                ng-show=\"getShouldShowArrow()\"\n            >\n                <i class=\"i-popup-arr-brdr-outer\">\n                    <i class=\"i-popup-arr-brdr-inner\">\n                        <i class=\"i-popup-arr-bg\"></i>\n                    </i>\n                </i>\n            </i>\n            <div ng-include src=\"template\"></div>\n            <i\n                class=\"i-popup-close\"\n                ng-click=\"bubble.close()\"\n                ng-show=\"getShowCloseBtn()\"\n            ></i>\n        </div>\n    </div>\n</div>\n';
Site.page.template['angular/confirm.bubble.ng.tmpl'] = '<div class=\"b-popup-content b-popup-options-centered\">\n  <div class=\"b-popup-content-header\">\n    <span>{{ bubble.options.header }}</span>\n  </div>\n  <div class=\"b-popup-content-confirm\" ng-bind-html=\"bubble.options.text\"></div>\n  <div class=\"b-popup-submit-options\">\n    <button class=\"b-popup-btn b-flatbutton b-flatbutton-simple\" ng-click=\"bubble.options.confirm()\">{{ bubble.options.yes }}</button>\n    <button class=\"b-popup-cancel b-flatbutton b-flatbutton-simple b-flatbutton-neutral\" ng-click=\"bubble.close()\">{{ bubble.options.no }}</button>\n  </div>\n</div>\n';
//= require_ml confirm.bubble.yes
//= require_ml confirm.bubble.no
!function(){"use strict";function e(e,o,t,n,r){return{scope:!0,link:function(i,l,a){function u(){var e=i.arrow.vertical,o=i.arrow.horizontal,t=S.aside,r=H.innerWidth<=650;i.visibility="hidden",S.keepInitialWidth&&!S.widthSaved&&(S.widthSaved=!0,L.width(L.width())),p(),d()&&!r&&(i.arrow.vertical="b"===e?f("alwaysTop")?"b":"t":f("alwaysBottom")?"t":"b",p(),h()&&!f("alwaysTop")&&(i.arrow.vertical="t",p())),w()&&!r&&(i.arrow.horizontal="l"===o?f("alwaysRight")||m()?"l":"r":f("alwaysLeft")||v()?"r":"l"),!r&&w()&&i.arrow.horizontal===o&&c()&&(S.aside=!0),r||i.arrow.horizontal===o&&i.arrow.vertical===e&&S.aside===t?i.visibility="visible":n(s),setTimeout(function(){LJ.Event.trigger("popup::positionChanged",{popupType:"ngBubble",name:S.name,popupNode:l[0]})})}function s(){return p(),w()&&c()?(S.aside=!0,i.$apply(),void s()):w()&&!f("aside")&&i.arrow.horizontal?(i.arrow.horizontal="",void s()):void(i.visibility="visible")}function c(){return!f("aside")&&f("tryAsideIfNoHorizSpace")}function f(e){return i.bubble.options[e]||S[e]}function p(){var o=e.node||l,t=o.offset().left+Math.floor(o.outerWidth()/2),n=i.bubble.options.forceX||0,r=i.bubble.options.forceY||0;if(f("aside"))i.position.x="r"===i.arrow.horizontal?o.offset().left-L.outerWidth()-x.outerWidth()+n:o.offset().left+o.outerWidth()+x.outerWidth()+n,i.position.y=o.offset().top-x.position().top+(o.outerHeight()-x.outerHeight())/2+r;else{if("center"===i.arrow.horizontal){var a;a=x.is(":visible")?x.position().left:L.outerWidth()/2,i.position.x=t-a+n}else i.position.x=i.arrow.horizontal?t-x.position().left-Math.floor(x.outerWidth()/2)-2+n:t-L.outerWidth()/2-Math.floor(x.outerWidth()/4)-2+n;i.position.y="t"===i.arrow.vertical?o.offset().top+o.outerHeight()+x.outerHeight()+r:o.offset().top-x.outerHeight()-L.outerHeight()+r}}function b(){i.position.x=-9999}function d(){return h()?!0:i.position.y+L.outerHeight()>H.scrollTop()+H.outerHeight()}function h(){return i.position.y<H.scrollTop()}function w(){return m()||v()}function m(){return i.position.x<H.scrollLeft()}function v(){return i.position.x+L.outerWidth()>H.scrollLeft()+H.outerWidth()}function g(o){o.preventDefault(),e.current!==S.name&&n(function(){e.open(S.name)})}function y(){$(),O&&(C=n(e.close,O))}function $(){n.cancel(C)}function z(){var o=S.name,t=e.current;o===t&&($(),e.close(),i.$apply())}function B(){i.show&&n(W)}var C,S=o(a.ljBubble)(i),j=S.name,L=t(r.get("ljBubble.tmpl"))(i),W=LJ.Function.throttle(u,50),x=L.find(".i-popup-arr"),H=angular.element(window),J=S.eventType||"click",O=Number(S.autoClose||0);i.show=!1,e._register(j,S),i.template=S.template||j+".html",i.bubble={name:j,close:e.close,options:e.options(j)},i.clear=function(){i.arrow={vertical:S.arrowInitialVertical||"t",horizontal:S.arrowInitialHorizontal||"l"}},i.position={x:-9999,y:-9999},i.visibility="hidden",i.arrowClass=function(){var e,o=i.bubble.options,t=i.arrow.vertical;return e="center"===i.arrow.horizontal?"":i.arrow.horizontal,o.aside||S.aside?"i-popup-arr"+e+t:"i-popup-arr"+t+e},i.getShouldShowArrow=function(){return angular.isDefined(i.bubble.options.showArrow)?i.bubble.options.showArrow:angular.isDefined(S.showArrow)?S.showArrow:!0},i.getShowCloseBtn=function(){return angular.isDefined(i.bubble.options.showCloseBtn)?i.bubble.options.showCloseBtn:angular.isDefined(S.showCloseBtn)?S.showCloseBtn:!0},i.$on("bubble:reposition:"+j,function(){n(W)}),i.$watch(function(){return e.current},function(e){b(),n(function(){i.show=e===j,e&&i.show&&(i.clear(),n(W))})},!0),S.disableClick||l.on(J,g),S.disableResizeListener||H.on("resize",B),S.recalculateOnOrientationChange&&H.on("orientationchange",function(){B(),H.on("resize",B),n(function(){H.off("resize",B)},1e3)}),S.recalculateOnScroll&&H.on("scroll",B),S.closeOnScroll&&H.on("scroll",z),angular.element("body").append(L),l.on("mouseleave",y),L.on("mouseenter",$),L.on("mouseleave",y),i.clear(),i.$on("$destroy",function(){l.off(J,g),H.off("resize",B),H.off("scroll",B),H.off("scroll",e.close),l.off("mouseleave",y),L.off("mouseenter",$),L.off("mouseleave",y),e._unregister(j),L.remove()})}}}function o(e,o,n,r,i,l){var a={},u={};return a.current=null,a.node=null,a.register=function(){function t(t,i){var a,u,s;return t&&t.name&&t.template?(a=t.name,t.disableClick=!0,r[a]?(r[a].count+=1,n.bind(null,a)):(u=angular.element("<div />").attr("lj-bubble",angular.toJson(t)),s="undefined"==typeof i,s&&(i=e.$new(!0)),u.appendTo("body"),o(u)(i),r[a]={count:1,node:u,scope:i,isScopeCreated:s},n.bind(null,a))):void l.error("Incorrect bubble options. You should provide name and template.",t)}function n(e){var o=r[e];o&&(o.count-=1,0===o.count&&(o.isScopeCreated||o.scope.$destroy(),o.node.remove(),delete r[e]))}var r={};return t}(),a.exists=function(e){return u.hasOwnProperty(e)},a._register=function(e,o){var t;return u.hasOwnProperty(e)?void console.warn('Bubble with name "'.concat(e,'" has already been registered')):(t=angular.isDefined(o)?angular.copy(o):{},t=angular.extend({closeControl:!0},t),void(u[e]=Object.create(t)))},a._unregister=function(e){delete u[e],a.current===e&&(a.current=null)},a.confirm=function(e){function o(){i.scrollBy(0,1),i.scrollBy(0,-1)}var t=LJ.ml("confirm.bubble.yes"),n=LJ.ml("confirm.bubble.no"),l={closeControl:!1,confirm:e.confirm,header:e.header,text:e.text,yes:e.yes||t,no:e.no||n};a.open(e.id,l),r(o),r(o,100),r(o,200),r(o,300)},a.open=function(o,r,i){return u.hasOwnProperty(o)?(r instanceof jQuery&&(i=r,r={}),angular.isString(r)&&(i=n.get(r),r={}),angular.isObject(r)&&a.options(o,r),i instanceof jQuery&&(a.node instanceof jQuery&&!a.node.is(i)&&e.$broadcast("bubble:reposition:"+o),a.node=i),angular.isString(i)&&(a.node=n.get(i)),a.current=o,e.$broadcast("bubble:open",o,r,i),e.$broadcast("bubble:open:"+o,o,r,i),void angular.element("body").addClass(t)):void l.error("Bubble `"+o+"` can't be opened, it has not been registered yet.")},a.close=function(){var o,n=a.current,r=u[n];e.$broadcast("bubble:close",n,r,a.node),e.$broadcast("bubble:close:"+n,n,r,a.node);for(o in r)r.hasOwnProperty(o)&&delete r[o];a.current=null,a.node=null,angular.element("body").removeClass(t)},a.options=function(e,o){return"undefined"==typeof o||o===u[e]?u[e]:void angular.copy(o,u[e])},a}e.$inject=["Bubble","$parse","$compile","$timeout","$templateCache"],o.$inject=["$rootScope","$compile","Ref","$timeout","$window","$log"],angular.module("LJ.Bubble",["LJ.Templates","LJ.Directives","LJ.Ref"]),angular.module("LJ.Bubble").factory("Bubble",o).directive("ljBubble",e);var t="p-openpopup";e.$inject=["Bubble","$parse","$compile","$timeout","$templateCache"],o.$inject=["$rootScope","$compile","Ref","$timeout","$window","$log"]}();
/* <<< file end: js/core/angular/bubble.js */

//# map link was there [bubble.js.map]
/* >>> file start: js/core/angular/users.js */
//= require js/core/angular/api.js
//= require js/core/angular/options.js
!function(e){return e}(),function(){"use strict";angular.module("Users",["LJ.Api","LJ.Options"]).factory("Relations",["$q","$timeout","UsersCache",function(e,n,r){function t(t,i,u){var a=e.defer(),s={addFriend:{is_invite_sent:!0},removeFriend:{is_friend:!1},subscribe:{is_subscribedon:!0},unsubscribe:{is_subscribedon:!1},join:{is_invite_sent:!0},leave:{is_member:!1},setBan:{is_banned:!0},setUnban:{is_banned:!1}},o={addFriend:{is_invite_sent:!1},removeFriend:{is_friend:!0},subscribe:{is_subscribedon:!1},unsubscribe:{is_subscribedon:!0},join:{is_invite_sent:!1},leave:{is_member:!0},setBan:{is_banned:!1},setUnban:{is_banned:!0}},c=angular.copy(r.get(t)||{});return angular.isUndefined(u)&&(u={}),u.wait||r.update(t,s[i]||{}),LJ.Event.trigger("relations.change",{username:t,action:i,callback:function(e){n(function(){if(e.error)return u.wait||r.update(t,angular.extend(o[i],c)),void a.reject(e.error.message);var n=LJ.Object.pick(e,"is_banned","is_friend","is_member","is_subscriber","is_subscribedon","is_friend_of","is_invite_sent");r.update(t,n),a.resolve(e)})}}),a.promise}function i(e,n,i){var u=t(e,n?"subscribe":"unsubscribe",i);return n||u.then(function(){r.update(e,{filtermask:0})}),u}function u(e,n,r){return t(e,n?"addFriend":"removeFriend",r)}function a(e,n,r){return t(e,n?"join":"leave",r)}function s(e,n,r){return t(e,n?"setBan":"setUnban",r)}function o(e,n,r){return t(e,n?"banEverywhere":"unbanEverywhere",r)}return{toggleFriend:u,toggleSubscription:i,toggleMember:a,toggleBan:s,toggleBanEverywhere:o}}]).factory("Mask",function(){function e(e){return e>>>0}var n={};return n.change=function(n,r){var t=r.add,i=r.remove;return angular.isDefined(t)&&(angular.isArray(t)||(t=[t]),n=t.reduce(function(n,r){return e(n|Math.pow(2,r))},n)),angular.isDefined(i)&&(angular.isArray(i)||(i=[i]),n=i.reduce(function(n,r){var t=Math.pow(2,32)-1-Math.pow(2,r);return e(n&t)},n)),n},n.check=function(e,n){var r=Math.pow(2,n);return Boolean(e&r)},n}).factory("UsersCache",["$q","$cacheFactory","Options",function(e,n,r){function t(e){if(!angular.isUndefined(e)){var n=l.get(f.get("journal"))||{},r=e;return angular.isArray(e)||(e=[e]),e.forEach(function(e){if(e&&angular.isObject(e)&&!angular.isUndefined(e.username)){var r=e.username||e.display_username,t=n[r];n[r]=t?angular.extend(t,e):e}}),l.put(f.get("journal"),n),r}}function i(e){var n=l.get(f.get("journal"));return Boolean(n[e])}function u(e){var n;if(angular.isString(e)){if(n=l.get(f.get("journal")),n&&!n[e]){var r=Object.values(n).find(function(n){return n.display_name===e});if(r)return r}return n&&n[e]?n[e]:null}if(angular.isFunction(e))return s(e);if(angular.isUndefined(e))return s();throw new TypeError("Incorrect argument passed.")}function a(e){var n=l.get(f.get("journal"));return n||angular.isObject(n)?Object.keys(n).reduce(function(r,t){return String(n[t].id)===String(e)?n[t]:r},null):null}function s(e){var n,r=l.get(f.get("journal")),t=[];for(n in r)if(r.hasOwnProperty(n)){if(e&&!e(r[n]))continue;t.push(r[n])}return t}function o(e,n){var r=u(e)||{username:e};return angular.extend(r,n),t(r),r}var c,l=n("users"),f=r.create({journal:LJ.get("remoteUser")});return c={add:t,update:o,set:f.set,get:u,getById:a,exists:i}}]).factory("Users",["$q","$timeout","Api","Mask","UsersCache","Options",function(e,n,r,t,i,u){function a(e){return k[C.get("type")][e]}function s(e){return"subscriptions"===C.get("type")?Boolean(e.is_subscribedon):!0}function o(e,n){return angular.isUndefined(n)?e[c()]||1:void(e[c()]=n)}function c(){return"subscriptions"===C.get("type")?"filtermask":"groupmask"}function l(e,n,t){return r.call("user.get",{target:e,fields:n},t).then(function(e){var n=e.user;return i.add(n),n})}function f(e,n,t){return r.call("user.get",{targetid:e,fields:n},t).then(function(e){var n=e.user;return i.add(n),n})}function d(e,n){return r.call("relations.list_friends",{journal:C.get("journal"),fields:e},n).then(_("is_friend"))}function g(e){return r.call("groups.list_users",{journal:C.get("journal"),fields:e}).then(function(e){return i.add(e.users),e})}function p(e){return r.call("relations.list_subscriptions",{journal:C.get("journal"),fields:e}).then(_("is_subscribedon"))}function b(e){return r.call("relations.list_banned",{journal:C.get("journal"),fields:e}).then(_("is_banned"))}function _(e){return function(n){var r=n.users;return r.forEach(LJ.Function.set(e,!0)),i.add(r),r}}function v(e){return r.call("relations."+e+"_count").then(function(e){return e.count})}function h(n){return angular.isArray(n)||(n=[n]),0===n.length?e.reject("You should provide users to sync."):r.call(a("update"),{users:n,journal:C.get("journal")}).then(function(e){return i.add(e.users),e})}function m(e,n){var r=i.get(e);return r?t.check(o(r),n):!1}function j(e){return e.filter(i.exists).map(i.get).filter(s)}function y(e){var n=(e.filter||"").toLowerCase(),r=i.get(function(r){return s(r)&&t.check(o(r),e.id)?!n||-1!==r.display_username.toLowerCase().indexOf(n):!1});return e.limit&&(r=r.slice(0,e.limit)),r}function U(e){var n=(e.filter||"").toLowerCase(),r=i.get(function(r){return s(r)?t.check(o(r),e.id)?!1:!n||-1!==r.display_username.toLowerCase().indexOf(n):!1});return e.limit&&(r=r.slice(0,e.limit)),r}function w(e,n){angular.isArray(n)||(n=[n]);var r;return r="subscriptions"===C.get("type")?j(n):n.map(function(e){return i.get(e)||{username:e}}),r.forEach(function(n){o(n,t.change(o(n),{add:e}))}),h(r)}function L(e,n,r){angular.isArray(n)||(n=[n]);var i=j(n);return i.forEach(function(n){o(n,t.change(o(n),{remove:e}))}),r&&r.silent?void 0:h(i)}function O(e,n){return i.update(e,{alias:n}),r.call("user.alias_set",{target:e,alias:n})}function E(e){return function(n,r){return n[e].toLowerCase().localeCompare(r[e].toLowerCase())}}function F(){var e,n=C.get("journal");C.set.apply(null,arguments),e=C.get("journal"),e!==n&&i.set("journal",e)}var k={friends:{read:"relations.list_friends",readOne:"relations.get_friend",update:"groups.update_users"},subscriptions:{read:"relations.list_subscriptions",readOne:"relations.get_subscription",update:"filters.update_users"}},C=u.create({type:"friends",journal:LJ.get("remoteUser")});return{USERHEAD_FIELDS:{alias:1,journal_url:1,profile_url:1,userhead_url:1,is_invisible:1,journaltype:1},set:F,get:C.get,Cache:i,fetchUser:l,fetchUserById:f,fetchBanned:b,fetchFriends:d,fetchGroupUsers:g,fetchSubscriptions:p,fetchCount:v,sync:h,alias:O,isUserInGroup:m,getExisting:j,fromGroup:y,outOfGroup:U,addToGroup:w,removeFromGroup:L,comparator:E}}])}();
/* <<< file end: js/core/angular/users.js */

//# map link was there [users.js.map]
/* >>> file start: js/core/angular/ljUser.js */
//= require js/core/angular/api.js
//= require js/core/angular/users.js
Site.page.template['angular/ljUser.ng.tmpl'] = '<span\n    class=\"\n        ljuser\n        i-ljuser\n        i-ljuser-type-{{user.journaltype}}\n        \"\n    ng-class=\"{\n        \'i-ljuser-deleted\': user.is_invisible,\n        \'i-ljuser-nopopup noctxpopup\': user.noctxpopup,\n        \'i-ljuser-withalias\': user.alias,\n        \'i-ljuser-showalias\': user.showalias\n    }\"\n    data-ljuser=\"{{user.username}}\"\n    lj:user=\"{{user.username}}\"\n    ><!--\n\n    Userhead\n    --><a\n        class=\"i-ljuser-profile\"\n        ng-href=\"{{user.profile_url}}\"\n        ng-attr-target=\"{{user.target ? user.target : \'_self\'}}\"\n        ><!--\n        --><img\n            class=\"i-ljuser-userhead\"\n            ng-src=\"{{user.userhead_url}}\"\n            ><!--\n    --></a><!--\n\n    Username\n    --><a\n        class=\"i-ljuser-username\"\n        ng-href=\"{{user.journal_url}}\"\n        ng-attr-title=\"{{user.display_username || user.alias}}\"\n        ng-attr-target=\"{{user.target ? user.target : \'_self\'}}\"\n        ><b ng-bind=\"user.display_name || user.display_username\"></b></a><!--\n\n    Alias\n    --><span\n        class=\"i-ljuser-alias\"\n        ng-bind=\"user.alias\"\n        ></span><!--\n\n--></span>\n';
!function(){"use strict";function e(e){e.errorOnUnhandledRejections(!1)}function r(e,r,n,t,a,s,c){function u(e){var r=n.defer(),t=c.Cache.get(e);return t&&t.userhead_url?(r.resolve(t),r.promise):c.fetchUser(e,c.USERHEAD_FIELDS,{cache:!0,silent:!0})}function i(e){var r=n.defer(),t=c.Cache.getById(e);return t&&t.userhead_url?(r.resolve(t),r.promise):c.fetchUserById(e,c.USERHEAD_FIELDS,{cache:!0,silent:!0})}function l(r,t){var i=n.defer(),l=e.$new();return u(r).then(function(){var e;l.user=angular.extend({},c.Cache.get(r),t||{}),e=a(d)(l),s(function(){i.resolve(p.empty().append(e).html()),l.$destroy()})}),i.promise}function o(r,t){var u=n.defer(),l=e.$new();return i(r).then(function(){var e;l.user=angular.extend({},c.Cache.getById(r),t||{}),e=a(d)(l),s(function(){u.resolve(p.empty().append(e).html()),l.$destroy()})}),u.promise}var p=angular.element("<div />"),d=t.get("ljUser.ng.tmpl");return{prepare:u,prepareById:i,getById:o,get:l}}function n(e,r,n){return{templateUrl:"ljUser.ng.tmpl",replace:!0,scope:!0,compile:function(t,a){var s=e(a.ljUserDynamic),c=e(a.ljUserDynamicOptions);return function(e,t){var a=c(e);e.$watch(function(){return s(e)},function(t){var s=t;e.user=angular.extend({username:s,display_username:s},a||{}),n.prepare(s).then(function(){e.$watch(function(){return r.Cache.get(s)},function(r){angular.extend(e.user,r),a&&angular.isFunction(a.adjustData)&&(e.user=a.adjustData(e.user))},!0)})})}}}}function t(e,r,n){return{template:'<img class="{{user.class}}" src="https://l-userpic.livejournal.net/default/{{user.id}}" alt="" />',scope:!0,compile:function(t,a){return function(t){var s=e(a.ljUserAvatarImg)(t),c=e(a.ljUserAvatarImgOptions)(t),u=+s;return NaN!==u&&s.toString().length===u.toString().length?void(t.user=angular.extend({id:s},c||{})):(function(e){return e}(),t.user=angular.extend({username:s},c||{}),void n.prepare(s).then(function(e){t.$watch(function(){return r.Cache.get(s)},function(e){angular.extend(t.user,e)},!0)}))}}}}function a(e,r,n){return{templateUrl:"ljUser.ng.tmpl",replace:!0,scope:!0,compile:function(t,a){return function(t){var s=e(a.ljUserById)(t),c=e(a.ljUserByIdOptions)(t);t.user=angular.extend({username:"user-"+s,display_username:"user-"+s},c||{}),n.prepareById(s).then(function(){t.$watch(function(){return r.Cache.getById(s)},function(e){angular.extend(t.user,e)},!0)})}}}}function s(e){var r="https:",n=function(e,n){return e.journal_url?e.journal_url:n.indexOf(".")>-1?"".concat(r,"//").concat(n):"".concat(r,"//").concat(n,".livejournal.com")};return{templateUrl:"ljUser.ng.tmpl",replace:!0,scope:!0,compile:function(t,a){var s=e(a.ljUserStatic),c=e(a.ljUserStaticId),u=e(a.ljUserStaticOptions);return function(e){var t=s(e),a=c(e),i=u(e)||{},l=n(i,t),o="".concat(l,"/profile");e.user={alias:"",display_name:i.display_name||t,display_username:i.display_username||t,id:a,is_invisible:!1,journal_url:l,journaltype:"P",profile_url:o,userhead_url:"".concat(r,"//l-files.livejournal.net/userhead/default/").concat(a),username:t,noctxpopup:i.noctxpopup}}}}}function c(e,r){var n="https:";return{template:'\n        <img\n          class="{{user.class}}"\n          ng-src="'.concat(n,'//l-userpic.livejournal.net/default/{{user.id}}"\n          alt=""\n        />'),scope:!0,compile:function(r,n){var t=e(n.ljUserAvatarStaticId),a=e(n.ljUserAvatarStaticOptions);return function(e){var r=t(e),n=a(e);e.user={id:r,"class":n["class"]||""}}}}}c.$inject=["$parse","$location"],s.$inject=["$parse"],t.$inject=["$parse","Users","ljUser"],n.$inject=["$parse","Users","ljUser"],a.$inject=["$parse","Users","ljUser"],r.$inject=["$rootScope","Api","$q","$templateCache","$compile","$timeout","Users"],e.$inject=["$qProvider"],angular.module("LJ.User",["LJ.Api","LJ.Templates","Users"]),angular.module("LJ.User").config(e).factory("ljUser",r).directive("ljUserById",a).directive("ljUserDynamic",n).directive("ljUserAvatarImg",t).directive("ljUserStatic",s).directive("ljUserAvatarStatic",c),r.$inject=["$rootScope","Api","$q","$templateCache","$compile","$timeout","Users"],n.$inject=["$parse","Users","ljUser"],t.$inject=["$parse","Users","ljUser"],a.$inject=["$parse","Users","ljUser"]}();
/* <<< file end: js/core/angular/ljUser.js */

//# map link was there [ljUser.js.map]
/* >>> file start: js/settings/services/filters/filters.js */
//= require js/core/angular/api.js
//= require js/core/angular/options.js
//= require js/core/angular/users.js
!function(t){return t}(),function(){"use strict";angular.module("GroupsAndFilters.Services.Filters",["LJ.Api","LJ.Options","Users"]).filter("filtersOrder",function(){return function(t){var r=t.slice(0);return r.sort(function(t,r){if(31===t.id)return-1;if(31===r.id)return 1;var e=t.name.toLowerCase(),i=r.name.toLowerCase();return e>i?1:-1}),r}}).factory("FilterGroupFactory",["$q","$timeout","Api","Options","Users",function(t,r,e,i,n){function o(){angular.extend(this,{MAX_COUNT:31,filters:[],key:"filters",rpc:{}},i.create({journal:LJ.get("remoteUser")}))}return o.prototype.toJSON=function(t){var r=angular.copy(t);return delete r.checked,delete r.users,r},o.prototype.nextId=function(){for(var t=null,r=this.filters.map(LJ.Function.get("id")),e=1,i=this.MAX_COUNT;i>e&&null===t;)-1===r.indexOf(e)&&(t=e),e+=1;return t},o.prototype.sync=function(t){var r={};return angular.isArray(t)||(t=[t]),r[this.key]=t.map(this.toJSON),r.journal=this.get("journal"),e.call(this.rpc.update,r)},o.prototype.fetch=function(r){if(!this.rpc.read)return t.reject();var i=this,n={journal:this.get("journal")};return r=angular.extend(r||{},{cache:!1}),e.call(this.rpc.read,n,r).then(function(t){return i.filters=t[i.key],i.filters})},o.prototype._isNameUniq=function(t){var r=this.filters.map(function(t){return t.name.toLowerCase()});return t=t.toLowerCase(),-1===r.indexOf(t)},o.prototype.create=function(r){var i;return r=r.trim(),0===r.length?t.reject("filters"===this.key?LJ.ml("api.error.filters.filter_name_not_specified"):LJ.ml("api.error.groups.group_name_not_specified")):this._isNameUniq(r)?(i={id:this.nextId(),name:r,users:[],"public":!1,journal:this.get("journal")},this.filters.push(i),e.call(this.rpc.create,i)):t.reject("filters"===this.key?LJ.ml("api.error.filters.filter_already_exist",{name:r}):LJ.ml("api.error.groups.group_already_exist",{name:r}))},o.prototype.remove=function(t){var r=this,i={};return t=Array.isArray(t)?t:[t],i[this.key]=t.map(LJ.Function.get("id")),i.journal=this.get("journal"),t.forEach(function(t){r.filters.splice(r.filters.indexOf(t),1)}),e.call(this.rpc.remove,i)},o.prototype.getCount=function(){return e.call(this.rpc.count,{journal:this.get("journal")}).then(LJ.Function.get("count"))},o.prototype.by=function(t){var r=n.Cache.get(t);return r?this.filters.filter(function(r){return n.isUserInGroup(t,r.id)}):[]},o}]).factory("Filter",["FilterGroupFactory",function(t){function r(){this.rpc={create:"filters.create",update:"filters.update",remove:"filters.remove",count:"filters.count"},this.key="filters"}return r.prototype=new t,r.prototype._setPrivacy=function(t,r){return t=Array.isArray(t)?t:[t],t.forEach(LJ.Function.set("public","public"===r)),this.sync(t)},r.prototype["private"]=function(t){return this._setPrivacy(t,"private")},r.prototype["public"]=function(t){return this._setPrivacy(t,"public")},new r}]).factory("Group",["FilterGroupFactory",function(t){function r(){this.rpc={create:"groups.create",read:"groups.list",update:"groups.update",remove:"groups.remove",count:"groups.count"},this.key="groups"}return r.prototype=new t,new r}])}();
/* <<< file end: js/settings/services/filters/filters.js */

//# map link was there [filters.js.map]
/* >>> file start: js/settings/directives/filtersFor.js */
//!= require js/core/angular/messages.js
LJ.injectStyle('/* >>> file start: stc/widgets/filter-settings.css */\n.b-filterset{max-width:290px;font:14px/1.4 Arial,sans-serif;color:#000}.b-filterset-addnew-input,.b-filterset-list LABEL{display:block;white-space:nowrap;line-height:1.333}.b-filterset B,.b-filterset CODE,.b-filterset DD,.b-filterset DIV,.b-filterset DT,.b-filterset EM,.b-filterset I,.b-filterset KBD,.b-filterset LABEL,.b-filterset LI,.b-filterset P,.b-filterset PRE,.b-filterset SPAN,.b-filterset STRONG,.b-filterset TD,.b-filterset TH{font-size:100%}.b-filterset .i-ljuser-userhead{vertical-align:top!important;margin:1px 0 0!important;border:none!important}.b-filterset .i-ljuser-username:active,.b-filterset .i-ljuser-username:hover,.b-filterset .i-ljuser-username:link,.b-filterset .i-ljuser-username:visited{color:#0051B7!important;text-decoration:none!important;border:none!important}.b-filterset .b-filterset-subtitle,.b-filterset .b-filterset-title{margin:0 1.142em .5em 0!important;color:#222!important}.b-filterset .b-filterset-title{font-weight:700!important}.b-filterset-list{position:relative;z-index:1;overflow:auto;max-height:14em;min-width:220px;margin:0 0 .3em;padding:0;background-attachment:scroll;background-clip:border-box;background-image:-webkit-radial-gradient(50% 0,farthest-side,rgba(0,0,0,.1),transparent),-webkit-radial-gradient(50% 100%,farthest-side,rgba(0,0,0,.1),transparent);background-image:radial-gradient(farthest-side at 50% 0,rgba(0,0,0,.1),transparent),radial-gradient(farthest-side at 50% 100%,rgba(0,0,0,.1),transparent);background-origin:padding-box;background-position:0 0,0 100%;background-repeat:no-repeat;background-size:100% 7px}.b-filterset-list:after,.b-filterset-list:before{position:relative;z-index:-1;display:block;content:\"\";height:14px;margin:0 0 -14px;background:-webkit-linear-gradient(top,#F4F5F6,#F4F5F6 30%,rgba(244,245,246,0));background:linear-gradient(to bottom,#F4F5F6,#F4F5F6 30%,rgba(244,245,246,0))}.b-filterset-list:after{margin:-14px 0 0;background:-webkit-linear-gradient(top,rgba(228,229,233,0),#E4E5E9 70%,#E4E5E9);background:linear-gradient(to bottom,rgba(228,229,233,0),#E4E5E9 70%,#E4E5E9)}.b-filterset-list LI{margin:0;padding:0;list-style-type:none}.b-filterset-list LI.loading{background:url(/img/preloader/preloader-blue-gray.gif?v=16423) 100% 50% no-repeat}.b-filterset-list LABEL{font-size:.857em}.b-filterset-list LABEL:hover{background:#7292BD;color:#FFF}.b-filterset-addnew-input{margin:0 0 .5em;font-size:.857em}.b-filterset-addnew{margin:.5em 0 0}.b-filterset-pseudo{font-size:.857em;color:#0051B7}.b-filterset-submit{text-align:right}.b-filterset-loader:after,.b-filterset-loader:before{display:inline-block;visibility:hidden;content:\'\';width:21px;height:21px;margin:-2px 0 0 4px;background:url(/img/preloader/preloader-blue-gray.gif?v=16423) 50% 50% no-repeat;vertical-align:middle}.b-filterset-loader-after:before,.b-filterset-loader-before:after{display:none}.b-filterset-loading .b-filterset-loader-after:after,.b-filterset-loading .b-filterset-loader-before:before{visibility:visible}\n/* <<< file end: stc/widgets/filter-settings.css */\n\n/*# map link was there [filter-settings.css.map] */\n');
Site.page.template['angular/controlstrip/filters.ng.tmpl'] = '<div class=\"b-filterset-body\" ng-class=\"{ \'b-filterset-loading\': model.loading }\">\n    <ul class=\"b-filterset-section b-filterset-list\">\n        <li ng-repeat=\"filter in filters | filtersOrder\" ng-class=\"{ \'loading\': loading[filter.id] }\">\n            <label>\n                <input\n                    ng-checked=\"checked = isActive(filter.id)\"\n                    ng-change=\"toggleFilter(filter.id, checked)\"\n                    ng-model=\"checked\"\n                    type=\"checkbox\"\n                    class=\"b-filterset-checkbox\"\n                    >{{filter.name}}\n            </label>\n        </li>\n\n        <li ng-show=\"model.showCreateDialog\">\n            <span class=\"b-filterset-addnew-input\" >\n                <form ng-submit=\"createFilter()\">\n                    <input\n                        ng-model=\"model.newFilter\"\n                        focus-and-select=\"model.showCreateDialog\"\n                        type=\"text\"\n                        />\n                    <input type=\"submit\" lj-ml=\"filterset.button.save\" lj-ml-attr=\"value\" />\n                </form>\n            </span>\n        </li>\n    </ul>\n\n    <div\n        ng-hide=\"model.showCreateDialog || isFiltersCountReached()\"\n        class=\"b-filterset-section b-filterset-addnew\">\n        <span\n            ng-if=\"isFiltersFor\"\n            ng-click=\"model.showCreateDialog = true\"\n            lj-ml=\"filterset.link.addnewfilter\"\n            class=\"b-filterset-pseudo b-pseudo\"\n            ></span>\n        <span\n            ng-if=\"isGroupsFor\"\n            ng-click=\"model.showCreateDialog = true\"\n            lj-ml=\"filterset.link.addnewgroup\"\n            class=\"b-filterset-pseudo b-pseudo\"\n            ></span>\n    </div>\n</div>\n';
!function(e){return e}(),function(){"use strict";function e(e,r,t,n,o,i){function l(){return Array.isArray(e.usernames)?e.usernames:[e.usernames]}e.loading={},e.filters=[],t.fetch({cache:!0}).then(function(r){e.filters=r}),e.model={newFilter:"",showCreateDialog:!1},e.toggleFilter=function(r,t){var o;i.clear(),e.loading[r]=!0,o=t?n.addToGroup(r,l()):n.removeFromGroup(r,l()),o.then(function(){e.loading[r]=!1})},e.isActive=function(e){var r=l().every(function(r){return n.isUserInGroup(r,e)});return r},e.isCountReached=function(){return e.filters.length>=t.MAX_COUNT},e.createFilter=function(){var r=e.model.newFilter.trim();e.resetFilter(),0!==r.length&&(e.model.loading=!0,t.create(r).then(function(r){var t=r.filter;n.addToGroup(t.id,l()).then(function(){e.model.loading=!1})}))},e.resetFilter=function(){e.model.newFilter="",e.model.showCreateDialog=!1},e.$on("bubble:open:controlstrip",e.resetFilter)}angular.module("Filters.List",[]).controller("FiltersForCtrl",["$scope","$q","Filter","Users","Bubble","Messages",e]).controller("GroupsForCtrl",["$scope","$q","Group","Users","Bubble","Messages",e]).directive("filtersFor",[function(){return{controller:"FiltersForCtrl",scope:{usernames:"=filtersFor"},templateUrl:"filters.ng.tmpl",link:function(e){e.isFiltersFor=!0}}}]).directive("groupsFor",[function(){return{controller:"GroupsForCtrl",scope:{usernames:"=groupsFor"},templateUrl:"filters.ng.tmpl",link:function(e){e.isGroupsFor=!0}}}])}();
/* <<< file end: js/settings/directives/filtersFor.js */

//# map link was there [filtersFor.js.map]
/* >>> file start: js/relations/menu.js */
//= require js/core/angular/bubble.js
//= require js/core/angular/ljUser.js
//!= require js/core/angular/messages.js
//= require js/settings/services/filters/filters.js
//= require js/core/angular/users.js
//= require js/settings/directives/filtersFor.js
Site.page.template['angular/controlstrip/controlstrip.ng.tmpl'] = '<div\n  class=\"b-filterset\"\n  ng-class=\"{ \'b-filterset-loading\': loading }\"\n  >\n\n  <!-- subscribe user -->\n  <div class=\"b-filterset-title\" ng-show=\"mode == \'subscribe\'\" lj-ml=\"filterset.title.subscribed.journal\" lj-ml-resolve=\"mlResolve\"></div>\n\n  <!-- add user -->\n  <div class=\"b-filterset-title\" ng-show=\"mode == \'add\'\" lj-ml=\"filterset.title.addfriend.journal\" lj-ml-resolve=\"mlResolve\"></div>\n  <div class=\"b-filterset-subtitle\" ng-show=\"mode == \'add\'\" lj-ml=\"filterset.subtitle.addfriend.journal\" lj-ml-resolve=\"mlResolve\"></div>\n\n  <!-- subscribe community -->\n  <div class=\"b-filterset-title\" ng-show=\"mode == \'watch\'\" lj-ml=\"filterset.title.subscribed.community\" lj-ml-resolve=\"mlResolve\"></div>\n\n  <!-- join community -->\n  <div class=\"b-filterset-title\" ng-show=\"mode == \'join\' || mode == \'joinSubscribed\'\" lj-ml=\"filterset.title.join\"></div>\n  <div class=\"b-filterset-subtitle\" ng-show=\"mode == \'join\'\" lj-ml=\"filterset.subtitle.join\" lj-ml-resolve=\"mlResolve\"></div>\n  <div class=\"b-filterset-section b-filterset-submit\" ng-show=\"mode == \'join\'\">\n      <div class=\"b-ljbutton b-filterset-loader b-filterset-loader-before\">\n          <input type=\"submit\" lj-ml=\"filterset.submit.subscribe\" lj-ml-attr=\"value\" ng-click=\"subscribeAfterJoin()\" />\n      </div>\n  </div>\n\n  <!-- filters section -->\n  <!-- Notice: extra div here is because of bug in AngularJS: https://github.com/angular/angular.js/issues/3981 -->\n\n  <div ng-show=\"mode !== \'join\'\">\n    <div\n      class=\"b-filterset-subtitle b-filterset-loader b-filterset-loader-after\"\n      lj-ml=\"filterset.subtitle.filters\"\n      ></div>\n      <div filters-for=\"username\"></div>\n  </div>\n</div>\n';
!function(e){return e}(),function(e){"use strict";function t(e){LJ.Track.event("Relations","Menu",e)}angular.module("Relations.Menu",["LJ.Templates","LJ.Bubble","LJ.Directives","LJ.User","LJ.Messages","GroupsAndFilters.Services.Filters","Users","Filters.List"]).value("$anchorScroll",null).controller("MenuCtrl",["$scope","Bubble","$timeout","$q","ljUser","Filter","Users","Relations","Messages",function(n,s,r,i,o,u,c,a,l){function b(e,t){var s;switch(t&&d(t),e){case"addFriend":s=a.toggleFriend(h,!0,{wait:!0});break;case"removeFriend":s=a.toggleFriend(h,!1,{wait:!0});break;case"join":s=a.toggleMember(h,!0,{wait:!0});break;case"leave":s=a.toggleMember(h,!1,{wait:!0});break;case"subscribe":s=a.toggleSubscription(h,!0,{wait:!0});break;case"unsubscribe":s=a.toggleSubscription(h,!1,{wait:!0})}return s["finally"](m).then(function(t){return ContextualPopup.currentElement===v.find(".ljuser img").get(0)&&ContextualPopup.hide(),t.error?i.reject(t.error.message):(t.message&&(t.message.body=t.message.content,l.add(t.message)),"undefined"!=typeof t.controlstrip_status&&(n.status=t.controlstrip_status),"subscribe"===e||"addFriend"===e||"join"===e&&t.is_subscribedon?f():void(n.filters=[]))},function(e){l.error({body:e})})}function f(){var e,t=c.Cache.get(h);return t.is_subscribedon?(e=t.filtermask?i.defer().resolve():c.fetchUser(h,{filtermask:1}),i.all({filters:u.fetch({cache:!0}),user:e}).then(function(e){n.filters=e.filters})):i.reject()}function d(e){g&&m(),g=(new Hourglass).setEvent(e).show()}function m(){g&&(g.remove(),g=null)}var g,p,v=e(".w-cs-status"),h=LJ.get("journal.username");c.set({type:"subscriptions"}),n.username=h,n.filters=[],n.status=LJ.get("controlstrip.status"),c.Cache.add(LJ.get("journal")),ContextualPopup.showNote=angular.identity,p=i.defer(),n.mlResolve={promise:p.promise},o.get(h,{noctxpopup:!0}).then(function(e){p.resolve({username:e})}),n.$watch(function(){return c.Cache.get(h)},function(e){n.states=LJ.Object.pick(e,"is_friend","is_member","is_subscribedon","is_invite_sent")},!0),n.toggleLoading=function(e){n.loading=e},LJ.Event.on("relations.change",function(){r(l.clear)}),n.subscribe=function(e){e.preventDefault(),t("subscribe"),b("subscribe",e).then(function(){n.states.is_subscribedon&&(n.mode="subscribe",s.open("controlstrip","unsubscribe"))})},n.unsubscribe=function(e){e.preventDefault(),t("unsubscribe"),b("unsubscribe",e)},n.addFriend=function(e){e.preventDefault(),t("add friend"),b("addFriend",e).then(function(){n.states.is_friend&&(n.mode="add",s.open("controlstrip","removeFriend"))})},n.removeFriend=function(e){e.preventDefault(),t("remove friend"),b("removeFriend",e)},n.watch=function(e){e.preventDefault(),t("subscribe to community"),b("subscribe",e).then(function(){n.states.is_subscribedon&&(n.mode="watch",s.open("controlstrip","unwatch"))})},n.unwatch=function(e){e.preventDefault(),t("unsubscribe from community"),b("unsubscribe",e)},n.join=function(e){e.preventDefault(),t("join community"),b("join",e).then(function(){n.states.is_member&&(n.mode=n.states.is_subscribedon?"joinSubscribed":"join",s.open("controlstrip","leave"))})},n.leave=function(e){e.preventDefault(),t("leave community"),b("leave",e)},n.subscribeAfterJoin=function(){n.toggleLoading(!0),t("subscribe to community (after join)"),b("subscribe").then(function(){n.toggleLoading(!1),n.mode="watch"})}}])}(jQuery);
/* <<< file end: js/relations/menu.js */

//# map link was there [menu.js.map]
/* >>> file start: js/profile_new.js */
//= require js/jquery/jquery.details.js
//= require js/relations/menu.js
!function(e){return e}(),function(e){"use strict";function a(){function a(e,a){Site.remoteUser&&e&&LJ.Api.call("profile.expandcollapse",{mode:"save",header:e,expand:a})}var n="b-profile-group-expand",s="a.b-toggle",t="b-toggle-top",i="b-toggle-bottom";e("dl:has("+s+")").details({selector:s,className:n,init:function(){var a=e(this).addClass(n);Site.remoteUser&&LJ.Api.call("profile.expandcollapse",{mode:"load"},function(o){var r=o.headers;a.filter(function(){var a=e(this).attr("id");return a&&-1!==r.indexOf(a)}).removeClass(n).find("dd").hide().end().find(s).removeClass(t).addClass(i)})},expand:function(){e(this).find("dd").stop(!0,!0).slideDown().end().find(s).removeClass(i).addClass(t),a(e(this).attr("id"),"true")},collapse:function(){e(this).find("dd").stop(!0,!0).slideUp().end().find(s).removeClass(t).addClass(i),a(e(this).attr("id"),"false")}})}function n(){function a(a,n){var s=a.data("alias");return s="string"==typeof s?JSON.parse(s):s,n?(e.extend(s,n),void a.data("alias",s)):s}function n(e,n,s,i,r){window.loadIPPU().then(function(){var l,d;return n?(l=new window.LJWidgetIPPU_AddAlias({title:n,width:440,height:180,authToken:window.Aliases.authToken,callback:r},{alias:e.alias||i,foruser:s}),d=l.onData,void(l.onData=function(e){d.apply(l,arguments),e.res&&e.res.success&&(e.res.alias?(o.addClass("b-profile-useralias"),a(t.find("a"),{alias:e.res.alias})):o.removeClass("b-profile-useralias"))})):!0})}var s,t,i=e(".b-profile-actions-addalias"),o=e(".b-profile-actions"),r={},l=void 0;window.addAlias=function(){n.apply(null,arguments)},i.length&&(s=i.first(),t=i.last(),l=a(s.find("a")).username,i.find("a").on("click",function(s){var t=a(e(this));if(LJ.Flags.isEnabled("contextualhover_v7")){var i=r[t.username];i?LJ.Event.trigger("notesPopup::requestShow",i):jQuery.ajax({url:LiveJournal.getAjaxUrl("ctxpopup"),data:{user:t.username,mode:"getinfo"},dataType:"json",success:function(e){r[e.username]=e,LJ.Event.trigger("notesPopup::requestShow",e)}})}else n(this,t.title,t.username,t.alias);s.preventDefault()})),LJ.Flags.isEnabled("contextualhover_v7")&&!function(){var a="b-profile-useralias",n=e(".s-header-extra__menu");LJ.Event.on("notesPopup:save",function(e){e.name===l&&(n.addClass(a),r[l].alias=e.text)}),LJ.Event.on("notesPopup:remove",function(e){e.name===l&&(n.removeClass(a),r[l].alias="")})}()}LJ.Event.on("page_load",function(){a(),n(),LJ.get("can_manage")&&e.fn.userpicker&&e(".b-profile").userpicker({updateDefaultUserpic:!0,useCurrentJournal:!0}),LJ.Flags.isEnabled("new_friends_and_subscriptions")&&angular.bootstrap(e(".b-profile-actions"),["Relations.Menu"])})}(jQuery);
/* <<< file end: js/profile_new.js */

//# map link was there [profile_new.js.map]
/* >>> file start: js/lib/jquery.selectric.min.js */
!function(e){"use strict";var t="selectric",s="Input Items Open Disabled TempShow HideSelect Wrapper Hover Responsive Above Scroll",o=".sl",i={onChange:function(t){e(t).change()},maxHeight:300,keySearchTimeout:500,arrowButtonMarkup:'<b class="button">&#x25be;</b>',disableOnMobile:!0,openOnHover:!1,expandToItemText:!1,responsive:!1,preventWindowScroll:!0,inheritOriginalWidth:!1,customClass:{prefix:t,postfixes:s,camelCase:!0,overwrite:!0},optionsItemBuilder:"{text}"},n={add:function(e,t,s){this[e]||(this[e]={}),this[e][t]=s},remove:function(e,t){delete this[e][t]}},a={replaceDiacritics:function(e){for(var t="40-46 50-53 54-57 62-70 71-74 61 47 77".replace(/\d+/g,"\\3$&").split(" "),s=t.length;s--;)e=e.toLowerCase().replace(RegExp("["+t[s]+"]","g"),"aeiouncy".charAt(s));return e},format:function(e){var t=arguments;return(""+e).replace(/{(\d+|(\w+))}/g,function(e,s,o){return o&&t[1]?t[1][o]:t[s]})},nextEnabledItem:function(e,t){for(;e[t=(t+1)%e.length].disabled;);return t},previousEnabledItem:function(e,t){for(;e[t=(t>0?t:e.length)-1].disabled;);return t},toDash:function(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()},triggerCallback:function(s,o){var i=o.element,l=o.options["on"+s];e.isFunction(l)&&l.call(i,i,o),n[s]&&e.each(n[s],function(){this.call(i,i,o)}),e(i).trigger(t+"-"+a.toDash(s),o)}},l=e(document),r=e(window),c=function(n,c){function d(t){if($.options=e.extend(!0,{},i,$.options,t),$.classes={},$.element=n,a.triggerCallback("BeforeInit",$),$.options.disableOnMobile&&L)return void($.disableOnMobile=!0);C(!0);var o=$.options.customClass,l=o.postfixes.split(" "),r=R.width();e.each(s.split(" "),function(e,t){var s=o.prefix+l[e];$.classes[t.toLowerCase()]=o.camelCase?s:a.toDash(s)}),x=e("<input/>",{"class":$.classes.input,readonly:L}),k=e("<div/>",{"class":$.classes.items,tabindex:-1}),T=e("<div/>",{"class":$.classes.scroll}),D=e("<div/>",{"class":o.prefix,html:$.options.arrowButtonMarkup}),y=e('<p class="label"/>'),I=R.wrap("<div>").parent().append(D.prepend(y),k,x),A={open:v,close:g,destroy:C,refresh:u,init:d},R.on(A).wrap('<div class="'+$.classes.hideselect+'">'),e.extend($,A),$.options.inheritOriginalWidth&&r>0&&I.width(r),p()}function p(){$.items=[];var t=R.children(),s="<ul>",i=t.filter(":selected").index();H=S=~i?i:0,(E=t.length)&&(t.each(function(t){var o=e(this),i=o.html(),n=o.prop("disabled"),l=$.options.optionsItemBuilder;$.items[t]={value:o.val(),text:i,slug:a.replaceDiacritics(i),disabled:n},s+=a.format('<li class="{1}">{2}</li>',e.trim([t==H?"selected":"",t==E-1?"last":"",n?"disabled":""].join(" ")),e.isFunction(l)?l($.items[t],o,t):a.format(l,$.items[t]))}),k.append(T.html(s+"</ul>")),y.html($.items[H].text)),D.add(R).add(I).add(x).off(o),I.prop("class",[$.classes.wrapper,$.options.customClass.overwrite?R.prop("class").replace(/\S+/g,$.options.customClass.prefix+"-$&"):R.prop("class"),$.options.responsive?$.classes.responsive:""].join(" ")),R.prop("disabled")?(I.addClass($.classes.disabled),x.prop("disabled",!0)):(j=!0,I.removeClass($.classes.disabled).on("mouseenter"+o+" mouseleave"+o,function(t){e(this).toggleClass($.classes.hover),$.options.openOnHover&&(clearTimeout($.closeTimer),"mouseleave"==t.type?$.closeTimer=setTimeout(g,500):v())}),D.on("click"+o,function(e){Y?g():v(e)}),x.prop({tabindex:q,disabled:!1}).on("keypress"+o,h).on("keydown"+o,function(e){h(e),clearTimeout($.resetStr),$.resetStr=setTimeout(function(){x.val("")},$.options.keySearchTimeout);var t=e.keyCode||e.which;t>36&&41>t&&b(a[(39>t?"previous":"next")+"EnabledItem"]($.items,S))}).on("focusin"+o,function(e){x.one("blur",function(){x.blur()}),Y||v(e)}).on("oninput"in x[0]?"input":"keyup",function(){x.val().length&&e.each($.items,function(e,t){return RegExp("^"+x.val(),"i").test(t.slug)&&!t.disabled?(b(e),!1):void 0})}),R.prop("tabindex",!1),O=e("li",k.removeAttr("style")).click(function(){return b(e(this).index(),!0),!1})),a.triggerCallback("Init",$)}function u(){a.triggerCallback("Refresh",$),p()}function h(e){var t=e.keyCode||e.which;13==t&&e.preventDefault(),/^(9|13|27)$/.test(t)&&(e.stopPropagation(),b(S,!0))}function f(){var e=k.closest(":visible").children(":hidden"),t=$.options.maxHeight;e.addClass($.classes.tempshow);var s=k.outerWidth(),o=D.outerWidth()-(s-k.width());!$.options.expandToItemText||o>s?W=o:(k.css("overflow","scroll"),I.width(9e4),W=k.width(),k.css("overflow",""),I.width("")),k.width(W).height()>t&&k.height(t),e.removeClass($.classes.tempshow)}function v(s){a.triggerCallback("BeforeOpen",$),s&&(s.preventDefault(),s.stopPropagation()),j&&(f(),e("."+$.classes.hideselect,"."+$.classes.open).children()[t]("close"),Y=!0,B=k.outerHeight(),M=k.height(),x.val("").is(":focus")||x.focus(),l.on("click"+o,g).on("scroll"+o,m),m(),$.options.preventWindowScroll&&l.on("mousewheel"+o+" DOMMouseScroll"+o,"."+$.classes.scroll,function(t){var s=t.originalEvent,o=e(this).scrollTop(),i=0;"detail"in s&&(i=-1*s.detail),"wheelDelta"in s&&(i=s.wheelDelta),"wheelDeltaY"in s&&(i=s.wheelDeltaY),"deltaY"in s&&(i=-1*s.deltaY),(o==this.scrollHeight-M&&0>i||0==o&&i>0)&&t.preventDefault()}),I.addClass($.classes.open),w(S),a.triggerCallback("Open",$))}function m(){f(),I.toggleClass($.classes.above,I.offset().top+I.outerHeight()+B>r.scrollTop()+r.height())}function g(){if(a.triggerCallback("BeforeClose",$),H!=S){a.triggerCallback("BeforeChange",$);var e=$.items[S].text;R.prop("selectedIndex",H=S).data("value",e),y.html(e),a.triggerCallback("Change",$)}l.off(o),I.removeClass($.classes.open),Y=!1,a.triggerCallback("Close",$)}function b(e,t){$.items[e].disabled||(O.removeClass("selected").eq(S=e).addClass("selected"),w(e),t&&g())}function w(e){var t=O.eq(e).outerHeight(),s=O[e].offsetTop,o=T.scrollTop(),i=s+2*t;T.scrollTop(i>o+B?i-B:o>s-t?s-t:o)}function C(e){j&&(k.add(D).add(x).remove(),!e&&R.removeData(t).removeData("value"),R.prop("tabindex",q).off(o).off(A).unwrap().unwrap(),j=!1)}var x,k,T,D,y,I,O,S,H,B,M,W,E,A,$=this,R=e(n),Y=!1,j=!1,L=/android|ip(hone|od|ad)/i.test(navigator.userAgent),q=R.prop("tabindex");d(c)};e.fn[t]=function(s){return this.each(function(){var o=e.data(this,t);o&&!o.disableOnMobile?""+s===s&&o[s]?o[s]():o.init(s):e.data(this,t,new c(this,s))})},e.fn[t].hooks=n}(jQuery);
/* <<< file end: js/lib/jquery.selectric.min.js */

//# map link was there [jquery.selectric.min.js.map]
/* >>> file start: js/captcha.js */
!function(e){return e}(),function(e){function t(){return"undefined"!=typeof d}function n(){var t=e.Deferred();return s?t.resolve(s):LJ.Api.call("captcha.get_public_key",{},function(e){s=e.captcha_public,t.resolve(s)}),t.promise()}function r(){return location.protocol+"//www.google.com/recaptcha/api.js?onload=onRecaptchaLoad&render=explicit"}function a(r,a){var o=e.Deferred();return a=e.extend(C,a||{}),LJ.Captcha.current?e.when(n(),L()).then(function(){return t()?(a.sitekey=s,f(),d.render(r,a)):void console.error("Something went wrong. Captcha object is not defined.")}):(o.resolve(),o.promise())}function o(){}function c(){return t()?(f(),d.reset.apply(null,arguments)):void 0}function i(){return null}function l(e){return t()?d.getResponse(e):void 0}function p(){return h(),(d||grecaptcha).execute.apply(null,arguments)}function u(e){var t=e.attributes.title,n=e.attributes.src;if(t){var r=t.value;if(/испытание|challenge/.test(r)&&/recaptcha/.test(r))return!0}if(n){var a=n.value;if(/google\.com.*recaptcha.*bframe/.test(a))return!0}return!1}LJ.define("LJ.Captcha"),LJ.Captcha={create:a,reload:c,destroy:o,getChallenge:i,getResponse:l,isDefined:t,execute:p,current:["recaptcha"].filter(LJ.Flags.isEnabled).shift()},LJ.Captcha.available=!!LJ.Captcha.current;var s,d,f=void 0,v=void 0,h=void 0,C={lang:"ru"},g=e.Deferred();window.onRecaptchaLoad=function(){g.resolve()};var L=LJ.Function.once(function(){var t=e.Deferred();return LJ.injectScript(r()),g.then(function(){d=grecaptcha,t.resolve()}),t.promise()});LJ.Captcha.getCaptchaApiObject=function(){return d||grecaptcha},LJ.Captcha.setOnSimpleForm=function(e,t){f(),window.onCaptchaPass=function(){var t=Object.getPrototypeOf(e).submit;t.call(e)},t.addEventListener("click",function(e){e.preventDefault(),p()})},LJ.Event.on("reCAPTCHA::popup::created",function(e){var t=e.firstChild,n=e.lastChild,r=n.firstChild;e.classList.add("recaptcha-tiles"),t&&t.classList.add("recaptcha-tiles__fader"),n&&n.classList.add("recaptcha-tiles__iframe-wrapper"),r&&r.classList.add("recaptcha-tiles__iframe")}),LJ.Event.on("reCAPTCHA::popup::shown",function(){document.body.classList.add("body--recaptcha-opened")}),LJ.Event.on("reCAPTCHA::popup::hidden",function(){document.body.classList.remove("body--recaptcha-opened")}),function(){var e=void 0,t=void 0;f=function(){var n=document.body.lastChild;e=setInterval(function(){var r=document.body.lastChild;if(r!==n){n=r;var a=n.querySelector("iframe");a&&u(a)&&(t=n,console.log("reCAPTCHA popup created"),LJ.Event.trigger("reCAPTCHA::popup::created",t),clearInterval(e),e=null)}},100)};var n=void 0,r=void 0;v=function(){n=new Date,r||(r=setInterval(function(){t&&0===+t.style.opacity&&(console.log("reCAPTCHA popup hidden"),LJ.Event.trigger("reCAPTCHA::popup::hidden"),clearInterval(r),r=null)},100))};var a=1e4;h=function(){n=new Date,r||(r=setInterval(function(){t&&1===+t.style.opacity?(console.log("reCAPTCHA popup shown"),LJ.Event.trigger("reCAPTCHA::popup::shown"),clearInterval(r),r=null,v()):new Date>n+a&&(console.log("reCAPTCHA popup taking too long to appear, aborting wait"),clearInterval(r),r=null)},100))}}()}(jQuery);
/* <<< file end: js/captcha.js */

//# map link was there [captcha.js.map]
/* >>> file start: js/scheme/schemius/feedback.js */
!function(e){"use strict";e(function(){function t(){s.addClass("p-feedback"),o=!0,u.val(r),LJ.get("remote")||LJ.Captcha.create("b-captcha",{tabindex:50}),n.bubble("hide")}var a=this,s=e("body"),o=!1,r=e(".js-feedback").attr("data-spcatid"),n=e(".s-welcometo"),c=e(".s-do-item-feedback"),l=e(".s-feedback"),i=l.find(".s-feedback-error"),d=l.find(".b-bubble-success-inner"),u=l.find('.s-feedback-body .s-feedback-form input[name="spcatid"]'),f={inprogress:"s-feedback-creating",done:"s-feedback-successfully",error:"s-feedback-erroneously"};e(".js-feedback").on("click",function(e){e.preventDefault(),t()}),this.setState=function(e){l.toggleClass(f.inprogress,"inprogress"===e),l.toggleClass(f.done,"done"===e),l.toggleClass(f.error,"error"===e)},l.on("click",".s-feedback-submit",function(t){var s={};t.preventDefault(),a.setState("inprogress"),l.find("input, textarea, select").each(function(){s[this.name]=e(this).val()}),LJ.Api.call("support.create_request",s,function(t){return t.error?(i.html(t.error.message),a.setState("error")):(d.html(e("<a>").attr("href",t.request.url).html(t.request.url)),void a.setState("done"))})}).on("click",".s-feedback-another",function(t){t.preventDefault(),l.find("input, textarea").each(function(){e(this).val("")}),LJ.Captcha.reload(),a.setState(null)}),n.bubble({target:c,showOn:"click",alwaysShowUnderTarget:!0,arrowWidth:"auto"}).on("click",".s-welcometo-action .b-flatbutton",function(e){e.preventDefault(),t()}).on("click",".s-welcometo-switcher",function(e){return e.preventDefault(),LJ.get("remote")?void LJ.Api.call("settings.set_old_design",{value:1},function(){location.reload()}):(LJ.Cookie.setGlobal("ljold",1,{expires:7}),void location.reload())}),s.on("click",function(t){var r=e(t.target);o&&(r.hasClass("b-fader")||r.hasClass("s-feedback-close"))&&(s.removeClass("p-feedback"),u.val(""),o=!1,a.setState(null),LJ.get("remote")||LJ.Captcha.destroy())})})}(jQuery);
/* <<< file end: js/scheme/schemius/feedback.js */

//# map link was there [feedback.js.map]
/* >>> file start: js/ljwidget.js */
LJWidget=new Class(Object,{updateContent:function(t){t||(t={}),this._show_frame=t.showFrame,t.method&&(method=t.method),t._widget_update=1,this.doAjaxRequest(t)&&this.hilightFrame()},getWidget:function(){return $(this.widgetId)},doPost:function(t){t||(t={}),this._show_frame=t.showFrame;var e={},i=this.widgetClass;i="Widget["+i.replace(/::/g,"_")+"]_";for(var a in t){var r=a;a.match(/^Widget\[/)||"lj_form_auth"==a||a.match(/^_widget/)||(r=i+a),e[r]=t[a]}e._widget_post=1,this.doAjaxRequest(e)},doPostAndUpdateContent:function(t){t||(t={}),t._widget_update=1,this.doPost(t)},postForm:function(t){if(!t)return!1;for(var e={},i=0;i<t.elements.length;i++){var a=t.elements[i],r=a.name,o=a.value;e[r]=o}this.doPost(e)},init:function(t,e,i){LJWidget.superClass.init.apply(this,arguments),this.widgetId=t,this.widgetClass=e,this.authToken=i},hilightFrame:function(){if(1==this._show_frame&&!this._frame){var t=this.getWidget();if(t){var e=t.parentNode;if(e){var i=document.createElement("fieldset");i.style.borderColor="red";var a=document.createElement("legend");a.innerHTML="Updating...",i.appendChild(a),e.appendChild(i),i.appendChild(t),this._frame=i}}}},removeHilightFrame:function(){if(1==this._show_frame){var t=this.getWidget();if(t&&this._frame){var e=this._frame.parentNode;e&&(e.appendChild(t),e.removeChild(this._frame),this._frame=null)}}},method:"POST",endpoint:"widget",requestParams:{},doAjaxRequest:function(t){if(t||(t={}),this._ajax_updating)return!1;this._ajax_updating=!0,t._widget_id=this.widgetId,t._widget_class=this.widgetClass,t.auth_token=this.authToken,$("_widget_authas")&&(t.authas=$("_widget_authas").value);var e={method:this.method,data:HTTPReq.formEncoded(t),url:LiveJournal.getAjaxUrl(this.endpoint),onData:this.ajaxDone.bind(this),onError:this.ajaxError.bind(this)};for(var i in t)e[i]=t[i];return HTTPReq.getJSON(e),!0},ajaxDone:function(t){if(this._ajax_updating=!1,this.removeHilightFrame(),t._widget_body&&t._widget_body.match(/ajax:.[^"]+/)&&(this.authToken=t._widget_body.match(/ajax:.[^"]+/)[0]),t.auth_token&&(this.authToken=t.auth_token),t.errors&&""!=t.errors)return this.ajaxError(t.errors);if(t.error)return this.ajaxError(t.error);if(this.onData&&this.onData(t),t._widget_body){var e=this.getWidget();if(!e)return;e.innerHTML=t._widget_body,this.onRefresh&&this.onRefresh()}},ajaxError:function(t){this._ajax_updating=!1,this.skipError||(this.onError?this.onError(t):LiveJournal.ajaxError(t))}}),LJWidget.widgets=[];
/* <<< file end: js/ljwidget.js */

//# map link was there [ljwidget.js.map]
/* >>> file start: js/deprecated/dom.js */
function _textSpan(){return _textElements("span",arguments)}function _textDiv(){return _textElements("div",arguments)}function _textElements(t,e){for(var n=[],r=0;r<e.length;r++){var u=document.createElement(t);u.innerHTML=e[r],n.push(u)}return 1==n.length?n[0]:n}
/* <<< file end: js/deprecated/dom.js */

//# map link was there [dom.js.map]
/* >>> file start: js/ippu.js */
function changeOpac(e,t){var i=$(e);if(i&&i.style){var s=i.style;s&&(IPPU.isSafari()&&t>=100&&(t=99.99),s.filters&&(s.filters.alpha.opacity=100*t),s.opacity=t)}}IPPU=new Class(Object,{setFixedPosition:function(e){IPPU.isIE()||(this.fixedPosition=e,this.updateContent())},clickHandler:function(e){if(this.clickToClose&&this.visible()){e=Event.prep(e);var t=e.target;DOM.getAncestorsByClassName(t,"ippu",!0).length>0||this.cancel()}},setCancelledCallback:function(e){this.cancelledCallback=e},cancel:function(){this.cancelledCallback&&this.cancelledCallback(),this.hide()},setHiddenCallback:function(e){this.hiddenCallback=e},setupClickCapture:function(){if(this.visible()&&!this.clickHandlerSetup&&(this.clickToClose||this.modal)){if(this.clickHandlerFunc=this.clickHandler.bindEventListener(this),this.modal){if(this.overlay)return;this.overlay=document.createElement("div"),this.overlay.style.left="0px",this.overlay.style.top="0px",this.overlay.style.margin="0px",this.overlay.style.padding="0px",this.overlay.style.backgroundColor="#000000",this.overlay.style.zIndex="900",IPPU.isIE()?(this.overlay.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=50)",this.overlay.style.position="absolute",this.overlay.style.width=document.body.scrollWidth,this.overlay.style.height=document.body.scrollHeight):this.overlay.style.position="fixed",this.ele.parentNode.insertBefore(this.overlay,this.ele),this.updateOverlay(),DOM.addEventListener(this.overlay,"click",this.clickHandlerFunc)}else DOM.addEventListener(document,"click",this.clickHandlerFunc);this.clickHandlerSetup=!0}},updateOverlay:function(){if(this.overlay){var e=DOM.getClientDimensions();this.overlay.style.width=e.x-1+"px",IPPU.isIE()||(this.overlay.style.height=e.y-1+"px"),this.visibleOverlay?(this.overlay.backgroundColor="#000000",changeOpac(this.overlay,.5)):(this.overlay.backgroundColor="#FFFFFF",changeOpac(this.overlay,0))}},resizeHandler:function(e){this.updateContent()},removeClickHandlers:function(){if(this.clickHandlerSetup){DOM.removeEventListener(document,"click",this.clickHandlerFunc,!1),this.overlay&&(DOM.removeEventListener(this.overlay,"click",this.clickHandlerFunc,!0),this.overlay.parentNode.removeChild(this.overlay),this.overlay=void 0),this.clickHandlerFunc=void 0,this.clickHandlerSetup=!1}},setClickToClose:function(e){if(this.clickToClose=e,!this.clickHandlerSetup&&e&&this.visible()){var t=this.setupClickCapture.bind(this);window.setTimeout(t,100)}else!e&&this.clickHandlerSetup&&this.removeClickHandlers();this.updateContent()},setModal:function(e){var t=this.modal==e;e&&this.setClickToClose(!1),this.modal=e,t&&(this.removeClickHandlers(),this.updateContent())},setOverlayVisible:function(e){this.visibleOverlay=e,this.updateContent()},updateContent:function(){this.autoCenter(),this.updateTitlebar(),this.updateOverlay(),this.titlebar&&this.setTitlebarClass(this.titlebar.className);var e=this.setupClickCapture.bind(this);window.setTimeout(e,100),this.fixedPosition&&"fixed"!=this.ele.style.position?this.ele.style.position="fixed":this.fixedPosition||"fixed"!=this.ele.style.position||(this.ele.style.position="absolute")},getTitlebarElement:function(){return this.titlebar},setTitlebarClass:function(e){this.titlebar&&(this.titlebar.className=e)},setOverflow:function(e){this.ele&&(this.ele.style.overflow=e)},visible:function(){return this.shown},setTitlebar:function(e){if(this.showTitlebar=e,e){if(!this.titlebar){var t=document.createElement("div");if(!t)return;t.style.width="100%",this.title&&(t.innerHTML=this.title),this.ele.insertBefore(t,this.content),this.titlebar=t}}else this.titlebar&&(this.ele.removeChild(this.titlebar),this.titlebar=!1)},setTitle:function(e){this.title=e,this.updateTitlebar()},updateTitlebar:function(){this.showTitlebar&&this.titlebar&&this.title!=this.titlebar.innerHTML&&(this.titlebar.innerHTML=this.title)},addClass:function(e){DOM.addClassName(this.ele,e)},removeClass:function(e){DOM.removeClassName(this.ele,e)},setAutoCenterCallback:function(e){this.autoCenterCallback=e},autoCenter:function(){if(this.visible&&this.visible()){if(this.autoCenterCallback)return void this.autoCenterCallback(this);this.autoCenterX&&this.centerX(),this.autoCenterY&&this.centerY()}},center:function(){this.centerX(),this.centerY()},centerOnWidget:function(e,t,i){t=t||0,i=i||0,this.setAutoCenter(!1,!1),this.setAutoCenterCallback(null);var s=DOM.getAbsoluteDimensions(e),n=DOM.getAbsoluteDimensions(this.ele),l=s.absoluteRight-s.offsetWidth/2-n.offsetWidth/2+i,o=s.absoluteBottom-s.offsetHeight/2-n.offsetHeight/2+t;l=0>l?0:l,o=0>o?0:o,DOM.setLeft(this.ele,l),DOM.setTop(this.ele,o)},centerX:function(){if(this.visible&&this.visible()){var e=DOM.getClientDimensions(),t=e.x/2-this.ele.offsetWidth/2;if(!this.fixedPosition){var i=DOM.getWindowScroll();t+=i.left}DOM.setLeft(this.ele,t)}},centerY:function(){if(this.visible&&this.visible()){var e=DOM.getClientDimensions(),t=e.y/2-this.ele.offsetHeight/2;if(!this.fixedPosition){var i=DOM.getWindowScroll();t+=i.top}DOM.setTop(this.ele,t)}},setAutoCenter:function(e,t){return this.autoCenterX=e||!1,this.autoCenterY=t||!1,e||t?void this.autoCenter():void this.setAutoCenterCallback(null)},setDimensions:function(e,t){e+="",t+="",e.match(/^\d+$/)&&(e+="px"),t.match(/^\d+$/)&&(t+="px"),this.ele.style.width=e,this.ele.style.height=t},moveForward:function(e){e||(e=1),this.ele&&(this.ele.style.zIndex+=e)},moveBackward:function(e){e||(e=1),this.ele&&(this.ele.style.zIndex-=e)},setLocation:function(e,t){this.setLeft(e),this.setTop(t)},setTop:function(e){"string"!=typeof e&&(e+="px"),this.ele.style.top=e},setLeft:function(e){"string"!=typeof e&&(e+="px"),this.ele.style.left=e},getElement:function(){return this.ele},setContent:function(e){this.content.innerHTML=e},setContentElement:function(e){for(;this.content.firstChild;)this.content.removeChild(this.content.firstChild);!function(e){return e}(),this.content.appendChild(e)},setFadeIn:function(e){this.fadeIn=e},setFadeOut:function(e){this.fadeOut=e},setFadeSpeed:function(e){this.fadeSpeed=e},show:function(){if(this.shown=!0,this.fadeIn){var e=.01;changeOpac(this.ele,e)}document.body.appendChild(this.ele),this.ele.style.position="absolute",(this.autoCenterX||this.autoCenterY)&&this.center(),this.updateContent(),this.resizeHandlerFunc||(this.resizeHandlerFunc=this.resizeHandler.bindEventListener(this),DOM.addEventListener(window,"resize",this.resizeHandlerFunc,!1)),this.fadeIn&&this.fade("in"),this.hideSelects()},fade:function e(t,i){var s,n,l=10;if("in"==t)n=1/l,s=.1;else{if(this.ele.style.opacity){var o=parseFloat(this.ele.style.opacity);s=isFinite(o)?o:0}else s=.99;n=-1/l}var a=this.fadeSpeed;a||(a=1);var h=l/a*5;this.fadeMode=t;var r=this,e=function c(){return s+=n,r.fadeMode&&r.fadeMode!=t?void(i&&i.call(r,[])):.1>=s?(i&&i.call(r,[]),void(r.fadeMode=null)):s>=1?(i&&i.call(r,[]),void(r.fadeMode=null)):(changeOpac(r.ele,s),void window.setTimeout(c,h))};e()},hide:function(){this.visible()&&(this.fadeOut&&this.ele?this.fade("out",this._hide.bind(this)):this._hide())},_hide:function(){this.hiddenCallback&&this.hiddenCallback(),this.shown=!1,this.removeClickHandlers(),this.ele&&document.body.removeChild(this.ele),this.resizeHandlerFunc&&DOM.removeEventListener(window,"resize",this.resizeHandlerFunc),this.showSelects()},setAutoHideSelects:function(e){this.autoHideSelects=e,this.updateContent()},hideSelects:function(){if(this.autoHideSelects&&IPPU.isIE())for(var e,t=document.getElementsByTagName("select"),i=0;i<t.length;i++)e=t[i],e&&(DOM.getAncestorsByClassName(e,"ippu",!0).length>0||"hidden"!=e.style.visibility&&(e.style.visibility="hidden",this.hiddenSelects.push(e)))},showSelects:function(){if(this.autoHideSelects)for(var e;e=this.hiddenSelects.pop();)e.style.visibility=""},init:function(e){var t=document.createElement("div");this.ele=t,this.shown=!1,this.autoCenterX=!1,this.autoCenterY=!1,this.titlebar=null,this.title="",this.showTitlebar=!1,this.clickToClose=!1,this.modal=!1,this.clickHandlerSetup=!1,this.docOverlay=!1,this.visibleOverlay=!1,this.clickHandlerFunc=!1,this.resizeHandlerFunc=!1,this.fixedPosition=!1,this.autoCenterCallback=null,this.cancelledCallback=null,this.autoHideSelects=!1,this.hiddenCallback=null,this.fadeOut=!1,this.fadeIn=!1,this.hiddenSelects=[],this.fadeMode=null,t.style.position="absolute",t.style.top=0,t.style.zIndex="1000",DOM.addClassName(t,"ippu"),this.content=document.createElement("div"),this.content.innerHTML=e,this.ele.appendChild(this.content)}}),IPPU.center=function(e){e.centerX(),e.centerY()},IPPU.centerX=function(e){e.centerX()},IPPU.centerY=function(e){e.centerY()},IPPU.isIE=function(){var e=navigator.userAgent.toLowerCase();return-1!=e.indexOf("msie")},IPPU.isSafari=function(){var e=navigator.userAgent.toLowerCase();return-1!=e.indexOf("safari")};
/* <<< file end: js/ippu.js */

//# map link was there [ippu.js.map]
/* >>> file start: js/lj_ippu.js */
//= require js/deprecated/dom.js
//= require js/ippu.js
LJ_IPPU=new Class(IPPU,{init:function(t){t||(t=""),LJ_IPPU.superClass.init.apply(this,[]),this.uniqId=this.generateUniqId(),this.cancelThisFunc=this.cancel.bind(this),this.setTitle(t),this.setTitlebar(!0),this.setTitlebarClass("lj_ippu_titlebar"),this.addClass("lj_ippu"),this.setAutoCenterCallback(IPPU.center),this.setDimensions(514,"auto"),this.setFixedPosition(!0),this.setClickToClose(!0),this.setAutoHideSelects(!0),"Entry Summary"!==t&&"Reporters"!==t||this.addClass("admin-popup")},setTitle:function(t){var e="      <div style='float:right; padding-right: 8px'><img src='"+Site.imgprefix+"/CloseButton.gif?v=7618' width='15' height='15' id='"+this.uniqId+"_cancel' /></div>"+t;LJ_IPPU.superClass.setTitle.apply(this,[e])},generateUniqId:function(){var t=new Date;return"lj_ippu_"+t.getHours()+t.getMinutes()+t.getMilliseconds()},show:function(){LJ_IPPU.superClass.show.apply(this);var t=this.setup_lj_ippu.bind(this);this.timerSetup=window.setTimeout(t,300)},setup_lj_ippu:function(t){var e=this.cancelThisFunc;$(this.uniqId+"_cancel").onclick=function(){e()};var i=document.querySelector(".admin-popup"),s=i.getBoundingClientRect(),n=s.top;0>n&&(i.style.marginTop=Math.abs(n)+80+"px"),i.style.opacity=1,i.style.visibility="visible"},hide:function(){clearInterval(this.timerSetup),LJ_IPPU.superClass.hide.apply(this)}}),LJ_IPPU.showNote=function(t,e,i,s){var n=document.createElement("div");return n.innerHTML=t,LJ_IPPU.showNoteElement(n,e,i,s)},LJ_IPPU.showErrorNote=function(t,e,i){return LJ_IPPU.showNote(t,e,i,"ErrorNote")},LJ_IPPU.showNoteElement=function(t,e,i,s){var n=new IPPU;n.init();var o=document.createElement("div");DOM.addClassName(o,"Inner"),o.appendChild(t),n.setContentElement(o),n.setTitlebar(!1),n.setFadeIn(!0),n.setFadeOut(!0),n.setFadeSpeed(4),n.setDimensions("auto","auto"),s||(s="Note"),n.addClass(s);var a;if(!e||(a=DOM.getAbsoluteDimensions(e))){var l=DOM.getClientDimensions();if(l){if(a){n.setAutoCenter(!1,!1),n.setLocation(a.absoluteLeft,a.absoluteBottom+4),n.show();var r=DOM.getAbsoluteDimensions(n.getElement());r.absoluteRight>l.x&&n.setLocation(l.x-r.offsetWidth-30,a.absoluteBottom+4)}else n.setAutoCenter(!0,!0),n.show();return n.setClickToClose(!0),n.moveForward(),void 0===i&&(i=5e3),i&&window.setTimeout(function(){n&&n.hide()},i),n}}},LJ_IPPU.textPrompt=function(t,e,i,s){s=s||{},t+="";var n=new LJ_IPPU(t),o=document.createElement("div");DOM.addClassName(o,"ljippu_textprompt"),e&&o.appendChild(_textDiv(e));var a=document.createElement("textarea");DOM.addClassName(a,"htmlfield"),a.cols=40,a.rows=5,o.appendChild(a);var l=document.createElement("div");DOM.addClassName(l,"submitbtncontainer");var r=document.createElement("input");DOM.addClassName(r,"submitbtn"),r.type="button",r.value="Insert",l.appendChild(r),o.appendChild(l),n.setContentElement(o),n.setAutoCenter(!0,!0),n.setDimensions(s.width||"60%","auto"),n.show(),a.focus(),DOM.addEventListener(r,"click",function(t){n.hide(),i&&i.apply(null,[a.value])})};
/* <<< file end: js/lj_ippu.js */

//# map link was there [lj_ippu.js.map]
/* >>> file start: js/ljwidget_ippu.js */
//= require js/ljwidget.js
//= require js/lj_ippu.js
LJWidgetIPPU=new Class(LJWidget,{init:function(t,e){var i=t.title,n=t.widgetClass,s=t.authToken,a=t.nearElement,l=t.not_view_close,d=t.popupClass;e||(e={}),this.reqParams=e;var o=new LJ_IPPU(i,a);this.ippu=o;var h=document.createElement("div");h.id="LJWidgetIPPU_"+Unique.id(),o.setContentElement(h),d&&this.ippu.ele.classList.add(d),t.width&&t.height&&o.setDimensions(t.width,t.height),t.overlay&&(IPPU.isIE()?(this.ippu.setModal(!0),this.ippu.setOverlayVisible(!0),this.ippu.setClickToClose(!1)):(this.ippu.setModal(!0),this.ippu.setOverlayVisible(!0))),t.center&&o.center(),o.show(),l&&(o.titlebar.getElementsByTagName("img")[0].style.display="none");var u=document.createElement("div");u.style.fontSize="1.5em",u.style.fontWeight="bold",u.style.margin="5px",u.style.textAlign="center",u.innerHTML="Loading...",this.loadingText=u,h.appendChild(u);var r=[h.id,n,s];LJWidgetIPPU.superClass.init.apply(this,r);var g=this;return o.setCancelledCallback(function(){g.cancel&&g.cancel()}),n?(this.widgetClass=n,this.authToken=s,this.title=i,this.nearEle=a,window.setInterval(this.animateLoading.bind(this),20),this.loaded=!1,this.loadContent(),this):null},animateCount:0,animateLoading:function(t){var e=this.loadingText;if(this.loaded||!e)return void window.clearInterval(t);this.animateCount+=.05;var i=(Math.sin(this.animateCount)+1)/2*255,n=Math.round(i).toString(16);1==n.length&&(n="0"+n),n+=n+n,e.style.color="#"+n,this.ippu.center()},doAjaxRequest:function(t){t||(t={}),t._widget_ippu=1,document.getElementById("LJ__Setting__InvisibilityGuests_invisibleguests_self")&&(t["Widget[IPPU_SettingProd]_LJ__Setting__InvisibilityGuests_invisibleguests"]=1==document.getElementById("LJ__Setting__InvisibilityGuests_invisibleguests_self").checked?1:1==document.getElementById("LJ__Setting__InvisibilityGuests_invisibleguests_anon").checked?2:0),LJWidgetIPPU.superClass.doAjaxRequest.apply(this,[t])},close:function(){this.ippu.hide()},loadContent:function(){var t=this.reqParams;this.updateContent(t)},method:"POST",onData:function(t){this.loaded=!0},render:function(t){}});
/* <<< file end: js/ljwidget_ippu.js */

//# map link was there [ljwidget_ippu.js.map]
/* >>> file start: js/jquery/jquery.center.js */
!function(t){return t}(),function(t){t.fn.center=function(){var i=t(window),h=({width:i.width(),height:i.height()},this.first()),e={width:h.outerWidth(),height:h.outerHeight()};return h.css({position:"fixed",left:"50%",top:"50%",marginTop:-(e.height/2),marginLeft:-(e.width/2)}),this}}(jQuery);
/* <<< file end: js/jquery/jquery.center.js */

//# map link was there [jquery.center.js.map]
/* >>> file start: js/jquery/dialogs.js */
var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};
//= require js/jquery/jquery.center.js
LJ.UI.registerTemplate('templates-Widgets-dialogs', "<div class=\"b-popup\"> <div class=\"b-popup-outer\"> <div class=\"b-popup-inner\"> <div class=\"b-dialog\"> {{if $data.title}} <div class=\"b-dialog-header\"> {{html $data.title}} </div> {{/if}} {{if ($data.type == \'prompt\' || $data.text)}} <div class=\"b-dialog-body\"> {{if $data.text}} {{html $data.text}} {{/if}} {{if ($data.type == \'prompt\')}} <div class=\"b-dialog-prompt-wrap\"> <input type=\"text\" name=\"dialog-prompt\" class=\"b-dialog-prompt\" value=\"\" {{if $data.placeholder}}placeholder=\"{{html $data.placeholder}}\"{{/if}} /> </div> {{/if}} </div> {{/if}} <div class=\"b-dialog-footer\"> {{if $data.is_mac}} {{if $data.type != \'alert\'}} <button type=\"button\" name=\"dialog-cancel\" class=\" b-dialog-btn b-dialog-cancel b-flatbutton b-flatbutton-neutral \" > {{html $data.no.text}} </button> {{/if}} <button type=\"button\" name=\"dialog-ok\" class=\" b-dialog-btn b-dialog-ok b-flatbutton \" > {{html $data.yes.text}} </button> {{else}} <button type=\"button\" name=\"dialog-ok\" class=\" b-dialog-btn b-dialog-ok b-flatbutton \" > {{html $data.yes.text}} </button> {{if $data.type != \'alert\'}} <button type=\"button\" name=\"dialog-cancel\" class=\" b-dialog-btn b-dialog-cancel b-flatbutton b-flatbutton-neutral \" > {{html $data.no.text}} </button> {{/if}} {{/if}} </div> </div> <i class=\"i-popup-close\"></i> </div> </div> </div> ", 'JQuery.stat');
!function(t){return t}(),function(t){"use strict";LJ.dialogs={defaults:{alert:{title:"",fade:!0,show:t.noop,hide:t.noop,defaultButton:"yes",yes:{text:LJ.ml("dialogs.yes"),action:t.noop}},confirm:{title:"",fade:!0,show:t.noop,hide:t.noop,defaultButton:"yes",yes:{text:LJ.ml("dialogs.yes"),action:t.noop},no:{text:LJ.ml("dialogs.no"),action:t.noop}},prompt:{title:"",fade:!0,show:t.noop,hide:t.noop,defaultButton:"input",value:"",yes:{text:LJ.ml("dialogs.yes"),action:t.noop},no:{text:LJ.ml("dialogs.no"),action:t.noop}}}};var o=function(t){function o(o){var n,e=y.type,i=null;m||(m=[],m.push(d.find(g.yesButton)),"prompt"===e&&m.push(d.find(g.promptInput)),"prompt"!==e&&"confirm"!==e||m.push(d.find(g.noButton)),n=d.find(g.body).find("a,select,input,button").not(g.yesButton).not(g.noButton).not(g.promptInput),n.length&&(m=m.concat(n.toArray().map(t)))),m.some(function(t,o){var n=t.is(":focus");return n&&(i=o),n}),null===i?i=0:(i+=o,i>m.length-1?i=0:0>i&&(i=m.length-1)),m[i].focus()}function n(){s=t("<div />",{"class":"b-fader"}).prependTo(document.body)}function e(o){var e="object"===_typeof(o.text),l=null,u=null;y=o,e&&(l=t('<div class="b-dialog-body" />').append(o.text),o.text=""),d=LJ.UI.template("templates-Widgets-dialogs",o),e&&(u=d.find(g.header),u.length?u.after(l):d.find(g.dialog).prepend(l)),d.prependTo(document.body).center(),o.fade&&(s=t(".b-fader"),s.length?s.show():n()),d.on("click",g.closeButton,i),"no"===o.defaultButton&&"alert"!==o.type?d.find(g.noButton).focus():"prompt"===o.type&&"yes"!==o.defaultButton?d.find(g.promptInput).focus():d.find(g.yesButton).focus(),o.show.call(d,o)}function i(){s&&s.hide(),m=null,y.hide.call(d,y),d.remove(),d=null}function l(t,o){if(!("string"==typeof t&&0!==t.length||"object"===("undefined"==typeof t?"undefined":_typeof(t))&&t.jquery))throw new Error("You should provide text or node as `text` param for the dialog");if(o&&"object"!==("undefined"==typeof o?"undefined":_typeof(o)))throw new Error("Dialog options should be an object");if(d)throw new Error("You are not able to create multiple dialogs at the time");o&&o.yes&&("function"==typeof o.yes?o.yes={action:o.yes}:"string"==typeof o.yes&&(o.yes={text:o.yes})),o&&o.no&&("function"==typeof o.no?o.no={action:o.no}:"string"==typeof o.no&&(o.no={text:o.no}))}function u(){d.find(g.yesButton).trigger("click")}function c(){d.find(g.noButton).trigger("click")}function a(t){return function(){try{return t.apply(this,arguments),{yes:u,no:c}}catch(o){console.error(o.message)}}}var p,r,f,d=null,s=null,y=null,m=null,g={yesButton:".b-dialog-ok",noButton:".b-dialog-cancel",closeButton:".i-popup-close",promptInput:".b-dialog-prompt",header:".b-dialog-header",dialog:".b-dialog",body:".b-dialog-body"};return LJ.Support.isMobile()||t(document).on("keydown",function(t){if(d)switch(t.which){case 27:d.find(g.closeButton).trigger("click");break;case 9:o(t.shiftKey?-1:1),t.preventDefault()}}),p=function(o,n){l(o,n),n=t.extend(!0,{},LJ.dialogs.defaults.alert,{type:"alert",text:o},n||{}),e(n),d.on("click",g.yesButton,function(){void 0===n.yes.action.call(d,i)&&i()})},r=function(o,n){l(o,n),n=t.extend(!0,{},LJ.dialogs.defaults.confirm,{type:"confirm",text:o},n||{}),e(n),d.on("click",g.yesButton,function(){void 0===n.yes.action.call(d,!0,i)&&i()}),d.on("click",g.noButton,function(){n.no.action.call(d,!1),i()})},f=function(o,n){l(o,n),n=t.extend(!0,{},LJ.dialogs.defaults.prompt,{type:"prompt",text:o},n||{}),e(n),n.value&&d.find(g.promptInput).val(n.value),d.on("click",g.yesButton,function(){void 0===n.yes.action.call(d,d.find(g.promptInput).val())&&i()}),d.find(g.noButton).on("click",function(){n.no.action.call(d),i()}),LJ.Support.isMobile()||d.find(g.promptInput).on("keyup",function(t){13===t.which&&d.find(g.yesButton).trigger("click")})},{alert:a(p),confirm:a(r),prompt:a(f)}}(t);t.extend(!0,LJ.dialogs,o)}(jQuery);
/* <<< file end: js/jquery/dialogs.js */

//# map link was there [dialogs.js.map]
/* >>> file start: js/scheme/schemius/controlstrip.js */
//= require js/ljwidget_ippu.js
//= require js/jquery/dialogs.js
!function(e){return e}(),function(){LJ.define("LJ.Schemius.controlstrip"),LJ.Schemius.controlstrip.init=function(e){var i=e.jQuery,n=i(".js--controlstrip");if(n.length){var r=n.find(".js--user_status"),s=n.find(".js--user_status_dash"),t=n.find(".js--item-friending.js--add"),o=n.find(".js--item-friending.js--modify"),a=n.find(".js--item-subscribe.js--add"),d=n.find(".js--item-subscribe.js--modify"),u=n.find(".js--item-subscribe.js--disabled"),l=LJ.get("current_journal.username"),c=LJ.Support.isMobile(),f={subscriptions:{remote:{},journal:{}},friendLists:{remote:{},journal:{}},friendingStatus:r.html(),friendingBlocker:null,subscriptionBlocker:null};f.friendingStatus&&(f.friendingStatus=f.friendingStatus.trim());var m=function(){f.friendLists.remote.journal?(t.hide(),o.show()):(t.show(),f.friendingBlocker&&!c?t.find("a").addClass("js--disabled"):t.find("a").removeClass("js--disabled"),o.hide())},g=function(){return f.friendLists.remote.journal?(a.hide(),d.hide(),void u.show()):(u.hide(),void(f.subscriptions.remote.journal?(a.hide(),d.show()):(a.show(),f.subscriptionBlocker&&!c?a.find("a").addClass("js--disabled"):a.find("a").removeClass("js--disabled"),d.hide())))},b=function(){m(),g(),r.html(f.friendingStatus),r.attr("title",f.friendingStatus),f.friendingStatus?(r.show(),s.show()):(r.hide(),s.hide())},j=function(e){if(e){var i=e.data;i&&(f.friendLists.remote.journal=i.is_friend,f.subscriptions.remote.journal=i.is_subscriber,f.friendingStatus=i.controlstrip_status,b(i))}},h=function(e,i){i&&LJ_IPPU.showNote(i,e)},p=function(e){e&&LJ.dialogs.alert(e,{yes:{text:"OK"}})},L=function(){return LJ.get("remote")?Promise.all([LJ.Api.call("relations.can_add_friends",{target:l}),LJ.Api.call("relations.can_add_subscribers",{target:l})]).then(function(e){e[0]&&e[1]&&(e[0].can_add_friends?f.friendingBlocker=null:f.friendingBlocker={message:e[0].add_friends_error},e[1].can_add_subscribers?f.subscriptionBlocker=null:f.subscriptionBlocker={message:e[1].add_subscribers_error})}):Promise.resolve()};LJ.Event.on("relations.changed",function(e){j(e),L().then(b)}),t.on("click",function(e){if(!f.friendLists.remote.journal){e.preventDefault();var i=f.friendingBlocker;return i?void(c?p(i.message):h(t[0],i.message)):void LJ.Api.call("relations.addfriend",{target:l}).then(function(e){return LJ.Event.trigger("relations.changed",{action:"addFriend",username:l,data:e})})}}),a.on("click",function(e){if(!f.subscriptions.remote.journal){e.preventDefault();var i=f.subscriptionBlocker;return i?void(c?p(i.message):h(a[0],i.message)):void LJ.Api.call("relations.addfriend",{target:l,is_subscriber:1}).then(function(e){return LJ.Event.trigger("relations.changed",{action:"addFriend",username:l,data:e})})}}),n.attr("data-remote-friends-journal")&&(f.friendLists.remote.journal=!0),n.attr("data-remote-subscribed-to-journal")&&(f.subscriptions.remote.journal=!0),L().then(b)}}}();
/* <<< file end: js/scheme/schemius/controlstrip.js */

//# map link was there [controlstrip.js.map]
/* >>> file start: js/scheme/schemius.js */
//= require js/core/angular/api.js
//= require js/lib/jquery.selectric.min.js
//= require js/captcha.js
//= require js/scheme/schemius/feedback.js
//= require js/scheme/schemius/controlstrip.js
!function(e){return e}(),function(e){function o(){function o(e){return!!(e.ctrlKey||e.metaKey&&LJ.Support.isMac)}function t(e){e&&(e.stopPropagation(),e.preventDefault()),J.removeClass(_),J.removeClass(f),u.removeClass(_),u.removeClass(f)}function n(o){o&&(o.preventDefault(),o.stopPropagation()),c(),LJ.Event.trigger("Messages:closeByMenus"),u.addClass(f),J.addClass(_),setTimeout(function(){e("#user").focus()},300)}function s(){u.hasClass(f)?t():n()}function a(e){e&&LJ.Api.call("lang.set",{lang:e},function(){location.reload()})}function i(o){h.toggleClass(L,o),o?e(".b-loginform-click-trap").removeClass("b-loginform-click-trap--show"):(e(".b-loginform-click-trap").addClass("b-loginform-click-trap--show"),e(".b-loginform").removeClass("openid-auth-state"))}var l,r,c,u,d,p,m,h,g,f,v,b,C,k,w,j,L,y=LJ.Flags.isEnabled("medius_schemius"),J=e(document.body),x=e(".s-header"),S=e(y?".js-header-search-input":".s-inline-search-input"),A=e(y?".js-header-search-button":".s-do-item-search-btn"),D="p-show-search",T=!1,_="p-loginform",M=e(y?".js-header-nav-lang":".s-nav-item-lang"),I="s-nav-item-lang-open",P=function(e){o(e)||(x.hasClass(D)&&S.val()&&A.prop("type","submit"),x.toggleClass(D),x.hasClass(D)&&(T=!0,setTimeout(function(){S.focus()},500)))},E=e(".s-header-search__form");navigator.userAgent.match(/(iPod|iPhone|iPad)/i)&&E.each(function(){e(this).removeAttr("target")}),E.on("submit",function(){var e=S.val(),o=e.split(" ").filter(function(e){return e}),t=o.every(function(e){return e.length>1&&0===e.indexOf("#")});S.attr("name",t?"tags":"q")}),LJ&&LJ.Util&&LJ.Util.Action&&(LJ.Util.Action.login=n),A.on("click",P),A.on("blur",function(){"submit"===A.prop("type")&&(A.prop("type","button"),S.val(""))}),S.on("click",function(){T=!0}),J.on("click",function(){T||(x.removeClass(D),M.removeClass(I)),T=!1}),J.on("gesturestart",function(o){(e("html").hasClass("p-nav-common-menu-open")||e("html").hasClass("p-nav-user-menu-open"))&&o.preventDefault()}),navigator.userAgent.match(/Trident/)&&navigator.userAgent.match(/rv[ :]11/)&&e("html").addClass("html-ie11"),navigator.appVersion.match(/MSIE\s10/)&&e("html").addClass("html-ie10"),u=e("html"),u.addClass(LJ.Support.isMobile()?"html-mobile":"html-desktop"),~navigator.userAgent.toLowerCase().indexOf("android")?u.addClass("html-android"):~navigator.userAgent.toLowerCase().indexOf("iphone")||~navigator.userAgent.toLowerCase().indexOf("ipad")?u.addClass("html-ios"):~navigator.userAgent.toLowerCase().indexOf("windows phone")&&u.addClass("html-wphone"),e("[data-lang]").on("click",function(){a(e(this).data("lang"))}),M.on("click",function(e){o(e)||(e.preventDefault(),M.toggleClass(I),T=M.hasClass(I))}),e(".s-lang-select").selectric({customClass:{prefix:"b-selectus",postfixes:"Input Items Open Disabled TempShow HideSelect Wrapper Hover Responsive Above Scroll",camelCase:!1,overwrite:!1}}).on("change",function(){a(e(this).val())}),e(".selectricus").selectric({customClass:{prefix:"b-selectus",postfixes:"Input Items Open Disabled TempShow HideSelect Wrapper Hover Responsive Above Scroll",camelCase:!1,overwrite:!1},expandToItemText:!0,disableOnMobile:!1}),e(".b-message-mobile-close").one("click",function(){e(".b-message-mobile").hide()}),C=e(y?".js-header-nav-drop-master":".s-drop-master"),k=y?"s-header-nav-drop--open":"s-drop-open",w=LJ.Support.isMobile(),j=!1,w||(b=e(":lj-bubble"),C.on("mouseenter",function(){var o=e(this),t=300;j&&(clearTimeout(v),t=0),v=setTimeout(function(){C.removeClass(k),o.addClass(k),j=!0,b.bubble("hide"),LJ.Event.trigger("headerUserMenu::open")},t)}).on("mouseleave",function(){var o=e(this);return j?void(v=setTimeout(function(){o.removeClass(k),j=!1},500)):(clearTimeout(v),void o.removeClass(k))})),w&&(C.on("click",function(o){var t=e(this),n=0!==t.find("li").length,s=e(o.target).closest("span").is(".s-header-extra-menu-item-link-icon");"input"!==o.target.tagName.toLowerCase()&&(o.target.closest(".js--plain-link")||o.target.classList.contains("js--plain-link")||(t.hasClass(k)||!n||s||o.preventDefault(),t.hasClass(k)||s||(j=!0,C.removeClass(k),o.stopPropagation(),e(":lj-bubble").bubble("hide")),t.toggleClass(k)))}),J.on("click",function(o){var t=0===e(o.target).closest(C).length,n=e(o.target).is(".b-popup");n&&(o.stopPropagation(),e(":lj-bubble").bubble("hide")),j&&t&&(j=!1,C.removeClass(k),o.preventDefault())}),LJ.Support.isMobile&&LJ.Support.browser.safari&&J.addClass("iphone"),e(".l-flatslide-menu-active, .l-flatslide-menu-expander").click(function(o){o.preventDefault(),e(this).closest(".l-flatslide-menu").toggleClass("l-flatslide-menu-expanded")}),e(".s-header-search, .s-header-item-search__form").removeAttr("target")),u=e("html"),d=e(".s-body"),p=e(y?".js-header-menu-button":".s-nav-control-common"),m=e(y?".js-header-login":".s-nav-control-user, .s-nav-control-login"),g="p-nav-common-menu-open",f="p-nav-user-menu-open",p.on("click",function(){LJ.Event.trigger("Messages:closeByMenus"),u.toggleClass(g),t()});var O=s;Site.remote?m.on("click",O):Site.isCustomDomain||m.on("click",s),c=function(){u.removeClass(g),u.removeClass(f)},d.on("click",function(){c(),t()}),e(".s-header-menu-head__drop").click(function(){var o=e(this).closest(".s-header-menu-drop"),t=o.find(".s-header-menu-list-sub"),n="s-header-menu-drop--open";if(o.is("."+n))t.css("max-height","");else{var s=t.children().toArray().reduce(function(o,t){return o+e(t).height()},0);t.css("max-height",s)}o.toggleClass(n)}),Site.isCustomDomain||e(y?".js-header-login":".s-nav-item-login").on("click",n),e(".js-loginform-close").on("click",t),e(document).on("keyup",function(e){"Escape"!==e.key&&27!==e.keyCode||t(e)}),e(".b-fader").on("click",t),h=e(".b-loginform-body > .b-loginform-field"),L="active",y?e(".lj-openid-auth-button").on("click",function(o){o.preventDefault(),i(!1),e(".b-loginform").addClass("openid-auth-state")}):e(".lj-openid-auth-button").on("click",function(o){o.preventDefault(),e(".b-loginform").toggleClass("openid-auth-state"),e(".b-loginform").hasClass("openid-auth-state")?e("#openid").focus():e("#user").focus()}),y&&(e(".js-login-close").on("click",function(e){i(!1),t(e)}),e(".b-loginform-click-trap").on("click",function(){return i(!0)}),e(".b-loginform-toggle-link").on("click",function(){return i(!1)}),LJ.Flags.isEnabled("notification_center")&&angular.bootstrap(y?".js-header-notifications":".mds-do",["Notifications"])),LJ.Event.on("userpic.changed",function(o){e(".s-userpic").css("backgroundImage","url("+o+")")}),!LJ.Flags.isEnabled("ljwelcomevideo")||w||LJ.get("remote")||LJ.Cookie.get("welcome_ljvideo")||0!==LJ.get("remote_is_sup")||e(".appwidget-login").length||LJ.injectScript("https://www.youtube.com/player_api").then(function(){function o(e){0!==e.data&&2!==e.data||n.addClass("s-ljvideo-end"),1===e.data&&n.removeClass("s-ljvideo-end")}var t,n=e(".s-ljvideo");J.addClass("p-ljvideo"),window.onYouTubePlayerAPIReady=function(){t=new window.YT.Player("s-ljvideo-player",{width:"640",height:"360",videoId:"wq0YmQ4xIeU",playerVars:{rel:0},events:{onStateChange:o}})},e(".b-fader, .s-ljvideo-close").on("click",function(){J.hasClass("p-ljvideo")&&(J.removeClass("p-ljvideo"),t.destroy(),LJ.Cookie.setGlobal("welcome_ljvideo",1,{expires:14}))})}),r=e(".flatquestion-nojs-friendsgroups"),l=e(".flatquestion-popup-field-showanswer"),e(".flatquestion-popup-select").on("change",function(){"custom"===e(this).val()?r.show():r.hide(),"public"===e(this).val()?l.show():l.hide()}),LJ.Schemius.controlstrip.init({jQuery:e})}e(function(){0===e(".s-header").length?e("html").on("controlstrip-initialized",o):o()})}(jQuery);
/* <<< file end: js/scheme/schemius.js */

//# map link was there [schemius.js.map]
/* >>> file start: js/core/crossStorageClient.js */
var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};!function(){var e=LJ.Util.getWindow(),t={};LJ.define("LJ.Util.CrossStorage"),LJ.Util.CrossStorage=t;var n=void 0,r=[];e.addEventListener("message",function(e){if(e.origin===LJ.get("statprefix")){var t=e.data||{};"ljCrossStorage.storageEvent"===t.messageType&&r.forEach(function(e){e(_extends({},t.eventObj))})}});var o=function(){if(n)return n;var t=e.document.createElement("iframe");return t.style.cssText="display: none; width: 0; height: 0; border: 0;",t.frameBorder=0,t.src=LJ.get("statprefix")+("/??plain/crossStorageServ.html?&v="+LJ.get("v")),e.document.body.appendChild(t),n=new Promise(function(e){var n=setTimeout(function(){t.src=t.src+"0"},5e3);t.onload=function(){clearTimeout(n),e(t)}})},s=function(t){var n=t.requestID;return new Promise(function(t){var r=function o(r){if(r.origin===LJ.get("statprefix")){var s=r.data||{};"object"===("undefined"==typeof s?"undefined":_typeof(s))&&"crossStorageServResponse"in s&&s.requestID===n&&(e.removeEventListener("message",o),t(s.crossStorageServResponse))}};e.addEventListener("message",r)})};t.getItem=function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return o().then(function(n){var r=Date.now()+""+Math.floor(1e4*Math.random()),o={fn:"getItem",args:[e],source:"LJ.CrossStorage",requestID:r};return n.contentWindow.postMessage(o,"*"),s({requestID:r}).then(function(e){var n=e;if(t.parseJSON)try{n=JSON.parse(e)}catch(r){}return n})})},t.setItem=function(e,t){return o().then(function(n){var r={fn:"setItem",source:"LJ.CrossStorage",args:[e,t]};n.contentWindow.postMessage(r,"*")})},t.listenStorageEvents=function(e){r.push(e)}}();
/* <<< file end: js/core/crossStorageClient.js */

//# map link was there [crossStorageClient.js.map]
/* >>> file start: js/widgets/angular/login.js */
//= require js/core/angular/api.js
//= require js/core/crossStorageClient.js
//= require_ml loginform.error.enterpassword
//= require_ml loginform.error.purgeduser
//= require_ml loginform.error.enteruser
//= require_ml loginform.error.ipbanned
//= require_ml loginform.error.ipbanned.sysban
//= require_ml loginform.error.ipbanned.distribution
//= require_ml loginform.error.openid
//= require_ml loginform.error.password
//= require_ml loginform.error.usercreate
//= require_ml error.nocommlogin
//= require_ml error.login.limit.exceeded
//= require_ml error.expiredchal
//= require_ml error.account_locked.text
//= require_ml error.user_is_child.text
//= require_ml login.message.no_login_in_browser
//= require_ml loginform.error.corrupted_password
//= require_ml loginform.warning.webview_external_domain_issues
!function(r){return r}(),function(){function r(r){r.html5Mode({enabled:!0,requireBase:!1})}function e(){return{controllerAs:"loginForm",controller:n,link:function(r,e){e.find("a:not([target])").attr("target","_self")}}}function o(r){var e=r.type,o=r.url,n=r.$window,s=t("instant_relation_source",o),a=function(r){switch(r){case"instantRelationTry":return"try";case"instantRelationSuccess":return"ok";default:return null}}(e),i=function(r){switch(r){case"before_post":return"username";case"after_post":return"post";case"ctx_popup":return"ctxpopup";default:return null}}(s);return a&&i&&n.ym?window.ym(27737346,"reachGoal","subscribe-"+i+"__login-"+a):null}function n(r,e,n,t,s,a){function i(){var r=!!Site.journal&&!/livejournal.com/gi.test(Site.journal.journal_url),e=LJ.Support&&LJ.Support.browser&&LJ.Support.browser.safari;r&&e&&LJ.Util.CrossStorage.getItem("lastLogin",{parseJSON:!0}).then(function(r){if(r){var e=r.time,o=+new Date,n=(o-e)/1e3;30>=n&&!LJ.get("remote")?LJ.Messages.add({type:"error",body:LJ.ml("login.message.no_login_in_browser")}):LJ.Util.CrossStorage.setItem("lastLogin","")}})}var l=this,u=angular.element(".b-fader");l.hasError=!1,l.siteroot=LJ.get("siteroot"),l.isMobile=LJ.Support.isMobile()||!!~navigator.userAgent.toLowerCase().indexOf("android"),l.forceRemember=null,l.expire=!0,l.close=function(r){r.target===r.currentTarget&&(r&&r.preventDefault(),n(function(){u.triggerHandler("click")}))},i();var m=void 0;l.loginUser=function(e){m=decodeURIComponent(a.absUrl()),o({type:"instantRelationTry",url:m,$window:r}),e.preventDefault(),l.forceRemember&&(l.expire=!0),l.model.username&&l.model.password?s.call("user.login",{user:l.model.username,password:l.model.password,expire:l.expire?"never":"remember_me"},{silent:!0}).then(l.sucsessLogin)["catch"](l.onError):l.model.username?l.model.password||l.onError({message:"invalid_password"}):l.onError({message:"invalid_user"})},l.loginOpenID=function(r){l.model.openid||(r.preventDefault(),l.onError({message:"invalid_id"}))},l.sucsessLogin=function(){LJ.Util.CrossStorage.setItem("lastLogin",{time:+new Date}),o({type:"instantRelationSuccess",url:m,$window:r});var e=window.location.pathname;~e.indexOf("logout")?window.location.replace("/login.bml"):window.custom_auth?window.custom_auth({reloadIframe:!0}).then(function(){var r=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];r.hasAuthMatch&&r.isCookieChanged&&(LJ.Log.fire({msg:"pageReload",url:"htdocs/js/widgets/angular/login.js",where:window.location.href,payload:"if::window.custom_auth"}),window.location.reload())}):(LJ.Log.fire({msg:"pageReload",url:"htdocs/js/widgets/angular/login.js",where:window.location.href,payload:"if::!window.custom_auth"}),window.location.reload())},l.onError=function(r){switch(l.resetError(),l.hasError=!0,r.message){case"unknown_user":l.errorUsername=!0,l.errorMessage=t.trustAsHtml(LJ.ml("loginform.error.usercreate",{domain:l.siteroot,username:l.model.username}));break;case"purged_user":l.errorUsername=!0,l.errorMessage=t.trustAsHtml(LJ.ml("loginform.error.purgeduser"));break;case"community_disabled_login":l.errorUsername=!0,l.errorMessage=t.trustAsHtml(LJ.ml("error.nocommlogin"));break;case"invalid_user":l.errorUsername=!0,l.errorMessage=t.trustAsHtml(LJ.ml("loginform.error.enteruser"));break;case"bad_password":l.errorPassword=!0,l.errorMessage=t.trustAsHtml(LJ.ml("loginform.error.password"));break;case"invalid_password":l.errorPassword=!0,l.errorMessage=t.trustAsHtml(LJ.ml("loginform.error.enterpassword"));break;case"banned_ip":l.errorUsername=!0,l.errorMessage=t.trustAsHtml(LJ.ml("loginform.error.ipbanned"));break;case"banned_ip_sysban":l.errorUsername=!0,l.errorMessage=t.trustAsHtml(LJ.ml("loginform.error.ipbanned.sysban"));break;case"banned_ip_distrib":l.errorUsername=!0,l.errorMessage=t.trustAsHtml(LJ.ml("loginform.error.ipbanned.distribution"));break;case"invalid_id":l.errorId=!0,l.errorMessage=t.trustAsHtml(LJ.ml("loginform.error.openid"));break;case"ratelimit_exceeded":l.errorUsername=!0,l.errorMessage=t.trustAsHtml(LJ.ml("loginform.error.openid"));break;case"expired_challenge":l.errorUsername=!0,l.errorMessage=t.trustAsHtml(LJ.ml("error.expiredchal"));break;case"account_locked":l.errorUsername=!0,l.errorMessage=t.trustAsHtml(LJ.ml("error.account_locked.text"));break;case"is_child":l.errorUsername=!0,l.errorMessage=t.trustAsHtml(LJ.ml("error.user_is_child.text"));break;case"corrupted_password":l.errorPassword=!0,l.errorMessage=t.trustAsHtml(LJ.ml("loginform.error.corrupted_password"));break;default:l.errorUsername=!0,l.errorMessage=t.trustAsHtml("Unknown error")}},n(function(){LJ.Support.browser.webkit&&(angular.element("input:-webkit-autofill").length&&angular.element(".b-loginform-btn--auth").removeClass("b-loginform-btn--disabled"),function(r){return r}())},100),l.resetError=function(){l.errorError=l.errorUsername=l.errorPassword=l.errorIp=l.errorId=!1},e.$watch(function(){return l.model},function(){l.hasError&&l.resetError()},!0),LJ.Support.isWebView&&Site.isCustomDomain&&(l.presubmitWarning=LJ.ml("loginform.warning.webview_external_domain_issues"))}r.$inject=["$locationProvider"],n.$inject=["$window","$scope","$timeout","$sce","Api","$location"],angular.module("Login",["LJ.Api","LJ.Directives"]).config(r).controller("LoginCtrl",n).directive("ljLogin",e),function(r){return r}(),angular.element(window.document).ready(function(){if(!angular.element("body[ng-app]").length>0)try{angular.bootstrap(".b-loginform",["Login"])}catch(r){console.info(r.message,r.stack)}});var t=function(r,e){r=r.replace(/[\[\]]/g,"\\$&");var o=new RegExp("[?&]"+r+"(=([^&#]*)|&|#|$)"),n=o.exec(e);return n?n[2]?decodeURIComponent(n[2].replace(/\+/g," ")):"":null}}();
/* <<< file end: js/widgets/angular/login.js */

//# map link was there [login.js.map]
/* >>> file start: js/widgets/angular/mediusSubscribe.js */
//!= require js/core/angular/messages.js
//= require_ml medius.subscribe.banner.title
//= require_ml medius.subscribe.banner.text
//= require_ml medius.subscribe.button.text
//= require_ml medius.subscribe.subscribed
//= require_ml medius.footer.newsletter
//= require_ml medius.main.subscription.text
//= require_ml medius.main.subscription.success
//= require_ml medius.main.subscription
//= require_ml schemius.medius.subscribe
//= require_ml schemius.medius.subscribetonews
//= require_ml schemius.medius.dailynewsletter
//= require_ml schemius.medius.youremail
//= require_ml schemius.medius.subscribed
//= require_ml schemius.medius.unsubscribe
Site.page.template['Widgets/Medius/subscribe.tmpl'] = '<!-- if subscribed -->\n\n<div class=\"subscription\">\n    <h4 class=\"mdsfooter-section__title\" lj-ml=\"medius.footer.newsletter\"></h4>\n    <header class=\"subscription__header\">\n        <h2 lj-ml=\"medius.subscribe.banner.title\" class=\"subscription__title\"></h2>\n        <p lj-ml=\"medius.subscribe.banner.text\" class=\"subscription__title subscription--subtitle\"></p>\n    </header>\n    <form class=\"subscription__aside\">\n        <button ng-click=\"subscribe.do($event)\" lj-ml=\"medius.subscribe.button.text\" class=\"flatbutton flatbutton--small\"></button>\n    </form>\n</div>\n';
Site.page.template['Widgets/Medius/subscribe137.tmpl'] = '<!-- if subscribed -->\n\n<div \n    class=\"stories__subscription-main story story--size-10by05\"\n    ng-class=\"{\n      \'stories__subscription-main--subscribed\': subscribe.subscribed,\n      \'stories__subscription-main--hide\': subscribe.hide\n    }\"\n    >\n    <div class=\"stories__subscription-main-inner\">\n        <span\n            class=\"stories__subscription-main-text\"\n            lj-ml=\"medius.main.subscription.text\"\n            >\n        </span>\n        <span\n            class=\"stories__subscription-main-success\"\n            lj-ml=\"medius.main.subscription.success\"\n            >\n        </span>\n        <button\n            class=\"flatbutton\"\n            lj-ml=\"medius.main.subscription\"\n            ng-click=\"subscribe.do($event)\" \n            >\n        </button>\n    </div>\n</div>\n';
Site.page.template['Widgets/Medius/schemius_header_subscribe.tmpl'] = '<header\n    class=\"\n        s-header-menu-head\n        s-header-menu-subscription__head\n        \"\n    >\n    <span\n        class=\"s-header-menu-head__title\"\n        ><!--\n        --><span\n            class=\"s-header-menu-head__title--long\"\n            lj-ml=\"schemius.medius.subscribetonews\"\n            ></span><!--\n        --><span\n            class=\"s-header-menu-head__title--short\"\n            lj-ml=\"schemius.medius.dailynewsletter\"\n            ></span><!--\n    --></span>\n</header>\n\n<div\n    class=\"s-header-menu-subscription__body\"\n    >\n\n    <div\n        class=\"\n            s-header-menu-subscription__unsubscribed\n            s-header-menu-subscription-unsubscribed\n            \"\n        >\n        <button\n            type=\"submit\"\n            class=\"s-header-menu-subscription-unsubscribed__button\"\n            ng-click=\"subscribe.do($event)\"\n            lj-ml=\"schemius.medius.subscribe\"\n            ></button>\n    </div>\n\n    <div\n        class=\"\n            s-header-menu-subscription__subscribed\n            s-header-menu-subscription-subscribed\n            \"\n        >\n        <span\n            class=\"s-header-menu-subscription-subscribed__icon\"\n            lj-svg-icon=\"flaticon--check\"\n            ></span>\n        <h3\n            class=\"s-header-menu-subscription-subscribed__title\"\n            lj-ml=\"schemius.medius.subscribed\"\n            ></h3>\n    </div>\n</div>\n';
!function(){"use strict";function e(e,i){function s(i){return LJ.get("is_subscribed")?void 0:LJ.get("remote")?e.call("discovery.subscribe",null,{silent:!0}).then(r.hideWidget)["catch"](t):LJ.Util.Action.login(i)}function t(e){var s=e.message;"Access Denied"===s?LJ.Util.Action.login():i.add({type:"error",body:s})}var r=this;r["do"]=s}function i(){function e(e,i,s,t){var r=LJ.get("is_subscribed");return t.widget=i,t.hideWidget=function(e){var i=e.status;"OK"===i&&t.widget.addClass("stories__subscription--hidden")},r||angular.isUndefined(r)?t.hideWidget({status:"OK"}):void 0}return{restrict:"AE",templateUrl:"subscribe.tmpl",controller:"mediusSubscribeCtrl",controllerAs:"subscribe",link:e}}function s(e){function i(i,s,t,r){var u=LJ.get("is_subscribed");return r.widget=s,r.hideWidget=function(i){var s=i.status;"OK"===s&&(r.subscribed=!0,e(function(){r.hide=!0},3e3))},u||angular.isUndefined(u)?r.hideWidget({status:"OK"}):void 0}return{restrict:"AE",templateUrl:"subscribe137.tmpl",controller:"mediusSubscribeCtrl",controllerAs:"subscribe",link:i}}function t(e){function i(e,i,s,t){t.widget=i,t.subscribed=LJ.get("is_subscribed"),t.hideWidget=function(e){var i=e.status;"OK"===i&&(t.subscribed=!0)}}return{restrict:"AE",templateUrl:"schemius_header_subscribe.tmpl",controller:"mediusSubscribeCtrl",controllerAs:"subscribe",link:i}}e.$inject=["Api","Messages"],s.$inject=["$timeout"],t.$inject=["$timeout"],angular.module("Medius.Subscribe",["LJ.Messages","LJ.Api"]),angular.module("Medius.Subscribe").controller("mediusSubscribeCtrl",e).directive("mediusSubscribe",i).directive("mediusSubscribe137",s).directive("mediusSchemiusHeaderSubscribe",t),LJ.Flags.isEnabled("medius_schemius")&&angular.element(window.document).ready(function(){angular.bootstrap(".s-header-menu-subscription",["Medius.Subscribe"])})}();
/* <<< file end: js/widgets/angular/mediusSubscribe.js */

//# map link was there [mediusSubscribe.js.map]
/* >>> file start: js/scheme/medius.js */
//= require js/widgets/angular/mediusSubscribe.js
//= require js/core/angular/api.js
!function(){"use strict";angular.element(document).ready(function(){if(0!==angular.element(".mdsfooter").length){var e=angular.element(".mdsfooter").find("[medius-subscribe]");angular.bootstrap(e,["Medius.Subscribe"])}})}();
/* <<< file end: js/scheme/medius.js */

//# map link was there [medius.js.map]
