-
Notifications
You must be signed in to change notification settings - Fork 20
/
script.min.js
4 lines (4 loc) · 86.8 KB
/
script.min.js
1
2
3
4
/*! Twitch Chat Emotes v2.1.6, Thu, 20 Jul 2017 06:33:04 GMT, http://cletusc.github.io/Userscript--Twitch-Chat-Emotes/ */
!function e(t,o,l){function i(s,n){if(!o[s]){if(!t[s]){var a="function"==typeof require&&require;if(!n&&a)return a(s,!0);if(r)return r(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var g=o[s]={exports:{}};t[s][0].call(g.exports,function(e){var o=t[s][1][e];return i(o?o:e)},g,g.exports,e,t,o,l)}return o[s].exports}for(var r="function"==typeof require&&require,s=0;s<l.length;s++)i(l[s]);return i}({1:[function(e){function t(){a.init(),n.init()}function o(){a.hideMenu()}var l=e("../package.json"),i=e("./modules/public-api"),r=e("./modules/ember-api"),s=e("./modules/logger"),n=e("./modules/emotes"),a=e("./modules/ui");s.log("(v"+l.version+") Initial load on "+location.href);var c=0;!function g(e){e||(e=0);var l=void 0!==window.Twitch&&void 0!==window.jQuery&&r.isLoaded();return l?("undefined"==typeof window.emoteMenu&&(window.emoteMenu=i),r.hook("route:channel",t,o),r.hook("route:chat",t,o),t(),void 0):c>=6e5?(s.log("Taking too long to load, stopping. Refresh the page to try again. ("+c+"ms)"),void 0):(c%1e4&&s.debug("Still waiting for objects to load. ("+c+"ms)"),e=e>=1e3?1e3:e+25,c+=e,setTimeout(g,e,e),void 0)}()},{"../package.json":7,"./modules/ember-api":8,"./modules/emotes":9,"./modules/logger":10,"./modules/public-api":11,"./modules/ui":15}],2:[function(){!function(e,t){var o="emote-menu-for-twitch-styles",l=e.getElementById(o);if(l||(l=e.createElement("style"),l.id=o,e.getElementsByTagName("head")[0].appendChild(l)),l.styleSheet)l.styleSheet.disabled||(l.styleSheet.cssText=t);else try{l.innerHTML=t}catch(i){l.innerText=t}}(document,'/**\n * Minified style.\n * Original filename: \\node_modules\\jquery.scrollbar\\jquery.scrollbar.css\n */\n.scroll-wrapper{overflow:hidden!important;padding:0!important;position:relative}.scroll-wrapper>.scroll-content{border:none!important;-moz-box-sizing:content-box!important;box-sizing:content-box!important;height:auto;left:0;margin:0;max-height:none!important;max-width:none!important;overflow:scroll!important;padding:0;position:relative!important;top:0;width:auto!important}.scroll-wrapper>.scroll-content::-webkit-scrollbar{height:0;width:0}.scroll-element{display:none}.scroll-element,.scroll-element div{-moz-box-sizing:content-box;box-sizing:content-box}.scroll-element.scroll-x.scroll-scrollx_visible,.scroll-element.scroll-y.scroll-scrolly_visible{display:block}.scroll-element .scroll-arrow,.scroll-element .scroll-bar{cursor:default}.scroll-textarea{border:1px solid #ccc;border-top-color:#999}.scroll-textarea>.scroll-content{overflow:hidden!important}.scroll-textarea>.scroll-content>textarea{border:none!important;-moz-box-sizing:border-box;box-sizing:border-box;height:100%!important;margin:0;max-height:none!important;max-width:none!important;overflow:scroll!important;outline:0;padding:2px;position:relative!important;top:0;width:100%!important}.scroll-textarea>.scroll-content>textarea::-webkit-scrollbar{height:0;width:0}.scrollbar-inner>.scroll-element,.scrollbar-inner>.scroll-element div{border:none;margin:0;padding:0;position:absolute;z-index:10}.scrollbar-inner>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-inner>.scroll-element.scroll-x{bottom:2px;height:8px;left:0;width:100%}.scrollbar-inner>.scroll-element.scroll-y{height:100%;right:2px;top:0;width:8px}.scrollbar-inner>.scroll-element .scroll-element_outer{overflow:hidden}.scrollbar-inner>.scroll-element .scroll-bar,.scrollbar-inner>.scroll-element .scroll-element_outer,.scrollbar-inner>.scroll-element .scroll-element_track{border-radius:8px}.scrollbar-inner>.scroll-element .scroll-bar,.scrollbar-inner>.scroll-element .scroll-element_track{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";filter:alpha(opacity=40);opacity:.4}.scrollbar-inner>.scroll-element .scroll-element_track{background-color:#e0e0e0}.scrollbar-inner>.scroll-element .scroll-bar{background-color:#c2c2c2}.scrollbar-inner>.scroll-element.scroll-draggable .scroll-bar,.scrollbar-inner>.scroll-element:hover .scroll-bar{background-color:#919191}.scrollbar-inner>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-12px}.scrollbar-inner>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-12px}.scrollbar-inner>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-12px}.scrollbar-inner>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-12px}.scrollbar-outer>.scroll-element,.scrollbar-outer>.scroll-element div{border:none;margin:0;padding:0;position:absolute;z-index:10}.scrollbar-outer>.scroll-element{background-color:#fff}.scrollbar-outer>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-outer>.scroll-element.scroll-x{bottom:0;height:12px;left:0;width:100%}.scrollbar-outer>.scroll-element.scroll-y{height:100%;right:0;top:0;width:12px}.scrollbar-outer>.scroll-element.scroll-x .scroll-element_outer{height:8px;top:2px}.scrollbar-outer>.scroll-element.scroll-y .scroll-element_outer{left:2px;width:8px}.scrollbar-outer>.scroll-element .scroll-element_outer{overflow:hidden}.scrollbar-outer>.scroll-element .scroll-element_track{background-color:#eee}.scrollbar-outer>.scroll-element .scroll-bar,.scrollbar-outer>.scroll-element .scroll-element_outer,.scrollbar-outer>.scroll-element .scroll-element_track{border-radius:8px}.scrollbar-outer>.scroll-element .scroll-bar{background-color:#d9d9d9}.scrollbar-outer>.scroll-element .scroll-bar:hover{background-color:#c2c2c2}.scrollbar-outer>.scroll-element.scroll-draggable .scroll-bar{background-color:#919191}.scrollbar-outer>.scroll-content.scroll-scrolly_visible{left:-12px;margin-left:12px}.scrollbar-outer>.scroll-content.scroll-scrollx_visible{top:-12px;margin-top:12px}.scrollbar-outer>.scroll-element.scroll-x .scroll-bar{min-width:10px}.scrollbar-outer>.scroll-element.scroll-y .scroll-bar{min-height:10px}.scrollbar-outer>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-14px}.scrollbar-outer>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-14px}.scrollbar-outer>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-14px}.scrollbar-outer>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-14px}.scrollbar-macosx>.scroll-element,.scrollbar-macosx>.scroll-element div{background:0 0;border:none;margin:0;padding:0;position:absolute;z-index:10}.scrollbar-macosx>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-macosx>.scroll-element .scroll-element_track{display:none}.scrollbar-macosx>.scroll-element .scroll-bar{background-color:#6C6E71;display:block;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0;border-radius:7px;transition:opacity .2s linear}.scrollbar-macosx:hover>.scroll-element .scroll-bar,.scrollbar-macosx>.scroll-element.scroll-draggable .scroll-bar{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";filter:alpha(opacity=70);opacity:.7}.scrollbar-macosx>.scroll-element.scroll-x{bottom:0;height:0;left:0;min-width:100%;overflow:visible;width:100%}.scrollbar-macosx>.scroll-element.scroll-y{height:100%;min-height:100%;right:0;top:0;width:0}.scrollbar-macosx>.scroll-element.scroll-x .scroll-bar{height:7px;min-width:10px;top:-9px}.scrollbar-macosx>.scroll-element.scroll-y .scroll-bar{left:-9px;min-height:10px;width:7px}.scrollbar-macosx>.scroll-element.scroll-x .scroll-element_outer{left:2px}.scrollbar-macosx>.scroll-element.scroll-x .scroll-element_size{left:-4px}.scrollbar-macosx>.scroll-element.scroll-y .scroll-element_outer{top:2px}.scrollbar-macosx>.scroll-element.scroll-y .scroll-element_size{top:-4px}.scrollbar-macosx>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-11px}.scrollbar-macosx>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-11px}.scrollbar-light>.scroll-element,.scrollbar-light>.scroll-element div{border:none;margin:0;overflow:hidden;padding:0;position:absolute;z-index:10}.scrollbar-light>.scroll-element{background-color:#fff}.scrollbar-light>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-light>.scroll-element .scroll-element_outer{border-radius:10px}.scrollbar-light>.scroll-element .scroll-element_size{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RiZGJkYiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlOGU4ZTgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:linear-gradient(to right,#dbdbdb 0,#e8e8e8 100%);border-radius:10px}.scrollbar-light>.scroll-element.scroll-x{bottom:0;height:17px;left:0;min-width:100%;width:100%}.scrollbar-light>.scroll-element.scroll-y{height:100%;min-height:100%;right:0;top:0;width:17px}.scrollbar-light>.scroll-element .scroll-bar{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZlZmVmZSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmNWY1ZjUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:linear-gradient(to right,#fefefe 0,#f5f5f5 100%);border:1px solid #dbdbdb;border-radius:10px}.scrollbar-light>.scroll-content.scroll-scrolly_visible{left:-17px;margin-left:17px}.scrollbar-light>.scroll-content.scroll-scrollx_visible{top:-17px;margin-top:17px}.scrollbar-light>.scroll-element.scroll-x .scroll-bar{height:10px;min-width:10px;top:0}.scrollbar-light>.scroll-element.scroll-y .scroll-bar{left:0;min-height:10px;width:10px}.scrollbar-light>.scroll-element.scroll-x .scroll-element_outer{height:12px;left:2px;top:2px}.scrollbar-light>.scroll-element.scroll-x .scroll-element_size{left:-4px}.scrollbar-light>.scroll-element.scroll-y .scroll-element_outer{left:2px;top:2px;width:12px}.scrollbar-light>.scroll-element.scroll-y .scroll-element_size{top:-4px}.scrollbar-light>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-19px}.scrollbar-light>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-19px}.scrollbar-light>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-19px}.scrollbar-light>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-19px}.scrollbar-rail>.scroll-element,.scrollbar-rail>.scroll-element div{border:none;margin:0;overflow:hidden;padding:0;position:absolute;z-index:10}.scrollbar-rail>.scroll-element{background-color:#fff}.scrollbar-rail>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-rail>.scroll-element .scroll-element_size{background-color:#999;background-color:rgba(0,0,0,.3)}.scrollbar-rail>.scroll-element .scroll-element_outer:hover .scroll-element_size{background-color:#666;background-color:rgba(0,0,0,.5)}.scrollbar-rail>.scroll-element.scroll-x{bottom:0;height:12px;left:0;min-width:100%;padding:3px 0 2px;width:100%}.scrollbar-rail>.scroll-element.scroll-y{height:100%;min-height:100%;padding:0 2px 0 3px;right:0;top:0;width:12px}.scrollbar-rail>.scroll-element .scroll-bar{background-color:#d0b9a0;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.5)}.scrollbar-rail>.scroll-element .scroll-element_outer:hover .scroll-bar{box-shadow:1px 1px 3px rgba(0,0,0,.6)}.scrollbar-rail>.scroll-content.scroll-scrolly_visible{left:-17px;margin-left:17px}.scrollbar-rail>.scroll-content.scroll-scrollx_visible{margin-top:17px;top:-17px}.scrollbar-rail>.scroll-element.scroll-x .scroll-bar{height:10px;min-width:10px;top:1px}.scrollbar-rail>.scroll-element.scroll-y .scroll-bar{left:1px;min-height:10px;width:10px}.scrollbar-rail>.scroll-element.scroll-x .scroll-element_outer{height:15px;left:5px}.scrollbar-rail>.scroll-element.scroll-x .scroll-element_size{height:2px;left:-10px;top:5px}.scrollbar-rail>.scroll-element.scroll-y .scroll-element_outer{top:5px;width:15px}.scrollbar-rail>.scroll-element.scroll-y .scroll-element_size{left:5px;top:-10px;width:2px}.scrollbar-rail>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-25px}.scrollbar-rail>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-25px}.scrollbar-rail>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-25px}.scrollbar-rail>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-25px}.scrollbar-dynamic>.scroll-element,.scrollbar-dynamic>.scroll-element div{background:0 0;border:none;margin:0;padding:0;position:absolute;z-index:10}.scrollbar-dynamic>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-dynamic>.scroll-element.scroll-x{bottom:2px;height:7px;left:0;min-width:100%;width:100%}.scrollbar-dynamic>.scroll-element.scroll-y{height:100%;min-height:100%;right:2px;top:0;width:7px}.scrollbar-dynamic>.scroll-element .scroll-element_outer{opacity:.3;border-radius:12px}.scrollbar-dynamic>.scroll-element .scroll-element_size{background-color:#ccc;opacity:0;border-radius:12px;transition:opacity .2s}.scrollbar-dynamic>.scroll-element .scroll-bar{background-color:#6c6e71;border-radius:7px}.scrollbar-dynamic>.scroll-element.scroll-x .scroll-bar{bottom:0;height:7px;min-width:24px;top:auto}.scrollbar-dynamic>.scroll-element.scroll-y .scroll-bar{left:auto;min-height:24px;right:0;width:7px}.scrollbar-dynamic>.scroll-element.scroll-x .scroll-element_outer{bottom:0;top:auto;left:2px;transition:height .2s}.scrollbar-dynamic>.scroll-element.scroll-y .scroll-element_outer{left:auto;right:0;top:2px;transition:width .2s}.scrollbar-dynamic>.scroll-element.scroll-x .scroll-element_size{left:-4px}.scrollbar-dynamic>.scroll-element.scroll-y .scroll-element_size{top:-4px}.scrollbar-dynamic>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-11px}.scrollbar-dynamic>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-11px}.scrollbar-dynamic>.scroll-element.scroll-draggable .scroll-element_outer,.scrollbar-dynamic>.scroll-element:hover .scroll-element_outer{overflow:hidden;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";filter:alpha(opacity=70);opacity:.7}.scrollbar-dynamic>.scroll-element.scroll-draggable .scroll-element_outer .scroll-element_size,.scrollbar-dynamic>.scroll-element:hover .scroll-element_outer .scroll-element_size{opacity:1}.scrollbar-dynamic>.scroll-element.scroll-draggable .scroll-element_outer .scroll-bar,.scrollbar-dynamic>.scroll-element:hover .scroll-element_outer .scroll-bar{height:100%;width:100%;border-radius:12px}.scrollbar-dynamic>.scroll-element.scroll-x.scroll-draggable .scroll-element_outer,.scrollbar-dynamic>.scroll-element.scroll-x:hover .scroll-element_outer{height:20px;min-height:7px}.scrollbar-dynamic>.scroll-element.scroll-y.scroll-draggable .scroll-element_outer,.scrollbar-dynamic>.scroll-element.scroll-y:hover .scroll-element_outer{min-width:7px;width:20px}.scrollbar-chrome>.scroll-element,.scrollbar-chrome>.scroll-element div{border:none;margin:0;overflow:hidden;padding:0;position:absolute;z-index:10}.scrollbar-chrome>.scroll-element{background-color:#fff}.scrollbar-chrome>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-chrome>.scroll-element .scroll-element_track{background:#f1f1f1;border:1px solid #dbdbdb}.scrollbar-chrome>.scroll-element.scroll-x{bottom:0;height:16px;left:0;min-width:100%;width:100%}.scrollbar-chrome>.scroll-element.scroll-y{height:100%;min-height:100%;right:0;top:0;width:16px}.scrollbar-chrome>.scroll-element .scroll-bar{background-color:#d9d9d9;border:1px solid #bdbdbd;cursor:default;border-radius:2px}.scrollbar-chrome>.scroll-element .scroll-bar:hover{background-color:#c2c2c2;border-color:#a9a9a9}.scrollbar-chrome>.scroll-element.scroll-draggable .scroll-bar{background-color:#919191;border-color:#7e7e7e}.scrollbar-chrome>.scroll-content.scroll-scrolly_visible{left:-16px;margin-left:16px}.scrollbar-chrome>.scroll-content.scroll-scrollx_visible{top:-16px;margin-top:16px}.scrollbar-chrome>.scroll-element.scroll-x .scroll-bar{height:8px;min-width:10px;top:3px}.scrollbar-chrome>.scroll-element.scroll-y .scroll-bar{left:3px;min-height:10px;width:8px}.scrollbar-chrome>.scroll-element.scroll-x .scroll-element_outer{border-left:1px solid #dbdbdb}.scrollbar-chrome>.scroll-element.scroll-x .scroll-element_track{height:14px;left:-3px}.scrollbar-chrome>.scroll-element.scroll-x .scroll-element_size{height:14px;left:-4px}.scrollbar-chrome>.scroll-element.scroll-y .scroll-element_outer{border-top:1px solid #dbdbdb}.scrollbar-chrome>.scroll-element.scroll-y .scroll-element_track{top:-3px;width:14px}.scrollbar-chrome>.scroll-element.scroll-y .scroll-element_size{top:-4px;width:14px}.scrollbar-chrome>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-19px}.scrollbar-chrome>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-19px}.scrollbar-chrome>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-19px}.scrollbar-chrome>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-19px}\n/**\n * Minified style.\n * Original filename: \\src\\styles\\style.css\n */\n@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}#emote-menu-button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKUSURBVDhPfZTNi1JRGMZvMIsWUZts5SIXFYK0CME/IGghxVC7WUoU1NBixI+mRSD4MQzmxziKO3XUBhRmUGZKdBG40XEGU6d0GFGZcT4qxW1hi7fzvNwZqKwDD5z7vs/vueeee+6VMJxO5wUhhdvtfuHz+T4tLS2NhegfGsMDLxiwHIIhLi57PJ75VCr1Y39/n4bDIY1Go4lCDx54wYCVYzjoVjQa/dxutyfCkwSvYJpgOSQf708tuBa1yWRy/L+V/Cl4wYBFhhTxfLhum/esiiJ1u12KRCJksVhofX2dTk5OzkHMUUMPHnjB2F55VpEhPde/Lbx8FqBEIkHpdJoMBgNptVrS6XRUqVTOg7a3t2lmZob0ej2p1Wr2ggGLDOnJ3QSZH4coHo/TysoKhygUCtJoNFQsFmkwGLAwR7hSqSSVSsVeMGCRIT29F6fXJi8Xy+Uymc1mmp6eJofDQfV6nU5PT1mY2+127uHxSqUSh4FFhhQLvrvtcrm+YpkHBwdUrVZpa2uLarUadTodOjw8ZGGOGnrwwAsGLDLw1i4uLrzRYeOOj49pb2+Pdnd3qdVq8StGAIQ5ao1Ggz3wggGLDD4C4izcEcWfR0dHbMrlcrSxscGbjVAIK8lms7S5ucmB/X6fXz9YDsEQFzdjsVit2Wzyqc1kMrwfVquVjEYjzc3NkclkIpvNRmtra+yBVzAfBXtDjuGgS8FgcFbc8QvuhjNSKBQoFAqR6LFEn/L5PPfggXd5eXkWrBzDQdC1QCBgFoeut7Ozw/tyBp2FQzhPwtOFFwzY34Yo4A9wRXzdD8LhcE48wncE9no9Fuaoid574bkPLxgZ/3uI5pTQVfFlP/L7/Wmhb7JSXq/3IXrwyHZ5SNIvGCnqyh+J7+gAAAAASUVORK5CYII=)!important;background-position:50%;background-repeat:no-repeat;cursor:pointer;height:30px;width:30px}#emote-menu-button:focus{box-shadow:none}#emote-menu-button.active{box-shadow:0 0 6px 0 #7d5bbe,inset 0 0 0 1px rgba(100,65,164,.5)}.emote-menu{padding:5px;z-index:1000;display:none;background-color:#202020;position:absolute}.emote-menu a{color:#fff}.emote-menu a:hover{cursor:pointer;text-decoration:underline;color:#ccc}.emote-menu .emotes-starred{height:38px}.emote-menu .draggable{background-image:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(255,255,255,.05) 5px,rgba(255,255,255,.05) 10px);cursor:move;height:7px;margin-bottom:3px}.emote-menu .draggable:hover{background-image:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(255,255,255,.1) 5px,rgba(255,255,255,.1) 10px)}.emote-menu .header-info{border-top:1px solid #000;box-shadow:0 1px 0 rgba(255,255,255,.05) inset;background-image:linear-gradient(to top,transparent,rgba(0,0,0,.5));padding:2px;color:#ddd;text-align:center;position:relative}.emote-menu .header-info img{margin-right:8px}.emote-menu .emote{display:inline-block;padding:2px;margin:1px;cursor:pointer;border-radius:5px;text-align:center;position:relative;width:30px;height:30px;transition:all .25s ease;border:1px solid transparent}.emote-menu.editing .emote{cursor:auto}.emote-menu .emote img{max-width:100%;max-height:100%;margin:auto;position:absolute;top:0;bottom:0;left:0;right:0}.emote-menu .single-row .emote-container{overflow:hidden;height:37px}.emote-menu .single-row .emote{display:inline-block;margin-bottom:100px}.emote-menu .emote:hover{background-color:rgba(255,255,255,.1)}.emote-menu .pull-left{float:left}.emote-menu .pull-right{float:right}.emote-menu .footer{text-align:center;border-top:1px solid #000;box-shadow:0 1px 0 rgba(255,255,255,.05) inset;padding:5px 0 2px;margin-top:5px;height:18px}.emote-menu .footer .pull-left{margin-right:5px}.emote-menu .footer .pull-right{margin-left:5px}.emote-menu .icon{height:16px;width:16px;opacity:.5;background-size:contain!important}.emote-menu .icon:hover{opacity:1}.emote-menu .icon-home{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IS0tIENyZWF0ZWQgd2l0aCBJbmtzY2FwZSAoaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvKSAtLT4NCg0KPHN2Zw0KICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIg0KICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyINCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyINCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB2ZXJzaW9uPSIxLjEiDQogICB3aWR0aD0iNjQiDQogICBoZWlnaHQ9IjY0Ig0KICAgdmlld0JveD0iMCAwIDY0IDY0Ig0KICAgaWQ9IkNhcGFfMSINCiAgIHhtbDpzcGFjZT0icHJlc2VydmUiPjxtZXRhZGF0YQ0KICAgaWQ9Im1ldGFkYXRhMzAwMSI+PHJkZjpSREY+PGNjOldvcmsNCiAgICAgICByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUNCiAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PGRjOnRpdGxlPjwvZGM6dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzDQogICBpZD0iZGVmczI5OTkiIC8+DQo8cGF0aA0KICAgZD0ibSA1Ny4wNjIsMzEuMzk4IGMgMC45MzIsLTEuMDI1IDAuODQyLC0yLjU5NiAtMC4yMDEsLTMuNTA4IEwgMzMuODg0LDcuNzg1IEMgMzIuODQxLDYuODczIDMxLjE2OSw2Ljg5MiAzMC4xNDgsNy44MjggTCA3LjA5MywyOC45NjIgYyAtMS4wMjEsMC45MzYgLTEuMDcxLDIuNTA1IC0wLjExMSwzLjUwMyBsIDAuNTc4LDAuNjAyIGMgMC45NTksMC45OTggMi41MDksMS4xMTcgMy40NiwwLjI2NSBsIDEuNzIzLC0xLjU0MyB2IDIyLjU5IGMgMCwxLjM4NiAxLjEyMywyLjUwOCAyLjUwOCwyLjUwOCBoIDguOTg3IGMgMS4zODUsMCAyLjUwOCwtMS4xMjIgMi41MDgsLTIuNTA4IFYgMzguNTc1IGggMTEuNDYzIHYgMTUuODA0IGMgLTAuMDIsMS4zODUgMC45NzEsMi41MDcgMi4zNTYsMi41MDcgaCA5LjUyNCBjIDEuMzg1LDAgMi41MDgsLTEuMTIyIDIuNTA4LC0yLjUwOCBWIDMyLjEwNyBjIDAsMCAwLjQ3NiwwLjQxNyAxLjA2MywwLjkzMyAwLjU4NiwwLjUxNSAxLjgxNywwLjEwMiAyLjc0OSwtMC45MjQgbCAwLjY1MywtMC43MTggeiINCiAgIGlkPSJwYXRoMjk5NSINCiAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQo8L3N2Zz4=) 50% no-repeat}.emote-menu .icon-gear{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IS0tIENyZWF0ZWQgd2l0aCBJbmtzY2FwZSAoaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvKSAtLT4NCg0KPHN2Zw0KICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIg0KICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyINCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyINCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB2ZXJzaW9uPSIxLjEiDQogICB3aWR0aD0iMjEuNTkiDQogICBoZWlnaHQ9IjIxLjEzNjk5OSINCiAgIHZpZXdCb3g9IjAgMCAyMS41OSAyMS4xMzciDQogICBpZD0iQ2FwYV8xIg0KICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PG1ldGFkYXRhDQogICBpZD0ibWV0YWRhdGEzOSI+PHJkZjpSREY+PGNjOldvcmsNCiAgICAgICByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUNCiAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PGRjOnRpdGxlPjwvZGM6dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzDQogICBpZD0iZGVmczM3IiAvPg0KPHBhdGgNCiAgIGQ9Ik0gMTguNjIyLDguMTQ1IDE4LjA3Nyw2Ljg1IGMgMCwwIDEuMjY4LC0yLjg2MSAxLjE1NiwtMi45NzEgTCAxNy41NTQsMi4yNCBDIDE3LjQzOCwyLjEyNyAxNC41NzYsMy40MzMgMTQuNTc2LDMuNDMzIEwgMTMuMjU2LDIuOSBDIDEzLjI1NiwyLjkgMTIuMDksMCAxMS45MywwIEggOS41NjEgQyA5LjM5NiwwIDguMzE3LDIuOTA2IDguMzE3LDIuOTA2IEwgNi45OTksMy40NDEgYyAwLDAgLTIuOTIyLC0xLjI0MiAtMy4wMzQsLTEuMTMxIEwgMi4yODksMy45NTEgQyAyLjE3Myw0LjA2NCAzLjUwNyw2Ljg2NyAzLjUwNyw2Ljg2NyBMIDIuOTYyLDguMTYgQyAyLjk2Miw4LjE2IDAsOS4zMDEgMCw5LjQ1NSB2IDIuMzIyIGMgMCwwLjE2MiAyLjk2OSwxLjIxOSAyLjk2OSwxLjIxOSBsIDAuNTQ1LDEuMjkxIGMgMCwwIC0xLjI2OCwyLjg1OSAtMS4xNTcsMi45NjkgbCAxLjY3OCwxLjY0MyBjIDAuMTE0LDAuMTExIDIuOTc3LC0xLjE5NSAyLjk3NywtMS4xOTUgbCAxLjMyMSwwLjUzNSBjIDAsMCAxLjE2NiwyLjg5OCAxLjMyNywyLjg5OCBoIDIuMzY5IGMgMC4xNjQsMCAxLjI0NCwtMi45MDYgMS4yNDQsLTIuOTA2IGwgMS4zMjIsLTAuNTM1IGMgMCwwIDIuOTE2LDEuMjQyIDMuMDI5LDEuMTMzIGwgMS42NzgsLTEuNjQxIGMgMC4xMTcsLTAuMTE1IC0xLjIyLC0yLjkxNiAtMS4yMiwtMi45MTYgbCAwLjU0NCwtMS4yOTMgYyAwLDAgMi45NjMsLTEuMTQzIDIuOTYzLC0xLjI5OSBWIDkuMzYgQyAyMS41OSw5LjE5OSAxOC42MjIsOC4xNDUgMTguNjIyLDguMTQ1IHogbSAtNC4zNjYsMi40MjMgYyAwLDEuODY3IC0xLjU1MywzLjM4NyAtMy40NjEsMy4zODcgLTEuOTA2LDAgLTMuNDYxLC0xLjUyIC0zLjQ2MSwtMy4zODcgMCwtMS44NjcgMS41NTUsLTMuMzg1IDMuNDYxLC0zLjM4NSAxLjkwOSwwLjAwMSAzLjQ2MSwxLjUxOCAzLjQ2MSwzLjM4NSB6Ig0KICAgaWQ9InBhdGgzIg0KICAgc3R5bGU9ImZpbGw6I0ZGRkZGRiIgLz4NCjxnDQogICBpZD0iZzUiPg0KPC9nPg0KPGcNCiAgIGlkPSJnNyI+DQo8L2c+DQo8Zw0KICAgaWQ9Imc5Ij4NCjwvZz4NCjxnDQogICBpZD0iZzExIj4NCjwvZz4NCjxnDQogICBpZD0iZzEzIj4NCjwvZz4NCjxnDQogICBpZD0iZzE1Ij4NCjwvZz4NCjxnDQogICBpZD0iZzE3Ij4NCjwvZz4NCjxnDQogICBpZD0iZzE5Ij4NCjwvZz4NCjxnDQogICBpZD0iZzIxIj4NCjwvZz4NCjxnDQogICBpZD0iZzIzIj4NCjwvZz4NCjxnDQogICBpZD0iZzI1Ij4NCjwvZz4NCjxnDQogICBpZD0iZzI3Ij4NCjwvZz4NCjxnDQogICBpZD0iZzI5Ij4NCjwvZz4NCjxnDQogICBpZD0iZzMxIj4NCjwvZz4NCjxnDQogICBpZD0iZzMzIj4NCjwvZz4NCjwvc3ZnPg0K) 50% no-repeat}.emote-menu.editing .icon-gear{-webkit-animation:spin 4s linear infinite;animation:spin 4s linear infinite}.emote-menu .icon-resize-handle{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IS0tIENyZWF0ZWQgd2l0aCBJbmtzY2FwZSAoaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvKSAtLT4NCg0KPHN2Zw0KICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIg0KICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyINCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyINCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB2ZXJzaW9uPSIxLjEiDQogICB3aWR0aD0iMTYiDQogICBoZWlnaHQ9IjE2Ig0KICAgdmlld0JveD0iMCAwIDE2IDE2Ig0KICAgaWQ9IkNhcGFfMSINCiAgIHhtbDpzcGFjZT0icHJlc2VydmUiPjxtZXRhZGF0YQ0KICAgaWQ9Im1ldGFkYXRhNDM1NyI+PHJkZjpSREY+PGNjOldvcmsNCiAgICAgICByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUNCiAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PGRjOnRpdGxlPjwvZGM6dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzDQogICBpZD0iZGVmczQzNTUiIC8+DQo8cGF0aA0KICAgZD0iTSAxMy41LDggQyAxMy4yMjUsOCAxMyw4LjIyNCAxMyw4LjUgdiAzLjc5MyBMIDMuNzA3LDMgSCA3LjUgQyA3Ljc3NiwzIDgsMi43NzYgOCwyLjUgOCwyLjIyNCA3Ljc3NiwyIDcuNSwyIGggLTUgTCAyLjMwOSwyLjAzOSAyLjE1LDIuMTQ0IDIuMTQ2LDIuMTQ2IDIuMTQzLDIuMTUyIDIuMDM5LDIuMzA5IDIsMi41IHYgNSBDIDIsNy43NzYgMi4yMjQsOCAyLjUsOCAyLjc3Niw4IDMsNy43NzYgMyw3LjUgViAzLjcwNyBMIDEyLjI5MywxMyBIIDguNSBDIDguMjI0LDEzIDgsMTMuMjI1IDgsMTMuNSA4LDEzLjc3NSA4LjIyNCwxNCA4LjUsMTQgaCA1IGwgMC4xOTEsLTAuMDM5IGMgMC4xMjEsLTAuMDUxIDAuMjIsLTAuMTQ4IDAuMjcsLTAuMjcgTCAxNCwxMy41MDIgViA4LjUgQyAxNCw4LjIyNCAxMy43NzUsOCAxMy41LDggeiINCiAgIGlkPSJwYXRoNDM1MSINCiAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQo8L3N2Zz4=) 50% no-repeat;cursor:nwse-resize!important}.emote-menu .icon-pin{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IS0tIENyZWF0ZWQgd2l0aCBJbmtzY2FwZSAoaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvKSAtLT4NCg0KPHN2Zw0KICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIg0KICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyINCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyINCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB2ZXJzaW9uPSIxLjEiDQogICB3aWR0aD0iMTYiDQogICBoZWlnaHQ9IjE2Ig0KICAgaWQ9InN2ZzMwMDUiPg0KICA8bWV0YWRhdGENCiAgICAgaWQ9Im1ldGFkYXRhMzAyMyI+DQogICAgPHJkZjpSREY+DQogICAgICA8Y2M6V29yaw0KICAgICAgICAgcmRmOmFib3V0PSIiPg0KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4NCiAgICAgICAgPGRjOnR5cGUNCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4NCiAgICAgICAgPGRjOnRpdGxlPjwvZGM6dGl0bGU+DQogICAgICA8L2NjOldvcms+DQogICAgPC9yZGY6UkRGPg0KICA8L21ldGFkYXRhPg0KICA8ZGVmcw0KICAgICBpZD0iZGVmczMwMjEiIC8+DQogIDxnDQogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuNzkzMDc4MiwwLDAsMC43OTMwNzgyLC0yLjE3MDk4NSwtODE0LjY5Mjk5KSINCiAgICAgaWQ9ImczMDA3Ij4NCiAgICA8Zw0KICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuNzA3MTEsMC43MDcxMSwtMC43MDcxMSwwLjcwNzExLDczNy43MDc1NSwyOTUuNDg4MDgpIg0KICAgICAgIGlkPSJnMzAwOSI+DQogICAgICA8Zw0KICAgICAgICAgaWQ9ImczNzU1Ij4NCiAgICAgICAgPHBhdGgNCiAgICAgICAgICAgZD0iTSA5Ljc4MTI1LDAgQyA5LjQ3NDA1NjIsMC42ODkxMTIgOS41MjA2OCwxLjUyMzA4NTMgOS4zMTI1LDIuMTg3NSBMIDQuOTM3NSw2LjU5Mzc1IEMgMy45NTg5NjA4LDYuNDI5NDgzIDIuOTQ3NzU0OCw2LjUzMjc4OTkgMiw2LjgxMjUgTCA1LjAzMTI1LDkuODQzNzUgMC41NjI1LDE0LjMxMjUgMCwxNiBDIDAuNTY5Mjk2MjgsMTUuNzk1NjI2IDEuMTY3NzM3OCwxNS42NDAyMzcgMS43MTg3NSwxNS40MDYyNSBMIDYuMTU2MjUsMTAuOTY4NzUgOS4xODc1LDE0IGMgMC4yNzk2ODIzLC0wLjk0Nzc4MyAwLjM4MzE1MjgsLTEuOTU4OTM3IDAuMjE4NzUsLTIuOTM3NSAxLjUwMDAxMSwtMS40ODk1Nzk4IDMuMDAwMDAxLC0yLjk3OTE1OSA0LjUsLTQuNDY4NzUgMC42MDExMDIsLTAuMDMxMzYxIDEuODIyMTM4LC0wLjA5NjEzNyAyLC0wLjQ2ODc1IEMgMTMuODc5ODkyLDQuMDY5NDgwMyAxMS44NDI4NjUsMi4wMjAyMjgyIDkuNzgxMjUsMCB6Ig0KICAgICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjg5MTU5Mzc0LC0wLjg5MTU5Mzc0LDAuODkxNTkzNzQsMC44OTE1OTM3NCwtMi4yNjU1LDEwMzcuMTM0NSkiDQogICAgICAgICAgIGlkPSJwYXRoMzAxMSINCiAgICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MSIgLz4NCiAgICAgIDwvZz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPg0K) 50% no-repeat;transition:all .25s ease}.emote-menu .icon-pin:hover,.emote-menu.pinned .icon-pin{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:1}.emote-menu .edit-tool{background-position:50%;background-repeat:no-repeat;background-size:14px;border-radius:4px;border:1px solid #000;cursor:pointer;display:none;height:14px;opacity:.25;position:absolute;transition:all .25s ease;width:14px;z-index:1}.emote-menu .edit-tool:hover,.emote-menu .emote:hover .edit-tool{opacity:1}.emote-menu .edit-visibility{background-color:#00c800;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IS0tIENyZWF0ZWQgd2l0aCBJbmtzY2FwZSAoaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvKSAtLT4NCg0KPHN2Zw0KICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIg0KICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyINCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyINCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB2ZXJzaW9uPSIxLjEiDQogICB3aWR0aD0iMTAwIg0KICAgaGVpZ2h0PSIxMDAiDQogICB2aWV3Qm94PSIwIDAgMTAwIDEwMCINCiAgIGlkPSJMYXllcl8xIg0KICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PG1ldGFkYXRhDQogICBpZD0ibWV0YWRhdGE5Ij48cmRmOlJERj48Y2M6V29yaw0KICAgICAgIHJkZjphYm91dD0iIj48ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZQ0KICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz48ZGM6dGl0bGU+PC9kYzp0aXRsZT48L2NjOldvcms+PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGRlZnMNCiAgIGlkPSJkZWZzNyIgLz4NCjxwYXRoDQogICBkPSJNIDk3Ljk2NCw0Ni41NDggQyA5Ny4wOTgsNDUuNTI4IDc2LjQyNywyMS42MDMgNTAsMjEuNjAzIGMgLTI2LjQyNywwIC00Ny4wOTgsMjMuOTI1IC00Ny45NjUsMjQuOTQ2IC0xLjcwMSwyIC0xLjcwMSw0LjkwMiAxMGUtNCw2LjkwMyAwLjg2NiwxLjAyIDIxLjUzNywyNC45NDUgNDcuOTY0LDI0Ljk0NSAyNi40MjcsMCA0Ny4wOTgsLTIzLjkyNiA0Ny45NjUsLTI0Ljk0NiAxLjcwMSwtMiAxLjcwMSwtNC45MDIgLTAuMDAxLC02LjkwMyB6IE0gNTguMDczLDM1Ljk3NSBjIDEuNzc3LC0wLjk3IDQuMjU1LDAuMTQzIDUuNTM0LDIuNDg1IDEuMjc5LDIuMzQzIDAuODc1LDUuMDI5IC0wLjkwMiw1Ljk5OSAtMS43NzcsMC45NzEgLTQuMjU1LC0wLjE0MyAtNS41MzUsLTIuNDg1IC0xLjI3OSwtMi4zNDMgLTAuODc1LC01LjAyOSAwLjkwMywtNS45OTkgeiBNIDUwLDY5LjcyOSBDIDMxLjU0LDY5LjcyOSAxNi4wMDUsNTUuNTUzIDEwLjYyOCw1MCAxNC4yNTksNDYuMjQ5IDIyLjUyNiwzOC41NzEgMzMuMTk1LDMzLjk3OSAzMS4xMTQsMzcuMTQ1IDI5Ljg5NCw0MC45MjggMjkuODk0LDQ1IGMgMCwxMS4xMDQgOS4wMDEsMjAuMTA1IDIwLjEwNSwyMC4xMDUgMTEuMTA0LDAgMjAuMTA2LC05LjAwMSAyMC4xMDYsLTIwLjEwNSAwLC00LjA3MiAtMS4yMTksLTcuODU1IC0zLjMsLTExLjAyMSBDIDc3LjQ3NCwzOC41NzIgODUuNzQxLDQ2LjI1IDg5LjM3Miw1MCA4My45OTUsNTUuNTU1IDY4LjQ2LDY5LjcyOSA1MCw2OS43MjkgeiINCiAgIGlkPSJwYXRoMyIgLz4NCjwvc3ZnPg==)}.emote-menu .edit-starred{background-color:#323232;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IS0tIENyZWF0ZWQgd2l0aCBJbmtzY2FwZSAoaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvKSAtLT4NCg0KPHN2Zw0KICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIg0KICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyINCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyINCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB2ZXJzaW9uPSIxLjEiDQogICB3aWR0aD0iNTAiDQogICBoZWlnaHQ9IjUwIg0KICAgdmlld0JveD0iMCAwIDUwIDUwIg0KICAgaWQ9IkxheWVyXzEiDQogICB4bWw6c3BhY2U9InByZXNlcnZlIj48bWV0YWRhdGENCiAgIGlkPSJtZXRhZGF0YTMwMDEiPjxyZGY6UkRGPjxjYzpXb3JrDQogICAgICAgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PjxkYzp0eXBlDQogICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPjxkYzp0aXRsZT48L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0YT48ZGVmcw0KICAgaWQ9ImRlZnMyOTk5IiAvPg0KPHBhdGgNCiAgIGQ9Im0gNDMuMDQsMjIuNjk2IC03LjU2OCw3LjM3NyAxLjc4NywxMC40MTcgYyAwLjEyNywwLjc1IC0wLjE4MiwxLjUwOSAtMC43OTcsMS45NTcgLTAuMzQ4LDAuMjUzIC0wLjc2MiwwLjM4MiAtMS4xNzYsMC4zODIgLTAuMzE4LDAgLTAuNjM4LC0wLjA3NiAtMC45MzEsLTAuMjMgTCAyNSwzNy42ODEgMTUuNjQ1LDQyLjU5OSBjIC0wLjY3NCwwLjM1NSAtMS40OSwwLjI5NSAtMi4xMDcsLTAuMTUxIEMgMTIuOTIzLDQyIDEyLjYxNCw0MS4yNDIgMTIuNzQzLDQwLjQ5MSBMIDE0LjUzLDMwLjA3NCA2Ljk2MiwyMi42OTcgQyA2LjQxNSwyMi4xNjYgNi4yMjEsMjEuMzcxIDYuNDU0LDIwLjY0NyA2LjY5LDE5LjkyMyA3LjMxNSwxOS4zOTYgOC4wNjksMTkuMjg2IGwgMTAuNDU5LC0xLjUyMSA0LjY4LC05LjQ3OCBDIDIzLjU0Myw3LjYwMyAyNC4yMzksNy4xNzEgMjUsNy4xNzEgYyAwLjc2MywwIDEuNDU2LDAuNDMyIDEuNzkzLDEuMTE1IGwgNC42NzksOS40NzggMTAuNDYxLDEuNTIxIGMgMC43NTIsMC4xMDkgMS4zNzksMC42MzcgMS42MTIsMS4zNjEgMC4yMzcsMC43MjQgMC4wMzgsMS41MTkgLTAuNTA1LDIuMDUgeiINCiAgIGlkPSJwYXRoMjk5NSINCiAgIHN0eWxlPSJmaWxsOiNjY2NjY2M7ZmlsbC1vcGFjaXR5OjEiIC8+DQo8L3N2Zz4NCg==)}.emote-menu .emote>.edit-visibility{bottom:auto;left:auto;right:0;top:0}.emote-menu .emote>.edit-starred{bottom:auto;left:0;right:auto;top:0}.emote-menu .header-info>.edit-tool{margin-left:5px}.emote-menu.editing .edit-tool{display:inline-block}.emote-menu .emote-menu-hidden .edit-visibility{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IS0tIENyZWF0ZWQgd2l0aCBJbmtzY2FwZSAoaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvKSAtLT4NCg0KPHN2Zw0KICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIg0KICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyINCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyINCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB2ZXJzaW9uPSIxLjEiDQogICB3aWR0aD0iMTAwIg0KICAgaGVpZ2h0PSIxMDAiDQogICB2aWV3Qm94PSIwIDAgMTAwIDEwMCINCiAgIGlkPSJMYXllcl8zIg0KICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PG1ldGFkYXRhDQogICBpZD0ibWV0YWRhdGExNSI+PHJkZjpSREY+PGNjOldvcmsNCiAgICAgICByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUNCiAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PGRjOnRpdGxlPjwvZGM6dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzDQogICBpZD0iZGVmczEzIiAvPg0KPGcNCiAgIGlkPSJnMyI+DQoJPHBhdGgNCiAgIGQ9Ik0gNzAuMDgyLDQ1LjQ3NSA1MC40NzQsNjUuMDgyIEMgNjEuMTk4LDY0LjgzMSA2OS44MzEsNTYuMTk3IDcwLjA4Miw0NS40NzUgeiINCiAgIGlkPSJwYXRoNSINCiAgIHN0eWxlPSJmaWxsOiNGRkZGRkYiIC8+DQoJPHBhdGgNCiAgIGQ9Im0gOTcuOTY0LDQ2LjU0OCBjIC0wLjQ1LC0wLjUyOSAtNi4yNDUsLTcuMjMgLTE1LjQwMywtMTMuNTU0IGwgLTYuMiw2LjIgQyA4Mi4zNTEsNDMuMTQ4IDg2LjkyLDQ3LjQ2OSA4OS4zNzIsNTAgODMuOTk1LDU1LjU1NSA2OC40Niw2OS43MjkgNTAsNjkuNzI5IGMgLTEuMzM0LDAgLTIuNjUxLC0wLjA4MiAtMy45NTIsLTAuMjIyIGwgLTcuNDM5LDcuNDM5IGMgMy42MzksMC45MDkgNy40NDksMS40NSAxMS4zOTEsMS40NSAyNi40MjcsMCA0Ny4wOTgsLTIzLjkyNiA0Ny45NjUsLTI0Ljk0NiAxLjcwMSwtMS45OTkgMS43MDEsLTQuOTAxIC0wLjAwMSwtNi45MDIgeiINCiAgIGlkPSJwYXRoNyINCiAgIHN0eWxlPSJmaWxsOiNGRkZGRkYiIC8+DQoJPHBhdGgNCiAgIGQ9Im0gOTEuNDExLDE2LjY2IGMgMCwtMC4yNjYgLTAuMTA1LC0wLjUyIC0wLjI5MywtMC43MDcgbCAtNy4wNzEsLTcuMDcgYyAtMC4zOTEsLTAuMzkxIC0xLjAyMywtMC4zOTEgLTEuNDE0LDAgTCA2Ni44MDQsMjQuNzExIEMgNjEuNjAyLDIyLjgxOCA1NS45NDksMjEuNjAzIDUwLDIxLjYwMyBjIC0yNi40MjcsMCAtNDcuMDk4LDIzLjkyNiAtNDcuOTY1LDI0Ljk0NiAtMS43MDEsMiAtMS43MDEsNC45MDIgMTBlLTQsNi45MDMgMC41MTcsMC42MDcgOC4wODMsOS4zNTQgMTkuNzA3LDE2LjMyIEwgOC44ODMsODIuNjMyIEMgOC42OTUsODIuODIgOC41OSw4My4wNzMgOC41OSw4My4zMzkgYyAwLDAuMjY2IDAuMTA1LDAuNTIgMC4yOTMsMC43MDcgbCA3LjA3MSw3LjA3IGMgMC4xOTUsMC4xOTUgMC40NTEsMC4yOTMgMC43MDcsMC4yOTMgMC4yNTYsMCAwLjUxMiwtMC4wOTggMC43MDcsLTAuMjkzIGwgNzMuNzUsLTczLjc1IGMgMC4xODcsLTAuMTg2IDAuMjkzLC0wLjQ0IDAuMjkzLC0wLjcwNiB6IE0gMTAuNjI4LDUwIEMgMTQuMjU5LDQ2LjI0OSAyMi41MjYsMzguNTcxIDMzLjE5NSwzMy45NzkgMzEuMTE0LDM3LjE0NSAyOS44OTQsNDAuOTI4IDI5Ljg5NCw0NSBjIDAsNC42NjUgMS42MDEsOC45NDUgNC4yNywxMi4zNTEgTCAyOC4wNCw2My40NzUgQyAxOS44ODgsNTguOTU1IDEzLjY0OSw1My4xMiAxMC42MjgsNTAgeiINCiAgIGlkPSJwYXRoOSINCiAgIHN0eWxlPSJmaWxsOiNGRkZGRkYiIC8+DQo8L2c+DQo8L3N2Zz4NCg==);background-color:red}.emote-menu .emote-menu-starred .edit-starred{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IS0tIENyZWF0ZWQgd2l0aCBJbmtzY2FwZSAoaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvKSAtLT4NCg0KPHN2Zw0KICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIg0KICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyINCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyINCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB2ZXJzaW9uPSIxLjEiDQogICB3aWR0aD0iNTAiDQogICBoZWlnaHQ9IjUwIg0KICAgdmlld0JveD0iMCAwIDUwIDUwIg0KICAgaWQ9IkxheWVyXzEiDQogICB4bWw6c3BhY2U9InByZXNlcnZlIj48bWV0YWRhdGENCiAgIGlkPSJtZXRhZGF0YTMwMDEiPjxyZGY6UkRGPjxjYzpXb3JrDQogICAgICAgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PjxkYzp0eXBlDQogICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPjxkYzp0aXRsZT48L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0YT48ZGVmcw0KICAgaWQ9ImRlZnMyOTk5IiAvPg0KPHBhdGgNCiAgIGQ9Im0gNDMuMDQsMjIuNjk2IC03LjU2OCw3LjM3NyAxLjc4NywxMC40MTcgYyAwLjEyNywwLjc1IC0wLjE4MiwxLjUwOSAtMC43OTcsMS45NTcgLTAuMzQ4LDAuMjUzIC0wLjc2MiwwLjM4MiAtMS4xNzYsMC4zODIgLTAuMzE4LDAgLTAuNjM4LC0wLjA3NiAtMC45MzEsLTAuMjMgTCAyNSwzNy42ODEgMTUuNjQ1LDQyLjU5OSBjIC0wLjY3NCwwLjM1NSAtMS40OSwwLjI5NSAtMi4xMDcsLTAuMTUxIEMgMTIuOTIzLDQyIDEyLjYxNCw0MS4yNDIgMTIuNzQzLDQwLjQ5MSBMIDE0LjUzLDMwLjA3NCA2Ljk2MiwyMi42OTcgQyA2LjQxNSwyMi4xNjYgNi4yMjEsMjEuMzcxIDYuNDU0LDIwLjY0NyA2LjY5LDE5LjkyMyA3LjMxNSwxOS4zOTYgOC4wNjksMTkuMjg2IGwgMTAuNDU5LC0xLjUyMSA0LjY4LC05LjQ3OCBDIDIzLjU0Myw3LjYwMyAyNC4yMzksNy4xNzEgMjUsNy4xNzEgYyAwLjc2MywwIDEuNDU2LDAuNDMyIDEuNzkzLDEuMTE1IGwgNC42NzksOS40NzggMTAuNDYxLDEuNTIxIGMgMC43NTIsMC4xMDkgMS4zNzksMC42MzcgMS42MTIsMS4zNjEgMC4yMzcsMC43MjQgMC4wMzgsMS41MTkgLTAuNTA1LDIuMDUgeiINCiAgIGlkPSJwYXRoMjk5NSINCiAgIHN0eWxlPSJmaWxsOiNmZmNjMDA7ZmlsbC1vcGFjaXR5OjEiIC8+DQo8L3N2Zz4NCg==)}.emote-menu .emote.emote-menu-starred{border-color:rgba(200,200,0,.5)}.emote-menu .emote.emote-menu-hidden{border-color:rgba(255,0,0,.5)}.emote-menu #starred-emotes-group .emote:not(.emote-menu-starred),.emote-menu:not(.editing) .emote-menu-hidden{display:none}.emote-menu:not(.editing) #starred-emotes-group .emote-menu-starred{border-color:transparent}.emote-menu #starred-emotes-group{text-align:center;color:#646464}.emote-menu #starred-emotes-group:empty:before{content:"Use the edit mode to star an emote!";position:relative;top:8px}.emote-menu .scrollable{height:calc(100% - 101px);overflow-y:auto}.emote-menu .sticky{position:absolute;bottom:0;width:100%}.emote-menu .emote-menu-inner{position:relative;max-height:100%;height:100%}')
},{}],3:[function(e,t){t.exports=function(){var t=e("hogan.js/lib/template.js"),o={};return o.emote=new t.Template({code:function(e,t,o){var l=this;return l.b(o=o||""),l.b('<div class="emote'),l.s(l.f("thirdParty",e,t,1),e,t,0,32,44,"{{ }}")&&(l.rs(e,t,function(e,t,o){o.b(" third-party")}),e.pop()),l.s(l.f("isVisible",e,t,1),e,t,1,0,0,"")||l.b(" emote-menu-hidden"),l.s(l.f("isStarred",e,t,1),e,t,0,119,138,"{{ }}")&&(l.rs(e,t,function(e,t,o){o.b(" emote-menu-starred")}),e.pop()),l.b('" data-emote="'),l.b(l.v(l.f("text",e,t,0))),l.b('" title="'),l.b(l.v(l.f("text",e,t,0))),l.s(l.f("thirdParty",e,t,1),e,t,0,206,229,"{{ }}")&&(l.rs(e,t,function(e,t,o){o.b(" (from 3rd party addon)")}),e.pop()),l.b('">\r'),l.b("\n"+o),l.b(' <img src="'),l.b(l.t(l.f("url",e,t,0))),l.b('">\r'),l.b("\n"+o),l.b(' <div class="edit-tool edit-starred" data-which="'),l.b(l.v(l.f("text",e,t,0))),l.b('" data-command="toggle-starred" title="Star/unstar emote: '),l.b(l.v(l.f("text",e,t,0))),l.b('"></div>\r'),l.b("\n"+o),l.b(' <div class="edit-tool edit-visibility" data-which="'),l.b(l.v(l.f("text",e,t,0))),l.b('" data-command="toggle-visibility" title="Hide/show emote: '),l.b(l.v(l.f("text",e,t,0))),l.b('"></div>\r'),l.b("\n"+o),l.b("</div>\r"),l.b("\n"),l.fl()},partials:{},subs:{}}),o.emoteButton=new t.Template({code:function(e,t,o){var l=this;return l.b(o=o||""),l.b('<button class="button button--icon-only float-left" title="Emote Menu" id="emote-menu-button"></button>\r'),l.b("\n"),l.fl()},partials:{},subs:{}}),o.emoteGroupHeader=new t.Template({code:function(e,t,o){var l=this;return l.b(o=o||""),l.b('<div class="group-header" data-emote-channel="'),l.b(l.v(l.f("channel",e,t,0))),l.b('">\r'),l.b("\n"+o),l.b(' <div class="header-info">\r'),l.b("\n"+o),l.b(' <img src="'),l.b(l.v(l.f("badge",e,t,0))),l.b('" />\r'),l.b("\n"+o),l.b(" "),l.b(l.v(l.f("channelDisplayName",e,t,0))),l.b("\r"),l.b("\n"+o),l.b(' <div class="edit-tool edit-visibility" data-which="channel-'),l.b(l.v(l.f("channel",e,t,0))),l.b('" data-command="toggle-visibility" title="Hide/show current emotes for '),l.b(l.v(l.f("channelDisplayName",e,t,0))),l.b(' (note: new emotes will still show up if they are added)"></div>\r'),l.b("\n"+o),l.b(" </div>\r"),l.b("\n"+o),l.b(' <div class="emote-container"></div>\r'),l.b("\n"+o),l.b("</div>\r"),l.b("\n"),l.fl()},partials:{},subs:{}}),o.menu=new t.Template({code:function(e,t,o){var l=this;return l.b(o=o||""),l.b('<div class="emote-menu" id="emote-menu-for-twitch">\r'),l.b("\n"+o),l.b(' <div class="emote-menu-inner">\r'),l.b("\n"+o),l.b("\r"),l.b("\n"+o),l.b(' <div class="draggable"></div>\r'),l.b("\n"+o),l.b("\r"),l.b("\n"+o),l.b(' <div class="scrollable scrollbar-macosx">\r'),l.b("\n"+o),l.b(' <div class="group-container" id="all-emotes-group"></div>\r'),l.b("\n"+o),l.b(" </div>\r"),l.b("\n"+o),l.b("\r"),l.b("\n"+o),l.b(' <div class="sticky">\r'),l.b("\n"+o),l.b(' <div class="group-header single-row" id="starred-emotes-group">\r'),l.b("\n"+o),l.b(' <div class="header-info">Favorite Emotes</div>\r'),l.b("\n"+o),l.b(' <div class="emote-container"></div>\r'),l.b("\n"+o),l.b(" </div>\r"),l.b("\n"+o),l.b("\r"),l.b("\n"+o),l.b(' <div class="footer">\r'),l.b("\n"+o),l.b(' <a class="pull-left icon icon-home" href="http://cletusc.github.io/Userscript--Twitch-Chat-Emotes" target="_blank" title="Visit the homepage where you can donate, post a review, or contact the developer"></a>\r'),l.b("\n"+o),l.b(' <a class="pull-left icon icon-gear" data-command="toggle-editing" title="Toggle edit mode"></a>\r'),l.b("\n"+o),l.b(' <a class="pull-right icon icon-resize-handle" data-command="resize-handle"></a>\r'),l.b("\n"+o),l.b(' <a class="pull-right icon icon-pin" data-command="toggle-pinned" title="Pin/unpin the emote menu to the screen"></a>\r'),l.b("\n"+o),l.b(" </div>\r"),l.b("\n"+o),l.b(" </div>\r"),l.b("\n"+o),l.b("\r"),l.b("\n"+o),l.b(" </div>\r"),l.b("\n"+o),l.b("</div>\r"),l.b("\n"),l.fl()},partials:{},subs:{}}),o.newsMessage=new t.Template({code:function(e,t,o){var l=this;return l.b(o=o||""),l.b("\r"),l.b("\n"+o),l.b('<div class="twitch-chat-emotes-news">\r'),l.b("\n"+o),l.b(" ["),l.b(l.v(l.f("scriptName",e,t,0))),l.b("] News: "),l.b(l.t(l.f("message",e,t,0))),l.b(' (<a href="#" data-command="twitch-chat-emotes:dismiss-news" data-news-id="'),l.b(l.v(l.f("id",e,t,0))),l.b('">Dismiss</a>)\r'),l.b("\n"+o),l.b("</div>\r"),l.b("\n"),l.fl()},partials:{},subs:{}}),o}()},{"hogan.js/lib/template.js":4}],4:[function(e,t,o){var l={};!function(e){function t(e,t,o){var l;return t&&"object"==typeof t&&(void 0!==t[e]?l=t[e]:o&&t.get&&"function"==typeof t.get&&(l=t.get(e))),l}function o(e,t,o,l,i,r){function s(){}function n(){}s.prototype=e,n.prototype=e.subs;var a,c=new s;c.subs=new n,c.subsText={},c.buf="",l=l||{},c.stackSubs=l,c.subsText=r;for(a in t)l[a]||(l[a]=t[a]);for(a in l)c.subs[a]=l[a];i=i||{},c.stackPartials=i;for(a in o)i[a]||(i[a]=o[a]);for(a in i)c.partials[a]=i[a];return c}function l(e){return String(null===e||void 0===e?"":e)}function i(e){return e=l(e),g.test(e)?e.replace(r,"&").replace(s,"<").replace(n,">").replace(a,"'").replace(c,"""):e}e.Template=function(e,t,o,l){e=e||{},this.r=e.code||this.r,this.c=o,this.options=l||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(){return""},v:i,t:l,render:function(e,t,o){return this.ri([e],t||{},o)},ri:function(e,t,o){return this.r(e,t,o)},ep:function(e,t){var l=this.partials[e],i=t[l.name];if(l.instance&&l.base==i)return l.instance;if("string"==typeof i){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;if(this.partials[e].base=i,l.subs){t.stackText||(t.stackText={});for(key in l.subs)t.stackText[key]||(t.stackText[key]=void 0!==this.activeSub&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=o(i,l.subs,l.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,o,l){var i=this.ep(e,o);return i?i.ri(t,o,l):""},rs:function(e,t,o){var l=e[e.length-1];if(!d(l))return o(e,t,this),void 0;for(var i=0;i<l.length;i++)e.push(l[i]),o(e,t,this),e.pop()},s:function(e,t,o,l,i,r,s){var n;return d(e)&&0===e.length?!1:("function"==typeof e&&(e=this.ms(e,t,o,l,i,r,s)),n=!!e,!l&&n&&t&&t.push("object"==typeof e?e:t[t.length-1]),n)},d:function(e,o,l,i){var r,s=e.split("."),n=this.f(s[0],o,l,i),a=this.options.modelGet,c=null;if("."===e&&d(o[o.length-2]))n=o[o.length-1];else for(var g=1;g<s.length;g++)r=t(s[g],n,a),void 0!==r?(c=n,n=r):n="";return i&&!n?!1:(i||"function"!=typeof n||(o.push(c),n=this.mv(n,o,l),o.pop()),n)},f:function(e,o,l,i){for(var r=!1,s=null,n=!1,a=this.options.modelGet,c=o.length-1;c>=0;c--)if(s=o[c],r=t(e,s,a),void 0!==r){n=!0;break}return n?(i||"function"!=typeof r||(r=this.mv(r,o,l)),r):i?!1:""},ls:function(e,t,o,i,r){var s=this.options.delimiters;return this.options.delimiters=r,this.b(this.ct(l(e.call(t,i)),t,o)),this.options.delimiters=s,!1},ct:function(e,t,o){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,o)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,o,l,i,r,s){var n,a=t[t.length-1],c=e.call(a);return"function"==typeof c?l?!0:(n=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,a,o,n.substring(i,r),s)):c},mv:function(e,t,o){var i=t[t.length-1],r=e.call(i);return"function"==typeof r?this.ct(l(r.call(i)),i,o):r},sub:function(e,t,o,l){var i=this.subs[e];i&&(this.activeSub=e,i(t,o,this,l),this.activeSub=!1)}};var r=/&/g,s=/</g,n=/>/g,a=/\'/g,c=/\"/g,g=/[&<>\"\']/,d=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}}("undefined"!=typeof o?o:l)},{}],5:[function(){!function(e,t,o){"use strict";function l(t){if(g.webkit&&!t)return{height:0,width:0};if(!g.data.outer){var o={border:"none","box-sizing":"content-box",height:"200px",margin:"0",padding:"0",width:"200px"};g.data.inner=e("<div>").css(e.extend({},o)),g.data.outer=e("<div>").css(e.extend({left:"-1000px",overflow:"scroll",position:"absolute",top:"-1000px"},o)).append(g.data.inner).appendTo("body")}return g.data.outer.scrollLeft(1e3).scrollTop(1e3),{height:Math.ceil(g.data.outer.offset().top-g.data.inner.offset().top||0),width:Math.ceil(g.data.outer.offset().left-g.data.inner.offset().left||0)}}function i(o,l){return e(t).on({"blur.scrollbar":function(){e(t).add("body").off(".scrollbar"),o&&o()},"dragstart.scrollbar":function(e){return e.preventDefault(),!1},"mouseup.scrollbar":function(){e(t).add("body").off(".scrollbar"),o&&o()}}),e("body").on({"selectstart.scrollbar":function(e){return e.preventDefault(),!1}}),l&&l.preventDefault(),!1}function r(){var e=l(!0);return!(e.height||e.width)}function s(e){var t=e.originalEvent;return t.axis&&t.axis===t.HORIZONTAL_AXIS?!1:t.wheelDeltaX?!1:!0}var n=!1,a=1,c="px",g={data:{},macosx:-1!==o.navigator.platform.toLowerCase().indexOf("mac"),mobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(o.navigator.userAgent),overlay:null,scroll:null,scrolls:[],webkit:/WebKit/.test(o.navigator.userAgent),log:n?function(t,l){var i=t;l&&"string"!=typeof t&&(i=[],e.each(t,function(e,t){i.push('"'+e+'": '+t)}),i=i.join(", ")),o.console&&o.console.log?o.console.log(i):alert(i)}:function(){}},d={autoScrollSize:!0,autoUpdate:!0,debug:!1,disableBodyScroll:!1,duration:200,ignoreMobile:!0,ignoreOverlay:!0,scrollStep:30,showArrows:!1,stepScrolling:!0,type:"simple",scrollx:null,scrolly:null,onDestroy:null,onInit:null,onScroll:null,onUpdate:null},m=function(t,i){g.scroll||(g.log("Init jQuery Scrollbar v0.2.6"),g.overlay=r(),g.scroll=l(),p(),e(o).resize(function(){var e=!1;if(g.scroll&&(g.scroll.height||g.scroll.width)){var t=l();(t.height!=g.scroll.height||t.width!=g.scroll.width)&&(g.scroll=t,e=!0)}p(e)})),this.container=t,this.options=e.extend({},d,o.jQueryScrollbarOptions||{}),this.scrollTo=null,this.scrollx={},this.scrolly={},this.init(i)};m.prototype={destroy:function(){if(this.wrapper){var o=this.container.scrollLeft(),l=this.container.scrollTop();this.container.insertBefore(this.wrapper).css({height:"",margin:""}).removeClass("scroll-content").removeClass("scroll-scrollx_visible").removeClass("scroll-scrolly_visible").off(".scrollbar").scrollLeft(o).scrollTop(l),this.scrollx.scrollbar.removeClass("scroll-scrollx_visible").find("div").andSelf().off(".scrollbar"),this.scrolly.scrollbar.removeClass("scroll-scrolly_visible").find("div").andSelf().off(".scrollbar"),this.wrapper.remove(),e(t).add("body").off(".scrollbar"),e.isFunction(this.options.onDestroy)&&this.options.onDestroy.apply(this,[this.container])}},getScrollbar:function(t){var o=this.options["scroll"+t],l={advanced:'<div class="scroll-element_corner"></div><div class="scroll-arrow scroll-arrow_less"></div><div class="scroll-arrow scroll-arrow_more"></div><div class="scroll-element_outer"> <div class="scroll-element_size"></div> <div class="scroll-element_inner-wrapper"> <div class="scroll-element_inner scroll-element_track"> <div class="scroll-element_inner-bottom"></div> </div> </div> <div class="scroll-bar"> <div class="scroll-bar_body"> <div class="scroll-bar_body-inner"></div> </div> <div class="scroll-bar_bottom"></div> <div class="scroll-bar_center"></div> </div></div>',simple:'<div class="scroll-element_outer"> <div class="scroll-element_size"></div> <div class="scroll-element_track"></div> <div class="scroll-bar"></div></div>'},i=l[this.options.type]?this.options.type:"advanced";return o=o?"string"==typeof o?e(o).appendTo(this.wrapper):e(o):e("<div>").addClass("scroll-element").html(l[i]).appendTo(this.wrapper),this.options.showArrows&&o.addClass("scroll-element_arrows_visible"),o.addClass("scroll-"+t)},init:function(o){var l=this,r=this.container,n=this.containerWrapper||r,d=e.extend(this.options,o||{}),m={x:this.scrollx,y:this.scrolly},u=this.wrapper,h={scrollLeft:r.scrollLeft(),scrollTop:r.scrollTop()};if(g.mobile&&d.ignoreMobile||g.overlay&&d.ignoreOverlay||g.macosx&&!g.webkit)return!1;if(u)n.css({height:"","margin-bottom":-1*g.scroll.height+c,"margin-right":-1*g.scroll.width+c});else{if(this.wrapper=u=e("<div>").addClass("scroll-wrapper").addClass(r.attr("class")).css("position","absolute"==r.css("position")?"absolute":"relative").insertBefore(r).append(r),r.is("textarea")&&(this.containerWrapper=n=e("<div>").insertBefore(r).append(r),u.addClass("scroll-textarea")),n.addClass("scroll-content").css({height:"","margin-bottom":-1*g.scroll.height+c,"margin-right":-1*g.scroll.width+c}),r.on("scroll.scrollbar",function(){e.isFunction(d.onScroll)&&d.onScroll.call(l,{maxScroll:m.y.maxScrollOffset,scroll:r.scrollTop(),size:m.y.size,visible:m.y.visible},{maxScroll:m.x.maxScrollOffset,scroll:r.scrollLeft(),size:m.x.size,visible:m.x.visible}),m.x.isVisible&&m.x.scroller.css("left",r.scrollLeft()*m.x.kx+c),m.y.isVisible&&m.y.scroller.css("top",r.scrollTop()*m.y.kx+c)}),u.on("scroll",function(){u.scrollTop(0).scrollLeft(0)}),d.disableBodyScroll){var p=function(e){s(e)?m.y.isVisible&&m.y.mousewheel(e):m.x.isVisible&&m.x.mousewheel(e)};u.on({"MozMousePixelScroll.scrollbar":p,"mousewheel.scrollbar":p}),g.mobile&&u.on("touchstart.scrollbar",function(o){var l=o.originalEvent.touches&&o.originalEvent.touches[0]||o,i={pageX:l.pageX,pageY:l.pageY},s={left:r.scrollLeft(),top:r.scrollTop()};e(t).on({"touchmove.scrollbar":function(e){var t=e.originalEvent.targetTouches&&e.originalEvent.targetTouches[0]||e;r.scrollLeft(s.left+i.pageX-t.pageX),r.scrollTop(s.top+i.pageY-t.pageY),e.preventDefault()},"touchend.scrollbar":function(){e(t).off(".scrollbar")}})})}e.isFunction(d.onInit)&&d.onInit.apply(this,[r])}e.each(m,function(o,n){var c=null,g=1,u="x"==o?"scrollLeft":"scrollTop",h=d.scrollStep,p=function(){var e=r[u]();r[u](e+h),1==g&&e+h>=b&&(e=r[u]()),-1==g&&b>=e+h&&(e=r[u]()),r[u]()==e&&c&&c()},b=0;n.scrollbar||(n.scrollbar=l.getScrollbar(o),n.scroller=n.scrollbar.find(".scroll-bar"),n.mousewheel=function(e){if(!n.isVisible||"x"==o&&s(e))return!0;if("y"==o&&!s(e))return m.x.mousewheel(e),!0;var t=-1*e.originalEvent.wheelDelta||e.originalEvent.detail,i=n.size-n.visible-n.offset;return 0>=b&&0>t||b>=i&&t>0||(b+=t,0>b&&(b=0),b>i&&(b=i),l.scrollTo=l.scrollTo||{},l.scrollTo[u]=b,setTimeout(function(){l.scrollTo&&(r.stop().animate(l.scrollTo,240,"linear",function(){b=r[u]()}),l.scrollTo=null)},1)),e.preventDefault(),!1},n.scrollbar.on({"MozMousePixelScroll.scrollbar":n.mousewheel,"mousewheel.scrollbar":n.mousewheel,"mouseenter.scrollbar":function(){b=r[u]()}}),n.scrollbar.find(".scroll-arrow, .scroll-element_track").on("mousedown.scrollbar",function(t){if(t.which!=a)return!0;g=1;var s={eventOffset:t["x"==o?"pageX":"pageY"],maxScrollValue:n.size-n.visible-n.offset,scrollbarOffset:n.scroller.offset()["x"==o?"left":"top"],scrollbarSize:n.scroller["x"==o?"outerWidth":"outerHeight"]()},m=0,y=0;return e(this).hasClass("scroll-arrow")?(g=e(this).hasClass("scroll-arrow_more")?1:-1,h=d.scrollStep*g,b=g>0?s.maxScrollValue:0):(g=s.eventOffset>s.scrollbarOffset+s.scrollbarSize?1:s.eventOffset<s.scrollbarOffset?-1:0,h=Math.round(.75*n.visible)*g,b=s.eventOffset-s.scrollbarOffset-(d.stepScrolling?1==g?s.scrollbarSize:0:Math.round(s.scrollbarSize/2)),b=r[u]()+b/n.kx),l.scrollTo=l.scrollTo||{},l.scrollTo[u]=d.stepScrolling?r[u]()+h:b,d.stepScrolling&&(c=function(){b=r[u](),clearInterval(y),clearTimeout(m),m=0,y=0},m=setTimeout(function(){y=setInterval(p,40)},d.duration+100)),setTimeout(function(){l.scrollTo&&(r.animate(l.scrollTo,d.duration),l.scrollTo=null)},1),i(c,t)}),n.scroller.on("mousedown.scrollbar",function(l){if(l.which!=a)return!0;var s=l["x"==o?"pageX":"pageY"],c=r[u]();return n.scrollbar.addClass("scroll-draggable"),e(t).on("mousemove.scrollbar",function(e){var t=parseInt((e["x"==o?"pageX":"pageY"]-s)/n.kx,10);r[u](c+t)}),i(function(){n.scrollbar.removeClass("scroll-draggable"),b=r[u]()},l)}))}),e.each(m,function(e,t){var o="scroll-scroll"+e+"_visible",l="x"==e?m.y:m.x;t.scrollbar.removeClass(o),l.scrollbar.removeClass(o),n.removeClass(o)}),e.each(m,function(t,o){e.extend(o,"x"==t?{offset:parseInt(r.css("left"),10)||0,size:r.prop("scrollWidth"),visible:u.width()}:{offset:parseInt(r.css("top"),10)||0,size:r.prop("scrollHeight"),visible:u.height()})});var b=function(t,o){var l="scroll-scroll"+t+"_visible",i="x"==t?m.y:m.x,s=parseInt(r.css("x"==t?"left":"top"),10)||0,a=o.size,d=o.visible+s;o.isVisible=a-d>1,o.isVisible?(o.scrollbar.addClass(l),i.scrollbar.addClass(l),n.addClass(l)):(o.scrollbar.removeClass(l),i.scrollbar.removeClass(l),n.removeClass(l)),"y"==t&&(o.isVisible||o.size<o.visible)&&n.css("height",d+g.scroll.height+c),(m.x.size!=r.prop("scrollWidth")||m.y.size!=r.prop("scrollHeight")||m.x.visible!=u.width()||m.y.visible!=u.height()||m.x.offset!=(parseInt(r.css("left"),10)||0)||m.y.offset!=(parseInt(r.css("top"),10)||0))&&(e.each(m,function(t,o){e.extend(o,"x"==t?{offset:parseInt(r.css("left"),10)||0,size:r.prop("scrollWidth"),visible:u.width()}:{offset:parseInt(r.css("top"),10)||0,size:r.prop("scrollHeight"),visible:u.height()})}),b("x"==t?"y":"x",i))};e.each(m,b),e.isFunction(d.onUpdate)&&d.onUpdate.apply(this,[r]),e.each(m,function(e,t){var o="x"==e?"left":"top",l="x"==e?"outerWidth":"outerHeight",i="x"==e?"width":"height",s=parseInt(r.css(o),10)||0,n=t.size,a=t.visible+s,g=t.scrollbar.find(".scroll-element_size");g=g[l]()+(parseInt(g.css(o),10)||0),d.autoScrollSize&&(t.scrollbarSize=parseInt(g*a/n,10),t.scroller.css(i,t.scrollbarSize+c)),t.scrollbarSize=t.scroller[l](),t.kx=(g-t.scrollbarSize)/(n-a)||1,t.maxScrollOffset=n-a}),r.scrollLeft(h.scrollLeft).scrollTop(h.scrollTop).trigger("scroll")}},e.fn.scrollbar=function(t,o){var l=this;return"get"===t&&(l=null),this.each(function(){var i=e(this);if(i.hasClass("scroll-wrapper")||"body"==i.get(0).nodeName)return!0;var r=i.data("scrollbar");if(r){if("get"===t)return l=r,!1;var s="string"==typeof t&&r[t]?t:"init";if(r[s].apply(r,e.isArray(o)?o:[]),"destroy"===t)for(i.removeData("scrollbar");e.inArray(r,g.scrolls)>=0;)g.scrolls.splice(e.inArray(r,g.scrolls),1)}else"string"!=typeof t&&(r=new m(i,t),i.data("scrollbar",r),g.scrolls.push(r));return!0}),l},e.fn.scrollbar.options=d,o.angular&&!function(e){var t=e.module("jQueryScrollbar",[]);t.directive("jqueryScrollbar",function(){return{link:function(e,t){t.scrollbar(e.options).on("$destroy",function(){t.scrollbar("destroy")})},restring:"AC",scope:{options:"=jqueryScrollbar"}}})}(o.angular);var u=0,h=0,p=function(e){var t,o,l,i,r,s,a;for(t=0;t<g.scrolls.length;t++)i=g.scrolls[t],o=i.container,l=i.options,r=i.wrapper,s=i.scrollx,a=i.scrolly,(e||l.autoUpdate&&r&&r.is(":visible")&&(o.prop("scrollWidth")!=s.size||o.prop("scrollHeight")!=a.size||r.width()!=s.visible||r.height()!=a.visible))&&(i.init(),n&&(g.log({scrollHeight:o.prop("scrollHeight")+":"+i.scrolly.size,scrollWidth:o.prop("scrollWidth")+":"+i.scrollx.size,visibleHeight:r.height()+":"+i.scrolly.visible,visibleWidth:r.width()+":"+i.scrollx.visible},!0),h++));n&&h>10?(g.log("Scroll updates exceed 10"),p=function(){}):(clearTimeout(u),u=setTimeout(p,300))}}(jQuery,document,window)},{}],6:[function(e,t){function o(e){var t={namespace:"",storageType:"local"};if(this.setNamespace=function(e){var o=/^[\w-:]+$/;if(e===!1||null==e||""===e)return t.namespace="",void 0;if("string"!=typeof e||!o.test(e))throw new Error("Invalid namespace.");t.namespace=e},this.getNamespace=function(e){return e&&""!==t.namespace?t.namespace+":":t.namespace},this.setStorageType=function(e){if(["session","local"].indexOf(e)<0)throw new Error("Invalid storage type.");t.storageType=e},this.getStorageType=function(){return t.storageType},e)for(var o in e)switch(o){case"namespace":this.setNamespace(e[o]);break;case"storageType":this.setStorageType(e[o])}}var l={},i=new o({namespace:"__storage-wrapper:expires"});o.prototype.getStorageHandler=function(){var e={local:localStorage,session:sessionStorage};return e[this.getStorageType()]},o.prototype.getStorageKey=function(e){if(!e||"string"!=typeof e||e.length<1)throw new Error("Key must be a string.");return this.getNamespace(!0)+e},o.prototype.get=function(e,t){if(this!==i){var o=i.get(this.getStorageKey(e));null!==o&&o.getTime()<Date.now()&&(this.remove(e),i.remove(this.getStorageKey(e)))}if(null!=l[this.getStorageKey(e)])return l[this.getStorageKey(e)];var r=this.getStorageHandler().getItem(this.getStorageKey(e));if(null===r&&"undefined"!=typeof t)return t;if("string"==typeof r)if(0===r.indexOf("~RegExp:")){var s=/^~RegExp:([gim]*?):(.*)/.exec(r);r=new RegExp(s[2],s[1])}else if(0===r.indexOf("~Date:"))r=new Date(r.replace(/^~Date:/,""));else if(0===r.indexOf("~Number:"))r=parseInt(r.replace(/^~Number:/,""),10);else if(0===r.indexOf("~Boolean:"))r="true"===r.replace(/^~Boolean:/,"");else if(0===r.indexOf("~JSON:")){r=r.replace(/^~JSON:/,"");try{r=JSON.parse(r)}catch(n){return"undefined"!=typeof t?t:null}}return l[this.getStorageKey(e)]=r,r},o.prototype.set=function(e,t,o){var r=null;if(t instanceof RegExp){var s=[t.global?"g":"",t.ignoreCase?"i":"",t.multiline?"m":""].join("");r="~RegExp:"+s+":"+t.source}else if(t instanceof Date)r="~Date:"+t.toString();else if(t===Object(t))r="~JSON:"+JSON.stringify(t);else if("number"==typeof t)r="~Number:"+t.toString();else if("boolean"==typeof t)r="~Boolean:"+t.toString();else{if("string"!=typeof t)throw new Error("Unable to store this value; wrong value type.");r=t}if("undefined"!=typeof o){if("number"==typeof o&&(o=new Date(Date.now()+o)),!(o instanceof Date))throw new Error("Key expire must be a valid date or timestamp.");i.set(this.getStorageKey(e),o)}l[this.getStorageKey(e)]=t,this.getStorageHandler().setItem(this.getStorageKey(e),r)},o.prototype.getAll=function(){var e=this.listKeys(),t={};return e.forEach(function(e){t[e]=this.get(e)},this),t},o.prototype.listKeys=function(){for(var e=[],t=null,o=this.getStorageHandler().length,l=new RegExp("^"+this.getNamespace(!0)),i=0;o>i;i++)t=this.getStorageHandler().key(i),l.test(t)&&e.push(t.replace(l,""));return e},o.prototype.remove=function(e){l[this.getStorageKey(e)]=null,this.getStorageHandler().removeItem(this.getStorageKey(e))},o.prototype.removeAll=function(){this.listKeys().forEach(this.remove,this)},o.prototype.freshen=function(e){var t=e?[e]:this.listKeys();t.forEach(function(e){l[this.getStorageKey(e)]=null},this)},o.prototype.migrate=function(e){var t=this.getNamespace(),l=this.getStorageType(),i=new o({namespace:t,storageType:l}),r=null;if(i.setNamespace(e.fromNamespace),"undefined"!=typeof e.fromStorageType&&i.setStorageType(e.fromStorageType),r=i.get(e.fromKey),e.keepOldData||i.remove(e.fromKey),null!==r){if("function"==typeof e.transform)r=e.transform(r);else if("undefined"!=typeof e.transform)throw new Error("Invalid transform callback.");i.setNamespace(t),i.setStorageType(l),(null===i.get(e.toKey)||e.overwriteNewData)&&i.set(e.toKey,r)}},o.prototype.createSubstore=function(e){return new o({namespace:this.getNamespace(!0)+e,storageType:this.getStorageType()})},t.exports=o},{}],7:[function(e,t){t.exports={name:"twitch-chat-emotes",version:"2.1.6",homepage:"http://cletusc.github.io/Userscript--Twitch-Chat-Emotes/",bugs:"https://github.com/cletusc/Userscript--Twitch-Chat-Emotes/issues",author:"Ryan Chatham <[email protected]> (https://github.com/cletusc)",repository:{type:"git",url:"https://github.com/cletusc/Userscript--Twitch-Chat-Emotes.git"},userscript:{name:"Twitch Chat Emotes",namespace:"#Cletus",version:"{{{pkg.version}}}",description:'Adds a button to Twitch that allows you to "click-to-insert" an emote.',copyright:"2011+, {{{pkg.author}}}",author:"{{{pkg.author}}}",icon:"http://www.gravatar.com/avatar.php?gravatar_id=6875e83aa6c563790cb2da914aaba8b3&r=PG&s=48&default=identicon",license:["MIT; http://opensource.org/licenses/MIT","CC BY-NC-SA 3.0; http://creativecommons.org/licenses/by-nc-sa/3.0/"],homepage:"{{{pkg.homepage}}}",supportURL:"{{{pkg.bugs}}}",contributionURL:"http://cletusc.github.io/Userscript--Twitch-Chat-Emotes/#donate",grant:"none",include:["http://*.twitch.tv/*","https://*.twitch.tv/*"],exclude:["http://api.twitch.tv/*","https://api.twitch.tv/*","http://tmi.twitch.tv/*","https://tmi.twitch.tv/*","http://*.twitch.tv/*/dashboard","https://*.twitch.tv/*/dashboard","http://chatdepot.twitch.tv/*","https://chatdepot.twitch.tv/*","http://im.twitch.tv/*","https://im.twitch.tv/*","http://platform.twitter.com/*","https://platform.twitter.com/*","http://www.facebook.com/*","https://www.facebook.com/*"]},devDependencies:{"browser-sync":"^1.3.2",browserify:"^5.9.1","generate-userscript-header":"^1.0.0",gulp:"^3.8.3","gulp-autoprefixer":"0.0.8","gulp-beautify":"1.1.0","gulp-changed":"^0.4.1","gulp-concat":"^2.2.0","gulp-conflict":"^0.1.2","gulp-css-base64":"^1.1.0","gulp-css2js":"^1.0.2","gulp-header":"^1.0.2","gulp-hogan-compile":"^0.2.1","gulp-minify-css":"^0.3.5","gulp-notify":"^1.4.1","gulp-rename":"^1.2.0","gulp-uglify":"^0.3.1","gulp-util":"^3.0.0","hogan.js":"^3.0.2","jquery-ui":"^1.10.5","jquery.scrollbar":"^0.2.7","pretty-hrtime":"^0.2.1","storage-wrapper":"cletusc/storage-wrapper#v0.1.1","vinyl-map":"^1.0.1","vinyl-source-stream":"^0.1.1",watchify:"^1.0.1"}}},{}],8:[function(e,t){var o=e("./logger"),l={},i=null,r={};l.getEmber=function(){return i?i:window.App&&window.App.__container__?i=window.App.__container__:!1},l.isLoaded=function(){return Boolean(l.getEmber())},l.lookup=function(e){return l.isLoaded()?l.getEmber().lookup(e):(o.debug("Factory lookup failure, Ember not loaded."),!1)},l.hook=function(e,t,i){if(!l.isLoaded())return o.debug("Factory hook failure, Ember not loaded."),!1;if(r[e])return o.debug("Factory already hooked: "+e),!0;var s={},n=l.lookup(e);if(!n)return o.debug("Factory hook failure, factory not found: "+e),!1;t&&(s.activate=function(){this._super(),t.call(this),o.debug("Hook run on activate: "+e)}),i&&(s.deactivate=function(){this._super(),i.call(this),o.debug("Hook run on deactivate: "+e)});try{return n.reopen(s),r[e]=!0,o.debug("Factory hooked: "+e),!0}catch(a){return o.debug("Factory hook failure, unexpected error: "+e),o.debug(a),!1}},l.get=function(e,t){if(!l.isLoaded())return o.debug("Factory get failure, Ember not loaded."),!1;var i=t.split("."),r=l.lookup(e);return i.some(function(e){return null==r||"undefined"==typeof r?(r=null,!0):null==r[e]||"undefined"==typeof r[e]?(r=null,!0):"function"==typeof r.get?(r=r.get(e),null==r||"undefined"==typeof r?(r=null,!0):!1):(r=r[e],void 0)}),r},t.exports=l},{"./logger":10}],9:[function(e,t){function o(){var t={},o={},r=!1;this.getEmotes=function(i,r,n){var a=(e("./twitch-api"),c.extend({},o));if(Object.keys(t).forEach(function(e){var o=null;try{o=t[e]()}catch(i){return s.debug("Emote getter `"+e+"` failed unexpectedly, skipping.",i.toString()),void 0}return Array.isArray(o)?(o.forEach(function(t){try{var o=new l(t);o.setGetterName(e),t.channel||o.setChannelName(e),a[o.getText()]=o}catch(i){s.debug("Emote parsing for getter `"+e+"` failed, skipping.",i.toString(),t)}}),void 0):(s.debug("Emote getter `"+e+"` must return an array, skipping."),void 0)}),a=Object.keys(a).map(function(e){return a[e]}),"function"==typeof i&&(a=a.filter(i)),"object"===n){var d={};return a.forEach(function(e){d[e.getText()]=e}),d}return"function"==typeof r?a.sort(r):"channel"===r?a.sort(g.allEmotesCategory):a.sort(g.byText),a},this.registerGetter=function(e,o){if("string"!=typeof e)throw new Error("Name must be a string.");if(t[e])throw new Error("Getter already exists.");if("function"!=typeof o)throw new Error("Getter must be a function.");s.debug("Getter registered: "+e),t[e]=o,n.updateEmotes()},this.deregisterGetter=function(e){s.debug("Getter unregistered: "+e),delete t[e],n.updateEmotes()},this.init=function(){if(r)return s.debug("Already initialized EmoteStore, stopping init."),void 0;s.debug("Starting initialization.");var t=e("./twitch-api"),a={0:"~global",33:"turbo",42:"turbo",457:"turbo",793:"turbo",19151:"twitch_prime",19194:"twitch_prime"};s.debug("Initializing emote set change listener."),t.getEmotes(function(e){s.debug("Parsing emote sets."),Object.keys(e).forEach(function(t){var r=e[t];t=Number(t),r.forEach(function(e){e.url="//static-cdn.jtvnw.net/emoticons/v1/"+e.id+"/1.0",e.text=i(e.code),e.set=t,a[t]&&(e.channel=a[t]);var r=new l(e);o[e.text]=r})}),s.debug("Loading subscription data."),t.getTickets(function(e){var t={};s.debug("Tickets loaded from the API.",e),e.forEach(function(e){var l=e.product,r=l.owner_name||l.short_name;l.emoticons&&l.emoticons.length&&l.emoticons.forEach(function(e){var l=o[i(e.regex)];l.setChannelName(r),t[r]||(t[r]=l)})}),Object.keys(t).forEach(function(e){var o=t[e];o.getChannelBadge(),o.getChannelDisplayName()}),n.updateEmotes()}),n.updateEmotes()}),r=!0,s.debug("Finished EmoteStore initialization.")}}function l(t){var o=null,l=null,i=null,a={name:null,displayName:null,badge:null};this.getText=function(){return o},this.setText=function(e){if("string"!=typeof e||e.length<1)throw new Error("Invalid text");o=e},this.getGetterName=function(){return i},this.setGetterName=function(e){if("string"!=typeof e||e.length<1)throw new Error("Invalid getter name");i=e},this.getUrl=function(){return l},this.setUrl=function(e){if("string"!=typeof e||e.length<1)throw new Error("Invalid URL");l=e},this.getChannelName=function(){return a.name||(a.name=r.channelNames.get(this.getText())),a.name||""},this.setChannelName=function(e){if("string"!=typeof e||e.length<1)throw new Error("Invalid channel");"~global"!==e&&"turbo"!==e&&"twitch_prime"!==e&&r.channelNames.set(this.getText(),e),a.name=e},this.getChannelBadge=function(){var t=e("./twitch-api"),o=this.getChannelName(),l="//static-cdn.jtvnw.net/jtv_user_pictures/subscriber-star.png";return o?"~global"===o?"/favicon.ico":a.badge?a.badge:(a.badge=r.badges.get(o),null!==a.badge?a.badge:(a.badge=l,s.debug("Getting fresh badge for: "+o),t.getBadges(o,function(e){var t=null;return e.turbo&&e.turbo.image&&(t=e.turbo.image,r.badges.set("turbo",t,864e5),"turbo"===o)?(a.badge=t,void 0):e.premium&&e.premium.image&&(t=e.premium.image,r.badges.set("twitch_prime",t,864e5),"twitch_prime"===o)?(a.badge=t,void 0):(e.subscriber&&e.subscriber.image?(a.badge=e.subscriber.image,r.badges.set(o,a.badge,864e5),n.updateEmotes()):(a.badge=l,s.debug("Failed to get subscriber badge for: "+o)),void 0)}),a.badge||l)):null},this.setChannelBadge=function(e){if("string"!=typeof e||e.length<1)throw new Error("Invalid badge");a.badge=e},this.getChannelDisplayName=function(){var t=e("./twitch-api"),o=this.getChannelName(),l=this,i={"~global":"Global",turbo:"Twitch Turbo",twitch_prime:"Twitch Prime"};return o?i[o]?i[o]:a.displayName?a.displayName:/[^a-z0-9_]/.test(o)?(s.debug("Unable to get display name due to obvious non-standard channel name for: "+o),o):(a.displayName=r.displayNames.get(o),null!==a.displayName?a.displayName:(a.displayName=o,s.debug("Getting fresh display name for: "+o),t.getUser(o,function(e){return e&&e.display_name?(l.setChannelDisplayName(e.display_name),n.updateEmotes(),void 0):(s.debug("Failed to get display name for: "+o),void 0)}),a.displayName)):""},this.setChannelDisplayName=function(e){if("string"!=typeof e||e.length<1)throw new Error("Invalid displayName");a.displayName=e,r.displayNames.set(this.getChannelName(),e,864e5)},this.setText(t.text),this.setUrl(t.url),t.getterName&&this.setGetterName(t.getterName),t.channel&&this.setChannelName(t.channel),t.channelDisplayName&&this.setChannelDisplayName(t.channelDisplayName),t.badge&&this.setChannelBadge(t.badge)}function i(e){if("string"==typeof e&&(e=new RegExp(e)),!e)throw new Error("`regex` must be a RegExp string or object.");return decodeURI(e.source).replace(">\\;",">").replace("<\\;","<").replace(/\(\?![^)]*\)/g,"").replace(/\(([^|])*\|?[^)]*\)/g,"$1").replace(/\[([^|\]\[])*\|?[^\]\[]*\]/g,"$1").replace(/[^\\]\?/g,"").replace(/^\\b|\\b$/g,"").replace(/\\(?!\\)/g,"")
}var r=e("./storage"),s=e("./logger"),n=e("./ui"),a=new o,c=window.jQuery;o.prototype.getEmote=function(e){return this.getEmotes(null,null,"object")[e]||null},l.prototype.toggleFavorite=function(e){return"undefined"!=typeof e?(r.starred.set(this.getText(),!!e),void 0):(r.starred.set(this.getText(),!this.isFavorite()),void 0)},l.prototype.toggleVisibility=function(e){return"undefined"!=typeof e?(r.visibility.set(this.getText(),!!e),void 0):(r.visibility.set(this.getText(),!this.isVisible()),void 0)},l.prototype.isThirdParty=function(){return!!this.getGetterName()},l.prototype.isFavorite=function(){return r.starred.get(this.getText(),!1)},l.prototype.isVisible=function(){return r.visibility.get(this.getText(),!0)},l.prototype.isSmiley=function(){var e=[":(",":)",":/",":\\",":D",":o",":p",":z",";)",";p","<3",">(","B)","R)","o_o","O_O","#/",":7",":>",":S","<]"];return-1!==e.indexOf(this.getText())};var g={};g.byText=function(e,t){return textA=e.getText().toLowerCase(),textB=t.getText().toLowerCase(),textB>textA?-1:textA>textB?1:0},g.bySmiley=function(e,t){return e.isSmiley()&&!t.isSmiley()?-1:t.isSmiley()&&!e.isSmiley()?1:0},g.byChannelName=function(e,t){var o=e.getChannelName(),l=t.getChannelName();return o||l?o&&!l?1:l&&!o?-1:(o=o.toLowerCase(),l=l.toLowerCase(),l>o?-1:l>o?1:0):0},g.allEmotesCategory=function(e,t){var o=g.bySmiley(e,t),l=g.byChannelName(e,t),i=g.byText(e,t);return 0!==o?o:0!==l?l:i},t.exports=a},{"./logger":10,"./storage":12,"./twitch-api":14,"./ui":15}],10:[function(e,t){var o={},l="[instance "+(Math.floor(899*Math.random())+100)+"] ",i="[Emote Menu] ",r=e("./storage");o.log=function(){"undefined"!=typeof console.log&&(arguments=[].slice.call(arguments).map(function(e){return"string"!=typeof e?JSON.stringify(e):e}),r.global.get("debugMessagesEnabled",!1)&&arguments.unshift(l),arguments.unshift(i),console.log.apply(console,arguments))},o.debug=function(){r.global.get("debugMessagesEnabled",!1)&&(arguments=[].slice.call(arguments),arguments.unshift("[DEBUG] "),o.log.apply(null,arguments))},t.exports=o},{"./storage":12}],11:[function(e,t){var o=e("./storage"),l=e("./logger"),i=e("./emotes"),r={};r.toggleDebug=function(e){e="undefined"==typeof e?!o.global.get("debugMessagesEnabled",!1):!!e,o.global.set("debugMessagesEnabled",e),l.log("Debug messages are now "+(e?"enabled":"disabled"))},r.registerEmoteGetter=i.registerGetter,r.deregisterEmoteGetter=i.deregisterGetter,t.exports=r},{"./emotes":9,"./logger":10,"./storage":12}],12:[function(e,t){var o=e("storage-wrapper"),l={};l.global=new o({namespace:"emote-menu-for-twitch"}),l.visibility=l.global.createSubstore("visibility"),l.starred=l.global.createSubstore("starred"),l.displayNames=l.global.createSubstore("displayNames"),l.channelNames=l.global.createSubstore("channelNames"),l.badges=l.global.createSubstore("badges"),t.exports=l},{"storage-wrapper":6}],13:[function(e,t){var o=e("../../build/templates");t.exports=function(){function e(e){return e=o[e],function(t,l,i){return e.render(t,l||o,i)}}var t={},l=null;for(l in o)o.hasOwnProperty(l)&&(t[l]=e(l));return t}()},{"../../build/templates":3}],14:[function(e,t){var o=window.Twitch.api,l=window.jQuery,i=e("./logger"),r={};r.getBadges=function(e,t){["~global","turbo","twitch_prime"].indexOf(e)>-1?(l||t({}),l.getJSON("https://badges.twitch.tv/v1/badges/global/display").done(function(e){var o={turbo:{image:e.badge_sets.turbo.versions["1"].image_url_1x},premium:{image:e.badge_sets.premium.versions["1"].image_url_1x}};t(o)}).fail(function(){t({})})):o.get("chat/"+e+"/badges",{api_version:3}).done(function(e){t(e)}).fail(function(){t({})})},r.getUser=function(e,t){o.get("users/"+e,{api_version:3}).done(function(e){t(e)}).fail(function(){t({})})},r.getTickets=function(e){o.get("/api/users/:login/tickets",{offset:0,limit:100,unended:!0,api_version:3}).done(function(t){e(t.tickets||[])}).fail(function(){e([])})},r.getEmotes=function(e){o.get("users/:login/emotes",{api_version:3}).done(function(t){return t&&t.emoticon_sets?(e(t.emoticon_sets),void 0):(i.debug("getEmotes emoticon_sets empty"),e({}),void 0)}).fail(function(){i.debug("getEmotes API call failed"),e({})})},t.exports=r},{"./logger":10}],15:[function(e,t){function o(){this.dom=null}function l(){this.dom=null,this.groups={},this.emotes=[],this.offset=null,this.favorites=null}function i(e){this.dom=null,this.emotes={},this.emoteInstance=e,this.init()}function r(){this.dom=a("#starred-emotes-group"),this.emotes={}}function s(e){this.dom=null,this.instance=e,this.init()}var n={},a=jQuery=window.jQuery,c=e("./templates"),g=(e("./storage"),e("./emotes"),e("./logger")),d=new l,m=new o;n.init=function(){e("../../build/styles"),e("../plugins/resizable"),e("jquery.scrollbar"),m.init(),d.init()},n.hideMenu=function(){d.dom&&d.dom.length&&d.toggleDisplay(!1)},n.updateEmotes=function(){d.updateEmotes()},o.prototype.init=function(e){var t=this,o=a(".send-chat-button, .chat-buttons-container button"),l=e||0;return this.dom=a("#emote-menu-button"),this.dom.length?(g.debug("MenuButton already exists, stopping init."),this):o.length?(this.dom=a(c.emoteButton()),this.dom.insertBefore(o),this.dom.hide(),this.dom.fadeIn(),this.dom.on("click",function(){d.toggleDisplay()}),this):(l+=1,1===l&&g.log("MenuButton container missing, trying again."),l>=10?(g.log("MenuButton container missing, MenuButton unable to be added, stopping init."),this):(setTimeout(function(){t.init(l)},1e3),this))},o.prototype.toggleDisplay=function(e){var t="undefined"!=typeof e?!!e:!this.isVisible();return t?(this.dom.addClass("active"),this):(this.dom.removeClass("active"),this)},o.prototype.isVisible=function(){return this.dom.hasClass("active")},l.prototype.init=function(){var t=(e("./logger"),this);return this.dom=a("#emote-menu-for-twitch"),this.dom.length?this:(this.dom=a(c.menu()),a(document.body).append(this.dom),this.favorites=new r,this.dom.draggable({handle:".draggable",start:function(){t.togglePinned(!0),t.toggleMovement(!0)},stop:function(){t.offset=t.dom.offset()},containment:a(document.body)}),this.dom.resizable({handle:'[data-command="resize-handle"]',stop:function(){t.togglePinned(!0),t.toggleMovement(!0)},alsoResize:t.dom.find(".scrollable"),containment:a(document.body),minHeight:180,minWidth:200}),this.dom.find('[data-command="toggle-pinned"]').on("click",function(){t.togglePinned()}),this.dom.find('[data-command="toggle-editing"]').on("click",function(){t.toggleEditing()}),this.dom.find(".scrollable").scrollbar(),this.updateEmotes(),this)},l.prototype._detectOutsideClick=function(e){return a(e.target).is("#emote-menu-for-twitch, #emote-menu-for-twitch *")?void 0:!this.isVisible()||a(e.target).is("#emote-menu-button, #emote-menu-button *")?(a(document).off("mouseup",this._detectOutsideClick.bind(this)),void 0):(this.isPinned()||(a(document).off("mouseup",this._detectOutsideClick.bind(this)),this.toggleDisplay()),void 0)},l.prototype.toggleDisplay=function(e){var t="undefined"!=typeof e?!!e:!this.isVisible(),o=window.Twitch&&window.Twitch.user.isLoggedIn();if(t){if(!o)return a.login(),this;if(this.updateEmotes(),this.dom.show(),this.hasMoved())this.dom.offset(this.offset);else{var l=a(".chat-messages");this.dom.height(l.outerHeight()-(this.dom.outerHeight()-this.dom.height())),this.dom.width(l.outerWidth()-(this.dom.outerWidth()-this.dom.width())),this.offset=l.offset(),this.dom.offset(this.offset)}a(document).on("mouseup",this._detectOutsideClick.bind(this))}else this.dom.hide(),this.toggleEditing(!1),this.togglePinned(!1);return m.toggleDisplay(this.isVisible()),this},l.prototype.isVisible=function(){return this.dom.is(":visible")},l.prototype.updateEmotes=function(t){var o=t?this.getEmote(t):null,l=o?this.favorites.getEmote(t):null;if(o)return o.update(),l&&l.update(),this;var i=e("./emotes"),r=i.getEmotes(),s=[],n=this;return r.forEach(function(e){n.addEmote(e),s.push(e.getText())}),this.emotes.forEach(function(e){var t=e.getText();s.indexOf(t)<0&&(g.debug("Emote difference found, removing emote from UI: "+t),n.removeEmote(t))}),this.emotes=r,Object.keys(this.groups).forEach(function(e){n.getGroup(e).init()}),this},l.prototype.toggleEditing=function(e){var t="undefined"!=typeof e?!!e:!this.isEditing();return this.dom.toggleClass("editing",t),this},l.prototype.isEditing=function(){return this.dom.hasClass("editing")},l.prototype.togglePinned=function(e){var t="undefined"!=typeof e?!!e:!this.isPinned();return this.dom.toggleClass("pinned",t),this},l.prototype.isPinned=function(){return this.dom.hasClass("pinned")},l.prototype.toggleMovement=function(e){var t="undefined"!=typeof e?!!e:!this.hasMoved();return this.dom.toggleClass("moved",t),this},l.prototype.hasMoved=function(){return this.dom.hasClass("moved")},l.prototype.addGroup=function(e){var t=e.getChannelName(),o=this;if(this.getGroup(t))return this;var l=new i(e);this.groups[t]=l;var r=Object.keys(this.groups);r.sort(function(e,t){e=o.groups[e].emoteInstance,t=o.groups[t].emoteInstance;var l=e.getChannelName(),i=t.getChannelName();return e=e.getChannelDisplayName().toLowerCase(),t=t.getChannelDisplayName().toLowerCase(),"twitch_prime"===l&&"twitch_prime"!==i?-1:"twitch_prime"===i&&"twitch_prime"!==l?1:"turbo"===l&&"turbo"!==i?-1:"turbo"===i&&"turbo"!==l?1:"~global"===l&&"~global"!==i?-1:"~global"===i&&"~global"!==l?1:t>e?-1:e>t?1:0});var s=r.indexOf(t);return 0===s?l.dom.prependTo(this.dom.find("#all-emotes-group")):l.dom.insertAfter(this.getGroup(r[s-1]).dom),l},l.prototype.getGroup=function(e){return this.groups[e]||null},l.prototype.addEmote=function(e){var t=this.getGroup(e.getChannelName())||this.addGroup(e);return t.addEmote(e),t.toggleDisplay(t.isVisible(),!0),this.favorites.addEmote(e),this},l.prototype.removeEmote=function(e){var t=this;return Object.keys(this.groups).forEach(function(o){t.groups[o].removeEmote(e)}),this.favorites.removeEmote(e),this},l.prototype.getEmote=function(e){var t=null,o=null,l=null;for(t in this.groups)if(o=this.groups[t],l=o.getEmote(e))return l;return null},i.prototype.init=function(){var e=this,t=this.emoteInstance;null===this.dom?this.dom=a(c.emoteGroupHeader({badge:t.getChannelBadge(),channel:t.getChannelName(),channelDisplayName:t.getChannelDisplayName()})):this.dom.find(".header-info").replaceWith(a(c.emoteGroupHeader({badge:t.getChannelBadge(),channel:t.getChannelName(),channelDisplayName:t.getChannelDisplayName()})).find(".header-info")),this.dom.find('.header-info [data-command="toggle-visibility"]').on("click",function(){d.isEditing()&&e.toggleDisplay()}),this.toggleDisplay(this.isVisible(),!0)},i.prototype.toggleDisplay=function(e,t){var o=this,l="undefined"!=typeof e?!e:this.isVisible();return this.dom.toggleClass("emote-menu-hidden",l),t||Object.keys(this.emotes).forEach(function(e){o.emotes[e].toggleDisplay(!l),d.updateEmotes(o.emotes[e].instance.getText())}),this},i.prototype.isVisible=function(){var e=this;return Object.keys(this.emotes).some(function(t){return e.emotes[t].isVisible()})},i.prototype.addEmote=function(e){var t=this,o=this.getEmote(e.getText());if(o)return o.update(),this;o=new s(e),this.emotes[e.getText()]=o;var l=Object.keys(this.emotes);l.sort(function(e,o){return e=t.emotes[e].instance,o=t.emotes[o].instance,e.isSmiley()&&!o.isSmiley()?-1:o.isSmiley()&&!e.isSmiley()?1:(e=e.getText().toLowerCase(),o=o.getText().toLowerCase(),o>e?-1:e>o?1:0)});var i=l.indexOf(e.getText());return 0===i?o.dom.prependTo(this.dom.find(".emote-container")):o.dom.insertAfter(this.getEmote(l[i-1]).dom),this},i.prototype.getEmote=function(e){return this.emotes[e]||null},i.prototype.removeEmote=function(e){var t=this.getEmote(e);return t?(t.dom.remove(),delete this.emotes[e],this):this},r.prototype.addEmote=i.prototype.addEmote,r.prototype.getEmote=i.prototype.getEmote,r.prototype.removeEmote=i.prototype.removeEmote,s.prototype.init=function(){var e=this;return this.dom=a(c.emote({url:this.instance.getUrl(),text:this.instance.getText(),thirdParty:this.instance.isThirdParty(),isVisible:this.instance.isVisible(),isStarred:this.instance.isFavorite()})),this.dom.on("click",function(){d.isEditing()||(e.addToChat(),d.isPinned()||d.toggleDisplay())}),this.dom.find('[data-command="toggle-visibility"]').on("click",function(){d.isEditing()&&(e.toggleDisplay(),d.updateEmotes(e.instance.getText()))}),this.dom.find('[data-command="toggle-starred"]').on("click",function(){d.isEditing()&&(e.toggleFavorite(),d.updateEmotes(e.instance.getText()))}),this},s.prototype.toggleDisplay=function(e,t){var o="undefined"!=typeof e?!e:this.isVisible();this.dom.toggleClass("emote-menu-hidden",o),t||this.instance.toggleVisibility(!o);var l=this.getGroup();return l.toggleDisplay(l.isVisible(),!0),this},s.prototype.isVisible=function(){return!this.dom.hasClass("emote-menu-hidden")},s.prototype.toggleFavorite=function(e,t){var o="undefined"!=typeof e?!!e:!this.isFavorite();return this.dom.toggleClass("emote-menu-starred",o),t||this.instance.toggleFavorite(o),this},s.prototype.isFavorite=function(){return this.dom.hasClass("emote-menu-starred")},s.prototype.addToChat=function(){var t=e("./ember-api"),o=a(".chat-interface textarea").get(0),l=this.instance.getText(),i=o.selectionStart+l.length,r=o.value,s=r.substring(0,o.selectionStart),n=r.substring(o.selectionEnd,r.length);return""!==s&&" "!==s.substr(-1)&&(l=" "+l),l=s+l+" "+n,t.get("controller:chat","currentRoom").set("messageToSend",l),o.focus(),i=o.selectionStart+l.length,o.setSelectionRange(i,i),this},s.prototype.getGroup=function(){return d.getGroup(this.instance.getChannelName())},s.prototype.update=function(){this.toggleDisplay(this.instance.isVisible(),!0),this.toggleFavorite(this.instance.isFavorite(),!0)},t.exports=n},{"../../build/styles":2,"../plugins/resizable":16,"./ember-api":8,"./emotes":9,"./logger":10,"./storage":12,"./templates":13,"jquery.scrollbar":5}],16:[function(){!function(e){e.fn.resizable=function(t){function o(e){var t=e.data,o={};t.diffX=Math.round((e.pageX-t.pageX)/r.snapSize)*r.snapSize,t.diffY=Math.round((e.pageY-t.pageY)/r.snapSize)*r.snapSize,(Math.abs(t.diffX)>0||Math.abs(t.diffY)>0)&&(r.element.height()!==t.height+t.diffY&&t.height+t.diffY>=r.minHeight&&t.height+t.diffY<=r.maxHeight&&(r.containment?t.outerHeight+t.diffY+t.offset.top<=r.containment.offset().top+r.containment.outerHeight():!0)&&(r.element.height(t.height+t.diffY),o.height=!0),r.element.width()!==t.width+t.diffX&&t.width+t.diffX>=r.minWidth&&t.width+t.diffX<=r.maxWidth&&(r.containment?t.outerWidth+t.diffX+t.offset.left<=r.containment.offset().left+r.containment.outerWidth():!0)&&(r.element.width(t.width+t.diffX),o.width=!0),(o.height||o.width)&&(r.resizeOnce&&(r.resizeOnce.bind(r.element)(e.data),r.resizeOnce=null),r.resize&&r.resize.bind(r.element)(e.data),r.alsoResize&&(!o.height||"height"!==r.alsoResizeType&&"both"!==r.alsoResizeType||r.alsoResize.height(t.alsoResizeHeight+t.diffY),!o.width||"width"!==r.alsoResizeType&&"both"!==r.alsoResizeType||r.alsoResize.width(t.alsoResizeWidth+t.diffX))))}function l(t){t.preventDefault(),r.start&&r.start.bind(r.element)();var l={alsoResizeHeight:r.alsoResize?r.alsoResize.height():0,alsoResizeWidth:r.alsoResize?r.alsoResize.width():0,height:r.element.height(),offset:r.element.offset(),outerHeight:r.element.outerHeight(),outerWidth:r.element.outerWidth(),pageX:t.pageX,pageY:t.pageY,width:r.element.width()};e(document).on("mousemove","*",l,o),e(document).on("mouseup","*",i)}function i(){r.stop&&r.stop.bind(r.element)(),e(document).off("mousemove","*",o),e(document).off("mouseup","*",i)}var r=e.extend({alsoResize:null,alsoResizeType:"both",containment:null,create:null,destroy:null,handle:".resize-handle",maxHeight:9999,maxWidth:9999,minHeight:0,minWidth:0,resize:null,resizeOnce:null,snapSize:1,start:null,stop:null},t);if(r.element=e(this),r.handle){if(r.alsoResize&&["both","height","width"].indexOf(r.alsoResizeType)>=0&&(r.alsoResize=e(r.alsoResize)),r.containment&&(r.containment=e(r.containment)),r.handle=e(r.handle),r.snapSize=r.snapSize<1?1:r.snapSize,"destroy"===t)return r.handle.off("mousedown",l),r.destroy&&r.destroy.bind(this)(),this;r.handle.on("mousedown",l),r.create&&r.create.bind(this)()}return this}}(jQuery)},{}]},{},[1]);