From 6c4e4b6b9fdb37abff5f187d4bf6e7c78598a4e6 Mon Sep 17 00:00:00 2001 From: Zixaphir Date: Wed, 8 May 2013 04:48:23 -0700 Subject: [PATCH] Fix various settings tabs and dialogs * Delete / Undelete Themes and Mascots * Themes only add [custom] if they're not already User Themes --- builds/appchan-x.js | 118 +++++++++++++++++++++--------------- builds/appchan-x.user.js | 118 +++++++++++++++++++++--------------- builds/crx.crx | Bin 165746 -> 165806 bytes builds/crx/script.js | 118 +++++++++++++++++++++--------------- src/General/Settings.coffee | 70 ++++++++++++--------- src/Theming/Themes.coffee | 28 +++++---- 6 files changed, 266 insertions(+), 186 deletions(-) diff --git a/builds/appchan-x.js b/builds/appchan-x.js index 951d346a8..72afffb6f 100644 --- a/builds/appchan-x.js +++ b/builds/appchan-x.js @@ -11306,18 +11306,12 @@ ThemeTools = { init: function(key) { - var colorInput, div, fileInput, header, input, item, layout, themecontent, _i, _j, _len, _len1, _ref; + var colorInput, div, fileInput, header, input, item, layout, nodes, themeContent, _i, _j, _len, _len1, _ref; Conf['editMode'] = "theme"; - if (Themes[key]) { + if (key) { editTheme = JSON.parse(JSON.stringify(Themes[key])); - $.get("userThemes", {}, function(items) { - if (items[key]) { - return editTheme["Theme"] = key; - } else { - return editTheme["Theme"] = key += " [custom]"; - } - }); + editTheme["Theme"] = Conf['userThemes'][key] ? key : key += " [custom]"; } else { editTheme = JSON.parse(JSON.stringify(Themes['Yotsuba B'])); editTheme["Theme"] = "Untitled"; @@ -11341,7 +11335,8 @@ }); } $.add($("#themebar", ThemeTools.dialog), header); - themecontent = $("#themecontent", ThemeTools.dialog); + themeContent = $("#themecontent", ThemeTools.dialog); + nodes = []; for (_j = 0, _len1 = layout.length; _j < _len1; _j++) { item = layout[_j]; if (!editTheme[item]) { @@ -11416,10 +11411,9 @@ } return editTheme[this.name] = this.value; }); - Style.addStyle(editTheme); - $.add(themecontent, div); + nodes.push(div); } - $.add(themecontent, div); + Style.addStyle(editTheme); if (!editTheme["Custom CSS"]) { editTheme["Custom CSS"] = ""; } @@ -11431,11 +11425,12 @@ editTheme["Custom CSS"] = this.value; return Style.themeCSS.textContent = Style.theme(editTheme); }); - $.add(themecontent, div); + nodes.push(div); $.on($('#save > a', ThemeTools.dialog), 'click', function() { return ThemeTools.save(editTheme); }); $.on($('#close > a', ThemeTools.dialog), 'click', ThemeTools.close); + $.add(themeContent, nodes); $.add(d.body, ThemeTools.dialog); return Style.themeCSS.textContent = Style.theme(editTheme); }, @@ -13694,19 +13689,20 @@ for (_i = 0, _len = keys.length; _i < _len; _i++) { name = keys[_i]; theme = Themes[name]; - if (!theme["Deleted"]) { - div = $.el('div', { - className: "theme " + (name === Conf['theme'] ? 'selectedtheme' : ''), - id: name, - innerHTML: "
" + name + " " + theme['Author'] + " (SAGE) " + theme['Author Tripcode'] + " No.27583594 >>edit >>export >>delete
>>27582902
Post content is right here.

Selected

" - }); - div.style.backgroundColor = theme['Background Color']; - $.on($('a.edit', div), 'click', cb.edit); - $.on($('a.export', div), 'click', cb["export"]); - $.on($('a.delete', div), 'click', cb["delete"]); - $.on(div, 'click', cb.select); - $.add(suboptions, div); + if (theme["Deleted"]) { + continue; } + div = $.el('div', { + className: "theme " + (name === Conf['theme'] ? 'selectedtheme' : ''), + id: name, + innerHTML: "
" + name + " " + theme['Author'] + " (SAGE) " + theme['Author Tripcode'] + " No.27583594 >>edit >>export >>delete
>>27582902
Post content is right here.

Selected

" + }); + div.style.backgroundColor = theme['Background Color']; + $.on($('a.edit', div), 'click', cb.edit); + $.on($('a.export', div), 'click', cb["export"]); + $.on($('a.delete', div), 'click', cb["delete"]); + $.on(div, 'click', cb.select); + $.add(suboptions, div); } div = $.el('div', { id: 'addthemes', @@ -13735,30 +13731,43 @@ return this.nextSibling.click(); }); $.on($('#tUndelete', div), 'click', function() { + var themes; + $.rm($.id("themeContainer")); - return Settings.openSection(themes, 'undelete'); + themes = { + open: Settings.themes, + hyphenatedTitle: 'themes' + }; + return Settings.openSection.apply(themes, ['undelete']); }); } else { for (_j = 0, _len1 = keys.length; _j < _len1; _j++) { name = keys[_j]; theme = Themes[name]; - if (theme["Deleted"]) { - div = $.el('div', { - id: name, - className: theme, - innerHTML: "
" + name + " " + theme['Author'] + " (SAGE) " + theme['Author Tripcode'] + " No.27583594
>>27582902
I forgive you for using VLC to open me. ;__;
" - }); - $.on(div, 'click', cb.restore); - $.add(suboptions, div); + if (!theme["Deleted"]) { + continue; } + div = $.el('div', { + id: name, + className: theme, + innerHTML: "
" + name + " " + theme['Author'] + " (SAGE) " + theme['Author Tripcode'] + " No.27583594
>>27582902
I forgive you for using VLC to open me. ;__;
" + }); + $.on(div, 'click', cb.restore); + $.add(suboptions, div); } div = $.el('div', { id: 'addthemes', innerHTML: "Return" }); $.on($('a', div), 'click', function() { + var themes; + + themes = { + open: Settings.themes, + hyphenatedTitle: 'themes' + }; $.rm($.id("themeContainer")); - return Settings.openSection(themes); + return Settings.openSection.call(themes); }); } $.add(parentdiv, suboptions); @@ -13890,12 +13899,17 @@ return MascotTools.importMascot(e); }); $.on($('#undelete', batchmascots), 'click', function() { + var mascots; + if (!(Conf["Deleted Mascots"].length > 0)) { alert("No mascots have been deleted."); return; } - $.rm($.id("mascotContainer")); - return Settings.mascotTab.dialog(Settings.el, 'undelete'); + mascots = { + open: Settings.mascots, + hyphenatedTitle: 'mascots' + }; + return Settings.openSection.apply(mascots, ['restore']); }); } else { categories = $.el("div", { @@ -13922,8 +13936,13 @@ innerHTML: "Return" }); $.on($('#return', batchmascots), 'click', function() { - $.rm($.id("mascotContainer")); - return Settings.section('mascots'); + var mascots; + + mascots = { + open: Settings.mascots, + hyphenatedTitle: 'mascots' + }; + return Settings.openSection.apply(mascots); }); } $.add(parentdiv, [suboptions, batchmascots, mascotHide]); @@ -14055,7 +14074,8 @@ } }, "delete": function(e) { - var container, settheme; + var container, settheme, + _this = this; e.preventDefault(); e.stopPropagation(); @@ -14073,26 +14093,28 @@ } } Themes[this.name]["Deleted"] = true; - return $.get("userThemes", {}, function() { + return $.get("userThemes", {}, function(_arg) { var userThemes; - userThemes = items['userThemes']; - userThemes[this.name] = Themes[this.name]; + userThemes = _arg.userThemes; + userThemes[_this.name] = Themes[_this.name]; $.set('userThemes', userThemes); return $.rm(container); }); } }, restore: function() { + var _this = this; + if (confirm("Are you sure you want to restore \"" + this.id + "\"?")) { Themes[this.id]["Deleted"] = false; - return $.get("userThemes", {}, function(item) { + return $.get("userThemes", {}, function(_arg) { var userThemes; - userThemes = item["userThemes"]; - userThemes[this.id] = Themes[this.id]; + userThemes = _arg.userThemes; + userThemes[_this.id] = Themes[_this.id]; $.set('userThemes', userThemes); - return $.rm(this); + return $.rm(_this); }); } } diff --git a/builds/appchan-x.user.js b/builds/appchan-x.user.js index 470556724..91561b4a1 100644 --- a/builds/appchan-x.user.js +++ b/builds/appchan-x.user.js @@ -11327,18 +11327,12 @@ ThemeTools = { init: function(key) { - var colorInput, div, fileInput, header, input, item, layout, themecontent, _i, _j, _len, _len1, _ref; + var colorInput, div, fileInput, header, input, item, layout, nodes, themeContent, _i, _j, _len, _len1, _ref; Conf['editMode'] = "theme"; - if (Themes[key]) { + if (key) { editTheme = JSON.parse(JSON.stringify(Themes[key])); - $.get("userThemes", {}, function(items) { - if (items[key]) { - return editTheme["Theme"] = key; - } else { - return editTheme["Theme"] = key += " [custom]"; - } - }); + editTheme["Theme"] = Conf['userThemes'][key] ? key : key += " [custom]"; } else { editTheme = JSON.parse(JSON.stringify(Themes['Yotsuba B'])); editTheme["Theme"] = "Untitled"; @@ -11362,7 +11356,8 @@ }); } $.add($("#themebar", ThemeTools.dialog), header); - themecontent = $("#themecontent", ThemeTools.dialog); + themeContent = $("#themecontent", ThemeTools.dialog); + nodes = []; for (_j = 0, _len1 = layout.length; _j < _len1; _j++) { item = layout[_j]; if (!editTheme[item]) { @@ -11437,10 +11432,9 @@ } return editTheme[this.name] = this.value; }); - Style.addStyle(editTheme); - $.add(themecontent, div); + nodes.push(div); } - $.add(themecontent, div); + Style.addStyle(editTheme); if (!editTheme["Custom CSS"]) { editTheme["Custom CSS"] = ""; } @@ -11452,11 +11446,12 @@ editTheme["Custom CSS"] = this.value; return Style.themeCSS.textContent = Style.theme(editTheme); }); - $.add(themecontent, div); + nodes.push(div); $.on($('#save > a', ThemeTools.dialog), 'click', function() { return ThemeTools.save(editTheme); }); $.on($('#close > a', ThemeTools.dialog), 'click', ThemeTools.close); + $.add(themeContent, nodes); $.add(d.body, ThemeTools.dialog); return Style.themeCSS.textContent = Style.theme(editTheme); }, @@ -13713,19 +13708,20 @@ for (_i = 0, _len = keys.length; _i < _len; _i++) { name = keys[_i]; theme = Themes[name]; - if (!theme["Deleted"]) { - div = $.el('div', { - className: "theme " + (name === Conf['theme'] ? 'selectedtheme' : ''), - id: name, - innerHTML: "
" + name + " " + theme['Author'] + " (SAGE) " + theme['Author Tripcode'] + " No.27583594 >>edit >>export >>delete
>>27582902
Post content is right here.

Selected

" - }); - div.style.backgroundColor = theme['Background Color']; - $.on($('a.edit', div), 'click', cb.edit); - $.on($('a.export', div), 'click', cb["export"]); - $.on($('a.delete', div), 'click', cb["delete"]); - $.on(div, 'click', cb.select); - $.add(suboptions, div); + if (theme["Deleted"]) { + continue; } + div = $.el('div', { + className: "theme " + (name === Conf['theme'] ? 'selectedtheme' : ''), + id: name, + innerHTML: "
" + name + " " + theme['Author'] + " (SAGE) " + theme['Author Tripcode'] + " No.27583594 >>edit >>export >>delete
>>27582902
Post content is right here.

Selected

" + }); + div.style.backgroundColor = theme['Background Color']; + $.on($('a.edit', div), 'click', cb.edit); + $.on($('a.export', div), 'click', cb["export"]); + $.on($('a.delete', div), 'click', cb["delete"]); + $.on(div, 'click', cb.select); + $.add(suboptions, div); } div = $.el('div', { id: 'addthemes', @@ -13754,30 +13750,43 @@ return this.nextSibling.click(); }); $.on($('#tUndelete', div), 'click', function() { + var themes; + $.rm($.id("themeContainer")); - return Settings.openSection(themes, 'undelete'); + themes = { + open: Settings.themes, + hyphenatedTitle: 'themes' + }; + return Settings.openSection.apply(themes, ['undelete']); }); } else { for (_j = 0, _len1 = keys.length; _j < _len1; _j++) { name = keys[_j]; theme = Themes[name]; - if (theme["Deleted"]) { - div = $.el('div', { - id: name, - className: theme, - innerHTML: "
" + name + " " + theme['Author'] + " (SAGE) " + theme['Author Tripcode'] + " No.27583594
>>27582902
I forgive you for using VLC to open me. ;__;
" - }); - $.on(div, 'click', cb.restore); - $.add(suboptions, div); + if (!theme["Deleted"]) { + continue; } + div = $.el('div', { + id: name, + className: theme, + innerHTML: "
" + name + " " + theme['Author'] + " (SAGE) " + theme['Author Tripcode'] + " No.27583594
>>27582902
I forgive you for using VLC to open me. ;__;
" + }); + $.on(div, 'click', cb.restore); + $.add(suboptions, div); } div = $.el('div', { id: 'addthemes', innerHTML: "Return" }); $.on($('a', div), 'click', function() { + var themes; + + themes = { + open: Settings.themes, + hyphenatedTitle: 'themes' + }; $.rm($.id("themeContainer")); - return Settings.openSection(themes); + return Settings.openSection.call(themes); }); } $.add(parentdiv, suboptions); @@ -13909,12 +13918,17 @@ return MascotTools.importMascot(e); }); $.on($('#undelete', batchmascots), 'click', function() { + var mascots; + if (!(Conf["Deleted Mascots"].length > 0)) { alert("No mascots have been deleted."); return; } - $.rm($.id("mascotContainer")); - return Settings.mascotTab.dialog(Settings.el, 'undelete'); + mascots = { + open: Settings.mascots, + hyphenatedTitle: 'mascots' + }; + return Settings.openSection.apply(mascots, ['restore']); }); } else { categories = $.el("div", { @@ -13941,8 +13955,13 @@ innerHTML: "Return" }); $.on($('#return', batchmascots), 'click', function() { - $.rm($.id("mascotContainer")); - return Settings.section('mascots'); + var mascots; + + mascots = { + open: Settings.mascots, + hyphenatedTitle: 'mascots' + }; + return Settings.openSection.apply(mascots); }); } $.add(parentdiv, [suboptions, batchmascots, mascotHide]); @@ -14074,7 +14093,8 @@ } }, "delete": function(e) { - var container, settheme; + var container, settheme, + _this = this; e.preventDefault(); e.stopPropagation(); @@ -14092,26 +14112,28 @@ } } Themes[this.name]["Deleted"] = true; - return $.get("userThemes", {}, function() { + return $.get("userThemes", {}, function(_arg) { var userThemes; - userThemes = items['userThemes']; - userThemes[this.name] = Themes[this.name]; + userThemes = _arg.userThemes; + userThemes[_this.name] = Themes[_this.name]; $.set('userThemes', userThemes); return $.rm(container); }); } }, restore: function() { + var _this = this; + if (confirm("Are you sure you want to restore \"" + this.id + "\"?")) { Themes[this.id]["Deleted"] = false; - return $.get("userThemes", {}, function(item) { + return $.get("userThemes", {}, function(_arg) { var userThemes; - userThemes = item["userThemes"]; - userThemes[this.id] = Themes[this.id]; + userThemes = _arg.userThemes; + userThemes[_this.id] = Themes[_this.id]; $.set('userThemes', userThemes); - return $.rm(this); + return $.rm(_this); }); } } diff --git a/builds/crx.crx b/builds/crx.crx index 257f6fc37fc58b6747eb7967f7c50e977417352d..17ff1d2e6016f5ff9dea86c967b6f2ce4e332101 100644 GIT binary patch delta 27605 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 z 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 Ig#rKo0ML}$UH||9 delta 27445 zcmV($K;yrzj|%dR3XrmYU(Kalhcs$-uM3_e+7~8XNv*Pqgh&LzJh7aOW5&?aWD82L zbgx!Mw|U}s(*1B5hfH{}fn$BRL$D&e_aObJl{-En`X=zt7qAZMWH0{SB)Qhx1ByNa zZ~GTBY@jU*DDlW4418;Ll|T_o0V5xIh5%`To&Ib7Cu4TQXP-3zgR?RLeFO?E^AON^ zfC2zr{)4#%hq(m-x48uZp%G7ef7`~h~QmdC~(?^MO}88sU{HTzX5FI>6b3J zgU}>YkWG)ei4HPg)0NfMg9njgd&|3P{~z7Z%zMqkK$pMsmm3)ZAQMW^vc)x5K~3Pj zPKUm#0}ui67?(~N0vZM_4_gAK?(=Dvo*4oc0n?YZ z83HALdos2O(VAKdxi)$V9xL=|+&~K%E1HLS?$9_{tvtskN+gMl8DhOXs@2 z`D&K+H$l*ez%C`_!a7qC@~h;d(X;X@E&7muMD~T)TzKBGK91ta=v{s}G>?mI7-+zT z0F-13uOM&!$s}{4$*1@&+S|jg(bv(&$LG&`kxctWCt(Ud8^p_Q7chSxK+YCTvzkin zvvV7{jDr35z*BWvy_S<(#9lGG>>Y|jaqI9qT!TLZ9Z2Qip!l#UAGUy`?CnMmH#Vw& zIxH_XnXRHU*oc8sD7_X=)7dos*z;P-=_VMwG~t}qiPpZ1%d0*V=#Uvdioei@T^#Jlx7hqHFm=l0wg|`;hH(`(7L{H_^jCfdZ&%2OJ4*^W$ zUh2{20=>vc->gXA(&^^`6#3*XL|#OHWFWF@&sAshPpn1khE^qAoimmuB|41OIK52E zq9@j+Nz*7ddL=8$ytC26@gctTt9F2qibQUjfX$wGWgej$rkPwb(iF-&MV7uZ==A^i zT^BFjeRtOBoQ>CDyNroyqb@wivrKN#U*U7ER zxMMx!w5x|!ksMA-ytC-k6OPn>BZ?6hP2$@O-^^$q!v5zy8}jg9K&p3nV#)z*otli( z@?}OlEetS0vH20|MsW&FwYe%RD1&1C_4xIxK23aw9t)c1^y1bkZBF|A{$&EpHeNyF zEWpD2*QcHy8th%+nkb+R1E%|}F{V~E3@=M!cd%zrz%oYi5u*VFW-(5GN91MWyk!G4 zP_kQte=7}J`^T&V3KB<8+V=1TTiAL#E73pJxE0R1Pu{UOt9Y)<7)ifY68QBjy9u#C zjDl!Y=Ev*-#xxv2$Nr#h7um@oY>%DDzBVDP+Fx_vBVToa5B}91BT?n@Zc6Jkm8bTe zc=)?2Tj`SvzImRAb(*e!yUOFf|4o&t^e69sQ)NPKEUjce=Yeo`XqO0hel$}Rn6O)L z=Yz`4p5%-^s|3SOpE2Bp1Ia5N`o@0a5T}%*H+T_l+Tclf6UHp)vQ^F(rC2_S;az)n z#iDYJ7~bs=iuRETZ^|_^7O?!ysz*^7?S6mq@&)9146xBV5&;{==&J})_8woslle*PO7gS#RKy>W zy(oGdM|k^qxBWi;5ErzKZtt}Bj^XR$LF|-S%qLkqt|>(}%1nCv(iHBuy6^#h)}{2- zLrr*j2d)`gb96X=COZu(I*>{x<4CxrZb#_~I8N8zWR6~cP1xJSA6s4y;*KH1lfOvr)Xl+e z#2^blwCwNJNaH_?IE--GOzMz)C_Nd4mjZlY9mEfo0I2_&nu{6m3diYig6c`CqvJNi zS{>C5HAKla%C2PBw4}A7AqL%Gq@?k~GCgXfTVJ37bd)IvOEtyKHw3QzdZ!lI3?X8> zHlq@MD(bTdA>)qN>o<6uT*Qk>xfEWDWPJkKa)4?r!16U=kh?aO^H&Bf_HCg-_MJl+ z6v2*zy<|@Rdd#7)hv{tG(M?`5_2G;L0n#u3GLhwfcy}$fO{~h=>Wy>0ooFL^yesm2hh@~; zHoonNw;jHzX69X6gYVnX`ue-;z#5g5TGx7-`q~k~6~z5^r@ife5@WKq=Ft}X=VQ4E zuv-IgefKK2b`p7je#>5HUJLllMH8G|o8)-)dz+2q5vu5h z#y6X6>@0!H3Tr++B?{81>B;Bu)KYy53^hG;6dYR_i43=`LAAIhhc&Os=`gyMN8Ygd z)Xsy$9Z<2=vb@U}-bU=MZbU7!t0MV-Fu$uyIoz)CVb78Kj8EsxTuY!q*^jmZU}t3} z!O+`Qh%=TE4r@n_kDbF?<6{VqtTrz}6WOV+Pz!>FU+u7j=QEX|!y}_4!du!n zQ8(#BnpAFlq%v+t+0wjLy8P_%l_zrs`?+l~ue~UlIEN|7W%i<+q-28uAa|~RAo>6k z&K^R^!E0e&`p%`I2R&<|f7l~R=yaVNFq9;s?N;;A*bu-rivfXmWGK-?9*Bu+W>fN{ z0Ok?W+O4k1YbKLEMMcUMg-f3qdI0e~3GLj={Uz|;on$dI__JR;jm!A$(F+nj+_~f} zfB+kFndRwaI_pLDK>p|E)0@qI;U(=_J$N{JvkyP0S(ZttnHJBmclSge@peA3wBi#z z55>!SqrCI@y?91zR`EyyPw1~mpolQy84WzeBhMi}rYbXu!16gy=i*VH!&!J*=C{rX zoal{xc$L`5Yw`8KbrEy=jyM@t=ab`{@F$A}U?vFCZO*{4InTBSJvd7vhS^1$PdlxBRxU;$YFyC{%8iXDxNdHv zR?+DwADS)9t!{!aA2-T2cDC!YY$p zR&5P+WmP7ptlB_o3#(jCX}RUp7M7XZnj4I@&ScQds=kmtiC)dHnR^6^Qcapn3Bp#q z9XY~om|RI1r|ns`&W_UCJ!RewPv|xkf9aY;`@D*<)zCAq-4@N?^>sn=*bhX){aH4< z#mMfyI@~*>gY5Tz-n@SKy#MV@90&5d948h~5q!+CKAc{X&VX-ew7d1Nw8|F&vP*d! z)YAv&0!nRhb=A`@ym@XkAu>K}HG;}|V+ZC&qoVBkl*2ZVhkUV>kR2>W0SOF;XSdSc zHo`@y9YuoZ^}qe54h)%4SWQsdN?j`|ZEjR+L=cK5h0Qj9)E0EDYnF7KPT?f3ktM_H zc~yr@!<^NJqs|1#YGg;ZQW>8<6t<@#3c@O_t}-n$d!RPFx(-y?A*~E3U?^k_faW{Y zG_BNQ$KuFrpTUzfYN2nS&D%-HCHnM5->NprMGrL1;tE|$# zaBD*bZg*&Zt#8KmMQ7f&hr2`jg64Bp6P>MwqpvK17|Jin$X<;sQ8GIQk_Rd%B*SEtN8&5~M}tF2Uj8-uRgU~M^SqfP@HV3XCAYn0Zh zE2EDU1|Sf^EU<&?lOv47D1)&Z5eWiJp<=flY$2o70nYeA7XxidhYLo;_IX?sH$d#P zgKXm?j>b7f8$2DS1$i$$@7fu^x+vZiNt}{^PQCxLyA_sXE-Af4}_P{#}3$_4s!I`gZ|3 z`dxtjZ41!kE)GQ^e^ej;BL*Z_#m5V$jy2pUsn5r_E(7D~eA|ElY7f3YwLo4YXlT zN_9Avq{2#0CJDnk6=K~svb(bl-LG$dL04}-7cxhwwm(!44sKO@DdCaT^A%`~Kbm4H zS6@Cgi>KkzX})lpFB{G&9Ov|eQyqFEk2(lA;ApLWsUZSehNGWc6elzMu=~$|TOZrm z5ii(&Iu^?h3$%?{bZ*S}HvF|q*z%$D=6L`66gi7Z4@l0s1dcDi-En-C`e8JGBZlhu zd93nDNw{5CRQu!Y4&o9t_s=B>;EvaVNWMPC$< z%W_6xl0zf2h%EhR!%Umwh2^>nl8)aeIj$Y)Re?~!j&}fbM!1~Bn~La0fiFZy+tG(C z9ecr}^o`}*x>ggu%w^-FNrDW2BuzfRNOju#<1u=ye};1iGeUFe+-0FOm^0(XibA|T z-?npZtQ_F%bjI1J$H5`&+3_%*Y8gXba{2YoLqOr@fXBsEg5eX`qa5U%dm9lZRwMhc zob{r45gT)JADvHDSEajU)hCVL0aoRFHd-kfKC}%$@!#NjFfNs~9~bj~c(!-?^=w$o zch>pm{PBQNO6#HXpYKal|)#J7b46~Gj3@jZjxC$2+0$CIh!7xU4pqO8AXHDs}1?6 ziP{V%@i3XRJ-=dqZKhEI_zJW-;5f_D!?23r!1NIuGBtD3Nj@tj%HYhha=V8}KB=^G5(As)~HCyfG-w1MfCD8x1CaYDBhZsBN+kS^T0 zn6HSrO(so<{Dvkz>#`T<|4e)^HrQzWOlG)0pqCnSyRfPm2-Ph}k zAT6M83%Rv;jJ3)19zK;9I+yahChtmR-WISGA3kl$yh;H)D@u$4QfA2YU`UDyo=^$F z(ttB#1;i0>1weR@=UF zTmU3gnkEDY7&}XUS|o>08!C374#}IOvx`g>w?qS|&k>=H-|W8%3Q?G~;QO})9mD{1 zF`4~%KA+su$abJwk02}OALC*hHU9iI%BH{un0}RSc7mbJU7IMjQRDZ@;Be@0!Qt-9dBLi%PBM3uiDKM4 zwi8FWXSMX{?K)kw-j1Y&LM{V$@O8^v#_Q0p6s7|xqzrM>QiJk<;;ju~55MMrNNP7% zX_@Q*eMR|VJ&(ufqM#6WJ37?ahB$}zXf94!E#3f2{Js}W3zOZ4H_QEBYQ3QsT!15a zNtrAnRUl*e-dYt5t<%BZ$B&~&7(5o9vBL-kHj(@Q7S?{*NliMsww6{BDsHa&qSOTH zaC}9YX*k_lguGJwr z-ZH-Vnly1tsq<8ks0D=zt{K~kCWHsAVsM#^+8&pjp$Q=ZM+H8}rc*A`2pP=%pBNwt zv8c9HhGhiWZiFce_{r=2qo@7Dr@V1ow*3Kd_S)y!A}8(&E#N9*+_+$Wkw!0HcNl5qn$ zd$byqZPfmYv|-H=1hO|qHxlw$29-QzpSZ?az?{&*zkr~CkI(aL`U-jy-iYi5C-law zlqZkjr+R+N9cRoUMsbpV%`W9Uqmf7W6Bs4OJVG!v$`x1S<&p~aqA);{Mj1Iq zYH^2)d6X@@i0*lq)b0hUX~;>&4yh9HEwVnz`}mAv`-?0l-F{z5%my}&;?Y&o0U;}% zr&_{d$zLfHP}+W9P(+worJ;=)Y^H)Z)I-&ni6S8@3XB&VkIL15@a0~`>^2*|+NrR> z?NkkU`zpy3Em#H7&Onm}HOPaECAeo6c7~D$-WbO``AN@!D+Du9>7fCqMQ1#gc^Xoo;Px z^r8nF4-Fjx=d)LTiMJY_k-uJIffZ7BMj zIt=aF8T;zQOhCnMK~a@UEAiXxLkv|&ZL#K-ME$V!=yfqa2(nV9TOmJ$Mw)VGhr=-OH@X&77@wrud55o)%$qaW*Lt$I#MEu-*}fLDy@k)t zY)go;)akoxbH?Ro*8MnpZ>0z$u9JQV2}XcgRe(`ml(F5=cLu2Hb?Jje&yUI|zELGTAs=bD% zcK_#p8?vKggI6Uv(#9^DzH@J9fqINyC<|hgugQ{X^}0^|VTTv1s6N3EN3++$}$@ zOxUw4{*zQp>nekgB^nIFp>6o%hs(OJKZQT4RzL7st;?26%7!E9ghN?5MIQxeqwhqycY zcU0s*d6dL^xY#bmTU%`3zPof$6=$mq2Dg0p#VHBb;*_rrYb3>t&)PHZE`8uXW7~A4 z5B%o{KtjE@+Ro{yz=Mh{y${%28OqpyJ!0zlZz1_Ip~`aEvl^Y&BystEizq5dc`bB4 z?{oIQL5&yRb*bU+JtNra?k(kM?z$JQw`~dhx2=lPG?W!^OdU7LwIT@g}7Uf zY}PQi9=#0e^t3#|!$PG%uy6?`iy92bSzf%1$nYLw097!zQ(R1NP-AQwtqf|6j-d86r`b@`4$LB@hSdXlm_yQSsDlt40W zhfjOarYI=TFnE*VImH&e$W~N;DG@bQ2GLrngy15A_dLs|G2MM_s8}K$0aSaf?82cV zW%3*vB6x)h(N@!*{f_6;!FGN@g_JgUpa?e@$dC+}iUZPru4+?)K!^rgnru0DG-@6B zX2+OSY8*9~MuRV?@9v2c>n3Eu#hQ4i!Y- z0gWrK`eX`6t&RSOL1DYm0Dq$G$nJqV5!6d6CjC|-cxR-OVieEK)kn?)JbNm-m!Por z@h^K8(vCudJmQW#rpQ+9uP5aWQMmTkm+-XX;g4*P#@B5Pw1Sd<23GgmqZep{GrH;w z&c4Kouf6o1{zQfKeqdBIEiQ16mPN%UMtX?$-kvJv!=~?@o#C)tESDVbT>dT`WBN3hp3~IG{@0Oq`u27ky`2mEmI{G z!$v9CXiV+c1$%OTBRX=$S)@O@K3D+?aF|-FQQ?)S$}YP-tfqkuW;kH#1<0N-NX~Ez zz`7k`py{f-T^uV9msZU(3%7zhf||2eOHjzI!ye*p01GM{8yL2kR6H$?1453fw=KQ` z9d9}K!x`P%)n5Ameax&bC9yFtU^XJ}LTA}z`USm#cA4i$rtkn?pf%QzFgv5{eBP9akJ zWc=K1L8*=k2+F*85#16#q@rv7*x+{xZ$wAFVKQGG@@9+`+_(^Jl3HTOH7ZV!2rfF z8zn^%p*at-+WbLef5RW2B(U)&=tBskw2qvXF3pR7M0o{}BGPjCD4vZ~1vgh2aJS=Z zv_N&IRn7jQ%&=Jhn9kSxZ*auhp~}&*2m1Lr=gNHus1N%qrFBI6DkpqZ$<>{An5aR- zV;-D&{8TsdT4brSssO~UxhJhi*D8Xod6;Z3#(;@-t(vXzAu=!M!1*!B>C})3-tL5a z?m2>gy6SE>mBxh^L-4YnGsrj@OD<=KAtYrAwn!|eW@hV^>I2n$wLT4itZuh^VX5+2 zr{tMepmHg@xG0hm120c4vDU4Z4xSNZVfj3T{yC;H3~#(0DaiUGSFtUt(jTbKZT|7) zF>@#TA-Nqw_ZmA1Nm!2MMi}pN6?1Cv5?rT$ zsWBSYNn8s*T1?Yv`|#D9w~( zWj^`kCG5c6K_B?t5*zN)%m!{VEla6a@dq?|6&h^Y1rHgNAwA6I_Hk*~rz4>>FQ< zj$Z@HD`Aa*UGS`^gq0+nstKkPJ$tl&&#eP~eUdFM4YE6J?UOxlq|KgD#DN{fhi zo3;*`8qC500fI;6R&zuVu9F*(2TRqo`}G_M zM>3t4x6$8@oOY{K@KfHYIv`&Lx*<>zkz^&%h4AU=RA9UMYz&fI=maK?J&9d^2vO|g zx~kQmLRB+)I(27GdwT9z#7gpDW+DKWr$ufhA+m45Yi!OJS>;?X0Smu~2mp1iZByKC zg<;)pgo`;zYeIH@W6mj=TPUq{%ECuiD;cKh6F#%}suqt=?La zcK;*Il|sd8?G>9Ac}MhHT)9Y9-B|FB`{nUs2vUQ;J(v~Kbyj#`TbzzhaPb?#xnm># zfd@TK1DN}vFN!&k=Il+!^)21O4+7>-d7rQ8H{YJvMkq?B{#>c)NT-*7ciE>+&@Sdy zz+Q2?zQCw!C%03#<fA7wX5;fDxtoUFiB{9< zh~K!Vs`Eax8h%Bpp2q!pg+^$BD(F-QAPFWMZDvRo3UDF*2w=v3Oaj%NmdP7&W28aD z@N&t&uVFMTQW;Ps5G-|nL>FpV*bSXwE*;|SmO}M0L^{B_Q}+p3gi9>H_ol)m>^E!q zE`t(bG0L;aq_ei!7>O0W{JYw=-n?ys*ace_y7IIl} zB6PehvTi=8$op&t#57P~>(5mMicui@gR1N=P`wh!U)A=v^HA<@D{>#9C2XL;!;Ojp zPf^!v_@m5acy1Ib)Ix| z&Ea<26#5AyB~-@(QXCe~W)!BbnL-;1I(js$$E}<4u|os0$1;3}6IY0bt5?#HT-QjffI2l2I7HRpTfU6tq^@ZijL7VX#~}U4u9y{5C=~ozY_U+A+vYM1uaMI^S$t@ z%grERo8upUU!tJx(A->Hhe;;SW@Gw224Nfor4R9BVOo>XI~tP3effz$$RhlWqvJt+ zlxAiE_)Zo`Q5hsy$U?vRvYCX>@eWVP>@L1UF7%wd9Gcm6^SMG%X0WUfX4N~IxIp4n zCNz|2T}nmF#urI>Ec-#5#h8Qrt8GO4zZ4HL7q z`fk!bEKmd4J+fcr)949vYTX{fg<$;sC6SQGD}HOIY!SXRReQnTKkTZNg3;@um%PXhmK%5 z!O8#@pD(vOo8V=>QNZ;=&bpm!{xZ%l(^=&?sk~+KF&T?fDBfl`{Yh5h5u7{=vrh;m z?8x+8>JN!*H)IpXT*ElW)5#}j%?|t60W^GnR$>;5lQH2-7=3i?zouWW5=35q?&T$~ zXA_~#;M-jRbayPXO7k?=nJ+7%K!$_fbQ)Y-GkB2W#51u9A_gu zg8?w#Q}5iPU_Rj$RR_FZ;J+FBM84nu*lCZh(#d#xdz^kaRp-db~r1uzo*HK>mn>LG>-2MHS;qsf>i@k z2j{LnDliPNDF{*7<1w>@yxd6qr4A5T1ADY^p;h6-o@M6D&srEd7T50zg zNJV^`6~S=$Mj*UD9^%(}+mvNQBkZn4P_n9eNgn*N^{%4)k{-awR~NnnVsXvl4;-OL zl{W5yvv&AJAiCj9sl-uEdGq5cNS@Q+1I-@?j4rRj%{c3iVIdm2vDz-MHlMFYc zjRrh*#VLV9b#S16jTZ8tiX=fcS8DTGb(@u?o_Uja;R%ac07xa*ZyQ7w%^Cjxu8h6t zsO<)(-Nh?Bc(cFSYn@}!$S;OFJ@=?UOyE83x9NKh+lZD7BCRMFrt@-t$Fv?92ZwtQ ztq*Yzm~n0GT^eq(D0mv;AVg#CAcPpqpS^p?n~N2jN_496O(3AgND0z5ISX@>>JpYE zgj*9{qg_P=ApX7Wk||ztu3YVEis}}Ty^?~i358*|ZE8zLbv*-3-?3lWo}Noe*@To- zzHFWMvUX3knYxul62C6B3+a@_)x;-EQzU% zHXT#xG+Ntb-ZHQ-sZAW!d(*;LHjf!&h%lo<)ObOKR^v$6<%8knSNxRBgk5n+$40{*V^wFrB33 zEl1_F42~rCaWPpGMtljK=AT5a9(Bs^!WZ@}i#>VfD*9Hw_{31;U2fLZV%m}}n>VS?^ z(I-PMx=rG|Fb0Ny9YI7L&W@dcIsjSk_n+?n*hSF~H8mY7MwY)fxW0ab*AA{BY=%yd zwd;&8@!iTPQhL-}o$)Cdxf%I5K{Obt1vW#ql2g~Cj;K(mH)Qp&cs7vGP#s8yFk~JS zX=7+e(U)E98sw26_G&=DFl==F2AEJgs_XJ;E!y1bMt`7xzi#_Q7U+Q4L`o%SMk_Y0 zRs^6}1>2C5+vCsZ_pjd`sVQw=WsAHW&d4N7XPu_A1&{_SGtv5K{E@gZEZ@4R|}_iSGz5`^iFgkIvy%sopf zfW#(71Q;TJa@CZD79ZPWF1cqp7Qwe0ks1IioNzt0tvv-B;1CXMv&|0P^?nz3C49e2 zn4ZqeE0e0lffm_*)CB@uU~?6#}!Vc1t7Du=0mu&csEJ|#izmq#Vkq*svx~>i~MFbd{?>P#g})C zi8O|ph9RU%P{^sB1_3U5<4S9h_eQyC!rTG-H%Zu0Tg~lEQ2`xSQt(J?gO7M{XqOUu zlhrAI!N|DlQ-1I^Y@@JP*r!-CUF`#Ak6i##)P%y!`Ik-R1^2Tu%?+tRwFYXg7V}t_s`_a{k-VRXmyk*gh9(^gOHs1;T=TqF>A>(BbyktX)r( z8Z!*Sw{L~_75u9FbAPp3BrEC@?;VE6SQ-_)Ktr$v9);{Y385H9;LdZcpISM8n)JKl zeX2U@<7<+zv9Wu>&@tZ~cS=TumG?(y#0;FpZn%<6PwtZ@Qi)M8UBjMy_x9+;FE5`y z`h^`m4^q?V<~+`!&86eyP9ANCzsiH=Kb!z$H#&pqJ~o-*ec!i7hX>gdmN=Sd5);fG zbgvfEApr24$13oj1HBe7491;*0Ylkpz73oHbz8HY_+>Y;5drpmhNj5;1~wgNzW4bSf1h*p}UZ;WClDURyrWt<4!_ z#-_~Zk{y>o{R*zlQ8)Dk+?u=1`@$a0Kg)-?p$M=S7&e++nB$XlP%CvO;T`KsIx;`q zU;lsN^`Fn1`ZMSDHt}VD?&Ng+nDd#-ujt1d>qm+w4&oa6FdxStAfcm#8S4Jgp=lY zI^h)h@Ye-7j)Pw^oow$fE*DJ9kCSYXe8m!1XF)8gDt&Itq`Mc%UUzg0VcM)j{W3x1H{}zGd^kpqFad z@81n-0Mf7tB${6ZOPtItYvVE(!ZnZs(8f)miTUs7UYlw>6I=x`v?-f{5CHJ~UE1?~ z2Foejpu^9AM`wqBxS4Hkg+O07?5ltlfUwLHe06&Qz@~TUsXQNEi#9_IT;}IF43kbP zE9PUlV{fCskLm0-MB3Z?FPpmbe)DpPQ|~uls7dj(X_MyDB~3cM%eWuYk#EJgSLpCO zRC~UdOoVm8A29et0Mw5wgYqc5$!$t!Y^!O5q<1%8xDG0R63Avbp3l+Z=JlNXrdiCM z8B$n4UgwzRI@2n4$J|I|P;9xnvy6(1c;2bF?k|RuO;ZhhT2+iuQqNGZq_jAJId~Ia zCNGjp)W!udwpN*E+ZvN{!&m8%v+IO?{nAw-ylg?Cs>StA)zB1}4o~&T=1(9o0PDEO z^B$}iX~!>r0q&SuQM&deeN^m52=mmd+BKE83+xVb?C98R16; zmtA<9cV0R66ogyQwaBQpVKFxG!@5x0_js4!;N#a{QwvZJAX7JW>XuI3I$!;clbR9~ zMze;y#7mn zI<}oDB$JvO1=L^Z4SqXn3E zZOuxn+?11+HIhiOUCzAr7A*9f?8?nTY-zr%E><2J1A+-l3hj?S;DtpC0b-H1q^R z<*-xXMsf%gU3fsZ+_wVD`(OHyoI+p9s)bjG{ou8FU%?V67dgQ^jXU0|ZAC@fdfc0W zytt$nx2j#*#vyz`KBIBwS#YdK)0lQd>(C2?^L!HHr5`S%9!@fxu_fwJR+%N^6xe-# z^uR>hV2hSx%U9Vz<}{ynS_l|#14BM&J$u0A#zi+N3>&#H*Yl)UOv>mc&M74Jo(y=UL5*^p zhhh&n2Tp)uSzhivqaS1jqF*rhi24qo@%!P_`A*JDBGfJKQk+WK2zSvn&3uA?TEJO0 zOLp3OibFvT3K%HKHT4ZnN;6O{*P^%|S+ND~GZ?Z!tTvA;`rP_nzdAWOeDe0>@D*11 z6nwh%o92%eMl58<@M+U`6Psy0sy4RZ5C@&56+w9W>Ai=>{an(-voH zod?P@x-KctnL_2IOCF;%(KL%yo$+GOrK=4jG+QK=u*&dRXJ-Oh`1q_&__yTyRv8c1 zDPSgp>tEf@uaX%G7bl2M79(vOylkrirI)QvGvJ68OSJ=nE9fJ0*AZ2JS{`}~BMw_E zmz-f&8lTWfSYPs*3UZJ;i zWM7TloW&`sn5L!KgF25>Ri5iTcUd|DQe&p)Y^Du&XW&P?eSIhVS-@3a$H^o?8&;>d z+f6qcgK;`1=hwKIp#=wj(>#^8S!vs>NstxFC4`J# zBrkmt`7l}`lknLeU#C$Ds^xFdh(}kfQ9QbJ-%i3Ka^4v;LEesBa^W;#+Z!mIm4ycU z>+K$K(B3y8-GwHv)yJNsiaIYSB}8B3cpH!vIGp71t4IXV0Z?( z-)Z$FRVL-JhdOTc)$sKufwsfG^y{t}Y&-f{la$s4)K^;v8b?YdqN=5;G<_toSdIJC zif*rr^tl%4i(qbC%Ga^bQgdz#kCc-$6x5#%DIN`8=-_RL>IJq01bGl5`8w3A#S~*Y z&GAAF{lFL0q!uE7T2nTB?=MySj{12+2&bZUnqeQAUXuF7-uThaW;&y67XCn$a#P3P zS;h`@QK&tg%v3?XaJP0#gqS3k$!tuVEmlT6txT)fkj<7sL!2ElCfzNhyDf{%L53_b zsbTF5>4$3G&~JJ?OeTA#gfY5GM%TmaBN?l(wo`Pf?evg;iyE?#(KgCzw$+I0TcZHw zcF-!)?BNGHkKCZCevyGLLoSL0_Z~|bCldo81U71}^FI1Or0yq&**e zrp!ZcPL;UJu4(h5LD}$3M64<61f=keKt9CgEomDY z{SxGqRGfT&6tz8=wAvLizF=)*9 zMW=;5kgYU1)P~>O)EE!~o^be|a1P7g12C#5*f|pXb>|zVO>!+tObZ`x6HDco8q10{ z%)>^1eWz#1A`juy5{xq9cT=2gZ(hYGNxy?@+?y@ytbxOM(s4tJj~g&}+ImS$rvTrr zT9LZ5@*snE*Hb1g-$jlZ)!L$H6AV6 zEV)~$*D{R@#eH4ZrB4j0Lw0;t>HkVdlz3l%nB+0of_T8TD2jHsMrd-WQwQGae7EQr<0NYRY(c?shP|4(x6i zA9!IQFk_|QtJ@rCNgvY%tF{wBQ(wJl%zhXxtCc5ll>*Q-?~%s@#vEE&zV>naA&I7c z$vra%UOU8_fR=5-2Ty@cOBAsSO_tvm*{tQ654Eso+sM)g%Yp&s+Zo11@~4MAEZ-TH zS=?F7fSroxNhfd}#W{0Ch|=I@tBe24zAe8&6?>XDXMm+YNY*qPXD*EdYs*ccrD@}Z z?0JBfn(DA>%`%bqd>1=iQCbqAy{@}|$Vv*NMMH@KpjI0$(hb5mo{z0TGuwRstCfbx;iU965+t#h?A+1eak}0z7|D*-RuNM(nIz zL>OXjMuvt!Q`;6J&=#@iA__(q`0ly&^|Ksb!R|r)6n^9fI|oH(i1rs{w*Hs&0(0^6 z;d3XW2%v^eFrx#eB7q9u&PdiciHFhQh?^vmo2sube=RfOu2@i(2n51P3b}kK#7X<=OmEjZy3`iI-J2KK%b3w zXSY|GDco6dqjQS{KfiJh^7;)&^T9GN+r8IWwu za50J9;hT;hQJccw`mp@nnNmlnHAByEsWx}B3IyQSPYcY~c^v8|e7)ukTPltTIyF7>dc6#E-+%7uLfX#T8{aSV7c6US{=m)=+cR|lA1(<$ z;NQms{^I1ovU{lPtN1SY+r78+5FI|P$XMnn@w$5_;-Mm+V2Sq*;<{WEWN`1yR@TclKu(mW(&&5MUzHvHbdAHbO$x|oPKt>^r zAmc+tKG;qLNO;nJc?OIEWV$QuakVCr(L)&b;Inb)V4o`S=b$Yse|qlR^zrSwbT0Nk z!6`18F!R-TL`N$e9A^xQXeyY)UVcua1R7sWs%N zM2dlAx+h}n7=;>YCYu^`_R(j3F6PN(LM8_=0vIiw6}~!N zDqZ}fl2s=JgaJsS9h(v-5U8~0pvkdSgG)TLKna_2MUi1^F3uR}{8NQsq?=~v>Krc~>cThOwZC}{6&-cz|Z(*;OmhsX)f1G?sCLnv{{b}}d zI+?`%EWaEOB(uR^;}0=kj2jTi92_N=mvLJH9ZHXfIn@3F9t-r@O-B8E-6f8=`CrMF zOBHo`Im>cvJr#YPVHNRoj*50JF}O*Rc$j5_)GEq^Ul@o8dwqF5hmSp?e=z`2UX=b< zm)KhZCuUUqP8TJGUb^djm6#rtEn_L1O4S|u%7ZV!B=wDjN`Y)HpTmmJ3?`3d2;1P=w z8QSauEhzA0E0T!E?Sx5TYD2^tb^eHuVnM=VPIr^)TB#!O`OQ?Hwr^nLo5w%}mNq#V z6TZ+2zQQw98&mN33-*2t0t0={s#l@AEiSSTm6UQWsoqdf*kC*3N0!{%~mo{Dk zZ5)wJCfN;fN(M6_Nd*#{GLL7)gjkjgC=L_)!>5yNeCvfbhjPcia7fz^yKn#lB}bl@_BSBnz2q7d*J<&pQ1q&tEcyK_4y;b-V~Sc z_X^&i7?Rkt)|)hsN4IA!NoVEOM}+heqgvc%3$qbxSocXXx|#vQczJ8R0Py`8`m)3r zaI?!8-d~pj@%5KqUji0?<$!imHAIYw6Y_iP&%Tk7?^bykc}V>18gA4%;{8MLngr+O zDwz@Ma1{%L=-Ob#p5p_i9fI~czbzO5(Jvv^Ttyi%b$>s6!>jVFrtki+_08K^`tc82-+rb0wZ}d!mB^8k#Jz3Q@)X?(2qwj)nSa=K6UJ^r zU@^R8XQCp*)GaYrbQ7NVAkdqef^h2=_|Y$bUh`CeYq!AnZoDN6G)7 zs`jOygFWS`9LLSknGHpr#G`Az{(jLIvz?M(W)~OGR>5vrrUJw3I*$rnpdA;N%3uN@ ze-{QNR=63VyKM{>m5jRz3ty;@Xb0ncK2e{M6hug1fH9fQyGCWN^YjvEIcdKVp@tR3 zXLVJ-s;|0iP_;C4N!e&A(@S<9SUc&@x@Auk^e4AvQs`=bP#=DHqElb0)R#tTp;F1p zPAP|sN{^Bvn=JT}vnZwXq@AZM)D}_uf6de9ZDQf!fyS}uHd@o^=vtVey#Z33&EmpB zo3oZc?6a1=qE)#&VYCt|xt2Ls&4^4We%AWiQC}n%P`7LiWr24C+aVG0{j6mQo}@31 zqSv#8L@igB8%2k7uUCrh@fc$^rp)N)Al-nNSF*6y2KEB23`ZIA#w5HTf1m)pe}RVG zWWY6~8e%-T!ASwYivn+i7bysh2pjkm7?)WV%~dI^Ljk*!+G9oiEVgsGMizv>NxJt& zFjb;+Ftid0`P|IfkP<%Mv(gHAp2tl`LnHnm2SDnsly>4Dc{~@Y64aK-QHA!A`C)-> zHm(zrRJYBFfxj!_%S5qu8X{0%e;9oMGFBScLVK(d@)^yVZ0dD#i|wNTPp(4Fu5iaH zsOuFnwqSHdLa|No;+ZoIV^hK1q)ws9em@V^PMVv#g>TyoEZfN(3xhlFVb&2h19MMM zlRTSU=6m9|;{5buT(0lopQ`iK_!h8wkAEui5W)TH@t*jt$R)QXwMPX`e`{&%(y{E( z9k`2U)9ih^Y!WEboyVS(KBzB5tC4M6vx6u_(4Eeo@g=dAKR8ke>M>snMOzEu(-o%I@{e8{l|vM*pHkQT14vk<^8U4(jfE) z2gk?lfGQ7@so&yuzS;3e=Wz&zxaAHQLpR~qM@6x>k58OeUd6X{)OZ2}8Ed)Yx)xH? zjmk;!Zl?OejH>T*M$Ws(`o38;gG#{ zM?(!0#kj?j^n&a!x{QXT?8m8QHqSMo5DI&tz7LsDd~(k=`X(P+bHHJ+w(69_OuN%j zhXo*X-qFx7M5_5se@mlN>j2<9)HQj25n({$ahk)UFeB<*_Mg1oKYH3X?{1Tott^9A z39aky8rEt1RVI%pqWurR0^zD`2h8*s)8A`MM|TDil1BIU0^K+9IgIbBS?}K4u~5-o zMj!03F%j<_t|^gqtro$W#ySBEqU+nT+D&^j7(ZmaFuA8 zK~eZaMZg8ae`n{Z#p{?P$wXXcyaeBc#4Z&DYN56?N6@N*tX;d)$pDOT_+**G{VMLI z9dzL+X30Hmmh3_8ZE&^{hs7{UP>`g5%8e0%f)n3BPO@2mAm?xKU0%R!Nk2AdBaJbd`z z&wt)}@aL_K{`#j)A3pf@+lz}w-+Z$%{Ig%M zAmwIzf9ubGihg+Fe>$9znsYnC41bI^H?|(yu0WJ+^fnIYHya;2=&Nmi|=){&O0{0W5$aVSLiTy zNm#{V5p4e0=ev=9Od*5fAhB`u5bdsGCX!Asenal}J52sZXju*BvrE(Q2vyZbK&Kjs&Vwye^uF5t zt!?H+0E13}x-t|4`ibDctmEIKzjt#z||1E{?X@}`Zg ze{iv0Y)`dQp{sSUR05GfJDR!ktnt!WvXA02Z)g=&Yp$rmi_}^y%3Ml~ohL!7#eK98 zg4x8|h}+TQ>*07WUjO;=03Uk%zOnwT^?p$16Dxsk*;y(36Z`#TQpQ%ovl*$e%#>ne zy}zAXuTQg^nU!#aR;*Uai$u176{cx>reSFOsr{)X+83 zGS|0F@>;j8CA(~8AFAx2w8R54rD`*@SbOxX%A0GzZE2Z%8TvxVy-seuPg+Taf4d>7 z$vovvjr-Ah=cAUlQ^f!z@i)LGJjI`Z}#a7P-J(|l*74x!u*dkzxf z?2hf9DZ%kO$j0pT{@X@=nP4Z%Nv?a!TfebQBz+*}^EY`mkJ<3j;bd68jO2=yl|w_j z&;ats)jZg>93K-S&FzVK_R7tPe{B7mZ7LPMq08x{cEe#KT@j3(d_<%AyT{t}n)pL9 zw)*}4MIK*vK9e$0Kbz5||DH~zB_6~S>#rAdGR;FTUbj~CIc-I{#L*PGJ4*xN`^dr? zJ@twFAh>zp_Iwpf8mIA2pPD#|f0w+~Fw4Afd)~Nw5f|?wa*R5d_+qZW>Ezfzx zMjG@V|C`|3>NM{__Vs-Fy8?Zx@;{INh^Lh(>uboXmPWnC-)t9-E{E*Ejp_K=i)RNX zp{=#*XiXo$+<+5kUe_?bjNn|Qz9;LvvMl!TvQ%%h_Y%MGM9;G>==Pt+YEIdO7dBlxh zPg_sP-ORYbX#H$~<2e^uZJWuz6ye z94+z!?W5-z9ir{vjT>Q|l_!%JT@LI-(>T9OXX``qV6+`=f6YJcLm79eTBbngf7atkdI|Y?M6Gc#`*t9?Aa`tVm}y9&;F#!g#;{-*&w=Wu$troHB>eRh z-gv^&o0aP~qU(R!*of?5#D69SOI0zOwY*kb40o?m0NG!ZSDEPXO0}aIWe79yU*~xL zFVDIwfs-zlybe{iIg&-fji*arm9@!R5TZI+$=1d{fB)Iv*o6N_n_Js3b_5hbG0-^5 zX3Q-v%H1|?(M3}3m#}>e7iH4<8m+T;s8)XL@sHO4@}m2S>=nHpbCGUa)dj2Ivnu-@ zApk4(LfkvD5k^&4HCT0R-D!(Ru~z6yF`BQk{??x#ee>Yaw-0$B<1ajl=4GmiPW?v4 zu)3wee*ugF=7chG@i;BT_t1L(9RH3;_rj}r3RTj4?2S^+!3ll zmfP=R;s)sAi)@-?AU1#j13?E^W7yh}n|QbZf9UDKH}j8eIaO6XqDz_KE|K}7#hNL? zCL4^@ZR^{OEekJ(IsFpV90|jlw1{%@>Vub`fBKkNcL_UqwQ0973bJ5a{jrSG2~e&! z-H6rv?~^OXqE?Ch0cqCh0IMRKAT_!CA)+sBS1BizDsdkPj@GG2LoN_a@Pk{mQA|g< zb_#}qTf3zhJHn-9q@!SIl2grA+HU-GUJ~F9dDc^7g%toxgck||4xm{ubc}&aDI-P; zfB#u>!_rM?TO|ki_?3`t5OEPk*bvbpXk$!on8e^MmeA`v{NaeG|buy7!qW%cpM8?|~?)9&$+ zsMj10f<(jFkr$}|VzRsqa{m8)y|yv#3-&t`2;QvY_5%BY%{V?@tpWe8k#B#cmaxAS zR8>h))5%QE)dhCz*PIbtyTkMwZ`#QEtBmtK<#q5@hOL3CyOH6j;NIUs1@|R1e{hw$ zGD9`TD&XIhX)7z!HirQXg&E~8h?`nh8Qrc7m|mzP%M51e)fH9#?I8p2 z7){T!tlTCTMyr#_wyw-bN8go2`RoH-TQ!-PWHzSMLXE@1igyjmdQE zUp`qw2~wVY0m!o*n8FIl%BCmyLv(E}ilBe=GP%t16ggQu+vj*I@_3)K$=_!a`Gn!5 z;5nHsqzOPacM#Dw1yD8s*RBg!_}TJ|M0Kld<4>#+?>}pX);kU723p7Azm|DH3!YoP zc>%XzMf(CDR)u{*0GghYe?~2Phe5$w;pN(*AYzsggF%(4iUU12reWeZ&*tl}&0e!F zT(U+S>xdoA>>pk-TGkstSQZXyzO2aX(}5UCH3Tf84#R2Tgj%RNw7l zje`KMuSg2|^F?vh$)q(jH-Ib}{Wes@F>%-q*9uslQ`lye`m$7mp{{W7BH`Pe4A>kR zmXzGr@SST#{6tf3L$-+SEK7ZPHqr^Pv+EWPxwPZd-O+HldT z13O)@JSnUyA3iRm@<0 zbp?1fA**yR*{BpdNqCjq?Cp=`Ub4ItYkWAjJc`t1-4j**@}%+{vaTk1u%OQ&#opvL z62pFN4+i3h46VfT1v$q6IAxq)CgtwC;Uu12@BJl#f5v9Hf^?77P|LI_U(t-fbeova zM7M$hr=Tz|rN}8|z^xtghC<}z13dfd@#|OU7@$Zx^vGgcdT|>he-7uwoXEB2M7H43 zu0r!9*McY6!soyZCBc>0#ZTW|`z8_jlqoFflZXyCqp_9)D7$CE8Jg2w5`&kYj;WP# zhsmQMf26LbGl?+X&@|wiWcc6){IW}4(Jfbly-sCY&KU-7eHa^KgK5Km!6uO~LS>!& zRhLHYFzd@FToJW9Ot`tXu->j?_vQ0!5Ey)G^>%$3lLV6#hZ@oJh};|{6LM$i@p${I zg+8lZbr8%o+vy(a8d`H# z;k86<&e>1mp~NxuC7ImmINj0~Rw`MRs#tsli+_dN-B4`NwtgG2MBD4YwV2;!+hww? zQY*^xO04~FBf{26c2)98;lT6Wj`YpYJ6HMs!hhAwB=KPyp0lq>H`A?W%-tzE z3xvi=ii(SyQ1T4ZT^9E~^c?WF7Lb)FkUou@(H4O+7z4;K`T#sfJ$S)mFlb~yg$IdV|L1SE2reMo{F zxop!t9EvYe=}MAc5C#hYykdRd6!s8|@)Vo3m4ueutG{+VaxF^UB<( z?UxF(HC_j@%a);!9P(+3?xit&8MJ2bz5qT5*Hkh?^Ub$MhX)ym?lWMET-~BsdDmaV zH|cDg-H`29$F3Le_5X!{gbb{ zaBcX30uqzOSwH$mwwR2GhHwNZVJe6LoMiKaNqEW{l!$u}q9y{bL>Hk=Je77g8)29b zPpbLGX5>(SG3jACuBL`ntI=Hi>G;=Njkf=lngL?HZ2kBIwTw<*R@xC#pN(F1Kd9k4 zg8I;kG50DB=5rKI>|~g^e=M@ytKzRdPpztCHZ@(eek{Rg+4PaC91aV8BHXih*l&C$ znHuQ0<+LPpwkVlQvvAM#ZBjFc+JpjKQ4i1^HQy5nTmcd5f?&SG^>^7n`SH!OUKF0I zisMTSqg7SXe6iiOD7^L692OeX^}pT;l0DH4_|!`Gp!~Uh8+7mbe|;Gqc9q>+V2mW` zA>{nbJ{tAtTS&DV{fW3FVNZJHHZMVcfnAz|^OS>lHUoB3h-^ImomVh77}8XDRf}R7 zovFL}5zDV9GU{xef2*tjhkzyI+`%B&68q5Ml z7nYJ}V-OAKJp-CQj3!5{5W-_Cf5U==IV9=WnP=Ar{3;Xee+90)>tvsrl`NlY=!7%V zkn%<6*_V83r&uxB{6IgSM8{tOzCJ_6V9*C=_mJ2tz!H%aU|+LQ7|iqWBi= zYA}2x(({~gR|ZByJVO`a>8vQ@*$6L`(2-#%_!|R17e2kMXmSRVAg-m5Uvj+3kkLg5 z*DYzi=Wyw{e>LbkTy?x7dsICi0q))JN>EDLaYng=j_!NHLA$Onr0#nP3><~#YUX-! zJhaL1C*4{;y%t7OJ9n02gau7~aD^t|VM5{d!uo1+C? z_8pa{OY_V^nH&v;_uW&|V~*C}7C;kWDPRRHE58mue`t=Hv6wAt$K!=-mSmdeNemwo zFCu~YZOL-RtaxZyUI`gMe#ENeW~Uk>^T7wn&GuzlzX0I?DB8f_4MZ?T$c_=#2$ecA zKSr4}GIC_9s1x3MIG|Oe3vap1(eYw35viW9cTqC zHx{7{4!9y%IJXtV1OE}%m)mTHHN@?Q8xK|BU=WhN{yG}>$vG6SO?I-i9$~guAc{UG ze}^Rj{t{}5j1a`saFgh1Y72|l=ku^Z03s;H3G$+6i;oMrUv}0y>FQJMh->VF$uZfu z3%T34JY15~ZSwJAlCX7(HOiJ{a}Y)(3S(vBd%$Y0%x^t=Xet)MqEBc}gP8pe8kgnX zXeJyui#|GIN4qP`^>~sz!_P&>n+aHfe+9*nY_W`^l>jtoX*@}PrWuMxd0bqf$*1R+ zhpOJjpVj&J9dnAz=C$8sliQ1QG68NvK3XgeMJC_oXoKblQq;l+`ZYhG2^6H`kD2@= zM(Z;8zz^o9{n-qb#)v!xAXoF3Nj8ipFL}tUj3TJETq+nWVq3jgOch<5gpd4Se||dP z%~^Ot*^b0Jy;>a<`d#d!c&uu41UwvGS%)D!-sfjCD=hq+XaPuJvrFdiWLl%KX5Wu* zVOxq0pJM65r<7z3JDog5A}DD=^>y?@r1vbrT(@^N7oUx1oIx5-(DuO1tj8+(`>wcgd<38!8d%V9*Pcv z=sF|OpZak1aHt}BG`s>Vg2;yOo7)hcB@K?>eNfrWY?8%e1x&oV;N(&jf7!&Vn~R1# zIz%t>ynZNw-V;CH8;+G~R_*&%~@;|j7X}UExbU7RnN108WZV3lt`yGofSUU*mo_)qUJ@< zsr2s5FOKv@WkmYzzHJtdj!D6c!hhBIO8QLs}I2P#t@n^j$svIk-wE@J!4wF?Sf*5g2sj_ltsP zCHh!I!IV6n@$FgIfA%A$F!EQx;g=#9(ua*A`L7$_XH}u4P5@e_n}{MIfhcLG%v^4n z#^&(pcBIt>t|tZ~ zkHoI`ita6)SbK|A(9iw!Ne4$j?NilvxX6a2!~4rWe-H7v0d`B&bc7AUxGKC|#N0*o zJz}zdFty5lwNdtzh6SjPupFS$Kk~D zv&F{7{s#YTcdL9@Rqd3L$yq~k(O`ae>HM@vFm!#9U6dzr zac!&}`eM(Z%w?WNc&89?eyQpzZIBTqKxu;AFRs!H`@jH8p;Z~=vQ0=3D16|H>w2{k zuPUOzLYZE)=|bzHtt=l%^$3c)$=&0&@L~=+zX(%IEZZ^5Mt_L@+$9-pBkV(?e@IHy zHf4*lBL}hvc}?&EixgQ{l;{KrxIT%fp?Eg6Q7aTpS2VHX2~e}kNRoP!?2zS}TY`=0 z>}LyA^|bbP68Renev_XM_JlOM?LE=v021jJpv>TS!szKuhb-lOrT z=Z5qMG!>oJ;p{_P9E4mzoiib=Ec?oY#&f6vMmm%o6slxV$I_aPqKRW2L#&eTmxItm@U^^1d`=XE0 z2SgHC2T~yrwqT>|MVCn#rDY@?rwFfqKc^q#`Bj?tFVpgB0kk`tN>7069|w;AKa4ks zzEt{E&Q!!KASS=U16Ogie+E4eUu4h^9Kp@4jcUeBi#*jT>REQPV{3?oV=IolOq(CW zC|K#sO7Q~a&Nnc_FOo~NuIL6>Ngwy1GBz7Uw<$LrPf}wm#x|f`DV;R;aMM+de+MJz zZTd!bYl}D1aVvzPeLJhd0qC`vd5;>p4$XPG|Kke0mvekjtsa3ie-`dRL>DVXo=b>V zSK==Gae+2gT(v}pGvodhDRu!B?=nDu4*<}&5DrdYEtczzBZqozIg!F|n>o#g* zaKYFJ_8EDB%^C=%e?Z`iSoT)ztz^n0r=Hwv@}9+IVR=9D34&i+ZJ-yEz|nm?t9MA# z#IR)}y2(23N2ijknJTWm;wrmAdUYNOARr^!&~ZG;l?9Vdmn01B z9G^I0d)m==(PpF~8jN5id((g&8 zz?f-jDS+p8Qc2ZHk-K`dEqyI93!+G1=;hco21Nw|fW(lUimC)@I(G&p5u{BS|I0pB zj}wtF8V?I4e=H2Jca8 a', ThemeTools.dialog), 'click', function() { return ThemeTools.save(editTheme); }); $.on($('#close > a', ThemeTools.dialog), 'click', ThemeTools.close); + $.add(themeContent, nodes); $.add(d.body, ThemeTools.dialog); return Style.themeCSS.textContent = Style.theme(editTheme); }, @@ -13698,19 +13693,20 @@ for (_i = 0, _len = keys.length; _i < _len; _i++) { name = keys[_i]; theme = Themes[name]; - if (!theme["Deleted"]) { - div = $.el('div', { - className: "theme " + (name === Conf['theme'] ? 'selectedtheme' : ''), - id: name, - innerHTML: "" - }); - div.style.backgroundColor = theme['Background Color']; - $.on($('a.edit', div), 'click', cb.edit); - $.on($('a.export', div), 'click', cb["export"]); - $.on($('a.delete', div), 'click', cb["delete"]); - $.on(div, 'click', cb.select); - $.add(suboptions, div); + if (theme["Deleted"]) { + continue; } + div = $.el('div', { + className: "theme " + (name === Conf['theme'] ? 'selectedtheme' : ''), + id: name, + innerHTML: "
" + name + " " + theme['Author'] + " (SAGE) " + theme['Author Tripcode'] + " No.27583594 >>edit >>export >>delete
>>27582902
Post content is right here.

Selected

" + }); + div.style.backgroundColor = theme['Background Color']; + $.on($('a.edit', div), 'click', cb.edit); + $.on($('a.export', div), 'click', cb["export"]); + $.on($('a.delete', div), 'click', cb["delete"]); + $.on(div, 'click', cb.select); + $.add(suboptions, div); } div = $.el('div', { id: 'addthemes', @@ -13739,30 +13735,43 @@ return this.nextSibling.click(); }); $.on($('#tUndelete', div), 'click', function() { + var themes; + $.rm($.id("themeContainer")); - return Settings.openSection(themes, 'undelete'); + themes = { + open: Settings.themes, + hyphenatedTitle: 'themes' + }; + return Settings.openSection.apply(themes, ['undelete']); }); } else { for (_j = 0, _len1 = keys.length; _j < _len1; _j++) { name = keys[_j]; theme = Themes[name]; - if (theme["Deleted"]) { - div = $.el('div', { - id: name, - className: theme, - innerHTML: "
" + name + " " + theme['Author'] + " (SAGE) " + theme['Author Tripcode'] + " No.27583594
>>27582902
I forgive you for using VLC to open me. ;__;
" - }); - $.on(div, 'click', cb.restore); - $.add(suboptions, div); + if (!theme["Deleted"]) { + continue; } + div = $.el('div', { + id: name, + className: theme, + innerHTML: "
" + name + " " + theme['Author'] + " (SAGE) " + theme['Author Tripcode'] + " No.27583594
>>27582902
I forgive you for using VLC to open me. ;__;
" + }); + $.on(div, 'click', cb.restore); + $.add(suboptions, div); } div = $.el('div', { id: 'addthemes', innerHTML: "Return" }); $.on($('a', div), 'click', function() { + var themes; + + themes = { + open: Settings.themes, + hyphenatedTitle: 'themes' + }; $.rm($.id("themeContainer")); - return Settings.openSection(themes); + return Settings.openSection.call(themes); }); } $.add(parentdiv, suboptions); @@ -13894,12 +13903,17 @@ return MascotTools.importMascot(e); }); $.on($('#undelete', batchmascots), 'click', function() { + var mascots; + if (!(Conf["Deleted Mascots"].length > 0)) { alert("No mascots have been deleted."); return; } - $.rm($.id("mascotContainer")); - return Settings.mascotTab.dialog(Settings.el, 'undelete'); + mascots = { + open: Settings.mascots, + hyphenatedTitle: 'mascots' + }; + return Settings.openSection.apply(mascots, ['restore']); }); } else { categories = $.el("div", { @@ -13926,8 +13940,13 @@ innerHTML: "Return" }); $.on($('#return', batchmascots), 'click', function() { - $.rm($.id("mascotContainer")); - return Settings.section('mascots'); + var mascots; + + mascots = { + open: Settings.mascots, + hyphenatedTitle: 'mascots' + }; + return Settings.openSection.apply(mascots); }); } $.add(parentdiv, [suboptions, batchmascots, mascotHide]); @@ -14059,7 +14078,8 @@ } }, "delete": function(e) { - var container, settheme; + var container, settheme, + _this = this; e.preventDefault(); e.stopPropagation(); @@ -14077,26 +14097,28 @@ } } Themes[this.name]["Deleted"] = true; - return $.get("userThemes", {}, function() { + return $.get("userThemes", {}, function(_arg) { var userThemes; - userThemes = items['userThemes']; - userThemes[this.name] = Themes[this.name]; + userThemes = _arg.userThemes; + userThemes[_this.name] = Themes[_this.name]; $.set('userThemes', userThemes); return $.rm(container); }); } }, restore: function() { + var _this = this; + if (confirm("Are you sure you want to restore \"" + this.id + "\"?")) { Themes[this.id]["Deleted"] = false; - return $.get("userThemes", {}, function(item) { + return $.get("userThemes", {}, function(_arg) { var userThemes; - userThemes = item["userThemes"]; - userThemes[this.id] = Themes[this.id]; + userThemes = _arg.userThemes; + userThemes[_this.id] = Themes[_this.id]; $.set('userThemes', userThemes); - return $.rm(this); + return $.rm(_this); }); } } diff --git a/src/General/Settings.coffee b/src/General/Settings.coffee index 5efba17b6..e6203514d 100644 --- a/src/General/Settings.coffee +++ b/src/General/Settings.coffee @@ -107,7 +107,7 @@ Settings = hyphenatedTitle = title.toLowerCase().replace /\s+/g, '-' Settings.sections.push {title, hyphenatedTitle, open} - openSection: (mode)-> + openSection: (mode) -> if selected = $ '.tab-selected', Settings.dialog $.rmClass selected, 'tab-selected' $.addClass $(".tab-#{@hyphenatedTitle}", Settings.dialog), 'tab-selected' @@ -549,12 +549,12 @@ Settings = for name in keys theme = Themes[name] - unless theme["Deleted"] + continue if theme["Deleted"] - div = $.el 'div', - className: "theme #{if name is Conf['theme'] then 'selectedtheme' else ''}" - id: name - innerHTML: " + div = $.el 'div', + className: "theme #{if name is Conf['theme'] then 'selectedtheme' else ''}" + id: name + innerHTML: "
@@ -598,14 +598,14 @@ Settings =
" - div.style.backgroundColor = theme['Background Color'] + div.style.backgroundColor = theme['Background Color'] - $.on $('a.edit', div), 'click', cb.edit - $.on $('a.export', div), 'click', cb.export - $.on $('a.delete', div), 'click', cb.delete - $.on div, 'click', cb.select + $.on $('a.edit', div), 'click', cb.edit + $.on $('a.export', div), 'click', cb.export + $.on $('a.delete', div), 'click', cb.delete + $.on div, 'click', cb.select - $.add suboptions, div + $.add suboptions, div div = $.el 'div', id: 'addthemes' @@ -639,19 +639,24 @@ Settings = $.on $('#tUndelete', div), 'click', -> $.rm $.id "themeContainer" - Settings.openSection themes, 'undelete' + + themes = + open: Settings.themes + hyphenatedTitle: 'themes' + + Settings.openSection.apply themes, ['undelete'] else for name in keys theme = Themes[name] - if theme["Deleted"] + continue unless theme["Deleted"] - div = $.el 'div', - id: name - className: theme - innerHTML: " + div = $.el 'div', + id: name + className: theme + innerHTML: "
#{name} @@ -670,17 +675,21 @@ Settings =
" - $.on div, 'click', cb.restore + $.on div, 'click', cb.restore - $.add suboptions, div + $.add suboptions, div div = $.el 'div', id: 'addthemes' innerHTML: "Return" $.on $('a', div), 'click', -> + themes = + open: Settings.themes + hyphenatedTitle: 'themes' + $.rm $.id "themeContainer" - Settings.openSection themes + Settings.openSection.call themes $.add parentdiv, suboptions $.add parentdiv, div @@ -815,8 +824,10 @@ Settings = unless Conf["Deleted Mascots"].length > 0 alert "No mascots have been deleted." return - $.rm $.id "mascotContainer" - Settings.mascotTab.dialog Settings.el, 'undelete' + mascots = + open: Settings.mascots + hyphenatedTitle: 'mascots' + Settings.openSection.apply mascots, ['restore'] else categories = $.el "div", @@ -845,8 +856,10 @@ Settings = innerHTML: "Return" $.on $('#return', batchmascots), 'click', -> - $.rm $.id "mascotContainer" - Settings.section 'mascots' + mascots = + open: Settings.mascots + hyphenatedTitle: 'mascots' + Settings.openSection.apply mascots $.add parentdiv, [suboptions, batchmascots, mascotHide] @@ -973,8 +986,7 @@ Settings = $.set 'theme', Conf['theme'] Themes[@name]["Deleted"] = true - $.get "userThemes", {}, -> - userThemes = items['userThemes'] + $.get "userThemes", {}, ({userThemes}) => userThemes[@name] = Themes[@name] $.set 'userThemes', userThemes $.rm container @@ -982,8 +994,8 @@ Settings = restore: -> if confirm "Are you sure you want to restore \"#{@id}\"?" Themes[@id]["Deleted"] = false - $.get "userThemes", {}, (item) -> - userThemes = item["userThemes"] + + $.get "userThemes", {}, ({userThemes}) => userThemes[@id] = Themes[@id] $.set 'userThemes', userThemes $.rm @ diff --git a/src/Theming/Themes.coffee b/src/Theming/Themes.coffee index a820501f4..04249fb68 100644 --- a/src/Theming/Themes.coffee +++ b/src/Theming/Themes.coffee @@ -6,16 +6,15 @@ ThemeTools = init: (key) -> Conf['editMode'] = "theme" - if Themes[key] + if key editTheme = JSON.parse(JSON.stringify(Themes[key])) - $.get "userThemes", {}, (items) -> - if items[key] - editTheme["Theme"] = key - else - editTheme["Theme"] = key += " [custom]" + editTheme["Theme"] = if Conf['userThemes'][key] + key + else + key += " [custom]" else editTheme = JSON.parse(JSON.stringify(Themes['Yotsuba B'])) - editTheme["Theme"] = "Untitled" + editTheme["Theme"] = "Untitled" editTheme["Author"] = "Author" editTheme["Author Tripcode"] = "Unknown" @@ -102,8 +101,10 @@ ThemeTools = $.on input, 'blur', -> editTheme[@name] = @value $.add $("#themebar", ThemeTools.dialog), header - themecontent = $("#themecontent", ThemeTools.dialog) + themeContent = $("#themecontent", ThemeTools.dialog) + nodes = [] + for item in layout unless editTheme[item] editTheme[item] = '' @@ -168,11 +169,9 @@ ThemeTools = editTheme[@name] = @value - Style.addStyle(editTheme) + nodes.push div - $.add themecontent, div - - $.add themecontent, div + Style.addStyle(editTheme) unless editTheme["Custom CSS"] editTheme["Custom CSS"] = "" @@ -185,12 +184,15 @@ ThemeTools = editTheme["Custom CSS"] = @value Style.themeCSS.textContent = Style.theme editTheme - $.add themecontent, div + nodes.push div $.on $('#save > a', ThemeTools.dialog), 'click', -> ThemeTools.save editTheme $.on $('#close > a', ThemeTools.dialog), 'click', ThemeTools.close + + $.add themeContent, nodes + $.add d.body, ThemeTools.dialog Style.themeCSS.textContent = Style.theme editTheme